:root{--felt:#0f5132;--felt-dark:#0a3a24;--gold:#f2c14e;--text:#f4f1e8;--muted:#b9c8bd;--danger:#e5484d;--ok:#46a758;--gap:6px;--mark:6px;--chrome:200px;--side:400px;--hand-ratio:1.7;--card-w:clamp(30px, min(calc((100vw - var(--side) - var(--mark) - var(--cols) * var(--gap)) / var(--cols)),  var(--fit,calc((100dvh - var(--chrome) - var(--rows) * var(--gap)) / (var(--rows) * 1.4 + var(--hand-ratio) * 1.4)))), 110px);--hand-w:min(calc(var(--card-w) * var(--hand-ratio)), calc((100vw - 40px) / (1 + (var(--hand-size) - 1) * .6)), 150px);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{background:radial-gradient(ellipse at center, #17784a 0%, var(--felt) 45%, var(--felt-dark) 100%);margin:0}button{font:inherit;cursor:pointer;background:var(--gold);color:#2b2100;border:none;border-radius:8px;padding:.6em 1.2em;font-weight:600;transition:transform .1s,filter .1s}button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:default}button.small{border-radius:6px;padding:.2em .6em;font-size:.75rem}button.secondary{color:var(--text);background:#ffffff26}input{font:inherit;color:var(--text);background:#00000040;border:2px solid #fff3;border-radius:8px;width:100%;padding:.6em .8em}input:focus{border-color:var(--gold);outline:none}.home{text-align:center;background:#00000040;border-radius:16px;flex-direction:column;gap:1rem;max-width:420px;margin:10vh auto 0;padding:2rem;display:flex}.home h1{letter-spacing:.05em;color:var(--gold);margin:0;font-size:2.6rem}.home .fan{--card-w:78px;--spread:1;justify-content:center;margin:.8rem 0 1.2rem;display:flex}.home .fan:hover{--spread:1.7}.home .fan .card{--delay:calc(var(--i) * .13s);transform-origin:50% 110%;rotate:calc(var(--r) * var(--spread));translate:0 var(--y);animation:deal .7s cubic-bezier(.2, .9, .3, 1.25) var(--delay) backwards, float 3.2s ease-in-out calc(var(--delay) + .7s) infinite;margin:0 -16px;transition:rotate .35s cubic-bezier(.2,.8,.2,1),scale .25s,box-shadow .25s}.home .fan .card:first-child{--i:0;--r:-16deg;--y:8px}.home .fan .card:nth-child(2){--i:1;--r:-6deg;--y:0px}.home .fan .card:nth-child(3){--i:2;--r:6deg;--y:0px}.home .fan .card:nth-child(4){--i:3;--r:16deg;--y:8px}.home .fan .card:hover{z-index:2;scale:1.12;box-shadow:0 10px 22px #00000073}.home .fan .card:after{content:"";animation:shine 4.5s ease-in-out calc(var(--delay) + 1.2s) infinite;pointer-events:none;background:linear-gradient(115deg,#0000 35%,#fff9 50%,#0000 65%);position:absolute;inset:0;translate:-160%}@keyframes deal{0%{opacity:0;translate:0 -140px;rotate:0deg;scale:.6}}@keyframes float{0%,to{translate:0 var(--y)}50%{translate:0 calc(var(--y) - 7px)}}@keyframes shine{0%,75%{translate:-160%}to{translate:160%}}@media (prefers-reduced-motion:reduce){.home .fan .card,.home .fan .card:after{animation:none}}@media (width<=640px){:root{--side:16px;--gap:3px;--mark:4px;--chrome:162px;--hand-ratio:1.2}}.home .buttons{flex-direction:column;gap:.6rem;display:flex}.home p{color:var(--muted);margin:0}.share{gap:.5rem;display:flex}.share input{flex:1;font-size:.85rem}.table{touch-action:none;max-width:900px;height:100dvh;margin:0 auto;padding:.5rem;overflow:hidden}.main{flex-direction:column;justify-content:space-between;gap:.4rem;min-width:0;height:100%;display:flex}.player-bar{background:#0003;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .8rem;display:flex}.player-bar .name{font-weight:700}.player-bar .score{color:var(--gold);font-size:1.3rem;font-weight:800}.player-bar.active{box-shadow:0 0 0 2px var(--gold)}.dot{background:var(--ok);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.off{background:var(--danger)}.tag{background:#ffffff26;border-radius:99px;padding:.15em .6em;font-size:.8rem}.board{flex-direction:column;align-items:center;gap:4px;display:flex}.row{align-items:center;gap:4px;display:flex;position:relative}.row-label{white-space:nowrap;color:var(--muted);font-size:.8rem;position:absolute;left:calc(100% + 10px)}@media (width<=640px){.main .row-label{text-overflow:ellipsis;max-width:calc(100% - 6px);color:var(--text);pointer-events:none;z-index:1;background:#000000b8;border-radius:99px;padding:.1em .5em;font-size:.62rem;bottom:3px;left:50%;overflow:hidden;transform:translate(-50%)}.main .row-label:empty{display:none}}.row-label.bad{color:var(--danger);font-weight:700}.row-label.win{color:var(--gold);font-weight:700}.slot{width:var(--card-w);height:calc(var(--card-w) * 1.4);border-radius:calc(var(--card-w) * .08);border:2px dashed #fff3;flex-shrink:0}.slot.target{border-color:var(--gold);cursor:pointer;background:#f2c14e1f}.slot.target:hover,.slot.dragover{background:#f2c14e4d}.card{width:var(--card-w);height:calc(var(--card-w) * 1.4);border-radius:calc(var(--card-w) * .08);-webkit-user-select:none;user-select:none;background:#fff;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000059}.card img{pointer-events:none;width:100%;height:100%;display:block}.card.drop-in{z-index:5;animation:.45s cubic-bezier(.22,1,.36,1) both drop-in}@keyframes drop-in{0%{opacity:0;translate:0 -45vh;rotate:-10deg;scale:1.15}60%{opacity:1}to{opacity:1;translate:0;rotate:0deg;scale:1}}@media (prefers-reduced-motion:reduce){.card.drop-in{animation:none}}.card.new{box-shadow:0 0 0 3px #7fd3f7,0 2px 4px #00000059}.toolbar{justify-content:space-between;align-items:center;gap:.4rem;min-height:1.4rem;margin-bottom:-.2rem;display:flex}.toolbar .sort{align-items:center;gap:.3rem;display:flex}.toolbar .sort button{white-space:nowrap}@media (width<=420px){.toolbar .long{display:none}}.toolbar .draws{color:var(--muted);white-space:nowrap;margin-left:.5rem;font-size:.75rem}.toolbar-right{align-items:center;gap:.4rem;display:flex}.fs-btn{flex-shrink:0;padding:.2rem .4rem;line-height:0}.fs-btn .icon{width:1rem;height:1rem}.coach-actions{align-items:center}.toolbar .draws b{color:var(--gold);font-size:.85rem}.waiting{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.6rem;font-weight:600;display:flex}.waiting .share{width:min(100%,460px)}.hand{--card-w:var(--hand-w);min-height:calc(calc(var(--card-w) * 1.4) + .8rem);background:#0000002e;border-radius:12px;justify-content:center;padding:.4rem;display:flex;position:relative}.hand .card{cursor:grab;touch-action:none;transition:transform .12s}.hand .card+.card{margin-left:calc(var(--card-w) * -.4)}.hand .card:hover{transform:translateY(-6px)}.hand .card.selected{box-shadow:0 0 0 3px var(--gold), 0 8px 14px #00000073;z-index:2;transform:translateY(-14px)}.card.dragging{opacity:.3}.card.ghost{z-index:30;pointer-events:none;cursor:grabbing;position:fixed;top:0;left:0;box-shadow:0 10px 24px #00000080}.overlay{z-index:10;touch-action:pan-y;background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.result{background:var(--felt-dark);border:2px solid var(--gold);--card-w:clamp(30px, 5.2vw, 52px);border-radius:16px;width:100%;max-width:900px;padding:1.2rem}.result h2{text-align:center;color:var(--gold);margin:0 0 .3rem}.result .summary{text-align:center;margin-bottom:1rem}.result-cols{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.result-cols{grid-template-columns:1fr}}.result-col{flex-direction:column;align-items:center;gap:.5rem;display:flex}.result-col h4{margin:0}.result-col .row-label{margin-left:6px;position:static}.result .board .row{justify-content:flex-start}.bonus{color:var(--muted);text-align:center;font-size:.85rem}.bonus b{color:var(--gold)}.points{color:var(--gold);font-size:1.4rem;font-weight:800}.foul{color:var(--danger);font-weight:700}.result .actions{justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;display:flex}#toast{background:var(--danger);color:#fff;opacity:0;pointer-events:none;z-index:20;border-radius:8px;padding:.6rem 1rem;transition:opacity .2s;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}#toast.show{opacity:1}.p0{--owner:var(--p0)}.p1{--owner:var(--p1)}.swatch{background:var(--owner);vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.card .dup-star{width:calc(var(--card-w) * .24);height:calc(var(--card-w) * .24);fill:var(--star);stroke:#111;stroke-width:1.6px;filter:drop-shadow(0 1px 1px #00000059);pointer-events:none;position:absolute;bottom:2px;left:2px}.row-mark{width:var(--mark);border-radius:3px;flex-shrink:0;align-self:stretch}.col-mark{border-radius:3px;height:6px;display:block}.row-mark.owned,.col-mark.owned{background:var(--owner);box-shadow:0 0 8px var(--owner)}.row-mark.taken,.col-mark.taken{animation:.7s ease-out taken}@keyframes taken{0%{box-shadow:0 0 0 0 var(--owner)}40%{box-shadow:0 0 0 6px color-mix(in srgb, var(--owner) 60%, transparent)}to{box-shadow:0 0 8px var(--owner)}}@media (prefers-reduced-motion:reduce){.row-mark.taken,.col-mark.taken{animation:none}}.col-row{align-items:flex-start}.col-cell{width:var(--card-w);flex-direction:column;flex-shrink:0;gap:3px;display:flex}.col-label{flex-direction:column;align-items:center;gap:2px;min-height:2.3em;font-size:.62rem;line-height:1.2;display:flex}.col-label .combo{color:var(--muted);white-space:nowrap}.col-label .combo.good{color:var(--gold);font-weight:700}.col-label .pts{min-width:0;padding:0 .4em;font-size:.6rem}.board{justify-content:center;gap:var(--gap);flex:1}.board .row{gap:var(--gap)}.row-label{align-items:center;gap:6px;display:flex}.row-label .combo{color:var(--muted)}.row-label .combo.good{color:var(--gold);font-weight:700}.pts{text-align:center;background:var(--owner);color:#1a1a1a;border-radius:99px;min-width:2.2em;padding:.05em .45em;font-weight:700}.live{background:var(--owner);color:#1a1a1a;border-radius:99px;padding:.1em .55em;font-size:.85rem;font-weight:700}.result{max-width:560px}.score-table{border-collapse:collapse;width:100%;margin:.8rem 0}.score-table th,.score-table td{text-align:left;border-bottom:1px solid #ffffff1f;padding:.4rem .5rem}.score-table th{color:var(--muted);font-weight:600}.score-table td:first-child{white-space:nowrap}.score-table td.p0,.score-table td.p1,.score-table th.p0,.score-table th.p1{text-align:right}.score-table td.p0,.score-table td.p1{color:var(--owner);font-weight:700}.score-table tr.total td{border-bottom:none;font-size:1.05rem;font-weight:800}.overlay.peek{opacity:0;pointer-events:none}.replay{background:var(--owner);color:#1a1a1a;white-space:nowrap;border-radius:99px;padding:.1em .6em;font-size:.75rem;font-weight:800;animation:.35s ease-out replay-pop}@keyframes replay-pop{0%{opacity:0;transform:scale(.6)}}.combo-bar{justify-content:center;align-items:center;min-height:2.9rem;display:flex}.combo-bar .replay{padding:.25em .9em;font-size:.9rem}button.end-turn{white-space:nowrap;border-radius:12px;padding:.5em 1.6em;font-size:1.15rem;animation:.35s ease-out replay-pop;box-shadow:0 4px #0000004d,0 0 18px #f2c14e8c}button.end-turn:active{transform:translateY(2px);box-shadow:0 2px #0000004d}@media (width<=640px){.main{gap:.25rem}.table{padding:.4rem .5rem}.player-bar{padding:.2rem .6rem}.combo-bar{min-height:2.3rem}.col-label{flex-flow:wrap;justify-content:center;column-gap:3px;min-height:1.3em}}:root.tuto{--chrome:350px}@media (width<=640px){:root.tuto{--chrome:332px}}:root.tuto .toolbar{display:none}.coach{border:2px solid var(--gold);background:#0a3a24f5;border-radius:12px;flex-direction:column;gap:.35rem;padding:.55rem .8rem;animation:.3s ease-out coach-in;display:flex;box-shadow:0 6px 18px #0006}@keyframes coach-in{0%{opacity:0;transform:translateY(-6px)}}.coach-foot{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.coach-title{color:var(--gold);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.coach-title .link{font-size:inherit;text-transform:none;letter-spacing:0;padding:0}button.link{color:var(--gold);background:0 0;font-weight:500;text-decoration:underline}.coach-text{min-height:2.8em;font-size:.92rem;line-height:1.4}.coach-text b{color:var(--gold)}.coach-actions{justify-content:flex-end;gap:.5rem;display:flex}.coach-actions button{padding:.4em 1.1em}@media (width<=640px){.coach{gap:.25rem;padding:.4rem .6rem}.coach-text{min-height:3.9em;font-size:.8rem;line-height:1.3}.coach-actions button{padding:.3em .9em;font-size:.9rem}}.tuto-pick,.tuto-target,.tuto-glow{outline:3px solid var(--gold);outline-offset:3px;animation:1.1s ease-in-out infinite tuto-pulse}.hand .card.tuto-pick{z-index:3;transform:translateY(-10px);box-shadow:0 0 16px #f2c14ee6}.hand .card.tuto-pick.selected{transform:translateY(-16px)}.slot.tuto-target{outline-offset:1px;background:#f2c14e40}.tuto-glow{outline-offset:5px;border-radius:10px}@keyframes tuto-pulse{50%{outline-color:#f2c14e33}}@media (prefers-reduced-motion:reduce){.tuto-pick,.tuto-target,.tuto-glow{animation:none}}
