*{box-sizing:border-box}body{margin:0;background:#f7f8f3;color:#203c33;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #77a589;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,3.4vw,48px);font-weight:550;letter-spacing:-2px;line-height:1.17}h1>span{color:#8cb58b}h2{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.25}h3{font-size:19px;font-weight:550;letter-spacing:-.4px}p{color:#64746b}code,pre{font-family:SFMono-Regular,Consolas,monospace;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#52665b;background:#eef2e9;border-radius:8px;padding:14px}label{display:block;font-weight:550}input,textarea,select{border:1px solid #d9e1d5;border-radius:7px;background:#fff;color:#203c33;padding:11px 12px}input,textarea{width:100%}textarea{resize:vertical}small{font-size:11px}.topbar{height:86px;border-bottom:1px solid #e1e6dd;display:flex;justify-content:space-between;align-items:center;padding:0 35px;background:#fff}.brand{display:flex;align-items:center;gap:19px;text-decoration:none;font-size:12px;letter-spacing:.3px}.brand__mark{font-weight:750;font-size:37px;line-height:1;letter-spacing:-5px}.brand__mark>span{color:#8bac7f}.brand__divider{height:24px;width:1px;background:#e1e6dd}.topbar__right{display:flex;align-items:center;gap:8px;font-size:11px;color:#6e7d72}.quiet-link{margin-left:20px;text-decoration:none}.status-dot{display:inline-block;background:#6d9c6c;width:6px;height:6px;border-radius:100%;flex-shrink:0}.sidebar{position:absolute;left:0;top:86px;bottom:0;width:258px;min-height:850px;border-right:1px solid #e1e6dd;padding:38px 22px;background:#f0f3eb}.sidebar__label,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.65px;color:#708172}.sidebar h2{margin:19px 10px 12px;font-family:Georgia,serif;font-size:30px}.sidebar>p{font-size:11px;margin:0 10px 32px}.sidebar__label{margin-left:10px}.step{width:100%;background:none;border:1px solid transparent;text-align:left;display:flex;gap:12px;padding:15px 10px;border-radius:8px;margin:6px 0;color:#738077;align-items:center}.step__number{font-family:monospace;font-size:12px;align-self:flex-start;padding-top:1px;color:#8c9b8d}.step strong{display:block;font-size:12px;font-weight:550}.step small{display:block;font-size:10px;margin-top:3px;color:#849284}.step--active{background:#fff;border-color:#dce4d5;box-shadow:0 3px 8px #203c3304;color:#203c33}.step--active .step__number{color:#203c33}.step__arrow{margin-left:auto}.sidebar__footer{margin:60px 10px 0}.sidebar__footer p{font-size:10px;line-height:1.9;margin:10px 0 28px}.progress{height:3px;background:#dee5d7;border-radius:5px}.progress i{display:block;height:100%;background:#618665;border-radius:5px;transition:width .3s}.workspace{margin-left:258px;padding:26px 40px 20px;max-width:1800px}.workspace__meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;font-weight:600;color:#7f8c80}.save-status{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0;font-weight:400}.task-heading{display:flex;justify-content:space-between;gap:15px;margin:36px 0 30px;align-items:center}.task-heading .eyebrow{margin-bottom:12px;color:#60855d}.task-heading .eyebrow>span{color:#a1ada0;letter-spacing:1px;margin-left:6px}.task-heading p{max-width:590px;font-size:13px;margin-top:13px;line-height:1.8}.time-pill{white-space:nowrap;font-size:11px;padding:7px 12px;border:1px solid #dde4d6;border-radius:30px}.challenge-layout{display:grid;grid-template-columns:minmax(285px,.8fr) minmax(430px,1.35fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid #e1e6dd;border-radius:10px;padding:23px}.panel__eyebrow{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;font-weight:600;letter-spacing:1.3px;border-bottom:1px solid #eef0ea;padding-bottom:16px;margin-bottom:20px;color:#75816f}.panel__eyebrow>span{letter-spacing:0;font-weight:400;font-size:10px;color:#879381}.instructions>p{font-size:12px;line-height:1.9;margin-top:12px}.string-viz{padding:30px 0 26px}.string-viz>div{display:flex;justify-content:center;gap:7px}.string-viz span{display:inline-flex;width:37px;height:42px;justify-content:center;align-items:center;background:#f1f4ea;border:1px solid #dce4d3;border-radius:6px;font-family:Georgia,serif;font-size:23px;color:#4e7048}.string-viz>div:last-child span{background:#e1ecd7;border-color:#cedebf}.string-viz .string-viz__arrow{margin:12px 0;color:#85a07b;gap:10px;align-items:center;font-size:20px}.string-viz__arrow small{font-family:inherit;font-size:10px;color:#8b9786}.callout{background:#f7f8f3;border-left:2px solid #a9c597;padding:12px 14px;margin-bottom:22px;border-radius:0 5px 5px 0;font-size:11px}.callout strong{font-weight:550}.callout p{font-size:11px;margin-top:4px;line-height:1.8}.examples .eyebrow{margin:22px 0 10px;font-size:9px}.examples__row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eef0e9;padding:13px 0;font-size:12px}.examples__row>span{color:#9ba793}.examples__row code{font-size:11px}.solution-column{display:flex;flex-direction:column;gap:18px;min-width:0}.editor-panel{border-radius:10px;overflow:hidden;background:#142923;box-shadow:0 6px 16px #183c3409}.editor-panel__bar{display:flex;justify-content:space-between;background:#1b332b;color:#849b8b;align-items:center;height:47px;padding:0 18px;font-size:10px}.editor-panel__file{font-family:monospace;font-size:11px;color:#c6d4c9;display:flex;align-items:center;gap:8px}.editor-panel__file>i{width:6px;height:6px;border-radius:2px;background:#9bb487}.code-editor{max-width:100%;overflow:hidden}.cm-editor .cm-scroller{line-height:1.9;max-height:650px}.cm-editor.cm-focused{outline:0}.editor-panel__footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.0509803922);display:flex;align-items:center;gap:14px;justify-content:space-between}.editor-panel__footer>span{color:#7e9586;font-size:9px;max-width:260px}.button{border:none;border-radius:6px;padding:10px 17px;font-size:11px;font-weight:550;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:25px;white-space:nowrap}.button--primary{background:#244e40;color:#fff}.button--primary:hover{background:#34634f}.button--mint{background:#c6e7bb;color:#244634}.button--outline{background:#fff;border:1px solid #d8e0d2;color:#5b715b}.text-button{background:none;border:none;padding:5px 0;color:#6b8269;font-size:11px;text-decoration:none}.test-panel{padding:18px 20px;min-height:142px}.test-panel .panel__eyebrow{margin:0 0 12px;padding-bottom:12px}.test-empty{font-size:11px;text-align:center;padding:8px;line-height:1.8;color:#8d9887}.test-empty>span{display:block;font-size:20px;color:#9eaf95}.test-empty small{display:block;font-size:10px;color:#a0a99b}.test-row{display:flex;gap:10px;font-size:11px;padding:6px 0;flex-wrap:wrap}.test-row strong{font-weight:450}.test-row small{width:100%;margin-left:18px}.test-pass{color:#3d7c4b}.test-fail{color:#ad5345;overflow-wrap:anywhere}.explanation{padding:18px 20px}.explanation label{font-size:11px;margin-bottom:12px;display:flex;justify-content:space-between;gap:8px}.explanation label span{color:#9aa590;font-size:9px;font-weight:400}.explanation textarea{border-color:#e6eade;background:#fdfdfa;font-size:11px;line-height:1.9;min-height:83px}.explanation textarea::placeholder{color:#a1a99a}.workspace__footer{margin-top:28px;border-top:1px solid #e1e6dd;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace__footer>div{display:flex;gap:12px}.privacy{font-size:9px;margin-top:20px;line-height:1.9;color:#8b9886}.privacy button{font-size:9px;margin-left:10px}.banner{background:#eaf2e3;padding:13px 16px;font-size:11px;border:1px solid #d7e4ce;border-radius:8px;margin-top:18px;color:#4f6c47;overflow-wrap:anywhere}.banner button{border:0;background:transparent;color:inherit;text-decoration:underline;margin-left:7px;font-size:11px}.banner--practice{background:#f1f3e9;border-color:#e0e5d3;color:#7a8063}.banner--error{background:#fff1e9;border-color:#f0d1c3;color:#a25b43}.submit-panel{margin-top:20px}.submit-panel p{margin:10px 0}.average-viz{height:155px;display:flex;align-items:end;justify-content:center;gap:20px;padding:20px}.average-viz>div{display:flex;flex-direction:column;align-items:center;gap:4px}.average-viz span{width:40px;background:#bed2aa;border-radius:4px}.average-viz__missing span{background:repeating-linear-gradient(45deg,#e5ebdc,#e5ebdc 5px,#fafbf7 5px 10px);border:1px dashed #a8ba97}.schema{padding-top:20px}.schema__table{border:1px solid #dce4d3;border-radius:7px;overflow:hidden}.schema__table>strong{display:block;background:#eff3e8;font-size:12px;padding:9px 12px;font-weight:550}.schema__table small{float:right;font-family:monospace}.schema__table code{display:block;padding:6px 12px;font-size:11px;border-top:1px solid #f0f3eb}.schema__table em{float:right;font-size:9px;font-style:normal;color:#8b9e7e}.schema__relationship{font-size:9px;text-align:center;color:#91a084;padding:8px;position:relative}.muted{font-size:11px;margin:12px 0;color:#87917e}details{margin:18px 0;font-size:12px}summary{cursor:pointer;font-size:11px;font-weight:550}details p{margin-top:10px}.rules{padding-left:17px;font-size:12px;color:#64746b}.rules li{margin:12px 0}.rules code{background:#f0f3e9;padding:2px 4px;border-radius:3px;font-size:11px}.rover__body{display:flex;gap:25px;align-items:center}.rover__grid{position:relative;width:220px;height:220px;flex-shrink:0;display:grid;grid-template-columns:repeat(9,1fr);background:#f6f8f1;border:1px solid #e4e9dc}.rover__cell{border-bottom:1px solid #e4e9dc;border-right:1px solid #e4e9dc;display:flex;align-items:center;justify-content:center;color:#a0b18d;font-size:12px}.rover__cell--axis{background:#edf2e3}.rover__cell--trail{background:#d6e5c5}.rover__ship{display:inline-block;color:#3b7551;line-height:1;font-size:19px}.rover__north{position:absolute;right:0;top:-24px;font-size:10px;color:#72935e}.rover__controls{min-width:0;flex:1}.rover__controls h3{font-size:26px;margin:5px 0 12px}.rover__controls h3 span{font-size:14px;margin-left:5px;color:#81a36a}.rover__controls label{font-size:10px;margin-bottom:7px}.rover__controls input{font:12px monospace;padding:8px}.rover__controls .button{margin:10px 0;font-size:10px;width:100%}.rover__controls p{font-size:10px;line-height:1.7}.rover__controls>small{display:block;font-size:8px;color:#97a28c;margin-top:8px}.table-scroll{overflow:auto;margin-top:14px}table{border-collapse:collapse;font-size:10px;width:100%}td,th{padding:8px;text-align:left;border-bottom:1px solid #e1e6dd}.runner-frame{display:none}.admin-workspace{max-width:1280px;padding:50px 40px;margin:auto}.admin-workspace>h1{margin:12px 0}.admin-login{max-width:500px;margin-top:35px}.admin-login p{margin:12px 0 20px;font-size:12px}.admin-login label{font-size:12px}.admin-login .button{margin-top:20px}.admin-toolbar{display:flex;justify-content:flex-end;gap:20px;margin:20px 0}.invite-panel label{font-size:13px}.invite-panel small{display:block;font-size:10px;color:#8a9981;font-weight:400}.invite-panel form>div{display:flex;gap:12px;margin-top:12px}.invite-panel input{font-size:12px}.invite-panel .banner input{margin-top:10px}.review-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-top:24px;align-items:start}.candidate-list{padding:20px 14px}.candidate-list h3{padding:0 8px;margin-bottom:15px}.candidate-list>button{background:none;border:0;border-top:1px solid #e1e6dd;padding:16px 8px;width:100%;text-align:left;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;color:#203c33}.candidate-list>button strong{font-size:12px}.candidate-list>button span{font-size:10px;color:#75966a}.candidate-list>button small{width:100%;font-size:9px;color:#95a08b}.candidate-list .candidate-list__active{background:#eff4e8}.review-placeholder{min-height:300px}.review-placeholder p{margin:15px 0}.review-placeholder ul{font-size:12px;color:#708068;padding-left:17px}.review-detail{min-width:0}.review-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.review-tabs button{font-size:10px;padding:7px 9px;border:1px solid #e1e6dd;border-radius:5px;background:#fff;color:#6b7b62}.review-tabs .active{background:#e6efdc;color:#244e40}.review-detail .code-editor{border-radius:7px}.review-detail h3{margin:18px 0 8px;font-size:14px}.review-detail .button{margin-top:15px}.review-form{margin-top:22px}.review-form p{font-size:11px;margin-bottom:15px}.review-form label{font-size:12px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;text-transform:capitalize}.review-form select{width:80px;padding:6px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}@media(min-width:1600px){.workspace{padding-left:60px;padding-right:60px}.challenge-layout{grid-template-columns:minmax(330px,.8fr) minmax(500px,1.4fr)}}@media(max-width:1200px){.sidebar{width:220px;padding:30px 14px}.workspace{margin-left:220px;padding:25px}.challenge-layout{grid-template-columns:minmax(255px,.85fr) minmax(340px,1.2fr);gap:17px}.panel{padding:18px}.rover__body{flex-wrap:wrap}.rover__grid{margin:12px auto}.rover__controls{min-width:180px}.task-heading h1{font-size:36px}.step{gap:9px}.step strong{font-size:11px}}@media(max-width:980px){.topbar{height:72px;padding:0 22px}.topbar__right{font-size:0}.quiet-link{font-size:10px}.sidebar{position:static;width:auto;min-height:0;border-right:0;border-bottom:1px solid #e1e6dd;padding:15px 24px}.sidebar>h2,.sidebar>p,.sidebar__label,.sidebar__footer{display:none}.sidebar nav{display:flex;gap:10px}.step{margin:0;padding:10px;gap:8px}.step__number{font-size:10px}.step__arrow{display:none}.step small{font-size:9px}.workspace{margin-left:0;padding:25px}.challenge-layout{grid-template-columns:minmax(260px,.85fr) minmax(340px,1.2fr)}.task-heading{margin:28px 0}.review-layout{grid-template-columns:230px 1fr}}@media(max-width:700px){.topbar{padding:0 18px}.brand{font-size:10px;gap:13px}.topbar__right>.status-dot{display:none}.quiet-link{margin:0}.sidebar{padding:12px 14px}.sidebar nav{gap:4px}.step{padding:8px 5px;justify-content:center}.step__number{display:none}.step strong{font-size:9px}.step small{font-size:8px}.workspace{padding:20px 17px}.workspace__meta{font-size:8px;gap:10px}.save-status{font-size:8px}.task-heading{margin:26px 0 22px;align-items:flex-start}.task-heading h1{font-size:32px;letter-spacing:-1.5px}.task-heading p{font-size:12px}.time-pill{font-size:9px;padding:5px 8px;margin-top:25px}.challenge-layout{grid-template-columns:1fr;gap:18px}.instructions{padding:20px}.string-viz{padding:25px}.workspace__footer{gap:10px}.button{padding:10px 12px;gap:12px}.workspace__footer .button{font-size:10px}.workspace__footer>div{gap:6px}.rover__body{flex-wrap:nowrap;gap:15px}.rover__grid{width:180px;height:180px}.rover__controls{min-width:100px}.rover__controls .button{white-space:normal}.admin-workspace{padding:30px 17px}.review-layout{grid-template-columns:1fr}.invite-panel form>div{flex-wrap:wrap}.review-placeholder{display:none}.editor-panel__footer>span{font-size:8px}.cm-content{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
