:root{--gap: 1vmin;--row-gap: 1.4vmin;--pad: 1.6vmin;--toolbar: 2.6rem;--max-stack: 11;--offset-factor: .3;--fit-scale: 1;--columns: 7;--frame-w: 100vw;--frame-h: 100vh;--card-fit-width: calc( (var(--frame-w) - 2 * var(--pad) - (var(--columns) - 1) * var(--gap)) / var(--columns) );--card-fit-height: calc( (var(--frame-h) - 2 * var(--pad) - var(--toolbar) - 2 * var(--row-gap)) / (1.4 * (2 + (var(--max-stack) - 1) * var(--offset-factor))) );--size-knee: 140px;--knee-slope: .5;--card-fit: calc( min(var(--card-fit-width), var(--card-fit-height)) * var(--fit-scale) );--card-width: max( 28px, min( var(--card-fit), calc( var(--size-knee) + (var(--card-fit) - var(--size-knee)) * var(--knee-slope) ) ) );--card-height: calc(var(--card-width) * 1.4);--stack-offset: calc(var(--card-height) * var(--offset-factor));--card-radius: calc(var(--card-width) * .08);--fan-offset: .28;--depth-step-x: .014;--depth-step-y: .012;--woodland-paper-light: #eadcc1;--woodland-paper-dark: #decdab;--ui-scale: 1;--bar-opacity: .75;--pill-h: calc(clamp(40px, 6.1vmin, 52px) * var(--ui-scale));--round: calc(clamp(40px, 7.2vmin, 60px) * var(--ui-scale));--scene-chip: calc(clamp(84px, 16.5vmin, 150px) * var(--ui-scale));--tile-w: calc(clamp(128px, 26vmin, 240px) * var(--ui-scale));--ui-text: calc(clamp(15px, 2.3vmin, 18px) * var(--ui-scale));--tag-text: calc(clamp(13px, 1.9vmin, 15px) * var(--ui-scale));--edge: clamp(12px, 2.2vmin, 20px);--deck-card-w: clamp(56px, calc(var(--tile-w) * .36), 96px);--ui-font: "Quando", Georgia, "Times New Roman", serif;--glass: rgba(10, 18, 14, .62);--glass-line: rgba(255, 255, 255, .24);--ivory: #f2ecd9;--warm: rgba(240, 226, 180, .95);--hint-cue-ms: 2.2s;--hint-draw-slide: .12;--undo-bloom-scale: 1.12;--undo-bloom-glow: 18px;--undo-bloom-lift: 3px}@media(max-height:500px){:root{--max-stack: 8}}@font-face{font-family:Alegreya;src:url(../fonts/alegreya-medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/inter-bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Quando;src:url(../fonts/quando.woff2) format("woff2");font-weight:400;font-display:swap}*{box-sizing:border-box}html,body{margin:0;height:100%;-webkit-tap-highlight-color:transparent}body{font-family:system-ui,-apple-system,sans-serif;background:#0b0f0d;color:#e8efe9;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;touch-action:manipulation;overflow:hidden}:root.sim-16-9{--frame-w: min(100vw, calc(100vh * 16 / 9));--frame-h: min(100vh, 56.25vw )}:root.sim-1-2{--frame-w: min(100vw, 50vh );--frame-h: min(100vh, 200vw )}:root.sim-16-9 #app,:root.sim-1-2 #app{width:var(--frame-w);height:var(--frame-h);margin:auto}#scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.scene-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scene-thumb{--scene-thumb-blur: clamp(4px, 1.4vmin, 16px);position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-repeat:no-repeat;transform:scale(1.08)}.scene-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease-out}@media(prefers-reduced-motion:reduce){.scene-photo{transition:none}}.scene-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scene-effects{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.scene-effects canvas{display:block;width:100%;height:100%}#board{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:var(--row-gap);width:min(100%,calc(var(--columns) * var(--card-width) + (var(--columns) - 1) * var(--gap) + 2 * var(--pad)));margin:0 auto;padding:var(--pad)}.toolbar{display:grid;container-type:inline-size;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:1vmin;height:var(--toolbar);transition:opacity .3s ease}.toolbar-undo{grid-row:1;grid-column:1;justify-self:start}.toolbar-new{grid-row:1;grid-column:2}.toolbar-debug{grid-row:1;grid-column:3}.toolbar [data-voice]{grid-row:1;grid-column:4;justify-self:end;max-width:100%}:root.toolbar-grouped .toolbar{display:flex;justify-content:flex-end}:root.toolbar-grouped .toolbar [data-voice]{order:-1}#board.board-finale .toolbar{opacity:0;pointer-events:none}.top-row{display:flex;gap:var(--gap);align-items:flex-start}.spacer{flex:1}.tableau-row{display:flex;gap:var(--gap);align-items:flex-start;justify-content:space-between;flex:1}.pile{flex:0 0 var(--card-width);width:var(--card-width);border-radius:var(--card-radius)}.pile-stock,.pile-waste,.pile-cell,.pile-foundation{height:var(--card-height)}.pile-stock{position:relative}.pile-depth-layer{position:absolute;width:var(--card-width);height:var(--card-height);left:calc(-1 * var(--depth-b, 0) * var(--depth-step-x) * var(--card-width));top:calc(-1 * var(--depth-b, 0) * var(--depth-step-y) * var(--card-width));border-radius:var(--card-radius);background:linear-gradient(160deg,#f6f2e4,#efe9d6);border:1px solid rgba(95,80,50,.24);box-shadow:0 1px 1.5px #140f0580,0 4px 10px #00000042;transform:var(--depth-placement, none);pointer-events:none}.pile-transitions .pile-depth-layer{transition:opacity .2s ease}.pile-depth-layer.depth-exit{opacity:0}@keyframes depth-enter{0%{opacity:0}}.pile-transitions .pile-depth-layer.depth-enter{animation:depth-enter .24s ease}.pile-foundation.empty,.pile-cell.empty,.pile-tableau.empty{outline:1.5px dashed rgba(232,239,233,.22);outline-offset:-1.5px;transition:outline-color .5s ease}.pile-cell.empty{outline-color:#e8efe921}.pile-stock.empty{display:flex;align-items:center;justify-content:center;outline:1.5px dashed rgba(232,239,233,.22);color:#e8efe980;font-size:calc(var(--card-width) * .4);transition:outline-color .5s ease,color .5s ease}#board.board-finale .pile-foundation.empty,#board.board-finale .pile-cell.empty,#board.board-finale .pile-tableau.empty{outline-color:transparent}#board.board-finale .pile-stock.empty{outline-color:transparent;color:transparent}.pile-tableau{position:relative;min-height:var(--card-height);--col-budget: calc( var(--card-height) * (1 + (var(--max-stack) - 1) * var(--offset-factor)) );--offset: min( var(--stack-offset), calc((var(--col-budget) - var(--card-height)) / max(var(--count) - 1, 1)) );height:calc(var(--card-height) + max(var(--count) - 1,0) * var(--offset))}.card{position:relative;width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);background:linear-gradient(160deg,#f8f4e7,#f1ebd9);border:1px solid rgba(95,80,50,.24);box-shadow:0 1px 1.5px #140f0580,0 4px 10px #00000042;transform:var(--card-placement, none);overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none;touch-action:none}.card.grabbable{cursor:grab}.pile-stock .card,.pile-stock.empty{cursor:pointer}.pile-tableau .card{position:absolute;top:calc(var(--index) * var(--offset));left:0;width:100%}.pile-foundation{position:relative}.pile-foundation .card{position:absolute;top:0;left:0;width:100%}.pile-stock .card{position:absolute;left:calc(-1 * var(--depth-count, 0) * var(--depth-step-x) * var(--card-width));top:calc(-1 * var(--depth-count, 0) * var(--depth-step-y) * var(--card-width))}.pile-transitions .pile-stock .card{transition:left .2s ease,top .2s ease}.pile-waste{position:relative}.pile-waste .card{position:absolute;top:calc(-1 * var(--depth-count, 0) * var(--depth-step-y) * var(--card-width));left:calc(var(--fan-slot, 0) * var(--fan-offset) * var(--card-width) - var(--depth-count, 0) * var(--depth-step-x) * var(--card-width))}.pile-transitions .pile-waste .card{transition:left .15s ease,top .15s ease,transform .15s ease}.card.red{color:#ac3b34}.card.black{color:#262e29}.card.face-woodland,.chip-face.face-woodland{background:linear-gradient(160deg,var(--woodland-paper-light) 0%,var(--woodland-paper-dark) 100%)}.card.face-birch,.chip-face.face-birch{background:#f6f7f2}.card-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.card-grain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.07}.card-blotch{background-image:url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.035' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.36  0 0 0 0 0.2  0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23b)'/%3E%3C/svg%3E")}.card-wear{background-size:100% 100%;background-repeat:no-repeat}.card .corner{position:absolute;top:4%;left:5%;display:flex;flex-direction:column;align-items:center;line-height:.92;font-family:Quando,Georgia,Times New Roman,serif;font-weight:400}.card.face-woodland .corner{font-family:Alegreya,Georgia,serif;font-weight:500}.card.face-birch .corner{font-family:Inter,system-ui,sans-serif;font-weight:700}.card .corner-flip{top:auto;left:auto;bottom:4%;right:5%;transform:rotate(180deg)}.corner-rank{font-size:calc(var(--card-width) * .25 * var(--corner-scale, 1))}.corner-suit{font-size:calc(var(--card-width) * .16 * var(--corner-scale, 1))}.corner-tens .corner-rank{font-size:calc(var(--card-width) * .205 * var(--corner-scale, 1));letter-spacing:-.05em}.card .pip{position:absolute;font-size:calc(var(--card-width) * .2 * var(--pip-scale, 1));transform:translate(-50%,-50%)}.card .pip-inverted{transform:translate(-50%,-50%) rotate(180deg)}.card .ace-pip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--card-width) * .52 * var(--pip-scale, 1))}.corner-suit svg,.card .pip svg,.card .ace-pip svg{display:block;width:.72em;height:.72em}.corner-suit svg{width:.85em;height:.85em;margin-top:.18em}.card .court-art{position:absolute;top:30%;right:26%;bottom:30%;left:26%}.card .court-art svg{width:100%;height:100%}.card.face-down{background:linear-gradient(160deg,#f6f2e4,#efe9d6)}.card.face-down.back-woodland{background:linear-gradient(160deg,var(--woodland-paper-light) 0%,var(--woodland-paper-dark) 100%)}.card.face-down.back-birch{background:repeating-linear-gradient(45deg,#e9ece2,#e9ece2 6px,#dde2d4 6px,#dde2d4 12px);border-color:#606a5c59}.back-inner{position:absolute;top:5.5%;right:5.5%;bottom:5.5%;left:5.5%;border-radius:calc(var(--card-radius) * .6);background:linear-gradient(160deg,#2c5847,#234a3b);border:1px solid rgba(238,232,210,.38)}.back-inner:after{content:"";position:absolute;top:4.5%;right:4.5%;bottom:4.5%;left:4.5%;border:1px solid rgba(238,232,210,.3);border-radius:calc(var(--card-radius) * .4)}.back-emblem{position:absolute;top:50%;left:50%;width:45%;color:#eee8d2cc;transform:translate(-50%,-50%)}.back-emblem svg{display:block;width:100%}.back-woodland .back-inner{background:linear-gradient(160deg,#4c3f2c,#3e3323)}.card.nudge{animation:card-nudge .2s ease-in-out}@keyframes card-nudge{0%,to{translate:0}30%{translate:-.6vmin 0}70%{translate:.45vmin 0}}.card.hint-source{animation:hint-lift 1.6s ease-in-out 1}.card.hint-dest{animation:hint-lift 1.6s ease-in-out 1;animation-delay:var(--hint-dest-delay, 0ms)}@keyframes hint-lift{0%,to{scale:1;translate:0 0;filter:drop-shadow(0 0 0 rgba(240,226,180,0))}35%{scale:1.045;translate:0 -.5vmin;filter:drop-shadow(0 0 1.8vmin rgba(240,226,180,.8))}}.pile.hint-dest{animation:hint-lift-box 1.6s ease-in-out 1;animation-delay:var(--hint-dest-delay, 0ms)}@keyframes hint-lift-box{0%,to{box-shadow:0 0 #f0e2b400}35%{box-shadow:0 0 2.4vmin .6vmin #f0e2b4d9}}.pile-stock .card.hint-dest{animation:hint-draw var(--hint-cue-ms) ease-in-out 1}@keyframes hint-draw{0%,to{scale:1;translate:0 0;filter:drop-shadow(0 0 0 rgba(240,226,180,0))}30%,65%{scale:1.06;translate:calc(var(--hint-draw-slide) * var(--card-width)) calc(-1*max(.5vmin,4px));filter:drop-shadow(0 0 max(1.8vmin,8px) rgba(240,226,180,.9))}}.pile-stock.empty.hint-dest{animation:hint-recycle var(--hint-cue-ms) ease-in-out 1}@keyframes hint-recycle{0%,to{scale:1;translate:0 0;outline-color:#e8efe938;color:#e8efe980;box-shadow:0 0 #f0e2b400}30%,65%{scale:1.06;translate:0 calc(-1*max(.5vmin,4px));outline-color:#f0e2b4f2;color:#f0e2b4;box-shadow:0 0 max(2.4vmin,10px) max(.6vmin,3px) #f0e2b4d9}}@media(prefers-reduced-motion:reduce){.card.hint-source,.card.hint-dest{animation:none;filter:drop-shadow(0 0 1.2vmin rgba(240,226,180,.4))}.pile.hint-dest{animation:none;box-shadow:0 0 1.2vmin .3vmin #f0e2b466}.pile-stock .card.hint-dest{animation:none;filter:drop-shadow(0 0 max(1.2vmin,6px) rgba(240,226,180,.5))}.pile-stock.empty.hint-dest{animation:none;outline-color:#f0e2b4cc;color:#f0e2b4e6}}.toolbar button{font-family:Quando,Georgia,Times New Roman,serif;font-weight:700;font-size:calc(clamp(.95rem,3.4vw,1.15rem) * var(--ui-scale));letter-spacing:.08em;padding:.65rem .85rem;border:none;background:none;color:#f2ecd9d9;text-shadow:0 1px 8px rgba(0,0,0,.55);cursor:pointer;white-space:nowrap}.toolbar button:hover:not(:disabled){color:#f2ecd9}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar-note{font-family:Quando,Georgia,Times New Roman,serif;font-style:italic;font-size:calc(clamp(.85rem,3vmin,1.05rem) * var(--ui-scale));letter-spacing:.1em;color:#f2ecd9bf;text-shadow:0 1px 8px rgba(0,0,0,.5);padding-right:.4rem;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.toolbar-note .note-short{display:none}@container (max-width: 440px){.toolbar-note .note-long{display:none}.toolbar-note .note-short{display:inline}}@media(max-width:430px){.toolbar{gap:.5vmin}.toolbar button{letter-spacing:.04em;padding:.65rem .5rem}.toolbar-note{letter-spacing:.06em}}.toolbar .announce{animation:toolbar-announce .9s ease both}@keyframes toolbar-announce{0%{opacity:0;transform:translateY(3px)}45%{opacity:1;transform:translateY(-1px);text-shadow:0 0 14px rgba(240,226,180,.9),0 1px 8px rgba(0,0,0,.55)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toolbar .announce{animation:none}}.toolbar button.hint-undo{animation:hint-undo-bloom var(--hint-cue-ms) ease-in-out 1;will-change:transform}@keyframes hint-undo-bloom{0%,to{scale:1;translate:0 0;color:#f2ecd9d9;text-shadow:0 1px 8px rgba(0,0,0,.55)}30%,65%{scale:var(--undo-bloom-scale);translate:0 calc(-1 * var(--undo-bloom-lift));color:#f2ecd9;text-shadow:0 0 var(--undo-bloom-glow) rgba(240,226,180,.9),0 1px 8px rgba(0,0,0,.55)}}@media(prefers-reduced-motion:reduce){.toolbar button.hint-undo{animation:none;color:#f2ecd9;text-shadow:0 0 8px rgba(240,226,180,.45),0 1px 8px rgba(0,0,0,.55)}}.toolbar button.hint-thinking{animation:hint-thinking-breathe 1.2s ease-in-out infinite}@keyframes hint-thinking-breathe{0%,to{color:#f2ecd9d9;text-shadow:0 1px 8px rgba(0,0,0,.55)}50%{color:#f2ecd9;text-shadow:0 0 10px rgba(240,226,180,.55),0 1px 8px rgba(0,0,0,.55)}}@media(prefers-reduced-motion:reduce){.toolbar button.hint-thinking{animation:none;color:#f2ecd9;text-shadow:0 0 8px rgba(240,226,180,.45),0 1px 8px rgba(0,0,0,.55)}}#hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;pointer-events:none}.debug-panel{position:fixed;top:calc(var(--toolbar) + 1vmin);right:1vmin;z-index:20;display:flex;flex-direction:column;gap:.6rem;width:16rem;max-width:90vw;max-height:calc(100vh - var(--toolbar) - 3vmin);overflow-y:auto;overscroll-behavior:contain;padding:.9rem;border:1px solid rgba(255,255,255,.2);border-radius:1vmin;background:#0c1410eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.8rem}.debug-panel.hidden{display:none}.debug-panel header{font-weight:700}.debug-scenes{display:flex;flex-wrap:wrap;gap:.4rem}.debug-scenes button,.debug-copy{font:inherit;padding:.3rem .6rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);background:#14201c8c;color:#e8efe9;cursor:pointer}.debug-scenes button.active{border-color:#ffd479;color:#ffd479}.debug-scenes button:disabled{opacity:.4;cursor:default}.debug-slider{display:flex;align-items:center;gap:.5rem}.debug-effects{display:flex;flex-wrap:wrap;gap:.3rem .8rem}.debug-effects label{display:flex;align-items:center;gap:.3rem;cursor:pointer}.debug-effects input{accent-color:#ffd479}.debug-slider span:first-child{flex:0 0 5.2rem}.debug-slider input{flex:1;min-width:0;accent-color:#ffd479}.debug-value{flex:0 0 2.4rem;text-align:right;color:#9fb3a8;font-variant-numeric:tabular-nums}.debug-toggle{display:flex;align-items:center;gap:.3rem;cursor:pointer}.debug-toggle.hidden{display:none}.debug-toggle input{accent-color:#ffd479}.debug-toggle .debug-value{flex:1;text-align:left}.debug-panel .debug-disabled{opacity:.4}.debug-snippet{margin:0;padding:.4rem .5rem;font-size:.7rem;line-height:1.5;white-space:pre;-webkit-user-select:all;user-select:all;background:#ffffff0f;border-radius:.5rem}.debug-snippet.hidden{display:none}.card.drag-hidden,.pile-depth-layer.drag-hidden{visibility:hidden}.drag-proxy{position:fixed;top:0;left:0;z-index:10;pointer-events:none}body.dragging,body.dragging .card,body.dragging .pile{cursor:grabbing}.drag-proxy .card{position:absolute;left:0;width:100%;transform:scale(1.04);box-shadow:0 1vmin 2.4vmin #00000073}.debug-stats{margin:0;font-size:.7rem;line-height:1.5;white-space:pre;opacity:.85}.debug-events{max-height:14em;overflow-y:auto}.debug-scenes.hidden{display:none}.debug-section{margin-top:.3rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.2);color:#9fb3a8;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none}.debug-section:before{content:"▸";display:inline-block;margin-right:.35rem;transition:transform .15s ease}.debug-section.open:before{transform:rotate(90deg)}.debug-section-body{display:flex;flex-direction:column;gap:.4rem}.debug-section-body.hidden{display:none}.wear-gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#060a08b3;cursor:pointer}.wear-gallery-sheet{max-width:min(58rem,94vw);max-height:90vh;overflow-y:auto;padding:1.2rem;border-radius:1vmin;border:1px solid rgba(255,255,255,.2);background:#0c1410f5}.wear-gallery-sheet header{margin-bottom:.9rem;color:#e8efe9;font-size:.85rem;font-weight:700}.wear-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem}.wear-gallery-grid figure{margin:0;text-align:center}.wear-demo-pair{display:flex;gap:.6rem;justify-content:center}.wear-demo-pair+.wear-demo-pair{margin-top:.6rem}.wear-gallery-grid .wear-demo{width:7.2rem;height:10.1rem;transform:none;cursor:default}.wear-gallery-grid figcaption{margin-top:.3rem;color:#9fb3a8;font-size:.7rem}.deck-gallery .wear-gallery-sheet{width:100vw;height:100vh;max-width:none;max-height:none;border:none;border-radius:0}.deck-gallery-switcher{display:flex;gap:8px;margin-bottom:.9rem}.deck-gallery-grid{display:grid;grid-template-columns:repeat(13,var(--card-width));gap:calc(var(--card-width) * .14);overflow:auto;padding-bottom:.5rem}.deck-gallery-grid .card{width:var(--card-width);height:var(--card-height);transform:none;cursor:default}.sheet-deck-chip .card,.chip-card{position:relative;flex:none;width:var(--deck-card-w);height:calc(var(--deck-card-w) * 1.4);border-radius:calc(var(--deck-card-w) * .13);transform:none;box-shadow:none}.chip-card{background:linear-gradient(160deg,#f8f4e7,#f1ebd9);border:1px solid rgba(95,80,50,.24)}.chip-face{display:flex;align-items:center;justify-content:center;gap:2px}.chip-mark{display:block;width:calc(var(--deck-card-w) * .34);height:calc(var(--deck-card-w) * .34)}.chip-mark svg{display:block;width:100%;height:100%}.chip-face .chip-mark.red{color:#ac3b34}.chip-face .chip-mark.black{color:#262e29}.chip-deck{position:relative;flex:none;width:calc(var(--deck-card-w) + 12px);height:calc(var(--deck-card-w) * 1.4 + 6px)}.sheet-deck-chip .chip-deck .card{position:absolute;left:6px;top:0;transform:rotate(-8deg);transform-origin:100% 100%}.chip-deck .chip-card{position:absolute;left:12px;top:6px;box-shadow:-1px 0 3px #141a1666}.flight-proxy{position:fixed;top:0;left:0;z-index:10;pointer-events:none;perspective:700px;transition:transform .36s ease-out}.flight-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(180deg);transition:transform .36s ease-out}.flight-flipper>.card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;backface-visibility:hidden;transform:none}.flight-flipper>.card.face-down{transform:rotateY(180deg)}.rewind-proxy{position:fixed;top:0;left:0;z-index:10;pointer-events:none;perspective:700px}.rewind-proxy>.card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}.board-fade{transition:opacity .3s ease}.board-leaving{opacity:0}.celebration-proxy{position:fixed;top:0;left:0;z-index:10;pointer-events:none}.quote-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vmin;pointer-events:auto;opacity:0;transition:opacity .7s ease}.quote-veil.visible{opacity:1}.quote-line{margin:0;font-family:Quando,Georgia,Times New Roman,serif;font-style:italic;font-size:max(3.2vmin,1.4rem);letter-spacing:.06em;color:#f2ecd9;text-shadow:0 1px 12px rgba(0,0,0,.65);text-align:center;padding:0 6vmin}.auto-proxy{position:fixed;top:0;left:0;pointer-events:none;perspective:700px}.auto-proxy>.card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}.bar{position:fixed;left:var(--edge);right:var(--edge);bottom:calc(var(--edge) + env(safe-area-inset-bottom));z-index:15;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;opacity:var(--bar-opacity);transition:opacity .2s ease}.bar:hover,.bar:focus-within{opacity:1}.bar.hidden{opacity:0}.bar>*,.bar-cluster>*{pointer-events:auto}.bar.hidden>*,.bar.hidden .bar-cluster>*{pointer-events:none}.bar-cluster{display:flex;flex:0 1 auto;align-items:center;gap:8px;min-width:0}.bar-game{flex:0 1 auto;min-width:0}.bar-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.bar-title.short{display:none}@media(max-width:540px){.bar-title.full{display:none}.bar-title.short{display:inline}}.bar-scene{flex:none;width:var(--scene-chip);aspect-ratio:3 / 2;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:12px;overflow:hidden;background:var(--glass);cursor:pointer}.bar-scene img{display:block;width:100%;height:100%;object-fit:cover}.bar-pill,.wallet-pill{display:inline-flex;align-items:center;gap:8px;height:var(--pill-h);padding:0 calc(var(--pill-h) * .38);border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ivory);font-family:var(--ui-font);font-size:var(--ui-text);letter-spacing:.02em;white-space:nowrap;cursor:pointer}.bar-pill:hover,.wallet-pill:hover{color:#fff}.bar-chevron{display:flex;opacity:.7}.wallet-pill.affordable{background:#f0e2b43d;border-color:#f0e2b4bf;color:#fbf3dc}.wallet-pill .acorn-glyph img,.bar-pill .acorn-glyph img{display:block;width:1.15em;height:1.15em;object-fit:contain}.bar-round{display:flex;flex:none;align-items:center;justify-content:center;width:var(--round);height:var(--round);border:1px solid var(--glass-line);border-radius:50%;background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ivory);cursor:pointer}.bar-sound{width:var(--pill-h);height:var(--pill-h)}.bar-round.muted{color:#f2ecd999}.bar-round svg{display:block;width:50%;height:50%}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:16;display:flex;flex-direction:column;padding:0 var(--edge) calc(var(--edge) + env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12);color:var(--ivory);font-family:var(--ui-font);font-size:var(--ui-text);transform:translateY(105%);transition:transform .3s ease}.sheet.open{transform:translateY(0)}.sheet-header,.sheet-strip{display:flex;align-items:center;gap:8px;min-height:calc(var(--pill-h) + 16px);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.sheet-header[hidden],.sheet-back[hidden],.sheet-tabs[hidden],.sheet-about-link[hidden],.sheet-flash[hidden]{display:none}.sheet-tabs{display:flex;flex:1;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.sheet-tab{flex:none;height:var(--pill-h);padding:0 calc(var(--pill-h) * .36);border:1px solid transparent;border-radius:999px;background:none;color:#f2ecd9a6;font-family:inherit;font-size:inherit;letter-spacing:.02em;cursor:pointer}.sheet-tab:hover{color:var(--ivory)}.sheet-tab.current{border-color:#e8efe98c;background:#e8efe924;color:var(--ivory)}.sheet-about-link{flex:none;padding:0 6px;border:none;background:none;color:#f2ecd98c;font-family:inherit;font-size:var(--tag-text);letter-spacing:.06em;cursor:pointer}.sheet-about-link:hover{color:var(--ivory)}.sheet-flash{flex:none;font-style:italic;font-size:var(--tag-text);color:#fbf3dc}.sheet-icon{display:flex;flex:none;align-items:center;justify-content:center;width:var(--pill-h);height:var(--pill-h);border:none;border-radius:50%;background:none;color:#f2ecd9cc;cursor:pointer}.sheet-icon:hover{color:#fff}.sheet-strip-text{flex:1;min-width:0}.sheet-button{flex:none;height:var(--pill-h);padding:0 calc(var(--pill-h) * .45);border-radius:999px;font-family:inherit;font-size:inherit;letter-spacing:.02em;cursor:pointer}.sheet-button.primary{border:none;background:#f0e2b4eb;color:#2a2415}.sheet-button.quiet{border:1px solid rgba(232,239,233,.45);background:none;color:var(--ivory)}.sheet-body{display:grid;padding-top:10px}.sheet-pane{grid-area:1 / 1;visibility:hidden;pointer-events:none}.sheet-pane.current{visibility:visible;pointer-events:auto}.sheet-stack{display:flex;flex-direction:column;gap:8px}.sheet-row{display:flex;align-items:center;gap:10px}.sheet-label{flex:none;min-width:4.2em;text-align:right;font-size:var(--tag-text);letter-spacing:.06em;color:#f2ecd999}.sheet-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.sheet-caption{margin:0;padding-left:calc(4.2em + 10px);font-style:italic;font-size:var(--tag-text);letter-spacing:.03em;color:#f2ecd9b8}.sheet-chip{display:inline-flex;flex:none;align-items:center;gap:8px;height:var(--pill-h);padding:0 calc(var(--pill-h) * .4);border:1px solid rgba(232,239,233,.35);border-radius:999px;background:transparent;color:#f2ecd9e0;font-family:inherit;font-size:inherit;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease}.sheet-chip:hover{color:#fff}.sheet-chip.current{border-color:#e8efe9e6;background:#e8efe929;color:#fff}.sheet-chip.locked>:not(.lock-tag){opacity:.5}.sheet-chip-check{display:none;align-items:center;justify-content:center;width:1.3em;height:1.3em;border-radius:50%;background:#eef3ee;color:#1f3a2e}.sheet-chip.current .sheet-chip-check{display:inline-flex}.now-playing{display:none;align-items:flex-end;gap:2px;height:.9em}.sheet-chip.playing .now-playing{display:inline-flex}.now-playing i{display:block;width:3px;border-radius:1px;background:#eef3ee;animation:now-playing 1.1s ease-in-out infinite}.now-playing i:nth-child(2){animation-delay:-.35s}.now-playing i:nth-child(3){animation-delay:-.7s}@keyframes now-playing{0%,to{height:35%}50%{height:100%}}@media(prefers-reduced-motion:reduce){.now-playing i{animation:none;height:70%}}.lock-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:#060c08b3;color:#f2ecd9b3;font-size:var(--tag-text);line-height:1.4;white-space:nowrap}.lock-tag[hidden],.lock-word[hidden]{display:none}.lock-tag.affordable{background:#f0e2b43d;box-shadow:inset 0 0 0 1px #f0e2b4bf;color:#fbf3dc}.lock-tag .acorn-glyph img{display:block;width:1.1em;height:1.1em;object-fit:contain}.sheet-nudge{animation:sheet-nudge .2s ease-in-out}@keyframes sheet-nudge{0%,to{translate:0}30%{translate:-3px 0}70%{translate:3px 0}}.sheet-tiles{display:flex;justify-content:center;gap:12px;overflow-x:auto;scrollbar-width:none}.sheet-tile{position:relative;flex:none;width:var(--tile-w);aspect-ratio:3 / 2;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#00000059;color:var(--ivory);font-family:inherit;cursor:pointer;box-shadow:0 2px 8px #00000059}.sheet-tile img{display:block;width:100%;height:100%;object-fit:cover}.sheet-tile.current{border-color:#e8efe9}.sheet-tile.locked img{opacity:.5}.sheet-tile-title{position:absolute;left:0;right:0;bottom:0;padding:1.4em 10px 8px;background:linear-gradient(transparent,#060c08d9);font-size:var(--tag-text);line-height:1.25;text-align:left}.sheet-tile .lock-tag{position:absolute;top:8px;right:8px}.sheet-decks{align-items:stretch;height:100%}.sheet-decks .sheet-label{align-self:center}.sheet-decks .sheet-chips{flex:1;align-items:stretch}.sheet-deck-chip{flex-direction:column;justify-content:flex-end;height:auto;padding:12px 18px 10px;border-radius:14px;gap:8px}.sheet-deck-chip .chip-deck{margin:auto 0}.sheet-deck-chip .lock-tag[hidden]{display:inline-flex;visibility:hidden}.sheet-switch{position:relative;flex:none;width:calc(var(--pill-h) * 1.15);height:calc(var(--pill-h) * .62);padding:0;border:none;border-radius:999px;background:#e8efe940;cursor:pointer;transition:background .2s ease}.sheet-switch.on{background:#7fb08a}.sheet-switch-knob{position:absolute;top:3px;left:3px;width:calc(var(--pill-h) * .62 - 6px);height:calc(var(--pill-h) * .62 - 6px);border-radius:50%;background:#fff;transition:left .2s ease}.sheet-switch.on .sheet-switch-knob{left:calc(100% - var(--pill-h) * .62 + 3px)}.sheet-switch.locked{opacity:.45;cursor:default}.sheet-switch-state{padding-left:0}.sheet-mix{gap:12px}.sheet-mix-end{flex:none;min-width:4.2em;font-size:var(--tag-text);letter-spacing:.04em;color:#f2ecd9d9}.sheet-mix-end:first-child{text-align:right}.sheet-mix input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;max-width:360px;height:var(--pill-h);background:transparent;cursor:pointer}.sheet-mix input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:#e8efe94d}.sheet-mix input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8.5px;border-radius:50%;border:none;background:#eef3eef2;box-shadow:0 1px 4px #0006}.sheet-mix input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:#e8efe94d}.sheet-mix input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:none;background:#eef3eef2;box-shadow:0 1px 4px #0006}.sheet-mix-caption{padding-left:calc(4.2em + 12px)}.about-card{display:flex;flex-direction:column;gap:6px;max-width:640px;margin:0 auto;padding:4px 0 8px;text-align:center}.about-title{margin:0;font-size:calc(var(--ui-text) * 1.3);font-weight:700;letter-spacing:.06em}.about-line{margin:0;color:#f2ecd9d9}.about-promise{font-style:italic}.about-credits{margin:4px 0 0;font-size:var(--tag-text);line-height:1.4;color:#f2ecd999}@media(orientation:portrait){.sheet-header{flex-wrap:wrap;row-gap:6px}.sheet-tabs{order:10;flex:1 0 100%;justify-content:space-between}.sheet-about-link{margin-left:auto}.sheet-tiles{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;overflow:visible}.sheet-tile{width:auto}.sheet-row{flex-direction:column;align-items:stretch;gap:6px}.sheet-label,.sheet-mix-end:first-child{text-align:left}.sheet-caption,.sheet-mix-caption{padding-left:0}.sheet-games .sheet-chips{flex-direction:column;align-items:stretch}.sheet-games .sheet-chip{justify-content:space-between;border-radius:12px}.sheet-sound,.sheet-mix{flex-direction:row;align-items:center}.sheet-mix-end{min-width:0}}.welcome-banner{position:fixed;left:var(--edge);right:var(--edge);bottom:calc(var(--edge) * 2 + var(--pill-h) + env(safe-area-inset-bottom));z-index:14;display:flex;align-items:center;gap:8px;max-width:640px;margin:0 auto;padding:10px 6px 10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#0a120eb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f2ecd9;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.welcome-banner.visible{opacity:1;transform:none}.welcome-body{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:4px 14px;min-width:0}.welcome-line{margin:0;font-family:Quando,Georgia,Times New Roman,serif;font-size:var(--ui-text);letter-spacing:.04em;line-height:1.35;text-shadow:0 1px 8px rgba(0,0,0,.5)}.welcome-gift{display:flex;align-items:center;gap:.5vmin;margin:0;font-family:Quando,Georgia,Times New Roman,serif;font-size:var(--ui-text);letter-spacing:.1em;color:#f2ecd9e6;white-space:nowrap}.welcome-close{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:none;color:#f2ecd9b3;cursor:pointer}.welcome-close:hover{color:#f2ecd9}.welcome-close svg{display:block}@media(prefers-reduced-motion:reduce){.welcome-banner{transition:none;transform:none}}.welcome-acorn,.acorn-flyer{display:block;width:max(3.2vmin,1.6rem);height:max(3.2vmin,1.6rem);filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}.welcome-acorn img,.acorn-flyer img{display:block;width:100%;height:100%;object-fit:contain}.acorn-flyer{position:fixed;z-index:30;pointer-events:none}.quote-tally{display:flex;align-items:center;gap:.8vmin;margin:0;font-family:Quando,Georgia,Times New Roman,serif;font-size:max(2.1vmin,1rem);letter-spacing:.1em;color:#f2ecd9e6;text-shadow:0 1px 8px rgba(0,0,0,.55)}.quote-acorn{display:block;width:max(2.4vmin,1.2rem);height:max(2.4vmin,1.2rem)}.quote-acorn img{display:block;width:100%;height:100%;object-fit:contain}.win-actions{display:flex;gap:2vmin;margin-top:2vmin}.win-action{min-width:11rem;height:3rem;padding:0 1.6rem;border:none;border-radius:999px;background:#f0e2b4eb;color:#2a2415;font-family:Quando,Georgia,Times New Roman,serif;font-weight:700;font-size:max(1.9vmin,1rem);letter-spacing:.06em;cursor:pointer;box-shadow:0 2px 12px #00000059}.win-action:hover{background:#fbf3dc}.perf-blotch-multiply .card-blotch{mix-blend-mode:multiply}.perf-no-grain .card-grain{display:none}.perf-layer-clips .card-layer{border-radius:inherit}.card-shadow-ready:not(.perf-box-shadow) .pile .card,.card-shadow-ready:not(.perf-box-shadow) .pile-depth-layer{box-shadow:none;border-color:transparent;border-image:var(--card-shadow-image) var(--card-shadow-slice) / var(--card-shadow-width) / var(--card-shadow-outset) stretch}.perf-cheap-shadow .pile .card,.perf-cheap-shadow .pile-depth-layer{border-image:none;border-color:#5f50323d;box-shadow:0 1px #140f0573,0 4px 10px #00000042}.perf-flat-shadow .pile .card,.perf-flat-shadow .pile-depth-layer{border-image:none;border-color:#5f50323d;box-shadow:0 1px #140f0573,0 3px #00000029}.flight-proxy>.card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}.debug-note{font-size:.7rem;line-height:1.4;color:#9fb3a8}
