:root{color-scheme:dark;font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;color:#e7e6dd;background:#0b1014}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #e4c08b;outline-offset:3px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.layout{min-height:100svh;min-height:100dvh;display:flex;justify-content:center;align-items:center;gap:65px;padding:24px}.intro{width:270px}.intro small{font:9px monospace;letter-spacing:2px;color:#bda47c}.intro h1{font-size:40px;font-weight:400;line-height:1.7;letter-spacing:3px}.intro p{font-size:12px;line-height:2.2;color:#b0b9b8}.intro .notes{font-size:10px;color:#7e908e}.line{width:35px;height:1px;background:#bda47c;margin:28px 0}.intro a{color:#9badab;font-size:10px;text-underline-offset:5px}.device{width:440px;height:880px;border:1px solid #394747;box-shadow:0 30px 100px #0009}.room{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#111c23;touch-action:none}.plate{position:absolute;width:100%;height:100%;object-fit:fill;inset:0;pointer-events:none}#actor,#fx{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none}.foreground{z-index:4}.shade{position:absolute;inset:0;background:linear-gradient(#0b141b66,transparent 22%,transparent 60%,#071218e8);pointer-events:none;z-index:5}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:17px 17px 0;z-index:7}header>div{flex:1}header span{display:block;font:8px monospace;letter-spacing:2px;color:#c2d5cf}header strong{font-size:15px;font-weight:400;display:block;margin-top:7px}header button{width:36px;height:36px;background:#0d202938;border:1px solid #dbe7dc55}.status{position:absolute;z-index:6;top:86px;left:17px;width:125px;color:#e5e5d5}.status label{display:flex;justify-content:space-between;font:9px monospace;margin:9px 0 5px}.life,.energy{height:5px;background:#15252c80;position:relative;border:1px solid #c4d2bc88;overflow:hidden}.life{background:repeating-linear-gradient(90deg,#e8dfc1 0 calc(5% - 1px),transparent calc(5% - 1px) 5%)}.energy i,.energy b{position:absolute;inset:0 auto 0 0;height:100%;width:100%}.energy i{background:#b37e4e}.energy b{background:#d9c396}.status small{display:block;font:8px monospace;margin-top:8px}.panel{position:absolute;bottom:28px;left:20px;right:20px;z-index:8}.panel>small{font:9px monospace;letter-spacing:2px;color:#c3b898}.panel h2{font-size:25px;font-weight:400;letter-spacing:2px;margin:10px 0}.panel p{font-size:10px;line-height:1.8;color:#d1d7cf;margin:8px 0 13px}.choices{display:flex;gap:7px;margin:13px 0}.choices button{flex:1;background:#10212ce0;border:1px solid #9ab2ad77;min-height:38px;font-size:11px}.choices .selected{background:#d7c397;color:#142128;border-color:#ead7aa}.buttons{display:flex;gap:8px}.primary{background:#ddc99b;color:#102029;border:1px solid #f2ddb3;min-height:44px;padding:9px 15px;font-size:12px}.buttons .primary{flex:1}.buttons>button:not(.primary){width:90px;border:1px solid #c7d8c1;background:#233b3ae8}.pad{height:43px;border:1px solid #a4b6ac55;margin-top:10px;display:flex;align-items:center;justify-content:center;color:#bccbc2;font:10px monospace;letter-spacing:3px;background:#0c222680;position:relative;user-select:none}.pad i{position:absolute;height:20px;width:20px;border:1px solid #efd7a7;border-radius:50%;display:none}.pad.active i{display:block}.pad.active{color:transparent}.poi{position:absolute;z-index:6;width:48px;height:48px;transform:translate(-50%,-100%);border:0;background:transparent;color:#fff4cc;font-size:30px;text-shadow:0 0 15px #efc177;filter:drop-shadow(0 1px 3px #000)}.poi:after{content:'';position:absolute;bottom:-5px;left:5px;width:38px;height:12px;border:1px solid #e2c996;border-radius:50%;background:#eed49b11}.dummy{position:absolute;z-index:1;width:42px;height:95px;transform:translate(-50%,-100%);filter:drop-shadow(0 0 7px #d9f6ed);opacity:.55}.dummy i{display:block;border:1px solid #e3f3ed;width:23px;height:23px;border-radius:50%;margin:auto}.dummy b{display:block;border:1px solid #e3f3ed;height:42px;width:35px;margin:3px auto}.dummy span{display:block;width:30px;height:27px;border-left:5px solid #d7e3df;border-right:5px solid #d7e3df;margin:auto}#message{position:absolute;z-index:9;left:18px;right:18px;top:28%;text-align:center;font-size:12px;line-height:1.8;color:#fff2cf;text-shadow:0 2px 5px #000;pointer-events:none}footer{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;display:flex;justify-content:space-between;font:7px monospace;letter-spacing:1px;z-index:9;color:#80978d;background:#10202a66}.side{writing-mode:vertical-rl;font:9px monospace;letter-spacing:2px;color:#758784}.modal,#curtain{position:absolute;inset:0;z-index:20;background:#0b1722eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px}.modal>div{max-width:300px;width:100%}.modal small{font:9px monospace;color:#bba47f}.modal h2{font-weight:400;font-size:25px}.modal p{white-space:pre-line;font-size:12px;line-height:2;color:#b7c6bf}.modal button{width:100%;margin-top:12px}.modal button:not(.primary){background:none;border:0;color:#91a49b;min-height:36px;font-size:11px}#curtain{padding:0;background:#050c11}#cover-content{position:absolute;inset:0;background-position:center;background-size:100% 100%}#curtain .primary{position:absolute;bottom:6%;left:10%;right:10%;width:80%;z-index:1}#fx{pointer-events:none}.beam{position:absolute;height:2px;transform-origin:left center;background:#f9e8ad;box-shadow:0 0 8px #ffe7ba;animation:fade .28s forwards}.pulse{position:absolute;width:80px;height:80px;border:2px solid #d9e8d5;border-radius:50%;transform:translate(-50%,-50%);animation:fade .35s forwards}@keyframes fade{to{opacity:0}}.room.light{color:#23333a}.room.light header span,.room.light .status{color:#294249}.room.light header button{background:#f0f6f366;border-color:#4c666a88}.room.light .shade{background:linear-gradient(#eef4f333,transparent 35%,transparent 60%,#071218ed)}@media(max-width:800px){.layout{padding:0;min-height:100svh;min-height:100dvh}.intro,.side{display:none}.device{width:min(100vw,500px);height:100svh;height:100dvh;border:0}.panel{bottom:calc(28px + env(safe-area-inset-bottom));left:16px;right:16px}header{top:env(safe-area-inset-top)}footer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}@media(max-height:700px){.panel h2{font-size:20px;margin:5px 0}.panel p{margin:5px 0;font-size:9px}.choices{margin:7px 0}.pad{height:34px;margin-top:6px}.panel{bottom:25px}.status{top:70px;width:100px}}@media(prefers-reduced-motion:reduce){.beam,.pulse{animation-duration:.01s}}
.intro h1{font-size:34px;letter-spacing:2px}.choices button{color:#e7e6dd}.choices button.selected{color:#142128}.room.light .panel{color:#e7e6dd}.room.light .panel h2{color:#e7e6dd;text-shadow:0 1px 6px #162a32}.room.light .panel p{color:#e0e5dc;text-shadow:0 1px 4px #162a32}
.legacy-link{display:block;text-align:center;margin-top:16px;color:#a3b6aa;font-size:10px;text-underline-offset:4px}
.descent-entry{position:absolute;bottom:2%;left:8%;right:8%;text-align:center;z-index:2;color:#d3dfd1;font-size:10px;text-underline-offset:4px;padding:7px;background:#081a2266}
.scene-frame{position:absolute;overflow:hidden;isolation:isolate}.room{background-position:center;background-size:cover}.room:before{content:'';position:absolute;inset:0;background:#07131be8;pointer-events:none}#actor{z-index:2}.foreground{z-index:3}#contact-shadow{display:none}.inspect-link{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#d6ddcd;border:1px solid #dbe7dc55;width:36px;height:36px;font-size:18px}.room.light .inspect-link{color:#294249;border-color:#4c666a88}.scene-frame #fx{z-index:4}#inspector{position:absolute;z-index:15;bottom:28px;left:10px;right:10px;max-height:40%;overflow:auto;padding:12px;background:#091c24ed;border:1px solid #768e7a;color:#d9e1d2;font-size:10px}#inspector p{font-size:9px;line-height:1.7;margin:7px 0}#inspector label{font-size:9px;display:flex;align-items:center;gap:3px}#inspector input{accent-color:#ceb584}#inspector select,#inspector button{background:#213c40;color:#e6e6d5;border:1px solid #6b8274;min-height:30px;font-size:10px;padding:3px 6px}.inspect-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:5px 0}.inspect-row a{color:#c2cfb5;font-size:10px}#config-json{width:100%;height:200px;background:#07151b;color:#d6e0cc;border:1px solid #657e6b;font:10px monospace;padding:8px}#save-result{font-size:9px;color:#d8c496}.probe-label{position:absolute;z-index:4;font:9px monospace;color:#fff7d8;background:#142a36b8;padding:2px 4px;transform:translate(-50%,-100%);pointer-events:none}.reference-box{position:absolute;border:1px dashed #e1a482;pointer-events:none;z-index:4}.reference-box:after{content:'元画像の立位基準';position:absolute;top:0;left:0;font-size:8px;background:#0b2029ba;color:#ffd7ad;white-space:nowrap}.spatial-inspect .status,.spatial-inspect #panel,.spatial-inspect #poi{display:none!important}.spatial-inspect .scene-frame{outline:1px solid #b8c2a9}.spatial-inspect .shade{background:linear-gradient(#07131b55,transparent 25%,transparent 80%,#07131b99)}
.inspect-mode .intro,.inspect-mode .side{display:none}.inspect-mode .layout{gap:32px}.inspect-mode #inspector{position:relative;order:-1;width:330px;max-height:880px;flex-shrink:0;bottom:auto;left:auto;right:auto}.inspect-mode #inspector.folded>*:not(:first-child){display:none}.inspect-mode #inspector.folded{width:230px}#fold-inspector{font-size:9px}@media(max-width:800px){.inspect-mode #inspector{position:fixed;left:8px;right:8px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto!important;max-height:43%;z-index:40;padding:7px}.inspect-mode #inspector.folded{max-height:55px}.inspect-mode .layout{gap:0}}
.reference-overlay{opacity:.42;z-index:1}
.reference-box:after{content:attr(data-label)}
#cover-content{background-size:contain;background-repeat:no-repeat}

.awakening-entry{position:absolute;bottom:calc(2% + 88px);left:10%;right:10%;text-align:center;z-index:2;color:#d3dfd1;font-size:11px;text-underline-offset:4px;padding:9px;background:#081a22b3}

#curtain .primary{bottom:calc(2% + 36px)}
