:root{--ink: #14122a;--felt: #1d1a3a;--felt-2: #29254f;--line: #3d3870;--paper: #f5f2ff;--muted: #a8a3cf;--gold: #ffd36b;--red: #e8474f;--red-d: #a8232f;--yellow: #f6c33b;--yellow-d: #9a6200;--green: #2aa56e;--green-d: #157049;--blue: #3b78e3;--blue-d: #1f4aa3;--card-ink: #1a1730;--display: "Unbounded", "Arial Black", system-ui, sans-serif;--body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--cw: clamp(56px, 15.5vw, 80px);color-scheme:dark}@property --spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 30%,var(--felt-2) 0%,var(--felt) 45%,var(--ink) 100%) fixed,var(--ink);color:var(--paper);font-family:var(--body);font-size:15px;line-height:1.45;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(16px,env(safe-area-inset-left,0px))}#root{min-height:100%}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}#app{max-width:980px;margin:0 auto;padding-block:18px 28px;min-height:100vh;display:flex;flex-direction:column}#app.with-chat{max-width:1280px}p{margin:0}.layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.game{display:flex;flex-direction:column;min-width:0}@media(min-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 320px}}.btn{border:1.5px solid var(--line);background:var(--felt-2);padding:11px 18px;border-radius:12px;font-weight:700;transition:transform .12s,background .12s}.btn:hover:not(:disabled){background:var(--line)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45}.btn.primary{background:var(--gold);color:var(--card-ink);border-color:var(--gold)}.btn.primary:hover:not(:disabled){background:#ffe08f}.btn.ghost{background:transparent}.btn.small{padding:7px 12px;font-size:13px;border-radius:10px}.btn.call{background:var(--red);border-color:var(--red);color:#fff;font-family:var(--display);font-weight:700}.btn.call[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--card-ink)}input[type=text]{background:var(--ink);border:1.5px solid var(--line);color:var(--paper);border-radius:12px;padding:11px 14px;font:inherit;width:100%;min-width:0}input[type=text]::placeholder{color:var(--muted)}label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.field{display:flex;flex-direction:column;gap:6px}.brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0 22px}.fan{position:relative;width:104px;height:90px;flex:none}.fan .card{position:absolute;left:30px;top:4px;--cw: 46px;transform-origin:50% 125%}.brand h1{font-family:var(--display);font-weight:900;font-size:clamp(30px,7vw,46px);line-height:1;margin:0;letter-spacing:-.02em;text-wrap:balance}.brand p{margin-top:8px;color:var(--muted);max-width:46ch}.brand .credit{margin-top:4px;font-size:12px;opacity:.8}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}@media(max-width:720px){.grid{grid-template-columns:1fr}}.panel{background:#14122ab8;border:1.5px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}.panel h2{font-family:var(--display);font-size:16px;font-weight:700;margin:0}.row{display:flex;gap:10px;flex-wrap:wrap}.row>input{flex:1 1 140px}.center-row{justify-content:center;align-items:center}#code{text-transform:uppercase;font-family:var(--display);letter-spacing:.2em;max-width:170px}.note{font-size:13px;color:var(--muted)}.center-text{text-align:center;margin-top:8px}.rules{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px}.rules b{color:var(--paper)}.card{--c: var(--blue);--d: var(--blue-d);--t: #fff;width:var(--cw);height:calc(var(--cw) * 1.45);border-radius:calc(var(--cw) * .14);background:linear-gradient(160deg,var(--c) 0%,var(--c) 35%,var(--d) 100%);box-shadow:inset 0 0 0 calc(var(--cw) * .045) #fff,inset 0 0 0 calc(var(--cw) * .06) #00000026,0 calc(var(--cw) * .06) calc(var(--cw) * .16) #0006;position:relative;color:var(--t);flex:none;-webkit-user-select:none;user-select:none;overflow:hidden;isolation:isolate}.c-r{--c: var(--red);--d: var(--red-d) }.c-y{--c: var(--yellow);--d: var(--yellow-d);--t: var(--card-ink) }.c-g{--c: var(--green);--d: var(--green-d) }.c-b{--c: var(--blue);--d: var(--blue-d) }.card .pattern{position:absolute;inset:calc(var(--cw) * .06);border-radius:calc(var(--cw) * .1);z-index:-1;opacity:.2}.c-r .pattern{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M0 7.5 3.5 1.5 7 7.5 10.5 1.5 14 7.5' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 0 0 / 14px 9px}.c-y .pattern{background:repeating-conic-gradient(from 0deg at 50% 50%,#fff 0 4deg,transparent 4deg 14deg);opacity:.22}.c-g .pattern{background:radial-gradient(circle,#fff 1.3px,transparent 1.8px) 0 0 / 8px 8px,radial-gradient(circle,#fff 1.3px,transparent 1.8px) 4px 4px / 8px 8px;opacity:.22}.c-b .pattern{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10'%3E%3Cpath d='M0 5Q5 0 10 5T20 5' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 0 0 / 20px 10px}.card .window{position:absolute;top:15%;right:15%;bottom:13%;left:15%;border-radius:999px 999px calc(var(--cw) * .12) calc(var(--cw) * .12);background:radial-gradient(120% 80% at 50% 0%,#ffffff38,#0000001f);box-shadow:inset 0 0 0 calc(var(--cw) * .02) #ffffff8c,inset 0 calc(var(--cw) * .05) calc(var(--cw) * .12) #0000002e;display:grid;place-items:center}.card .face{font-family:var(--display);font-weight:900;font-size:calc(var(--cw) * .52);line-height:1;color:#fff;-webkit-text-stroke:calc(var(--cw) * .035) var(--d);paint-order:stroke fill;text-shadow:0 calc(var(--cw) * .04) 0 var(--d)}.c-y .face{color:#fff}.card .u{text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.1em}.card .ico{width:calc(var(--cw) * .5);height:calc(var(--cw) * .5);color:#fff;filter:drop-shadow(0 calc(var(--cw) * .03) 0 var(--d));overflow:visible}.card .badge{position:absolute;bottom:8%;left:50%;transform:translate(-50%);font-family:var(--display);font-weight:900;font-size:calc(var(--cw) * .15);line-height:1;padding:calc(var(--cw) * .025) calc(var(--cw) * .06);border-radius:999px;background:#fff;color:var(--d)}.card .corner{position:absolute;font-family:var(--display);font-weight:900;font-size:calc(var(--cw) * .15);line-height:1;color:#fff;z-index:1}.c-y .corner{color:var(--card-ink)}.card .corner .ico{width:calc(var(--cw) * .17);height:calc(var(--cw) * .17);filter:none;color:currentColor}.card .tl{left:calc(var(--cw) * .11);top:calc(var(--cw) * .1)}.card .br{right:calc(var(--cw) * .11);bottom:calc(var(--cw) * .1);transform:rotate(180deg)}.card.wild{--d: #0e0c22;--t: #fff;background:radial-gradient(circle at 20% 30%,rgba(232,71,79,.5) 0 1px,transparent 1.5px) 0 0 / 11px 13px,radial-gradient(circle at 70% 60%,rgba(246,195,59,.5) 0 1px,transparent 1.5px) 0 0 / 13px 11px,radial-gradient(circle at 40% 80%,rgba(59,120,227,.6) 0 1px,transparent 1.5px) 0 0 / 9px 12px,radial-gradient(120% 90% at 50% 20%,#332d6e,#15122c)}.card.wild .window{border:calc(var(--cw) * .045) solid transparent;background:linear-gradient(#1a1636,#1a1636) padding-box,conic-gradient(from var(--spin),var(--red),var(--yellow),var(--green),var(--blue),var(--red)) border-box;box-shadow:0 0 calc(var(--cw) * .15) #ffffff1f;animation:spin 6s linear infinite}.card.wild .ico{width:calc(var(--cw) * .48);height:calc(var(--cw) * .48);filter:none}.card.wild .badge{background:var(--gold);color:var(--card-ink)}.card.wild .corner .ico{width:calc(var(--cw) * .18);height:calc(var(--cw) * .18)}@keyframes spin{to{--spin: 360deg }}.card.art{background:var(--c)}.card.art.wild{--c: #1d2557;--d: #1d2557;background:var(--c)}.card .art-win{position:absolute;top:13%;right:4%;bottom:22%;left:4%;display:grid;place-items:center}.card .art-win img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 calc(var(--cw) * .025) calc(var(--cw) * .03) rgba(0,0,0,.3))}.card .pill{position:absolute;left:50%;bottom:6.5%;transform:translate(-50%);z-index:1;min-width:calc(var(--cw) * .36);height:calc(var(--cw) * .24);padding:0 calc(var(--cw) * .05);border-radius:999px;background:#fff;color:var(--d);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:calc(var(--cw) * .15);line-height:1;box-shadow:0 calc(var(--cw) * .02) calc(var(--cw) * .06) #00000040}.card .pill .ico{width:calc(var(--cw) * .17);height:calc(var(--cw) * .17);color:var(--d);filter:none}.card.art .corner{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.card.art.c-y .corner{color:var(--card-ink);text-shadow:none}.card.art .tl{top:calc(var(--cw) * .07)}.card.art .br{bottom:calc(var(--cw) * .07)}.card .shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 48%,transparent 58%);background-size:260% 100%;background-position:var(--sx, 130%) 0;opacity:0;transition:opacity .2s}.hcard:hover .card .shine,.land .card .shine{opacity:1}.land .card .shine{animation:sweep .7s ease-out}@keyframes sweep{0%{background-position:130% 0}to{background-position:-30% 0;opacity:0}}.back{width:var(--cw);height:calc(var(--cw) * 1.45);border-radius:calc(var(--cw) * .14);flex:none;position:relative;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 7px),repeating-linear-gradient(-45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 7px),radial-gradient(110% 80% at 50% 25%,#3a3380,#1c1846);box-shadow:inset 0 0 0 calc(var(--cw) * .045) #fff,inset 0 0 0 calc(var(--cw) * .09) #2b2660,inset 0 0 0 calc(var(--cw) * .1) #ffffff59,0 calc(var(--cw) * .06) calc(var(--cw) * .16) #0006;display:grid;place-items:center;transition:transform .15s}.back-ring{width:calc(var(--cw) * .56);height:calc(var(--cw) * .56);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#1a1636 58%,transparent 60%),conic-gradient(var(--red),var(--yellow),var(--green),var(--blue),var(--red))}.back .pips{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--cw) * .03);transform:rotate(45deg)}.back .pips i{width:calc(var(--cw) * .1);height:calc(var(--cw) * .1);border-radius:2px;display:block}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tcode{font-family:var(--display);font-weight:700;letter-spacing:.14em;font-size:14px}.tcode small{font-family:var(--body);letter-spacing:0;color:var(--muted);font-weight:600;margin-left:8px}.seats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:28px}.seat{position:relative;background:#14122ab3;border:1.5px solid var(--line);border-radius:14px;padding:9px 12px;display:flex;flex-direction:column;gap:6px;min-width:120px;max-width:200px;transition:border-color .2s,box-shadow .2s}.seat.active{border-color:var(--gold);box-shadow:0 0 0 3px #ffd36b2e,0 0 24px #ffd36b26}.seat.away{opacity:.6}.seat .who{display:flex;align-items:center;gap:7px;font-weight:700;min-width:0}.seat .who small{color:var(--muted);font-weight:600}.seat .who .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:10px;height:10px;border-radius:50%;flex:none}.seat .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.minis{display:flex}.minis i{width:9px;height:13px;border-radius:2px;background:radial-gradient(110% 80% at 50% 25%,#3a3380,#1c1846);box-shadow:inset 0 0 0 1px #fffc;margin-right:-3px}.flag,.tag{font-family:var(--display);font-size:10px;font-weight:700;border-radius:6px;padding:2px 6px;align-self:flex-start}.flag{color:var(--card-ink);background:var(--gold)}.tag{color:var(--muted);border:1px solid var(--line)}.say{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--paper);color:var(--card-ink);font-weight:700;font-size:13px;line-height:1.3;padding:6px 10px;border-radius:12px;width:max-content;max-width:220px;overflow-wrap:anywhere;text-align:center;box-shadow:0 6px 18px #00000059;z-index:5;animation:say-in .25s ease-out,say-out .4s ease-in 3.6s forwards}.say:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--paper)}.say-row{position:relative;height:0}.mine-say{bottom:4px;background:var(--gold)}.mine-say:after{border-top-color:var(--gold)}@keyframes say-in{0%{opacity:0;transform:translate(-50%,6px) scale(.9)}}@keyframes say-out{to{opacity:0;transform:translate(-50%,-4px)}}.center{display:flex;align-items:center;justify-content:center;gap:clamp(22px,7vw,64px);margin:26px 0 12px;--cw: clamp(74px, 20vw, 104px) }.pile{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.pile .stack{position:relative}.pile .stack:before,.pile .stack:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:calc(var(--cw) * .14);background:#1c1846;box-shadow:inset 0 0 0 2px #ffffff73}.pile .stack:before{transform:translate(-6px,6px)}.pile .stack:after{transform:translate(-3px,3px)}.pile .stack .back{z-index:1}.pile.can .stack .back{box-shadow:inset 0 0 0 calc(var(--cw) * .045) var(--gold),inset 0 0 0 calc(var(--cw) * .09) #2b2660,0 0 0 4px #ffd36b40,0 6px 14px #00000059;animation:nudge 1.6s ease-in-out infinite}.pile.can:hover .stack .back{transform:translateY(-4px) rotate(-2deg)}@keyframes nudge{50%{transform:translateY(-3px)}}.discard{display:flex;flex-direction:column;align-items:center;gap:10px}.discard .halo{border-radius:calc(var(--cw) * .24);padding:10px;background:color-mix(in srgb,var(--hc) 26%,transparent);box-shadow:0 0 40px color-mix(in srgb,var(--hc) 55%,transparent);transition:background .4s,box-shadow .4s}.heap{position:relative;width:var(--cw);height:calc(var(--cw) * 1.45)}.heap-card{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot))}.heap-card.land{animation:land .4s cubic-bezier(.2,1.3,.4,1)}@keyframes land{0%{transform:translateY(-60px) rotate(calc(var(--rot) - 25deg)) scale(1.15);opacity:.3}}.discard .lbl{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.discard .lbl b{color:var(--hc)}.dir{font-family:var(--display);font-size:26px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px}.dir small{font-family:var(--body);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.pop{animation:pop .32s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.7) rotate(-12deg);opacity:.4}to{transform:none;opacity:1}}.status{text-align:center;font-family:var(--display);font-weight:700;font-size:clamp(15px,3.6vw,19px);margin:6px 0 4px;text-wrap:balance}.status.mine{color:var(--gold)}.hint{text-align:center;color:var(--muted);font-size:13px;min-height:1.45em}.log{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:13px;color:var(--muted);min-height:66px;margin:8px 0;text-align:center}.log div:first-child{color:var(--paper)}.chip{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 4px;border-radius:5px;font-family:var(--display);font-size:10px;font-weight:700;color:#fff;background:var(--c);vertical-align:-3px;box-shadow:inset 0 0 0 1.5px #fffc}.chip.c-y{color:var(--card-ink)}.chip.c-w{background:conic-gradient(var(--red) 0 25%,var(--yellow) 0 50%,var(--green) 0 75%,var(--blue) 0)}.actions{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;min-height:44px;margin:4px 0 6px}.handwrap{margin-top:auto;padding-top:10px}.hand{display:flex;justify-content:safe center;overflow-x:auto;padding:24px 10px 14px;scrollbar-width:thin;perspective:900px}.hcard{background:none;border:0;padding:0;flex:none;transform-style:preserve-3d;transform:translateY(var(--lift, 0)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .18s ease-out}.hcard+.hcard{margin-left:calc(var(--cw) * -.28)}.hcard.ok{--lift: -12px }.hcard.ok:hover{--lift: -22px;z-index:2}.hcard.no .card{filter:saturate(.45) brightness(.62)}.hcard.dealt{animation:deal .45s cubic-bezier(.2,1.1,.4,1) backwards}@keyframes deal{0%{transform:translateY(-160px) rotate(-25deg) scale(.6);opacity:0}}.mine-label{text-align:center;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.spect{text-align:center;padding:12px;border:1.5px dashed var(--line);border-radius:14px;color:var(--muted);margin-top:auto}.wait{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-top:10px}.bigcode{font-family:var(--display);font-weight:900;font-size:clamp(44px,14vw,84px);letter-spacing:.16em;line-height:1;color:var(--gold)}.share{display:flex;gap:8px;width:min(440px,100%)}.share input{font-size:13px;padding:8px 12px}.plist{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:600px;margin-top:6px}.pl{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--felt-2);border:1px solid var(--line);font-weight:700}.pl.away{opacity:.55}.pl small{color:var(--muted);font-weight:600}.pl .x{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;padding:0 2px}.pl .x:hover{color:var(--paper)}.chat{display:flex;flex-direction:column;background:#14122ad1;border:1.5px solid var(--line);border-radius:18px;min-height:0;overflow:hidden}.chat.side{position:sticky;top:18px;height:calc(100vh - 36px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.chat-head h2{font-family:var(--display);font-size:14px;font-weight:700;margin:0;letter-spacing:.02em}.chat-list{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}.chat-empty{color:var(--muted);font-size:13px;text-align:center;margin:auto 0}.msg{display:flex;flex-direction:column;align-items:flex-start;max-width:88%}.msg:not(.grouped){margin-top:8px}.msg.mine{align-self:flex-end;align-items:flex-end}.msg-meta{display:flex;gap:8px;align-items:baseline;font-size:12px;margin:0 4px 3px}.msg-meta span{color:var(--muted);font-variant-numeric:tabular-nums}.bubble-text{background:var(--felt-2);border:1px solid var(--line);padding:7px 11px;border-radius:14px 14px 14px 4px;overflow-wrap:anywhere;font-size:14px}.msg.mine .bubble-text{background:#ffd36b29;border-color:#ffd36b59;border-radius:14px 14px 4px}.bubble-text.emoji{background:none;border:0;font-size:28px;padding:0 4px;line-height:1.2}.quick{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto;scrollbar-width:none}.qbtn{flex:none;border:1px solid var(--line);background:var(--felt);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.qbtn:hover{background:var(--felt-2)}.chat-form{display:flex;gap:8px;padding:10px 12px 12px}.chat-form input{padding:8px 12px;font-size:14px}.chat-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--felt-2);font-weight:800;box-shadow:0 8px 24px #0006}.chat-fab svg{width:18px;height:18px}.unread{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;display:grid;place-items:center}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#0a09188c;display:flex;align-items:flex-end;justify-content:center}.chat.drawer{width:min(560px,100%);height:min(75vh,620px);border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:up .22s ease-out}@keyframes up{0%{transform:translateY(40px);opacity:0}}@media(max-width:999px){.game{padding-bottom:60px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0918b8;display:grid;place-items:center;z-index:20;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.sheet{background:var(--felt);border:1.5px solid var(--line);border-radius:20px;padding:22px;width:min(420px,100%);display:flex;flex-direction:column;gap:14px;text-align:center;max-height:100%;overflow-y:auto}.sheet h2{font-family:var(--display);font-size:20px;margin:0;text-wrap:balance}.win-card{display:flex;justify-content:center;--cw: 72px }.swatches{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sw{border:0;border-radius:14px;height:72px;font-weight:800;font-size:15px;color:#fff;box-shadow:inset 0 0 0 3px #ffffffd9}.sw.c-r{background:var(--red)}.sw.c-y{background:var(--yellow);color:var(--card-ink)}.sw.c-g{background:var(--green)}.sw.c-b{background:var(--blue)}.sw:hover{filter:brightness(1.08)}.scores{display:flex;flex-direction:column;gap:6px;text-align:left}.scores div{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-radius:8px;background:var(--felt-2);font-variant-numeric:tabular-nums}.toast,.offline{position:fixed;left:50%;transform:translate(-50%);z-index:30;max-width:calc(100% - 32px);border-radius:12px;font-weight:700;padding:10px 16px;box-shadow:0 10px 30px #0006}.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--paper);color:var(--card-ink)}.offline{top:calc(12px + env(safe-area-inset-top,0px));background:var(--red);color:#fff}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
