:root{color-scheme:dark;--ink:#edf0e8;--muted:#b5c5c8;--gold:#efd2a1;--navy:#102c3b;--edge:rgba(226,237,234,.22)}
*{box-sizing:border-box}body{margin:0;background:#122d3f;color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;overflow:hidden}button,textarea{font:inherit}button{cursor:pointer;border-radius:4px;transition:background .2s,transform .15s;min-height:48px}button:hover{filter:brightness(1.09)}button:active{transform:translateY(1px)}button:focus-visible,textarea:focus-visible{outline:3px solid #fff0c9;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}button span{font-size:11px;opacity:.68;margin-left:12px}button.primary{background:var(--gold);color:#193340;border:1px solid var(--gold);font-weight:700;padding:14px 26px}button.secondary{background:rgba(13,35,49,.72);color:var(--ink);border:1px solid var(--edge);padding:12px 18px}button.stop{border-color:rgba(255,255,255,.45)}[hidden]{display:none!important}
#experience,a-scene{position:fixed;inset:0;width:100%;height:100%}a-scene canvas{touch-action:none;cursor:grab}a-scene canvas:active{cursor:grabbing}.masthead{position:fixed;top:27px;left:36px;right:36px;z-index:3;display:flex;align-items:center;justify-content:space-between;pointer-events:none;text-shadow:0 1px 12px #102b3b}.identity{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;letter-spacing:2px;font-size:14px}.identity svg{width:31px;height:24px;color:var(--gold)}.edition{font-size:11px;letter-spacing:2px}.dot{display:inline-block;background:var(--gold);border-radius:50%;width:5px;height:5px;vertical-align:middle;margin:0 9px}
.overlay{position:fixed;inset:0;z-index:4;display:flex;align-items:center;background:linear-gradient(90deg,rgba(7,26,39,.94),rgba(7,26,39,.78) 39%,rgba(7,26,39,.06) 78%);padding:80px max(36px,8vw) 32px;overflow-y:auto}.sheet{width:510px;max-width:100%;padding:22px 0}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:2px;line-height:1.7;margin:0 0 20px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(48px,5.5vw,77px);letter-spacing:.12em;line-height:1.3;margin:0 0 23px}h1 span{display:block;margin-left:.7em}h2{font-weight:500;font-size:30px;letter-spacing:.06em;line-height:1.5;margin:0 0 20px}.lead{color:#e0e8e6;font-size:16px;line-height:2;margin:0 0 24px}.intro-steps{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);padding:12px 0;margin:0 0 25px;max-width:355px}.intro-steps p{font-size:13px;margin:9px 0;letter-spacing:.08em}.intro-steps b{font-family:Georgia,serif;font-size:12px;color:var(--gold);margin-right:18px;font-weight:400}.intro .primary{min-width:238px}.small{font-size:12px;color:var(--muted);line-height:1.9;margin:16px 0 0}.prototype-note{font-size:11px;color:#aabfc5;line-height:1.8;margin-top:22px}
#hud{position:fixed;inset:0;pointer-events:none;z-index:2;background:linear-gradient(0deg,rgba(5,24,34,.72),transparent 32%)}.chapter{position:absolute;top:94px;left:36px;text-shadow:0 2px 12px rgba(5,20,30,.8)}.chapter .eyebrow{font-size:11px;margin-bottom:6px}.chapter h2{font-size:24px;margin:0 0 7px}.chapter>p:last-child{color:#c6d6d8;font-size:12px;margin:0}.controlbar{position:absolute;left:36px;right:36px;bottom:52px;display:flex;align-items:center;gap:10px;pointer-events:auto}.controlbar .time{margin-right:auto;min-width:120px;color:var(--gold);font-size:12px;letter-spacing:2px}.time #remaining{font-family:Georgia,serif;font-size:34px;letter-spacing:0;margin-right:7px}.track{height:2px;background:rgba(232,232,211,.25);margin-top:8px;max-width:130px}.track div{height:100%;width:0;background:var(--gold)}.key-guide{position:absolute;bottom:12px;right:36px;font-size:11px;color:#b3c6c9;letter-spacing:.02em}.response{position:absolute;bottom:160px;width:100%;text-align:center;font-size:14px;color:#fff1cb;text-shadow:0 2px 16px #173443;min-height:22px;opacity:0;transition:opacity .3s}.response.visible{opacity:1}.paused{position:absolute;top:45%;left:0;width:100%;text-align:center;color:#fff;background:rgba(12,31,45,.7);padding:20px}
#ending.overlay{background:linear-gradient(90deg,rgba(7,26,39,.96),rgba(7,26,39,.82) 50%,rgba(7,26,39,.2))}.outro{width:570px}.outro h2{font-family:"Yu Mincho",serif;font-size:44px}.outro .lead{margin-bottom:12px}.session-summary{font-size:13px;color:var(--gold);margin:0 0 25px}label{font-size:14px;line-height:1.8;display:block;margin-bottom:9px}label span{display:block;color:var(--muted);font-size:11px}textarea{width:100%;resize:vertical;min-height:94px;max-height:190px;border:1px solid var(--edge);border-radius:4px;background:rgba(5,23,35,.6);color:var(--ink);padding:13px;font-size:13px;line-height:1.8}textarea::placeholder{color:#8da5af}.outro-actions{display:flex;gap:12px;margin-top:20px}#failure .sheet{line-height:1.9;width:650px}
.masthead{z-index:5}
@media(max-height:760px){.overlay{padding-top:72px}.sheet{padding:14px 0}h1{font-size:55px;margin-bottom:12px}.eyebrow{margin-bottom:12px}.lead{margin-bottom:12px;line-height:1.8}.intro-steps{padding:6px 0;margin-bottom:16px}.prototype-note{margin-top:12px}.small{margin-top:12px}.outro h2{font-size:36px}}
@media(max-width:760px){.masthead{left:20px;right:20px;top:20px}.identity{font-size:11px}.edition{font-size:9px;letter-spacing:1px}.overlay{padding:75px 26px 25px;background:linear-gradient(90deg,rgba(7,26,39,.92),rgba(7,26,39,.45))}.intro{width:420px}h1{font-size:52px}.lead{font-size:14px}.chapter{top:75px;left:20px;right:20px}.chapter h2{font-size:19px}.controlbar{left:16px;right:16px;bottom:55px;gap:6px;flex-wrap:wrap}.controlbar .time{flex:0 0 100%;margin-bottom:6px}.track{display:inline-block;width:100px;margin-left:15px;vertical-align:middle}.controlbar button{padding:12px;font-size:12px;min-height:45px}.controlbar button span{display:none}.key-guide{left:16px;right:16px;font-size:9px;line-height:1.6}.outro-actions{flex-wrap:wrap}.outro h2{font-size:34px}.response{bottom:202px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
