:root{color-scheme:dark;--ink:#0a151a;--paper:#ece5d5;--muted:#a5b5b6;--gold:#d2b27b;--teal:#80c5c1;--line:#c4d6d329;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.8 "Yu Gothic",Meiryo,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;background:#14272e;border:1px solid var(--line);border-radius:3px;padding:9px 16px;cursor:pointer;transition:background .18s,border-color .18s}button:hover{background:#243b41;border-color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.45;cursor:wait}.primary{background:var(--gold);color:#17232a;border-color:var(--gold);font-weight:700}.primary:hover{background:#ead1a2}.primary span{margin-left:28px}a{color:var(--paper);text-decoration:none}.masthead{height:69px;padding:0 4vw;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);position:relative;z-index:3}.wordmark{font:20px var(--serif);letter-spacing:.2em}.wordmark span{font:8px sans-serif;letter-spacing:.25em;display:block;color:var(--gold);margin-top:4px}.build-label{margin-left:auto;color:var(--muted);font-size:11px}#settings{border:0;background:transparent;font-size:23px;padding:3px 8px}.cover{min-height:calc(100svh - 69px);background:linear-gradient(90deg,#08161af2 0%,#08161ac0 34%,#08161a22 75%),url('art/station.webp') center/cover;display:flex;align-items:center;padding:5vh 9vw;position:relative}.cover-copy{max-width:600px}.eyebrow{font-size:10px;letter-spacing:.28em;color:var(--gold)}h1,h2,h3,p{margin-top:0}.cover h1{font:clamp(52px,6vw,88px)/1.45 var(--serif);letter-spacing:.18em;margin:30px 0 22px}.cover h1 span{display:block;padding-left:1em}.title-line{width:60px;height:1px;background:var(--gold);margin-bottom:28px}.tagline{font:24px/1.9 var(--serif);letter-spacing:.12em}.cover-note{font-size:13px;line-height:2;color:#c0cecb;margin:20px 0 30px}.cover .primary{min-width:250px;padding:15px}.save-note{font-size:11px;color:#afbeb9;margin-top:18px}.cover-coordinate{position:absolute;right:5vw;bottom:35px;font-size:10px;letter-spacing:.16em;color:#d0dad4;text-align:right}.investigation{max-width:1500px;margin:auto;padding:17px 30px 25px}.location-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.location-head h2{font:23px var(--serif);letter-spacing:.12em;margin:0}.location-head small{font-size:9px;color:var(--gold);letter-spacing:.2em}.save-status{font-size:11px;color:var(--muted)}.scene{position:relative;aspect-ratio:3/2;max-height:calc(100svh - 270px);min-height:350px;overflow:hidden;border:1px solid #9ca9a932;background:#101c22;isolation:isolate}.scene-picture{position:absolute;width:100%;height:100%;object-fit:contain;background:#081217}.scene-inner{position:absolute;inset:0;margin:auto;aspect-ratio:3/2;height:100%;max-width:100%}.scene-inner>img{position:absolute;width:100%;height:100%;object-fit:fill}.scene::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#05141977,transparent 35%,#05141922);box-shadow:inset 0 0 70px #05101688}.hotspot{position:absolute;z-index:3;width:38px;height:38px;border-radius:50%;padding:0;background:#101d25b0;border:1px solid #e4d8b6;box-shadow:0 0 0 5px #0a1b1c44;transform:translate(-50%,-50%);color:#f2e6c6;font-size:21px}.hotspot.seen{border-color:#8dadaa;color:#9db8b3}.hotspot span{position:absolute;white-space:nowrap;background:#0d2027ed;font-size:12px;left:50%;top:43px;padding:3px 10px;border:1px solid var(--line);transform:translateX(-50%);opacity:0;pointer-events:none}.hotspot:hover span,.hotspot:focus span{opacity:1}.weather{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.3;background:repeating-linear-gradient(105deg,transparent 0,transparent 62px,#b6d6e33b 63px,transparent 64px);animation:rain 1.2s linear infinite;mask-image:linear-gradient(transparent,#0008)}@keyframes rain{to{background-position:-100px 150px}}.scene.reveal{animation:fade .5s ease}@keyframes fade{from{opacity:.3;filter:blur(4px)}to{opacity:1;filter:none}}.explore-tip{position:absolute;left:18px;bottom:16px;z-index:3;font-size:11px;padding:4px 10px;background:#0b1b23c9;letter-spacing:.06em}.dialogue{position:absolute;left:4%;right:4%;bottom:5%;z-index:6;background:linear-gradient(110deg,#0a1b24f5,#0b202bf0);border:1px solid #e1c28a6e;box-shadow:0 14px 50px #0009;padding:20px 28px;min-height:145px}.speaker{color:var(--gold);font:19px var(--serif);letter-spacing:.12em;display:block;margin-bottom:9px}.dialogue p{font:17px/1.95 var(--serif);margin:0 0 12px;min-height:36px;letter-spacing:.03em}.dialogue footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.dialogue footer button{border:0;background:transparent;color:var(--gold);padding:0 8px}.portrait{position:absolute;right:6%;bottom:0;height:94%;max-width:50%;object-fit:contain;object-position:bottom;z-index:4;mask-image:linear-gradient(#000 80%,transparent)}.objective{display:flex;align-items:center;gap:15px;padding:12px 0;font-size:13px;border-bottom:1px solid var(--line)}.objective b{color:var(--gold);font-size:10px;letter-spacing:.15em;white-space:nowrap}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.toolbar button{font-size:12px;padding:8px 16px}.toolbar .next-place{border-color:#8cc2bd;color:#b8e4d9}.toolbar button em{font-style:normal;font-size:10px;margin-left:7px;opacity:.65}.next-hint{font-size:11px;color:var(--muted);margin:9px 0 0}dialog{background:#0b1c24;color:var(--paper);border:1px solid #bca87d66;border-radius:5px;width:min(920px,94vw);max-height:88svh;padding:36px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#030b11ba;backdrop-filter:blur(7px)}.panel-close{position:absolute;right:9px;top:8px;background:transparent;border:0;font-size:24px;padding:0 9px}.panel-title{font:29px var(--serif);letter-spacing:.1em;margin-bottom:8px}.panel-sub{font-size:13px;color:var(--muted)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px}.evidence-card{text-align:left;padding:0;overflow:hidden;background:#112630}.evidence-card img{width:100%;height:115px;object-fit:cover;display:block}.evidence-card div{padding:13px}.evidence-card small{font-size:9px;letter-spacing:.13em;color:var(--gold)}.evidence-card strong{font:16px/1.7 var(--serif);display:block;margin-top:3px}.evidence-card.selected{outline:2px solid var(--gold);background:#344441}.evidence-detail{display:grid;grid-template-columns:40% 1fr;gap:26px}.evidence-detail>img{width:100%;max-height:380px;object-fit:cover;border:1px solid var(--line)}.evidence-detail p{line-height:2}.evidence-stamp{border-top:1px solid var(--line);padding-top:15px;color:var(--gold);font-size:12px;letter-spacing:.06em}.board-slots{display:flex;gap:15px;align-items:center;justify-content:center;margin:22px 0}.board-slots div{padding:17px 13px;border:1px dashed #b3b09a66;width:42%;min-height:64px;font:15px var(--serif);text-align:center}.panel-actions{display:flex;gap:10px;margin-top:23px;flex-wrap:wrap}.panel-actions button{flex:1}.audio-track{border:1px solid var(--line);padding:18px;margin:16px 0}.audio-track header{display:flex;align-items:center;justify-content:space-between;gap:15px}.audio-track h3{font:18px var(--serif);margin:0}.wave{height:65px;display:flex;align-items:center;gap:3px;margin:13px 0}.wave i{background:var(--teal);flex:1;height:var(--h);opacity:.55}.wave.playing i{animation:wave .8s ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes wave{to{opacity:1;transform:scaleY(.45)}}.audio-caption{color:#b9ccc6;font-size:12px;letter-spacing:.1em;margin:0}.message{padding:18px 22px;border-left:2px solid var(--gold);background:#d2b27b0c;font:18px/2 var(--serif)}.log-line{padding:13px 0;border-bottom:1px solid var(--line);font:15px/1.9 var(--serif)}.log-line b{display:block;color:var(--gold);font-size:12px}.talk-topics{display:grid;gap:12px}.talk-topics button{text-align:left;padding:14px 18px}.settings-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row input{width:55%;accent-color:var(--gold)}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;background:#112934;border:1px solid var(--gold);padding:10px 20px;max-width:90vw;opacity:0;pointer-events:none;font-size:12px}#notice.show{opacity:1}.endnote{border:1px solid var(--gold);padding:20px;background:#192c31;margin-top:18px}.endnote h3{font:23px var(--serif)}.busy{cursor:progress}
@media(min-width:900px){.scene{height:calc(100svh - 270px);aspect-ratio:auto}.scene-inner{width:auto}.investigation{padding-left:5vw;padding-right:5vw}}
@media(max-width:650px){body{font-size:14px}.masthead{height:57px;padding:0 16px;gap:10px}.wordmark{font-size:16px}.wordmark span{font-size:7px}.build-label{font-size:9px}.cover{min-height:calc(100svh - 57px);padding:6vh 8vw;background-position:60% center}.cover h1{font-size:56px;margin:20px 0}.tagline{font-size:21px}.cover-coordinate{display:none}.cover-note{font-size:12px}.investigation{padding:13px 12px}.location-head{margin-bottom:10px}.location-head h2{font-size:18px}.location-head small{font-size:8px}.save-status{font-size:9px}.scene{min-height:0;max-height:none;aspect-ratio:3/2;overflow:visible;margin-bottom:0}.scene-inner{width:100%;height:100%;overflow:hidden}.scene.dialog-active{margin-bottom:210px}.dialogue{left:-1px;right:-1px;top:100%;bottom:auto;min-height:200px;padding:18px 20px;background:#0c2029}.dialogue p{font-size:16px;line-height:1.95}.dialogue footer button{padding:8px 12px;min-height:40px}.portrait{height:95%;max-width:60%;right:7%}.hotspot{width:33px;height:33px;font-size:17px}.hotspot span{display:none}.explore-tip{bottom:7px;left:7px;font-size:9px}.objective{align-items:flex-start;font-size:12px;gap:10px;padding:12px 0}.toolbar{gap:7px}.toolbar button{padding:9px 11px;font-size:12px;flex:1;white-space:nowrap}.evidence-grid{grid-template-columns:repeat(2,1fr);gap:10px}.evidence-card img{height:95px}.evidence-card strong{font-size:14px}.evidence-card div{padding:9px}dialog{padding:33px 18px 22px}.panel-title{font-size:24px}.evidence-detail{display:block}.evidence-detail>img{height:180px;margin-bottom:18px}.audio-track{padding:12px}.audio-track h3{font-size:15px}.panel-actions{gap:7px}.panel-actions button{padding:10px;font-size:12px}.board-slots{gap:8px}.board-slots div{font-size:13px}.message{font-size:16px;padding:14px}.objective b{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
