@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Nunito:wght@400;500;600;700;800&display=swap";._lessonPage_t4e5e_1{min-height:100vh;padding-bottom:118px}._header_t4e5e_6{height:72px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--border);background:#090d1aeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}._lessonName_t4e5e_20{text-align:center;display:grid;gap:1px}._lessonName_t4e5e_20 span{color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}._lessonName_t4e5e_20 strong{color:var(--text);font-family:var(--font-display);font-size:1.06rem}._runtimeIndicator_t4e5e_23{justify-self:end;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:700}._runtimeIndicator_t4e5e_23 span{width:7px;height:7px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px #f5b7501f}._runtimeIndicator_t4e5e_23._ready_t4e5e_25{color:#bdf5d6;border-color:#43d68b4d}._runtimeIndicator_t4e5e_23._ready_t4e5e_25 span{background:var(--success);box-shadow:0 0 0 4px #43d68b1f}._workspace_t4e5e_28{display:grid;grid-template-columns:minmax(265px,310px) minmax(0,1fr);max-width:1600px;min-height:calc(100vh - 190px);margin:0 auto;padding:24px 28px;gap:22px}._mainArea_t4e5e_29{min-width:0;display:grid;grid-template-rows:minmax(360px,1fr) auto auto;gap:18px}._editorShell_t4e5e_30{min-height:360px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}._lowerPanels_t4e5e_31{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.28fr);gap:18px}._saveHint_t4e5e_32{margin:4px 28px 0 360px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:.78rem}._saveHint_t4e5e_32 svg{width:14px;color:var(--success)}._notFound_t4e5e_34{min-height:100vh;display:grid;place-content:center;gap:16px;text-align:center}._notFound_t4e5e_34 h1{margin:0}@media(max-width:960px){._workspace_t4e5e_28{grid-template-columns:1fr;padding:18px}.mission-panel{display:grid;grid-template-columns:185px 1fr 1fr;align-items:start}.mission-panel__progress{grid-column:2 / 4}._saveHint_t4e5e_32{margin-left:18px}}@media(max-width:720px){._header_t4e5e_6{height:62px;padding:0 16px;grid-template-columns:auto 1fr auto}._header_t4e5e_6 ._brand_t4e5e_46{font-size:1rem}._lessonName_t4e5e_20{text-align:left;margin-left:12px}._lessonName_t4e5e_20 strong{font-size:.9rem}._runtimeIndicator_t4e5e_23{font-size:0;padding:9px}._runtimeIndicator_t4e5e_23 span{margin:0}._workspace_t4e5e_28{padding:12px;gap:12px}.mission-panel{display:block}._lowerPanels_t4e5e_31{grid-template-columns:1fr}._editorShell_t4e5e_30{min-height:400px}._saveHint_t4e5e_32{margin:0 12px;font-size:.72rem}}:root{--bg: #090d1a;--surface: #10162b;--surface-raised: #151d38;--surface-subtle: #0d1325;--primary: #7168ff;--primary-bright: #9a94ff;--accent: #f08b48;--success: #43d68b;--warning: #f5b750;--danger: #ff6d7a;--text: #f3f5ff;--text-soft: #c5cbe0;--text-muted: #8791b3;--border: #26304f;--border-strong: #38466d;--font-display: "Fredoka", "Nunito", sans-serif;--font-body: "Nunito", system-ui, sans-serif;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--shadow: 0 16px 42px rgb(0 0 0 / 22%);font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 86% -10%,#20265b 0,transparent 28%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--primary-bright);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.eyebrow svg{width:15px;height:15px}.brand{display:inline-flex;align-items:center;gap:9px;color:#f7f8ff;font-family:var(--font-display);font-size:1.22rem;font-weight:600;letter-spacing:-.02em}.brand__mark{display:grid;place-items:center;width:30px;height:30px;color:#fff;border:1px solid rgb(180 175 255 / 50%);border-radius:10px;background:linear-gradient(145deg,var(--primary-bright),var(--primary));box-shadow:0 5px 15px #7168ff4d;font-size:1rem}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:10px 14px;color:var(--text);background:none;font-size:.9rem;font-weight:800;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.48}.button svg{width:18px;height:18px}.button--primary{color:#fff;background:linear-gradient(135deg,#827aff,#6258e8);border-color:#9891ff;box-shadow:0 9px 20px #5e54ea47}.button--primary:hover:not(:disabled){background:linear-gradient(135deg,#928bff,#7168ff)}.button--quiet{color:var(--text-soft);border-color:var(--border);background:#151d388c}.button--quiet:hover:not(:disabled){color:#fff;border-color:var(--border-strong);background:var(--surface-raised)}.button--stop{color:#ffc6cb;border-color:#ff6d7a52;background:#ff6d7a14}.button--stop:hover:not(:disabled){color:#fff;border-color:#ff6d7a9e;background:#ff6d7a2e}.home-page{min-height:100vh;padding:0 6vw}.home-page__header{height:74px;display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.86rem}.home-page__hero{max-width:1080px;min-height:calc(100vh - 74px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;margin:0 auto}.home-page__hero h1{max-width:720px;margin-bottom:22px;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.6rem);line-height:.98;letter-spacing:-.055em}.home-page__hero p:not(.eyebrow){max-width:600px;color:var(--text-soft);font-size:1.12rem;line-height:1.65}.home-page__cta{margin-top:18px;padding-inline:20px}.home-page__actions{display:flex;flex-wrap:wrap;gap:10px}.home-page__actions .home-page__cta{margin-top:18px}.mission-panel{align-self:stretch;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(165deg,#151d38eb,#0d1325f2);box-shadow:var(--shadow)}.mission-panel__section{padding:18px 0;border-bottom:1px solid var(--border)}.mission-panel__section h2{margin-bottom:8px;font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.02em}.mission-panel__description{margin:0;color:var(--text-soft);font-size:.94rem;line-height:1.52}.mission-panel__goals ol{display:grid;gap:11px;margin:0;padding:0;list-style:none}.mission-panel__goal-note{margin:-1px 0 12px;color:var(--text-muted);font-size:.76rem;line-height:1.35}.mission-panel__goals li{color:var(--text-soft);font-size:.91rem;line-height:1.3}.goal-toggle{min-height:30px;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;cursor:pointer}.goal-toggle input{position:absolute;width:1px;height:1px;opacity:0}.goal-toggle:focus-within .goal-marker{outline:3px solid var(--accent);outline-offset:3px}.goal-marker{display:grid;place-items:center;width:19px;height:19px;color:transparent;border:1px solid var(--border-strong);border-radius:50%}.goal-marker svg{width:13px;height:13px}.mission-panel__goals li.is-complete{color:#c7f7de}.mission-panel__goals li.is-complete .goal-marker{color:#0b251a;border-color:var(--success);background:var(--success)}.mission-panel__hints{display:grid;gap:8px}.mission-panel__hints .eyebrow{margin-bottom:1px}.hint-card{min-height:40px;padding:9px 10px;color:#7883a6;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#090d1a61;font-size:.83rem;line-height:1.35}.hint-card.is-unlocked{color:#efe8c7;border-style:solid;border-color:#f5b75059;background:#f5b75014}.mission-panel__progress{padding-top:18px}.mission-panel__progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--text-soft);font-size:.83rem}.mission-panel__progress strong{color:#fff}.progress-track{height:7px;overflow:hidden;border-radius:99px;background:#1d2745}.progress-track span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#8bdbff);transition:width .3s ease}.character{position:relative;display:grid;justify-items:center;padding:0 0 15px;border-bottom:1px solid var(--border)}.character__detective{width:min(185px,100%);overflow:visible;filter:drop-shadow(0 15px 18px rgb(4 8 23 / 36%))}.character__signal{fill:none;stroke:#64748b;stroke-width:4;stroke-linecap:round}.character__file-shadow{fill:#090d1a;opacity:.65;transform:translate(5px,6px)}.character__file{fill:url(#file-gradient);stroke:#7386bf;stroke-width:3}.character__file-fold{fill:none;stroke:#7386bf;stroke-width:3;stroke-linejoin:round}.character__code-lines{fill:none;stroke:#a5b4fc;stroke-width:4;stroke-linecap:round;opacity:.8}.character__lens{fill:#10284d;stroke:#8de5f4;stroke-width:5;filter:drop-shadow(0 0 8px rgb(103 232 249 / 35%))}.character__lens-inner{fill:url(#lens-gradient);opacity:.8}.character__lens-handle{fill:none;stroke:#8de5f4;stroke-width:10;stroke-linecap:round}.character__scan{fill:none;stroke:#ecfeff;stroke-width:3;stroke-linecap:round;opacity:.85}.character__success-sparks{fill:#ffcf64;filter:drop-shadow(0 0 4px #ffc756)}.character__caption{margin:-2px 0 0;color:var(--text-muted);font-size:.8rem;text-align:center}.character--loading .character__lens-inner{animation:character-pulse 1.1s ease-in-out infinite}.character--running .character__scan{animation:detective-scan .78s ease-in-out infinite alternate}.character--error .character__lens{stroke:var(--danger);filter:none}.character--error .character__lens-inner{fill:#ff92a0}.character--success .character__detective{animation:detective-celebrate .65s ease-in-out 2}.character--compact{padding:0;border:0}.character--compact .character__detective{width:230px}@keyframes character-pulse{50%{fill:#fff;filter:drop-shadow(0 0 8px #f5c457)}}@keyframes detective-scan{to{transform:translate(4px);opacity:.35}}@keyframes detective-celebrate{50%{transform:translateY(-8px) rotate(2deg)}}.code-editor{position:relative;height:100%;min-height:360px;display:grid;grid-template-rows:45px minmax(0,1fr);overflow:hidden;background:#10162b}.code-editor__tab{display:flex;align-items:center;gap:8px;padding:0 18px;color:#d9def4;border-bottom:1px solid var(--border);background:#121a33;font:600 .83rem/1 JetBrains Mono,monospace}.file-dot{width:9px;height:9px;border-radius:50%;background:#f5c457;box-shadow:0 0 0 4px #f5c4571f}.code-editor__tab-note{margin-left:auto;color:var(--text-muted);font-family:var(--font-body);font-size:.73rem}.code-editor__monaco-wrapper{height:100%}.code-editor__monaco-wrapper>div{height:100%}.code-editor__monaco-host{height:100%}.editor-highlight-line{background:linear-gradient(90deg,rgb(240 139 72 / 12%),transparent 68%);border-left:2px solid rgb(240 139 72 / 68%)}.input-panel,.console-panel{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#10162beb;box-shadow:0 10px 30px #00000021}.panel-heading{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px 11px;border-bottom:1px solid var(--border)}.panel-heading .eyebrow{margin:0 0 2px;font-size:.65rem}.panel-heading h2{margin:0;font-family:var(--font-display);font-size:1rem}.panel-note{max-width:130px;color:var(--text-muted);font-size:.72rem;text-align:right;line-height:1.25}.field-help{margin:10px 15px 0;color:var(--text-muted);font-size:.75rem}.input-panel textarea{width:calc(100% - 28px);min-height:105px;resize:vertical;display:block;margin:10px 14px 14px;padding:10px;color:#eaf0ff;border:1px solid var(--border);border-radius:9px;outline:none;background:#0b1122;font:.84rem/1.45 JetBrains Mono,monospace}.input-panel textarea:focus{border-color:var(--primary-bright);box-shadow:0 0 0 3px #7168ff2b}.input-panel textarea:disabled{opacity:.6}.console-panel{min-height:175px}.console-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.72rem;font-weight:700}.console-status span{width:6px;height:6px;border-radius:50%;background:var(--success)}.console-output{max-height:190px;min-height:105px;overflow:auto;padding:11px 15px;background:#0a1020}.console-empty{margin:19px 0;color:#6c769a;font:.82rem/1.4 JetBrains Mono,monospace}.console-entry{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:.82rem/1.5 JetBrains Mono,monospace}.console-entry--stdout{color:#e4e9fb}.console-entry--stderr{color:#ffb4bc}.console-entry--system{padding:4px 0;color:#8f9ac0;font-size:.74rem}.console-error{padding:11px 12px;color:#ffd6da;border:1px solid rgb(255 109 122 / 32%);border-radius:10px;background:#ff6d7a17}.console-error p{margin-bottom:3px;font-weight:800}.console-error span{color:#f7cbd0;font-size:.8rem;line-height:1.35}.console-error details{margin-top:9px;color:#d698a0;font-size:.74rem}.console-error summary{cursor:pointer}.console-error pre{max-height:110px;overflow:auto;white-space:pre-wrap;font:.68rem/1.4 JetBrains Mono,monospace}.run-toolbar{position:fixed;right:0;bottom:0;left:0;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:14px max(28px,calc((100vw - 1544px)/2 + 28px));border-top:1px solid var(--border);background:#090d1aeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.run-toolbar__secondary,.run-toolbar__main{display:flex;align-items:center;gap:10px}.run-toolbar .button--primary{min-width:184px}kbd{margin-left:4px;padding:2px 5px;color:#d9d7ff;border:1px solid rgb(255 255 255 / 18%);border-radius:4px;background:#00000026;font:.65rem var(--font-body)}.success-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgb(67 214 139 / 42%);border-radius:var(--radius-lg);background:linear-gradient(100deg,#1a67477f,#152c36f0);box-shadow:0 12px 32px #0003;animation:success-in .24s ease-out}.success-card__spark{display:grid;place-items:center;width:45px;height:45px;color:#fff4bd;border-radius:14px;background:#f5b7502e}.success-card__spark svg{width:25px}.success-card .eyebrow{margin-bottom:2px;color:#b8f7d3}.success-card h2{margin:0 0 3px;font-family:var(--font-display);font-size:1.25rem}.success-card p:not(.eyebrow){margin:0;color:#d7f5e5;font-size:.88rem}.success-card__close{width:33px;height:33px;padding:0;color:#d7f5e5;border:0;border-radius:50%;background:transparent;font-size:1.55rem;line-height:1}.success-card__close:hover{background:#ffffff1f}@keyframes success-in{0%{opacity:0;transform:translateY(8px)}}@media(max-width:720px){.home-page{padding:0 24px}.home-page__header span:not(.brand__mark){font-size:.72rem}.home-page__hero{grid-template-columns:1fr;gap:20px;padding:40px 0;text-align:center}.home-page__hero .character{order:-1}.home-page__hero p:not(.eyebrow){margin-inline:auto}.home-page__hero .eyebrow,.home-page__actions{justify-content:center}.run-toolbar{min-height:70px;padding:10px 12px}.run-toolbar .button--quiet{width:44px;padding:0;font-size:0}.run-toolbar .button--quiet svg{margin:0}.run-toolbar .button--primary{min-width:0}.run-toolbar .button--primary kbd{display:none}.button{min-height:42px;padding-inline:11px;font-size:.82rem}.character--compact .character__detective{width:175px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
