:root{color-scheme:dark;--bg:#080d19;--panel:#101a29;--line:#254153;--cyan:#65e8ec;--blue:#69a9ff;--purple:#ad8cff;--red:#ff6977;--muted:#91a5b8;--white:#edf8fa;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--white);background:radial-gradient(circle at 70% 5%,#12233d 0,transparent 37%),#080d19}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{cursor:default}.shell{min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:70px;flex:none;border-bottom:1px solid #2440538c;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);position:relative;z-index:3;background:#091321ba}.brand{border:0;background:none;color:#eafcff;font-weight:900;letter-spacing:-.08em;font-size:24px;padding:4px 0}.brand-dot{color:var(--cyan)}.topbar-center,.topbar-action,.footer,.eyebrow,.section-kicker,.section-number,.menu-side-label,.menu-bottom,.version,.terminal-bar,.terminal-foot,.terminal-history,.map-status,.sector-index,.sector-name,.sector-footer,.key-card,.question-panel-top,.question-bottom,.task-label,.repair-track,.chapter-footer,.echo-tag,.reward small,.reward>span{font-family:Consolas,'Courier New',monospace;letter-spacing:.15em;font-size:11px;font-weight:700}.topbar-center{color:#8eb6c7}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);vertical-align:middle;margin-right:9px;animation:pulse 2.2s infinite}.topbar-divider{color:#476074;padding:0 10px}.topbar-action{border:1px solid #355364;background:#11263a;color:var(--cyan);padding:11px 15px}.topbar-action span{padding-left:12px}.topbar-action[hidden]{display:none}.footer{min-height:42px;padding:12px clamp(20px,4vw,64px);display:flex;justify-content:space-between;gap:16px;color:#5e788a;border-top:1px solid #193246}#app{flex:1;display:flex;outline:none}.screen-enter{animation:enter .36s ease both}.menu-screen{width:100%;min-height:calc(100vh - 112px);position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 52% 62%,#112b4d 0,transparent 48%)}.menu-screen:before,.menu-screen:after{content:"";position:absolute;inset:0;pointer-events:none}.menu-screen:before{background:linear-gradient(transparent 97%,#50dce70b 100%),linear-gradient(90deg,transparent 97%,#50dce70b 100%);background-size:48px 48px;transform:perspective(500px) rotateX(65deg) scale(2.5) translateY(26%);opacity:.65}.menu-screen:after{background:repeating-linear-gradient(0deg,transparent 0 3px,#0003 4px 5px);opacity:.35}.menu-grid{position:absolute;width:min(750px,70vw);aspect-ratio:1;border:1px solid #26506a55;border-radius:50%;box-shadow:0 0 0 85px #25537a0c,0 0 0 170px #25537a08,inset 0 0 100px #65e8ec0a;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-grid:after,.menu-grid:before{content:"";position:absolute;inset:12%;border:1px dashed #5abdc632;border-radius:50%;animation:spin 50s linear infinite}.menu-grid:after{inset:27%;border-style:solid;animation-direction:reverse}.menu-content{text-align:center;z-index:1;padding:60px 20px 75px}.eyebrow{color:var(--cyan);display:flex;align-items:center;justify-content:center;gap:14px}.eyebrow-line{width:24px;height:1px;background:#72e9e9}.title-wrap{position:relative;margin:38px 0 0}.title-wrap h1{font-size:clamp(58px,9.5vw,148px);letter-spacing:-.095em;line-height:.88;margin:0;font-weight:900;text-shadow:0 0 60px #65e8ec33}.title-wrap h1 span{color:var(--cyan)}.title-ghost{position:absolute;inset:-2px 0 auto;color:#ff397b;opacity:.1;font-size:clamp(58px,9.5vw,148px);font-weight:900;letter-spacing:-.095em;line-height:.88;transform:translate(5px,4px);z-index:-1;animation:ghost 6s infinite}.title-sub{font-size:clamp(16px,2.3vw,30px);letter-spacing:.52em;font-weight:800;margin:22px 0 0;padding-left:.52em}.title-sub-line{display:inline-block;width:30px;height:1px;background:var(--cyan);vertical-align:middle;margin:0 10px}.version{letter-spacing:.1em;color:#76a5be;vertical-align:middle}.tagline{font-size:clamp(15px,1.7vw,19px);color:#a6c2d1;margin:31px 0 42px}.menu-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.button{min-height:54px;border:1px solid transparent;padding:0 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;color:var(--white);font-family:Consolas,'Courier New',monospace;font-size:12px;letter-spacing:.14em;font-weight:800;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.button:hover,.choice:hover,.sector:hover{transform:translateY(-2px)}.button-primary{background:var(--cyan);color:#071b29;box-shadow:0 8px 36px #55e4ec25}.button-primary:hover{background:#b8ffff;box-shadow:0 8px 38px #55e4ec40}.menu-actions .button{width:270px}.button-outline{border-color:#467386;background:#0d2133}.button-outline:hover{border-color:var(--cyan);background:#18374b}.text-button{background:none;border:0;color:#89bac8;letter-spacing:.14em;font:700 11px Consolas,'Courier New',monospace;padding:11px}.text-button:hover{color:var(--cyan);text-decoration:underline}.menu-side-label{position:absolute;right:4%;top:43%;writing-mode:vertical-rl;color:#5d8399}.menu-side-label span{color:var(--red);margin-top:12px}.menu-bottom{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between;color:#54768a}.signal-lines{color:var(--cyan);font-size:15px;margin-left:8px}.content-screen{width:min(1280px,100%);margin:0 auto;padding:clamp(32px,4vw,58px) clamp(20px,5vw,68px) 58px}.section-kicker{color:var(--cyan)}.section-kicker span{color:#4a687d;margin:0 12px}.section-number{color:#6898ad;margin-bottom:15px}.content-screen h1{font-size:clamp(54px,6vw,92px);letter-spacing:-.07em;line-height:.98;margin:0;font-weight:900}.content-screen h1 em{font-style:normal;color:var(--cyan)}.content-screen p{color:#a6bac7;line-height:1.65}.intro-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);align-items:center;margin:65px 0 38px}.intro-heading p{max-width:310px;font-size:17px}.terminal{border:1px solid #3e8096;background:#071421;box-shadow:0 0 70px #31c6d717,inset 0 0 65px #0c3e5138;min-height:390px;display:flex;flex-direction:column}.terminal-bar,.terminal-foot{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#79a5b5;border-bottom:1px solid #245065}.terminal-bar>span:last-child{color:var(--cyan)}.terminal-lights{display:flex;gap:6px}.terminal-lights i{height:7px;width:7px;background:#547889;border-radius:50%}.terminal-lights i:first-child{background:#ff6c76}.terminal-lights i:nth-child(2){background:#f7bb6b}.terminal-lights i:nth-child(3){background:#69e3cd}.terminal-body{padding:26px;flex:1;display:flex;flex-direction:column;justify-content:flex-end}.terminal-log{max-height:190px;overflow:auto;mask-image:linear-gradient(transparent,#000 35%);padding-top:10px}.terminal-history{display:flex;gap:18px;letter-spacing:.01em;font-size:12px;font-weight:400;color:#6c92a2;line-height:1.55;margin:0 0 10px}.terminal-history span{color:#38677b}.terminal-current{display:flex;gap:14px;font:17px/1.55 Consolas,'Courier New',monospace;color:#d6faf9;min-height:70px}.terminal-current p{margin:0;color:#d6faf9}.prompt-symbol{color:var(--cyan)}.cursor{display:inline-block;background:var(--cyan);height:18px;width:8px;vertical-align:middle;margin-left:6px;animation:blink 1s step-end infinite}.terminal-foot{height:39px;border-top:1px solid #245065;border-bottom:0;color:#547c8d;font-size:10px}.intro-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}.map-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:47px 0 46px}.map-header p{margin-bottom:0}.map-status{border:1px solid #305367;background:#0e1e2f;color:#9cc1ca;padding:14px 17px;white-space:nowrap}.map-path{display:flex;align-items:stretch}.sector{width:calc((100% - 120px)/3);min-height:310px;text-align:left;border:1px solid #31576e;background:linear-gradient(155deg,#142b40,#0d1929 65%);padding:23px;display:flex;flex-direction:column;color:var(--white);transition:.2s;position:relative;overflow:hidden}.sector:after{content:"";position:absolute;width:150px;height:150px;border:1px solid #67e5ee20;border-radius:50%;top:70px;right:-75px;box-shadow:0 0 0 25px #67e5ee09,0 0 0 50px #67e5ee05}.sector:hover{border-color:var(--cyan);box-shadow:0 0 30px #51d7e719}.sector-active{border-color:#5fd4e1;background:linear-gradient(150deg,#16435b,#0e1c2e 70%);box-shadow:inset 0 0 45px #42ddfa0b}.sector-complete{border-color:#75eacb}.sector-locked{opacity:.53;filter:saturate(.45)}.sector-soon{border-color:#7668aa}.sector-index{color:var(--cyan);display:flex;align-items:center;gap:10px}.sector-line{height:1px;flex:1;background:#3a6980}.sector-icon{font-size:42px;color:var(--cyan);margin:32px 0 12px;line-height:1}.sector strong{font-size:clamp(18px,2.2vw,27px);letter-spacing:-.03em;line-height:1.06}.sector-name{color:#7ebac9;margin-top:10px}.sector-footer{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;color:#a6d6db}.path-link{width:60px;position:relative;flex:none;display:grid;place-items:center}.path-link:before{content:"";height:1px;width:100%;background:#2b5366}.path-link span{width:8px;height:8px;border:1px solid #416d7d;position:absolute;transform:rotate(45deg);background:#0c1929}.path-link.lit:before{background:var(--cyan)}.path-link.lit span{border-color:var(--cyan);box-shadow:0 0 12px var(--cyan)}.map-bottom{border-top:1px solid #25455a;margin-top:52px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.map-bottom h2{margin:0;font-size:21px}.map-bottom h2 span{color:var(--cyan);font:12px Consolas,monospace;margin-left:10px}.keys{display:flex;gap:10px}.key-card{min-width:143px;border:1px solid #2c4a5d;background:#0d1b2a;padding:12px 15px;display:flex;align-items:center;gap:12px;color:#7d9aad}.key-card.owned{border-color:#53d9df;color:#e6ffff;box-shadow:0 0 18px #50dce718}.key-symbol{font-size:27px;color:#496c80}.owned .key-symbol{color:var(--cyan);text-shadow:0 0 16px var(--cyan)}.key-card small{display:block;font-size:9px;color:#648399;margin-top:5px}.owned small{color:var(--cyan)}.map-notice{min-height:20px;color:var(--cyan);font:13px Consolas,monospace;margin-top:20px}.map-notice.visible{border-left:2px solid var(--cyan);padding:10px 15px;background:#112e3b}.chapter-screen{width:min(1430px,100%);margin:0 auto;padding:36px clamp(20px,4vw,60px) 24px}.chapter-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}.chapter-top h1{font-size:clamp(52px,6vw,84px);letter-spacing:-.08em;line-height:1;margin:11px 0 8px}.glitch-period{color:var(--red)}.chapter-top p{color:#9bb5c4;margin:0;font-size:15px}.chapter-counter{text-align:right;font:11px Consolas,monospace;letter-spacing:.16em;color:#8db3c5}.chapter-counter strong{display:block;font-size:42px;color:var(--cyan);letter-spacing:-.07em;margin-top:5px}.chapter-counter small{font-size:18px;color:#668a9b}.chapter-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.scene-panel,.question-panel{min-width:0}.city-scene{height:410px;position:relative;overflow:hidden;border:1px solid #2e536a;background:radial-gradient(circle at 60% 24%,#3d568b50,transparent 32%),linear-gradient(#111832 2%,#162744 56%,#192837);isolation:isolate}.city-grid{position:absolute;inset:0;background:linear-gradient(90deg,#63d5e80a 1px,transparent 1px),linear-gradient(#63d5e80a 1px,transparent 1px);background-size:32px 32px}.city-glow{position:absolute;bottom:28%;left:12%;width:80%;height:80px;background:#a44cff22;filter:blur(35px)}.city-moon{position:absolute;top:40px;right:23%;width:65px;height:65px;border:1px solid #8ac9df65;border-radius:50%;box-shadow:0 0 45px #8abfff33,inset 0 0 20px #8abfff22}.city-buildings{position:absolute;left:0;right:0;bottom:71px;height:270px;display:flex;align-items:flex-end;justify-content:space-around;gap:3%;padding:0 3%}.building{width:14%;height:var(--h);background:linear-gradient(90deg,#0a1426,#1e3854 50%,#0d1d33);border:1px solid #5285a44d;box-shadow:inset 0 0 22px #57cce210;opacity:.15;filter:blur(2px);transition:opacity .8s,filter .8s,box-shadow .8s;position:relative}.building:before{content:"";position:absolute;inset:14px 12%;background:repeating-linear-gradient(90deg,#7feaf547 0 4px,transparent 4px 15px),repeating-linear-gradient(0deg,transparent 0 21px,#102439 21px 31px);opacity:.35}.building:after{content:"";position:absolute;left:10%;right:10%;top:-4px;height:3px;background:#6ed4e568}.b1{--h:65%}.b2{--h:87%}.b3{--h:50%}.b4{--h:95%}.b5{--h:73%}.b6{--h:62%}.stage-1 .b2,.stage-2 .b2,.stage-3 .b2,.stage-4 .b2,.stage-5 .b2,.stage-6 .b2,.stage-4 .b4,.stage-5 .b4,.stage-6 .b4,.stage-5 .b1,.stage-5 .b3,.stage-5 .b5,.stage-6 .building{opacity:1;filter:none;box-shadow:0 0 25px #47cce222,inset 0 0 22px #57cce221}.stage-6 .building:before{opacity:.9}.city-road{position:absolute;bottom:0;height:73px;left:0;right:0;background:linear-gradient(#0b1422,#07101a);border-top:2px solid #5d99ad88;transform:perspective(120px) rotateX(18deg);transform-origin:bottom}.road-line{height:2px;position:absolute;top:45px;left:10%;right:10%;background:repeating-linear-gradient(90deg,#91f8ee 0 40px,transparent 40px 70px);opacity:.4}.streetlamp{position:absolute;bottom:64px;width:3px;height:113px;background:#7392a5;z-index:2}.lamp1{left:20%}.lamp2{right:16%}.streetlamp:before{content:"";position:absolute;top:0;width:22px;height:3px;background:#7392a5}.streetlamp i{position:absolute;left:17px;top:1px;width:5px;height:5px;background:#7e8a95;border-radius:50%}.streetlamp.on i{background:#a4fff8;box-shadow:0 0 8px 5px #a4fff899,0 0 30px 15px #a4fff84b}.city-noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 21px,#ff5a8270 22px 24px,transparent 25px 62px);mix-blend-mode:screen;opacity:.65;animation:noise 3s steps(4) infinite;pointer-events:none}.stage-3 .city-noise,.stage-4 .city-noise{opacity:.25}.stage-5 .city-noise{opacity:.09}.stage-6 .city-noise{opacity:0}.city-scan{position:absolute;inset:-100% 0 auto;height:25%;background:linear-gradient(transparent,#8cecf50c,transparent);animation:scan 7s linear infinite}.scene-label{position:absolute;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;gap:8px;font:10px Consolas,monospace;letter-spacing:.1em;color:#aed1d8}.scene-label strong{color:var(--red)}.stage-4 .scene-label strong,.stage-5 .scene-label strong,.stage-6 .scene-label strong{color:var(--cyan)}.just-repaired:after{content:"";position:absolute;inset:0;background:#c2fffa;animation:repairFlash .9s ease-out both;pointer-events:none}.repair-track{background:#101e2e;border:1px solid #2a4b5e;border-top:0;padding:20px;color:#96b6c4}.repair-track>div:first-child{display:flex;justify-content:space-between}.repair-track strong{color:var(--cyan)}.track{height:5px;background:#264052;margin:14px 0}.track>div{height:100%;background:var(--cyan);box-shadow:0 0 14px var(--cyan);transition:width .5s}.track-steps{display:flex;justify-content:space-between;color:#577488}.track-steps .filled{color:var(--cyan)}.track-steps .current{color:var(--white)}.question-panel{border:1px solid #38586a;background:linear-gradient(145deg,#14273a,#0c1928 80%);min-height:485px;display:flex;flex-direction:column;box-shadow:inset 0 0 55px #6ee3f008}.question-panel-top,.question-bottom{padding:17px 20px;display:flex;justify-content:space-between;gap:10px;color:#7099ab;border-bottom:1px solid #2a4e63}.fragment-status{color:var(--red)}.question-bottom{border-top:1px solid #2a4e63;border-bottom:0;font-size:9px;margin-top:auto}.question-body{padding:22px clamp(20px,3vw,40px);flex:1}.quote-line{font-family:Georgia,serif;color:#4bd7dc;font-size:64px;line-height:.8;height:45px}.question-body blockquote{font-size:clamp(22px,2.5vw,34px);font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:5px 0 20px;min-height:75px}.question-rule{height:1px;background:#315369;margin-bottom:23px}.task-label{color:#8bb3c1;margin:0 0 12px}.detect-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{min-height:64px;width:100%;border:1px solid #3d6877;background:#132c3d;color:#d6eef0;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 15px;font:700 12px Consolas,'Courier New',monospace;letter-spacing:.04em;transition:.2s}.choice:hover{border-color:var(--cyan);background:#1a4050}.choice-mark{font-size:20px;color:var(--cyan)}.choice-arrow{margin-left:auto;color:var(--cyan)}.repair-actions{display:grid;gap:8px}.repair-choice{min-height:51px;font-size:13px;letter-spacing:0}.choice-letter{border:1px solid #4b8090;color:var(--cyan);padding:5px 8px}.feedback{border:1px solid #448f9a;background:#153841;display:flex;gap:15px;padding:15px;color:#e2ffff;margin-bottom:18px}.feedback.warning{border-color:#aa5964;background:#3d2432}.feedback.info{border-color:#426f96;background:#1a3047}.feedback-icon{border:1px solid currentColor;min-width:24px;height:24px;display:grid;place-items:center;font-weight:bold}.feedback strong{font:700 11px Consolas,monospace;letter-spacing:.13em}.feedback p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#d0e5e9}.next-fragment{width:100%}.chapter-footer{display:flex;justify-content:space-between;align-items:center;color:#698e9e;padding-top:15px}.complete-screen{text-align:center;position:relative;max-width:830px;padding-top:38px}.complete-halo{position:absolute;z-index:-1;width:500px;height:500px;border-radius:50%;border:1px solid #55dde725;box-shadow:0 0 0 60px #42dcea09,0 0 0 120px #42dcea05;left:50%;top:-100px;transform:translateX(-50%)}.complete-emblem{width:90px;height:90px;border:1px solid var(--cyan);color:var(--cyan);display:grid;place-items:center;font-size:55px;margin:26px auto 20px;transform:rotate(45deg);box-shadow:0 0 32px #6ff1ef44;animation:reward 1.2s ease both}.complete-emblem::first-letter{transform:rotate(-45deg)}.complete-screen h1{font-size:clamp(53px,7vw,90px)}.complete-lead{font-size:16px;margin:16px 0 25px}.echo-reveal{text-align:left;border-left:2px solid var(--purple);background:#171b35;padding:21px 27px;margin:0 auto 18px;max-width:600px}.echo-tag{color:#b69afa}.echo-reveal p{margin:10px 0 0;color:#e2e1f4;line-height:1.75}.reward{display:flex;align-items:center;text-align:left;gap:18px;border:1px solid var(--cyan);background:#113344;padding:14px 20px;max-width:600px;margin:0 auto 23px;box-shadow:0 0 30px #66eaf028;animation:reward .7s .3s ease both}.reward-icon{color:var(--cyan);font-size:36px;text-shadow:0 0 20px var(--cyan)}.reward small{display:block;color:#86b1bd;margin-bottom:5px}.reward strong{letter-spacing:.13em}.reward>span{margin-left:auto;color:var(--cyan)}.modal-backdrop{position:fixed;inset:0;background:#020812c9;z-index:10;display:grid;place-items:center;padding:20px}.modal{width:min(460px,100%);border:1px solid #59abb9;background:#102334;padding:30px;box-shadow:0 0 100px #000}.modal h2{font-size:27px;margin:18px 0 6px}.modal p{color:#a9c4cf;line-height:1.6}.modal-actions{display:flex;gap:10px;margin-top:24px}.modal-actions .button{flex:1;gap:8px}.button-danger{background:#b34b5c;color:white}.button-danger:hover{background:#d65d6e}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 3px var(--cyan)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ghost{0%,93%,100%{transform:translate(5px,4px);opacity:.1}94%{transform:translate(-4px,1px);opacity:.22}95%{transform:translate(3px,-3px);opacity:.08}}@keyframes blink{50%{opacity:0}}@keyframes scan{to{transform:translateY(800%)}}@keyframes noise{50%{transform:translateY(13px);opacity:.3}}@keyframes repairFlash{from{opacity:.4}to{opacity:0}}@keyframes reward{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@media(max-width:900px){.topbar-center{display:none}.intro-layout{grid-template-columns:1fr;gap:26px;margin:45px 0 25px}.intro-heading h1 br{display:none}.intro-heading p{max-width:none}.terminal{min-height:320px}.map-path{gap:8px}.sector{width:33.333%;padding:16px;min-height:280px}.path-link{display:none}.sector strong{font-size:20px}.map-bottom{display:block}.keys{margin-top:20px}.chapter-layout{grid-template-columns:1fr}.city-scene{height:340px}.question-panel{min-height:390px}.chapter-top h1{font-size:65px}}
@media(max-width:600px){.footer{font-size:9px}.menu-bottom,.menu-side-label,.title-sub-line,.version{display:none}.title-sub{letter-spacing:.32em}.content-screen{padding-top:30px}.map-header{display:block;margin:30px 0}.map-status{display:inline-block;margin-top:14px}.map-path{display:grid;gap:12px}.sector{width:100%;min-height:180px}.sector-icon{position:absolute;right:23px;top:26px;margin:0}.sector strong{margin-top:20px}.sector-footer{padding-top:12px}.keys{flex-direction:column}.key-card{width:100%}.chapter-top p{max-width:260px}.chapter-counter strong{font-size:31px}.city-scene{height:270px}.city-buildings{height:200px}.detect-actions{grid-template-columns:1fr}.question-panel-top,.question-bottom{font-size:9px}.modal-actions{flex-direction:column}.intro-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Sector 02: parallel portals and three connected puzzles. */
.double-screen{width:min(1320px,100%);margin:0 auto;padding:36px clamp(20px,4vw,60px) 30px}
.double-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:18px 0 24px}
.double-heading h1{font-size:clamp(42px,5.4vw,72px);line-height:1;letter-spacing:-.07em;margin:0;font-weight:900}
.double-heading h1 em{font-style:normal;color:var(--cyan)}
.double-heading p{color:#a9c1ce;margin:13px 0 0;line-height:1.5}
.double-levels{display:flex;gap:7px;flex:none}
.double-levels span{border:1px solid #3a5d72;background:#132437;color:#68899c;padding:12px;font:700 12px Consolas,monospace}
.double-levels span.active{border-color:var(--cyan);color:var(--cyan)}
.double-levels span.complete{background:#1a474e;border-color:#6ee9d7;color:#c6fff5}
.portal-room{height:240px;position:relative;overflow:hidden;display:flex;justify-content:space-around;align-items:center;border:1px solid #345366;background:radial-gradient(ellipse at 50% 85%,#3a296251,transparent 55%),linear-gradient(#101a31,#0b1629);isolation:isolate}
.portal-room:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#64daf408 1px,transparent 1px),linear-gradient(#64daf408 1px,transparent 1px);background-size:30px 30px;transform:perspective(400px) rotateX(35deg) scale(1.6)}
.portal-noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 37px,#f071a92b 38px 40px,transparent 42px 84px);animation:noise 4s steps(3) infinite;pointer-events:none}
.stability-1 .portal-noise{opacity:.55}.stability-2 .portal-noise{opacity:.23}.stability-3 .portal-noise{opacity:0}
.portal-visual{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;width:36%;color:var(--blue);text-shadow:0 0 17px currentColor}
.action-portal{color:#ec9a78}
.portal-ring{width:126px;height:126px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 25px currentColor,0 0 25px currentColor;position:relative;animation:portalBreath 4s ease-in-out infinite}
.portal-ring:after{content:"";position:absolute;inset:9px;border:1px dashed currentColor;border-radius:50%;animation:spin 28s linear infinite}
.action-portal .portal-ring{animation-duration:2.3s;box-shadow:inset 0 0 18px #e58a80,0 0 28px #9e69ff}
.portal-glyph{font-size:52px;line-height:1}
.portal-visual strong{font:800 16px Consolas,monospace;letter-spacing:.22em;margin-top:10px}
.portal-visual small{font:10px Consolas,monospace;letter-spacing:.1em;color:#a3bcc8;margin-top:5px;text-shadow:none;text-align:center}
.portal-bridge{position:absolute;width:27%;height:2px;background:repeating-linear-gradient(90deg,#bb98ff 0 14px,transparent 14px 25px);box-shadow:0 0 16px #bc8dff;opacity:.22}
.stability-1 .portal-bridge{opacity:.5}.stability-2 .portal-bridge{opacity:.75}.stability-3 .portal-bridge{opacity:1;background:linear-gradient(90deg,var(--blue),#c1a1ff,#ef9a70)}
.portal-room-status{position:absolute;bottom:11px;left:18px;right:18px;display:flex;justify-content:space-between;color:#89a9ba;font:700 10px Consolas,monospace;letter-spacing:.14em}
.portal-room-status b{color:var(--cyan)}
.pulse-state .state-portal .portal-ring,.pulse-action .action-portal .portal-ring{filter:brightness(1.45)}
.pulse-state .state-portal .portal-ring,.pulse-action .action-portal .portal-ring{animation:portalPulse .8s ease-out,portalBreath 4s .8s ease-in-out infinite}
.double-panel,.double-story{border:1px solid #34586a;background:linear-gradient(145deg,#14263a,#0b192a);margin-top:17px;padding:24px}
.double-panel-head{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #345366;padding-bottom:16px;color:#9fc2cf;font:700 11px Consolas,monospace;letter-spacing:.12em}
.double-panel-head strong{color:var(--cyan)}
.double-story{max-width:840px;margin:22px auto;text-align:center;padding:30px 40px}
.double-story p{color:#d2e6ec;font-size:17px;line-height:1.7;margin:17px auto 25px;max-width:650px}
.double-story .button{margin:auto}
.double-finale .reward{margin-bottom:24px}
.sort-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;padding-top:18px}
.evidence-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:start}
.evidence-card{min-height:62px;text-align:left;border:1px solid #3e6679;background:#172e40;color:#e5f6f6;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;line-height:1.3;transition:.2s;cursor:grab}
.evidence-card:hover,.evidence-card.selected{border-color:var(--cyan);background:#225066;box-shadow:0 0 16px #5fe9f329;transform:translateY(-2px)}
.evidence-card.selected{outline:2px solid var(--cyan);outline-offset:2px}
.evidence-card span{color:var(--cyan);font-size:20px}
.sort-portals{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.drop-portal{border:1px solid var(--blue);background:radial-gradient(circle,#19466a,#12263b);color:#a6d6ff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:190px;transition:.2s}
.drop-portal:hover,.drop-portal:focus-visible{transform:translateY(-3px);box-shadow:0 0 27px #7cd5ff55}
.drop-portal span{font-size:38px}.drop-portal strong{font:800 14px Consolas,monospace;letter-spacing:.15em}.drop-portal small{font:10px Consolas,monospace;color:#c2dbe7}
.action-drop{border-color:#e69376;background:radial-gradient(circle,#483052,#272039);color:#ffb08e}
.action-drop:hover{box-shadow:0 0 27px #e69aff55}
.placed-evidence{display:flex;flex-direction:column;gap:4px;width:100%;padding:0 7px 8px}
.placed-evidence i{display:block;font:11px/1.3 Arial,Helvetica,sans-serif;text-align:left;font-style:normal;color:#e1f5f7;background:#ffffff13;border:1px solid #ffffff36;padding:6px}
.double-help,.empty-evidence{color:#87a9b9;font-size:13px;margin:17px 0 0}
.double-panel .feedback{margin:16px 0 0}
.situation-context{border-left:2px solid var(--purple);background:#1c2540;margin:23px 0;padding:15px 20px}
.situation-context span{color:#bb9cfa;font:700 11px Consolas,monospace;letter-spacing:.12em}
.situation-context p{color:#e6e7f4;font-size:16px;margin:8px 0 0;line-height:1.5}
.sentence-gap{font-size:clamp(20px,2.7vw,32px);font-weight:700;letter-spacing:-.025em;margin:24px 0;color:#eaf8fa}
.sentence-gap span{color:var(--cyan);border-bottom:1px solid var(--cyan);padding:0 4px}
.choose-options{display:flex;gap:10px}.choose-options .choice{flex:1;font-size:16px}
.choose-panel>.button,.build-panel>.button{margin-top:18px}
.build-pair{display:flex;gap:8px;margin:20px 0 0}.build-pair span{flex:1;border:1px solid #3d6177;padding:12px;color:#819eb0;font:700 11px Consolas,monospace;letter-spacing:.1em}.build-pair span.active{border-color:var(--cyan);color:var(--cyan)}
.sentence-assembly{min-height:74px;border:1px dashed #547d90;background:#0a1b2a;display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:12px;margin:18px 0}
.sentence-assembly span{background:#27586a;color:#eaffff;border:1px solid #72c6cf;padding:8px 11px;font-size:16px}
.sentence-assembly em{color:#829eaf;font-style:normal}
.tile-bank{display:flex;flex-wrap:wrap;gap:9px;min-height:55px}
.word-tile{border:1px solid #648ea0;background:#193649;color:#e6f8fa;padding:10px 14px;font-size:16px;min-height:44px;transition:.2s}
.word-tile:hover{background:#296074;border-color:var(--cyan);transform:translateY(-2px)}
.word-tile:disabled{opacity:.5}.build-controls{display:flex;gap:10px;margin-top:19px;flex-wrap:wrap}.build-controls .button-primary{margin-left:auto}
.build-controls .button:disabled{opacity:.45;transform:none;box-shadow:none}
@keyframes portalBreath{50%{filter:brightness(1.25);transform:scale(1.025)}}
@keyframes portalPulse{50%{filter:brightness(2);transform:scale(1.12)}}
@media(max-width:900px){.sort-layout{grid-template-columns:1fr}.sort-portals{min-height:115px}.drop-portal{min-height:110px}.portal-room{height:210px}.portal-ring{width:105px;height:105px}.portal-glyph{font-size:42px}}
@media(max-width:600px){.double-heading{align-items:start}.double-heading h1{font-size:42px}.double-levels span{padding:8px}.portal-room{height:190px}.portal-ring{width:76px;height:76px}.portal-glyph{font-size:32px}.portal-visual strong{font-size:12px}.portal-visual small{font-size:8px}.evidence-list{grid-template-columns:1fr}.sort-portals{grid-template-columns:1fr 1fr}.drop-portal{min-height:90px}.double-panel,.double-story{padding:18px}.double-panel-head{display:block}.double-panel-head span{display:block;margin-top:6px}.choose-options{flex-direction:column}.build-controls .button{flex:1}.build-controls .button-primary{width:100%;margin:0}}
