:root{color-scheme:dark;color:#c9d3e2;background:#0d121c;--border:#293449;--muted:#91a1ba;--green:#97e6bd}body{background:#0d121c}button{background:#1b2739;color:#bdcce1;border-color:var(--border);transition:background .15s}button:hover:not(:disabled){background:#30405a;border-color:#526b8d}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}header{padding:18px 28px;min-height:82px;background:#141c2a;border-bottom:1px solid var(--border)}.brand{display:flex;gap:14px;align-items:center}.brand-mark{display:grid;place-items:center;background:#a3eac4;color:#143324;width:42px;height:42px;border-radius:10px;font:700 19px Consolas,monospace;box-shadow:0 3px 20px #87e0b11a}.brand .eyebrow{font-size:9px;letter-spacing:.12em;color:#8e9eb8}h1{font-size:23px;color:#eef4ff;letter-spacing:-.6px;margin:5px 0 0}h1 span{font-size:12px;font-weight:400;color:#91a1ba;letter-spacing:0;margin-left:12px}.status{display:flex;align-items:center;gap:14px;font-size:11px;color:#a0b0c8}.status strong{font-size:12px;background:#203a30;color:#9ce9bd;padding:7px 10px;border:1px solid #3b624e;border-radius:5px}#engine{max-width:220px}.identity{padding:12px 28px;background:#111a28;border-bottom:1px solid var(--border);gap:20px;font-size:12px}.identity label{color:#98aac5}.identity input,.identity select{background:#1c293d;color:#d3e1f5;border:1px solid #3c4d67;border-radius:5px;padding:7px 10px;font-size:12px}.identity input{width:185px}.identity select{color:var(--green)}.identity span{font-size:11px;color:#8d9fb9}.identity button{font-size:11px}
main{max-width:1920px;min-height:calc(100vh - 190px)}aside{width:225px;background:#111a28;border-right:1px solid var(--border);padding:25px 14px}.sidebar-caption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:#91a2bb;margin:0 8px 22px}.sidebar-caption span{font-size:8px;color:#637793}aside h2{display:flex;justify-content:space-between;font-size:12px;margin:0 8px 12px;color:#e1eafa}aside h2 span{font-size:10px;color:#a8b9d1;background:#29384e;padding:2px 6px;border-radius:4px}.progress-track{height:3px;margin:0 8px 22px;background:#2a3850;border-radius:3px;overflow:hidden}#progress-bar{height:100%;width:0;background:var(--green);transition:width .2s}nav{gap:5px}nav button{display:flex;gap:10px;align-items:center;font-size:11px;padding:11px 9px;color:#9fb1cb;border:1px solid transparent;line-height:1.65}.problem-id{font:10px Consolas,monospace;min-width:28px;padding:4px 0;text-align:center;background:#233149;color:#95a9c5;border-radius:4px}nav button.active{background:#223d32;border-color:#3a604e;color:#cbf5de}nav button.active .problem-id{background:#3a5e4c;color:#b8f0d0}nav button.solved{color:#b0dcc6}nav button.solved .problem-id{color:var(--green)}.aside-note{font-size:10px;color:#8295b2;margin:28px 8px;line-height:2}.workspace{padding:26px}.heading{margin-bottom:22px}.heading h2{font-size:24px;letter-spacing:-.6px;color:#ecf3ff;margin:7px 0 0}.heading .eyebrow{font-size:10px;color:#8ca1c0}#level{font-size:10px;background:#233657;border:1px solid #3a537b;color:#b2cfff;border-radius:5px;padding:5px 10px}.columns{grid-template-columns:minmax(270px,.85fr) minmax(390px,1.4fr);gap:20px;align-items:start}article{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#172131;font-size:13px;line-height:1.95}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:#1d2a3d;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:#e0eaff}.panel-title small{font:9px Consolas,monospace;letter-spacing:.08em;color:#9aadc8}.problem-content{padding:22px 20px}article h3{font-size:12px;color:#e7effb;margin-bottom:10px}#statement{color:#bccbe0;margin:0 0 26px}pre{background:#101a29;border:1px solid #31425d;border-radius:6px;color:#b6cfee;font-size:11px;line-height:1.9;padding:13px 14px;margin:10px 0 14px}details{border-color:#34465f;padding-top:16px;margin-top:22px}summary{font-size:12px;color:#a9e9c7}#hint{font-size:12px;color:#bfcee2}.notice{background:#1b362c;border:1px solid #365c48;border-radius:6px;padding:12px;color:#c2e1d0;font-size:11px;line-height:1.8}#instructions{margin:20px 0 0}
.coding{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#111a28;box-shadow:0 12px 32px #0003}.editor-toolbar{height:46px;margin:0;padding-right:10px;background:#1c293c;border-bottom:1px solid var(--border)}.editor-toolbar>button{font-size:10px;padding:5px 9px;background:transparent}.file-tab{display:flex;align-items:center;gap:10px;align-self:stretch;border-top:2px solid var(--green);border-right:1px solid var(--border);background:#111a28;min-width:150px;padding:0 17px;font:12px Consolas,monospace;color:#dae6f9}.file-icon{color:#f1cd8a}.saved-dot{width:6px;height:6px;background:#9de6bd;border-radius:50%;margin-left:4px}.indent-toolbar{gap:3px;padding:8px 10px 0;margin:0}.indent-toolbar button{font-size:10px;padding:5px 7px;color:#a2b4cf;background:transparent;border-color:transparent}.view-toolbar{display:flex;align-items:center;justify-content:space-between;padding:7px 15px 9px;font:10px Consolas,monospace;color:#9aaecb;border-bottom:1px solid #283952}.view-toolbar>div{display:flex;align-items:center;gap:5px}.view-toolbar select,.view-toolbar button{font-size:10px;padding:4px 6px;background:#1b2b43;border:1px solid #384e6e;color:#b9cce6;border-radius:4px}.view-toolbar button[aria-pressed=true]{background:#294d38;border-color:#609675;color:#c1f8d7}.CodeMirror{height:47vh;min-height:340px;border:0;border-radius:0;font:15px/1.85 Consolas,"Courier New",monospace}.cm-s-dju.CodeMirror{background:#111a28;color:#d8e4f7}.cm-s-dju .CodeMirror-gutters{background:#111a28;border-right:1px solid #233550;min-width:40px}.cm-s-dju .CodeMirror-linenumber{padding:0 10px 0 4px;color:#768eaf}.CodeMirror-lines{padding:14px 0}.cm-s-dju .CodeMirror-cursor{border-left:2px solid #b2f5d0}.cm-s-dju .CodeMirror-selected,.cm-s-dju.CodeMirror-focused .CodeMirror-selected{background:#34527e}.cm-s-dju .CodeMirror-activeline-background{background:#1d2d44}.cm-s-dju .cm-keyword{color:#d5affb}.cm-s-dju .cm-def{color:#8ac9ff}.cm-s-dju .cm-builtin{color:#f3d492}.cm-s-dju .cm-number{color:#f3b493}.cm-s-dju .cm-string,.cm-s-dju .cm-string-2{color:#b1dfa1}.cm-s-dju .cm-comment{color:#91a7c4;font-style:italic}.cm-s-dju .cm-operator{color:#a5d9ef}.indent-guide{position:absolute;top:0;bottom:0;border-left:1px solid #344663;pointer-events:none}.editor-help{margin:0;padding:7px 14px;background:#1a2a40;border-top:1px solid #2e4361;font:10px/1.5 Consolas,monospace;color:#a0b5d2}#cursor-position{color:#c1d0e7}.actions{margin:0;padding:13px 14px;align-items:center;justify-content:flex-end;background:#182538;border-bottom:1px solid var(--border)}.run-shortcut{margin-right:auto;font:10px Consolas,monospace;color:#8fa6c5}.primary{background:#99e7bd;border-color:#99e7bd;color:#143426;font-weight:700}.primary:hover:not(:disabled){background:#b5f4d0;border-color:#b5f4d0}#stop{color:#ffb9b0;border-color:#935e65}.results-panel{background:#131e2f}.results-panel .panel-title{background:#18273c;font-size:11px}.results-panel .panel-title span:before{content:'›_';font-family:Consolas,monospace;color:#b0c3df;margin-right:9px}#result{margin:14px;padding:13px 14px;border:1px solid #344e72;border-left:3px solid #7e9bc2;border-radius:5px;background:#1a2a41;color:#c4d4eb;font-size:12px;line-height:1.8;overflow-wrap:anywhere}#result.success{background:#1b382c;border-color:#437251;border-left-color:#a0eab5;color:#c1f0d1}#result.error{background:#39262e;border-color:#80515d;border-left-color:#eda395;color:#facdc5}#repair-note{margin:12px 14px}#case-results{padding:0 14px;font-size:11px;max-height:230px}#case-results:empty{display:none}#case-results p{border:1px solid #304765;background:#1a2b43;border-radius:4px;padding:7px 10px;margin:0 0 5px}#next{margin:12px 14px 16px;background:#284934;color:#c2eed0;border-color:#52765d}footer{font-size:10px;line-height:1.9;padding:16px 26px;color:#93a8c5;border-color:var(--border)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.editor-expanded aside,.editor-expanded article,.editor-expanded .heading,.editor-expanded footer{display:none}.editor-expanded .columns{grid-template-columns:1fr}.editor-expanded .workspace{max-width:1500px;margin:auto}.editor-expanded .CodeMirror{height:62vh}
@media(min-width:1500px){.workspace{padding:30px}.columns{gap:24px}.problem-content{padding:25px}.CodeMirror{height:50vh}}
@media(max-width:1150px){h1 span{display:none}aside{width:195px;padding:22px 10px}.workspace{padding:20px}.columns{grid-template-columns:minmax(250px,.85fr) minmax(320px,1.2fr);gap:14px}.problem-content{padding:18px 15px}.identity{gap:15px}.identity>span{display:none}.heading h2{font-size:21px}.help-detail{display:none}}
@media(max-width:900px){.columns{grid-template-columns:1fr}.CodeMirror{height:420px}.status{gap:8px}.status strong{display:none}.workspace{padding:18px}article{max-height:460px;overflow:auto}.problem-content{padding:20px}}
@media(max-width:600px){header{padding:16px;gap:12px;align-items:flex-start}.brand{gap:10px}.brand-mark{width:34px;height:34px;font-size:15px;flex-shrink:0}.brand .eyebrow{font-size:7px;letter-spacing:.04em}h1{font-size:19px}.status{display:block;text-align:right;max-width:100px;font-size:9px}.status button{margin-top:5px}.identity{padding:10px 14px;gap:10px;font-size:10px}.identity label{gap:6px}.identity input{width:145px;font-size:11px}.identity select{font-size:11px}.identity button{margin-left:0;font-size:10px;padding:6px 10px}main{display:block}aside{width:auto;padding:12px 10px;border-right:0;border-bottom:1px solid var(--border)}.sidebar-caption,aside h2,.aside-note,.progress-track{display:none}nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}nav button{flex:0 0 145px;min-height:48px;font-size:10px;padding:7px}.problem-id{min-width:24px;font-size:9px}.workspace{padding:17px 12px}.heading{margin-bottom:16px}.heading h2{font-size:21px}.heading .eyebrow{font-size:9px}.columns{gap:16px}article{max-height:400px}.problem-content{padding:17px;font-size:12px}.CodeMirror{height:365px;min-height:300px}.file-tab{min-width:0;padding:0 12px;font-size:11px}.indent-toolbar{padding:7px 7px 0}.indent-toolbar button{font-size:10px;padding:5px}.editor-help{font-size:9px;padding:7px 10px}.actions{gap:6px;padding:10px}.actions button{font-size:11px;padding:8px 10px}.run-shortcut{font-size:8px}footer{padding:14px;font-size:9px}}
