:root{--bg:#0f2a1f;--bg-raised:#173d2d;--bg-row:#fdf8ef12;--text:#fdf8ef;--muted:#b9c9bf;--accent:#d7263d;--gold:#f2c14e;--card:#fdf8ef;--card-text:#0f2a1f;--start-card:#d6e9da;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #1d4a36 0%, var(--bg) 60%) fixed;min-height:100dvh;margin:0;overflow-x:hidden}a{color:var(--gold)}h1{margin:0 0 .5em}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select{font:inherit;background:var(--text);color:var(--card-text);border:2px solid #0000;border-radius:10px;width:100%;padding:12px;font-size:1.1rem}input:focus,select:focus{border-color:var(--gold);outline:none}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.stack{flex-direction:column;gap:14px;width:100%;display:flex}h2{margin:0 0 .4em;font-size:1.3rem}h3{margin:.5em 0 .2em}.muted{color:var(--muted)}.small-text{font-size:.9rem}.big-text{font-size:1.6rem}.error{color:#ffb3bd;margin:0}.panel{background:var(--bg-raised);border-radius:16px;width:100%;max-width:560px;padding:20px}.field{text-align:left;flex-direction:column;gap:6px;font-weight:600;display:flex}.field.narrow{max-width:110px}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.row>.field{flex:1}.row>input{flex:1;min-width:0}.primary,.secondary,.game-button{border:none;border-radius:12px;padding:14px 20px;font-size:1.05rem;font-weight:700}.primary{background:var(--accent);color:#fff}.secondary{background:var(--bg-row);color:var(--text);border:1px solid #fdf8ef40}.small{padding:6px 12px;font-size:.9rem}.link{color:var(--gold);background:0 0;border:none;padding:8px;text-decoration:underline}.button-link{text-align:center;text-decoration:none;display:block}.page{flex-direction:column;align-items:center;gap:18px;max-width:900px;margin:0 auto;padding:16px;display:flex}.page .panel{max-width:none}.topbar{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.topbar h1{margin:0}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list li{background:var(--bg-row);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.list li.off{opacity:.5}.points-input{text-align:right;width:110px}.phone{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:16px;display:flex}.form-page h1{text-align:center}.phone-team{align-items:center;gap:12px;font-size:1.2rem;display:flex}.avatar{font-size:1.6em;line-height:1}.avatar.huge{font-size:5rem}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.avatar-choice{aspect-ratio:1;background:var(--bg-row);border:2px solid #0000;border-radius:12px;padding:0;font-size:1.8rem}.avatar-choice.selected{border-color:var(--gold);background:#f2c14e33}.avatar-choice:disabled{opacity:.2}.waiting{text-align:center;padding:20px 0;font-size:1.2rem}.code{letter-spacing:.15em;color:var(--gold)}.code-input{text-align:center;letter-spacing:.4em;text-transform:uppercase;font-size:1.8rem}.standings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.standings li{background:var(--bg-row);border-radius:10px;grid-template-columns:2.2em 2em 1fr auto;align-items:center;gap:10px;padding:8px 14px;display:grid}.standings li.me{outline:2px solid var(--gold)}.standings .rank{color:var(--muted);font-weight:800}.standings .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.standings .points{color:var(--gold);font-size:1.2em;font-weight:800}.standings.big{font-size:clamp(1rem,1.9vh,2rem)}.standings.big li{padding:.45em .9em}.standings.big li:first-child .rank{color:var(--gold)}.screen{flex-direction:column;gap:2vh;height:100dvh;padding:3vh 3vw;display:flex}.screen-head{justify-content:space-between;align-items:baseline;display:flex}.screen-head h1{margin:0;font-size:clamp(2rem,5vh,4.5rem)}.screen-head .muted{font-size:clamp(1rem,2.5vh,2rem)}.screen-body{flex:1;grid-template-columns:1fr minmax(320px,26vw);gap:3vw;min-height:0;display:grid}.screen-main{min-height:0;overflow:auto}.screen-main h2{font-size:clamp(1.3rem,3vh,2.5rem)}.screen-side{flex-direction:column;gap:2vh;min-height:0;display:flex;position:relative;overflow:auto}.screen-side .panel{max-width:none}.qr-box{background:var(--card);color:var(--card-text);text-align:center;border-radius:16px;padding:14px}.qr svg{width:100%;max-height:32vh;display:block}.join-hint{margin:8px 0 0;font-size:clamp(1rem,2.2vh,1.6rem);font-weight:700}.team-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;display:grid}.team-tile{background:var(--bg-row);border-radius:14px;align-items:center;gap:12px;min-width:0;padding:14px 18px;font-size:clamp(1rem,2.4vh,1.8rem);font-weight:700;display:flex}.team-tile span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-button{background:var(--gold);color:var(--card-text);text-align:left}.corner-link{opacity:.5;font-size:.85rem}.final{align-items:center;overflow:auto}.final .standings{width:min(900px,100%)}.winner{text-align:center}.winner-avatars{font-size:clamp(4rem,14vh,10rem)}.winner h2{color:var(--gold);font-size:clamp(2rem,6vh,5rem)}@media (width<=800px){.screen{height:auto;min-height:100dvh}.screen-body{grid-template-columns:1fr}}
