:root{--bg-0:#07141f;--bg-1:#0c2430;--bg-2:#143a3a;--ink:#e8f4f0;--ink-dim:#9bb5ae;--accent:#c8f542;--accent-2:#ff6b4a;--line:#e8f4f01f;--card:#081c24b8;--glow:#c8f5422e;--font-display:"Teko", sans-serif;--font-body:"Karla", sans-serif;--radius:14px;--shadow:0 18px 50px #00000059;color:var(--ink);background:var(--bg-0);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 700px at 80% -10%, #ff6b4a38, transparent 55%), radial-gradient(900px 600px at -10% 30%, #4ecdc429, transparent 50%), linear-gradient(165deg, var(--bg-0), var(--bg-1) 45%, #0a1c22 100%);background-attachment:fixed;min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1100px,100%);margin:0 auto;padding:1.25rem 1.25rem 3rem}.brand{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-weight:700;line-height:.9}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.muted{color:var(--ink-dim)}.btn{appearance:none;background:var(--accent);color:#102018;letter-spacing:.02em;box-shadow:0 0 0 0 var(--glow);border:0;border-radius:999px;padding:.85rem 1.5rem;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}.btn:hover:not(:disabled){box-shadow:0 8px 28px var(--glow);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-ghost:hover:not(:disabled){box-shadow:none;border-color:#c8f54273}.difficulty{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--line);color:var(--ink);background:#ffffff08;border-radius:999px;padding:.55rem 1rem;font-weight:600}.chip.active{border-color:var(--accent);color:var(--accent);background:#c8f5421f}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);padding:1rem 1.1rem}.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.score-card{border:1px solid var(--line);background:#00000038;border-radius:12px;padding:.7rem .8rem}.score-card .name{font-size:.92rem;font-weight:700}.score-card .pts{font-family:var(--font-display);color:var(--accent);font-size:1.8rem;line-height:1}.score-card.active-turn{border-color:#c8f5428c;box-shadow:inset 0 0 0 1px #c8f54240}.lobby{background:linear-gradient(#07141f26,#07141fe0 62%),repeating-linear-gradient(-18deg,#ffffff08 0 2px,#0000 2px 14px),radial-gradient(at 70% 20%,#ff6b4a59,#0000 45%),linear-gradient(135deg,#0b3d3a,#07141f 60%,#1a2a22);border-radius:22px;align-items:end;min-height:calc(100vh - 2.5rem);padding:clamp(1.5rem,4vw,3rem);display:grid;position:relative;overflow:hidden}.lobby-home{align-items:center}.lobby-content{z-index:1;width:min(100%,36rem);position:relative}.lobby-track{pointer-events:none;background:linear-gradient(90deg,#0000,#c8f54226,#0000),repeating-linear-gradient(90deg,#e8f4f014 0 18px,#0000 18px 48px);height:42%;animation:4.5s ease-in-out infinite lane-pulse;position:absolute;inset:18% -10% auto;transform:perspective(600px)rotateX(55deg)}@keyframes lane-pulse{0%,to{opacity:.45;filter:blur()}50%{opacity:.85;filter:blur(.2px)}}.lobby h1{font-family:var(--font-display);max-width:9ch;margin:0;font-size:clamp(4.5rem,16vw,8.5rem)}.lobby-home h1{max-width:12ch;font-size:clamp(3.8rem,14vw,7.2rem)}.lobby .tagline{max-width:34ch;color:var(--ink-dim);margin:.75rem 0 1.5rem;font-size:1.15rem}.menu-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:min(100%,28rem);margin-top:.25rem;display:grid}.menu-tile{appearance:none;cursor:pointer;color:#102018;min-height:8.5rem;font:inherit;border:3px solid #1c1917;border-radius:18px;align-content:center;justify-items:center;gap:.2rem;padding:.85rem .75rem .75rem;transition:transform .16s,box-shadow .16s;animation:.48s cubic-bezier(.2,1.1,.3,1) both menu-tile-in;display:grid;transform:translateY(0);box-shadow:4px 4px #00000059}.menu-tile:first-child{animation-delay:40ms}.menu-tile:nth-child(2){animation-delay:.1s}.menu-tile:nth-child(3){animation-delay:.16s}.menu-tile:nth-child(4){animation-delay:.22s}.menu-tile:active{transform:translateY(3px)scale(.98);box-shadow:1px 1px #00000059}.menu-tile-athlete{background:linear-gradient(160deg,#5eead4,#14b8a6 55%,#0f766e)}.menu-tile-tally{background:linear-gradient(160deg,#fda4af,#ff6b4a 60%,#e11d48)}.menu-tile-flip7{background:linear-gradient(160deg,#fde68a,#fbbf24 55%,#d97706)}.menu-tile-uno{background:linear-gradient(160deg,#fecaca,#f87171 50%,#dc2626)}.menu-tile-art{place-items:center;width:3.4rem;height:3.4rem;display:grid}.menu-tile-art .racer-art-svg,.menu-tile-art .racer-glyph{width:100%;height:100%}.menu-tile-svg{width:3.2rem;height:3.2rem;display:block}.menu-tile-label{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-align:center;font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:700;line-height:1}.menu-tile-hint{letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:.72rem;font-weight:700}@keyframes menu-tile-in{0%{opacity:0;transform:translateY(14px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.lobby-athlete-how{animation:.36s both menu-tile-in}.lobby-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.lobby-modes{flex-direction:column;align-items:stretch;max-width:16rem}.lobby-form,.waiting-room{gap:.85rem;max-width:28rem;display:grid}@media (width<=420px){.menu-tile{min-height:7.4rem;padding:.7rem .55rem}.menu-tile-label{font-size:1.2rem}}.bug-list-link{margin-top:1rem;font-size:.95rem}.bug-list-screen{border:1px solid var(--line);background:radial-gradient(at 20% 0,#c8f54224,#0000 42%),linear-gradient(160deg,#081c24eb,#07141ff5);border-radius:22px;min-height:calc(100vh - 2.5rem);padding:clamp(1.25rem,3vw,2rem)}.bug-list-title{margin:0;font-size:clamp(3.2rem,12vw,5.5rem)}.bug-list-form{gap:.75rem;max-width:28rem;margin-bottom:1.25rem;display:grid}.bug-list-empty{max-width:32ch;margin:.5rem 0 0}.bug-list{gap:.75rem;max-width:36rem;margin:0;padding:0;list-style:none;display:grid}.bug-item{border:1px solid var(--line);background:#00000047;border-radius:14px;gap:.35rem;padding:.85rem .95rem;display:grid;position:relative}.bug-item p{margin:0;font-size:.95rem;line-height:1.35}.bug-item.fixed{opacity:.55}.bug-item-badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-height:1rem;display:flex}.bug-fixed-badge,.bug-auto-badge{letter-spacing:.1em;font-size:.7rem;font-weight:800}.bug-fixed-badge{color:var(--accent)}.bug-auto-badge{color:#fbbf24}.bug-item-actions{flex-wrap:wrap;gap:.55rem;margin-top:.45rem;display:flex}.field{gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.field input{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.04em;background:#00000047;border-radius:12px;padding:.75rem .9rem}.field input:focus{outline-offset:1px;outline:2px solid #c8f54273}.room-code{font-family:var(--font-display);letter-spacing:.18em;color:var(--accent);font-size:clamp(2.8rem,10vw,4.5rem);line-height:1}.room-players{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.room-players .dim{opacity:.55}.lobby-error{color:#fb7185;margin:0;font-weight:600}.draft-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.draft-header h1{font-family:var(--font-display);margin:0;font-size:clamp(2.8rem,8vw,4.2rem)}.pool{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.racer-card{text-align:left;border:1px solid var(--line);color:inherit;background:#00000047;border-radius:14px;padding:.85rem;transition:transform .18s,border-color .18s,box-shadow .18s}.racer-card:hover:not(:disabled){border-color:#c8f54280;transform:translateY(-3px)}.racer-card.pickable{animation:1.4s ease-in-out infinite card-glow}@keyframes card-glow{0%,to{box-shadow:0 0 #c8f54200}50%{box-shadow:0 0 0 3px #c8f54238}}.racer-card .swatch{border-radius:999px;width:100%;height:8px;margin-bottom:.55rem}.racer-art{background:radial-gradient(circle at 20% 15%,#ffffffd9,#0000 40%),linear-gradient(165deg,#fffaf0 0%,#ffe8c8 55%,#ffd9a8 100%);border:3px solid #1c1917;border-radius:10px;place-items:center;margin-bottom:.65rem;display:grid;overflow:hidden}.racer-art-sm{border-width:2px;border-radius:8px;flex-shrink:0;width:2.5rem;height:2.5rem;margin-bottom:0;box-shadow:2px 2px #1c1917!important}.racer-art-md{aspect-ratio:1.2;width:100%}.racer-art-lg{aspect-ratio:1.05;width:100%;min-height:6rem}.racer-art-xl{aspect-ratio:1;width:100%;min-height:7.5rem;margin:.5rem 0 .75rem}.racer-art-svg{width:92%;height:92%;display:block}.racer-glyph{border:2.5px solid #1c1917;border-radius:8px;flex-shrink:0;place-items:center;width:2.15rem;height:2.15rem;display:grid;overflow:hidden}.racer-glyph .racer-art-svg{width:100%;height:100%}.token.huge-baby .racer-glyph{width:3rem;height:3rem}.roster-slot-filled{align-items:flex-start;gap:.55rem;display:flex}.racer-card .title{margin-bottom:.35rem;font-weight:700}.racer-card .ability-label,.reveal-card .ability-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:.35rem 0 .2rem;font-size:.68rem;font-weight:700}.racer-card .ability{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.35}.roster-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.roster-slot{border:1px dashed var(--line);background:#ffffff05;border-radius:12px;min-height:72px;padding:.6rem}.roster-slot filled{border-style:solid}.toast{background:#c8f5421a;border:1px solid #c8f54247;border-radius:12px;margin-top:1rem;padding:.75rem 1rem;animation:.28s toast-in}.toast-float{z-index:50;text-align:center;min-width:12rem;box-shadow:var(--shadow);background:#081c24eb;margin-top:0;font-weight:700;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast-bonk{font-family:var(--font-display);letter-spacing:.06em;color:#1c1917;background:#fda4af;border:3px solid #1c1917;padding:.85rem 1.4rem;font-size:clamp(2.2rem,8vw,3.6rem);line-height:1;animation:.42s cubic-bezier(.2,1.4,.3,1) bonk-pop}@keyframes bonk-pop{0%{opacity:0;transform:translate(-50%)scale(.4)rotate(-8deg)}55%{opacity:1;transform:translate(-50%)scale(1.18)rotate(4deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.race-layout{gap:1rem;display:grid}.track-stage{border:1px solid var(--line);background:linear-gradient(#0c243033,#07141fd9),repeating-linear-gradient(90deg,#ffffff0a 0 2px,#0000 2px 64px),linear-gradient(120deg,#0f3d38,#102638 50%,#1c2a24);border-radius:18px;min-height:340px;position:relative;overflow:hidden}.track-label{z-index:2;font-family:var(--font-display);letter-spacing:.04em;font-size:1.8rem;position:absolute;top:.9rem;left:1rem}.spaces{grid-auto-columns:minmax(88px,1fr);grid-auto-flow:column;gap:.4rem;padding:3.5rem 1rem 1.2rem;display:grid;overflow-x:auto}.space{border:1px solid var(--line);background:#00000040;border-radius:12px;flex-direction:column;min-height:200px;padding:.4rem;display:flex;position:relative}.space.boost{background:#c8f5421a;border-color:#c8f54247}.space.hazard{background:#ff6b4a1f;border-color:#ff6b4a4d}.space.finish{box-shadow:inset 0 0 0 2px #c8f54273}.space-idx{color:var(--ink-dim);font-size:.75rem}.space.occupied-by-baby{background:#7f53586f;border-color:#fda4af8c}.tokens.baby-fill{flex:1;min-height:calc(100% - 1.5rem);margin-top:.35rem}.token.huge-baby{text-align:center;border-width:3px;border-radius:10px;flex-direction:column;flex:1;justify-content:center;gap:.35rem;width:100%;min-height:100%;padding:.55rem .5rem}.token.huge-baby .token-avatar{width:2.75rem;height:2.75rem;font-size:1.35rem}.token.huge-baby .token-player{font-size:.95rem}.token.huge-baby .token-racer{color:var(--ink);letter-spacing:.04em;font-size:.78rem;font-weight:800}.token{text-align:left;color:var(--ink);background:#00000073;border:2px solid #0000;border-radius:12px;align-items:center;gap:.45rem;min-height:2.6rem;padding:.35rem .45rem;font-size:.78rem;font-weight:700;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex}.token.mine{box-shadow:0 0 0 2px var(--accent), 0 0 16px #c8f54259;border-width:2px}.token.finished{opacity:.55}.token.flash{animation:.7s finish-flash}@keyframes finish-flash{0%{transform:scale(1);box-shadow:0 0 #c8f54280}40%{transform:scale(1.08);box-shadow:0 0 0 8px #c8f54200}to{transform:scale(1)}}.token-avatar{width:1.85rem;height:1.85rem;font-family:var(--font-display);color:#102018;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.15rem;font-weight:700;line-height:1;display:grid}.token-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.token-player{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:800;overflow:hidden}.token.mine .token-player{color:var(--accent);text-transform:uppercase}.token-racer{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:600;overflow:hidden}.score-card.mine{box-shadow:inset 0 0 0 2px #c8f54273}.token-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.race-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.die{width:52px;height:52px;font-family:var(--font-display);border:1px solid var(--line);background:#ffffff0f;border-radius:12px;place-items:center;font-size:2rem;display:grid}.log{flex-direction:column;gap:.35rem;max-height:180px;display:flex;overflow:auto}.log-line{color:var(--ink-dim);font-size:.9rem}.log-line.ability{color:var(--accent)}.log-line.finish{color:var(--accent-2);font-weight:700}.target-hint{background:#ff6b4a1a;border:1px solid #ff6b4a66;border-radius:12px;margin-top:.75rem;padding:.85rem 1rem;font-weight:700}.kick-picker{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.token.clickable{cursor:pointer;outline:2px solid var(--accent);border-color:#ff6b4ad9;transform:scale(1.05)}.token.clickable:hover{background:#ff6b4a33}.results-hero,.gameover-hero{text-align:center;padding:2rem 1rem 1rem}.results-hero h1,.gameover-hero h1{font-family:var(--font-display);margin:0 0 .5rem;font-size:clamp(3rem,10vw,5rem)}.standings{max-width:420px;margin:1rem auto 1.5rem;padding:0;list-style:none}.standings li{border-bottom:1px solid var(--line);justify-content:space-between;padding:.7rem .9rem;display:flex}@media (width<=720px){.scoreboard,.roster-row{grid-template-columns:repeat(2,minmax(0,1fr))}.spaces{grid-auto-columns:minmax(76px,1fr)}.space{min-height:170px}.secret-row,.reveal-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.secret-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.5rem;display:grid}.secret-slot{text-align:center}.secret-name{margin-bottom:.5rem;font-weight:700}.facedown-card{border:1px dashed var(--line);background:repeating-linear-gradient(-32deg,#c8f54214 0 8px,#00000040 8px 16px);border-radius:14px;place-items:center;height:120px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.facedown-card.locked{border-style:solid;border-color:#c8f54273;transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.facedown-mark{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);text-transform:uppercase;font-size:1.6rem}.facedown-mark.choosing{color:var(--ink-dim);font-size:2rem}.hand .racer-card{min-height:140px}.reveal-stage h1{font-family:var(--font-display);margin:0;font-size:clamp(2.8rem,8vw,4.2rem)}.reveal-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.reveal-card{border:1px solid var(--line);transform-origin:top;background:#00000052;border-radius:14px;padding:.9rem;animation:.42s both flip-in}.reveal-player{margin-bottom:.45rem;font-size:.9rem;font-weight:700}.reveal-card .swatch{border-radius:999px;width:100%;height:8px;margin-bottom:.55rem}.reveal-card .title{margin-bottom:.35rem;font-weight:700}.reveal-card .ability{color:var(--ink-dim);font-size:.85rem;line-height:1.35}@keyframes flip-in{0%{opacity:0;transform:rotateX(75deg)translateY(12px)}to{opacity:1;transform:rotateX(0)translateY(0)}}.room-chat{z-index:40;width:min(20rem,100vw - 1.7rem);box-shadow:var(--shadow);background:#081c24f0;border:2px solid #c8f54259;border-radius:14px;flex-direction:column;display:flex;position:fixed;bottom:.85rem;right:.85rem;overflow:hidden}.room-chat-toggle{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:#c8f54224;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;font-weight:700;display:flex}.room-chat-toggle.ding{color:#102018;background:#c8f542;animation:.55s chat-ding}@keyframes chat-ding{0%{transform:scale(1)}35%{transform:scale(1.04)}to{transform:scale(1)}}.room-chat-list{flex-direction:column;gap:.45rem;max-height:11rem;padding:.65rem .75rem;display:flex;overflow-y:auto}.room-chat-empty{margin:0;font-size:.9rem}.room-chat-line{background:#ffffff0a;border-radius:8px;flex-direction:column;gap:.1rem;padding:.35rem .45rem;font-size:.88rem;line-height:1.3;display:flex}.room-chat-line.mine{background:#c8f5421f}.room-chat-line strong{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.room-chat-form{border-top:1px solid var(--line);gap:.4rem;padding:.55rem;display:flex}.room-chat-form input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#00000059;border-radius:10px;flex:1;padding:.55rem .7rem}.room-chat-form .btn{border-radius:10px;padding:.55rem .85rem}@media (width<=640px){.room-chat{width:min(18.5rem,100vw - 1rem);bottom:.5rem;right:.5rem}.room-chat-list{max-height:8.5rem}}.tally-screen{border:1px solid var(--line);background:radial-gradient(at 80% 0,#fbbf2433,#0000 45%),linear-gradient(160deg,#081c24e6,#07141ff2);border-radius:22px;min-height:calc(100vh - 2.5rem);padding:clamp(1.25rem,3vw,2rem)}.tally-title{margin:0;font-size:clamp(3.5rem,12vw,6rem)}.tally-note{margin:0 0 1.25rem;font-size:.9rem}.tally-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tally-heading{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:2.4rem;line-height:.95}.tally-scores{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.tally-scores li{border:1px solid var(--line);background:#00000047;border-radius:10px;grid-template-columns:1fr auto;gap:.15rem .5rem;padding:.55rem .7rem;font-size:.92rem;display:grid}.tally-scores li.roller{border-color:#c8f5428c;box-shadow:inset 0 0 0 1px #c8f54233}.tally-scores li.out{opacity:.55}.tally-scores em{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);grid-column:1/-1;font-size:.7rem;font-style:normal}.tally-pot{background:#c8f5421a;border:1px solid #c8f54247;border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.tally-pot strong{font-family:var(--font-display);font-size:2.8rem;line-height:1}.tally-orange-plate{background:radial-gradient(at 30% 20%,#ffedc88c,#0000 50%),linear-gradient(160deg,#ffb065 0%,#f97316 45%,#ea580c 100%);border:4px solid #9a3412;border-radius:22px;min-height:7rem;margin-bottom:1.1rem;padding:1rem 1rem 1.15rem;position:relative;box-shadow:inset 0 2px #ffffff59,inset 0 -8px 18px #78280047,0 10px 24px #00000047}.tally-plate-label{letter-spacing:.14em;text-transform:uppercase;color:#7c2d12;margin-bottom:.55rem;font-size:.72rem;font-weight:800}.tally-plate-sub{letter-spacing:.08em;text-transform:uppercase;color:#7c2d12;margin:.55rem 0 .35rem;font-size:.72rem;font-weight:700}.tally-plate-empty{margin:.5rem 0;color:#7c2d12!important}.tally-orange-plate .tally-roll{margin-bottom:0}.tally-up-die{color:#1c1917;background:#fff8eb;border:3px solid #1c1917;border-radius:12px;align-items:center;gap:.55rem;margin-top:.75rem;padding:.45rem .75rem;display:inline-flex;box-shadow:3px 3px #00000040}.tally-up-die-tag{letter-spacing:.1em;text-transform:uppercase;color:#9a3412;font-size:.68rem;font-weight:800}.tally-up-die strong{font-family:var(--font-display);font-size:1.6rem;line-height:1}.tally-roll{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.tally-die-face{color:#102018;border:3px solid;border-radius:12px;place-items:center;width:4.2rem;height:4.2rem;font-size:1.35rem;font-weight:800;display:grid;box-shadow:3px 3px #00000059}.tally-die-face.circled span{border:2px solid #102018;border-radius:999px;padding:.05rem .35rem;line-height:1.1}.tally-die-face.star span{font-size:1.6rem}.tally-die-face small{letter-spacing:.04em;text-transform:uppercase;font-size:.65rem;font-weight:700}.tally-die-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 1rem;display:grid}.tally-die-pick{appearance:none;border:2px solid color-mix(in srgb, var(--die) 70%, #fff);background:color-mix(in srgb, var(--die) 28%, #00000073);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;gap:.2rem;padding:.7rem .55rem;display:grid}.tally-die-pick.on{outline:2px solid var(--accent);outline-offset:2px}.tally-die-pick span{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.tally-log{color:var(--ink-dim);gap:.35rem;margin:1.25rem 0 0;padding:0;font-size:.88rem;list-style:none;display:grid}.tally-decide,.tally-pick{margin-top:.5rem}.tally-race{text-align:center;background:#c8f5421f;border:3px solid #c8f542;border-radius:16px;margin:.75rem 0;padding:1rem;animation:.9s ease-in-out infinite alternate tally-race-pulse}.tally-race-banner{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);margin:0 0 .35rem;font-size:clamp(2rem,8vw,3.2rem);line-height:1}.tally-yell{font-family:var(--font-display);letter-spacing:.08em;min-width:min(100%,16rem);margin-top:.75rem;padding:.85rem 1.4rem;font-size:clamp(1.8rem,6vw,2.6rem)}@keyframes tally-race-pulse{0%{transform:scale(1)}to{transform:scale(1.02)}}@media (width<=640px){.tally-die-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.flip7-screen{border:1px solid var(--line);background:radial-gradient(at 20% 0,#fbbf2429,#0000 42%),radial-gradient(at 90% 80%,#14b8a61f,#0000 45%),linear-gradient(160deg,#081c24eb,#07141ff5);border-radius:22px;min-height:calc(100vh - 2.5rem);padding:clamp(1.25rem,3vw,2rem)}.flip7-showcase{flex-wrap:wrap;gap:.4rem;margin:1rem 0 .25rem;display:flex}.flip7-title{margin:0;font-size:clamp(3.5rem,12vw,6rem)}.flip7-board{gap:.65rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.flip7-player{border:1px solid var(--line);background:#00000047;border-radius:14px;padding:.7rem .85rem}.flip7-player.current{border-color:#60a5faa6;box-shadow:inset 0 0 0 1px #60a5fa40}.flip7-player.busted{opacity:.55}.flip7-player.stayed{opacity:.75}.flip7-player-head{justify-content:space-between;gap:.5rem;font-size:.95rem;display:flex}.flip7-player-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:.25rem 0 .45rem;font-size:.72rem}.flip7-card-row{flex-wrap:wrap;align-items:flex-end;gap:.28rem;display:flex}.flip7-card{background:0 0;border:0;border-radius:7px;width:2.7rem;height:4.02rem;padding:0;overflow:hidden;box-shadow:2px 3px #00000059}.flip7-card-svg{width:100%;height:100%;display:block}.flip7-showcase .flip7-card{width:3.15rem;height:4.68rem}.flip7-actions{margin:.75rem 0}.flip7-scores{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.flip7-scores li{border:1px solid var(--line);background:#00000047;border-radius:10px;justify-content:space-between;padding:.55rem .75rem;display:flex}.uno-screen{border:1px solid var(--line);background:radial-gradient(at 80% 10%,#ef444433,#0000 40%),radial-gradient(at 10% 80%,#3b82f62e,#0000 45%),linear-gradient(160deg,#081c24eb,#07141ff5);border-radius:22px;min-height:calc(100vh - 2.5rem);padding:clamp(1.25rem,3vw,2rem)}.uno-title{margin:0;font-size:clamp(3.5rem,12vw,6rem)}.uno-rivals{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.uno-rivals li{border:1px solid var(--line);background:#00000047;border-radius:10px;gap:.15rem;padding:.55rem .7rem;font-size:.88rem;display:grid}.uno-rivals li.current{border-color:#c8f5428c}.uno-rivals span{color:var(--ink-dim);font-size:.75rem}.uno-table{border:1px solid var(--line);background:#00000059;border-radius:16px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.uno-color-chip{text-transform:uppercase;color:#102018;border:2px solid #1c1917;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:800}.uno-penalty{color:#fbbf24;font-weight:800}.uno-card{appearance:none;cursor:default;background:0 0;border:0;border-radius:8px;width:3.35rem;height:5rem;padding:0;display:block;overflow:hidden;box-shadow:2px 3px #0006}.uno-card.large{width:4.6rem;height:6.9rem}.uno-card-svg{width:100%;height:100%;display:block}button.uno-card{cursor:pointer}button.uno-card:disabled{opacity:.55;cursor:not-allowed}.uno-card.playable{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(-4px)}.uno-hand-wrap{margin:.75rem 0}.uno-hand{flex-wrap:wrap;gap:.28rem;display:flex}.uno-color-pick{margin-bottom:.75rem}.uno-settings{gap:.55rem;margin:1rem 0 .25rem;display:grid}.uno-settings-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:.45rem 0 0;font-size:.72rem;font-weight:800}
