:root{--bg: #bfd3dc;--panel: rgba(250, 244, 230, .94);--panel-solid: #faf4e6;--ink: #2c2219;--ink-soft: #6b5a48;--line: #d9c9a8;--accent: #8c2f1f;--accent-ink: #fff7ea;--good: #3f7a34;--warn: #b3541e;--chronicle: #6b4a1f;--btn: #efe4cc;--btn-hover: #e5d6b6;--shadow: 0 6px 24px rgba(40, 28, 14, .18);--serif: "PT Serif", Georgia, serif;--sans: "PT Sans", system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1d2428;--panel: rgba(36, 30, 24, .94);--panel-solid: #241e18;--ink: #f1e6d2;--ink-soft: #b8a68c;--line: #4a3d2e;--btn: #3a3026;--btn-hover: #4a3d30;--good: #8fc47f;--warn: #f0a070;--chronicle: #e0c08a;--shadow: 0 6px 24px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{--bg: #1d2428;--panel: rgba(36, 30, 24, .94);--panel-solid: #241e18;--ink: #f1e6d2;--ink-soft: #b8a68c;--line: #4a3d2e;--btn: #3a3026;--btn-hover: #4a3d30;--good: #8fc47f;--warn: #f0a070;--chronicle: #e0c08a;--shadow: 0 6px 24px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}.topbar{position:absolute;top:12px;left:12px;right:252px;display:flex;align-items:center;gap:16px;padding:8px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);backdrop-filter:blur(6px);flex-wrap:wrap}.brand{display:flex;flex-direction:column;line-height:1.15;margin-right:8px}.brand-title{font-family:var(--serif);font-size:18px;color:var(--accent)}:root:not([data-theme=light]) .brand-title{color:var(--chronicle)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .brand-title{color:var(--accent)}}.brand-sub{font-size:12px;color:var(--ink-soft)}.stats{display:flex;gap:18px;flex:1;flex-wrap:wrap}.stat{display:flex;flex-direction:column;line-height:1.2;min-width:64px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.stat-value{font-weight:700;font-variant-numeric:tabular-nums}.stat-value.bad{color:var(--warn)}.seg{display:flex;background:var(--btn);border-radius:8px;padding:2px}.seg-btn{border:0;background:transparent;padding:5px 10px;border-radius:6px;font-weight:700;font-size:13px}.seg-btn.active{background:var(--accent);color:var(--accent-ink)}.panel{position:absolute;top:12px;right:12px;bottom:12px;width:228px;overflow-y:auto;padding:10px 12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);backdrop-filter:blur(6px)}.panel-title{font-family:var(--serif);font-size:13px;color:var(--chronicle);margin:10px 2px 6px;border-bottom:1px solid var(--line);padding-bottom:3px}.panel-title:first-child{margin-top:0}.tool-grid{display:grid;gap:4px}.tool{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;background:var(--btn);border-radius:8px;text-align:left}.tool:hover{background:var(--btn-hover)}.tool.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tool-swatch{width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1px #0003}.tool-label{font-size:13px}.tool-cost{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.overlays{grid-template-columns:repeat(3,1fr)}.chip{border:1px solid transparent;background:var(--btn);border-radius:8px;padding:5px 6px;font-size:12px}.chip:hover{background:var(--btn-hover)}.chip.active{background:var(--accent);color:var(--accent-ink)}.chip.danger{width:100%;color:var(--warn)}.chip.primary{background:var(--accent);color:var(--accent-ink);padding:8px 16px;font-size:14px}.help{margin:12px 2px 0;font-size:11.5px;line-height:1.5;color:var(--ink-soft)}.tip{position:absolute;right:252px;top:90px;width:240px;padding:10px 12px;background:var(--panel-solid);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translate(6px);transition:opacity .12s,transform .12s;pointer-events:none!important}.tip.show{opacity:1;transform:none}.tip p{margin:4px 0;line-height:1.4}.tip-cost{font-size:12px;color:var(--ink-soft)}.log{position:absolute;left:12px;bottom:12px;width:min(440px,calc(100vw - 280px));display:flex;flex-direction:column;gap:4px;pointer-events:none!important}.msg{display:flex;gap:8px;padding:6px 10px;background:var(--panel);border-left:3px solid var(--line);border-radius:6px;box-shadow:var(--shadow);font-size:13px;line-height:1.35;animation:msg-in .25s ease-out}.msg-date{flex:none;color:var(--ink-soft);font-size:11.5px;padding-top:1px;min-width:92px}.msg-good{border-left-color:var(--good)}.msg-warn{border-left-color:var(--warn)}.msg-chronicle{border-left-color:var(--chronicle);font-family:var(--serif)}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}}.left{position:absolute;left:12px;top:calc(var(--top-h, 64px) + 20px);width:280px;display:flex;flex-direction:column;gap:8px;pointer-events:none!important}.left>*{pointer-events:auto}.quest{padding:10px 14px 12px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--good);border-radius:12px;box-shadow:var(--shadow)}.quest.flash{animation:quest-flash 1.2s ease-out}@keyframes quest-flash{0%{transform:scale(1.06);box-shadow:0 0 0 6px color-mix(in srgb,var(--good) 45%,transparent)}to{transform:none}}.quest-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--good);font-weight:700}.quest h3{margin:2px 0 4px;font-family:var(--serif);font-size:17px}.quest p{margin:0 0 8px;line-height:1.4;font-size:13px}.quest-bar{height:8px;border-radius:99px;background:var(--btn);overflow:hidden}.quest-fill{height:100%;background:var(--good);border-radius:99px;transition:width .3s}.quest-meta{margin-top:5px;font-size:12px;color:var(--ink-soft)}.seg-btn:disabled{opacity:.4;cursor:default}.choices{display:grid;gap:8px;margin:14px 0 10px}.choice{display:flex;flex-direction:column;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--line);background:var(--btn);border-radius:10px}.choice:hover{background:var(--btn-hover)}.choice strong{font-size:16px}.choice span{font-size:13px;opacity:.85}.choice.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.info{width:100%;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:none}.info.show{display:block}.info h3{margin:0 0 8px;font-family:var(--serif);font-size:17px}.info dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0}.info dt{color:var(--ink-soft)}.info dd{margin:0;font-weight:700;text-align:right}.info dd.bad{color:var(--warn)}.info p{margin:6px 0 0;line-height:1.4}.info .hint{color:var(--chronicle);font-style:italic}.status{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:6px 12px;background:var(--panel-solid);border:1px solid var(--line);border-radius:999px;font-size:13px;box-shadow:var(--shadow);opacity:0;pointer-events:none!important;transition:opacity .12s}.status.show{opacity:1}.modal{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#140e0859}.modal.show{display:flex}.modal-card{width:min(420px,calc(100vw - 32px));padding:22px 24px;background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.modal-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--chronicle)}.modal-card h2{font-family:var(--serif);margin:4px 0 8px}.modal-card p{line-height:1.5}@media(max-width:1180px)and (min-width:761px){.brand{display:none}.stats{flex:1 1 100%;gap:14px}}@media(max-height:700px){.msg:not(:nth-last-child(-n+3)){display:none}}@media(max-width:760px){.topbar{top:8px;left:8px;right:8px;gap:8px;padding:6px 10px}.brand,.help{display:none}.stats{gap:10px;flex-wrap:nowrap;overflow-x:auto}.topbar{flex-wrap:nowrap}.stats{min-width:0}.stat{flex:none;min-width:0;white-space:nowrap}.stat-label{font-size:10px}.stat-value{font-size:13px}.seg-btn{padding:4px 8px}.undo-label,.stat:first-child{display:none}.panel{inset:auto 8px 8px;width:auto;height:132px;padding:6px 8px}.panel .tool-grid{grid-auto-flow:column;grid-template-columns:none;overflow-x:auto}.tool{white-space:nowrap}.panel-title{margin:6px 2px 4px}.log{bottom:148px;left:8px;width:calc(100vw - 16px)}.msg:not(:nth-last-child(-n+2)){display:none}.left{left:8px;top:calc(var(--top-h, 48px) + 14px);width:min(300px,calc(100vw - 16px))}.quest{padding:8px 12px 10px}.quest p{display:none}.quest h3{font-size:15px}.tip{display:none}.status{bottom:148px}}
