:root{--bg:#0c0f14;--section:#151a21;--section-raised:#1e252e;--text:#eef1f5;--hint:#98a2b0;--link:#6fd6ff;--accent:#c8f542;--xp:#6cc8ff;--button:#c8f542;--button-text:#141a06;--danger:#ff7a8c;--separator:#ffffff14;--success:#4be0a6;--easy:#4be0a6;--medium:#ffb84d;--hard:#ff7a8c;--insane:#c79bff;--gold:#ffd257;--silver:#c9d3de;--bronze:#e39a6b;--radius:14px;--radius-sm:11px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=terminal]{--bg:#070b08;--section:#0e1510;--section-raised:#16211a;--text:#d6f5df;--hint:#7fa08b;--link:#5ee6c5;--accent:#3dff7f;--xp:#5fd4ff;--button:#3dff7f;--button-text:#03140a;--danger:#ff6f6f;--separator:#3dff7f29;--success:#3dff7f;--easy:#3dff7f;--medium:#e4d85a;--hard:#ff6f6f;--insane:#5ee6c5;--radius:6px;--radius-sm:4px;--font:var(--mono)}:root[data-theme=sunset]{--bg:#140d14;--section:#1f1520;--section-raised:#2b1e2c;--text:#f7eef2;--hint:#b3a0ad;--link:#ffb27a;--accent:#ffa04d;--xp:#b7a3ff;--button:#ffa04d;--button-text:#241000;--danger:#ff7b8c;--separator:#ffffff17;--success:#5fe0b0;--easy:#5fe0b0;--medium:#ffc857;--hard:#ff7b8c;--insane:#c79bff;--radius:18px;--radius-sm:13px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:16px/1.4 var(--font);-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}.app{min-height:var(--tg-viewport-stable-height,100vh);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.content{max-width:640px;margin:0 auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.back{color:var(--link);cursor:pointer;background:0 0;border:0;margin:12px 16px 0;padding:0}.screen{flex-direction:column;gap:12px;padding:16px;display:flex}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:26px;font-weight:700}.subtitle{font:600 12px var(--mono);color:var(--hint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.hint{color:var(--hint);margin:0;font-size:14px}.section{background:var(--section);border:1px solid var(--separator);border-radius:var(--radius);padding:14px 16px}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--separator)}.row,.score-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.row{cursor:pointer}.row.locked .row-title{color:var(--hint)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-weight:600}.row-sub{color:var(--hint);font-size:13px}.row-points{font:600 14px var(--mono);white-space:nowrap;color:var(--accent)}.score-row.me{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.rank{width:30px;height:30px;font:700 13px var(--mono);color:var(--hint);background:var(--section-raised);border-radius:9px;flex:none;place-items:center;display:grid}.rank-1{color:#231a00;background:var(--gold)}.rank-2{color:#1a2027;background:var(--silver)}.rank-3{color:#2b1405;background:var(--bronze)}.badges{flex-wrap:wrap;gap:6px;display:flex}.badges:empty{display:none}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.badge-trial{background:color-mix(in srgb, var(--button) 18%, transparent);color:var(--accent)}.badge-blood{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold)}.badge-solved{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.badge-archive,.badge-lock{background:color-mix(in srgb, var(--hint) 20%, transparent);color:var(--text)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--separator);background:var(--section);color:var(--text);cursor:pointer;border-radius:999px;flex:none;padding:6px 14px}.chip.active{border-color:var(--button);background:var(--button);color:var(--button-text);font-weight:600}.banner{text-align:left;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 7%, var(--section));cursor:pointer;flex-direction:column;gap:2px;padding:12px 16px;display:flex}.banner span{color:var(--hint);font-size:14px}.button{border-radius:var(--radius-sm);background:var(--button);width:100%;color:var(--button-text);cursor:pointer;border:0;padding:12px 16px;font-weight:700;display:block}.button.secondary{background:var(--section-raised);color:var(--text);font-weight:600}.button:disabled{background:var(--section-raised);color:var(--hint);cursor:default}.input{border-radius:var(--radius-sm);border:1px solid var(--separator);background:var(--bg);width:100%;color:var(--text);font:15px var(--mono);padding:12px}.input:focus{outline:2px solid var(--button);outline-offset:-1px}.flag-form{flex-direction:column;gap:10px;display:flex}.flag-form .subtitle{margin:0}.message{margin:0;font-weight:600}.message p{margin:0 0 8px}.message.success{color:var(--success)}.message.error,.error-box p{color:var(--danger)}.error-box,.locked-box,.success-box{flex-direction:column;gap:10px;display:flex}.error-box p,.locked-box p,.success-box p{margin:0}.hints{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hint-text{margin:0}.hint-text .markdown{display:inline}.hint-text .markdown>p{margin:0;display:inline}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown a{color:var(--link)}.markdown code,.markdown pre{background:var(--bg);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown code{color:var(--accent);padding:2px 6px}.markdown pre{padding:10px;overflow-x:auto}.stats{text-align:center;grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stats>div{flex-direction:column;display:flex}.stat-value{font:700 24px var(--mono);color:var(--accent)}.plain{margin:0 0 12px;padding-left:20px}.tabbar{background:var(--bg);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--hint);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:12px;display:flex}.tab.active{color:var(--accent);font-weight:600}.spinner{border:3px solid var(--separator);border-top-color:var(--button);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:4px;display:flex}.text-input{font:15px/1.4 var(--font)}.textarea{resize:vertical;min-height:72px;font:14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}select.input{font:inherit}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.check{align-items:center;gap:8px;display:flex}.check input{width:18px;height:18px;accent-color:var(--button)}.link-button{color:var(--link);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:0}.link-button.danger{color:var(--danger)}.subform{border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:8px;padding:10px;display:flex}.admin-item{border-bottom:1px solid var(--separator);overflow-wrap:anywhere;flex-direction:column;gap:2px;padding:8px 0;display:flex}.file-label{text-align:center}.file-button{text-align:left;overflow-wrap:anywhere}.tariffs{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.tariffs legend{float:left;width:100%;padding:0}.tariff{border-radius:var(--radius-sm);border:1px solid var(--separator);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.tariff.selected{border-color:var(--button);background:color-mix(in srgb, var(--button) 8%, transparent)}.tariff input{accent-color:var(--button)}.link-button.inline{text-decoration:underline;display:inline}.terms{border-radius:var(--radius-sm);background:var(--bg);white-space:pre-line;margin:0;padding:10px;font-size:14px}.section>p:first-child{margin-top:0}.section>p:last-child{margin-bottom:0}.brand{font:700 12px var(--mono);letter-spacing:.08em;color:var(--hint);margin:0}.brand b{color:var(--accent)}.progress{flex-direction:column;gap:8px;display:flex}.progress-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.progress-value{font:700 18px var(--mono);color:var(--xp)}.progress-track{background:var(--section-raised);border-radius:3px;height:6px;display:block;overflow:hidden}.progress-fill{background:var(--xp);border-radius:3px;height:100%;display:block}.cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.card:active{background:var(--section-raised)}.card.locked{background:0 0;border-style:dashed}.card.locked .row-title{color:var(--hint)}.card.solved .row-points{color:var(--success)}.signal{flex:none;align-items:flex-end;gap:3px;height:22px;display:inline-flex}.signal span{background:var(--section-raised);border-radius:2px;width:5px}.signal span:first-child{height:8px}.signal span:nth-child(2){height:12px}.signal span:nth-child(3){height:17px}.signal span:nth-child(4){height:22px}.signal span.on{background:var(--level)}.signal.easy{--level:var(--easy)}.signal.medium{--level:var(--medium)}.signal.hard{--level:var(--hard)}.signal.insane{--level:var(--insane)}.icon{vertical-align:-.12em;flex:none;width:1em;height:1em}.tab .icon{font-size:22px}.detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-points{font:700 14px var(--mono);color:var(--accent)}.flag-form:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.input:focus{outline-color:var(--accent)}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid var(--separator);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;font-size:13px;display:flex}.theme-option[aria-pressed=true]{border-color:var(--accent);font-weight:700}.theme-swatch{border:1px solid #ffffff29;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.theme-swatch span{border-radius:50%;width:14px;height:14px}.segments{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segment{border-radius:var(--radius-sm);color:var(--hint);cursor:pointer;background:0 0;border:0;padding:9px 6px;font-weight:600}.segment.active{background:var(--section-raised);color:var(--text)}.segment-count{font:600 12px var(--mono);color:var(--hint)}.segment.active .segment-count{color:var(--accent)}.fold{border:1px solid var(--separator);border-radius:var(--radius);background:var(--section)}.fold-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.fold-head .row-title{flex:1;min-width:0}.fold-meta{font:600 13px var(--mono);color:var(--accent);flex:none}.fold-arrow{color:var(--hint);flex:none;transition:transform .15s;display:inline-flex}.fold-arrow.open{transform:rotate(180deg)}.fold-body{flex-direction:column;gap:10px;padding:0 10px 10px;display:flex}.fold .card{background:var(--bg)}.fold .card.locked{background:0 0}.fold .fold{background:var(--bg)}.arc{flex-direction:column;gap:8px;display:flex}.lock-reason{color:var(--medium)}.reward-xp{color:var(--xp)}.story{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.prologue{border-left:2px solid var(--accent);color:var(--hint);padding-left:10px;font-size:14px}.old-price{color:var(--hint);font-weight:400}.promo-code{font:700 16px var(--mono);color:var(--accent);overflow-wrap:anywhere}.cards>.admin-item{border-bottom:1px solid var(--separator);gap:6px;padding:14px 16px}
