:root{--bg: #0f1216;--panel: #171b21;--panel-2: #1e242c;--border: #2a313b;--text: #e6e9ee;--muted: #9aa4b2;--accent: #4f8cff;--accent-2: #7cc4ff;--ok: #2ecc71;--warn: #f1c40f;--bad: #ff5c5c;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.45rem .9rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.success{background:#1f8f4e;border-color:#1f8f4e;color:#fff;font-weight:600}button.link{background:none;border:none;color:var(--accent-2);padding:0}input,textarea,select{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;width:100%}textarea{font-family:var(--mono);font-size:.85rem;min-height:4rem}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.65rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700;letter-spacing:.02em;color:var(--text)}.topbar nav{display:flex;gap:1rem}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:.9rem}.page{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.page.wide{max-width:none;padding:1rem 1.25rem 2rem}h1,h2,h3{margin:0 0 .6rem;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}p.muted,.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.15rem}.card+.card{margin-top:.85rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:.75rem;padding:.7rem .25rem;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:none}.list .grow{flex:1}.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.bad{color:var(--bad);border-color:var(--bad)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.info{color:var(--accent-2);border-color:var(--accent)}.auth-box{max-width:400px;margin:4rem auto}.auth-box form{display:grid;gap:.75rem}.auth-box label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}.error{color:var(--bad);font-size:.9rem}.hint{font-size:.85rem;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(300px,2fr) minmax(420px,3fr);gap:1rem;height:calc(100vh - 56px - 2rem);min-height:560px}@media(max-width:960px){.workspace{grid-template-columns:1fr;height:auto}}.workspace .pane{display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.pane-head{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-bottom:1px solid var(--border);background:var(--panel-2)}.pane-head .grow{flex:1}.pane-body{padding:.9rem;overflow:auto;min-height:0}.editor-wrap{flex:1;min-height:260px}.instructions{white-space:pre-wrap}.instructions code{font-family:var(--mono);background:var(--panel-2);padding:.05rem .3rem;border-radius:4px}.tests{display:grid;gap:.5rem}.test{border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;font-size:.85rem}.test-head{display:flex;gap:.5rem;align-items:center;font-weight:600}.test pre{margin:.35rem 0 0}pre.io{font-family:var(--mono);font-size:.8rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;margin:0;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}pre.io.err{color:#ff9b9b}.output{border-top:1px solid var(--border);padding:.75rem .9rem;max-height:40%;overflow:auto;background:var(--panel)}.output .status-line{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.9rem}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;gap:.5rem;align-items:center}.stdin-row{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;padding:.5rem .9rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.stdin-row textarea{min-height:2.4rem;max-height:6rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.progress-bar{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.progress-bar>div{height:100%;background:var(--ok)}.form-grid{display:grid;gap:.75rem}.form-grid label{display:grid;gap:.3rem;font-size:.88rem;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.testcase-editor{border:1px solid var(--border);border-radius:8px;padding:.6rem;display:grid;gap:.5rem}.testcase-editor .form-row{grid-template-columns:1fr 2fr auto;align-items:end}
