:root{--felt-hi: #1a7a58;--felt: #0f5a40;--felt-lo: #083626;--ink: #f4f1e8;--ink-dim: rgba(244, 241, 232, .62);--slot-line: rgba(255, 255, 255, .22);--slot-fill: rgba(0, 0, 0, .12);--gold: #ffd36b;--glow: rgba(255, 224, 120, .95);--drop: rgba(150, 255, 200, .9);--sheet: #fbf8f1;--sheet-ink: #1b2233;--sheet-dim: #6b6f7c;--accent: #0f7a52;--bar-rgb: 4, 30, 21;--bar-bg: rgba(var(--bar-rgb), .55);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 5px rgba(0, 0, 0, .18);--shadow-lift: 0 14px 28px rgba(0, 0, 0, .42), 0 6px 10px rgba(0, 0, 0, .25);--flip-ms: .3s;color-scheme:dark;transition:--felt-hi .6s ease,--felt .6s ease,--felt-lo .6s ease}@property --felt-hi{syntax: "<color>"; inherits: true; initial-value: #1a7a58;}@property --felt{syntax: "<color>"; inherits: true; initial-value: #0f5a40;}@property --felt-lo{syntax: "<color>"; inherits: true; initial-value: #083626;}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--felt-lo);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0}#app,.felt{background:radial-gradient(ellipse 120% 70% at 50% 28%,var(--felt-hi) 0%,var(--felt) 45%,var(--felt-lo) 100%)}#app:before,.felt:before{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.safe-probe{position:fixed;visibility:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.table{position:absolute;inset:0;touch-action:none}.slot{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .09);border:1.5px solid var(--slot-line);background:var(--slot-fill);display:grid;place-items:center;color:var(--slot-line);font-weight:800;font-size:calc(var(--cw) * .42)}.slot-f:after{content:"A"}.slot-t:after{content:"K";font-size:calc(var(--cw) * .32);opacity:.7}.slot-s.can-recycle:after{content:"↻";color:#ffffff8c;font-size:calc(var(--cw) * .6)}.slot-s.spent:after{content:"·"}.card{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);will-change:transform;perspective:calc(var(--cw) * 12);touch-action:none}.card .body{width:100%;height:100%;border-radius:calc(var(--cw) * .09);box-shadow:var(--shadow);transition:box-shadow .16s ease}.card.buried .body{box-shadow:none}.card.lifted .body{box-shadow:var(--shadow-lift)}.card .flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--flip-ms) cubic-bezier(.3,1.35,.5,1);transform:rotateY(180deg)}.card.up .flip{transform:rotateY(0)}.card.noflip .flip{transition:none}.card .face,.card .back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-size:100% 100%;border-radius:calc(var(--cw) * .09)}.card .back{transform:rotateY(180deg)}.card.hinted .body{animation:hint-pulse .8s ease-in-out 2}@keyframes hint-pulse{0%,to{transform:scale(1);box-shadow:var(--shadow)}50%{transform:scale(1.08) translateY(-3px);box-shadow:0 0 0 2px var(--glow),0 0 18px 4px var(--glow)}}.ghost{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .09);pointer-events:none;opacity:0;z-index:4000;transition:opacity .12s ease}.ghost.on{opacity:1}.ghost.drop{border:2px solid var(--drop);box-shadow:0 0 16px 2px var(--drop),inset 0 0 12px #96ffc859;animation:ghost-breathe .9s ease-in-out infinite}.ghost.hint{border:2px dashed var(--glow);box-shadow:0 0 18px 3px var(--glow);animation:ghost-breathe .8s ease-in-out infinite}@keyframes ghost-breathe{50%{transform:scale(1.04);filter:brightness(1.3)}}.drift{position:absolute;left:0;top:0;pointer-events:none}.fx{position:fixed;left:0;top:0;pointer-events:none;z-index:6000}.fx-trail{z-index:5500}.bar{position:fixed;left:0;right:0;bottom:0;height:calc(62px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);display:flex;justify-content:space-around;align-items:stretch;background:linear-gradient(to top,var(--bar-bg),rgba(var(--bar-rgb),0));z-index:7000}.bar-btn{flex:1;max-width:110px;border:0;background:none;color:var(--ink);font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;touch-action:manipulation;transition:transform .12s ease,opacity .16s ease}.bar-btn svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bar-btn:active{transform:scale(.88)}.bar-btn:disabled{opacity:.32}.auto-finish{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translate(-50%,30px) scale(.8);opacity:0;pointer-events:none;z-index:7000;border:0;padding:13px 24px;border-radius:999px;font:inherit;font-weight:800;font-size:16px;color:#3b2a00;background:linear-gradient(180deg,#ffe58f,#ffc53d);box-shadow:0 6px 20px #00000059,0 0 0 3px #ffe58f59;transition:transform .32s cubic-bezier(.3,1.5,.5,1),opacity .2s ease;touch-action:manipulation}.auto-finish.show{opacity:1;pointer-events:auto;transform:translate(-50%) scale(1);animation:auto-glow 1.4s ease-in-out infinite}.auto-finish:active{transform:translate(-50%) scale(.92)}.auto-finish .spark{display:inline-block;animation:spin 2.4s linear infinite}@keyframes auto-glow{50%{box-shadow:0 6px 24px #00000059,0 0 0 7px #ffe58f2e,0 0 26px 6px #ffd25a73}}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translate(-50%,16px);opacity:0;z-index:7100;padding:10px 16px;border-radius:999px;background:#0a1410db;color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap;pointer-events:none;transition:opacity .2s ease,transform .26s cubic-bezier(.3,1.4,.5,1)}.toast.show{opacity:1;transform:translate(-50%)}.sheet-wrap{position:fixed;inset:0;z-index:8000}.sheet-backdrop{position:absolute;inset:0;background:#00000073;opacity:0;transition:opacity .22s ease}.sheet{position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:520px;max-height:88vh;overflow-y:auto;background:var(--sheet);color:var(--sheet-ink);border-radius:22px 22px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s cubic-bezier(.25,1.15,.5,1);touch-action:pan-y;box-shadow:0 -10px 40px #00000059}.sheet-wrap.open .sheet{transform:translateY(0)}.sheet-wrap.open .sheet-backdrop{opacity:1}.grip{width:40px;height:5px;border-radius:3px;background:#d6d0c2;margin:0 auto 8px}.sheet h2{margin:6px 0 12px;font-size:22px}.sheet h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--sheet-dim)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ebe5d8;position:relative}.row b{display:block;font-size:16px}.row small{display:block;color:var(--sheet-dim);font-size:12.5px;margin-top:2px}.theme-head{border-bottom:none;padding-bottom:6px}.swatches{display:flex;gap:8px;margin:0 -20px;padding:4px 20px 12px;overflow-x:auto;scrollbar-width:none;touch-action:pan-x;border-bottom:1px solid #ebe5d8}.swatches::-webkit-scrollbar{display:none}.swatch{flex:none;width:66px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--sheet-ink);font:inherit;font-size:11.5px;touch-action:manipulation;cursor:pointer}.swatch i{display:grid;place-items:center;width:100%;aspect-ratio:1.25;border-radius:10px;box-shadow:inset 0 0 0 1px #00000026;transition:transform .16s ease,box-shadow .16s ease}.swatch img{height:70%;border-radius:3px;box-shadow:0 1px 3px #0006;transform:rotate(-6deg)}.swatch.on i{box-shadow:0 0 0 2.5px var(--sheet),0 0 0 4.5px var(--accent);transform:scale(1.04)}.swatch.on span{font-weight:700}.row input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.switch{flex:none;width:50px;height:30px;border-radius:15px;background:#d9d3c6;position:relative;transition:background .18s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .22s cubic-bezier(.3,1.4,.5,1)}.row input:checked+.switch{background:var(--accent)}.row input:checked+.switch:after{transform:translate(20px)}.segs{display:flex;background:#ebe5d8;border-radius:10px;padding:3px;flex:none}.seg{border:0;background:none;font:inherit;font-size:14px;font-weight:600;padding:7px 12px;border-radius:8px;color:var(--sheet-dim);touch-action:manipulation}.seg.on{background:#fff;color:var(--sheet-ink);box-shadow:0 1px 3px #00000026}.stats-block{margin-top:16px}.stats,.win-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div,.win-figures div{background:#f1ece1;border-radius:12px;padding:10px 8px;text-align:center}.stats b,.win-figures b{display:block;font-size:19px}.stats small,.win-figures small{display:block;font-size:11.5px;color:var(--sheet-dim);margin-top:2px}.win-figures{grid-template-columns:1fr 1fr}.win-figures b{font-size:30px}.win-figures em{font-style:normal;font-weight:800;color:#b07a00;background:#ffe9a8;border-radius:6px;padding:0 5px;margin-left:2px}.win-title{text-align:center;font-size:30px!important;background:linear-gradient(90deg,#c98a00,#e5482f,#c98a00);-webkit-background-clip:text;background-clip:text;color:transparent}.sheet-wrap.win .sheet-backdrop{background:#00000040}.actions{display:flex;gap:10px;margin-top:18px}.btn{flex:1;border:0;border-radius:14px;padding:14px;font:inherit;font-weight:700;font-size:16px;background:var(--accent);color:#fff;touch-action:manipulation;transition:transform .12s ease}.btn.small{flex:none;padding:9px 18px;font-size:15px}.row small b{display:inline;font-size:inherit;color:var(--sheet-ink)}.btn.quiet{background:#ebe5d8;color:var(--sheet-ink)}.btn:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){:root{--flip-ms: .12s}.ghost.drop,.ghost.hint,.auto-finish.show,.auto-finish .spark{animation:none}}
