:root{--felt: #0e4c30;--felt-dark: #072a1a;--felt-light: #186b45;--felt-deep: #041910;--wood: #381f10;--wood-light: #54311c;--wood-dark: #221208;--gold: #f3c34f;--gold-soft: #ffeb99;--gold-dark: #b8861e;--gold-glow: rgba(243, 195, 79, .45);--ink: #fbf6ec;--muted: #c4d7cb;--danger: #e04f48;--success: #22a050;--panel: rgba(8, 28, 18, .88);--glass-border: rgba(255, 255, 255, .15);--sheet: #fbf7ee;--sheet-ink: #261c14;--radius: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--felt-deep);color:var(--ink);overscroll-behavior:none}body{background:radial-gradient(130% 90% at 50% 38%,var(--felt-light) 0%,var(--felt) 45%,var(--felt-dark) 85%,var(--felt-deep) 100%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 2px,transparent 4px);user-select:none;-webkit-user-select:none;touch-action:manipulation;overflow:hidden}#app{height:100dvh;max-width:560px;margin:0 auto;overflow-x:hidden;overflow-y:auto;position:relative;box-shadow:0 0 50px #0009}h1,h2,h3{font-family:Cinzel,Georgia,serif;margin:0;letter-spacing:.03em}button{font:inherit;color:inherit;cursor:pointer;border:0;outline:none}input,select{font:inherit;width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--glass-border);background:#00000059;color:var(--ink);backdrop-filter:blur(12px);user-select:text;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f3c34f40;outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;backdrop-filter:blur(10px);font-weight:700;font-size:1rem;letter-spacing:.02em;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s,background .2s;box-shadow:0 4px 14px #00000040}.btn:hover{background:#ffffff24}.btn:active{transform:translateY(2px) scale(.98);box-shadow:0 2px 6px #0003}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:linear-gradient(180deg,var(--gold-soft) 0%,var(--gold) 65%,#cca02c 100%);color:#2b1703;border-color:#fce28f;box-shadow:0 4px #9e6d0a,0 8px 24px #0006;text-shadow:0 1px 0 rgba(255,255,255,.4)}.btn.primary:active{transform:translateY(3px) scale(.98);box-shadow:0 1px #9e6d0a,0 4px 12px #0000004d}.btn.primary.alt{background:linear-gradient(180deg,#fff,#ebe5d5 60%,#d4cbba);color:#2e261e;border-color:#fff;box-shadow:0 4px #8c8164,0 8px 24px #00000059}.btn.primary.alt:active{transform:translateY(3px) scale(.98);box-shadow:0 1px #8c8164,0 4px 12px #00000040}.btn.big{min-height:62px;font-size:1.15rem;width:100%}.btn.small{min-height:38px;padding:8px 16px;font-size:.9rem}.btn.ghost{background:transparent;box-shadow:none;border-color:#ffffff2e}.btn.ghost:hover{background:#ffffff14}.btn.danger{border-color:var(--danger);color:#ffb8b5;background:#e04f4826}.btn.danger:hover{background:#e04f4847}.icon-btn{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--glass-border);background:#0000004d;backdrop-filter:blur(12px);font-size:1.3rem;display:grid;place-items:center;transition:transform .15s,background .2s;box-shadow:0 3px 10px #0000004d}.icon-btn:hover{background:#ffffff1f}.icon-btn:active{transform:scale(.92)}.row{display:flex;gap:12px}.row>*{flex:1}.muted{color:var(--muted);font-size:.9rem}.error{color:#ffb8b5;font-weight:600}.screen{min-height:100%;padding:calc(18px + var(--safe-top)) 18px calc(24px + var(--safe-bottom))}.screen.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.screen.form{display:flex;flex-direction:column;gap:16px}.screen.form h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-soft);margin-top:8px}header.top{display:flex;align-items:center;gap:14px}header.top h1{font-size:1.45rem}.music-btn{position:absolute;top:calc(12px + var(--safe-top));right:16px}.home{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding-top:calc(24px + var(--safe-top))}.logo{position:relative}.logo h1{font-size:clamp(3.2rem,17vw,4.8rem);font-weight:900;letter-spacing:.04em;background:linear-gradient(180deg,#ffffff 0%,var(--gold-soft) 30%,var(--gold) 75%,#a87212 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px rgba(0,0,0,.5))}.logo.small h1{font-size:2.6rem}.logo p{margin:4px 0 0;color:var(--muted);font-style:italic;font-size:1.05rem;letter-spacing:.03em;opacity:.9}.hero-fan{position:relative;height:205px;width:280px;margin:10px 0;perspective:900px}.hero-fan .card{--cw: 108px;position:absolute;left:50%;bottom:0;transform-origin:50% 120%;margin-left:calc(var(--cw) / -2);box-shadow:0 14px 30px #0000008c,0 2px 6px #0000004d;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.hero-fan .h0{transform:rotate(-18deg) translateZ(-10px)}.hero-fan .h1{transform:rotate(0) translateY(-14px) translateZ(10px)}.hero-fan .h2{transform:rotate(18deg) translateZ(-5px)}.hero-fan:hover .h0,.hero-fan:active .h0{transform:rotate(-24deg) translate(-16px) translateY(-8px)}.hero-fan:hover .h1,.hero-fan:active .h1{transform:rotate(0) translateY(-26px) scale(1.06)}.hero-fan:hover .h2,.hero-fan:active .h2{transform:rotate(24deg) translate(16px) translateY(-8px)}.menu{width:100%;display:flex;flex-direction:column;gap:14px}.stats-line{color:var(--muted);font-size:.9rem;font-weight:500;letter-spacing:.04em;background:#00000040;padding:6px 16px;border-radius:999px;border:1px solid var(--glass-border)}.choice-list{display:flex;flex-direction:column;gap:12px}.choice{display:flex;align-items:center;gap:16px;text-align:left;padding:16px;border-radius:var(--radius);border:1.5px solid var(--glass-border);background:#00000040;backdrop-filter:blur(12px);transition:transform .15s,border-color .2s,background .2s}.choice:hover{background:#ffffff0f}.choice:active{transform:scale(.98)}.choice b{display:block;font-size:1.1rem;font-family:Cinzel,Georgia,serif;letter-spacing:.02em}.choice small{color:var(--muted);font-size:.85rem}.choice.on{border-color:var(--gold);background:#f3c34f1f;box-shadow:0 0 20px #f3c34f33}.choice .dot{width:18px;height:18px;border-radius:50%;flex:none;box-shadow:0 0 10px currentColor}.d-easy .dot{background:#38b000;color:#38b00099}.d-medium .dot{background:var(--gold);color:var(--gold-glow)}.d-hard .dot{background:#e5383b;color:#e5383b99}.segmented{display:flex;background:#00000059;backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:999px;padding:4px}.segmented button{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;font-weight:700;font-size:.95rem;transition:background .2s,color .2s,transform .12s}.segmented button.on{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#2b1703;box-shadow:0 2px 8px #0000004d}.field{display:flex;flex-direction:column;gap:8px}.field>span{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-soft)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.toggle-text{display:flex;flex-direction:column;gap:2px}.toggle-text span{font-weight:600}.toggle-text small{color:var(--muted);font-size:.85rem}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.switch{width:52px;height:32px;border-radius:999px;background:#ffffff2e;position:relative;flex:none;transition:background .25s,box-shadow .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000059;transition:transform .25s cubic-bezier(.2,.8,.3,1.2)}.toggle input:checked+.switch{background:var(--gold);box-shadow:0 0 14px #f3c34f80}.toggle input:checked+.switch:after{transform:translate(20px)}.deck-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.deck-choice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:var(--radius);border:1.5px solid var(--glass-border);background:#00000040;backdrop-filter:blur(12px);transition:transform .15s,border-color .2s,background .2s}.deck-choice:hover{background:#ffffff0d}.deck-choice.on{border-color:var(--gold);background:#f3c34f1f;box-shadow:0 0 20px #f3c34f40}.deck-choice.locked{opacity:.5;filter:grayscale(.5)}.deck-choice b{font-family:Cinzel,Georgia,serif;font-size:.95rem;letter-spacing:.02em}.deck-choice small{color:var(--muted);font-size:.78rem;text-align:center}.deck-preview{display:flex;gap:6px;margin-bottom:4px}.invite .link-box{background:#00000059;backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;padding:14px;word-break:break-all;text-align:center;user-select:all;font-size:.95rem;color:var(--gold-soft)}.qr{align-self:center;width:min(220px,60vw);background:#fff;border-radius:16px;padding:10px;box-shadow:0 10px 30px #00000073}.qr svg{display:block;width:100%;height:auto}.waiting{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold-soft);font-weight:600}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);animation:spin .85s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.join{text-align:center;align-items:stretch}.join .host{font-size:1.15rem;color:var(--gold-soft);font-weight:600}.rules{padding-left:24px;line-height:1.6;font-size:.95rem}.rules li{margin-bottom:12px}.card{--cw: 80px;width:var(--cw);flex:none;border-radius:calc(var(--cw) * .08);box-shadow:0 4px 14px #00000059,0 1px 3px #0003;position:relative;background:transparent;transform-style:preserve-3d;will-change:transform,box-shadow;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.05) 35%,transparent 60%);pointer-events:none}.card svg{display:block;width:100%;height:auto}.card.ghost{aspect-ratio:100 / 160;border:2px dashed rgba(255,255,255,.25);box-shadow:none;background:#0000001f}.card.ghost:after{display:none}.card.mini{--cw: 24px;border-radius:4px;box-shadow:0 2px 4px #0006}.card.thumb{--cw: 54px}.card.settebello{box-shadow:0 0 0 1.5px var(--gold),0 4px 18px #f3c34f80,0 1px 4px #0000004d}.card.settebello:before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--cw) * .09);background:linear-gradient(110deg,transparent 20%,rgba(255,245,180,.6) 45%,rgba(243,195,79,.8) 50%,rgba(255,245,180,.6) 55%,transparent 80%);background-size:250% 100%;animation:sb-sheen 3.2s ease-in-out infinite;pointer-events:none;z-index:2;opacity:.65}@keyframes sb-sheen{0%{background-position:-250% 0}45%,to{background-position:250% 0}}.settebello .sb-star{animation:star-pulse 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes star-pulse{0%,to{opacity:.85;transform:scale(.95);filter:drop-shadow(0 0 2px #ffd54a)}50%{opacity:1;transform:scale(1.15);filter:drop-shadow(0 0 8px #ffd54a) drop-shadow(0 0 14px #ffc107)}}.screen.game{height:100dvh;min-height:0;padding:0;display:grid;grid-template-rows:auto 1fr auto auto auto;position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,var(--felt-light) 0%,var(--felt) 50%,var(--felt-dark) 90%,var(--felt-deep) 100%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 2px,transparent 4px)}.bar{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(180deg,#2e1a0ef0,#1c0f08f5);backdrop-filter:blur(20px);box-shadow:0 4px 18px #00000073;border-bottom:1px solid rgba(243,195,79,.2);z-index:10;transition:box-shadow .3s}.opp-bar{padding-top:calc(10px + var(--safe-top))}.me-bar{padding-bottom:calc(10px + var(--safe-bottom));border-bottom:0;border-top:1px solid rgba(243,195,79,.2);box-shadow:0 -4px 18px #00000073}.bar.active{box-shadow:inset 0 0 0 2px var(--gold),0 0 24px #f3c34f59}.p-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.p-line{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1}.p-name{font-weight:700;font-size:1.05rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-score{margin-left:auto;font-family:Cinzel,Georgia,serif;font-size:1.35rem;font-weight:800;color:var(--gold);text-shadow:0 2px 8px rgba(0,0,0,.6);white-space:nowrap}.opp-hand{display:flex;gap:4px;min-height:38px}.pile{position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:12px;background:#00000059;backdrop-filter:blur(10px);border:1px solid var(--glass-border);min-height:46px;min-width:76px;transition:transform .15s,background .2s}.pile:hover{background:#ffffff14}.pile:active{transform:scale(.96)}.pile .count{font-weight:800;font-family:Cinzel,Georgia,serif;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--ink)}.pile .scopa-count{font-size:.85rem;font-weight:700;color:var(--gold-soft);background:#f3c34f2e;padding:2px 6px;border-radius:6px}.pile .scopa-mark{position:absolute;left:6px;top:50%;transform:translate(calc(var(--i) * 3px),-50%) rotate(90deg);outline:1.5px solid var(--gold);box-shadow:0 2px 6px #0006}.pile.me:disabled{cursor:default}.pile.me:not(:disabled):after{content:"ⓘ";font-size:.75rem;opacity:.7}.timer{position:absolute;left:0;right:0;height:4px;bottom:0;background:transparent;overflow:hidden}.me-bar .timer{top:0;bottom:auto}.timer i{display:block;height:100%;background:linear-gradient(90deg,#ffc107,var(--gold));box-shadow:0 0 10px var(--gold);transform-origin:left;animation:timer linear forwards}@keyframes timer{0%{transform:scaleX(var(--from));background:linear-gradient(90deg,#ffc107,var(--gold))}70%{background:linear-gradient(90deg,#ff9800,#ff5722)}to{transform:scaleX(0);background:linear-gradient(90deg,#f44336,#d32f2f)}}.felt{position:relative;display:flex;align-items:center;justify-content:center;padding:14px 12px 14px 80px;min-height:0;transition:background .25s,box-shadow .25s}.felt.drop-target{background:#ffffff12;box-shadow:inset 0 0 0 3px #f3c34f99,inset 0 0 30px #f3c34f40}.deck-stack{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3}.deck-stack .card{--cw: 54px}.deck-stack .card.stack{box-shadow:1px 1px #fff,2px 2px #d0c8b8,3px 3px #fff,4px 4px #b0a490,5px 5px #fff,6px 6px #8c7e68,0 12px 22px #0000008c}.deck-stack .count{font-family:Cinzel,Georgia,serif;font-weight:800;font-size:.95rem;color:var(--gold-soft);background:#00000073;backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:999px;padding:2px 12px;box-shadow:0 2px 6px #00000059}.table-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:12px;width:100%;max-height:100%}.table-grid .card{--cw: min(21vw, 94px, 15.5dvh);transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .25s,filter .25s,box-shadow .25s}.table-grid[data-count="7"] .card,.table-grid[data-count="8"] .card{--cw: min(18vw, 82px, 13dvh)}.table-grid[data-count="9"] .card,.table-grid[data-count="10"] .card,.table-grid[data-count="11"] .card,.table-grid[data-count="12"] .card{--cw: min(16vw, 72px, 11dvh);gap:8px}.table-grid .card.glow{box-shadow:0 0 0 3px var(--gold),0 0 24px var(--gold),0 8px 18px #00000073;animation:glow-pulse 1.3s ease-in-out infinite alternate;cursor:pointer}@keyframes glow-pulse{0%{box-shadow:0 0 0 2.5px var(--gold),0 0 16px #f3c34f99;transform:scale(1)}to{box-shadow:0 0 0 4px #fff,0 0 28px #f3c34ff2;transform:scale(1.03)}}.table-grid .card.chosen{box-shadow:0 0 0 3.5px #fff,0 0 0 6px var(--gold),0 10px 24px #00000080;transform:translateY(-8px) scale(1.05)}.table-grid .card.dim{filter:brightness(.4) saturate(.5);opacity:.65}.table-grid .card.taken{box-shadow:0 0 0 3.5px #fff,0 0 28px var(--gold);transform:translateY(-6px) scale(1.07)}.card.incoming.from-me{animation:from-me .38s cubic-bezier(.18,.85,.3,1)}.card.incoming.from-opp{animation:from-opp .38s cubic-bezier(.18,.85,.3,1)}@keyframes from-me{0%{transform:translateY(45vh) scale(1.25) rotate(-8deg);opacity:.5}}@keyframes from-opp{0%{transform:translateY(-45vh) scale(.6) rotate(10deg);opacity:.5}}.table-grid .card.sweep-me{transform:translateY(55vh) scale(.35) rotate(90deg);opacity:0;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .45s ease-in}.table-grid .card.sweep-opp{transform:translateY(-55vh) scale(.35) rotate(-90deg);opacity:0;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .45s ease-in}.card.deal-in{animation:deal .45s cubic-bezier(.2,.8,.3,1) both;animation-delay:var(--d, 0ms)}@keyframes deal{0%{opacity:0;transform:translate(-30vw) rotate(-22deg) scale(.55)}}.in-hand.deal-in{animation-name:deal-hand}@keyframes deal-hand{0%{opacity:0;transform:translate(-30vw,-30vh) rotate(-32deg) scale(.55)}}.banner{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%) scaleY(0);text-align:center;font-family:Cinzel,Georgia,serif;font-weight:800;pointer-events:none;opacity:0;transition:transform .25s,opacity .25s;z-index:25}.banner.show{transform:translateY(-50%) scaleY(1);opacity:1}.banner.scopa{font-size:clamp(2.8rem,15vw,4.4rem);font-weight:900;padding:18px 0;color:#2b1703;background:linear-gradient(90deg,transparent 0%,rgba(255,235,153,.95) 20%,#f3c34f 50%,rgba(255,235,153,.95) 80%,transparent 100%);text-shadow:0 2px 0 #ffffff,0 4px 16px rgba(184,134,30,.6);letter-spacing:.08em;box-shadow:0 0 50px #f3c34f99}.banner.scopa.show{animation:scopa-pop .55s cubic-bezier(.18,1.4,.3,1)}@keyframes scopa-pop{0%{transform:translateY(-50%) scale(.35) rotate(-6deg);opacity:0}}.banner.info{font-size:1.15rem;padding:12px 20px;background:var(--panel);border:1px solid var(--glass-border);color:var(--gold-soft);backdrop-filter:blur(16px);border-radius:999px;max-width:80%;margin:0 auto}.sb-moment{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 50% 45%,#ffd65a61,#2814008c 70%);animation:sb-fade-in .3s ease-out;transition:opacity .3s}.sb-moment.theirs{background:radial-gradient(circle at 50% 45%,#ffd65a38,#0a0500b3 70%)}.sb-moment.out{opacity:0}@keyframes sb-fade-in{0%{opacity:0}}.sb-rays{position:absolute;left:50%;top:45%;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;background:repeating-conic-gradient(from 0deg,rgba(255,228,130,.32) 0deg 8deg,transparent 8deg 22deg);mask-image:radial-gradient(circle,#000 0%,transparent 45%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 45%);animation:sb-spin 6s linear infinite}.sb-moment.theirs .sb-rays{opacity:.45}@keyframes sb-spin{to{transform:rotate(360deg)}}.sb-card{position:relative;z-index:1;animation:sb-card-in .75s cubic-bezier(.18,1.4,.3,1) both}.sb-card .card{--cw: clamp(96px, 30vw, 140px);box-shadow:0 0 0 2px var(--gold),0 0 40px 10px #ffd54abf,0 10px 30px #00000080}@keyframes sb-card-in{0%{transform:scale(.2) rotateY(540deg) rotate(-20deg);opacity:0}70%{transform:scale(1.12) rotateY(0) rotate(4deg)}}.sb-title{position:relative;z-index:1;font-family:Cinzel,Georgia,serif;font-weight:900;font-size:clamp(2.4rem,13vw,4rem);letter-spacing:.06em;color:#ffe68a;background:linear-gradient(180deg,#fff6c8,#ffd54a 45%,#c8901c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #5a3505) drop-shadow(0 0 18px rgba(255,200,60,.8));animation:sb-title-in .6s .25s cubic-bezier(.18,1.5,.3,1) both}@keyframes sb-title-in{0%{transform:scale(2.4);opacity:0}}.sb-sub{position:relative;z-index:1;font-weight:700;font-size:1.05rem;color:#fff3c4;text-shadow:0 2px 6px rgba(0,0,0,.7);padding:0 16px;text-align:center;animation:sb-fade-in .4s .55s both}.sb-coin{position:absolute;left:50%;top:45%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8d0,#ffd54a 40%,#b07a12);box-shadow:0 0 8px #ffd54ae6;opacity:0;animation:sb-burst 1.3s var(--t) cubic-bezier(.1,.8,.3,1) forwards}@keyframes sb-burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.3)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(var(--s)) rotateX(720deg)}}.sb-moment.theirs .sb-coin{display:none}.table-grid .card.sb-taken{z-index:5;animation:sb-taken .5s ease-in-out 3}@keyframes sb-taken{50%{transform:scale(1.18);box-shadow:0 0 0 2px var(--gold),0 0 30px 8px #ffd54ae6}}.turn-status{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.9rem;letter-spacing:.03em;color:var(--muted);pointer-events:none;transition:color .2s}.turn-status.mine{color:var(--gold-soft);font-weight:700;text-shadow:0 0 10px rgba(243,195,79,.5)}.action-bar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0e2418eb;backdrop-filter:blur(16px);border-top:1px solid rgba(243,195,79,.25);color:var(--gold-soft);font-weight:700;font-size:.95rem;box-shadow:0 -4px 16px #0000004d}.action-bar.show{display:flex}.hand{display:flex;justify-content:center;align-items:flex-end;padding:24px 8px 28px;min-height:calc(min(26vw,118px,19.5dvh)*1.6 + 50px);perspective:800px}.hand .card{--cw: min(26vw, 118px, 19.5dvh);margin:0 -7px;transform:translateY(var(--lift)) rotate(var(--rot));transform-origin:50% 115%;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,filter .2s;touch-action:none}.hand .card:not(.playable){filter:brightness(.8) contrast(.95)}.hand .card.playable{cursor:grab}.hand .card.playable:hover{transform:translateY(calc(var(--lift) - 16px)) rotate(calc(var(--rot) * .7)) scale(1.04);box-shadow:0 16px 30px #00000073,0 0 0 1.5px #f3c34f99;z-index:5}.hand .card.playable:active{transform:translateY(calc(var(--lift) - 12px)) rotate(var(--rot)) scale(1.02);cursor:grabbing}.hand .card.selected{transform:translateY(-34px) rotate(0) scale(1.08);box-shadow:0 0 0 3px var(--gold),0 18px 36px #0000008c,0 0 28px #f3c34fa6;z-index:10}.hand .card.dragging{opacity:.2}.hand .card:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px}.drag-ghost{position:fixed;z-index:100;pointer-events:none;box-shadow:0 22px 40px #0009,0 0 0 2px var(--gold)}.bubble{position:absolute;right:64px;background:var(--sheet);color:var(--sheet-ink);font-weight:700;padding:8px 16px;border-radius:18px;opacity:0;pointer-events:none;white-space:nowrap;z-index:15;box-shadow:0 8px 20px #0006}.bubble.opp{top:calc(100% + 8px)}.bubble.me{bottom:calc(100% + 8px)}.bubble.show{animation:bubble 2.6s ease forwards}@keyframes bubble{0%{opacity:0;transform:scale(.65)}10%,80%{opacity:1;transform:scale(1)}to{opacity:0}}.conn{position:absolute;top:calc(74px + var(--safe-top));left:50%;transform:translate(-50%);background:#0e261af2;backdrop-filter:blur(14px);border:1px solid var(--glass-border);color:var(--gold-soft);padding:8px 20px;border-radius:999px;font-size:.9rem;font-weight:600;z-index:30;white-space:nowrap;box-shadow:0 6px 20px #0006}.conn.hidden{display:none}.overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000a6;backdrop-filter:blur(8px);animation:fade-in .25s ease-out}body>.overlay{position:fixed}@keyframes fade-in{0%{opacity:0}}.overlay.hidden{display:none}.overlay.inspector,.overlay.emotes{align-items:flex-end;padding:0}.sheet{width:100%;max-width:450px;max-height:100%;overflow-y:auto;background:var(--sheet);color:var(--sheet-ink);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px #0009;animation:rise .35s cubic-bezier(.18,.9,.3,1.15);user-select:text}.sheet.tall{max-height:90dvh}.sheet h2{text-align:center;color:#5c3208;font-size:1.6rem}.sheet .btn{color:var(--sheet-ink);border-color:#0003}.sheet .btn.primary{color:#2b1703}.sheet .muted{color:#726252;text-align:center}.drawer{border-radius:24px 24px 0 0;padding-bottom:calc(24px + var(--safe-bottom));position:relative}.drawer:before{content:"";width:40px;height:4px;background:#0003;border-radius:999px;margin:-10px auto 10px}@keyframes rise{0%{transform:translateY(50px);opacity:0}}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.1);font-weight:500}.mini-row{display:flex;gap:8px;justify-content:center}.emote-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.score-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin:6px 0}.score-table th,.score-table td{padding:10px 6px;text-align:center;border-bottom:1px solid rgba(0,0,0,.08)}.score-table tbody th{text-align:left;font-weight:700}.score-table thead th{font-size:.9rem;font-family:Cinzel,Georgia,serif;color:#5c3208;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-table tbody tr{animation:row-in .35s both;animation-delay:calc(var(--i) * .2s + .18s)}@keyframes row-in{0%{opacity:0;transform:translate(-18px)}}.score-table .pt{width:36px;color:#b0a593;font-weight:600}.score-table .pt.win{color:#1b8a3e;font-weight:800}.score-table tr.sum td,.score-table tr.sum th{border-bottom:0;font-size:1.2rem;font-family:Cinzel,Georgia,serif;font-weight:800}.scoreboard .trophy{font-size:3.8rem;text-align:center;animation:scopa-pop .6s cubic-bezier(.2,1.6,.4,1);filter:drop-shadow(0 6px 14px rgba(243,195,79,.5))}.scoreboard .final{text-align:center;font-size:2.2rem;font-family:Cinzel,Georgia,serif;font-weight:900;margin:0;color:#5c3208}.toast{position:fixed;left:50%;bottom:calc(34px + var(--safe-bottom));transform:translate(-50%,30px);opacity:0;background:var(--sheet);color:var(--sheet-ink);padding:12px 22px;border-radius:999px;font-weight:700;z-index:100;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s;max-width:calc(100vw - 36px);text-align:center;box-shadow:0 10px 30px #00000080}.toast.show{transform:translate(-50%);opacity:1}.rotate-msg{display:none}@media(orientation:landscape)and (max-height:500px){.rotate-msg{display:grid;place-items:center;position:fixed;inset:0;background:var(--felt-deep);z-index:1000;font-size:3.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.seo-fallback{padding:24px 16px;color:var(--muted)}.seo-fallback h1,.seo-fallback a,.home .seo-links a{color:var(--gold)}.home .seo-links{font-size:.85rem;color:var(--muted)}
