:root{color-scheme:dark;--ink:#e7f3ff;--muted:#94a9bf;--line:#243c54;--cyan:#66f3df}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0,#16354c,transparent 55%),#08121f;color:var(--ink);font-family:system-ui,'Noto Sans JP',sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#14273a;color:var(--ink);font-weight:700}button:hover{background:#244158;border-color:#65cfc4}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f5cd76;outline-offset:4px}header{height:78px;padding:0 4%;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:2px;text-decoration:none;color:white}.brand i{background:var(--cyan);color:#092c33;padding:5px 9px;border-radius:8px;font-style:normal}.brand small{font-size:10px;letter-spacing:1px;color:var(--muted)}.version{margin-left:auto;color:var(--muted);font-size:11px}main{max-width:1360px;margin:auto;padding:30px}.chapter{display:flex;justify-content:space-between;color:#79a4be;font:11px monospace;letter-spacing:2px}.heading{display:flex;align-items:center;justify-content:space-between;padding:15px 0 25px}h1{font-size:clamp(26px,3vw,40px);line-height:1.5;margin:0;font-weight:850;letter-spacing:.5px}h1 em{font-style:normal;color:var(--cyan)}p{line-height:1.9}.heading p{font-size:13px;color:var(--muted);margin-bottom:0}.meter{padding:15px 28px;border-left:1px solid var(--line);display:flex;flex-direction:column}.meter b{font-size:46px;color:var(--cyan)}.meter small{font-size:22px;color:#608397}.meter span{font:10px monospace;letter-spacing:2px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);gap:22px;align-items:start}.scene,.editor{border:1px solid var(--line);border-radius:18px;background:#0d1c2b;overflow:hidden}.scenehead,.scenefoot{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-size:10px;color:var(--muted)}.scenehead b{display:block;font-size:13px;margin-top:6px;color:white}.scenehead>span:last-child{color:var(--cyan)}#world{width:100%;height:auto;display:block;background:#0b1829}.scenefoot{padding:12px 20px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan);margin-right:5px}#status{margin:0 16px 16px;padding:14px 16px;background:#142d3c;border-left:3px solid #55c6b6;border-radius:6px;font-size:13px;min-height:73px}#status.error{border-color:#f5bd72;background:#312b26}#status.success{background:#133f39}.editor{padding:23px}.editorTitle{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1px;color:#8bacc0}.ready{color:var(--cyan)}h2{font-size:20px;line-height:1.6;margin:15px 0 5px}.caption{font-size:12px;color:var(--muted);line-height:1.8}.codebox{display:flex;background:#07111e;border:1px solid #304b62;border-radius:10px;overflow:hidden;margin-top:20px}.gutter{white-space:pre;color:#46637a;font:15px/30px monospace;padding:18px 12px;text-align:right;min-width:35px}textarea{font:16px/30px monospace;background:transparent;color:#9bffe5;border:0;resize:vertical;min-height:200px;max-height:400px;flex:1;min-width:0;padding:18px 8px;tab-size:4;outline:0}textarea:focus{box-shadow:inset 0 0 0 2px #65dcca}.controls{display:flex;gap:9px;margin-top:14px}.primary{background:var(--cyan);color:#092c32;border-color:var(--cyan);box-shadow:0 4px 22px #54efc720}.primary:hover{background:#9dffed}.controls .primary{flex:1}.save{font-size:10px;color:#829caf}.sound{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.sound button{padding:7px 9px}.sound label{display:flex;align-items:center;gap:5px}.sound input{width:70px;accent-color:var(--cyan)}details{padding-top:17px;font-size:13px}summary{cursor:pointer;color:#cde5f0;font-weight:700}.commands{display:flex;gap:7px;margin-top:13px}.commands button{flex:1;padding:9px 4px}.commands code{font-size:12px;color:var(--cyan)}.commands small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.quiet{background:none;border:0;color:#9db8ca;font-size:12px;margin-top:12px}.quiet:hover{background:#ffffff09}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0;color:#6e8ca3;font-size:10px}footer a{color:#97bdc8}footer button{border:0;background:none;font-size:10px;color:#97bdc8;padding:0}dialog{color:var(--ink);background:linear-gradient(155deg,#1c4151,#0b1829 70%);border:1px solid #528c9d;border-radius:24px;text-align:center;width:min(540px,92vw);padding:32px;box-shadow:0 0 100px #42e6ce24}dialog::backdrop{background:#030b16c9;backdrop-filter:blur(5px)}dialog[open]{animation:reveal .45s ease-out}dialog p{font-size:14px;color:#b2cdd8}dialog .primary{display:block;width:100%;margin-top:22px}dialog h2{font-size:26px}.clearBadge{font:11px monospace;letter-spacing:3px;color:var(--cyan)}.successIcon{width:82px;height:82px;margin:24px auto 10px;border-radius:50%;border:1px solid #80ffdd;background:#214f4b;box-shadow:0 0 50px #6dffcf50;font-size:56px;color:#c7ff9d}.reward{background:#ffffff08;border:1px solid #40635e;border-radius:9px;padding:13px;margin:22px 0;color:#b7f8cd;font-size:13px}.nextScene{position:relative;overflow:hidden;height:180px;background:linear-gradient(#050e20,#18395b);border:1px solid #3d5976;border-radius:13px;margin-top:20px}.moon{position:absolute;width:70px;height:70px;border-radius:50%;background:#a4c7d9;top:15px;right:60px;box-shadow:0 0 50px #99ccee55}.bridge{position:absolute;bottom:35px;height:18px;background:#59788b;border-top:4px solid #6ee6db;width:35%;transform:skewY(-10deg)}.bridge.left{left:0}.bridge.right{right:0;bottom:65px}.signal{position:absolute;right:25px;top:85px;color:#6affd8;font-size:50px;animation:signal 1.5s infinite}.nextScene>span{position:absolute;bottom:10px;left:15px;font-size:10px;letter-spacing:2px;color:#87ccb9}#privacyBanner{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);max-width:650px;width:94%;padding:15px 20px;background:#132b3e;border:1px solid #4a738a;border-radius:12px;z-index:10;box-shadow:0 6px 40px #0008}#privacyBanner[hidden]{display:none}#privacyBanner p{font-size:12px;margin:0 0 10px}#privacyBanner button{font-size:12px;margin-right:8px}#privacyBanner a{font-size:11px;color:#80d9c6}@keyframes reveal{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes signal{50%{opacity:.35}}@media(max-width:850px){main{padding:20px 14px}.workspace{grid-template-columns:1fr}.brand small{display:none}.version{font-size:9px}.brand{font-size:14px;letter-spacing:1px}header{gap:10px;padding:0 14px;height:65px}header button{font-size:11px;padding:8px}.meter{padding:10px}.meter b{font-size:30px}.meter span{font-size:7px}.chapter{font-size:8px;letter-spacing:1px}h1{font-size:25px}.heading p{font-size:11px}.editor{padding:18px}footer{flex-direction:column}dialog{padding:24px}dialog h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
#stages{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:25px}#stages button{text-align:left;font-size:12px;padding:12px}#stages b{display:block;color:#86b2c8;font:11px monospace;margin-bottom:5px}#stages .active{background:#24514f;border-color:#64f4d5}#stages .done b{color:#84ffd2}.heading{gap:20px}.heading>div:first-child{flex:1}#missionIntro{max-width:760px}#missionTitle{font-size:32px}.sensorpanel{display:flex;gap:15px;flex-wrap:wrap;padding:13px 18px;background:#102b3a;font-size:12px;border-top:1px solid #345169}.sensorpanel b{color:#8de9dc}#actionReadout{color:#abc1d2}.commands{flex-wrap:wrap}.commands button{min-width:90px}.commands .wide{flex-basis:100%;text-align:left;padding-left:12px}#challengePanel{margin-top:16px;border:1px solid #709a88;background:#163b36;padding:15px;border-radius:12px}#challengePanel p{font-size:12px}#challengePanel h3{font-size:15px;margin:0}#challengeStatus{color:#a0ffe0}.meter{min-width:130px}#energyCount{font-size:32px}#rewardStats{line-height:1.9}@media(max-width:850px){#stages{gap:4px}#stages button{padding:8px 4px;font-size:10px}#missionTitle{font-size:24px}.heading{gap:8px}.meter{min-width:95px;padding:8px}.sensorpanel{font-size:11px;gap:10px}}

#stages{grid-template-columns:repeat(6,1fr)}.chapterPicker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-size:12px;color:#a8c5d4}.chapterPicker select{background:#153044;color:#e6fbff;border:1px solid #537182;border-radius:8px;padding:10px;max-width:100%}.chapterPicker input{accent-color:#66f3df}.watch{font:12px/1.8 monospace;padding:12px;border:1px solid #365267;border-radius:8px;margin:12px 0;overflow-wrap:anywhere;color:#a0efd6;max-height:100px;overflow:auto}@media(max-width:650px){#stages{grid-template-columns:repeat(3,1fr)}}
