@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700;900&family=DM+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--bg:#080e14;--panel:#101a23;--panel2:#14212b;--line:#263744;--gold:#c9a875;--text:#e9e4d9;--muted:#84929a;--red:#a85c4e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#1b2a34 0,#080e14 55%);color:var(--text);font:14px/1.65 system-ui,"Noto Sans SC",sans-serif}button,input{font:inherit}button{cursor:pointer;transition:.2s}button:hover{filter:brightness(1.16);transform:translateY(-1px)}[hidden]{display:none!important}.topbar{height:72px;padding:0 clamp(20px,5vw,76px);border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;background:#080e14cc}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #8d744e;color:var(--gold);font:20px "Noto Serif SC"}.brand b{display:block;letter-spacing:.12em;font-family:"Noto Serif SC";font-size:15px}.brand small,.top-meta,.eyebrow{font:10px "DM Mono",monospace;letter-spacing:.14em;color:var(--muted)}.brand small{display:block;margin-top:2px}.top-meta{display:flex;gap:25px}.live-dot{color:#9eae9c}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#8da889;border-radius:50%;margin-right:8px}.home-screen{min-height:calc(100vh - 72px);position:relative;overflow:hidden;display:flex;align-items:center;padding:8vh clamp(24px,10vw,150px)}.home-art{position:absolute;inset:0 0 0 35%;overflow:hidden;background:linear-gradient(90deg,#080e14 0%,#080e1470 30%,#080e1420 100%),linear-gradient(#0a1724,#182b36 55%,#080e14)}.moon{position:absolute;width:170px;height:170px;border-radius:50%;background:#d0c7aa22;right:18%;top:12%;box-shadow:0 0 100px #d0c7aa18}.train-silhouette{position:absolute;bottom:20%;left:0;width:100%;height:180px;background:linear-gradient(180deg,#1a2a32,#090f15);border-top:2px solid #8d795b66;transform:perspective(500px) rotateX(-4deg);box-shadow:0 -15px 50px #b28b5220}.train-silhouette i{display:inline-block;width:12%;height:70px;margin:28px 1.5%;border:2px solid #87795866;background:linear-gradient(#c6a36b22,#e0b36c12);box-shadow:0 0 35px #c59a5a20}.rail-glow{position:absolute;bottom:15%;height:2px;width:100%;background:#b18b5c55;box-shadow:0 0 35px #b18b5c}.rain{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 34px,#a9c1cf12 35px,#a9c1cf12 36px,transparent 37px 72px);opacity:.6}.home-copy{position:relative;z-index:1;max-width:570px}.home-copy h1{font:900 clamp(62px,8vw,104px)/1.12 "Noto Serif SC";letter-spacing:.08em;margin:28px 0}.home-copy h1 em{font-style:normal;color:var(--gold)}.home-copy p{color:#b2bbc0;max-width:440px;font-size:16px;line-height:2}.home-actions{display:flex;align-items:center;gap:22px;margin-top:36px}.primary{border:1px solid #d1b27f;background:linear-gradient(135deg,#d6bc91,#a98756);color:#101820;padding:13px 25px;font-weight:700;letter-spacing:.06em}.primary span{margin-left:22px}.text-button{background:none;border:0;color:#b6a17d;padding:12px}.home-foot{margin-top:70px;color:#65747d;font:10px "DM Mono";letter-spacing:.15em}.game-heading{display:flex;justify-content:space-between;align-items:end;margin:44px 0 24px}.game-heading h1{font:600 32px "Noto Serif SC";margin:6px 0}.chapter-tag{color:var(--muted);font-size:12px}.chapter-tag b{display:block;color:var(--gold);font-weight:500}.game-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.85fr);gap:18px}.explore-panel,.side-panel,.conversation-panel{background:#101a23;border:1px solid var(--line)}.explore-panel{padding:14px}.scene-frame{height:390px;position:relative;overflow:hidden;background:linear-gradient(135deg,#253b46,#111c26 65%,#070d13)}.scene-art{position:absolute;inset:0;overflow:hidden}.scene-art svg{width:100%;height:100%;display:block}.scene-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#080e14 0%,transparent 65%),linear-gradient(90deg,#080e1477,transparent 70%)}.scene-caption{position:absolute;bottom:23px;left:28px;max-width:70%}.scene-caption h2{font:600 28px "Noto Serif SC";margin:5px 0}.scene-caption p{color:#c0c7c7;margin:0}.scene-time{position:absolute;right:22px;top:18px;color:#d8c39e;font:12px "DM Mono"}.scene-time span{color:#8ca88b;margin-left:8px}.object-heading,.location-heading,.section-title,.conversation-head{display:flex;align-items:center;justify-content:space-between}.object-heading{margin:23px 3px 12px}.object-heading h3,.location-heading h3,.section-title h3,.conversation-head h3{font:500 17px "Noto Serif SC";margin:3px 0}.object-heading>span,.location-heading>span,.chat-hint{color:var(--muted);font-size:11px}.object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.object-grid button{min-height:54px;text-align:left;padding:10px 14px;background:#172630;border:1px solid #2c414d;color:#e2dfd6}.object-grid button:before{content:"◎";color:var(--gold);margin-right:10px}.location-heading{margin:25px 3px 10px}.location-strip{display:flex;flex-wrap:wrap;gap:7px}.location-strip button{background:transparent;border:1px solid #34434a;color:#9da9ac;padding:8px 12px;font-size:12px}.location-strip button.active{border-color:var(--gold);color:var(--gold);background:#c9a87512}.side-panel{padding:18px 20px}.side-section+ .side-section{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.section-title{margin-bottom:13px}.section-title small{font:9px "DM Mono";color:#71818a;letter-spacing:.12em}.evidence-count{font:12px "DM Mono";color:var(--gold)}.evidence-meter{height:3px;background:#263640;margin-bottom:10px}.evidence-meter i{display:block;height:100%;width:0;background:var(--gold);transition:.3s}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.person-card{display:flex;align-items:center;gap:9px;text-align:left;padding:9px 7px;background:#172630;border:1px solid #2a3b45;color:var(--text)}.person-card.selected{border-color:var(--gold);background:#c9a87512}.avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font:17px "Noto Serif SC";color:#e0c69a;background:radial-gradient(circle at 35% 25%,#64727a,#202c34 70%);border:1px solid #9b886355}.person-info b{display:block;font-size:12px}.person-info small{display:block;color:var(--muted);font-size:10px}.clue-list,.journal-list{max-height:210px;overflow:auto}.clue{padding:9px 0;border-bottom:1px solid #ffffff0d}.clue strong{font-size:12px;color:#d9c39c}.clue small{display:block;color:#829099;font-size:10px}.empty-state{color:#71818a;font-size:12px;padding:8px 0}.journal{font-size:11px;color:#9da8aa;padding:5px 0;border-bottom:1px solid #ffffff0a}.conversation-panel{margin-top:18px;padding:18px 20px}.conversation-head{margin-bottom:12px}.chat-log{min-height:74px;max-height:180px;overflow:auto;background:#0b131a;padding:10px 14px;border:1px solid #202e37}.msg{font-size:12px;color:#b7c0c0;margin:7px 0}.msg b{color:var(--gold);margin-right:9px}.system-msg{color:#c1a77d}#ask{display:flex;margin-top:10px;gap:8px}#ask input{flex:1;min-width:0;background:#0b131a;border:1px solid #2c3b44;padding:12px;color:white;outline:none}#ask input:focus{border-color:#a98b60}#ask button{padding:10px 22px}.engine-status{font-size:10px;color:#687780;margin:6px 0 0}.game-footer{display:flex;justify-content:space-between;align-items:center;margin:16px 0 36px;color:var(--gold);font:11px "DM Mono"}.ending-card{max-width:640px;text-align:center;margin:18vh auto;padding:55px 35px;background:#101a23;border:1px solid #705e42}.ending-card h2{font:600 38px "Noto Serif SC";color:var(--gold)}.ending-card p{color:#b8c2bd;line-height:2;margin:20px auto 30px}#ending{position:fixed;inset:0;background:#05090dee;z-index:10;padding:20px}@media(max-width:800px){.top-meta{display:none}.home-screen{padding:50px 25px;min-height:calc(100vh - 72px)}.home-art{inset:0;opacity:.55}.home-copy h1{font-size:66px}.game-heading{margin:28px 0 18px}.game-grid{grid-template-columns:1fr}.scene-frame{height:310px}.side-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-section+ .side-section{border-top:0;margin:0;padding:0}.side-section:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}.chat-hint{display:none}}@media(max-width:480px){.topbar{height:60px}.brand small{font-size:8px}.home-copy h1{font-size:58px}.home-copy p{font-size:14px}.home-actions{align-items:flex-start;flex-direction:column;gap:6px}.scene-frame{height:280px}.scene-caption{left:17px;bottom:17px}.scene-caption h2{font-size:23px}.side-panel{display:block}.side-section+ .side-section{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.side-section:last-child{grid-column:auto}.game-heading h1{font-size:26px}.chapter-tag{font-size:10px}.object-grid{grid-template-columns:1fr 1fr}.object-grid button{font-size:12px;padding:9px}.ending-card{margin:20vh auto;padding:35px 20px}}