:root{font-family:"Noto Serif SC",Songti SC,SimSun,serif;color:#ddd2b7;background:#1a1916;font-synthesis:none;--paper:#e8dcc0;--muted:#a3977f;--red:#b8312f;--line:#4a4236;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0%,#312c22 0,transparent 60%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #e7bb76;outline-offset:5px}button{touch-action:manipulation}button[hidden]{display:none!important}.game-shell{width:min(1240px,100%);margin:auto;padding:0 48px 22px}.masthead{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:24px;color:var(--paper);text-decoration:none;font-weight:900;font-size:35px;letter-spacing:6px}.wordmark span{font-size:11px;font-weight:400;letter-spacing:3px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.edition{font-size:10px;letter-spacing:2px;color:var(--muted)}.edition span{margin-left:24px;color:#6e6556}.chapter-heading{display:flex;justify-content:space-between;align-items:center;padding:32px 0 27px}.eyebrow{font-size:11px;letter-spacing:4px;color:#ce7664;margin:0 0 10px}h1{font-size:36px;letter-spacing:7px;font-weight:600;margin:0 0 10px}.chapter-subtitle{color:var(--muted);font-size:11px;letter-spacing:2px;margin:0}.chapter-subtitle span{margin-left:22px;color:#80745f}.chapter-quote{border-right:2px solid #8f3c30;text-align:right;padding-right:18px;font-size:13px;line-height:2;letter-spacing:2px;color:var(--muted)}.stage{position:relative;isolation:isolate;aspect-ratio:16/9;background:#c5b99c;border:1px solid #5c5040;overflow:hidden;box-shadow:0 18px 45px #0003}#game{position:absolute;inset:0}#game canvas{display:block;touch-action:none}.scene-caption{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;color:#3b352a;pointer-events:none}.live-dot{width:6px;height:6px;background:#a53c30;border-radius:50%}.scene-rule{width:28px;height:1px;background:#71644b}.objective{position:absolute;right:22px;top:18px;padding:11px 15px;min-width:160px;background:#e8dcc0dc;border-left:2px solid #9a382c;color:#3c3328;pointer-events:none}.objective>span{font-size:9px;letter-spacing:3px;color:#8d392c}.objective p{font-size:12px;margin:6px 0}.objective small{font-size:10px;color:#887451}.interaction{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;width:78%;pointer-events:none}.interaction button{pointer-events:auto;border:1px solid #b69c71;color:#f1e4ca;background:#342a22ed;padding:10px 24px;font-size:13px;box-shadow:0 4px 18px #0004}.interaction button:hover{background:#8c352b}.interaction>span{font-size:10px;color:#e6d9bc;letter-spacing:1px;text-shadow:0 1px 3px #000;background:#211b15b0;padding:5px 10px;text-align:center}.travel-bar{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;gap:20px}.stats{display:flex;gap:30px}.stat{min-width:60px}.stat label{font-size:10px;letter-spacing:2px;color:var(--muted)}.stat strong{display:block;font-weight:500;font-size:20px;margin-top:4px}.stat small{font-size:10px;font-weight:400;color:#8d816c;margin-left:3px}.stat-meter{height:2px;background:#423a2e;margin-top:7px}.stat-meter i{display:block;background:#b79c6f;height:100%}.tools{display:flex;align-items:center;gap:8px}.tools button{background:none;border:1px solid #514635;padding:12px 14px;font-size:12px;letter-spacing:1px}.tools button:hover{background:#342d23;border-color:#a78c61}.tools button>span{color:#ac8d5f;margin-right:6px}.tools small{display:inline-block;background:#483b2b;font-size:9px;border-radius:50%;padding:1px 5px;margin-left:5px}.page-footer{display:flex;gap:20px;align-items:center;padding:16px 0;font-size:10px;letter-spacing:1px;color:#8e816b}.page-footer button{border:none;background:none;font-size:10px;color:#a89b83;text-decoration:underline;text-underline-offset:4px}.prototype-label{margin-left:auto;color:#6f6555}.touch-controls{display:none;position:absolute;left:16px;bottom:20px;gap:8px}.touch-controls button{width:46px;height:46px;border:1px solid #cdbb96;background:#2a251ccb;font-size:22px;touch-action:none;-webkit-user-select:none;user-select:none}.toast{position:absolute;top:90px;left:50%;transform:translate(-50%,-8px);background:#2c261feb;color:#efdfbb;font-size:12px;line-height:1.6;padding:12px 22px;border:1px solid #b59668;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:85%;width:max-content}.toast.visible{opacity:1;transform:translate(-50%)}dialog{color:#33291e;background:#e8dcc0;border:1px solid #a58a60;padding:30px 36px;box-shadow:0 22px 100px #0008;max-width:calc(100vw - 32px);max-height:88dvh;overflow-y:auto}dialog::backdrop{background:#13120f99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.story-dialog{width:650px}.dialog-topline{display:flex;justify-content:space-between;border-bottom:1px solid #b9a888;padding-bottom:14px;font-size:10px;letter-spacing:2px;color:#847153}.story-dialog h2{font-size:17px;margin:24px 0 12px;color:#943f31;letter-spacing:2px}.story-dialog #story-text{font-size:17px;line-height:2;letter-spacing:1px;min-height:70px;margin:0 0 22px}.choices{display:flex;flex-direction:column;gap:10px}.choices button{padding:12px 16px;background:#dfd0ae;border:1px solid #ac9570;color:#3d3020;text-align:left;line-height:1.7;font-size:14px}.choices button:hover{background:#d5c29d;border-color:#8f352b}.choice-number{color:#a34c37;margin-right:14px;font-size:11px}.primary{background:#9a392e;color:#f5e7c8;padding:11px 22px;border:1px solid #803126;font-size:13px;letter-spacing:2px}.primary:hover{background:#7a2e25}.primary span{margin-left:40px;opacity:.6}.dialog-help{font-size:10px;letter-spacing:1px;color:#8a785a;margin:20px 0 0}.panel-dialog{width:660px}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-top .eyebrow{color:#984331}.panel-top button{border:none;background:none;color:#736044;font-size:20px}.panel-dialog h2{font-size:28px;font-weight:600;letter-spacing:3px;margin:6px 0 24px}.panel-dialog p{font-size:14px;line-height:1.9}.item-list{padding:0;list-style:none}.item-list li{border-top:1px solid #c2b08d;padding:14px 0;display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.8}.item-list small{font-size:11px;color:#846b47}.panel-note{color:#856d4a;font-size:11px!important}.card-entry{padding:16px 0;border-top:1px solid #bda57f}.card-entry h3{font-size:18px;margin:0 0 8px}.card-entry p{margin:0 0 9px}.card-entry small{font-size:11px;line-height:1.8;color:#8c704d;display:block}.locked-card{color:#917d5d;border-top:1px solid #bda57f;padding:20px 0;font-size:14px}.route{border-left:1px solid #ac9168;margin:20px 0 20px 8px;padding-left:25px;list-style:none}.route li{position:relative;margin-bottom:23px;font-size:14px}.route li:before{content:"";position:absolute;left:-30px;top:5px;width:9px;height:9px;border:1px solid #aa916d;background:#e8dcc0;border-radius:50%}.route li.current{color:#963c2e}.route li.current:before{background:#963c2e;border-color:#963c2e}.route small{display:block;color:#947a54;font-size:11px;line-height:1.9;margin-top:5px}.ending-quote{font-size:22px!important;color:#873b2d;border-left:2px solid #a74e38;padding-left:18px;margin:24px 0}.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.secondary{background:transparent;color:#795738;border:1px solid #b4976e;padding:11px 18px;font-size:13px}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(hover:none),(pointer:coarse){.touch-controls{display:flex}.interaction{bottom:23px;left:62%;width:64%}#walk-hint{display:none}}@media(min-width:1400px){.game-shell{padding-top:12px}.chapter-heading{padding:38px 0 30px}}@media(max-width:760px){.game-shell{padding:0 18px 16px}.masthead{height:70px}.wordmark{font-size:28px;gap:12px}.wordmark span{font-size:9px;letter-spacing:1px;padding-left:12px}.edition{font-size:9px;letter-spacing:0}.edition span{display:none}.chapter-heading{padding:25px 0 20px}h1{font-size:29px;letter-spacing:4px}.chapter-quote{font-size:10px;padding-right:10px}.chapter-subtitle{font-size:10px;letter-spacing:0}.chapter-subtitle span{margin-left:10px}.stage{aspect-ratio:4/3}.objective{right:10px;top:12px;min-width:125px;padding:8px 10px}.objective p{font-size:11px}.scene-caption{left:13px;top:18px;font-size:10px;gap:5px;letter-spacing:0}.scene-rule{width:12px}.travel-bar{padding:18px 0;flex-direction:column;gap:20px}.stats{justify-content:space-between;gap:16px}.stat{width:20%}.stat strong{font-size:19px}.tools{justify-content:space-between}.tools button{flex:1;padding:10px;font-size:11px}.page-footer{font-size:9px;gap:12px;flex-wrap:wrap;padding-bottom:0}.page-footer button{font-size:9px}.prototype-label{width:100%;margin-left:0}.interaction{width:90%}#walk-hint{font-size:9px}dialog{padding:22px}.story-dialog #story-text{font-size:16px;min-height:55px}.story-dialog h2{margin-top:20px}.dialog-help{font-size:9px}.choices button{font-size:13px}.toast{top:86px;font-size:11px}.touch-controls{left:12px;bottom:17px}.touch-controls button{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
