:root{--bg: #e9ece6;--text: #1c2226;--card: #f7f8f4;--line: #cdd3cf;--muted: #56656d;--blue: #1d4ed8;--red: #d63a2f;--ink: #1c2226;--bad: #c0322a;--good: #1a7f4b;--board: #f8f9f5;--frame: #c4cacd;--frame-dark: #98a1a6;--focus: #1d4ed8;--display: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive;--ui: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #12181c;--text: #e8ecea;--card: #1a2328;--line: #2b3a42;--muted: #98a8b0;--focus: #7aa2ff;--bad: #ff8f86;--good: #6fdca0;--surface-raised: oklch(26% .02 235);--surface-soft: oklch(31% .02 235);--danger-bg: oklch(28% .08 25);--accent-tint: oklch(30% .08 255)}}:root[data-theme=dark]{--bg: #12181c;--text: #e8ecea;--card: #1a2328;--line: #2b3a42;--muted: #98a8b0;--focus: #7aa2ff;--bad: #ff8f86;--good: #6fdca0;--surface-raised: oklch(26% .02 235);--surface-soft: oklch(31% .02 235);--danger-bg: oklch(28% .08 25);--accent-tint: oklch(30% .08 255)}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}#root{max-width:560px;margin:0 auto;padding:20px 16px 48px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,9vw,48px);line-height:1;margin:6px 0 10px;letter-spacing:.5px}h1 .a{color:var(--blue)}h1 .b{color:var(--red)}.lede{margin:0 0 20px;color:var(--muted);max-width:46ch}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}h2{font-size:18px;margin:0 0 12px;font-weight:700}.field{margin-bottom:14px}.lab{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.hint{font-size:13px;color:var(--muted);margin:0 0 12px}select,input[type=text]{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--bg);color:inherit;font:inherit}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font-weight:700;font-size:15px}.btn.primary{background:var(--blue);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.board{display:grid;gap:8px;background:var(--board);border:1px solid var(--frame);border-radius:16px;padding:14px}.tile{font-family:var(--display);font-size:clamp(28px,9vw,44px);text-align:center;background:#fff;border:2px solid var(--frame);border-radius:10px;padding:6px 0;color:var(--ink);position:relative}.tile.blue{color:var(--blue);border-color:var(--blue)}.tile.red{color:var(--red);border-color:var(--red)}.tile.sel{outline:3px solid var(--focus);outline-offset:2px}.tile.locked{background:var(--line)}.tile.shake{animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.keyboard{display:flex;flex-direction:column;gap:6px;margin-top:14px}.krow{display:flex;gap:4px;justify-content:center}.key{flex:1;max-width:44px;min-height:44px;padding:10px 0;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600;text-transform:uppercase}.key:disabled{opacity:.4}.playercards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.pcard{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card)}.pcard.on{border-color:var(--focus)}.pname{font-weight:700}.pmeta{font-size:13px;color:var(--muted)}.pips{display:flex;gap:4px;margin-top:6px}.pip{width:10px;height:10px;border-radius:50%;background:var(--good)}.pip.lost{background:var(--line)}.timerbar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin:10px 0}.timerbar>div{height:100%;background:var(--good);transition:width .2s linear}.timerbar.low>div{background:var(--bad)}.msg{min-height:1.4em;font-size:14px;color:var(--muted);margin:8px 0}.msg.bad{color:var(--bad)}.chain{display:flex;gap:6px;flex-wrap:wrap;font-family:var(--display);margin:10px 0}.chain span.blue{color:var(--blue)}.chain span.red{color:var(--red)}.rowline{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.rowline:last-child{border-bottom:none}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--line);font-size:12px;font-weight:600}.avatar{font-size:28px;line-height:1}.landing{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw}.landing a{text-decoration:none;color:inherit}.landing .lwrap{max-width:1080px;margin:0 auto;padding:0 20px}.landing .lnav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0}.landing .lnav-r{display:flex;gap:10px;align-items:center}.landing .lnav select{width:auto;padding:8px 30px 8px 10px;background-position:right 10px center}.landing .brand-logo{height:52px;display:block}.landing .primary{display:inline-flex;align-items:center;justify-content:center;width:100%;border:0;border-radius:12px;padding:15px;background:var(--text);color:var(--bg);font-weight:700;font-size:17px}.landing .primary.big{width:auto;padding:16px 28px}.landing .ghost{display:inline-flex;align-items:center;border:1px solid var(--line);background:transparent;border-radius:10px;padding:9px 14px;font-weight:600;cursor:pointer}.landing .wb{background:var(--board);color:var(--ink);border:10px solid var(--frame);border-bottom-width:14px;border-radius:10px;box-shadow:0 0 0 1px var(--frame-dark),0 6px 0 var(--frame-dark);padding:12px 12px 0;position:relative;overflow:hidden}.landing .mk{display:inline-block;width:12px;height:34px;border-radius:4px;transform:rotate(18deg);flex:none;background:linear-gradient(to bottom,var(--c) 0 68%,#2b2f33 68% 100%)}.landing .mk.blue{--c: var(--blue)}.landing .mk.red{--c: var(--red)}.landing .tray{display:flex;gap:28px;justify-content:center;margin-top:22px}.landing .tray .mk{transform:rotate(90deg)}.landing .rows{list-style:none;margin:0;padding:0;max-width:560px}.landing .rows li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.landing .rows li:first-child{border-top:0}.landing .src{font-size:12px;color:var(--muted);margin:10px 0 0;max-width:560px}.landing .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:40px 0 72px}.landing .hl{font-family:var(--ui);font-weight:800;font-size:clamp(30px,4.8vw,51px);line-height:1.02;letter-spacing:-.02em;margin:0 0 18px;max-width:14ch}.landing .hl .blue{color:var(--blue)}.landing .hl .red{color:var(--red)}.landing .hsub{font-size:18px;color:var(--muted);max-width:44ch;margin:0 0 26px}.landing .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.landing .cta .ghost{padding:15px 20px}.landing .note{font-size:14px;color:var(--muted);margin:16px 0 0}.landing .hero-board .wb{padding:22px 22px 18px;transform:rotate(-1.2deg)}.landing .demo-word{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.landing .demo-word span{font-family:var(--display);font-size:clamp(60px,10vw,116px);line-height:1;text-align:center;border-bottom:4px solid #c8cfd0;padding-bottom:6px;color:var(--ink);transition:opacity .3s,transform .3s}.landing .demo-word span.blue{color:var(--blue)}.landing .demo-word span.red{color:var(--red)}.landing .demo-word span.erase{opacity:0;transform:scale(.85) rotate(-6deg)}.landing .demo-chain{font-family:var(--display);font-size:20px;margin-top:14px;min-height:1.5em;display:flex;flex-wrap:wrap;gap:4px 14px;color:#56656d}.landing .demo-chain .blue{color:var(--blue)}.landing .demo-chain .red{color:var(--red)}.landing .band{padding:56px 0;border-top:1px solid var(--line)}.landing .band h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-.01em;margin:0 0 28px}.landing .steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.landing .steps .n{font-family:var(--display);font-size:44px;line-height:1;color:var(--blue)}.landing .steps li:nth-child(2) .n{color:var(--red)}.landing .steps li:nth-child(3) .n{color:var(--text)}.landing .steps h3{font-size:19px;margin:10px 0 6px}.landing .steps p,.landing .modes p,.landing .fair p{margin:0;color:var(--muted);max-width:44ch}.landing .mrow{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:baseline}.landing .mrow:first-child{border-top:0;padding-top:0}.landing .mname{font-family:var(--display);font-size:28px;line-height:1.1}.landing .fair ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.landing .fair b{display:block;font-size:17px;margin-bottom:4px}.landing .lfinal{padding:64px 0 72px;text-align:center;border-top:1px solid var(--line)}.landing .lfinal .wb{max-width:640px;margin:0 auto;padding:36px 24px}.landing .lfinal h2{font-family:var(--display);font-weight:400;font-size:clamp(40px,7vw,64px);margin:0 0 8px;color:var(--ink)}.landing .lfinal p{color:#56656d;margin:0 0 22px}.landing .lfinal .primary{width:auto;padding:16px 30px;background:var(--ink);color:#f8f9f5}.landing .lfoot{padding:24px 0 40px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:820px){.landing .hero{grid-template-columns:1fr;gap:32px;padding:16px 0 56px}.landing .steps ol,.landing .fair ul{grid-template-columns:1fr}.landing .mrow{grid-template-columns:1fr;gap:6px}.landing .lnav{flex-wrap:wrap;row-gap:10px}.landing .lnav-r{flex-wrap:wrap;justify-content:flex-end}.landing .lnav-r .ghost{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}}:root{--tile-blue: oklch(55% .18 255);--tile-red: oklch(57% .19 28);--tile-ink: oklch(25% .025 235);--tile-green: oklch(58% .13 155);--tile-amber: oklch(72% .15 75);--tile-violet: oklch(56% .17 305);--surface-raised: oklch(98% .008 105);--surface-soft: oklch(94% .012 110);--danger-bg: oklch(94% .035 25);--accent-tint: oklch(92% .04 255);--shadow-sm: 0 2px 0 oklch(25% .02 240 / .08);--shadow-md: 0 12px 28px oklch(25% .02 240 / .12);--ease-out: cubic-bezier(.25, 1, .5, 1)}#root{max-width:1160px;padding:0 20px max(48px,env(safe-area-inset-bottom))}.content-narrow,.game-content{width:100%;max-width:620px;min-width:0}.game-content{margin-inline:auto}.page-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:24px;align-items:start}.page-columns>*{min-width:0}.page-sidebar{display:grid;gap:24px}.page-sidebar>.card,.page-columns>.card{margin-bottom:0}.page-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px}.page-controls select{width:auto}.match-countdown{text-align:center}.match-countdown__number{font-family:var(--display);font-size:64px}.match-actions{display:flex;flex-wrap:wrap;gap:8px}.game-content .playercards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-content .pcard{min-width:0;overflow-wrap:anywhere}.page-columns .rowline{flex-wrap:wrap;gap:8px}.page-columns .avatar-label{min-width:0;overflow-wrap:anywhere}.app-shell h1{overflow-wrap:anywhere}.app-shell{width:100%}.app-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin-bottom:32px}.wordmark{color:var(--ink);font-family:var(--display);font-size:1.45rem;letter-spacing:.04em;text-decoration:none;display:inline-flex;align-items:center}.wordmark span:last-child{color:var(--blue)}.wordmark__logo{height:44px;display:block}.app-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px}.header-link{color:var(--muted);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.header-lang{width:auto;min-height:44px;padding:8px 28px 8px 10px;font-weight:700}.header-theme-toggle{min-height:44px;min-width:44px;padding:0;font-size:1.1rem}.profile-chip{min-height:52px;display:flex;align-items:center;gap:10px;border:0;border-left:1px solid var(--line);background:transparent;padding:4px 0 4px 16px;text-align:left}.profile-chip__copy{display:grid;max-width:160px;overflow-wrap:anywhere}.profile-chip__copy small{color:var(--muted)}.avatar-label{display:inline-flex;align-items:center;gap:8px}.landing .ghost .tile-avatar{margin-right:6px}.landing .lbold .rows li>span:nth-child(2){display:flex;align-items:center;gap:8px}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:var(--card);color:var(--text);padding:12px 16px;border:2px solid var(--focus);border-radius:8px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tile-avatar{--tile-color: var(--tile-blue);width:44px;height:48px;flex:0 0 auto;display:inline-grid;place-items:center;background:var(--tile-color);border:2px solid oklch(25% .02 240 / .35);border-radius:9px;box-shadow:inset 0 -4px #19232a2e,var(--shadow-sm);color:#fff;font-family:var(--display);font-size:1.25rem;transform:rotate(-1deg)}.tile-avatar--sm{width:36px;height:39px;font-size:1rem}.tile-avatar--lg{width:60px;height:65px;font-size:1.7rem}.tile-avatar--red{--tile-color: var(--tile-red)}.tile-avatar--ink{--tile-color: var(--tile-ink)}.tile-avatar--green{--tile-color: var(--tile-green)}.tile-avatar--amber{--tile-color: var(--tile-amber);color:var(--ink)}.tile-avatar--violet{--tile-color: var(--tile-violet)}.eyebrow{display:block;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.page-heading,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-heading{margin-bottom:24px}.page-heading h1,.lobby-intro h1,.invite-hero h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.25rem);margin:0}.page-heading p,.lobby-intro p{color:var(--muted);margin:8px 0 0}.section-title{align-items:center;margin-bottom:16px}.section-title h2{margin:0;font-size:1.25rem}.section-title a{color:var(--blue);font-weight:700}.lobby-intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:28px}.lobby-page .section-title{flex-wrap:wrap}.lobby-page .section-title a:not(.btn){color:var(--focus)}.lobby-page .section-title a.btn{color:var(--text);text-decoration:none}.lobby-page .leader-list li{grid-template-columns:22px 36px minmax(0,1fr) auto}.lobby-page .leader-list a{overflow-wrap:anywhere}.lobby-personal-standing{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px;border-top:1px solid var(--line);padding-top:12px}.lobby-personal-standing>a{min-width:0;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.lobby-personal-standing>p{grid-column:1 / -1;margin:0;color:var(--muted);overflow-wrap:anywhere}.lobby-stats{display:flex;border:1px solid var(--line);border-radius:12px;background:var(--card)}.lobby-stats span{display:grid;gap:2px;padding:12px 18px;color:var(--muted);font-size:.75rem}.lobby-stats span+span{border-left:1px solid var(--line)}.lobby-stats strong{color:var(--text);font-size:1.3rem;font-variant-numeric:tabular-nums}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:40px}.entry-card{min-width:0;min-height:100px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:18px;color:var(--text);text-decoration:none;background:var(--surface-raised);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.entry-card input[type=text]{padding:8px 10px}.entry-card--form{grid-template-columns:auto minmax(0,1fr);align-items:start}.entry-card__code{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.entry-card__code input{flex:1 1 100px;min-width:0}.entry-card__code button{flex:1 0 auto;white-space:nowrap}.entry-card strong{font-size:1.05rem}.entry-card p{margin:4px 0 0;color:var(--muted);font-size:.85rem}.entry-card__glyph{width:48px;height:52px;display:grid;place-items:center;border-radius:10px;background:var(--tile-blue);color:#fff;font-family:var(--display)}.entry-card--violet .entry-card__glyph{background:var(--tile-violet)}.entry-card--amber .entry-card__glyph{background:var(--tile-amber);color:var(--ink)}.entry-card--daily{grid-column:1 / -1;border-color:var(--tile-green)}.entry-card--daily .entry-card__glyph{background:color-mix(in srgb,var(--tile-green) 85%,black)}.landing-daily{margin-bottom:40px}@media(hover:hover){.entry-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}}.lobby-competitions{margin-bottom:32px}.competition-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.competition-card{display:grid;gap:8px;border-top:4px solid var(--tile-violet);border-radius:8px 8px 12px 12px;padding:16px;background:var(--card);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm)}.competition-card .pill{justify-self:start}.competition-card small{color:var(--muted)}.lobby-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:24px;align-items:start}.surface-section{border:1px solid var(--line);border-radius:15px;padding:20px;background:var(--surface-raised);margin-bottom:20px}.challenge-row,.request-row,.entrant-card,.pairing-row{display:flex;align-items:center;gap:12px;min-height:68px;border-top:1px solid var(--line);padding:12px 0}.challenge-row:first-of-type,.request-row:first-of-type{border-top:0}.challenge-row__main,.request-row__main{display:grid;min-width:0;flex:1}.challenge-row{flex-wrap:wrap}.challenge-row__main{min-width:45%;overflow-wrap:anywhere}.challenge-row .btn{width:100%}.challenge-row__main small,.request-row__main small,.entrant-card small{color:var(--muted)}.request-row__actions{display:flex;gap:8px}.btn.compact{min-height:40px;padding:8px 12px}.btn.danger-link{color:var(--bad);background:transparent}.lobby-sidebar{display:grid;gap:12px}.leader-list{list-style:none;padding:0;margin:0}.leader-list li{display:grid;grid-template-columns:22px 36px 1fr auto;align-items:center;gap:10px;padding:9px 0}.leader-list a{color:var(--text);text-decoration:none;font-weight:700}.presence-panel{display:flex;gap:12px;align-items:center;padding:16px;background:var(--tile-ink);color:#fff;border-radius:14px}.presence-panel div{display:grid}.presence-panel small{color:#bbc6cc}.presence-pulse,.status-dot i{width:10px;height:10px;border-radius:50%;background:#47c86e;box-shadow:0 0 0 5px #47c86e2e}.empty-state{min-height:156px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center;padding:20px;border:1px dashed var(--line);border-radius:12px}.empty-state p{margin:0;max-width:40ch}.empty-state__tile{display:grid;place-items:center;width:38px;height:42px;border:2px solid var(--line);border-radius:7px;font-family:var(--display);transform:rotate(5deg)}.status-card{padding:16px;border-radius:12px;margin-bottom:16px}.status-card--error{color:var(--bad);background:var(--danger-bg);display:flex;align-items:center;justify-content:space-between;gap:12px}.skeleton-stack{display:grid;gap:12px;padding:18px}.skeleton-stack i{height:56px;border-radius:10px;background:linear-gradient(100deg,var(--line),var(--surface-soft),var(--line));background-size:220% 100%;animation:skeleton 1.4s linear infinite}@keyframes skeleton{to{background-position-x:-220%}}.share-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 20px;border:1px solid var(--line);border-left:5px solid var(--tile-blue);border-radius:14px;padding:18px;margin-bottom:20px;background:var(--surface-raised)}.share-panel>div:first-child{display:grid}.invite-code{font-family:var(--display);font-size:1.8rem;letter-spacing:.16em}.share-fallbacks{grid-column:1 / -1;display:flex;gap:16px;font-size:.85rem}.share-fallbacks a{color:var(--blue)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#09131aad}.dialog-panel{width:min(100%,430px);margin:0;box-shadow:var(--shadow-md)}.match-result-dialog{max-height:calc(100dvh - 32px);overflow:auto}.color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.color-choice{min-width:44px;min-height:54px;border:0;border-radius:10px;background:transparent;padding:3px}.color-choice[aria-checked=true]{outline:3px solid var(--focus);outline-offset:2px}.form-stack{display:grid;gap:6px}.segmented-field{border:0;padding:0;margin:0 0 14px}.segmented-field legend{font-weight:700;margin-bottom:8px}.segmented-field{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented-field legend{grid-column:1 / -1}.segmented-field label{position:relative}.segmented-field input{position:absolute;opacity:0}.segmented-field span{min-height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;font-weight:700}.segmented-field input:checked+span{border-color:var(--tile-blue);background:var(--accent-tint)}.invite-hero{margin:0;padding:20px;background:var(--surface-raised);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-md)}.invite-hero p{color:var(--muted)}.status-dot,.deadline-chip,.status-badge{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;border-radius:999px;background:var(--surface-soft);padding:7px 11px;color:var(--muted);font-size:.8rem;font-weight:800}.competition-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.competition-aside{border-top:4px solid var(--tile-amber);background:var(--surface-raised);padding:18px;border-radius:8px 8px 14px 14px}.competition-aside ul{color:var(--muted);padding-left:20px}.entrant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 16px}.entrant-card div{display:grid;flex:1}.pairing-row{display:grid;grid-template-columns:32px 1fr auto auto}.pairing-row__position{font-family:var(--display);color:var(--muted)}.pairing-row--live{border-left:4px solid var(--tile-green);padding-left:12px}.podium{display:grid;place-items:center;text-align:center;padding:36px 16px}.podium>span{width:72px;height:76px;display:grid;place-items:center;background:var(--tile-amber);border-radius:12px;font-family:var(--display);font-size:2rem;box-shadow:var(--shadow-md);transform:rotate(-3deg)}.spectator-banner{margin-bottom:16px;padding:10px 14px;text-align:center;background:var(--tile-ink);color:#fff;border-radius:10px;font-weight:800}@media(max-width:820px){#root{padding-inline:16px}.app-header{min-height:66px;margin-bottom:24px}.header-link,.profile-chip__copy{display:none}.profile-chip{border-left:0;padding-left:0}.lobby-intro{display:grid;align-items:start}.lobby-stats{width:100%}.lobby-stats span{flex:1;padding:10px 12px}.entry-grid,.lobby-columns,.competition-layout,.page-columns{grid-template-columns:1fr}.lobby-sidebar{grid-row:auto}.competition-aside{order:-1}}@media(max-width:480px){.app-shell .color-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .page-heading{flex-wrap:wrap}.app-header{gap:8px}.wordmark__logo{width:100px;height:auto}.app-header__actions{gap:6px}.header-lang{padding-inline:8px 20px}.profile-chip .pill{display:none}.lobby-sidebar .rowline{flex-wrap:wrap}.grid2{grid-template-columns:1fr}.lobby-stats span{font-size:.65rem}.lobby-stats strong{font-size:1.05rem}.share-panel{grid-template-columns:1fr}.share-panel .btn{width:100%}.share-fallbacks{grid-column:1}.request-row{flex-wrap:wrap}.request-row__actions{width:100%}.request-row__actions .btn{flex:1}.pairing-row{grid-template-columns:24px 1fr auto}.pairing-row .btn{grid-column:2 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.tile.shake{animation:none}}.game-notices{position:fixed;right:16px;bottom:16px;z-index:60;display:grid;gap:10px;width:min(380px,calc(100vw - 32px))}.game-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-raised);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #0d181e2e}.game-notice p{margin:0;flex:1;font-size:.92rem}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.admin-head h1{margin:0 0 4px}.admin-head .hint{margin:0}.admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-kpi{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.admin-kpi__value{font-size:1.9rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.admin-kpi__label{font-size:13px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.admin-col>.card:last-child{margin-bottom:0}.admin-col .card h2{margin-bottom:14px}.admin-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-card-head .hint{margin:0}.admin-bars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;height:170px}.admin-bars li{display:grid;grid-template-rows:18px 1fr 18px;align-items:end;text-align:center;min-width:0}.admin-bars__count{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.admin-bars__track{height:100%;display:flex;align-items:flex-end;background:var(--surface-soft);border-radius:6px;overflow:hidden}.admin-bars__bar{display:block;width:100%;min-height:0;background:var(--focus);border-radius:6px 6px 0 0;transition:height .4s var(--ease-out)}.admin-bars li:last-child .admin-bars__bar{background:var(--good)}.admin-bars__day{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.admin-split{height:14px;border-radius:999px;background:var(--line);overflow:hidden;margin-bottom:12px}.admin-split span{display:block;height:100%;background:var(--focus)}.admin-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}.admin-legend span{display:inline-flex;align-items:center;gap:8px}.admin-dot{width:10px;height:10px;border-radius:50%;background:var(--line)}.admin-dot--ranked{background:var(--focus)}.admin-hbars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.admin-hbars li{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;font-size:14px}.admin-hbars__label{display:inline-flex;align-items:center;gap:6px;min-width:0}.admin-hbars__track{height:10px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.admin-hbars__track span{display:block;height:100%;border-radius:999px;background:var(--focus)}.admin-hbars li.is-bad .admin-hbars__track span{background:var(--bad)}.admin-hbars__value{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.admin-hbars__value small{font-weight:500;color:var(--muted)}.admin-results{list-style:none;margin:0;padding:0}.admin-results li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.admin-results li:last-child{border-bottom:none;padding-bottom:0}.admin-results li:first-child{padding-top:0}.admin-results__main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:14px}.admin-results__main>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-results__reason{font-size:12px;color:var(--muted)}.admin-results__time{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:960px){.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.admin-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.admin-head{flex-wrap:wrap;align-items:flex-start}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-kpi{padding:12px}.admin-kpi__value{font-size:1.5rem}.admin-bars{gap:3px;height:140px}.admin-hbars li{grid-template-columns:minmax(0,1fr) auto}.admin-hbars__track{grid-column:1 / -1;grid-row:2}}@media(prefers-reduced-motion:reduce){.admin-bars__bar{transition:none}}
