.wanted-banner[data-v-68ec312e]{border-left:2px solid var(--danger);color:var(--danger);background:#a0281e14;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:12px;line-height:1.6;display:flex}.quest-strip[data-v-68ec312e]{border:1px dashed var(--line);border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:12px;display:flex}.quest-title[data-v-68ec312e]{font-family:var(--font-reading);font-size:14px}.quest-next[data-v-68ec312e]{color:var(--celadon)}.facility-open[data-v-68ec312e]{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.facility-missing-row[data-v-68ec312e]{color:var(--tertiary);flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0;font-size:12px;display:flex}.my-stall[data-v-f8672f43],.stall-open[data-v-f8672f43]{border:1px solid var(--line);border-radius:4px;margin-top:6px;padding:12px}.stall-card[data-v-f8672f43]{border-bottom:1px dashed var(--line);padding:10px 0}.goods-row[data-v-f8672f43]{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.price-input[data-v-f8672f43]{text-align:right;width:78px}.search-row .btn[data-v-f8672f43]{white-space:nowrap;flex:none}.stock-row[data-v-f8672f43]{flex-wrap:wrap}.stock-row select[data-v-f8672f43]{flex:120px;min-width:0}.stock-row .price-input[data-v-f8672f43]{flex:0 0 64px;width:64px}.escort-card[data-v-8b54ca48]{border:1px solid var(--line);border-radius:4px;margin-top:10px;padding:12px}.escort-card[data-off=true][data-v-8b54ca48]{opacity:.75}.escort-meta[data-v-8b54ca48]{color:var(--tertiary);margin-top:6px;font-size:12px;line-height:1.7}.escort-cargo[data-v-8b54ca48]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.escort-penalty[data-v-8b54ca48],.escort-reason[data-v-8b54ca48]{color:var(--danger);align-items:flex-start;gap:6px;margin-top:8px;font-size:11px;line-height:1.7;display:flex}.map-wrap[data-v-40e7a1df]{margin-top:8px}.map-canvas[data-v-40e7a1df]{aspect-ratio:1;background:var(--paper);border:1px solid var(--line);border-radius:4px;width:100%;display:block}.map-node[data-v-40e7a1df]{cursor:pointer}.map-node[data-explored=false] text[data-v-40e7a1df]{font-style:italic}.crumb[data-v-40e7a1df]{flex-wrap:wrap;gap:6px;margin:6px 0 2px;display:flex}.chip[data-active=true][data-v-40e7a1df]{border-color:var(--cinnabar);color:var(--cinnabar)}.map-legend[data-v-40e7a1df]{color:var(--tertiary);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:11px;display:flex}.map-legend .dot[data-v-40e7a1df]{border:1px solid var(--ink);border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.map-legend .dot.current[data-v-40e7a1df]{background:var(--cinnabar);border-color:var(--cinnabar)}.map-legend .dot.unknown[data-v-40e7a1df]{border-color:var(--tertiary);background:0 0}.path-card[data-v-40e7a1df]{border:1px solid var(--line);background:var(--paper);border-radius:4px;margin-top:10px;padding:12px}.path-summary[data-v-40e7a1df]{align-items:center;gap:10px;font-size:13px;display:flex}.path-reason[data-v-40e7a1df]{border-left:2px solid var(--danger);background:var(--danger-soft,#a0281e0f);color:var(--danger);margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.7}.path-steps[data-v-40e7a1df]{margin:10px 0 0;padding:0;list-style:none}.path-steps li[data-v-40e7a1df]{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.path-steps li[data-ok=false][data-v-40e7a1df]{opacity:.85}.path-steps .idx[data-v-40e7a1df]{border:1px solid var(--line);width:20px;height:20px;color:var(--tertiary);border-radius:50%;place-items:center;font-size:11px;display:grid}.step-title[data-v-40e7a1df]{display:block}.step-reason[data-v-40e7a1df]{color:var(--danger);margin-top:2px;font-size:11px;display:block}.path-alt[data-v-40e7a1df]{border:1px dashed var(--gold-soft,#c9a86a);border-radius:4px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;font-size:12px;line-height:1.7;display:flex}.path-progress[data-v-40e7a1df]{color:var(--ink);border-left:2px solid var(--cinnabar);background:#a0281e0a;margin-top:10px;padding:8px 10px;font-size:12px}.boot-steps[data-v-6c41fe75]{letter-spacing:.1em;color:var(--tertiary);justify-content:center;gap:14px;margin-top:18px;font-size:11px;display:flex}.boot-steps span[data-on=true][data-v-6c41fe75]{color:var(--cinnabar)}.boot-seal[data-v-6c41fe75],.error-seal[data-v-6c41fe75]{border:1px solid var(--cinnabar);width:54px;height:54px;font-family:var(--font-reading);color:var(--cinnabar);border-radius:2px;place-items:center;margin:0 auto 16px;font-size:24px;display:grid;transform:rotate(-3deg)}.error-seal[data-v-6c41fe75]{border-color:var(--danger);color:var(--danger)}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--fs-title:22px;--fs-title-sm:20px;--fs-body:18px;--fs-log:14px;--fs-status:12px;--fs-label:12px;--fs-tag:11px;--fs-btn:16px;--fs-ui:14px;--lh-body:1.95;--lh-log:1.8;--tab-h:56px;--status-h:36px;--action-h:48px;--reading-w:760px;--drawer-max-h:70vh;--confirm-h:40vh;--drawer-w:460px;--r-card:4px;--r-btn:4px;--r-sheet:12px;--r-seal:2px;--line-w:1px;--m-fast:.12s;--m-base:.16s;--m-slow:.18s;--ease:ease-out;--font-reading:"Songti SC", STSong, SimSun, "Noto Serif CJK SC", "Source Han Serif SC", serif;--font-ui:system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--font-num:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}html[data-theme=paper]{--bg:#f7f3ea;--bg-elev:#efe8da;--card:#fbf8f1;--ink:#2b2622;--ink-soft:#4a443d;--secondary:#6b6257;--tertiary:#9a9287;--line:#d9d1c3;--line-strong:#c7bdaa;--cinnabar:#a84332;--cinnabar-bg:#f3e4df;--celadon:#5e7a73;--gold:#a9844e;--danger:#b23a2f;--disabled:#b8b0a4;--mask:#14141440;--shadow:0 10px 30px #2b26221a;--hl:#a843320f}html[data-theme=eyecare]{--bg:#ede4d0;--bg-elev:#e4d8c0;--card:#f5eedd;--ink:#2b2622;--ink-soft:#453f37;--secondary:#635a4d;--tertiary:#958c7c;--line:#d6c9ae;--line-strong:#c3b697;--cinnabar:#a84332;--cinnabar-bg:#f0dfd8;--celadon:#557068;--gold:#9c7a45;--danger:#b23a2f;--disabled:#b3a894;--mask:#14141440;--shadow:0 10px 30px #2b26221a;--hl:#a843320f}html[data-theme=night]{--bg:#151a1c;--bg-elev:#111618;--card:#1d2325;--ink:#d8d3c7;--ink-soft:#c2bcae;--secondary:#9a9287;--tertiary:#7f8683;--line:#3a3f3e;--line-strong:#4b5350;--cinnabar:#c46a5a;--cinnabar-bg:#2e2320;--celadon:#6e8a82;--gold:#b69560;--danger:#c46a5a;--disabled:#6b6f6d;--mask:#00000040;--shadow:0 12px 34px #00000073;--hl:#c46a5a14}html[data-size=sm]{--fs-body:16px}html[data-size=lg]{--fs-body:20px}html[data-lh=tight]{--lh-body:1.8}html[data-lh=loose]{--lh-body:2.1}html[data-onehand=on]{--action-h:52px}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .2s var(--ease), color .2s var(--ease);margin:0;line-height:1.6}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 12% -8%, var(--hl), transparent 62%), radial-gradient(700px 480px at 100% 4%, var(--hl), transparent 60%);position:fixed;top:0;bottom:0;left:0;right:0}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--cinnabar-bg);color:var(--ink)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.app{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.stage{flex:1;width:100%}.stage-inner{width:100%;max-width:var(--reading-w);padding:0 var(--sp-5) calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--sp-6));margin:0 auto}.statusbar{z-index:30;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.statusbar-inner{max-width:var(--reading-w);height:var(--status-h);padding:0 var(--sp-5);align-items:center;gap:var(--sp-2);font-size:var(--fs-status);color:var(--secondary);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0 auto;display:flex}.statusbar-realm{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);overflow:hidden}@media (max-width:460px){.statusbar-inner .realm-phase{display:none}}.stat{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.stat-label{letter-spacing:.08em;color:var(--tertiary);font-size:10px}.stat-value{font-family:var(--font-num);color:var(--ink-soft);font-size:12px}.stat-sep{color:var(--line-strong)}.statusbar-spacer{flex:1}.statusbar-caret{color:var(--tertiary);transition:transform var(--m-fast) var(--ease)}.statusbar[data-open=true] .statusbar-caret{transform:rotate(180deg)}.statusbar-detail{border-top:1px solid var(--line);max-width:var(--reading-w);padding:12px var(--sp-5) 14px;animation:fadeIn var(--m-fast) var(--ease) both;grid-template-columns:repeat(3,1fr);gap:10px 16px;margin:0 auto;font-size:12px;display:grid}.detail-item{color:var(--secondary);justify-content:space-between;gap:8px;min-width:0;display:flex}.detail-item span{white-space:nowrap;flex:none}.detail-item.wide{grid-column:span 3}.detail-item b{font-family:var(--font-num);color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.phase-dot{background:var(--celadon);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb, var(--celadon) 18%, transparent);border-radius:50%}.phase-dot[data-phase=error]{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent)}.phase-dot[data-phase=loading]{background:var(--gold)}.tabbar{z-index:40;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabbar-inner{max-width:var(--reading-w);height:var(--tab-h);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.tab{color:var(--tertiary);letter-spacing:.14em;transition:color var(--m-fast) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex;position:relative}.tab svg{width:20px;height:20px}.tab[data-active=true]{color:var(--ink)}.tab[data-active=true]:after{content:"";background:var(--cinnabar);width:18px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.tab-badge{background:var(--cinnabar);border-radius:50%;width:4px;height:4px;position:absolute;top:9px;right:calc(50% - 16px)}.scene-head{padding:var(--sp-6) 0 var(--sp-3)}.scene-kicker{letter-spacing:.24em;color:var(--tertiary);font-size:11px}.scene-title{font-family:var(--font-reading);font-size:var(--fs-title);letter-spacing:.05em;margin:6px 0 8px;font-weight:600}.scene-ambience{font-family:var(--font-reading);color:var(--secondary);border-left:2px solid var(--cinnabar);padding-left:var(--sp-3);font-size:15px;line-height:1.9}.scene-desc{font-family:var(--font-reading);font-size:var(--fs-body);line-height:var(--lh-body);margin-top:var(--sp-3)}.reading{font-family:var(--font-reading);font-size:var(--fs-body);line-height:var(--lh-body)}.muted{color:var(--secondary)}.tertiary{color:var(--tertiary)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.hairline{border:0;border-top:1px solid var(--line);margin:0}.section{border-top:1px solid var(--line);padding:var(--sp-3) 0}.section-label{text-align:left;letter-spacing:.14em;width:100%;color:var(--tertiary);background:0 0;border:0;justify-content:space-between;align-items:center;padding:2px 0;font-size:12px;display:flex}.section-label b{color:var(--secondary);letter-spacing:.06em;font-weight:500}.fold-body{padding-top:var(--sp-3);animation:foldOpen var(--m-base) var(--ease) both;overflow:hidden}.chev{transition:transform var(--m-fast) var(--ease);color:var(--tertiary)}.chev[data-open=true]{transform:rotate(90deg)}.action-dock{gap:var(--sp-2);padding:var(--sp-3) 0 var(--sp-1);flex-direction:column;display:flex}html[data-onehand=on] .action-dock{bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px);z-index:12;background:linear-gradient(to top, var(--bg) 72%, color-mix(in srgb, var(--bg) 0%, transparent));padding-top:var(--sp-4);position:sticky}.action-sign{height:var(--action-h);align-items:center;gap:var(--sp-3);width:100%;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-btn);background:var(--card);text-align:left;transition:background var(--m-fast) var(--ease), border-color var(--m-fast) var(--ease), transform var(--m-fast) var(--ease);display:flex;position:relative}.action-sign:hover:not(:disabled){border-color:var(--cinnabar)}.action-sign:active:not(:disabled){background:var(--cinnabar-bg);transform:translateY(1px)}.action-sign[data-primary=true]{border-color:color-mix(in srgb, var(--cinnabar) 60%, var(--line));background:linear-gradient(90deg, var(--cinnabar-bg), var(--card) 72%)}.action-sign:disabled{color:var(--disabled);border-color:var(--line);cursor:not-allowed;background:0 0}.action-sign .idx{border-radius:var(--r-seal);width:20px;height:20px;font-family:var(--font-reading);color:var(--cinnabar);border:1px solid;flex:none;place-items:center;font-size:11px;display:grid}.action-sign:disabled .idx{color:var(--disabled)}.action-main{flex-direction:column;flex:1;min-width:0;display:flex}.action-label{font-size:var(--fs-btn);color:var(--ink);line-height:1.35}.action-sign:disabled .action-label{color:var(--disabled)}.action-hint{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.action-sign:disabled .action-hint{color:var(--disabled)}.action-trail{color:var(--tertiary);flex:none}.exit-row{align-items:center;gap:var(--sp-3);border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;transition:opacity var(--m-slow) var(--ease);background:0 0;padding:10px 0;display:flex}.exit-row:last-child{border-bottom:0}.exit-row:hover:not(:disabled) .exit-title{color:var(--cinnabar)}.exit-row:disabled{cursor:not-allowed}.exit-dir{border:1px solid var(--line);width:34px;height:28px;font-family:var(--font-reading);color:var(--secondary);border-radius:3px;flex:none;place-items:center;font-size:12px;display:grid}.exit-row:disabled .exit-dir{color:var(--tertiary);border-color:var(--line)}.exit-body{flex:1;min-width:0}.exit-title{color:var(--ink);transition:color var(--m-fast);align-items:center;gap:8px;font-size:15px;display:flex}.exit-row:disabled .exit-title{color:var(--tertiary)}.exit-grey{color:var(--secondary);margin-top:2px;font-size:12px;line-height:1.6}.exit-row[data-visited=true] .exit-title{color:var(--secondary)}.exit-row[data-visited=true]{opacity:.86}.exit-recent{color:var(--tertiary);font-size:11px}.exit-side{text-align:right;flex:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-3)}.entity-row{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%;padding:9px 0;display:flex}.entity-row:last-child{border-bottom:0}.avatar{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--font-reading);color:var(--secondary);background:var(--bg-elev);border-radius:50%;flex:none;place-items:center;font-size:15px;display:grid}.entity-name{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}.entity-sub{color:var(--secondary);margin-top:2px;font-size:12px}.tag{border:1px solid var(--line);height:20px;font-size:var(--fs-tag);color:var(--secondary);letter-spacing:.02em;white-space:nowrap;border-radius:2px;align-items:center;padding:0 6px;display:inline-flex}.tag[data-tone=cinnabar]{color:var(--cinnabar);border-color:color-mix(in srgb, var(--cinnabar) 45%, var(--line));background:var(--cinnabar-bg)}.tag[data-tone=gold]{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}.tag[data-tone=danger]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.tag[data-tone=celadon]{color:var(--celadon);border-color:color-mix(in srgb, var(--celadon) 45%, var(--line))}.seal{border:1px solid var(--cinnabar);border-radius:var(--r-seal);color:var(--cinnabar);font-family:var(--font-reading);background:color-mix(in srgb, var(--cinnabar) 8%, transparent);place-items:center;padding:4px 5px;font-size:11px;line-height:1;display:inline-grid}.seal[data-filled=true]{background:var(--cinnabar);color:var(--bg)}.seal-new{animation:sealIn .14s var(--ease) both;transform:rotate(-2deg)}.btn{height:44px;padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-btn);background:var(--card);color:var(--ink);transition:background var(--m-fast) var(--ease), border-color var(--m-fast) var(--ease), opacity var(--m-fast);justify-content:center;align-items:center;gap:8px;font-size:15px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--cinnabar)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--cinnabar-bg);border-color:var(--cinnabar);color:var(--cinnabar)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--line))}.btn-ghost{color:var(--secondary);background:0 0;border-color:#0000}.btn-sm{height:34px;padding:0 10px;font-size:13px}.btn-block{width:100%}.btn:disabled{color:var(--disabled);border-color:var(--line);cursor:not-allowed;background:0 0}.btn[data-loading=true]{color:var(--secondary);position:relative}.spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.chip-row{scrollbar-width:none;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);height:30px;color:var(--secondary);white-space:nowrap;transition:all var(--m-fast) var(--ease);background:0 0;border-radius:3px;flex:none;padding:0 10px;font-size:12px}.chip[data-active=true]{border-color:var(--cinnabar);color:var(--cinnabar);background:var(--cinnabar-bg)}.chip:disabled{color:var(--disabled);cursor:not-allowed}.segmented{border:1px solid var(--line);border-radius:3px;flex:none;display:flex;overflow:hidden}.segmented button{border:0;border-left:1px solid var(--line);min-width:44px;height:30px;color:var(--secondary);background:0 0;padding:0 9px;font-size:12px}.segmented button:first-child{border-left:0}.segmented button[data-active=true]{background:var(--cinnabar-bg);color:var(--cinnabar)}.theme-grid{grid-template-columns:1fr 1fr;display:grid}.theme-grid button{text-align:left;height:auto;min-height:56px;padding:7px 10px;line-height:1.35}.theme-grid button:nth-child(-n+2){border-top:0}.theme-grid button:nth-child(2n){border-left:1px solid var(--line)}.settle{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4) var(--sp-4);margin:var(--sp-3) 0;animation:settleIn .15s var(--ease) both;position:relative}.settle-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settle-type{letter-spacing:.2em;color:var(--tertiary);font-size:11px}.settle-narrative{font-family:var(--font-reading);margin:6px 0 0;font-size:16px;line-height:1.9}.settle-rows{border-top:1px dashed var(--line);flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;display:flex}.settle-row{font-size:var(--fs-label);color:var(--secondary);justify-content:space-between;gap:12px;display:flex}.settle-row b{font-family:var(--font-num);color:var(--ink);font-weight:500}.settle-risk{color:var(--danger);font-size:var(--fs-tag);border-left:2px solid var(--danger);margin-top:8px;padding-left:8px;line-height:1.6}.settle-hooks{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.settle-hooks span{color:var(--celadon);border-bottom:1px dashed color-mix(in srgb, var(--celadon) 55%, transparent);padding-bottom:1px;font-size:11px}.seal-result{border:2px solid var(--cinnabar);border-radius:var(--r-seal);width:46px;height:46px;color:var(--cinnabar);font-family:var(--font-reading);animation:sealIn .14s var(--ease) both;flex:none;place-items:center;font-size:19px;font-weight:700;display:grid;transform:rotate(-3deg)}.mask{z-index:50;background:var(--mask);animation:fadeIn var(--m-fast) var(--ease) both;border:0;padding:0;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{z-index:51;max-height:var(--drawer-max-h);background:var(--card);border-top:1px solid var(--line-strong);border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow);animation:sheetUp var(--m-base) var(--ease) both;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet[data-kind=confirm]{max-height:var(--confirm-h)}.sheet-grip{background:var(--line-strong);border-radius:2px;flex:none;width:36px;height:4px;margin:8px auto 2px}.sheet-inner{max-width:var(--reading-w);width:100%;padding:0 var(--sp-5) calc(var(--sp-5) + env(safe-area-inset-bottom));overscroll-behavior:contain;margin:0 auto;overflow-y:auto}.sheet-head{padding:var(--sp-2) 0 var(--sp-3);border-bottom:1px solid var(--line)}.sheet-kicker{letter-spacing:.2em;color:var(--tertiary);font-size:11px}.sheet-title{font-family:var(--font-reading);margin-top:4px;font-size:20px;font-weight:600}.sheet-desc{color:var(--secondary);margin-top:6px;font-size:14px;line-height:1.8}.option-row{gap:var(--sp-3);border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:flex-start;width:100%;padding:12px 0;display:flex}.option-row:last-child{border-bottom:0}.option-row:disabled{color:var(--disabled);cursor:not-allowed}.option-body{flex:1;min-width:0}.option-label{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.option-row:disabled .option-label{color:var(--disabled)}.option-sub{color:var(--secondary);margin-top:3px;font-size:12px;line-height:1.6}.option-row:disabled .option-sub{color:var(--disabled)}.option-arrow{color:var(--tertiary);padding-top:2px}.sheet-actions{padding-top:var(--sp-4);gap:8px;display:flex}.toast{left:50%;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 18px);z-index:60;background:var(--ink);max-width:min(88vw,480px);color:var(--bg);box-shadow:var(--shadow);animation:toastIn var(--m-base) var(--ease) both;border-radius:4px;padding:9px 14px;font-size:13px;line-height:1.6;position:fixed;transform:translate(-50%)}.toast[data-tone=danger]{background:var(--danger);color:#fff}.toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);display:flex}.log-row{gap:var(--sp-3);border-bottom:1px solid var(--line);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%;padding:12px 0;display:flex}.log-time{width:42px;font-family:var(--font-num);color:var(--tertiary);flex:none;padding-top:3px;font-size:11px}.log-body{flex:1;min-width:0}.log-title{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.log-summary{font-size:var(--fs-log);line-height:var(--lh-log);color:var(--secondary);margin-top:2px}.log-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.empty{padding:var(--sp-7) 0;text-align:center;color:var(--tertiary);font-family:var(--font-reading)}.page-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);top:var(--status-h);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;display:flex;position:sticky}.page-title{font-family:var(--font-reading);font-size:var(--fs-title-sm);letter-spacing:.04em;font-weight:600}.page-sub{color:var(--tertiary);font-size:12px}.back-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--secondary);background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.back-btn:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.battle-hero{padding:var(--sp-5) 0 var(--sp-4);border-bottom:1px solid var(--line);gap:var(--sp-4);align-items:flex-start;display:flex}.battle-hero-title{font-family:var(--font-reading);font-size:20px;font-weight:600}.battle-hero-sub{color:var(--tertiary);margin-top:4px;font-size:12px}.battle-section{padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.battle-section-label{letter-spacing:.22em;color:var(--tertiary);margin-bottom:10px;font-size:11px}.round-row{gap:12px;padding:7px 0;display:flex}.round-no{width:26px;font-family:var(--font-num);color:var(--tertiary);flex:none;padding-top:4px;font-size:11px}.round-text{font-family:var(--font-reading);border-left:2px solid var(--line);flex:1;padding-left:10px;font-size:15px;line-height:1.85}.round-row[data-highlight=true] .round-text{border-left-color:var(--cinnabar);color:var(--ink);background:linear-gradient(90deg, var(--hl), transparent 70%);animation:keyRound .12s var(--ease) both}.risk-block{border:1px dashed color-mix(in srgb, var(--cinnabar) 45%, var(--line));background:color-mix(in srgb, var(--cinnabar-bg) 55%, transparent);border-radius:4px;padding:10px 12px}.risk-block-label{color:var(--cinnabar);letter-spacing:.16em;margin-bottom:6px;font-size:11px}.risk-row{color:var(--secondary);justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.risk-row b{font-family:var(--font-num);color:var(--ink);font-weight:500}.dual-actions{padding:var(--sp-4) 0;grid-template-columns:1fr 1fr;gap:8px;display:grid}.sub-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;padding-top:var(--sp-2);gap:2px;display:flex;overflow-x:auto}.sub-tabs::-webkit-scrollbar{display:none}.sub-tab{height:40px;color:var(--tertiary);letter-spacing:.06em;transition:color var(--m-fast);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 11px;font-size:13px}.sub-tab[data-active=true]{color:var(--ink);border-bottom-color:var(--cinnabar)}.panel-head{padding:var(--sp-4) 0 var(--sp-2);justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title{font-family:var(--font-reading);font-size:18px;font-weight:600}.panel-note{color:var(--tertiary);font-size:12px}.item-row{align-items:center;gap:var(--sp-3);border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;padding:11px 0;display:flex}.item-row:disabled{cursor:not-allowed}.item-name{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}.item-row:disabled .item-name{color:var(--disabled)}.item-meta{color:var(--secondary);margin-top:2px;font-size:12px;line-height:1.55}.item-row:disabled .item-meta{color:var(--disabled)}.item-qty{font-family:var(--font-num);color:var(--secondary);flex:none;font-size:13px}.slot-row{padding:var(--sp-3) 0;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot{border:1px solid var(--line);background:var(--bg-elev);text-align:left;border-radius:4px;flex-direction:column;justify-content:space-between;min-height:74px;padding:8px;display:flex;position:relative}.slot[data-filled=true]{border-color:color-mix(in srgb, var(--cinnabar) 42%, var(--line));background:var(--card)}.slot-index{letter-spacing:.14em;color:var(--tertiary);font-size:10px}.slot-name{font-family:var(--font-reading);color:var(--ink);font-size:14px;line-height:1.4}.slot-empty{color:var(--tertiary);font-size:12px}.slot-elem{color:var(--celadon);align-self:flex-end;font-size:10px}.tech-row{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%;padding:12px 0;display:flex}.tech-glyph{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--font-reading);color:var(--secondary);background:var(--bg-elev);border-radius:1px;flex:none;place-items:center;font-size:16px;display:grid}.tech-glyph[data-elem=金]{color:var(--gold)}.tech-glyph[data-elem=木]{color:var(--celadon)}.tech-glyph[data-elem=水]{color:#68808f}.tech-glyph[data-elem=火]{color:var(--cinnabar)}.tech-glyph[data-elem=土]{color:var(--secondary)}.tech-name{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.tech-sub{color:var(--secondary);margin-top:2px;font-size:12px}.layer-bar{background:var(--line);border-radius:1px;height:2px;margin-top:6px;overflow:hidden}.layer-bar span{background:var(--cinnabar);height:100%;display:block}.market-quote{border:1px solid var(--line);background:var(--card);margin:var(--sp-3) 0;border-radius:4px;padding:12px}.quote-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}.quote-cell{flex-direction:column;gap:2px;display:flex}.quote-cell span{letter-spacing:.1em;color:var(--tertiary);font-size:10px}.quote-cell b{font-family:var(--font-num);color:var(--ink);font-size:15px;font-weight:500}.rumor-banner{color:var(--secondary);border-left:2px solid var(--gold);background:color-mix(in srgb, var(--gold) 8%, transparent);margin:var(--sp-2) 0;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.6;display:flex}.listing-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:1fr auto;gap:4px 12px;width:100%;padding:11px 0;display:grid}.listing-name{align-items:center;gap:8px;font-size:15px;display:flex}.listing-meta{color:var(--tertiary);font-size:11px}.listing-price{text-align:right;grid-row:span 2;align-self:center}.listing-price b{font-family:var(--font-num);color:var(--ink);font-size:16px;font-weight:500}.listing-price span{color:var(--tertiary);font-size:10px;display:block}.search-row{padding:var(--sp-2) 0;gap:8px;display:flex}.input{border:1px solid var(--line);background:var(--bg-elev);height:38px;transition:border-color var(--m-fast);border-radius:3px;outline:none;flex:1;padding:0 12px;font-size:14px}.input:focus{border-color:var(--cinnabar)}.floor-hero{padding:var(--sp-2) 0;align-items:baseline;gap:10px;display:flex}.floor-no{font-family:var(--font-reading);color:var(--cinnabar);font-size:34px;line-height:1}.floor-label{color:var(--tertiary);font-size:12px}.floor-track{gap:4px;padding:6px 0 14px;display:flex}.floor-track span{background:var(--line);flex:1;height:3px}.floor-track span[data-on=true]{background:var(--cinnabar)}.party-member{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.party-name{font-size:15px}.party-sub{color:var(--tertiary);font-size:12px}.chat-list{padding:var(--sp-3) 0;min-height:120px}.chat-line{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);padding:9px 0}.chat-head{color:var(--tertiary);align-items:center;gap:8px;font-size:11px;display:flex}.chat-head b{color:var(--secondary);font-size:12px;font-weight:500}.chat-text{color:var(--ink);margin-top:3px;font-size:14px;line-height:1.7}.chat-text[data-private=true]{color:var(--celadon)}.announce{border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));background:color-mix(in srgb, var(--gold) 7%, transparent);margin:var(--sp-3) 0;border-radius:4px;padding:10px 12px}.announce-head{letter-spacing:.14em;color:var(--gold);cursor:pointer;justify-content:space-between;align-items:center;font-size:11px;display:flex}.announce-text{font-family:var(--font-reading);color:var(--secondary);margin-top:6px;font-size:14px;line-height:1.8}.chat-end{text-align:center;color:var(--tertiary);letter-spacing:.04em;padding:18px 0 6px;font-size:11px}.chat-more{align-self:center;margin:4px 0 10px}.quote-error{color:var(--secondary);font-size:var(--fs-ui)}.meditation-error{margin:var(--sp-3) 0;border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger);font-family:var(--font-reading);font-size:var(--fs-ui);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px;display:flex}.chat-compose{padding:var(--sp-3) 0;border-top:1px solid var(--line);align-items:center;gap:8px;display:flex}.chat-compose .input{height:40px}.cooldown{color:var(--tertiary);white-space:nowrap;font-size:11px}.profile-hero{align-items:center;gap:var(--sp-4);padding:var(--sp-6) 0 var(--sp-4);border-bottom:1px solid var(--line);display:flex}.realm-mark{border:2px solid var(--cinnabar);border-radius:var(--r-seal);width:62px;height:62px;color:var(--cinnabar);font-family:var(--font-reading);text-align:center;background:color-mix(in srgb, var(--cinnabar) 7%, transparent);flex:none;place-items:center;font-size:17px;line-height:1.15;display:grid;transform:rotate(-2deg)}.profile-name{font-family:var(--font-reading);font-size:22px;font-weight:600}.profile-sub{color:var(--tertiary);margin-top:4px;font-size:12px}.attr-grid{padding:var(--sp-2) 0;grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.attr-row{border-bottom:1px solid var(--line);color:var(--secondary);justify-content:space-between;padding:7px 0;font-size:13px;display:flex}.attr-row b{font-family:var(--font-num);color:var(--ink);font-weight:500}.progress-line{background:var(--line);border-radius:1px;height:2px;margin:8px 0 12px;overflow:hidden}.progress-line span{background:var(--cinnabar);height:100%;transition:width var(--m-slow) var(--ease);display:block}.missing-row{color:var(--secondary);border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;display:flex}.missing-row b{font-family:var(--font-num);color:var(--cinnabar);font-weight:500}.task-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.task-body{flex:1}.task-title{font-size:14px;display:block}.task-sub{color:var(--tertiary);margin-top:2px;font-size:12px;display:block}.settings-group{border-bottom:1px solid var(--line);padding:var(--sp-3) 0}.settings-group-title{letter-spacing:.18em;color:var(--tertiary);margin-bottom:6px;font-size:11px}.setting-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.setting-label{font-size:14px;display:block}.setting-sub{color:var(--tertiary);margin-top:2px;font-size:11px;display:block}.preview-card{margin-top:var(--sp-4);padding:var(--sp-4);border:1px dashed var(--line-strong);background:var(--card);border-radius:4px}.preview-card p{font-family:var(--font-reading);font-size:var(--fs-body);line-height:var(--lh-body);margin:8px 0 0}.switch{border:1px solid var(--line-strong);background:var(--bg-elev);width:42px;height:24px;transition:background var(--m-fast), border-color var(--m-fast);border-radius:12px;flex:none;position:relative}.switch:after{content:"";background:var(--tertiary);width:18px;height:18px;transition:transform var(--m-fast) var(--ease), background var(--m-fast);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--cinnabar-bg);border-color:var(--cinnabar)}.switch[aria-checked=true]:after{background:var(--cinnabar);transform:translate(18px)}.ledger-row{border-bottom:1px dashed var(--line);padding:9px 0;font-size:13px}.ledger-head{justify-content:space-between;gap:12px;display:flex}.ledger-head b{font-weight:500}.ledger-sub{color:var(--tertiary);margin-top:2px;font-size:11px}.meditation{margin:var(--sp-3) 0;border:1px solid color-mix(in srgb, var(--celadon) 40%, var(--line));background:color-mix(in srgb, var(--celadon) 6%, transparent);border-radius:4px;align-items:center;gap:12px;padding:12px 14px;display:flex}.meditation-dot{background:var(--celadon);border-radius:50%;flex:none;width:10px;height:10px;animation:2.4s ease-in-out infinite breathe}.meditation-label{color:var(--ink);font-size:14px}.meditation-sub{color:var(--tertiary);margin-top:1px;font-size:11px}.world-announce{color:var(--secondary);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;font-size:12px;display:flex;overflow:hidden}.world-announce b{color:var(--gold);letter-spacing:.1em;flex:none;font-weight:500}.world-announce span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.state-screen{padding:var(--sp-7) 0;text-align:center}.state-title{font-family:var(--font-reading);margin-bottom:6px;font-size:20px}.state-sub{color:var(--secondary);max-width:460px;margin:0 auto;font-size:13px;line-height:1.8}.loading-line{background:var(--line);height:2px;margin:var(--sp-4) auto 0;max-width:220px;overflow:hidden}.loading-line:after{content:"";background:var(--cinnabar);width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}.skeleton{background:linear-gradient(90deg, var(--line) 25%, var(--bg-elev) 37%, var(--line) 63%);background-size:400% 100%;border-radius:3px;animation:1.4s infinite shimmer}.gallery-head{padding:var(--sp-5) 0 var(--sp-3)}.gallery-grid{gap:var(--sp-4);flex-direction:column;display:flex}.gallery-item{border:1px solid var(--line);background:var(--card);padding:var(--sp-3);border-radius:4px}.gallery-item-head{color:var(--tertiary);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:10px;padding-bottom:8px;font-size:12px;display:flex}.gallery-states{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.gstate{border:1px dashed var(--line);border-radius:3px;padding:6px}.gstate-cap{letter-spacing:.1em;color:var(--tertiary);margin-bottom:4px;font-size:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes settleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes foldOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes sealIn{0%{opacity:0;transform:rotate(-8deg)scale(1.12)}to{opacity:1;transform:rotate(-3deg)scale(1)}}@keyframes keyRound{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{0%{transform:translate(-120%)}to{transform:translate(360%)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html[data-motion=off] .meditation-dot{opacity:1;animation:none}.quick-routes{align-items:center;gap:var(--sp-2);padding:0 0 var(--sp-3);display:flex}.quick-label{letter-spacing:.12em;color:var(--tertiary);font-size:11px}.check-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.check-dot{border:1px solid var(--line-strong);width:18px;height:18px;color:var(--cinnabar);border-radius:50%;flex:none;place-items:center;margin-top:2px;display:grid}.check-dot[data-on=true]{border-color:var(--cinnabar);background:var(--cinnabar-bg)}.check-label{color:var(--ink);font-size:14px;display:block}.check-sub{color:var(--tertiary);margin-top:1px;font-size:11px;display:block}.check-grey{color:var(--cinnabar);margin-top:3px;font-size:11px;line-height:1.6;display:block}.gstate .action-sign{gap:6px;padding:0 8px}.gstate .action-label{font-size:14px}.gstate .action-hint{font-size:10px}.gstate .btn{padding:0 8px;font-size:12px}.gstate .option-label{font-size:13px}.gstate .option-sub{font-size:10px}.gstate[data-force=hover] .action-sign,.gstate[data-force=hover] .btn,.gstate[data-force=hover] .chip,.gstate[data-force=hover] .option-row{border-color:var(--cinnabar)}.gstate[data-force=pressed] .action-sign,.gstate[data-force=pressed] .btn{background:var(--cinnabar-bg);border-color:var(--cinnabar);transform:translateY(1px)}.gstate[data-force=pressed] .chip{border-color:var(--cinnabar);background:var(--cinnabar-bg)}.gstate[data-force=error]{border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.gstate[data-force=error] .btn{border-color:var(--danger);color:var(--danger)}.gstate[data-force=disabled] .action-sign,.gstate[data-force=disabled] .btn,.gstate[data-force=disabled] .chip{opacity:.9}.gstate[data-force=loading] .action-sign,.gstate[data-force=loading] .btn{color:var(--secondary)}@media (min-width:1024px){:root{--reading-w:760px;--drawer-w:460px}.statusbar-inner,.statusbar-detail{max-width:1120px}.stage-inner{padding-left:0;padding-right:0}.sheet{width:var(--drawer-w);border-left:1px solid var(--line-strong);max-height:100dvh;animation:sideIn var(--m-base) var(--ease) both;border-top:0;border-radius:0;top:0;bottom:0;left:auto;right:0}.sheet[data-kind=confirm]{max-height:100dvh}.sheet-inner{padding:0 var(--sp-5) var(--sp-5);max-height:100%}.sheet-grip{display:none}.sheet-head{padding-top:var(--sp-6)}@keyframes sideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}}@media (max-width:380px){.stage-inner{padding-left:var(--sp-4);padding-right:var(--sp-4)}.statusbar-inner{padding:0 var(--sp-4);gap:8px}.stat-label{display:none}}
