:root{--ui-font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--card-font:Georgia, "Times New Roman", "Noto Serif", serif;--mono-font:"Cascadia Mono", "Consolas", ui-monospace, "SF Mono", monospace;--toolbar-h:52px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--focus:#ffd75e;--danger:#d9363e;--danger-strong:#b4232a;--success:#2fa36b;--dur-move:.22s;--dur-flip:.3s;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui-font);color:var(--ui-text);background:var(--felt-edge);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:15px;line-height:1.45}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--ui-muted)}.small{font-size:.85em}kbd{font-family:var(--mono-font);border:1px solid var(--ui-border);background:var(--ui-raised);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:.8em}:root,:root[data-theme=classic-green]{--felt-center:#12804d;--felt-mid:#0b6339;--felt-edge:#053a21;--felt-grain:#ffffff09;--slot-line:#dcffe647;--slot-fill:#00281438;--slot-mark:#dcffe652;--target:#8ff0b5;--accent:#f2c14e;--accent-strong:#ffd469;--accent-text:#2a1d00;--ui-bg:#05160eeb;--ui-panel:#10251b;--ui-raised:#18352a;--ui-hover:#214637;--ui-border:#ffffff1f;--ui-text:#eef6f0;--ui-muted:#a9c2b4;--select:#ffd75e;--hint:#7fe3ff}:root[data-theme=dark-luxury]{--felt-center:#2a2622;--felt-mid:#1b1916;--felt-edge:#0c0b0a;--felt-grain:#ffe6b408;--slot-line:#e2b84a59;--slot-fill:#00000040;--slot-mark:#e2b84a73;--target:#e2b84a;--accent:#d9ae45;--accent-strong:#f0c862;--accent-text:#1c1300;--ui-bg:#0a0908f0;--ui-panel:#17140f;--ui-raised:#221e17;--ui-hover:#2e281e;--ui-border:#e2b84a33;--ui-text:#f4ede0;--ui-muted:#bfb29a;--select:#f0c862;--hint:#ffe7a3}:root[data-theme=modern-minimal]{--felt-center:#3c4a5c;--felt-mid:#334050;--felt-edge:#273240;--felt-grain:transparent;--slot-line:#ffffff40;--slot-fill:#ffffff0a;--slot-mark:#ffffff4d;--target:#8fd3ff;--accent:#5fb8ff;--accent-strong:#84c8ff;--accent-text:#04213a;--ui-bg:#1e2631f5;--ui-panel:#222b37;--ui-raised:#2c3746;--ui-hover:#364355;--ui-border:#ffffff1f;--ui-text:#f1f5f9;--ui-muted:#b2bfcd;--select:#84c8ff;--hint:#b4f1c8}[data-theme-preview=classic-green] .theme-swatch{background:radial-gradient(circle at 40% 35%,#12804d,#053a21)}[data-theme-preview=dark-luxury] .theme-swatch{background:radial-gradient(circle at 40% 35%,#2a2622,#0c0b0a);box-shadow:inset 0 0 0 2px #d9ae45}[data-theme-preview=modern-minimal] .theme-swatch{background:#3c4a5c}.app{height:100%;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.table{z-index:0;isolation:isolate;background:radial-gradient(var(--felt-grain) 1px, transparent 1.2px) 0 0 / 6px 6px, radial-gradient(ellipse 120% 90% at 50% 35%, var(--felt-center) 0%, var(--felt-mid) 55%, var(--felt-edge) 100%);flex:1;min-height:0;position:relative}.loading{height:100%;color:var(--ui-muted);place-items:center;display:grid}.board-scroll{touch-action:pan-y;scrollbar-width:thin;position:absolute;inset:0;overflow:hidden auto}.board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;margin:0 auto;position:relative}.board:focus-visible{outline:none}.board>.slot,.board>.column-zone,.board>.stock-hit,.board>.slot-badge,.board>.cursor-ring,.board>.card{position:absolute;top:0;left:0}.slot{border:2px solid var(--slot-line);background:var(--slot-fill);color:var(--slot-mark);place-items:center;padding:0;transition:border-color .12s,box-shadow .12s,background-color .12s;display:grid}button.slot{cursor:pointer}.slot-mark{font-family:var(--card-font);pointer-events:none;font-size:clamp(14px,2.2vw,30px);font-weight:700}.slot-icon{width:42%;height:auto;color:var(--slot-mark)}.slot-icon--muted{opacity:.6}.slot.is-target{border-color:var(--target);background:color-mix(in srgb, var(--target) 18%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 35%, transparent)}.slot.is-hint-target{border-color:var(--hint);box-shadow:0 0 0 3px var(--hint), 0 0 22px var(--hint)}.stock-hit{cursor:pointer}.slot-badge{z-index:1001;color:#fff;min-width:24px;font:600 11px/18px var(--ui-font);text-align:center;pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:999px;padding:1px 7px}.slot-badge-sub{color:var(--accent-strong)}.cursor-ring{z-index:6000;border:3px solid var(--focus);pointer-events:none;box-shadow:0 0 0 2px #00000080}.cursor-ring.has-selection{border-style:dashed}.hint-banner{z-index:20;border-radius:var(--radius-md);background:var(--ui-bg);border:1px solid var(--hint);max-width:min(92vw,560px);color:var(--ui-text);text-align:center;pointer-events:none;padding:8px 14px;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.celebration{z-index:40;pointer-events:none;position:fixed;inset:0}.card{touch-action:none;will-change:transform;border-radius:var(--card-radius,8px);perspective:900px}.card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:inherit;position:relative}.card.is-face-down .card-inner{transform:rotateY(180deg)}.card-side{border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #00000059,0 2px 6px #0000002e}.card-back{transform:rotateY(180deg)}.card-svg{width:100%;height:100%;display:block}.card.is-movable{cursor:grab}.card.is-dragging{cursor:grabbing}.card.is-dragging .card-side{box-shadow:0 14px 28px #00000073,0 6px 10px #0000004d}.card.is-selected .card-front{box-shadow:0 0 0 3px var(--select), 0 0 16px color-mix(in srgb, var(--select) 70%, transparent)}.card.is-hint .card-front{box-shadow:0 0 0 3px var(--hint), 0 0 20px var(--hint)}.board.is-locked .card{cursor:default}.toolbar{z-index:30;min-height:var(--toolbar-h);padding:6px max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));background:var(--ui-bg);border-bottom:1px solid var(--ui-border);align-items:center;gap:10px;display:flex;position:relative;box-shadow:0 2px 12px #0000004d}.toolbar-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.toolbar-brand{flex-shrink:1;gap:10px;min-width:0;overflow:hidden}.toolbar-hud{gap:14px;margin-left:auto}.brand{font-family:var(--card-font);color:var(--accent-strong);letter-spacing:.01em;font-size:20px;font-weight:700}.chip{border:1px solid var(--ui-border);color:var(--ui-muted);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px}.stat{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ui-muted);font-size:10px}.stat-value{font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.level-chip{border:1px solid var(--ui-border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:4px 10px;font-size:12px;display:flex}.level-chip:hover{background:var(--ui-hover)}.level-bar,.progress{background:var(--ui-raised);border-radius:99px;width:52px;height:5px;display:block;position:relative;overflow:hidden}.level-bar>span,.progress>span{background:var(--accent);border-radius:inherit;position:absolute;inset:0 auto 0 0}.btn{border-radius:var(--radius-sm);border:1px solid var(--ui-border);background:var(--ui-raised);min-height:36px;color:var(--ui-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn svg,.icon-btn svg,.menu-item svg{flex:none;width:18px;height:18px}.btn:hover:not(:disabled){background:var(--ui-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{min-height:34px;padding:4px 10px;font-size:13px}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-accent{background:var(--success);color:#fff;border-color:#0000}.btn-accent:hover:not(:disabled){background:#36b878}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-strong)}.btn-ghost{background:0 0}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ui-text);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--ui-hover)}.icon-btn-sm{width:28px;height:28px}.icon-btn-sm svg{width:15px;height:15px}.menu-wrap{position:relative}.menu{z-index:50;border-radius:var(--radius-md);background:var(--ui-panel);border:1px solid var(--ui-border);min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.menu-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--ui-hover)}.menu-item:disabled{opacity:.45}.menu-item kbd{margin-left:auto}.dialog{border-radius:var(--radius-lg);border:1px solid var(--ui-border);background:var(--ui-panel);width:min(92vw,520px);max-height:min(90dvh,820px);color:var(--ui-text);padding:0;box-shadow:0 24px 64px #0000008c}.dialog-sm{width:min(92vw,420px)}.dialog-lg{width:min(94vw,760px)}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.dialog-body{max-height:inherit;flex-direction:column;display:flex}.dialog-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 8px 22px;display:flex}.dialog-header h2{font-family:var(--card-font);color:var(--accent-strong);margin:0;font-size:22px}.dialog-content{padding:4px 22px 16px;overflow-y:auto}.dialog-content p{margin:.5em 0}.dialog-footer{border-top:1px solid var(--ui-border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.field{border:0;min-width:0;margin:0 0 16px;padding:0}.field legend,.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.field-error{color:#ff8a8f;font-size:13px}.warning-text{color:var(--accent-strong);font-weight:600}.input{border-radius:var(--radius-sm);border:1px solid var(--ui-border);background:var(--ui-raised);width:100%;min-height:40px;padding:8px 12px}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.choice{border-radius:var(--radius-md);border:1px solid var(--ui-border);background:var(--ui-raised);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex;position:relative}.choice input,.seg-item input,.back-choice input{opacity:0;pointer-events:none;position:absolute}:is(.choice:has(input:focus-visible),.seg-item:has(input:focus-visible),.back-choice:has(input:focus-visible)){outline:3px solid var(--focus);outline-offset:2px}.choice.is-on,.back-choice.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice-title{font-weight:700}.choice-detail{color:var(--ui-muted);font-size:13px}.theme-swatch{border-radius:var(--radius-sm);height:28px;margin-bottom:6px;display:block}.seg{border-radius:var(--radius-md);background:var(--ui-raised);border:1px solid var(--ui-border);flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.seg-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--ui-muted);padding:6px 14px;font-size:14px;font-weight:600;position:relative}.seg-item.is-on{background:var(--accent);color:var(--accent-text)}.back-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.back-choice{border-radius:var(--radius-md);border:1px solid var(--ui-border);background:var(--ui-raised);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:8px;font-size:13px;display:flex;position:relative}.back-preview{aspect-ratio:5/7;width:100%;max-width:72px;display:block}.switch-row{cursor:pointer;align-items:center;gap:10px;min-height:36px;display:flex}.switch-row input{width:18px;height:18px;accent-color:var(--accent)}.range-row{align-items:center;gap:12px;display:flex}.range-row input[type=range]{accent-color:var(--accent);flex:1}.button-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.danger-zone{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--danger) 55%, transparent);margin-top:20px;padding:14px}.danger-zone h3{margin:0 0 4px;font-size:15px}.tabs{border-bottom:1px solid var(--ui-border);gap:4px;margin-bottom:16px;display:flex}.tab{cursor:pointer;color:var(--ui-muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 12px;font-weight:600}.tab[aria-selected=true]{color:var(--ui-text);border-bottom-color:var(--accent)}.level-panel{border-radius:var(--radius-md);background:var(--ui-raised);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 14px;display:flex}.level-panel .progress{width:160px;height:8px}.level-title{font-weight:700}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;display:grid}.stat-tile{border-radius:var(--radius-md);background:var(--ui-raised);padding:10px 12px}.stat-tile dt{color:var(--ui-muted);font-size:12px}.stat-tile dd{font-family:var(--mono-font);margin:2px 0 0;font-size:20px;font-weight:700}.section-title{margin:18px 0 8px;font-size:16px}.achievement-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.achievement{border-radius:var(--radius-md);background:var(--ui-raised);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.achievement.is-unlocked{opacity:1;box-shadow:inset 3px 0 0 var(--accent)}.achievement-icon{width:24px;height:24px;color:var(--ui-muted)}.achievement.is-unlocked .achievement-icon{color:var(--accent-strong)}.achievement-title{font-weight:700}.achievement-meta{color:var(--ui-muted);white-space:nowrap}.prose h3{color:var(--accent-strong);margin:16px 0 6px;font-size:16px}.prose ul{margin:0;padding-left:20px}.prose li{margin:4px 0}.kbd-table{border-collapse:collapse;width:100%;font-size:14px}.kbd-table th,.kbd-table td{border-bottom:1px solid var(--ui-border);text-align:left;vertical-align:top;padding:6px 8px}.kbd-table th{width:40%;font-weight:600}.win-hero{color:var(--accent-strong);place-items:center;margin:4px 0 10px;display:grid}.win-hero svg{width:56px;height:56px}.win-grid{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.win-grid>div{border-radius:var(--radius-md);background:var(--ui-raised);padding:8px 12px}.win-grid dt{color:var(--ui-muted);font-size:12px}.win-grid dd{font-family:var(--mono-font);margin:0;font-size:18px;font-weight:700}.win-grid .win-total{box-shadow:inset 0 0 0 1px var(--accent);grid-column:1/-1}.win-grid .win-total dd{color:var(--accent-strong);font-size:26px}.win-unlocks h3{margin:14px 0 6px;font-size:15px}.win-unlocks ul{margin:0;padding-left:18px}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(92vw,420px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-md);background:var(--ui-panel);border:1px solid var(--ui-border);border-left:4px solid var(--accent);align-items:flex-start;gap:8px;padding:10px 8px 10px 14px;display:flex;box-shadow:0 10px 28px #0006}.toast>span{flex:1;padding-top:3px}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--accent-strong)}.toast-success{border-left-color:var(--success)}.dialog-content:focus-visible{outline-offset:-3px}[data-motion=full] .card{transition:transform var(--dur-move) var(--ease-out)}[data-motion=full] .card .card-inner{transition:transform var(--dur-flip) var(--ease-out)}[data-motion=full] .board.is-dealing .card{transition-duration:.38s}[data-motion=reduced] .card{transition:transform 90ms linear}.card.is-dragging,.card.is-dragging .card-inner{transition:none!important}[data-motion=full] .btn,[data-motion=full] .icon-btn{transition:background-color .12s,transform 80ms,border-color .12s}[data-motion=full] .btn:active:not(:disabled),[data-motion=full] .icon-btn:active:not(:disabled){transform:translateY(1px)scale(.98)}[data-motion=full] .pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent)}}[data-motion=full] .dialog[open]{animation:dialog-in .16s var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}[data-motion=full] .toast{animation:dialog-in .16s var(--ease-out)}.show-narrow{display:none}@media (max-width:1000px){.chip{display:none}}@media (max-width:1100px){.toolbar-actions .label{display:none}.toolbar-actions .btn{padding:4px 8px}}@media (max-width:760px){:root{--toolbar-h:48px}.hide-narrow{display:none!important}.show-narrow{display:block}.toolbar{padding-left:max(6px, env(safe-area-inset-left));padding-right:max(6px, env(safe-area-inset-right));gap:6px}.chip{display:none}.brand{font-size:17px}.toolbar-hud{gap:8px}.stat-value{font-size:13px}.toolbar-actions{gap:4px}.toolbar-actions .btn{min-width:40px;min-height:40px}.icon-btn{width:40px;height:40px}.back-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toasts{max-width:none;bottom:8px;left:8px;right:8px}}@media (max-width:420px){.brand{display:none}.stat-label{font-size:9px}}@media (max-height:480px) and (orientation:landscape){:root{--toolbar-h:44px}.toolbar{min-height:44px;padding-top:3px;padding-bottom:3px}.level-chip{display:none}}
