@font-face{font-family:Comback Home;src:url(/assets/CombackHomeRegular-jEMd9-BOtRwjSD.ttf) format("truetype");font-display:swap}:root{--wine: #a1081f;--wine-dark: #350812;--wine-black: #13080c;--orange: #f06b04;--yellow: #fbb728;--wheat: #f5ecd2;--wheat-muted: #c9bda7;--line: rgba(245, 236, 210, .16);--glass: rgba(17, 8, 12, .82);--mono: "SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;color:var(--wheat);background:var(--wine-black);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.app-shell{display:flex;flex-direction:column;height:100%}.app-screen{flex:1;min-height:0}.screen-navigation{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:42px;padding:5px 16px;background:var(--wine-black);border-bottom:1px solid var(--line)}.screen-navigation button{padding:7px 12px;border:1px solid var(--line);background:var(--wine-dark);color:var(--wheat);font:10px var(--mono);letter-spacing:.08em;cursor:pointer}.screen-navigation button:hover{border-color:var(--yellow);color:var(--yellow)}.screen-navigation{flex-wrap:wrap}.story-replay{min-width:0}.story-replay select{max-width:min(320px,80vw);padding:7px 8px;border:1px solid var(--line);background:var(--wine-dark);color:var(--wheat);font:10px var(--mono);cursor:pointer}.story-replay select:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.screen-navigation span{margin-left:auto;color:var(--wheat-muted);font:9px var(--mono)}@media(max-width:620px){.screen-navigation span{display:none}}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,textarea{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.landing,.narrative-screen,.workspace{position:relative;width:100%;height:100%;background-image:linear-gradient(90deg,#0b04075c,#0b04070a 55%,#0b04074d),url(/assets/BG-C1-lJEX-.jpeg);background-size:cover;background-position:center}.landing{display:grid;place-items:center;isolation:isolate;animation:enter 1s ease both}.landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#0c040714 25%,#0c040740 60%,#0c0407b8)}.landing-vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 150px #080003c7;pointer-events:none}.landing-content{display:flex;flex-direction:column;align-items:center;width:min(960px,86vw);margin-top:-5vh;filter:drop-shadow(0 12px 30px rgba(20,0,6,.65))}.title-arc{width:100%;overflow:visible}.title-arc text{font-family:Comback Home,Impact,sans-serif;paint-order:stroke fill;stroke:#28030acc;stroke-width:5px;letter-spacing:.045em}.title-arc .title-kicker{fill:var(--yellow);stroke:var(--wine);stroke-width:7px;font-size:72px;stroke-linejoin:round}.title-arc .title-main{fill:var(--wine);stroke:#2c9fc7;stroke-width:9px;font-size:132px;font-weight:900;stroke-linejoin:round}.sound-button{padding:8px 12px;border:1px solid var(--line);background:#1a060bbf;color:var(--wheat);font:9px var(--mono);letter-spacing:.12em;cursor:pointer}.sound-button:hover{border-color:var(--yellow);color:var(--yellow)}.sound-button:disabled{opacity:.5;cursor:default}.start-button{position:relative;display:flex;align-items:center;gap:42px;margin-top:-20px;padding:17px 22px 17px 34px;border:1px solid rgba(251,183,40,.72);background:linear-gradient(120deg,#3c0712ed,#1a060bdb);color:var(--wheat);box-shadow:0 0 0 6px #a1081f1f,0 15px 30px #14000652;font-family:var(--mono);font-weight:800;font-size:15px;letter-spacing:.25em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.start-button:before,.start-button:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--orange)}.start-button:before{top:-4px;left:-4px;border-top:1px solid;border-left:1px solid}.start-button:after{right:-4px;bottom:-4px;border-right:1px solid;border-bottom:1px solid}.start-button i{display:grid;place-items:center;width:32px;height:32px;color:var(--yellow);border-left:1px solid var(--line);font-style:normal}.start-button:hover{transform:translateY(-3px) scale(1.015);color:var(--yellow);box-shadow:0 0 22px #fbb72838,0 20px 35px #14000673}.landing-hint{color:#f5ecd2a3;font:10px var(--mono);letter-spacing:.22em;text-transform:uppercase}.landing.departing .landing-content{opacity:0;transform:scale(.96) translateY(-10px);transition:opacity .7s ease,transform .7s ease}.start-button:disabled{cursor:wait;opacity:.7}.landing-meta{position:absolute;right:28px;bottom:22px;left:28px;display:flex;justify-content:space-between;color:#f5ecd28c;font:9px var(--mono);letter-spacing:.18em}.narrative-screen{display:grid;place-items:center;padding:5vh 5vw;isolation:isolate}.narrative-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#1404098f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ambient-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.14}.orb-one{width:320px;height:320px;top:8%;left:6%;background:var(--orange)}.orb-two{width:390px;height:390px;right:2%;bottom:0;background:var(--wine)}.terminal-window{display:grid;grid-template-rows:40px minmax(0,1fr) 27px;width:min(1040px,92vw);height:min(720px,86vh);overflow:hidden;border:1px solid rgba(245,236,210,.2);border-radius:13px;background:#12080cc7;box-shadow:0 35px 100px #04000294,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(22px) saturate(110%);backdrop-filter:blur(22px) saturate(110%);animation:terminal-in .65s cubic-bezier(.2,.75,.25,1) both}.terminal-bar,.terminal-footer,.panel-header{display:flex;align-items:center;color:#f5ecd28a;font:9px var(--mono);letter-spacing:.14em}.terminal-bar{position:relative;justify-content:center;border-bottom:1px solid var(--line);background:#f5ecd209}.window-dots{position:absolute;left:14px;display:flex;gap:7px}.window-dots i{width:9px;height:9px;border-radius:50%;background:#a1081f}.window-dots i:nth-child(2){background:#f06b04}.window-dots i:nth-child(3){background:#fbb728}.signal{position:absolute;right:16px;color:var(--orange)}.terminal-body{overflow:auto;padding:clamp(28px,6vh,64px) clamp(28px,6vw,76px) 40px;scrollbar-color:rgba(251,183,40,.35) transparent;cursor:default}.terminal-heading{display:grid;grid-template-columns:175px 1fr;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}.terminal-heading span{padding-bottom:10px;color:var(--orange);font:10px var(--mono);letter-spacing:.15em}.terminal-heading h1{margin:0;color:var(--yellow);font:64px/.8 Comback Home,Impact,sans-serif;letter-spacing:.03em;text-transform:uppercase}.narrative-copy{padding:18px 0;color:#e8ddc7;font:clamp(13px,1.1vw,16px)/1.9 var(--mono)}.narrative-copy p{margin:0 0 1.4em}.cursor{display:inline-block;width:8px;height:1.1em;margin-left:4px;vertical-align:-.15em;background:var(--yellow);animation:blink .8s steps(1) infinite}.skip-hint{padding:5px 0;border:0;background:transparent;color:#fbb728a6;font:9px var(--mono);letter-spacing:.16em;cursor:pointer}.narrative-actions{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding-top:22px;border-top:1px solid var(--line)}.completion-line{margin:0;color:var(--orange);font:11px var(--mono);letter-spacing:.13em}.next-button{margin-left:auto;padding:13px 20px;border:1px solid rgba(251,183,40,.55);background:#a1081f40;color:var(--wheat);font:700 11px var(--mono);letter-spacing:.2em;cursor:pointer;transition:.2s ease}.next-button span{color:var(--yellow);font-size:16px}.next-button:hover{background:#a1081f7a;transform:translate(3px)}.terminal-footer{justify-content:space-between;padding:0 14px;border-top:1px solid var(--line);background:#0000002e;font-size:8px}.workspace{display:grid;grid-template-rows:56px minmax(0,1fr) 62px;background-position:center;isolation:isolate}.workspace:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(110deg,#120509f2,#0c0608e3);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.workspace-header{position:relative;z-index:5;display:grid;grid-template-columns:230px 1fr 190px;align-items:center;border-bottom:1px solid var(--line);background:#0c0508d6;box-shadow:0 8px 25px #00000040}.brand-mark{display:grid;grid-template-columns:38px 1fr;grid-template-rows:1fr 1fr;align-items:center;height:100%;padding:8px 16px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.brand-mark .spider-glyph{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;color:var(--yellow);border:1px solid var(--wine);border-radius:50%;font:22px Comback Home;transform:rotate(-20deg)}.brand-mark>span:nth-child(2){align-self:end;font:21px/.9 Comback Home;letter-spacing:.05em}.brand-mark small{color:var(--orange);font:7px var(--mono);letter-spacing:.17em}.chunk-progress{display:grid;grid-template-columns:auto minmax(80px,240px) 45px;align-items:center;justify-content:center;gap:15px;color:var(--wheat-muted);font:9px var(--mono);letter-spacing:.11em}.chunk-progress div{height:2px;background:#f5ecd221}.chunk-progress div i{display:block;height:100%;background:linear-gradient(90deg,var(--wine),var(--yellow));transition:width .4s ease}.chunk-progress strong{color:var(--yellow);font-weight:500}.mission-status{justify-self:end;margin-right:20px;color:var(--wheat-muted);font:9px var(--mono);letter-spacing:.14em}.mission-status i{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 8px var(--orange)}.mission-status.complete{color:var(--yellow)}.challenge-map{position:absolute;top:55px;left:0;display:grid;width:330px;max-height:calc(100vh - 80px);padding:12px;overflow:auto;border:1px solid var(--line);background:#12070bfa;box-shadow:20px 25px 50px #0000008c;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.challenge-map p{display:flex;justify-content:space-between;margin:5px 5px 12px;color:var(--orange);font:9px var(--mono);letter-spacing:.16em}.challenge-map p button{border:0;background:none;font-size:20px;cursor:pointer}.map-chunk h4{margin:12px 7px 5px;color:#f5ecd26b;font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.map-chunk>button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;min-height:45px;padding:7px 9px;border:0;border-top:1px solid rgba(245,236,210,.08);background:transparent;text-align:left;cursor:pointer}.map-chunk>button:hover:not(:disabled),.map-chunk>button.active{background:#a1081f33}.map-chunk>button:disabled{opacity:.28;cursor:not-allowed}.map-chunk>button span{color:var(--yellow);font:10px var(--mono)}.map-chunk>button b{font-size:12px;font-weight:550}.map-chunk>button small{color:var(--wheat-muted);font:7px var(--mono)}.workspace-grid{display:grid;grid-template-columns:minmax(350px,37%) minmax(0,63%);min-height:0;overflow:hidden}.mission-brief{overflow:auto;border-right:1px solid var(--line);background:#1c080da3;scrollbar-color:rgba(251,183,40,.35) transparent}.brief-title{position:relative;padding:30px 34px 28px;border-bottom:1px solid var(--line);overflow:hidden}.brief-title:after{content:attr(data-number);position:absolute;right:-5px;top:-10px;color:#f5ecd206;font:130px Comback Home}.brief-title>span{color:var(--orange);font:8px var(--mono);letter-spacing:.2em}.brief-title h1{margin:9px 0 12px;color:var(--yellow);font:clamp(32px,3vw,49px)/.9 "Comback Home";letter-spacing:.025em;text-transform:uppercase}.brief-title p{margin:0;color:var(--wheat-muted);font-size:13px;line-height:1.62}.brief-content{padding:6px 34px 45px}.brief-section{padding:21px 0 16px;border-bottom:1px solid rgba(245,236,210,.09)}.brief-section h3{margin:0 0 10px;color:var(--orange);font:8px var(--mono);letter-spacing:.2em}.brief-section ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.brief-section li{position:relative;padding-left:14px;color:#ded1b9;font:11px/1.55 var(--mono);white-space:pre-wrap}.brief-section li:before{content:"—";position:absolute;left:0;color:#fbb72880}.provided-section{margin:14px -15px 0;padding:16px 15px;border:1px solid rgba(251,183,40,.18);background:#fbb72809}.provided-section h3{color:var(--yellow)}.input-section h3:before{content:"↳ "}.design-note,.source-warning{display:grid;gap:6px;margin-top:18px;padding:13px;border-left:2px solid var(--orange);background:#f06b040f;color:var(--wheat-muted);font:10px/1.5 var(--mono)}.design-note b,.source-warning b{color:var(--orange);font-size:8px;letter-spacing:.16em}.source-warning{border-color:var(--yellow);background:#fbb72814}.source-warning b{color:var(--yellow)}.concepts{color:var(--wheat-muted);font:9px/1.5 var(--mono)}.concepts span{display:block;margin-bottom:4px;color:var(--orange);font-size:7px;letter-spacing:.16em}.coding-zone{display:grid;grid-template-rows:minmax(0,62%) minmax(170px,38%);min-width:0;min-height:0}.editor-shell,.console-shell{display:grid;grid-template-rows:38px minmax(0,1fr);min-height:0;background:#0a0708e0}.editor-shell{border-bottom:1px solid var(--line)}.panel-header{justify-content:space-between;padding:0 14px;border-bottom:1px solid rgba(245,236,210,.1);background:#f5ecd205;font-size:8px}.panel-header div{display:flex;align-items:center;gap:10px}.panel-header span{color:var(--wheat-muted)}.panel-header small{padding:3px 5px;border:1px solid rgba(245,236,210,.12);font-size:7px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--wine);box-shadow:0 0 7px var(--wine)}.status-dot.amber{background:var(--yellow);box-shadow:0 0 7px var(--yellow)}.console-shell{grid-template-rows:34px minmax(0,1fr)}.console-grid{display:grid;grid-template-columns:32% 68%;min-height:0}.stdin-panel{display:grid;grid-template-rows:30px 1fr;border-right:1px solid var(--line)}.stdin-panel>span,.output-block>span{padding:10px 13px 6px;color:var(--orange);font:7px var(--mono);letter-spacing:.16em}.stdin-panel small{color:var(--wheat-muted)}.stdin-panel textarea{width:100%;min-height:0;padding:6px 13px;resize:none;border:0;background:transparent;color:var(--wheat);font:11px/1.6 var(--mono);outline:0}.output-panel{overflow:auto;padding:9px 14px;scrollbar-color:rgba(251,183,40,.35) transparent}.console-empty{display:flex;align-items:center;justify-content:center;gap:15px;height:100%;color:#f5ecd25c;font:9px var(--mono)}.console-empty span{color:#fbb7284d;font-size:24px}.result-banner{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--wheat-muted);font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.result-banner i{width:6px;height:6px;border-radius:50%;background:var(--orange)}.result-banner.pass{color:var(--yellow)}.result-banner.pass i{background:var(--yellow);box-shadow:0 0 10px var(--yellow)}.output-block{border-top:1px solid rgba(245,236,210,.08)}.output-block>span{display:block;padding-left:0}.output-block pre,.test-result pre{margin:0;color:#ded4c2;font:10px/1.5 var(--mono);white-space:pre-wrap;word-break:break-word}.output-block.error pre{color:#ff977a}.test-result{margin:5px 0;padding:7px 9px;border-left:2px solid var(--wine);background:#a1081f14;font:9px var(--mono)}.test-result.pass{border-color:var(--yellow)}.test-result b{display:block;margin-bottom:4px;color:#e9dcca}.test-result.pass b{color:var(--yellow)}.test-result small{color:#ff977a}.action-bar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-top:1px solid var(--line);background:#0b0507f0}.shortcut{color:#f5ecd257;font:8px var(--mono);letter-spacing:.08em}.shortcut b{margin-left:6px;color:#f5ecd299;font-weight:400}.action-bar>div{display:flex;gap:9px}.action-bar button{height:36px;padding:0 17px;border:1px solid rgba(245,236,210,.19);background:#f5ecd209;font:700 9px var(--mono);letter-spacing:.1em;cursor:pointer;transition:.18s ease}.action-bar button:disabled{opacity:.35;cursor:not-allowed}.action-bar button:not(:disabled):hover{transform:translateY(-2px);border-color:var(--yellow)}.run-button i{margin-right:8px;color:var(--yellow);font-style:normal}.action-bar .submit-button{border-color:#fbb7288c;background:linear-gradient(110deg,#a1081fb8,#500814cc)}.submit-button span{margin-left:12px;color:var(--yellow)}.action-bar .advance-button{color:var(--wine-black);border-color:var(--yellow);background:var(--yellow)}.workspace-success .coding-zone{animation:success-pulse .8s ease}.workspace-loader{display:grid;place-items:center;align-content:center;gap:18px;width:100%;height:100%;background:linear-gradient(#110509d1,#110509e6),url(/assets/BG-C1-lJEX-.jpeg) center/cover;color:var(--yellow);font:10px var(--mono);letter-spacing:.18em}.workspace-loader i{width:140px;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);animation:loader 1s ease-in-out infinite}@keyframes enter{0%{opacity:0}to{opacity:1}}@keyframes terminal-in{0%{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@keyframes success-pulse{35%{box-shadow:inset 0 0 35px #fbb72821}}@keyframes loader{50%{transform:scaleX(.35);opacity:.45}}@media(max-width:900px){html,body,#root{overflow:auto}.workspace{height:auto;min-height:100%;grid-template-rows:56px auto 62px}.workspace-header{grid-template-columns:180px 1fr}.mission-status{display:none}.chunk-progress{justify-content:end;margin-right:14px}.chunk-progress>span{display:none}.workspace-grid{grid-template-columns:1fr;overflow:visible}.mission-brief{max-height:55vh;border-right:0;border-bottom:1px solid var(--line)}.coding-zone{height:850px;grid-template-rows:540px 310px}.action-bar{position:sticky;bottom:0;z-index:6}.shortcut{display:none}}@media(max-width:620px){.title-arc{transform:none}.landing-content{width:96vw}.start-button{margin-top:5px}.landing-meta{display:none}.narrative-screen{padding:2vh 2vw}.terminal-window{width:96vw;height:94vh}.terminal-heading{grid-template-columns:1fr;gap:12px}.terminal-heading h1{font-size:45px}.terminal-body{padding:25px 22px}.brand-mark>span:nth-child(2),.brand-mark small{display:none}.workspace-header{grid-template-columns:65px 1fr}.brand-mark{grid-template-columns:1fr;padding:8px 16px}.chunk-progress div{display:none}.brief-title,.brief-content{padding-left:22px;padding-right:22px}.console-grid{grid-template-columns:1fr;grid-template-rows:110px 1fr}.stdin-panel{border-right:0;border-bottom:1px solid var(--line)}.action-bar{padding:0 8px}.action-bar button{padding:0 10px;font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
