:root{--bg:#101b1b;--bg2:#172727;--line:#2c4a47;--fg:#e8f1e8;--mut:#91aaa1;--awc:#f2b84b;--cf:#6dd3c5;--ink:#101b1b;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f1f6f1;--bg2:#fff;--line:#bfd2c8;--fg:#162622;--mut:#5e776d;--awc:#a76700;--cf:#08796e;--ink:#fff}}
:root[data-theme="light"]{--bg:#f1f6f1;--bg2:#fff;--line:#bfd2c8;--fg:#162622;--mut:#5e776d;--awc:#a76700;--cf:#08796e;--ink:#fff}
:root[data-theme="dark"]{--bg:#101b1b;--bg2:#172727;--line:#2c4a47;--fg:#e8f1e8;--mut:#91aaa1;--awc:#f2b84b;--cf:#6dd3c5;--ink:#101b1b}
*{box-sizing:border-box}::selection{background:var(--awc)!important;color:var(--ink)!important}::-moz-selection{background:var(--awc)!important;color:var(--ink)!important}body{margin:0;background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,sans-serif}.m{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;text-transform:uppercase;letter-spacing:.12em;font-size:11px}a{color:inherit;text-decoration:none}
.cursor-crosshair{position:fixed;z-index:20;width:24px;height:24px;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease;mix-blend-mode:screen}.cursor-crosshair:before,.cursor-crosshair:after{content:"";position:absolute;background:var(--cf)}.cursor-crosshair:before{left:11px;top:0;width:2px;height:24px}.cursor-crosshair:after{left:0;top:11px;width:24px;height:2px}.cursor-crosshair i{position:absolute;left:8px;top:8px;width:8px;height:8px;border:2px solid var(--awc);background:var(--bg);display:block;transition:transform .15s ease,background .15s ease}.cursor-crosshair i:before,.cursor-crosshair i:after{content:none}body.cursor-ready,body.cursor-ready *{cursor:none!important}body.cursor-ready .cursor-crosshair{opacity:1}body.cursor-hover .cursor-crosshair i{transform:scale(1.35);background:var(--awc)}.auth-cursor{z-index:3}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);flex-wrap:wrap}.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.logo i{width:22px;height:22px;border:2px solid var(--fg);border-radius:50%;position:relative;display:block}.logo i:after{content:"";position:absolute;left:8px;top:2px;width:2px;height:8px;background:var(--awc)}
.btn{border:1px solid var(--line);background:transparent;color:var(--fg);padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center}.btn:hover{background:var(--fg);color:var(--bg)}.row{display:flex;gap:8px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1fr minmax(260px,340px);border-bottom:1px solid var(--line)}.hl{padding:clamp(28px,6vw,72px) clamp(16px,4vw,56px)}h1{font-size:clamp(40px,7vw,92px);line-height:.95;letter-spacing:-.04em;margin:0 0 24px;font-weight:700}h1 span{color:var(--awc)}.hl p{color:var(--mut);max-width:520px;line-height:1.6;font-size:17px;margin:0 0 28px}.status{color:var(--mut)}
.hr{background:var(--awc);color:var(--ink);padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}.big{font-size:clamp(44px,6vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.hr a{border-bottom:1px solid currentColor;width:max-content;padding-bottom:2px}
.bar{display:flex;gap:8px;flex-wrap:wrap;padding:20px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);align-items:center}.bar .sp{flex:1}.chip{border:1px solid var(--line);padding:10px 16px;background:none;color:var(--fg);cursor:pointer}.chip.on{background:var(--fg);color:var(--bg)}
main{padding:28px clamp(16px,4vw,56px) 56px}h2{margin:32px 0 16px;color:var(--mut);font-weight:400}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.card{border:1px solid var(--line);background:var(--bg2);display:flex;flex-direction:column}.card.end{opacity:.55}.top{padding:16px 16px 14px;flex:1}.hd{display:flex;justify-content:space-between;gap:8px}.tag{color:var(--c)}.bk{width:26px;height:3px;background:var(--c);margin:10px 0 16px}.card h3{margin:0 0 6px;font-size:21px;line-height:1.15;letter-spacing:-.01em}.card small{color:var(--mut);font-size:14px;line-height:1.5;display:block}.act{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.act a{padding:14px;text-align:center;font-weight:700}.act a+a{border-left:1px solid var(--line)}.act a:hover{background:var(--c);color:var(--ink)}.live{animation:p 1.2s infinite}@keyframes p{50%{opacity:.35}}.loading{color:var(--mut)}
footer{padding:24px clamp(16px,4vw,56px);border-top:1px solid var(--line);color:var(--mut);line-height:1.8}footer a{border-bottom:1px solid var(--mut)}@media(max-width:760px){.hero{grid-template-columns:1fr}.hr{min-height:220px}}
@media (pointer:coarse){.cursor-crosshair{display:none}}
.act{grid-template-columns:1fr 1fr 1fr}.act a,.act button{font:inherit;background:transparent;color:inherit;border:0;padding:14px;text-align:center;font-weight:700;cursor:pointer}.act a+a,.act button+button,.act a+button,.act button+a{border-left:1px solid var(--line)}button,.chip{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}button:hover,.chip:hover{transform:translateY(-2px);border-color:var(--awc);box-shadow:0 5px 0 color-mix(in srgb,var(--awc) 65%,transparent)}button:active,.chip:active{transform:translateY(0);box-shadow:0 2px 0 color-mix(in srgb,var(--awc) 65%,transparent)}button:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}.account-panel{margin-top:42px;border-top:1px solid var(--line);padding-top:8px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:16px 0}.auth-card{width:min(420px,calc(100vw - 32px));border:1px solid var(--line);background:var(--bg2);color:var(--fg);padding:24px;display:grid;gap:16px}.auth-card::backdrop{background:#0009}.auth-card label{display:grid;gap:8px;color:var(--mut)}.auth-card input{border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:11px;font:inherit}.dialog-close{justify-self:end;background:none;border:0;color:var(--mut);font-size:24px;cursor:pointer}.text-btn{background:none;border:0;color:var(--mut);cursor:pointer;padding:4px;text-align:left}.muted{color:var(--mut)}
.contest-title{display:block}.contest-title:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.full{grid-column:1/-1;width:100%}
.problem-list{border-top:1px solid var(--line);display:grid}.problem-row{display:flex;gap:10px;align-items:center;padding:10px 16px;color:var(--mut);font-size:14px}.problem-row+ .problem-row{border-top:1px solid var(--line)}.problem-row input{accent-color:var(--cf)}.problem-row a{border-bottom:1px solid transparent;flex:1}.problem-row a:hover{border-color:currentColor}.problem-rating{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--awc)}
.solve-toggle{display:flex;align-items:center;gap:8px;padding:14px;color:var(--mut);cursor:pointer}.solve-toggle input{accent-color:var(--cf)}
.cf-handle-card{margin:18px 0}
[data-page="problems"] .hero,[data-page="problems"] .bar,[data-page="problems"] main>h2,[data-page="problems"] #up,[data-page="account"] .hero,[data-page="account"] .bar,[data-page="account"] main>h2,[data-page="account"] #up,[data-page="upsolve"] .hero,[data-page="upsolve"] .bar,[data-page="upsolve"] main>h2,[data-page="upsolve"] #up,[data-page="rounds"] .hero,[data-page="rounds"] .bar,[data-page="rounds"] main>h2,[data-page="rounds"] #up,[data-page="recommend"] .hero,[data-page="recommend"] .bar,[data-page="recommend"] main>h2,[data-page="recommend"] #up,[data-page="coach"] .hero,[data-page="coach"] .bar,[data-page="coach"] main>h2,[data-page="coach"] #up{display:none!important}
.logo,.btn,.chip,.act,.cursor-crosshair,.dialog-close,.text-btn,.tag,.muted,.m{user-select:none}
.coach-summary{padding:18px;margin:18px 0;color:var(--mut);line-height:1.6}.coach-summary strong{color:var(--fg)}.coach-topic{color:var(--cf);font-family:'JetBrains Mono',monospace;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.coach-card .top{padding-bottom:8px}.coach-card textarea{width:100%;min-height:58px;resize:vertical;background:var(--bg);border:1px solid var(--line);color:var(--fg);padding:10px;font:inherit;margin-top:10px}.coach-card .coach-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px 16px;flex-wrap:wrap}.coach-card .coach-actions button{border:1px solid var(--line);background:transparent;color:var(--fg);padding:9px 12px}.coach-card .coach-actions button:hover{background:var(--cf);color:var(--ink)}
.coach-card .coach-actions button.selected{background:var(--cf);color:var(--ink);border-color:var(--cf)}
