@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{font:inherit}.tv{--bg:#090c13;--row:#111725;--row-alt:#0d1220;--text:#f4f6fa;--muted:#8591a6;--line:#263046;--today:#5ec8ff;--month:#7fe3a5;--gold:#f6c544;--silver:#c9d2dc;--bronze:#e09a62;--warn:#fc3;--grid:31fr 11fr 8.5fr 8.5fr 8.5fr 7.5fr 18fr 7fr;--slots:10;--base:39vh;--fs:calc(var(--base) / var(--slots));background:radial-gradient(120% 80% at 50% 0%, #121a2b 0%, var(--bg) 60%);width:100vw;height:100vh;color:var(--text);cursor:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;flex-direction:column;padding:2.6vh 2.2vw 1.6vh;display:flex;overflow:hidden}.tv-head{justify-content:space-between;align-items:baseline;margin-bottom:1.6vh;display:flex}.tv-head h1{letter-spacing:-.02em;margin:0;font-size:4.6vh;font-weight:800}.tv-date{color:var(--muted);font-size:3.4vh;font-weight:600}.tv-grid{grid-template-columns:var(--grid);align-items:center;column-gap:0;display:grid}.tv-grid>*{text-align:right;padding:0 1.1vw}.tv-grid>.col-name{text-align:left}.tv-grid>.divider{border-left:.35vh solid #3b4762}.tv-groups{text-transform:uppercase;letter-spacing:.06em;grid-template-columns:31fr 28fr 41fr;padding-bottom:.8vh;font-size:3vh;font-weight:800}.tv-groups .group{text-align:center;border-bottom:.45vh solid;margin:0 .6vw;padding-bottom:.8vh}.tv-groups .today{color:var(--today)}.tv-groups .month{color:var(--month)}.tv-columns{color:var(--muted);border-bottom:.15vh solid var(--line);min-height:6.4vh;padding-bottom:1vh;font-size:2.3vh;font-weight:600;line-height:1.15}.tv-rows{grid-template-rows:repeat(var(--slots), 1fr);flex:1;margin:0;padding:0;list-style:none;animation:.6s ease-out page-in;display:grid}.tv-row{background:var(--row);border-bottom:.15vh solid var(--bg);will-change:transform;min-height:0;position:relative}.tv-row:nth-child(2n){background:var(--row-alt)}.tv-row.place-1:before,.tv-row.place-2:before,.tv-row.place-3:before{content:"";width:.5vw;position:absolute;inset:0 auto 0 0}.tv-row.place-1:before{background:var(--gold)}.tv-row.place-2:before{background:var(--silver)}.tv-row.place-3:before{background:var(--bronze)}.tv-row .col-name{align-items:center;gap:.8vw;min-width:0;display:flex}.tv-row .rank{width:2.2vw;font-size:calc(var(--fs) * .72);color:var(--muted);text-align:right;flex:none;font-weight:700}.tv-row .name{font-size:var(--fs);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.tv-row .num{font-size:calc(var(--fs) * 1.1);font-weight:700;transition:color 1.2s}.tv-row .num.sum{font-size:calc(var(--fs) * .95)}.tv-row .num.is-zero{color:#4a5368}.tv-row .num.is-grew{color:var(--month)}.tv-row .col-medal{justify-content:center;display:flex}.medal{height:calc(var(--fs) * 1.45);width:auto}.leader{height:calc(var(--fs) * 1.08);flex:none;width:auto}.tv-empty{color:var(--muted);flex:1;place-items:center;font-size:3.6vh;display:grid}.tv-foot{color:var(--muted);justify-content:space-between;align-items:center;padding-top:1.2vh;font-size:2.4vh;display:flex}.tv-status{align-items:center;gap:1vw;display:flex}.dot{border-radius:50%;width:1.4vh;height:1.4vh}.dot.online{background:var(--month)}.dot.offline{background:#ff5c5c}.stale{background:var(--warn);color:#1d1600;border-radius:1vh;padding:.4vh 1vw;font-weight:800}.tv-pages{gap:.8vw;display:flex}.tv-pages .page{background:var(--line);border-radius:50%;width:1.4vh;height:1.4vh}.tv-pages .page.active{background:var(--text)}.tv-message{text-align:center;justify-content:center;align-items:center}.tv-message h1{margin:0 0 2vh;font-size:6vh}.tv-message p{color:var(--muted);margin:0;font-size:3vh}.tv.dense{--base:45vh;padding:1.8vh 1.8vw 1vh}.tv.dense .tv-head{margin-bottom:.8vh}.tv.dense .tv-head h1{font-size:3.4vh}.tv.dense .tv-date{font-size:2.6vh}.tv.dense .tv-groups{padding-bottom:.4vh;font-size:2.3vh}.tv.dense .tv-groups .group{border-bottom-width:.35vh;padding-bottom:.5vh}.tv.dense .tv-columns{min-height:4.4vh;padding-bottom:.6vh;font-size:1.75vh}.tv.dense .tv-row{border-bottom-width:.1vh}.tv.dense .tv-foot{padding-top:.6vh;font-size:1.9vh}@keyframes page-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tv-rows{animation:none}}.settings{--bg:#f5f6f8;--card:#fff;--text:#161b26;--muted:#667085;--line:#e3e6eb;--accent:#2563eb;--accent-text:#fff;--error:#c62828;--ok:#1b7f3b;background:var(--bg);min-height:100%;color:var(--text);padding:24px 16px 48px}@media (prefers-color-scheme:dark){.settings{--bg:#0f131b;--card:#171c27;--text:#edf0f5;--muted:#98a2b3;--line:#2a3242;--accent:#5b8cff;--error:#ff7a7a;--ok:#6fd99a}}.settings-head{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 20px;display:flex}.settings-head h1{margin:0;font-size:24px}.settings .card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.settings h2{margin:0 0 8px;font-size:18px}.settings .muted{color:var(--muted)}.settings .error{color:var(--error)}.settings .ok{color:var(--ok)}.settings button{border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px}.settings button:disabled{opacity:.45;cursor:default}.settings button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.settings button.link{color:var(--accent);background:0 0;border:0;margin-left:12px;padding:0;font-size:13px}.login{gap:12px;max-width:360px;margin:10vh auto 0;display:grid}.login input{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:10px 12px}.members{grid-template-columns:3fr 2fr;align-items:start;gap:20px;max-width:1100px;margin:0 auto;display:grid}@media (width<=760px){.members{grid-template-columns:1fr}}.members fieldset{border:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;margin:16px 0 0;padding:0;display:grid}.members legend{margin-bottom:8px;font-weight:700}.members .user{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.members .user.inactive{color:var(--muted)}.chosen{margin:12px 0;padding-left:24px}.chosen li{border-bottom:1px solid var(--line);padding:6px 0}.chosen li>.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.chosen .actions{flex:none;gap:4px;display:inline-flex}.chosen .actions button{padding:2px 8px}.save{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.board-link{word-break:break-all;color:var(--muted);margin-top:20px;font-size:13px}.board-link a{color:var(--accent)}
