@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(/fonts/Montserrat-Regular.woff2)format("woff2")}@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(/fonts/Montserrat-SemiBold.woff2)format("woff2")}@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(/fonts/Montserrat-Bold.woff2)format("woff2")}@font-face{font-family:Montserrat;font-weight:900;font-display:swap;src:url(/fonts/Montserrat-Black.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-700.woff2)format("woff2")}:root{--bg1:#fef3e2;--bg2:#dbeafe;--panel:#fff;--line:#cbd5e1;--hair:#e2e8f0;--ink:#111827;--muted:#475569;--faint:#94a3b8;--accent:#748df4;--accent-ink:#4257c9;--accent-soft:#e8ecfe;--good:#15803d;--good-soft:#dcfce7;--bad:#c81e25;--bad-soft:#fdecec;--amber:#b45309;--amber-soft:#fef3c7;--shadow:0 12px 30px #0f172a1f;--ui:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--ct-bg:#0a0f15;--ct-panel:#101722;--ct-line:#223040;--ct-ink:#e2eaf2;--ct-muted:#8495a8;--ct-accent:#3fe0f5;--ct-good:#5ef0a0;--ct-bad:#ff7083;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(135deg, var(--bg1), var(--bg2)) fixed;color:var(--ink);font:500 16px/1.5 var(--ui);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.btn{border:1px solid var(--line);background:var(--panel);font:600 15px/1 var(--ui);color:var(--ink);border-radius:11px;padding:9px 16px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn.quiet{color:var(--muted);background:0 0;border-color:#0000}.btn.quiet:hover:not(:disabled){color:var(--ink);border-color:var(--line)}.tok{font:500 .92em/1 var(--mono);background:var(--accent-soft);color:var(--accent-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;padding:2px 6px}.said{background:var(--amber-soft);color:#7c3d06;border-radius:6px;padding:1px 6px;font-weight:600}.chip{color:#fff;min-width:26px;font:700 .92em/1.55 var(--mono);text-align:center;border-radius:7px;padding:0 7px;display:inline-block}.l-a{background:#2563eb}.l-b{background:#15803d}.l-c{background:#b45309}.l-d{background:#be185d}.l-e{background:#7c3aed}.l-f{background:#0f766e}.ct{background:var(--ct-bg);min-height:0;color:var(--ct-ink);box-shadow:var(--shadow);border:1px solid #0a0f15;border-radius:18px;grid-template-rows:minmax(0,1fr) auto auto;display:grid;overflow:hidden}.ct-ed{min-height:0;position:relative}.ct-ed .cm-editor{color:var(--ct-ink);font:500 16px/1.7 var(--mono);font-variant-ligatures:none;background:0 0;position:absolute;inset:0}.ct-ed .cm-editor.cm-focused{outline:none}.ct-ed .cm-scroller{font-family:var(--mono);line-height:1.7;overflow:auto}.ct-ed .cm-content{caret-color:var(--ct-accent);padding:12px 0}.ct-ed .cm-line{padding:0 14px 0 10px}.ct-ed .cm-gutters{background:var(--ct-bg);color:var(--ct-muted);border-right:1px solid var(--ct-line)}.ct-ed .cm-lineNumbers .cm-gutterElement{min-width:38px;padding:0 10px 0 12px}.ct-ed .cm-cursor{border-left:2px solid var(--ct-accent)}.ct-ed .cm-selectionBackground,.ct-ed .cm-focused .cm-selectionBackground{background:#3fe0f538!important}.ct-ed .cm-matchingBracket{background:0 0;outline:1px solid #3fe0f580;color:var(--ct-accent)!important}.ct-ed .ct-given{opacity:.62}.ct-ed .ct-yours{background:#ffffff14;box-shadow:inset 3px 0 #fff}.ct-ed .ct-err{box-shadow:inset 3px 0 0 var(--ct-bad);background:#ff546829}.ct-bar{border-top:1px solid var(--ct-line);background:var(--ct-panel);align-items:center;gap:8px;padding:10px 12px;display:flex}.ct-bar .grow{flex:1}.ct-btn{border:1px solid var(--ct-line);color:var(--ct-ink);font:600 15px/1 var(--ui);background:0 0;border-radius:0;padding:9px 16px}.ct-btn:hover:not(:disabled){border-color:var(--ct-muted)}.ct-btn:disabled{opacity:.45}.ct-btn.run{background:var(--ct-accent);border-color:var(--ct-accent);color:#04222a;padding:11px 26px;font-weight:700}.ct-btn.run:hover:not(:disabled){background:#7cecfa;border-color:#7cecfa}.ct-btn.tutor{color:#ffc15c;border-color:#ffc15c80}.ct-out{border-top:1px solid var(--ct-line);min-height:76px;font:500 15px/1.45 var(--ui);color:var(--ct-muted);align-items:center;gap:14px;padding:12px 16px;display:flex}.ct-out .msg{flex:1;min-width:0}.ct-out.good{color:var(--ct-good)}.ct-out.bad{color:#ffd3d9}.ct-out code{font:500 .94em var(--mono);color:#fff;overflow-wrap:anywhere;background:#ffffff1a;border-radius:5px;padding:1px 5px}.ct-next{background:var(--ct-good);color:#052e16;font:700 15px/1 var(--ui);border:0;border-radius:0;flex:none;padding:12px 18px}.ct-next:hover{background:#8cf6bb}.page{grid-template-rows:auto minmax(0,1fr);gap:12px;height:100%;min-height:560px;padding:14px 22px 20px;display:grid}.top{align-items:center;gap:28px;min-height:40px;display:flex}.steps{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.steps-level{align-items:center;gap:6px;display:flex}.steps-name{font:700 15px/1 var(--ui);color:var(--ink);margin-right:6px}.step{border:1px solid var(--line);width:34px;height:34px;font:700 14px/1 var(--ui);color:var(--muted);background:#ffffffb3;border-radius:11px;padding:0}.step:hover:not(:disabled){border-color:var(--accent)}.step.done{background:var(--accent-soft);color:var(--accent-ink);border-color:#c9d2fb}.step.here{background:var(--accent);border-color:var(--accent);color:#fff}.step:disabled:not(.here){opacity:.45}.work{grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:16px;min-height:0;display:grid}.left{grid-template-rows:auto minmax(170px,1fr);gap:14px;min-height:0;display:grid}.brief{max-height:100%;padding:20px 26px;overflow:auto}.count{font:700 12px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.brief h1{font:700 25px/1.2 var(--ui);margin:8px 0}.goal{font:500 16.5px/1.5 var(--ui);color:var(--ink)}.todo{counter-reset:todo;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.todo li{counter-increment:todo;font:500 15px/1.5 var(--ui);color:var(--muted);padding-left:34px;position:relative}.todo li:before{content:counter(todo);background:var(--accent-soft);width:22px;height:22px;color:var(--accent-ink);font:700 12px/22px var(--ui);text-align:center;border-radius:7px;position:absolute;top:1px;left:0}.template{background:var(--amber-soft);font:600 15px/1.75 var(--ui);color:#7c3d06;border-radius:10px;margin:10px 0 0 34px;padding:10px 14px}.gap{font:500 .88em/1.5 var(--mono);color:var(--accent-ink);background:#fff;border:1px dashed #d19a3f;border-radius:6px;padding:0 6px;display:inline-block}.arcade{font:500 14px/1.3 var(--ui);color:var(--muted);align-items:center;gap:14px;margin-top:12px;display:flex}.cloud{--blue:#2c63e0;--new:#1d8a57;--upd:#a86a12;grid-template-rows:auto minmax(0,1fr);min-height:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:grid;overflow:hidden}.cloud-head{border-bottom:1px solid var(--hair);color:#5f6b7d;white-space:nowrap;align-items:center;gap:16px;padding:10px 16px;font-size:13px;display:flex}.cloud-brand{color:#1a2332;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.cloud-brand svg{fill:none;width:22px;height:22px;stroke:var(--blue);stroke-width:1.8px;stroke-linejoin:round}.cloud-crumb b{color:#1a2332;font-weight:600;font-family:var(--mono)}.cloud-right{align-items:center;gap:14px;margin-left:auto;display:inline-flex}.cloud-where b{color:#1a2332;font-weight:600}.cloud-live{align-items:center;gap:6px;font-weight:600;display:inline-flex}.cloud-live i{background:#b8c0cc;border-radius:50%;width:8px;height:8px}.cloud-live.on{color:var(--new)}.cloud-live.on i{background:var(--new)}.cloud-open{color:var(--blue);font-weight:600;text-decoration:none}.cloud-open:hover{text-decoration:underline}.cloud-body{background:#f7f9fc;min-height:0;overflow:auto}.cloud table{border-collapse:separate;border-spacing:0;background:#fff;width:100%;font-size:13.5px}.cloud th{text-align:left;color:#5f6b7d;border-bottom:1px solid var(--hair);background:#fafbfc;padding:8px 14px;font-size:12px;font-weight:600;position:sticky;top:0}.cloud td{border-bottom:1px solid var(--hair);vertical-align:top;color:#1a2332;padding:7px 14px}.cloud td.k,.cloud td.v{font-family:var(--mono);overflow-wrap:break-word;font-size:13px}.cloud td.k{white-space:nowrap}.cloud th:nth-child(2){width:100%}.cloud td.v{color:#8a4b00}.cloud td.who{white-space:nowrap;font-weight:600}.cloud td.who.me{color:var(--blue)}.cloud td.who .when{color:#5f6b7d;white-space:nowrap;font-size:12px;font-weight:400;display:block}.cloud td:last-child{white-space:nowrap;text-align:right}.cloud .tag{border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700}.cloud .tag.c{color:var(--new);background:#e3f5ec}.cloud .tag.u{color:var(--upd);background:#fbf0dc}.cloud tr.fresh td{background:#f1f6ff}.cloud tr.fresh td:first-child{box-shadow:inset 3px 0 0 var(--blue)}.cloud-none{color:#5f6b7d;min-height:56px;margin:0;padding:18px 16px;font-size:14px}.ct-out{height:96px;overflow:auto}.dlg-veil{z-index:900;background:#0f172a1f;place-items:start;padding:132px 0 0 max(30px,23vw - 236px);display:grid;position:fixed;inset:0}.dlg{background:#fff;border-radius:14px;gap:12px;width:min(472px,100vw - 60px);padding:16px 20px 18px;display:grid;box-shadow:0 24px 70px #0f172a59}.dlg-kind{font:500 12px/1 var(--mono);color:var(--accent-ink);background:var(--accent-soft);border-radius:6px;justify-self:start;padding:4px 7px}.dlg-msg{font:600 17px/1.45 var(--ui);color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;min-height:25px}.dlg-in{width:100%;font:500 17px/1.2 var(--ui);border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.dlg-in:focus{border-color:var(--accent);outline:none}.dlg-btns{justify-content:flex-end;gap:8px;display:flex}.dlg-btns .btn{min-width:84px}.wc{z-index:1100;font-family:var(--ui);color:#e8eef8;background:#020407c7;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.wc-cab{box-sizing:border-box;background:#0c1422;border:2px solid #26385a;border-radius:20px;flex-direction:column;width:min(760px,100%);min-height:min(600px,92vh);padding:26px 34px 30px;display:flex;position:relative;box-shadow:0 30px 80px #0000008c}.wc-bar{color:#8c9bb4;align-items:center;gap:22px;font-size:17px;display:flex}.wc-score{color:#e8eef8;min-width:70px;font-size:44px;font-weight:700;line-height:1}.wc-time{background:#1c2a44;border-radius:5px;flex:1;height:10px;overflow:hidden}.wc-time i{transform-origin:0;background:#3ff0ff;width:100%;height:100%;display:block}.wc-meta b{color:#e8eef8}.wc-x{color:#8c9bb4;background:0 0;border:0;padding:4px 8px;font-size:30px;line-height:1;position:absolute;top:10px;right:14px}.wc-rule{letter-spacing:.18em;text-align:center;border:2px solid #e8eef8;border-radius:999px;min-width:190px;margin:40px auto 0;padding:10px 28px;font-size:22px;font-weight:700}.wc-word{text-align:center;letter-spacing:.01em;min-height:1em;margin:36px 0 30px;font-size:clamp(80px,14vw,132px);font-weight:900;line-height:1}.wc-btns{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:auto;display:grid}.wc-btns button{height:104px;font:700 26px var(--ui);border:0;border-radius:14px}.wc-btns button:focus-visible,.wc-go:focus-visible{outline-offset:3px;outline:3px solid #fff}.wc.frozen .wc-play{filter:grayscale()brightness(.55)}.wc-wrong{text-align:center;color:#fff;font-size:38px;font-weight:700;display:none;position:absolute;top:46%;left:0;right:0}.wc.frozen .wc-wrong{display:block}.wc-play{flex-direction:column;flex:1;display:flex}.wc-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.wc-card h2{font-size:46px;font-weight:700}.wc-card p{font:500 19px/1.5 var(--ui);color:#c4cfde;max-width:540px}.wc-card p b{color:#fff}.wc-go{color:#031418;font:700 24px var(--ui);letter-spacing:.06em;background:#3ff0ff;border:0;margin-top:10px;padding:14px 54px}.wc-big{font-size:96px;font-weight:900;line-height:1}@media (max-width:1100px){.page{padding:12px 14px 14px}.cloud-where,.cloud-crumb{display:none}.brief{padding:16px 18px}}@media (max-height:700px){.brief h1{margin:6px 0;font-size:22px}.goal{font-size:15.5px}.todo li{font-size:14px}.ct-out{height:84px}}
