:root{--font-base: 1rem;--font-xs: .75rem;--font-sm: .82rem;--font-md: .9rem;--font-lg: 1.12rem;--font-title: clamp(2rem, 12vw, 3.2rem);--font-title-sm: 2rem;--space-1: .25rem;--space-2: .5rem;--space-3: .625rem;--space-4: .75rem;--space-5: .875rem;--space-6: 1rem;--space-7: 1.25rem;--space-8: 1.5rem;--control-h: 2.75rem;--control-h-sm: 2.25rem;--control-h-lg: 3.5rem;--icon-button-size: 2.75rem;--menu-button-size: 3rem;--app-header-height: calc(var(--menu-button-size) + (var(--space-2) * 2));--content-max: 27.5rem;--modal-max: 26.25rem;--menu-max: 20rem;--qr-max: 22.5rem;--border-width: 1px;--focus-width: .1875rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-pill: 999px;--shadow-panel: 0 1.5rem 4rem rgb(15 23 42 / .22);--shadow-menu: 1.125rem 0 2.625rem rgb(15 23 42 / .16);--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-subtle: #f1f5f9;--color-text: #172033;--color-heading: #0f172a;--color-muted: #475569;--color-muted-strong: #334155;--color-border: #cbd5e1;--color-primary: #0f172a;--color-primary-text: #ffffff;--color-accent: #2563eb;--color-active-bg: #e0f2fe;--color-active-text: #075985;--color-danger: #b91c1c;--color-focus: #93c5fd;--color-backdrop: rgb(15 23 42 / .36);--color-menu-backdrop: rgb(15 23 42 / .28);--color-success-bg: #dcfce7;--color-success-text: #166534;--color-warning-bg: #fef3c7;--color-warning-text: #854d0e;--color-danger-bg: #fee2e2;--color-danger-text: #991b1b;--color-status-offline: #ef4444;--color-status-online: #16a34a;color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-density=compact]{--font-base: .875rem;--font-xs: .68rem;--font-sm: .75rem;--font-md: .82rem;--font-lg: 1rem;--font-title: clamp(1.55rem, 10vw, 2.45rem);--font-title-sm: 1.55rem;--space-1: .1875rem;--space-2: .375rem;--space-3: .5rem;--space-4: .625rem;--space-5: .75rem;--space-6: .875rem;--space-7: 1rem;--space-8: 1.125rem;--control-h: 2.375rem;--control-h-sm: 2rem;--control-h-lg: 3rem;--icon-button-size: 2.375rem;--menu-button-size: 2.5rem}:root[data-density=comfortable]{--font-base: 1rem}:root[data-density=spacious]{--font-base: 1.125rem;--font-xs: .82rem;--font-sm: .92rem;--font-md: 1rem;--font-lg: 1.25rem;--font-title: clamp(2.25rem, 12vw, 3.6rem);--font-title-sm: 2.25rem;--space-1: .3125rem;--space-2: .625rem;--space-3: .75rem;--space-4: .875rem;--space-5: 1rem;--space-6: 1.125rem;--space-7: 1.375rem;--space-8: 1.75rem;--control-h: 3rem;--control-h-sm: 2.5rem;--control-h-lg: 3.875rem;--icon-button-size: 3rem;--menu-button-size: 3.25rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #0b1120;--color-surface: #111827;--color-surface-subtle: #1e293b;--color-text: #e5e7eb;--color-heading: #f8fafc;--color-muted: #cbd5e1;--color-muted-strong: #e2e8f0;--color-border: #334155;--color-primary: #e2e8f0;--color-primary-text: #0f172a;--color-accent: #60a5fa;--color-active-bg: #0c4a6e;--color-active-text: #e0f2fe;--color-danger: #f87171;--color-focus: #60a5fa;--color-backdrop: rgb(2 6 23 / .68);--color-menu-backdrop: rgb(2 6 23 / .58);--color-success-bg: #14532d;--color-success-text: #bbf7d0;--color-warning-bg: #713f12;--color-warning-text: #fde68a;--color-danger-bg: #7f1d1d;--color-danger-text: #fecaca;--color-status-offline: #f87171;--color-status-online: #4ade80;--shadow-panel: 0 1.5rem 4rem rgb(0 0 0 / .42);--shadow-menu: 1.125rem 0 2.625rem rgb(0 0 0 / .36)}}:root[data-theme=dark]{--color-bg: #0b1120;--color-surface: #111827;--color-surface-subtle: #1e293b;--color-text: #e5e7eb;--color-heading: #f8fafc;--color-muted: #cbd5e1;--color-muted-strong: #e2e8f0;--color-border: #334155;--color-primary: #e2e8f0;--color-primary-text: #0f172a;--color-accent: #60a5fa;--color-active-bg: #0c4a6e;--color-active-text: #e0f2fe;--color-danger: #f87171;--color-focus: #60a5fa;--color-backdrop: rgb(2 6 23 / .68);--color-menu-backdrop: rgb(2 6 23 / .58);--color-success-bg: #14532d;--color-success-text: #bbf7d0;--color-warning-bg: #713f12;--color-warning-text: #fde68a;--color-danger-bg: #7f1d1d;--color-danger-text: #fecaca;--color-status-offline: #f87171;--color-status-online: #4ade80;--shadow-panel: 0 1.5rem 4rem rgb(0 0 0 / .42);--shadow-menu: 1.125rem 0 2.625rem rgb(0 0 0 / .36)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;background:var(--color-bg);overscroll-behavior-y:none}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg);overscroll-behavior-y:none}#app{overscroll-behavior-y:none}button,input,textarea,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{display:grid;min-height:100vh;min-height:100dvh;padding:max(var(--space-8),env(safe-area-inset-top)) max(var(--space-7),env(safe-area-inset-right)) max(var(--space-8),env(safe-area-inset-bottom)) max(var(--space-7),env(safe-area-inset-left));grid-template-rows:auto 1fr;align-content:start;justify-items:center;gap:var(--space-8)}.app-shell>.login-panel{align-self:center;grid-row:1 / -1}.app-header{position:sticky;top:0;z-index:30;display:grid;width:min(100%,var(--content-max));grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-2) 0;background:var(--color-bg)}.header-title{min-width:0;overflow:hidden;color:var(--color-heading);font-size:1rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.app-menu{position:fixed;inset:0 auto auto 0;z-index:20}.menu-toggle{display:grid;width:var(--menu-button-size);height:var(--menu-button-size);place-content:center;border:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;font-weight:800}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:21;border:0;background:var(--color-menu-backdrop);cursor:pointer}.menu-panel{position:fixed;top:calc(max(var(--space-8),env(safe-area-inset-top)) + var(--app-header-height));bottom:0;left:0;z-index:25;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(82vw,var(--menu-max));gap:var(--space-2);border-right:var(--border-width) solid var(--color-border);padding:var(--space-5) var(--space-6) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-6),env(safe-area-inset-left));background:var(--color-surface);box-shadow:var(--shadow-menu);transform:translate(-100%);transition:transform .18s ease}.menu-panel.open{transform:translate(0)}.menu-nav{display:grid;align-content:start;gap:var(--space-2);overflow-y:auto;padding-top:var(--space-2)}.menu-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:0 var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border);color:var(--color-heading);font-weight:900}.menu-logo{width:2rem;height:2rem;flex:0 0 auto;object-fit:contain}.menu-status{align-self:end}.menu-footer{display:grid;align-self:end;gap:var(--space-3)}.menu-version{text-align:left}.menu-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h);border:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted-strong);cursor:pointer;font-weight:800;text-align:left;text-decoration:none;padding:0 var(--space-4)}.menu-item.active{background:var(--color-active-bg);color:var(--color-active-text)}.menu-item--button{width:100%;margin-top:var(--space-2)}.login-panel{display:grid;width:min(100%,var(--content-max));gap:var(--space-8)}.login-form{display:grid;gap:var(--space-3)}.app-version{align-self:end;margin:0;color:var(--color-muted);font-size:var(--font-xs);font-weight:700;text-align:center}.field-label{color:var(--color-muted-strong);font-size:var(--font-sm);font-weight:800}.nav-button{min-height:var(--control-h);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted-strong);cursor:pointer;font-weight:800}.nav-button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.nav-button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}.users-page,.courier-page,.payment-page,.game-page,.card-history-page,.logs-page{display:grid;width:min(100%,var(--content-max));align-content:start;gap:var(--space-3)}.card-history-page{width:min(100%,72rem)}.users-page h1,.courier-page h1,.payment-page h1,.game-page h1,.card-history-page h1,.logs-page h1{font-size:var(--font-title-sm)}.users-page .title-block,.courier-page .title-block,.payment-page .title-block,.game-page .title-block,.card-history-page .title-block,.logs-page .title-block{gap:0}.title-block{display:grid;gap:var(--space-1);text-align:center}.eyebrow{margin:0;color:var(--color-accent);font-size:var(--font-xs);font-weight:800;letter-spacing:0;text-transform:uppercase}h1{margin:0;color:var(--color-heading);font-size:var(--font-title);line-height:1}.actions{display:grid;gap:var(--space-5)}.card-form,.card-edit-form{display:grid;gap:var(--space-2)}.users-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.users-actions .compact-button,.users-actions .secondary-button{min-height:0;height:var(--control-h-sm);padding:0 var(--space-4);font-size:var(--font-md)}.auto-mode-toggle{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h-sm);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);background:var(--color-surface);color:var(--color-muted-strong);cursor:pointer;font-size:var(--font-md);font-weight:800}.auto-mode-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent)}.auto-mode-toggle:has(input:disabled){cursor:wait;opacity:.65}.card-form,.card-edit-form{gap:var(--space-3)}.card-form .compact-button{margin-top:var(--space-2)}.text-input,.select-input{min-height:var(--control-h);min-width:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);background:var(--color-surface);color:var(--color-text)}.text-area{min-height:7rem;padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.text-input:focus-visible,.text-area:focus-visible,.select-input:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:calc(var(--space-1) / 2)}.generate-button{min-height:var(--control-h-lg);border:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;font-weight:800;touch-action:manipulation}.compact-button,.secondary-button,.icon-button{min-height:var(--control-h);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:800}.compact-button{padding:0 var(--space-6);background:var(--color-primary);color:var(--color-primary-text);text-decoration:none}.button-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.secondary-button{background:var(--color-surface)}.icon-button{padding:0 var(--space-3);font-size:var(--font-sm)}.icon-only-button{display:inline-grid;width:var(--icon-button-size);height:var(--icon-button-size);place-items:center;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer}.icon-button.danger,.icon-only-button.danger{color:var(--color-danger)}.generate-button:disabled{cursor:wait;opacity:.7}.compact-button:disabled,.secondary-button:disabled,.icon-button:disabled,.icon-only-button:disabled{cursor:not-allowed;opacity:.55}.generate-button:active{transform:translateY(1px)}.generate-button:focus-visible,.menu-toggle:focus-visible,.menu-item:focus-visible,.compact-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible,.icon-only-button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:calc(var(--space-1) / 2)}.payload{min-height:2.5rem;margin:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:var(--font-md);line-height:1.4;text-align:center}.users-list,.logs-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.users-list li,.logs-list li{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);color:var(--color-text);font-weight:700}.users-list li,.logs-list li{padding:var(--space-2)}.user-form,.user-edit-form{display:grid;gap:var(--space-3)}.user-row,.card-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end;padding-right:calc(var(--control-h-sm) + var(--space-2))}.user-row>div:first-child,.card-row>div:first-child{display:grid;gap:var(--space-2);justify-items:start;min-width:0}.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.input-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.input-action-row .secondary-button{min-height:var(--control-h);padding:0 var(--space-4)}.card-image-picker{display:grid;grid-template-columns:minmax(0,1fr) 3rem;gap:var(--space-2);align-items:center}.card-image-preview,.card-bank-icon{display:inline-grid;place-items:center;overflow:hidden;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.card-image-preview{width:3rem;height:var(--control-h)}.card-image-preview img,.card-bank-icon{object-fit:contain}.card-image-preview img{width:2.25rem;height:2.25rem}.card-title-line,.history-card-title-line{display:flex;align-items:center;gap:var(--space-2);min-width:0}.card-bank-icon{width:2rem;height:2rem;flex:0 0 2rem;padding:.2rem}.card-bank-icon--history{width:1.5rem;height:1.5rem;flex-basis:1.5rem;padding:.15rem}.user-row .row-actions,.card-row .row-actions{grid-template-columns:repeat(2,var(--control-h-sm));justify-content:end;align-self:end}.card-row .row-actions{grid-template-columns:var(--control-h-sm)}.card-corner-edit-button{position:absolute;top:0;right:0}.users-list .sync-state{justify-self:start}.user-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.users-list .icon-only-button{width:var(--control-h-sm);height:var(--control-h-sm)}.checkbox-field{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted-strong);font-size:var(--font-sm);font-weight:800}.checkbox-field input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent)}.card-number,.card-meta{min-width:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:var(--font-sm)}.blocked-card-message{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0;overflow-wrap:anywhere;color:var(--color-danger);font-size:var(--font-sm);font-weight:800}.blocked-card-message svg{flex:0 0 auto;margin-top:.05rem}.courier-card-list{display:grid;gap:var(--space-3)}.courier-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.courier-card h2{margin:0 0 var(--space-2);color:var(--color-heading);font-size:var(--font-lg)}.courier-card p{margin:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:var(--font-sm);font-weight:700}.payment-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:var(--control-h-sm);margin-top:var(--space-3);padding:0 var(--space-4);font-size:var(--font-md)}.card-limit-message{width:fit-content;margin-top:var(--space-3)!important;border:var(--border-width) solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border));border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)!important;font-weight:800!important}.payment-page{justify-items:center}.payment-logo{width:clamp(4.25rem,28vw,5.625rem);height:clamp(4.25rem,28vw,5.625rem);object-fit:contain}.payment-card-summary{display:grid;width:100%;gap:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.payment-card-display{display:grid;width:min(100%,var(--qr-max));aspect-ratio:1;place-content:center;gap:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-surface);color:var(--color-heading);text-align:center}.payment-card-display strong,.payment-card-display span{overflow-wrap:anywhere}.payment-card-display strong{font-size:1.45rem;font-weight:900}.payment-card-display span{color:var(--color-muted);font-size:var(--font-lg);font-weight:800}.payment-card-summary h2{margin:0;color:var(--color-heading);font-size:var(--font-lg)}.payment-card-summary p{margin:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:var(--font-sm);font-weight:700}.game-page{width:min(100%,64rem)}.game-layout{display:grid;gap:var(--space-4)}.game-stage,.leaderboard{display:grid;gap:var(--space-3);min-width:0}.game-hud{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);color:var(--color-heading);font-weight:900}.game-canvas{display:block;width:100%;max-width:45rem;aspect-ratio:36 / 13;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:#dff6ff;image-rendering:pixelated;touch-action:manipulation}.game-actions{display:grid}.leaderboard{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.leaderboard-title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-heading)}.leaderboard-title h1{margin:0;font-size:var(--font-lg)}.leaderboard-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.leaderboard-list li{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:var(--space-3);align-items:center;min-height:var(--control-h);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--color-surface-subtle)}.leaderboard-rank{display:grid;width:2rem;height:2rem;place-items:center;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-text);font-weight:900}.leaderboard-user{display:grid;min-width:0;gap:var(--space-1)}.leaderboard-user strong,.leaderboard-user small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-user strong{color:var(--color-heading);font-size:var(--font-sm)}.leaderboard-user small{color:var(--color-muted);font-size:var(--font-xs);font-weight:800}.leaderboard-score{color:var(--color-heading);font-weight:900}.history-table-wrap{width:100%;overflow-x:auto;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.history-table{width:100%;min-width:56rem;border-collapse:separate;border-spacing:0;color:var(--color-text)}.history-table th,.history-table td{min-width:6.5rem;border-right:var(--border-width) solid var(--color-border);border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-3);text-align:left;vertical-align:top}.history-table th:first-child{position:sticky;left:0;z-index:2;min-width:8.75rem;max-width:10rem;background:var(--color-surface)}.history-table thead th{background:var(--color-surface-subtle);color:var(--color-heading);font-size:var(--font-sm);font-weight:900}.history-table thead th:first-child{z-index:3;background:var(--color-surface-subtle)}.history-table tr:last-child th,.history-table tr:last-child td{border-bottom:0}.history-card-row--alert th,.history-card-row--alert td{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.history-card-row--alert th:first-child{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))}.history-card-row--alert .history-day--today{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))!important}.history-table th:last-child,.history-table td:last-child{border-right:0}.history-table thead span,.history-table thead small,.history-card-name,.history-card-number,.history-card-meta,.history-entry{display:block}.history-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:start}.history-edit-button{width:var(--control-h-sm);height:var(--control-h-sm)}.history-table thead small,.history-card-meta,.history-entry small{color:var(--color-muted);font-size:var(--font-xs);font-weight:800}.history-card-name,.history-card-number{color:var(--color-heading);font-size:var(--font-sm);font-weight:900;overflow-wrap:anywhere}.history-card-usage{display:block;margin-top:var(--space-2);color:var(--color-heading);font-size:1.35rem;font-weight:900;line-height:1}.history-card-alert-text{display:flex;align-items:flex-start;gap:var(--space-1);margin-top:var(--space-2);color:var(--color-danger);font-size:var(--font-xs);font-weight:900;overflow-wrap:anywhere}.history-card-alert-text svg{flex:0 0 auto;margin-top:.05rem}.card-editor-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.secondary-button.danger{color:var(--color-danger)}.history-cell-entries{display:grid;gap:var(--space-2)}.history-cell-button{display:block;width:100%;min-height:4.5rem;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.history-cell-button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}.history-entry{border-radius:var(--radius-sm);padding:var(--space-2);background:var(--color-surface-subtle)}.history-entry--manual{background:var(--color-success-bg)}.history-entry--manual strong,.history-entry--manual small{color:var(--color-success-text)}.history-entry--restricted{background:var(--color-danger-bg)}.history-entry--restricted strong,.history-entry--restricted small{color:var(--color-danger-text)}.history-entry strong{display:block;overflow-wrap:anywhere;color:var(--color-heading);font-size:var(--font-sm)}.history-empty{color:var(--color-muted);font-size:var(--font-sm);font-weight:800}.card-hold-editor{display:grid;gap:var(--space-3)}.card-hold-summary,.card-hold-list{display:grid;gap:var(--space-2)}.card-hold-summary strong,.card-hold-row strong{color:var(--color-heading);font-size:var(--font-sm);font-weight:900}.card-hold-summary span,.card-hold-row small{color:var(--color-muted);font-size:var(--font-xs);font-weight:800}.card-hold-row{display:grid;grid-template-columns:minmax(0,1fr) var(--control-h-sm) var(--control-h-sm);gap:var(--space-2);align-items:center;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}.card-hold-row>span{display:grid;min-width:0;gap:var(--space-1)}.card-hold-row .icon-only-button{width:var(--control-h-sm);height:var(--control-h-sm)}.history-day--today{background:var(--color-active-bg)!important}.history-day--today span,.history-day--today small{color:var(--color-active-text)}.history-table thead th.history-day--weekend{background:var(--color-warning-bg);color:var(--color-warning-text)}.history-table thead th.history-day--weekend span,.history-table thead th.history-day--weekend small{color:var(--color-warning-text)}.history-table thead th.history-day--today.history-day--weekend{background:color-mix(in srgb,var(--color-active-bg) 60%,var(--color-warning-bg))!important}.log-entry summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:start;cursor:pointer;list-style-position:outside}.log-summary{display:grid;min-width:0;gap:var(--space-1)}.log-summary strong,.log-summary span{min-width:0;overflow-wrap:anywhere}.log-summary strong{color:var(--color-heading);font-size:var(--font-sm);font-weight:900}.log-summary span{color:var(--color-muted);font-size:var(--font-sm)}.log-meta{display:grid;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--color-muted);font-size:var(--font-xs)}.log-meta div{display:grid;gap:var(--space-1)}.log-meta dt{color:var(--color-muted-strong);font-weight:900}.log-meta dd{min-width:0;margin:0;overflow-wrap:anywhere}.log-stack{max-height:24rem;margin:var(--space-3) 0 0;overflow:auto;border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--font-xs);line-height:1.45;white-space:pre-wrap}.item-value{min-width:0;overflow-wrap:anywhere}.sync-state,.sync-summary{color:var(--color-muted);font-size:var(--font-xs);font-weight:800}.sync-state{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);background:var(--color-surface-subtle)}.sync-state--synced{color:var(--color-success-text);background:var(--color-success-bg)}.sync-state--pending{color:var(--color-warning-text);background:var(--color-warning-bg)}.sync-state--failed,.sync-state--conflicted{color:var(--color-danger-text);background:var(--color-danger-bg)}.sync-summary{margin:0;text-align:center}.status-message{min-height:2rem;margin:0;color:var(--color-muted);line-height:1.4;text-align:center}.status-message.error{color:var(--color-danger);font-weight:700}.status-message.success{color:var(--color-success-text);font-weight:800}@media(display-mode:standalone){.app-shell{padding-top:max(2rem,env(safe-area-inset-top))}}@media(min-width:54rem){.game-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start}}.slim-qr-code[data-v-9d2b4a81]{display:grid;width:min(100%,78dvw,var(--qr-max, 22.5rem));aspect-ratio:1;margin:0 auto;overflow:hidden;place-items:center;border:var(--border-width, 1px) solid var(--color-border, #d7dee8);border-radius:var(--radius-md, .5rem);background:var(--color-surface, #ffffff);box-shadow:var(--shadow-panel, 0 1.125rem 3rem rgb(15 23 42 / 12%))}.slim-qr-code img[data-v-9d2b4a81]{width:100%;height:100%;padding:var(--space-6, 1rem);object-fit:contain}.slim-qr-placeholder[data-v-9d2b4a81]{display:grid;width:100%;height:100%;padding:var(--space-8, 1.5rem);place-items:center;color:var(--color-muted, #64748b);font-weight:700;text-align:center}.slim-popup[data-v-d7967617]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--space-7, 1.25rem);background:var(--color-backdrop, rgb(15 23 42 / .36))}.slim-popup__panel[data-v-d7967617]{display:grid;width:min(100%,var(--modal-max, 26.25rem));max-height:calc(100vh - (var(--space-7, 1.25rem) * 2));gap:var(--space-3, .625rem);overflow:auto;border:var(--border-width, 1px) solid var(--color-border, #cbd5e1);border-radius:var(--radius-md, .5rem);padding:var(--space-6, 1rem);background:var(--color-surface, #ffffff);box-shadow:var(--shadow-panel, 0 1.5rem 4rem rgb(15 23 42 / .22))}.slim-popup__header[data-v-d7967617]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4, .75rem);align-items:center}.slim-popup__header h2[data-v-d7967617]{margin:0;color:var(--color-heading, #0f172a);font-size:var(--font-lg, 1.12rem);line-height:1.2}.slim-popup__close[data-v-d7967617]{display:inline-grid;width:var(--icon-button-size, 2.75rem);height:var(--icon-button-size, 2.75rem);place-items:center;border:var(--border-width, 1px) solid var(--color-border, #cbd5e1);border-radius:var(--radius-md, .5rem);background:var(--color-surface, #ffffff);color:var(--color-text, #172033);cursor:pointer;font:inherit;font-size:1.4rem;font-weight:800;line-height:1}.slim-popup__close[data-v-d7967617]:focus-visible{outline:var(--focus-width, .1875rem) solid var(--color-focus, #93c5fd);outline-offset:calc(var(--space-1, .25rem) / 2)}.slim-qr-reader[data-v-05203210]{display:grid;gap:var(--space-4, .75rem)}.slim-qr-reader__viewport[data-v-05203210]{position:relative;display:grid;width:min(100%,78dvw,var(--qr-reader-max, 24rem));aspect-ratio:1;margin:0 auto;overflow:hidden;place-items:center;border:var(--border-width, 1px) solid var(--color-border, #d7dee8);border-radius:var(--radius-md, .5rem);background:#111827}.slim-qr-reader__video[data-v-05203210]{width:100%;height:100%;object-fit:cover}.slim-qr-reader__frame[data-v-05203210]{position:absolute;top:15%;right:15%;bottom:15%;left:15%;border:.2rem solid rgb(255 255 255 / .86);border-radius:var(--radius-md, .5rem);box-shadow:0 0 0 999rem #0f172a38,0 0 1.5rem #0f172a3d;pointer-events:none}.slim-qr-reader__status[data-v-05203210]{min-height:1.35rem;margin:0;color:var(--color-muted, #64748b);font-size:var(--font-sm, .92rem);font-weight:700;line-height:1.35;text-align:center}.slim-qr-reader__status.is-error[data-v-05203210]{color:var(--color-danger, #b91c1c)}.slim-qr-button[data-v-e5522d12]{min-height:var(--control-height, 2.75rem);border:var(--border-width, 1px) solid var(--color-primary, #2563eb);border-radius:var(--radius-md, .5rem);padding:0 var(--space-6, 1rem);background:var(--color-primary, #2563eb);color:var(--color-on-primary, #ffffff);cursor:pointer;font:inherit;font-weight:800}.slim-qr-button[data-v-e5522d12]:focus-visible{outline:var(--focus-width, .1875rem) solid var(--color-focus, #93c5fd);outline-offset:calc(var(--space-1, .25rem) / 2)}.slim-qr-button[data-v-e5522d12]:disabled{cursor:not-allowed;opacity:.62}.slim-qr-button__popup{--modal-max: 30rem}.slim-connection-status[data-v-76f729cc]{display:grid;width:min(100%,var(--content-max, 27.5rem));grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, .5rem)}.slim-connection-status__item[data-v-76f729cc]{display:grid;min-height:calc(var(--control-h, 2.75rem) + var(--space-2, .5rem));grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-2, .5rem);align-items:center;border:var(--border-width, 1px) solid var(--color-border, #cbd5e1);border-radius:var(--radius-md, .5rem);padding:var(--space-3, .625rem) var(--space-4, .75rem);background:var(--color-surface, #ffffff)}.slim-connection-status__dot[data-v-76f729cc]{width:var(--space-3, .625rem);height:var(--space-3, .625rem);border-radius:var(--radius-pill, 999px);background:var(--color-status-offline, #ef4444)}.slim-connection-status__dot--ok[data-v-76f729cc]{background:var(--color-status-online, #16a34a)}.slim-connection-status__label[data-v-76f729cc],.slim-connection-status__value[data-v-76f729cc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slim-connection-status__label[data-v-76f729cc]{color:var(--color-text, #172033);font-size:var(--font-sm, .82rem);font-weight:800}.slim-connection-status__value[data-v-76f729cc]{grid-column:2;color:var(--color-muted, #64748b);font-size:var(--font-xs, .75rem);font-weight:700}@media(max-width:26.25rem){.slim-connection-status[data-v-76f729cc]{grid-template-columns:1fr}}.slim-connection-status--compact[data-v-76f729cc]{width:100%;grid-template-columns:1fr;gap:var(--space-2, .5rem)}.slim-connection-status--compact .slim-connection-status__item[data-v-76f729cc]{min-height:var(--control-h-sm, 2.25rem);padding:var(--space-2, .5rem);column-gap:var(--space-2, .5rem)}.slim-connection-status--compact .slim-connection-status__dot[data-v-76f729cc]{width:var(--space-2, .5rem);height:var(--space-2, .5rem)}.slim-connection-status--compact .slim-connection-status__label[data-v-76f729cc],.slim-connection-status--compact .slim-connection-status__value[data-v-76f729cc]{font-size:var(--font-xs, .75rem)}.slim-message-box__message[data-v-1a742327]{margin:0;color:var(--color-text, #172033);font-size:var(--font-md, .9rem);line-height:1.45}.slim-message-box__actions[data-v-1a742327]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, .5rem)}.slim-message-box__confirm[data-v-1a742327],.slim-message-box__cancel[data-v-1a742327]{min-height:var(--control-h, 2.75rem);border:var(--border-width, 1px) solid var(--color-border, #cbd5e1);border-radius:var(--radius-md, .5rem);padding:0 var(--space-6, 1rem);cursor:pointer;font:inherit;font-weight:800}.slim-message-box__confirm[data-v-1a742327]{border-color:var(--color-primary, #0f172a);background:var(--color-primary, #0f172a);color:var(--color-primary-text, #ffffff)}.slim-message-box__confirm--danger[data-v-1a742327]{border-color:var(--color-danger, #b91c1c);background:var(--color-danger, #b91c1c);color:var(--color-primary-text, #ffffff)}.slim-message-box__cancel[data-v-1a742327]{background:var(--color-surface, #ffffff);color:var(--color-text, #172033)}.slim-message-box__confirm[data-v-1a742327]:focus-visible,.slim-message-box__cancel[data-v-1a742327]:focus-visible{outline:var(--focus-width, .1875rem) solid var(--color-focus, #93c5fd);outline-offset:calc(var(--space-1, .25rem) / 2)}
