@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #fbf7ee;--paper-hi: #fffdf8;--paper-2: #f3ecdd;--paper-3: #e7dcc6;--ink: #2b2420;--ink-2: #5b4f45;--muted: #8c8073;--accent: #e07a3f;--accent-hi: #ec8c52;--accent-soft: #fde6d4;--accent-2: #3f6ea8;--good: #3f9d5b;--good-soft: #e1f2e3;--warn: #d99a2b;--warn-soft: #fbefd2;--bad: #d1503f;--bad-soft: #fbe2dc;--shadow: 0 3px 0 rgba(43, 36, 32, .28), 0 10px 26px -8px rgba(43, 36, 32, .28);--shadow-sm: 0 2px 0 rgba(43, 36, 32, .28);--radius: 14px;--font-ui: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--ui-scale: 1;--gap: 10px;--bar-h: 70px;--tray-h: 196px;--demand-w: 100px;--ease-out: cubic-bezier(.2, .9, .3, 1);--ease-pop: cubic-bezier(.2, 1.4, .4, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#bfe0ef;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}#world{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block;outline:none}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer;-webkit-touch-callout:none}button:disabled{cursor:default}a{color:inherit}:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.hidden{display:none!important}.icon{display:inline-flex;width:20px;height:20px;flex:none}.icon svg{width:100%;height:100%}.icon.tiny{width:12px;height:12px}.ui-scale{position:fixed;left:0;top:0;width:calc(100vw / var(--ui-scale));height:calc(100vh / var(--ui-scale));height:calc(100dvh / var(--ui-scale));transform:scale(var(--ui-scale));transform-origin:0 0;pointer-events:none;z-index:1}.ui-scale>*{pointer-events:auto}.panel{background:linear-gradient(180deg,var(--paper-hi),var(--paper) 60%);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 14px;border:2px solid var(--ink);background:var(--paper-hi);border-radius:11px;box-shadow:var(--shadow-sm);font-weight:800;font-size:14px;transition:transform .08s ease,background .15s,box-shadow .08s}.btn:hover{background:#fff}.btn:active{transform:translateY(2px);box-shadow:none}.btn.active{background:var(--ink);color:var(--paper)}.btn.danger{color:var(--bad)}.btn.danger-fill{background:var(--bad);color:#fff}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hi)}.btn:disabled{opacity:.45;box-shadow:none;transform:none}.btn.round{width:42px;height:42px;min-height:0;padding:0;border-radius:50%}.btn.round.small{width:34px;height:34px}.btn.round.small .icon{width:17px;height:17px}.btn.small-btn{min-height:34px;padding:5px 11px;font-size:13px}.btn.wide-btn{width:100%;margin-top:8px}.icon-btn{padding:6px}.kicker{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.muted-note{font-size:13px;color:var(--ink-2);font-weight:600;line-height:1.4}.muted-note.inline{display:inline}.muted-note.center{text-align:center;margin-top:16px}.pos{color:var(--good)}.neg{color:var(--bad)}.hud{position:absolute;inset:0;pointer-events:none}.hud>*{pointer-events:auto}html.photo .hud{display:none}.topbar{position:absolute;top:calc(var(--gap) + var(--safe-top));left:calc(var(--gap) + var(--safe-left));right:calc(var(--gap) + var(--safe-right));display:flex;justify-content:space-between;align-items:flex-start;gap:var(--gap);pointer-events:none}.topbar>*{pointer-events:auto}.card{padding:8px 12px}.row{display:flex;align-items:center;gap:6px}.big{font-size:20px;font-weight:900;letter-spacing:.01em;font-variant-numeric:tabular-nums}.sep{width:1.5px;height:18px;background:#2b242033;margin:0 4px;border-radius:1px}.city-card{display:flex;align-items:center;gap:10px;flex:none;min-width:240px;max-width:340px;text-align:left;padding:6px 14px 8px 8px}.city-card:active{transform:translateY(2px)}.city-badge{width:50px;height:50px;flex:none;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(43,36,32,.25))}.cc-body{flex:1;min-width:0}.city-name{font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1.1;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-name.long{font-size:16px}.city-name.longer{font-size:14px}.mood{font-weight:900;font-size:16px;font-variant-numeric:tabular-nums}.mood-smile{color:var(--good)}.mood-meh{color:var(--warn)}.mood-frown{color:var(--bad)}.ms{margin-top:5px}.ms-track{height:7px;border-radius:4px;background:var(--paper-2);border:1.5px solid var(--ink);overflow:hidden}.ms-fill{height:100%;background:linear-gradient(90deg,#f2b632,var(--accent));width:0;transition:width .6s ease}.ms-label{font-size:11px;color:var(--ink-2);margin-top:3px;font-weight:800;white-space:nowrap}.clock-card{display:flex;align-items:center;gap:10px;padding:6px 7px 6px 14px}.date{font-family:var(--font-display);font-weight:700;font-size:16px;min-width:136px;font-variant-numeric:tabular-nums;white-space:nowrap}.date-yr:before{content:", "}.date.paused{color:var(--muted)}.speeds{display:flex;gap:3px;padding:2px;background:var(--paper-2);border-radius:11px}.speeds .btn{width:36px;height:36px;min-height:0;padding:0;border-radius:9px;border-width:0;box-shadow:none;background:transparent}.speeds .btn:hover{background:#ffffffb3}.speeds .btn.active{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-sm)}.speeds .btn .icon{width:16px;height:16px}.top-right{display:flex;gap:8px;align-items:flex-start}.money-card{min-width:156px;text-align:right;display:flex;flex-direction:column;align-items:flex-end}.money-card:active{transform:translateY(2px)}.money-card .row{justify-content:flex-end}.money-card .icon{color:#c48b1c}.big.neg{color:var(--bad)}.delta{font-size:12px;font-weight:800;color:var(--muted)}.delta.pos{color:var(--good)}.delta.neg{color:var(--bad)}.top-buttons{display:flex;gap:6px}.advisor-btn{position:relative}.count{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bad);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper);animation:pop-in-badge .4s var(--ease-pop)}@keyframes pop-in-badge{0%{transform:scale(.3)}}.ticker{position:absolute;top:calc(84px + var(--safe-top));left:50%;transform:translate(-50%);width:max-content;max-width:min(700px,calc(100% - 300px));display:flex;align-items:stretch;padding:0;font-size:14px;overflow:hidden}.ticker.expanded{z-index:7;width:min(700px,calc(100% - 300px))}.tick-news{flex:none;border:none;border-right:2px solid var(--ink);background:var(--paper-2);padding:0 10px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.tick-news .icon{width:18px;height:18px}.tick-body{flex:1;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;min-width:0;text-align:left;min-height:36px}.tick-source{flex:none;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--accent-2)}.tick-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:600;min-width:0}.tick-more{display:none;width:15px;height:15px;color:var(--accent);flex:none;transform:rotate(90deg);transition:transform .2s}.ticker.truncated .tick-more{display:inline-flex}.ticker.expanded .tick-more{transform:rotate(-90deg)}.ticker.expanded .tick-body{align-items:flex-start}.ticker.expanded .tick-source{margin-top:2px}.ticker.expanded .tick-text{white-space:normal;overflow:visible;line-height:1.35}.tick-go{flex:none;border:none;border-left:2px solid var(--paper-3);background:transparent;padding:0 10px;display:flex;align-items:center;justify-content:center;color:var(--accent-2)}.tick-go .icon{width:17px;height:17px}.tick-go:hover,.tick-news:hover{background:var(--paper-3)}.ticker.tone-bad .tick-source{color:var(--bad)}.ticker.tone-good .tick-source{color:var(--good)}.ticker.tone-funny .tick-source{color:#9b6fe0}.ticker.flash{animation:flash .5s var(--ease-out)}@keyframes flash{0%{transform:translate(-50%) translateY(-6px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes flash-left{0%{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}.demand{position:absolute;right:calc(var(--gap) + var(--safe-right));top:calc(84px + var(--safe-top));display:flex;gap:3px;padding:7px 7px 5px}.d-col{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 3px;border-radius:6px;cursor:help;outline:none}.d-col:hover,.d-col:focus-visible{background:var(--paper-2)}.d-track{position:relative;width:12px;height:70px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}.d-mid{position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);opacity:.4}.d-fill{position:absolute;left:0;right:0;transition:height .5s ease,bottom .5s ease}.d-label{font-size:11px;font-weight:900}.alerts{position:absolute;left:calc(var(--gap) + var(--safe-left));top:calc(118px + var(--safe-top));display:flex;flex-direction:column;gap:8px;pointer-events:none}.alert{pointer-events:auto;display:flex;align-items:center;gap:7px;height:44px;max-width:160px;padding:0 14px 0 4px;border-radius:22px;border:2px solid var(--ink);box-shadow:var(--shadow);background:var(--paper-hi);color:var(--ink);font-size:13px;font-weight:900;white-space:nowrap;animation:alert-in .5s var(--ease-pop);transition:transform .25s,opacity .25s}.al-icon{width:34px;height:34px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff40}.al-icon .icon{width:20px;height:20px}.al-label{overflow:hidden;text-overflow:ellipsis}.alert.bad{background:var(--bad);color:#fff;animation:alert-in .5s var(--ease-pop),pulse 2.2s ease-in-out .6s infinite}.alert.warn{background:#f6c75a}.alert.info{background:#cfe1f5}.alert.open{outline:3px solid var(--ink);outline-offset:2px}.alert.out{transform:scale(.4);opacity:0}.alert:active{transform:scale(.95)}@keyframes alert-in{0%{transform:translate(-30px) scale(.6);opacity:0}}@keyframes pulse{0%,to{box-shadow:var(--shadow),0 0 #d1503f8c}50%{box-shadow:var(--shadow),0 0 0 9px #d1503f00}}.explain{position:absolute;left:calc(var(--gap) + 172px + var(--safe-left));top:calc(118px + var(--safe-top));width:320px;padding:11px 12px 12px;display:flex;flex-direction:column;gap:8px;z-index:6;animation:explain-in .3s var(--ease-pop)}.explain.bad{border-color:var(--bad)}@keyframes explain-in{0%{opacity:0;transform:translate(-12px) scale(.97)}}.ex-head{display:flex;align-items:center;gap:9px}.ex-icon{width:36px;height:36px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);background:#cfe1f5}.ex-icon.bad{background:var(--bad);color:#fff}.ex-icon.warn{background:#f6c75a}.ex-icon .icon{width:19px;height:19px}.ex-title{flex:1;font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.15}.ex-text{font-size:13.5px;font-weight:700;color:var(--ink-2);line-height:1.4}.ex-actions{display:flex;gap:6px;flex-wrap:wrap}.coach-slot{position:absolute;left:calc(var(--gap) + var(--safe-left));bottom:calc(var(--bar-h) + 2 * var(--gap) + var(--safe-bottom));width:min(380px,calc(100% - 2 * var(--gap)));pointer-events:none}.coach-slot>*{pointer-events:auto}.coach-slot:empty{display:none}.toolbar{position:absolute;left:50%;bottom:calc(var(--gap) + var(--safe-bottom));transform:translate(-50%);display:flex;align-items:stretch;padding:5px;max-width:calc(100% - 2 * var(--gap))}.tool-scroll{display:flex;gap:2px;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.tool-scroll::-webkit-scrollbar{display:none}.toolbar.more-right .tool-scroll{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}.toolbar.more-left .tool-scroll{-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px);mask-image:linear-gradient(90deg,transparent,#000 30px)}.toolbar.more-left.more-right .tool-scroll{-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}.tool-sep{flex:none;width:2px;margin:8px 4px;border-radius:1px;background:var(--paper-3)}.toolbar>.tool-btn{flex:none}.tool-btn{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:68px;min-height:56px;padding:7px 6px 6px;border:none;background:transparent;border-radius:10px;font-size:11px;font-weight:900;transition:background .15s,transform .1s}.tool-btn .icon{width:25px;height:25px;transition:transform .2s var(--ease-pop)}.tool-btn:hover{background:var(--paper-2)}.tool-btn:hover .icon{transform:translateY(-2px)}.tool-btn:active{transform:scale(.95)}.tool-btn.active{background:var(--ink);color:var(--paper)}.tool-btn[data-cat=bulldoze].active{background:var(--bad);color:#fff}.tb-short{display:none}.tray{position:absolute;left:50%;bottom:calc(var(--bar-h) + 2 * var(--gap) + var(--safe-bottom));transform:translate(-50%);width:max-content;max-width:calc(100% - 2 * var(--gap));padding:8px 8px 10px;background:#fbf7eef2;border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);animation:tray-in .22s var(--ease-out);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes tray-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}}.tray-head{display:flex;align-items:baseline;gap:10px;padding:0 4px 7px;min-height:22px;max-width:760px}.th-name{font-family:var(--font-display);font-weight:800;font-size:15px;flex:none}.th-desc{font-size:12px;color:var(--ink-2);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tray-items{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;scroll-snap-type:x proximity}.tray-items::-webkit-scrollbar{display:none}.tray-item{position:relative;flex:none;width:112px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 7px;border:2px solid var(--ink);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);scroll-snap-align:start;transition:transform .15s var(--ease-out),box-shadow .15s}.tray-item:hover{transform:translateY(-3px);box-shadow:0 5px #2b242038}.tray-item:active{transform:translateY(1px);box-shadow:none}.tray-item.active{background:#fff3d6;outline:3px solid var(--accent);outline-offset:1px}.tray-item.locked{background:var(--paper-2)}.tray-item.locked .ti-icon,.tray-item.locked .ti-name,.tray-item.locked .ti-cost{opacity:.5}.ti-icon{width:58px;height:52px;display:flex;align-items:center;justify-content:center}.ti-icon .icon{width:32px;height:32px}.ti-icon.thumb img{width:64px;height:56px;object-fit:contain}.ti-name{font-size:12px;font-weight:900;text-align:center;line-height:1.12;min-height:27px;display:flex;align-items:center}.ti-cost{font-size:12px;color:var(--ink);font-weight:900;font-variant-numeric:tabular-nums}.ti-upkeep{font-size:10px;color:var(--muted);font-weight:800}.ti-effect{font-size:10px;color:var(--accent-2);font-weight:800;text-align:center;line-height:1.15}.tray-item.locked .ti-effect,.tray-item.locked .ti-upkeep{display:none}.ti-lock{margin-top:2px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:900;color:var(--ink-2);background:var(--paper);border-radius:7px;padding:3px 2px;border:1.5px solid var(--paper-3)}.ti-lock .icon{width:11px;height:11px}.fab-col{display:none}.tooltip{position:absolute;left:0;top:0;pointer-events:none!important;padding:6px 11px;background:var(--paper-hi);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--shadow);font-size:13px;font-weight:900;white-space:nowrap;z-index:20}.tooltip.bad{border-color:var(--bad);color:var(--bad);background:#fff6f3}.tooltip.touch{font-size:15px;padding:9px 14px;white-space:normal;max-width:min(300px,calc(100% - 24px));text-align:center}.tooltip.touch.bad{border-width:3px;box-shadow:var(--shadow),0 0 0 4px #d1503f2e}.tooltip.shake{animation:shake .35s ease}@keyframes shake{20%{margin-left:-6px}40%{margin-left:6px}60%{margin-left:-4px}80%{margin-left:3px}}.tt-sub{font-size:11px;font-weight:700;color:var(--ink-2)}.tip{position:absolute;left:0;top:0;z-index:60;pointer-events:none;max-width:260px;padding:8px 11px;border-radius:10px;background:var(--ink);color:var(--paper);font-size:12.5px;font-weight:700;line-height:1.35;box-shadow:0 8px 20px -6px #0006;opacity:0;transition:opacity .15s}.tip.show{opacity:1}.inspector{position:absolute;right:calc(var(--gap) + var(--safe-right));top:calc(132px + var(--safe-top));width:312px;max-height:calc(100% - 132px - var(--bar-h) - 3 * var(--gap) - var(--safe-top) - var(--safe-bottom));padding:12px 14px;display:flex;flex-direction:column;gap:8px;z-index:4;opacity:0;transform:translate(14px);transition:opacity .2s,transform .25s var(--ease-out)}.inspector.in{opacity:1;transform:none}.demand~.inspector{right:calc(2 * var(--gap) + var(--demand-w) + var(--safe-right))}.insp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.insp-title{min-width:0}.insp-name{font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1.15}.insp-kind{font-size:12px;color:var(--ink-2);font-weight:800;margin-top:1px}.insp-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.insp-state{font-size:11.5px;font-weight:900;padding:2px 9px;border-radius:7px;background:var(--good-soft);color:var(--good)}.insp-state.s-construct,.insp-state.s-reno{background:var(--warn-soft);color:#a26b0d}.insp-state.s-burning,.insp-state.s-abandoned,.insp-state.s-ruin{background:var(--bad-soft);color:var(--bad)}.insp-where{font-size:11.5px;font-weight:700;color:var(--muted)}.insp-scroll{overflow-y:auto;display:flex;flex-direction:column;gap:7px;margin:0 -6px;padding:0 6px 2px;overscroll-behavior:contain;touch-action:pan-y}.insp-row{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800}.insp-row .icon{width:17px;height:17px;color:var(--ink-2)}.insp-level{display:flex;flex-direction:column;gap:6px;padding:9px 10px;background:var(--paper-2);border-radius:10px}.lv-text{flex:1}.lv-dots{display:flex;gap:3px}.lv-dots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink);background:var(--paper-hi)}.lv-dots i.on{background:var(--accent)}.needs{display:flex;flex-direction:column;gap:3px}.need-note{font-size:12px;font-weight:800;color:var(--ink-2)}.need{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.need .icon{width:14px;height:14px}.need.ok{color:var(--good)}.need.no{color:var(--bad)}.need .nd{margin-left:auto;font-weight:700;color:var(--muted);font-size:11px;text-align:right}.insp-sub{font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}.insp-flags{display:flex;gap:6px;flex-wrap:wrap}.flag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:900;padding:3px 8px;border-radius:10px;border:1.5px solid currentColor}.flag .icon{width:13px;height:13px}.flag.ok{color:var(--good);background:var(--good-soft)}.flag.no{color:var(--bad);background:var(--bad-soft)}.insp-block{display:flex;flex-direction:column;gap:5px}.insp-stat{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:800;margin-top:2px}.insp-stat>span:first-child{display:inline-flex;align-items:center;gap:6px}.insp-stat .icon{width:15px;height:15px;color:var(--ink-2)}.iv{font-variant-numeric:tabular-nums}.factors{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}.factor{display:flex;justify-content:space-between;font-size:11.5px;font-weight:700;color:var(--ink-2)}.factor .fv{font-weight:900;font-variant-numeric:tabular-nums}.factor.pos .fv{color:var(--good)}.factor.neg .fv{color:var(--bad)}.insp-facts{display:flex;flex-wrap:wrap;gap:5px}.insp-desc{width:100%;font-size:12.5px;font-weight:600;color:var(--ink-2);line-height:1.35;margin-bottom:2px}.fact{font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:8px;background:var(--paper-2)}.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.cover{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--ink-2)}.insp-actions{display:flex;flex-wrap:wrap;gap:5px;padding-top:2px}.insp-actions .btn{font-size:13px;min-height:40px}.insp-actions .btn .icon{width:17px;height:17px}.insp-actions .insp-icon{flex:none;width:44px;padding:0}.insp-actions .insp-text{flex:1 0 auto;padding:6px 10px;gap:6px;white-space:nowrap}.meter{height:8px;border-radius:5px;background:var(--paper-2);border:1.5px solid var(--ink);overflow:hidden}.meter.thin{height:6px;border-width:1px}.meter.big{height:12px;border-radius:7px}.meter-fill{height:100%;width:0;background:var(--accent-2);transition:width .5s var(--ease-out)}.meter-fill.good{background:var(--good)}.meter-fill.mid{background:var(--warn)}.meter-fill.bad{background:var(--bad)}.meter-fill.accent{background:linear-gradient(90deg,#f2b632,var(--accent))}.meter-fill.value{background:linear-gradient(90deg,#6c5b9e,#5c9fc7,#9fd08a,#f6c945)}.meter-fill.cover{background:#6cc08a}.legend{position:absolute;right:calc(var(--gap) + var(--safe-right));bottom:calc(var(--bar-h) + 2 * var(--gap) + var(--safe-bottom));width:320px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;animation:tray-up .25s var(--ease-out)}@keyframes tray-up{0%{opacity:0;transform:translateY(10px)}}html.tray-open .legend{bottom:calc(var(--bar-h) + 3 * var(--gap) + var(--tray-h) + var(--safe-bottom))}html.tray-open .legend .lg-hint,html.tray-open .legend .lg-chips{display:none}.legend:not(.hidden)~.inspector{max-height:calc(100% - 132px - var(--bar-h) - 4 * var(--gap) - 230px - var(--safe-top) - var(--safe-bottom))}.lg-head{display:flex;align-items:center;gap:7px}.lg-icon{display:inline-flex;width:22px;height:22px}.lg-icon svg{width:100%;height:100%}.lg-title{flex:1;font-family:var(--font-display);font-weight:800;font-size:17px}.lg-key{display:flex;flex-wrap:wrap;gap:6px 12px}.lg-bar{width:100%;height:12px;border-radius:7px;border:1.5px solid var(--ink)}.lg-ends{width:100%;display:flex;justify-content:space-between;font-size:11px;font-weight:900;color:var(--ink-2);margin-top:-3px}.lg-stat{font-size:12.5px;font-weight:900}.lg-stat:empty{display:none}.lg-hint{font-size:12px;font-weight:600;color:var(--ink-2);line-height:1.3}.lg-none{font-size:12px;font-weight:700;color:var(--muted)}.lg-chips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px 0 1px;scroll-snap-type:x mandatory}.lg-chip{scroll-snap-align:start}.lg-chips.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}.lg-chips::-webkit-scrollbar{display:none}.lg-chip{flex:none;width:36px;height:36px;border-radius:10px;border:1.5px solid var(--paper-3);background:var(--paper-hi);display:flex;align-items:center;justify-content:center}.lg-chip .icon{width:18px;height:18px}.lg-chip:hover{border-color:var(--ink)}.lg-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.swatch{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.swatch i{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--ink)}.toasts{position:absolute;top:calc(132px + var(--safe-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none!important;z-index:55;width:min(520px,calc(100% - 120px))}.toast{padding:8px 15px;border-radius:11px;border:2px solid var(--ink);background:var(--paper-hi);box-shadow:var(--shadow);font-size:13.5px;font-weight:800;animation:toast-in .3s var(--ease-pop);transition:opacity .4s,transform .4s;text-align:center;line-height:1.35}.toast.good{border-color:var(--good);background:#f4fbf3}.toast.warn{border-color:var(--warn);background:#fffaf0}.toast.bad{border-color:var(--bad);color:#a3352a;background:#fff6f3}.toast.out{opacity:0;transform:translateY(-6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}}.milestone-pop{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));text-align:center;padding:18px 26px;background:radial-gradient(ellipse at 50% 0%,#fff6dd,var(--paper) 70%);border:3px solid var(--ink);border-radius:22px;box-shadow:0 6px #2b24204d,0 30px 60px -20px #2b242073;animation:pop-in .7s var(--ease-pop);transition:opacity .6s,transform .6s;z-index:40;display:flex;flex-direction:column;align-items:center;gap:4px}.milestone-pop.out{opacity:0;transform:translate(-50%,-60%);pointer-events:none}.mp-badge{width:132px;height:132px;margin-top:-78px;filter:drop-shadow(0 4px 0 rgba(43,36,32,.3));animation:badge-spin 1s var(--ease-pop)}@keyframes badge-spin{0%{transform:scale(.2) rotate(-40deg)}}.mp-kicker{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.mp-name{font-family:var(--font-display);font-size:40px;font-weight:800;line-height:1.05}.mp-blurb{font-size:15px;color:var(--ink-2);font-weight:700}.mp-reward{margin-top:4px;font-weight:900;color:var(--good);font-size:16px}.mp-unlocks{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:6px 0 8px}.unlock-chip.land{background:#e3f0fb;border-color:#b9d6f0}.unlock-chip{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:10px;background:var(--paper-2);border:1.5px solid var(--paper-3)}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-40%) scale(.7)}}.sheet-scrim{position:absolute;inset:0;background:transparent;z-index:45}.title-screen.in~.sheet-scrim:not(.hidden),.sheet-scrim:not(.hidden){background:#2b242014}.sheet{position:absolute;z-index:50;top:calc(var(--gap) + var(--safe-top));right:calc(var(--gap) + var(--safe-right));bottom:calc(var(--gap) + var(--safe-bottom));width:min(420px,calc(100% - 2 * var(--gap)));display:flex;flex-direction:column;background:linear-gradient(180deg,var(--paper-hi),var(--paper) 30%);border:2px solid var(--ink);border-radius:18px;box-shadow:0 4px #2b242047,0 24px 60px -16px #2b242073;transform:translate(calc(100% + 30px));transition:transform .32s var(--ease-out),opacity .2s;overflow:hidden}.sheet.wide{width:min(580px,calc(100% - 2 * var(--gap)))}@media(min-width:641px)and (min-height:521px){.sheet-scrim,.sheet{top:calc(84px + var(--safe-top))}.title-screen.in~.sheet{top:calc(var(--gap) + var(--safe-top))}.ui-scale:has(>.title-screen.in)>.sheet-scrim{top:0}}.sheet.in{transform:none}.sheet.out{transform:translate(calc(100% + 30px));opacity:.6}.sheet.under{transform:translate(-24px) scale(.98);opacity:0;pointer-events:none}.sheet-grip{display:none}.sheet-head{display:flex;align-items:center;gap:10px;padding:13px 14px 11px 16px;border-bottom:2px solid var(--paper-3);flex:none}.sheet-icon{width:24px;height:24px;color:var(--accent)}.sheet-title{flex:1;font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1.1}.sheet-body{flex:1;overflow-y:auto;padding:14px 16px 22px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.sheet-body>*{flex:none}.section{display:flex;flex-direction:column;gap:8px}.section-title{font-size:11.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:6px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1.5px;background:var(--paper-3);border-radius:1px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions.end{justify-content:flex-end;margin-top:8px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 12px;text-align:center;color:var(--ink-2);font-weight:700;font-size:14px;line-height:1.4}.empty-state .icon{width:40px;height:40px;color:var(--paper-3)}.version{text-align:center;font-size:11px;color:var(--muted);font-weight:700;margin-top:6px}.slider{display:flex;flex-direction:column;gap:3px;padding:7px 10px 8px;background:var(--paper-hi);border:1.5px solid var(--paper-3);border-radius:11px}.slider.disabled{opacity:.55}.sl-head{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:900}.sl-head .icon{width:16px;height:16px;color:var(--ink-2)}.sl-label{flex:1}.sl-value{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:900}.sl-note{font-size:11.5px;color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums;min-height:15px}.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y;--fill: 50%}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:5px;border:1.5px solid var(--ink);background:linear-gradient(90deg,var(--accent) var(--fill),var(--paper-2) var(--fill))}input[type=range]::-moz-range-track{height:8px;border-radius:5px;border:1.5px solid var(--ink);background:var(--paper-2)}input[type=range]::-moz-range-progress{height:8px;border-radius:5px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9.5px;border-radius:50%;background:var(--paper-hi);border:2px solid var(--ink);box-shadow:0 2px #2b24204d}input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--paper-hi);border:2px solid var(--ink)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}input[type=range]:disabled{cursor:default}.toggle-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 12px;min-height:48px;background:var(--paper-hi);border:1.5px solid var(--paper-3);border-radius:11px}.tg-text{flex:1;display:flex;flex-direction:column}.toggle-row.secondary{background:transparent;border-style:dashed}.toggle-row.secondary .tg-label{font-size:13px}.tg-label{font-size:14px;font-weight:900}.tg-note{font-size:12px;color:var(--muted);font-weight:700}.switch{position:relative;width:44px;height:26px;flex:none;border-radius:13px;border:2px solid var(--ink);background:var(--paper-2);transition:background .2s}.knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--ink);transition:transform .22s var(--ease-pop)}.toggle-row.on .switch,.policy-card.on .switch{background:var(--good)}.toggle-row.on .knob,.policy-card.on .knob{transform:translate(18px)}.segmented{display:flex;padding:3px;gap:3px;background:var(--paper-2);border-radius:12px;border:1.5px solid var(--paper-3)}.seg{flex:1;min-height:38px;border:none;background:transparent;border-radius:9px;font-weight:900;font-size:13px;color:var(--ink-2);padding:4px 6px;transition:background .15s}.seg:hover{background:#fff9}.seg.active{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-sm)}.field-row{display:flex;flex-direction:column;gap:5px}.fr-label{font-size:13px;font-weight:900}.stat-row{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800}.sr-label{flex:1;color:var(--ink-2)}.sr-value{font-variant-numeric:tabular-nums}.bud-summary{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 14px;border-radius:13px;background:var(--paper-2)}.bud-balance{font-family:var(--font-display);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.bud-balance.neg{color:var(--bad)}.bud-right{text-align:right}.bud-net{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.bud-net.pos{color:var(--good)}.bud-net.neg{color:var(--bad)}.ie-bar{height:12px;border-radius:7px;border:1.5px solid var(--ink);background:var(--bad);overflow:hidden;margin-top:-2px}.ie-inc{height:100%;background:var(--good);width:50%;transition:width .4s var(--ease-out);border-right:1.5px solid var(--ink)}.ie-legend{display:flex;justify-content:space-between;font-size:12px;font-weight:900;margin-top:-6px;font-variant-numeric:tabular-nums}.ledger{display:flex;flex-direction:column;border:1.5px solid var(--paper-3);border-radius:12px;overflow:hidden;background:var(--paper-hi)}.ledger-head,.ledger-row{display:grid;grid-template-columns:1fr 96px 96px;gap:8px;padding:6px 12px;font-size:13px;font-weight:800;align-items:center}.ledger-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;background:var(--paper-2)}.ledger-row>span:not(:first-child),.ledger-head>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ledger-row:nth-child(odd){background:#f3ecdd73}.lr-label{display:flex;align-items:center;gap:7px;color:var(--ink)}.lr-label .icon{width:15px;height:15px;color:var(--ink-2)}.ledger-group{padding:7px 12px 3px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.loans{display:flex;flex-direction:column;gap:8px}.loan-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;background:var(--paper-hi);border:1.5px solid var(--paper-3)}.loan-name{font-weight:900;font-size:14px}.loan-sub{font-size:12px;color:var(--muted);font-weight:700}.loan-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.loan-offer{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;border:2px solid var(--ink);border-radius:12px;background:var(--paper-hi);box-shadow:var(--shadow-sm)}.loan-offer:hover{background:#fff}.loan-offer:active{transform:translateY(2px);box-shadow:none}.loan-offer:disabled{opacity:.45;box-shadow:none}.lo-amount{font-family:var(--font-display);font-size:18px;font-weight:800}.lo-sub{font-size:11.5px;color:var(--ink-2);font-weight:800}.view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.view-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 9px;border:2px solid var(--ink);border-radius:13px;background:var(--paper-hi);box-shadow:var(--shadow-sm);font-weight:900;font-size:12.5px}.view-card:hover{background:#fff;transform:translateY(-2px)}.view-card:active{transform:translateY(1px);box-shadow:none}.view-card.active{outline:3px solid var(--accent);outline-offset:1px}.vc-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);background:var(--paper-2)}.vc-icon .icon{width:24px;height:24px;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 1px #fff)}.vc-name{text-align:center;line-height:1.15}.scope-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.scope-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:5px 12px;border-radius:18px;border:2px solid var(--ink);background:var(--paper-hi);font-weight:900;font-size:13px}.scope-chip .icon{width:15px;height:15px}.scope-chip.active{background:var(--ink);color:var(--paper)}.dot{width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;display:inline-block}.policy-total{font-size:13px;font-weight:900;color:var(--ink-2)}.policy-list{display:flex;flex-direction:column;gap:8px}.policy-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border:2px solid var(--paper-3);border-radius:14px;background:var(--paper-hi);transition:border-color .15s,background .15s}.policy-card:hover{border-color:var(--ink)}.policy-card.on{border-color:var(--good);background:#f4fbf3}.policy-card.locked{opacity:.55}.policy-card.locked .switch{opacity:.4}.pc-icon{width:42px;height:42px;flex:none;border-radius:12px;background:var(--paper-2);display:flex;align-items:center;justify-content:center}.pc-icon .icon{width:22px;height:22px}.policy-card.on .pc-icon{background:var(--good);color:#fff}.pc-body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pc-name{font-weight:900;font-size:14.5px}.pc-desc{font-size:12.5px;color:var(--ink-2);font-weight:600;line-height:1.3}.pc-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;font-weight:900;margin-top:2px}.pc-cost{color:var(--accent-2)}.pc-note{color:var(--muted)}.pc-switch{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.locked-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 10px}.lh-icon{width:70px;height:70px;border-radius:50%;background:var(--paper-2);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center}.lh-icon .icon{width:32px;height:32px}.lh-title{font-family:var(--font-display);font-size:21px;font-weight:800}.lh-text{font-size:14px;color:var(--ink-2);font-weight:600;line-height:1.4;max-width:320px}.locked-hero .meter{width:min(300px,100%);margin-top:6px}.lh-sub{font-size:12px;font-weight:900;color:var(--muted)}.district-list{display:flex;flex-direction:column;gap:8px}.district-row{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;border-radius:13px;background:var(--paper-hi);border:1.5px solid var(--paper-3)}.dr-color{width:18px;height:40px;border-radius:6px;border:2px solid var(--ink);flex:none}.dr-body{flex:1;min-width:0}.dr-name{font-family:var(--font-display);font-weight:800;font-size:16px}.dr-sub{font-size:12px;font-weight:700;color:var(--muted)}.dr-actions{display:flex;gap:4px}.chart-wrap{border:2px solid var(--ink);border-radius:14px;background:#fffdf8;padding:6px;box-shadow:var(--shadow-sm)}.chart{width:100%;height:220px;display:block}.chart-legend{display:flex;gap:14px;justify-content:center;margin-top:-4px}.figure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.figure{display:flex;flex-direction:column;padding:8px 10px;border-radius:10px;background:var(--paper-hi);border:1.5px solid var(--paper-3)}.fg-label{font-size:11px;font-weight:800;color:var(--muted)}.fg-value{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.ms-hero{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:radial-gradient(ellipse at 20% 30%,#fff3d6,var(--paper-2) 75%);border:1.5px solid var(--paper-3)}.ms-hero-badge{width:112px;height:112px;flex:none;filter:drop-shadow(0 3px 0 rgba(43,36,32,.28))}.ms-hero-text{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.ms-hero-name{font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1}.ms-hero-blurb{font-size:13px;color:var(--ink-2);font-weight:700}.ms-hero-next{font-size:12px;color:var(--ink-2);font-weight:900;font-variant-numeric:tabular-nums}.ms-list{display:flex;flex-direction:column;gap:8px}.ms-row{position:relative;display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--paper-hi);border:1.5px solid var(--paper-3)}.ms-row:not(.done) .ms-badge{filter:grayscale(1) opacity(.45)}.ms-row.next{border:2px solid var(--accent);background:#fffaf2}.ms-badge{width:60px;height:60px;flex:none}.ms-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.ms-name{font-family:var(--font-display);font-size:17px;font-weight:800;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ms-pop{font-family:var(--font-ui);font-size:12px;font-weight:900;color:var(--muted)}.ms-blurb{font-size:12.5px;color:var(--ink-2);font-weight:600}.ms-unlocks{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ms-reward{display:flex;gap:12px;font-size:12px;font-weight:900;color:var(--good);flex-wrap:wrap}.ms-reward>span{display:inline-flex;align-items:center;gap:4px}.ms-reward .icon{width:14px;height:14px}.ms-check{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--good);color:#fff;display:none;align-items:center;justify-content:center;border:2px solid var(--ink)}.ms-check .icon{width:13px;height:13px}.ms-row.done .ms-check{display:flex}.land-box{display:flex;gap:14px;align-items:center}.parcel-map{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;width:108px;flex:none;padding:4px;border:2px solid var(--ink);border-radius:10px;background:#e8f1dc}.parcel-map i{aspect-ratio:1;border-radius:3px;background:#2b242014}.parcel-map i.owned{background:var(--good)}.parcel-map i.buyable{background:repeating-linear-gradient(45deg,#9ad0ff 0 4px,#cfe8ff 4px 8px)}.land-info{flex:1;display:flex;flex-direction:column;gap:6px}.land-text{font-size:13.5px;font-weight:800}.land-cost{font-size:12.5px;font-weight:800;color:var(--ink-2)}.slot-list{display:flex;flex-direction:column;gap:10px}.slot{display:flex;gap:12px;padding:10px;border-radius:14px;background:var(--paper-hi);border:1.5px solid var(--paper-3)}.slot.auto{border-style:dashed}.slot-thumb{width:132px;height:84px;flex:none;object-fit:cover;border-radius:9px;border:2px solid var(--ink);background:var(--paper-2)}.slot-thumb.empty{display:flex;align-items:center;justify-content:center;color:var(--paper-3)}.slot-thumb.empty .icon{width:30px;height:30px}.slot-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.slot-name{font-family:var(--font-display);font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{font-family:var(--font-ui);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--accent-soft);color:#b2541f}.slot-sub{font-size:12px;font-weight:700;color:var(--ink-2)}.slot-actions{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap;align-items:center}.about-figure{margin:0;border-radius:16px;overflow:hidden;border:2px solid var(--ink);box-shadow:var(--shadow-sm);background:var(--paper-2)}.about-portrait{width:100%;display:block;aspect-ratio:960 / 602;object-fit:cover}.about-portrait.missing{visibility:hidden}.about-note{font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.45}.about-why{margin:0;font-size:14.5px;line-height:1.55;font-weight:600;color:var(--ink-2)}.about-sign{font-family:var(--font-display);font-style:italic;font-weight:700;font-size:16px;text-align:right}.get-app{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--accent-soft);font-size:13.5px;font-weight:800;color:#9a4a1c}.more-apps{display:flex;flex-direction:column;gap:8px}.app-card{padding:10px 12px;border-radius:12px;background:var(--paper-hi);border:1.5px solid var(--paper-3);display:flex;flex-direction:column;gap:3px}.app-name{font-weight:900;font-size:14.5px}.app-tag{font-size:12.5px;color:var(--ink-2);font-weight:600;line-height:1.35}.app-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.store-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-size:12.5px;font-weight:900;padding:6px 11px;min-height:34px;border-radius:9px;border:2px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm)}.store-link .icon{width:15px;height:15px}.credits-hero{text-align:center;padding:10px 0 2px}.ch-logo{font-family:var(--font-display);font-size:34px;font-weight:800}.ch-tag{font-size:13px;font-weight:700;color:var(--ink-2)}.credit{padding:6px 0 7px;border-bottom:1.5px dashed var(--paper-3)}.cr-name{font-weight:900;font-size:14px}.cr-what{font-size:12.5px;color:var(--ink-2);font-weight:600}.cr-note{font-size:11.5px;color:var(--muted);font-weight:700}.news-list,.advice-list{display:flex;flex-direction:column;gap:8px}.news-item{display:flex;flex-direction:column;gap:3px;text-align:left;width:100%;padding:10px 12px;border-radius:12px;background:var(--paper-hi);border:1.5px solid var(--paper-3);border-left:5px solid var(--accent-2);animation:tray-up .3s var(--ease-out)}.news-item.go:hover{border-color:var(--ink)}.news-item.tone-good{border-left-color:var(--good)}.news-item.tone-bad{border-left-color:var(--bad)}.news-item.tone-funny{border-left-color:#9b6fe0}.ni-head{display:flex;justify-content:space-between;gap:10px}.ni-source{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.ni-date{font-size:11px;font-weight:800;color:var(--muted)}.ni-text{font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.35}.ni-go{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:900;color:var(--accent)}.ni-go .icon{width:13px;height:13px}.advice{display:flex;gap:12px;padding:12px;border-radius:14px;background:var(--paper-hi);border:2px solid var(--paper-3)}.advice.urgent{border-color:var(--bad);background:#fff7f4}.advice.soon{border-color:var(--warn);background:#fffbf2}.ad-icon{width:42px;height:42px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dce9f7;border:2px solid var(--ink)}.advice.urgent .ad-icon{background:var(--bad);color:#fff}.advice.soon .ad-icon{background:#f6c75a}.ad-icon .icon{width:21px;height:21px}.ad-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.ad-title{font-weight:900;font-size:14.5px}.ad-text{font-size:13px;color:var(--ink-2);font-weight:600;line-height:1.38}.ad-actions{display:flex;gap:6px;margin-top:5px}.ad-group{font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:4px 2px -2px}.ad-count,.ni-count{display:inline-block;margin-left:7px;padding:0 7px;border-radius:9px;background:var(--ink);color:var(--paper);font-size:11.5px;font-weight:900;vertical-align:1px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.menu-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 12px 11px;border:2px solid var(--ink);border-radius:14px;background:var(--paper-hi);box-shadow:var(--shadow-sm);text-align:left;transition:transform .12s var(--ease-out)}.menu-tile:hover{background:#fff;transform:translateY(-2px)}.menu-tile:active{transform:translateY(1px);box-shadow:none}.mt-icon{width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.mt-icon .icon{width:22px;height:22px}.mt-label{font-weight:900;font-size:15px}.mt-sub{font-size:12px;color:var(--muted);font-weight:700}.keys-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.key-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1.5px dashed var(--paper-3);font-size:13px;font-weight:800}.keys{display:inline-flex;gap:3px;flex-wrap:wrap}kbd{font-family:var(--font-ui);font-size:11.5px;font-weight:900;min-width:24px;text-align:center;padding:3px 7px;border-radius:6px;background:var(--paper-hi);border:1.5px solid var(--ink);box-shadow:0 2px #2b24204d}.key-what{color:var(--ink-2);text-align:right}.dialog-wrap{position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#2b242052;opacity:0;transition:opacity .2s}.dialog-wrap.in{opacity:1}.dialog-wrap.out{opacity:0;pointer-events:none}.dialog{width:min(400px,100%);padding:20px 20px 16px;display:flex;flex-direction:column;gap:10px;align-items:stretch;border-radius:20px;transform:scale(.94) translateY(8px);transition:transform .28s var(--ease-pop)}.dialog-wrap.in .dialog{transform:none}.dialog-icon{width:54px;height:54px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;align-self:center;border:2px solid var(--ink)}.dialog-icon.danger{background:var(--bad-soft);color:var(--bad)}.dialog-icon .icon{width:26px;height:26px}.dialog-title{font-family:var(--font-display);font-size:21px;font-weight:800;text-align:center}.dialog-text{font-size:14px;color:var(--ink-2);font-weight:600;text-align:center;line-height:1.45}.dialog-actions{display:flex;gap:8px;margin-top:6px}.dialog-actions .btn{flex:1;min-height:46px;font-size:15px}.name-input{font:inherit;font-size:18px;font-weight:800;text-transform:none;letter-spacing:0;padding:9px 13px;min-height:46px;width:100%;border:2px solid var(--ink);border-radius:11px;background:#fff;color:var(--ink);user-select:text;-webkit-user-select:text;touch-action:manipulation}.name-input:focus{outline:3px solid var(--accent);outline-offset:1px}.photo-bar{position:absolute;left:50%;bottom:calc(var(--gap) + var(--safe-bottom));transform:translate(-50%);width:min(560px,calc(100% - 2 * var(--gap)));padding:10px 12px 12px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"head head" "controls shutter" "hint shutter";gap:8px 14px;align-items:center;background:#fbf7eee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;animation:photo-in .3s var(--ease-out)}@keyframes photo-in{0%{opacity:0;transform:translate(-50%,10px)}}.pb-head{grid-area:head;display:flex;justify-content:space-between;align-items:center}.pb-title{display:inline-flex;gap:7px;align-items:center;font-family:var(--font-display);font-weight:800;font-size:17px}.pb-controls{grid-area:controls;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pb-controls .toggle-row{grid-column:span 2;min-height:42px;padding:6px 12px}.pb-hint{grid-area:hint;font-size:11.5px;font-weight:700;color:var(--ink-2)}.shutter{grid-area:shutter;width:76px;height:76px;border-radius:50%;border:3px solid var(--ink);background:var(--paper-hi);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.shutter-ring{width:54px;height:54px;border-radius:50%;background:var(--accent);border:2px solid var(--ink);transition:transform .12s}.shutter:active .shutter-ring{transform:scale(.86)}.photo-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none!important;z-index:80}.photo-flash.go{animation:flash-white .5s ease-out}@keyframes flash-white{0%{opacity:.85}to{opacity:0}}.title-screen{position:absolute;inset:0;z-index:30;opacity:0;transition:opacity .6s;pointer-events:none}.title-screen>*{pointer-events:auto}.title-screen.in{opacity:1}.title-screen.out{opacity:0}.title-screen.out *{pointer-events:none!important}.title-art{position:absolute;inset:0;overflow:hidden;background:#bfe0ef}.title-art img{width:100%;height:100%;object-fit:cover;animation:kenburns 40s ease-in-out infinite alternate}@keyframes kenburns{0%{transform:scale(1.04) translate(0)}to{transform:scale(1.14) translate(-2%,-1.5%)}}.title-veil{position:absolute;inset:0;pointer-events:none!important;background:radial-gradient(ellipse 70% 90% at 0% 50%,#fbf7eeeb,#fbf7ee8c 45%,#fbf7ee00 75%),linear-gradient(0deg,#2b242038,#2b242000 30%)}.title-col{position:absolute;left:calc(clamp(24px,6vw,96px) + var(--safe-left));top:50%;transform:translateY(-50%);width:min(400px,calc(100% - 48px));display:flex;flex-direction:column;gap:26px}.title-brand{animation:rise 1s var(--ease-out) both}.title-logo{font-family:var(--font-display);font-weight:900;line-height:.88;letter-spacing:-.02em;display:flex;flex-direction:column}.tl-1{font-size:clamp(46px,7vw,76px);color:var(--ink)}.tl-2{font-size:clamp(62px,10vw,110px);color:var(--accent);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 rgba(43,36,32,.35)}.title-tag{font-size:17px;color:var(--ink-2);font-weight:800;margin-top:12px;text-shadow:0 0 6px var(--paper),0 0 12px var(--paper),0 0 2px var(--paper)}.title-menu{display:flex;flex-direction:column;gap:9px;animation:rise 1s .15s var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.title-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:9px 16px;text-align:left;border:2px solid var(--ink);border-radius:14px;background:var(--paper-hi);box-shadow:var(--shadow);font-weight:900;font-size:17px;transition:transform .12s var(--ease-out),background .15s}.title-btn .icon{width:22px;height:22px}.title-btn:hover{background:#fff;transform:translate(4px)}.title-btn:active{transform:translateY(2px);box-shadow:var(--shadow-sm)}.title-btn.primary{background:var(--accent);color:#fff;min-height:64px;font-size:19px}.title-btn.primary:hover{background:var(--accent-hi)}.tb-text{display:flex;flex-direction:column;min-width:0}.tb-sub{font-size:12.5px;font-weight:700;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.title-row .title-btn{flex-direction:column;gap:3px;justify-content:center;text-align:center;padding:8px 4px;font-size:13.5px;min-height:64px}.title-row .title-btn:hover{transform:translateY(-2px)}.title-foot{position:absolute;right:calc(16px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));display:flex;gap:12px;font-size:12px;font-weight:800;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.5);pointer-events:none!important}.newcity-wrap{padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}.newcity{width:min(640px,100%);max-height:100%;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;transform:scale(.95) translateY(10px);transition:transform .3s var(--ease-pop)}.dialog-wrap.in .newcity{transform:none}.nc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:2px solid var(--paper-3)}.nc-title{font-family:var(--font-display);font-size:25px;font-weight:800}.nc-head,.nc-actions{flex:none}.nc-body{flex:1 1 auto;min-height:0;padding:14px 18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}.nc-body>*{flex:none}@media(max-height:640px){.newcity-wrap{padding:calc(8px + var(--safe-top)) 12px calc(8px + var(--safe-bottom))}.nc-head{padding:10px 16px 8px}.nc-title{font-size:21px}.nc-body{padding:10px 16px;gap:10px}.nc-actions{padding:8px 16px 10px}.map-card canvas{aspect-ratio:1.5}}.nc-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:2px solid var(--paper-3)}.nc-actions .btn{min-height:48px;font-size:16px;padding:8px 20px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2)}.field>span{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.field-hint{text-transform:none;letter-spacing:0;font-weight:700;color:var(--muted);font-size:11.5px}.field .muted-note,.field .segmented{text-transform:none;letter-spacing:0}.name-row{display:flex;gap:8px;align-items:center}.map-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-transform:none;letter-spacing:0}.map-card{display:flex;flex-direction:column;gap:3px;padding:6px 6px 8px;border:2px solid var(--ink);border-radius:14px;background:var(--paper-hi);box-shadow:var(--shadow-sm);text-align:left;transition:transform .15s var(--ease-out)}.map-card:hover{transform:translateY(-2px)}.map-card canvas{width:100%;aspect-ratio:1;border-radius:9px;border:1.5px solid var(--ink);display:block;background:var(--paper-2)}.map-card.active{outline:3px solid var(--accent);outline-offset:1px;background:#fff7ea}.mc-name{font-weight:900;font-size:13.5px;color:var(--ink);margin-top:2px}.mc-desc{font-size:11px;font-weight:700;color:var(--muted);line-height:1.25}.nc-hint{display:flex;gap:10px;padding:11px 13px;border-radius:13px;background:#eef5e4;border:1.5px solid #cfe0b8;font-size:13.5px;font-weight:600;line-height:1.45;color:var(--ink-2)}.nc-hint .icon{color:#c48b1c;width:22px;height:22px}.nc-hint b{color:var(--ink)}.tap-start{position:absolute;inset:0;z-index:90;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 40%,#fbf7eee0,#fbf7eef5);transition:opacity .4s}.tap-start.out{opacity:0;pointer-events:none}.ts-logo{font-family:var(--font-display);font-size:52px;font-weight:900}.ts-tap{display:inline-flex;gap:10px;align-items:center;font-size:20px;font-weight:900;padding:14px 26px;border-radius:30px;border:2px solid var(--ink);background:var(--accent);color:#fff;box-shadow:var(--shadow);animation:breathe 2.2s ease-in-out infinite}.ts-note{font-size:13px;font-weight:700;color:var(--ink-2)}@keyframes breathe{50%{transform:scale(1.05)}}html.touch-ui .btn,html.touch-ui .btn.small-btn{min-height:44px}html.touch-ui .btn.round,html.touch-ui .btn.round.small{width:44px;height:44px}html.touch-ui .speeds{gap:0;padding:0}html.touch-ui .speeds .btn{width:44px;height:44px}html.touch-ui .tick-news,html.touch-ui .tick-go{min-width:44px}html.touch-ui .tick-body{min-height:44px}html.touch-ui .tool-btn{min-width:48px}html.touch-ui .alert{height:44px}html.touch-ui .seg{min-height:44px}html.touch-ui .lg-chip{width:44px;height:44px}html.touch-ui .scope-chip,html.touch-ui .store-link,html.touch-ui .insp-actions .btn{min-height:44px}@media(max-width:1100px){.tool-btn{min-width:60px}.ticker,.ticker.expanded{max-width:calc(100% - 240px)}.ticker.expanded{width:calc(100% - 240px)}.date{min-width:118px;font-size:15px}}@media(max-width:960px){.tb-long{display:none}.tb-short{display:inline}.tool-btn{min-width:54px}.ms-label{display:none}.city-card{min-width:0;max-width:300px}.date{display:flex;flex-direction:column;line-height:1.12;min-width:0;font-size:15px}.date-yr{font-family:var(--font-ui);font-size:11px;font-weight:800;color:var(--ink-2)}.date-yr:before{content:none}.money-card{min-width:0}.ticker{top:calc(80px + var(--safe-top));max-width:calc(100% - 140px)}.ticker.expanded{width:calc(100% - 140px);max-width:760px}.alerts,.demand,.explain{top:calc(130px + var(--safe-top))}.inspector{top:calc(130px + var(--safe-top));max-height:calc(100% - 130px - var(--bar-h) - 3 * var(--gap) - var(--safe-top) - var(--safe-bottom))}.toasts{top:calc(130px + var(--safe-top))}}@media(max-width:640px){:root{--gap: 8px;--bar-h: 60px;--tray-h: 178px}.card{padding:6px 9px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"city buttons" "clock money";gap:6px;align-items:center}.top-right{display:contents}.city-card{grid-area:city;justify-self:start;max-width:100%;padding:4px 10px 5px 5px;gap:7px}.city-badge{width:36px;height:36px}.city-name{font-size:15px}.city-name.long{font-size:14px}.city-name.longer{font-size:12.5px}.big{font-size:16px}.mood{font-size:14px}.ms{display:none}.clock-card{grid-area:clock;justify-self:start;padding:2px 2px 2px 10px;gap:8px}.date{font-size:13px}.top-buttons{grid-area:buttons;justify-self:end;gap:5px}.top-buttons .btn.round:first-child{display:none}.money-card{grid-area:money;justify-self:end;align-self:stretch;justify-content:center;padding:4px 10px}.ticker{top:calc(122px + var(--safe-top));left:var(--gap);right:var(--gap);transform:none;width:auto;max-width:none;font-size:12.5px}.ticker.expanded{width:auto;max-width:none}.ticker.flash{animation:flash-left .5s var(--ease-out)}.alerts{top:calc(174px + var(--safe-top));right:76px;flex-direction:row;flex-wrap:wrap;gap:6px}.alert{padding:0 11px 0 4px;font-size:12px;max-width:140px}.al-icon{width:34px;height:34px}.explain{left:var(--gap);right:76px;width:auto;top:calc(226px + var(--safe-top))}.demand{top:calc(174px + var(--safe-top));padding:5px 4px 3px}.d-track{height:46px;width:10px}.toasts{top:calc(174px + var(--safe-top));width:calc(100% - 120px)}.toast{font-size:12.5px;padding:7px 11px}.toolbar{left:var(--gap);right:var(--gap);transform:none;max-width:none;padding:3px}.tool-scroll{gap:0}.tool-btn,html.touch-ui .tool-btn{flex:0 0 48px;min-width:48px;min-height:52px;padding:5px 1px 4px;font-size:9.5px;gap:2px}.tool-btn .icon{width:22px;height:22px}.tool-sep{margin:8px 2px}.fab-col{display:flex;flex-direction:column;gap:8px;position:absolute;right:calc(var(--gap) + var(--safe-right));bottom:calc(var(--bar-h) + 2 * var(--gap) + var(--safe-bottom))}.fab-col .btn.round,html.touch-ui .fab-col .btn.round{width:46px;height:46px}html.tray-open .fab-col,html.legend-open .fab-col,html.inspector-open .fab-col{display:none}.tray{left:var(--gap);right:var(--gap);transform:none;width:auto;max-width:none;padding:6px 6px 8px}@keyframes tray-in{0%{opacity:0;transform:translateY(10px)}}.tray-head{padding:0 4px 5px}.th-desc{font-size:11px}.tray-item{width:96px;padding:6px 4px}.ti-icon{width:50px;height:44px}.ti-icon.thumb img{width:54px;height:48px}.inspector{left:var(--gap);right:var(--gap);width:auto;top:auto;bottom:calc(var(--bar-h) + 2 * var(--gap) + var(--safe-bottom));max-height:min(50vh,calc(100% - 240px));transform:translateY(14px)}.demand~.inspector{right:var(--gap)}.legend{left:var(--gap);right:var(--gap);width:auto}.legend:not(.hidden)~.inspector{max-height:40vh;bottom:calc(var(--bar-h) + 3 * var(--gap) + 180px + var(--safe-bottom))}.lg-hint{display:none}.coach-slot{left:var(--gap);right:64px;width:auto}.sheet{inset:auto 0 0;width:100%!important;max-height:calc(100% - 44px - var(--safe-top));border-radius:22px 22px 0 0;border-bottom:none;transform:translateY(105%);padding-bottom:var(--safe-bottom)}.sheet.in{transform:none}.sheet.out{transform:translateY(105%)}.sheet.under{transform:translateY(-10px) scale(.98);opacity:0}.sheet-grip{display:block;width:44px;height:5px;border-radius:3px;background:var(--paper-3);margin:8px auto 0;flex:none}.sheet-head{padding:6px 12px 9px 16px}.sheet-title{font-size:20px}.sheet-body{padding:12px 14px 20px}.slider-grid{grid-template-columns:1fr}.ledger-head,.ledger-row{grid-template-columns:1fr 84px 84px;padding:6px 10px;font-size:12.5px}.loan-offers{grid-template-columns:1fr 1fr 1fr;gap:6px}.keys-grid{grid-template-columns:1fr}.slot-thumb{width:96px;height:66px}.ms-hero-badge{width:84px;height:84px}.ms-hero-name{font-size:24px}.mp-name{font-size:32px}.title-veil{background:radial-gradient(ellipse 120% 70% at 50% 100%,#fbf7eef2,#fbf7eeb3 50%,#fbf7ee00 80%),linear-gradient(180deg,#fbf7eee6,#fbf7ee99 22%,#fbf7ee00 36%)}.title-col{left:20px;right:20px;width:auto;top:auto;bottom:calc(26px + var(--safe-bottom));transform:none;gap:16px}.title-brand{position:fixed;top:calc(40px + var(--safe-top));left:20px;right:20px;text-align:center}.title-logo{align-items:center}.tl-1{font-size:46px}.tl-2{font-size:70px}.title-tag{font-size:15px}.title-btn{min-height:50px;font-size:16px}.title-btn.primary{min-height:58px}.title-foot{display:none}.map-cards{grid-template-columns:1fr 1fr}.nc-title{font-size:21px}.newcity-wrap{padding:calc(8px + var(--safe-top)) 8px calc(8px + var(--safe-bottom))}.photo-bar{grid-template-columns:1fr auto}.pb-controls{grid-template-columns:1fr}.pb-controls .toggle-row{grid-column:auto}.pb-hint{display:none}.shutter{width:64px;height:64px}.shutter-ring{width:44px;height:44px}}@media(max-height:520px)and (min-width:641px){:root{--gap: 7px;--bar-h: 56px;--tray-h: 150px;--demand-w: 86px}.card{padding:4px 10px}.topbar{justify-content:flex-start;align-items:flex-start}.topbar>.panel{height:40px}.top-right{margin-left:auto;gap:6px}.city-card{flex:0 1 auto;min-width:0;max-width:220px;padding:2px 9px 2px 3px;gap:6px}.city-badge{width:30px;height:30px}.city-name{font-size:13.5px;margin-bottom:0}.city-name.long{font-size:12.5px}.city-name.longer{font-size:11.5px}.city-card .row{gap:4px}.city-card .row .icon{width:15px;height:15px}.city-card .sep{margin:0 2px;height:14px}.big{font-size:15px;line-height:1.15}.mood{font-size:14px}.ms{display:none}.clock-card{flex:none;padding:1px 1px 1px 9px;gap:6px}.date{font-size:12.5px}.date-yr{font-size:10px}.speeds,html.touch-ui .speeds{gap:0;padding:0}.speeds .btn,html.touch-ui .speeds .btn{width:38px;height:34px;min-height:0}.money-card{flex:none;padding:2px 9px;justify-content:center}.money-card .icon{width:16px;height:16px}.delta{font-size:11px;line-height:1.1}.top-buttons{gap:5px}.top-buttons .btn.round,html.touch-ui .top-buttons .btn.round{width:40px;height:40px;min-height:0}.ticker,.ticker.expanded{position:relative;top:auto;left:auto;transform:none;flex:1 1 0;width:auto;min-width:40px;max-width:none;height:40px;font-size:12.5px;container:tick / inline-size}.ticker.expanded{height:auto;z-index:7}.ticker.flash{animation:flash-left .5s var(--ease-out)}.tick-news,html.touch-ui .tick-news{min-width:38px;padding:0 9px}.tick-go,html.touch-ui .tick-go{min-width:38px;padding:0 8px}.tick-body,html.touch-ui .tick-body{min-height:36px;padding:3px 10px 3px 8px}.ticker:not(.expanded) .tick-source{display:none}.ticker.expanded .tick-body{padding:6px 10px 7px 8px}.demand{top:calc(54px + var(--safe-top))}.alerts{flex-direction:row;left:calc(var(--gap) + var(--safe-left));top:calc(54px + var(--safe-top))}.alert{font-size:12px;padding:0 11px 0 4px}.al-icon{width:34px;height:34px}.explain{left:calc(var(--gap) + var(--safe-left));top:calc(104px + var(--safe-top));width:300px;padding:8px 10px;gap:6px}.ex-text{font-size:12.5px}.demand{padding:4px 4px 2px}.d-track{height:40px;width:10px}.d-label{font-size:10px}.toasts{top:calc(54px + var(--safe-top))}.tool-btn{min-height:48px;min-width:52px;padding:4px 4px 3px}.tool-btn .icon{width:21px;height:21px}.tray{padding:5px 6px 6px}.tray-head{display:none}.tray-item{width:92px;padding:4px 4px 5px}.ti-icon{height:38px}.ti-icon.thumb img{height:40px}.ti-upkeep{display:none}.inspector,.demand~.inspector,.legend:not(.hidden)~.inspector{top:calc(var(--gap) + var(--safe-top));bottom:calc(var(--gap) + var(--safe-bottom));right:calc(var(--gap) + var(--safe-right));width:316px;max-height:none;padding:9px 11px;z-index:8}html.inspector-open .toolbar{left:calc(var(--gap) + var(--safe-left));right:calc(316px + 2 * var(--gap) + var(--safe-right));transform:none;max-width:none}html.inspector-open .tool-btn{min-width:48px}.legend{width:290px;padding:8px 10px;gap:4px}.lg-hint,html.inspector-open .legend{display:none}.sheet,.sheet.wide{top:calc(6px + var(--safe-top));bottom:calc(6px + var(--safe-bottom));width:max(380px,calc(50% - var(--gap) - var(--safe-right)))}html.coach-sheet .toolbar{left:calc(var(--gap) + var(--safe-left));right:calc(max(380px,50% - var(--gap) - var(--safe-right)) + 2 * var(--gap) + var(--safe-right));transform:none;max-width:none}.sheet-head{padding:8px 12px 7px 14px}.sheet-title{font-size:19px}.milestone-pop{top:55%;padding:12px 20px}.mp-badge{width:84px;height:84px;margin-top:-50px}.mp-name{font-size:28px}.title-col{gap:12px;top:50%}.tl-1{font-size:40px}.tl-2{font-size:60px}.title-tag{margin-top:6px;font-size:14px}.title-btn{min-height:44px;padding:6px 14px;font-size:15px}.title-btn.primary{min-height:50px}.title-row .title-btn{min-height:48px;font-size:12.5px}.newcity-wrap{padding:6px}.nc-head{padding:9px 14px 7px}.nc-body{padding:10px 14px;gap:10px}.nc-actions{padding:8px 14px 10px}.map-card canvas{aspect-ratio:1.6}.mc-desc{display:none}.photo-bar{grid-template-areas:"head shutter" "controls shutter";padding:7px 10px 8px}.pb-hint{display:none}.pb-controls{grid-template-columns:1fr 1fr 1fr}.pb-controls .toggle-row{grid-column:auto}}@media(max-height:520px)and (min-width:641px)and (max-width:780px){.city-badge{display:none}.city-card{padding-left:9px}.speeds .btn,html.touch-ui .speeds .btn{width:35px}}@container tick (max-width: 210px){.tick-body,.tick-go{display:none!important}.tick-news{flex:1;gap:6px;border-right:none}.tick-news:after{content:"News";font-size:12.5px;font-weight:900;color:var(--ink-2);white-space:nowrap}}@container tick (max-width: 108px){.tick-news:after{content:none}}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.reduce-motion .title-art img{animation:none;transform:scale(1.04)}:root{--accent: #c8642e;--accent-hi: #dc7640;--accent-soft: #f6dfcd;--blood: #9a1e18;--top-h: 64px;--bar-h: 64px}html,body{background:#2b2420}.hud-top{position:absolute;left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));top:calc(8px + var(--safe-top));display:flex;gap:8px;align-items:flex-start;pointer-events:none}.hud-top>*{pointer-events:auto}.colony-card{display:flex;flex-direction:column;gap:4px;padding:6px 10px;min-width:190px}.cc-row{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;white-space:nowrap}.cc-name{font-family:var(--font-display);font-size:17px;font-weight:700;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-date{color:var(--ink-2);font-size:12px}.res-strip{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;font-weight:800;padding:4px 10px;max-width:360px;cursor:pointer}.res{display:inline-flex;align-items:center;gap:3px}.res .icon{width:14px;height:14px;color:var(--ink-2)}.res.low{color:var(--bad)}.pawn-bar{display:flex;gap:6px;flex:1 1 0;min-width:0;justify-content:safe center;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.hud-top>.colony-col,.hud-top>.time-card,.hud-top>.panel:not(.pawn-bar){flex:none}.pawn-bar::-webkit-scrollbar{display:none}.pcard{position:relative;width:54px;flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--paper-hi);border:2px solid var(--ink);border-radius:10px;padding:3px 3px 4px;box-shadow:var(--shadow-sm);cursor:pointer}.pcard.sel{background:#fff3c8;transform:translateY(-1px)}.pcard.drafted{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad)}.pcard.down{filter:grayscale(.6)}.pcard.dead{opacity:.4}.pcard img{width:44px;height:44px;border-radius:7px;object-fit:cover;background:var(--paper-3)}.pcard .pc-name{font-size:10.5px;font-weight:900;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard .pc-bars{width:44px;height:4px;border-radius:2px;background:var(--paper-3);overflow:hidden}.pcard .pc-mood{height:100%;background:var(--good)}.pcard .pc-flag{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--bad);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink)}.pcard .pc-flag .icon{width:11px;height:11px}.time-card{display:flex;align-items:center;gap:6px;padding:5px 8px}.speeds{display:flex;gap:3px}.speed-btn{width:36px;height:34px;border:2px solid var(--ink);border-radius:9px;background:var(--paper-hi);display:inline-flex;align-items:center;justify-content:center}.speed-btn.on{background:var(--ink);color:var(--paper)}.speed-btn .icon{width:17px;height:17px}.wx{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;font-weight:800;line-height:1.2;min-width:86px}.wx-t{font-size:15px}.wx.wx-space .wx-t{font-size:13px;white-space:nowrap}.wx.wx-space .wx-d{white-space:nowrap;opacity:.85}.auto-btn{font-weight:900}.auto-btn.on{background:var(--accent);color:#fff}.alerts-col{position:absolute;right:calc(8px + var(--safe-right));top:calc(var(--top-h) + 20px + var(--safe-top));display:flex;flex-direction:column;gap:5px;align-items:flex-end;max-height:calc(100vh - 340px);overflow:hidden;pointer-events:none}.alert-pill{pointer-events:auto;display:flex;align-items:center;gap:6px;max-width:260px;padding:5px 10px;border:2px solid var(--ink);border-radius:10px;font-size:12.5px;font-weight:800;background:var(--warn-soft);box-shadow:var(--shadow-sm);cursor:pointer}.alert-pill.critical{background:#fbd5cc;color:#6a1408;animation:alertPulse 1.6s ease-in-out infinite}.alert-pill.info{background:var(--paper-hi)}.alert-pill .count{position:static;display:inline-block;min-width:0;height:auto;border:none;animation:none;background:var(--ink);color:var(--paper);border-radius:8px;padding:0 5px;font-size:11px;line-height:1.5}@keyframes alertPulse{50%{box-shadow:0 0 0 3px #d1503f59}}.letters{position:absolute;left:calc(8px + var(--safe-left));top:calc(var(--top-h) + 64px + var(--safe-top));display:flex;flex-direction:column;gap:6px;width:300px;pointer-events:none}.letter{pointer-events:auto;display:flex;gap:8px;padding:8px 10px;border-radius:12px;border:2px solid var(--ink);background:var(--paper-hi);box-shadow:var(--shadow);font-size:13px;animation:letterDrop .3s var(--ease-out);cursor:pointer}.letter.threat,.letter.death{background:#f8d6cf}.letter.good{background:var(--good-soft)}.letter.choice{background:#e6eefb;flex-direction:row;gap:8px;padding:8px 10px;text-align:left}.letter .lt-title{font-weight:900;font-family:var(--font-display);font-size:14px}.letter .lt-text{color:var(--ink-2);font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.letter img{width:72px;height:48px;object-fit:cover;border-radius:6px;border:1.5px solid var(--ink);flex:none}@keyframes letterIn{0%{transform:translate(-30px);opacity:0}}@keyframes letterDrop{0%{transform:translateY(-8px) scale(.98);opacity:0}}.letter.folded{display:none}.letter .lt-choices{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.letters-more{pointer-events:auto;align-self:flex-start;min-height:44px;padding:4px 12px;border:2px solid var(--ink);border-radius:10px;background:var(--paper-hi);box-shadow:var(--shadow-sm);font:inherit;font-size:12.5px;font-weight:800;color:var(--ink);cursor:pointer}.letters-more.severe{background:#f8d6cf}.toolbar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(8px + var(--safe-bottom));display:flex;gap:4px;padding:5px;flex-wrap:nowrap;max-width:calc(100vw - 16px);overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tb-btn{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:4px 6px;border:2px solid transparent;border-radius:10px;background:none;font-size:10.5px;font-weight:900}.tb-btn .icon{width:22px;height:22px}.tb-btn:hover{background:var(--paper-2)}.tb-btn.on{background:var(--ink);color:var(--paper)}.tb-sep{width:2px;background:var(--paper-3);margin:4px 2px;border-radius:1px;flex:none}.tray{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--bar-h) + 16px + var(--safe-bottom));max-width:min(980px,calc(100vw - 16px));padding:8px;display:flex;flex-direction:column;gap:6px}.tray-cats{display:flex;gap:4px;flex-wrap:wrap}.tray-items{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;max-width:100%}.tile{flex:none;width:92px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:2px solid var(--ink);border-radius:10px;background:var(--paper-hi);font-size:11px;font-weight:800;text-align:center;position:relative}.tile:hover{background:#fff}.tile.on{background:#fff3c8;box-shadow:0 0 0 2px var(--accent)}.tile.locked{opacity:.5}.tile .icon{width:24px;height:24px}.tile .t-cost{font-size:10px;color:var(--ink-2);font-weight:700;line-height:1.2}.tile .t-key{position:absolute;top:2px;right:4px;font-size:9px;color:var(--muted)}.stuff-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:800}.chip{border:2px solid var(--ink);border-radius:999px;padding:2px 9px;background:var(--paper-hi);font-size:12px;font-weight:800;display:inline-flex;gap:4px;align-items:center}.chip.on{background:var(--ink);color:var(--paper)}.chip .swatch{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--ink)}.hint-bar{position:absolute;left:50%;transform:translate(-50%);top:calc(var(--top-h) + 28px + var(--safe-top));padding:6px 12px;font-size:13px;font-weight:800;display:flex;gap:8px;align-items:center}.hint-bar .neg{font-weight:900}.insp{position:absolute;left:calc(8px + var(--safe-left));bottom:calc(var(--bar-h) + 16px + var(--safe-bottom));width:360px;max-height:calc(100vh - 210px);display:flex;flex-direction:column;overflow:hidden}.insp-head{display:flex;gap:10px;padding:10px 10px 6px;align-items:center}.insp-head img{width:56px;height:56px;border-radius:10px;border:2px solid var(--ink);object-fit:cover;background:var(--paper-3)}.insp-titles{flex:1;min-width:0}.insp-name{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.1}.insp-sub{font-size:12px;color:var(--ink-2);font-weight:700}.insp-job{font-size:12px;font-weight:800;color:var(--accent-2)}.insp-why{font-size:11.5px;color:var(--bad);font-weight:700}.insp-why.reason{color:var(--ink-2);font-style:italic}.insp-tabs{display:flex;flex-wrap:wrap;gap:0 2px;padding:0 8px;border-bottom:2px solid var(--paper-3);flex:none}.insp-tab{padding:5px 7px;min-height:30px;font-size:12px;font-weight:900;border:none;background:none;border-bottom:3px solid transparent;white-space:nowrap}.insp-tab.on{border-bottom-color:var(--accent)}.insp-body{overflow-y:auto;padding:8px 10px 10px;font-size:13px}.insp-actions{display:flex;gap:4px;flex-wrap:wrap;padding:6px 10px 10px;border-top:2px solid var(--paper-3)}.kv{display:flex;justify-content:space-between;gap:8px;padding:2px 0;font-weight:700}.kv .k{color:var(--ink-2)}.bar{height:10px;background:var(--paper-3);border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--good)}.bar.warn>i{background:var(--warn)}.bar.bad>i{background:var(--bad)}.need-row{display:grid;grid-template-columns:78px 1fr 34px;gap:6px;align-items:center;font-size:12px;font-weight:800;margin:3px 0}.thought{display:flex;justify-content:space-between;font-size:12px;font-weight:700;padding:1px 0}.thought .pos,.thought .neg{font-weight:900}.skill-row{display:grid;grid-template-columns:16px 92px 1fr 22px;gap:6px;align-items:center;font-size:12px;font-weight:800;margin:2px 0}.skill-row .fire{color:var(--accent)}.skill-row.dis{opacity:.4}.part-row{display:flex;justify-content:space-between;font-size:12px;font-weight:700;padding:2px 0;border-bottom:1px dashed var(--paper-3)}.part-row .inj{color:var(--bad)}.tag{display:inline-block;padding:1px 7px;border-radius:8px;background:var(--paper-2);border:1.5px solid var(--ink);font-size:11.5px;font-weight:800;margin:2px 3px 2px 0}.tag.bad{background:var(--bad-soft)}.tag.good{background:var(--good-soft)}.tag.warn{background:var(--warn-soft)}.ctx-menu{position:absolute;z-index:30;min-width:180px;padding:4px;display:flex;flex-direction:column;gap:2px}.ctx-item{text-align:left;padding:7px 10px;border:none;background:none;border-radius:8px;font-weight:800;font-size:13px;display:flex;gap:8px;align-items:center}.ctx-item:hover{background:var(--paper-2)}.ctx-item:disabled{opacity:.45}.ctx-item .why{font-size:11px;color:var(--bad);font-weight:700}.ctx-menu{max-width:320px}.ctx-item.story{flex-wrap:wrap}.ctx-item.story .why{flex-basis:100%;padding-left:26px;color:var(--ink-soft, #6b5d52);font-weight:500;font-style:italic}.draft-bar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--bar-h) + 16px + var(--safe-bottom));display:flex;gap:4px;padding:5px}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.plabel{position:absolute;transform:translate(-50%,-100%);font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000;white-space:nowrap;text-align:center}.plabel .hb{width:34px;height:4px;margin:1px auto 0;background:#00000080;border-radius:2px;overflow:hidden}.plabel .hb i{display:block;height:100%;background:#e04a3a}.plabel.hostile{color:#ffb0a0}.bubble{position:absolute;transform:translate(-50%,-100%);background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:3px 8px;font-size:12px;font-weight:900;white-space:nowrap;animation:bubbleIn .2s var(--ease-pop)}@keyframes bubbleIn{0%{transform:translate(-50%,-80%) scale(.7);opacity:0}}.bubble.below:before{content:"";position:absolute;left:50%;top:-7px;margin-left:-5px;border:5px solid transparent;border-top:0;border-bottom:6px solid var(--ink)}.intents{position:absolute;inset:0;pointer-events:none}.intent-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.intent-lines line{stroke:#2b2420cc;stroke-width:1.6;stroke-dasharray:4 3;stroke-linecap:round}.intent-lines line.lethal{stroke:var(--lethal, #c8322a);stroke-width:2.2;stroke-dasharray:none}.intent{position:absolute;transform:translateY(-100%);display:flex;align-items:center;gap:3px;white-space:nowrap}.intents.paused .intent{pointer-events:auto;cursor:help}.intent .in-disc{position:relative;width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;background:#fffaf0;color:var(--ink);border:2px solid var(--ink);box-shadow:0 1px 3px #00000073;box-sizing:border-box}.intent .in-ic svg{width:16px;height:16px;display:block}.intent .in-chip{font-size:10.5px;font-weight:900;line-height:15px;color:#fff;background:#2b2420e0;border-radius:7px;padding:0 5px}.intent .in-more{font-size:10px;font-weight:900;line-height:15px;color:var(--ink);background:#fffaf0;border:1.5px solid var(--ink);border-radius:8px;padding:0 4px}.intent.lethal .in-disc{background:var(--lethal, #c8322a);color:#fff;border-color:#fff;box-shadow:0 0 0 2px var(--ink),0 1px 4px #00000080}.intent.lethal .in-disc:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2.5px solid var(--lethal, #c8322a);animation:lethalRing 1.2s ease-out infinite}.intent.lethal .in-chip{background:var(--lethal, #c8322a);box-shadow:0 0 0 1.5px var(--ink)}.intent .in-skull{position:absolute;right:-8px;top:-9px;width:17px;height:17px;border-radius:50%;background:#fff;color:var(--ink);border:1.5px solid var(--ink);display:grid;place-items:center}.intent .in-skull svg{width:13px;height:13px;display:block}.intent.unseen{opacity:.45}.intent.unseen .in-disc{border-style:dashed;background:#fffaf0b3;box-shadow:none}.intent.k-flee .in-disc{opacity:.7}.risk-badge{position:absolute;transform:translateY(-100%);width:26px;height:26px;box-sizing:border-box;padding:3px;border-radius:50%;background:var(--lethal, #c8322a);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px var(--ink),0 1px 4px #00000080;animation:riskPulse 1.2s ease-in-out infinite}.risk-badge svg{width:100%;height:100%;display:block}.intent-tip{position:absolute;transform:translate(-50%,-100%);z-index:2;max-width:300px;white-space:normal;text-align:center;background:#fffaf0;color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:3px 9px;font-size:12px;font-weight:900;box-shadow:var(--shadow-sm);pointer-events:none}.intent-tip.below{transform:translate(-50%)}.intent-tip.lethal{border-color:var(--lethal, #c8322a);box-shadow:0 0 0 1.5px var(--ink),var(--shadow-sm)}@keyframes lethalRing{0%{transform:scale(.85);opacity:.95}to{transform:scale(1.35);opacity:0}}@keyframes riskPulse{0%,to{transform:translateY(-100%) scale(1)}50%{transform:translateY(-100%) scale(1.14)}}.pcard .pc-risk{position:absolute;top:1px;left:1px;width:19px;height:19px;box-sizing:border-box;padding:2px;border-radius:50%;background:var(--lethal, #c8322a);color:#fff;border:2px solid var(--ink);animation:cardRisk 1.2s ease-in-out infinite}.pcard .pc-risk svg{width:100%;height:100%;display:block}@keyframes cardRisk{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.grid-table{border-collapse:separate;border-spacing:2px;font-size:12px}.grid-table th{font-weight:900;font-size:11px;padding:2px 4px;position:sticky;top:0;background:var(--paper-hi);z-index:1}.grid-table th.vert{writing-mode:vertical-rl;transform:rotate(180deg);height:84px;text-align:left}.grid-table td.name{font-weight:900;padding-right:8px;white-space:nowrap;position:sticky;left:0;background:var(--paper-hi);z-index:1}.grid-table th.name{left:0;z-index:2}.grid-table td.name:has(.name-cell){padding-right:4px;box-shadow:2px 0 0 var(--paper-3)}.name-cell{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%}.name-cell>.clickable{max-width:84px;overflow:hidden;text-overflow:ellipsis}.row-more{width:28px;height:28px;flex:none;border:1.5px solid var(--ink-2);border-radius:8px;background:var(--paper);color:var(--ink);font-weight:900;font-size:16px;line-height:1;padding:0;cursor:pointer}.row-more:hover{background:var(--paper-2)}html.touch-ui .row-more{width:32px;height:38px}.row-pop{position:fixed;z-index:400;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--paper-hi);border:2px solid var(--ink);border-radius:12px;box-shadow:var(--shadow);max-width:min(280px,calc(100vw - 16px))}.row-pop .btn{justify-content:flex-start;text-align:left}.wcell{width:30px;height:28px;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper-hi);font-weight:900;font-size:13px}.wcell.p1{background:#e0643a;color:#fff}.wcell.p2{background:#e8a24a}.wcell.p3{background:#f0d38a}.wcell.p4{background:#e8e2cc}.wcell.dis{background:repeating-linear-gradient(45deg,#ddd,#ddd 3px,#f4f4f4 3px 6px);color:transparent;cursor:not-allowed}.wcell.passion{box-shadow:inset 0 -3px 0 var(--accent)}.scell{width:20px;height:26px;border:1px solid var(--ink);border-radius:3px}.scell.s0{background:#d8d0c0}.scell.s1{background:#e8a24a}.scell.s2{background:#6aa0d8}.scell.s3{background:#4a4a7a}.scell.now{outline:2px solid var(--bad)}.coach-panel{position:absolute;right:calc(8px + var(--safe-right));bottom:calc(var(--bar-h) + 16px + var(--safe-bottom));width:340px;display:flex;gap:8px;padding:8px;align-items:flex-start}.coach-panel.min{width:auto}.coach-panel img{width:64px;height:76px;object-fit:cover;object-position:top;border-radius:10px;border:2px solid var(--ink);background:var(--paper-2);flex:none}.coach-panel .cp-name{font-weight:900;font-family:var(--font-display);font-size:15px}.coach-panel .cp-role{font-size:11px;color:var(--muted);font-weight:800}.coach-panel .cp-text{white-space:pre-line;font-size:13px;font-weight:700;line-height:1.35;margin:4px 0}.coach-panel .cp-actions{display:flex;gap:4px;flex-wrap:wrap}.coach-panel .cp-bps{margin-top:6px;display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.coach-panel .cp-bp{border:2px solid var(--ink);border-radius:10px;padding:6px 8px;background:var(--paper-2);display:flex;flex-direction:column;gap:3px;align-items:flex-start}.coach-panel .cp-bp-title{font-weight:900;font-size:13px;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.coach-panel .cp-bp-need{font-size:11px;color:var(--bad, #b33);font-weight:800}.coach-panel .cp-bp-ok{font-size:11px;color:var(--muted);font-weight:800}.coach-panel .cp-bp-desc{font-size:12px;line-height:1.3}.tut-glow{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--accent),0 0 18px 6px #c8642eb3!important;animation:tutGlow 1.2s ease-in-out infinite}@keyframes tutGlow{50%{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--accent),0 0 4px 2px #c8642e4d!important}}.banner{position:absolute;left:50%;top:calc(var(--top-h) + 30px + var(--safe-top));transform:translate(-50%);padding:6px 16px;font-weight:900;font-size:14px;letter-spacing:.04em;pointer-events:none}.banner.paused{background:var(--ink);color:var(--paper);border-color:var(--ink)}.toast{position:absolute;left:50%;bottom:calc(var(--bar-h) + 80px + var(--safe-bottom));transform:translate(-50%);padding:7px 14px;font-weight:800;font-size:13px;z-index:40;animation:letterIn .25s ease;pointer-events:none}.toast.bad{background:var(--bad-soft)}.title-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1e1814 center / cover no-repeat}.title-screen:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#0000 30%,#140e0aa6);pointer-events:none}.title-box{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 30px;min-width:320px;max-width:92vw}.game-logo{font-family:var(--font-display);font-size:64px;font-weight:800;letter-spacing:.02em;color:var(--ink);line-height:1}.game-sub{font-size:14px;font-weight:800;color:var(--ink-2);letter-spacing:.1em;text-transform:uppercase}.title-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:8px}.title-buttons .btn{min-height:48px;font-size:15px}.title-buttons .btn.primary,.title-buttons .btn.wide,.title-buttons .title-sep{grid-column:1 / -1}.title-buttons .title-sep{height:2px;margin:2px 6px;border-radius:1px;background:var(--paper-3)}.wizard{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1e16128c;z-index:35}.wiz-box{width:min(1120px,96vw);height:min(860px,94vh);display:flex;flex-direction:column;overflow:hidden}.wiz-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:2px solid var(--paper-3)}.wiz-steps{display:flex;gap:4px;margin-left:auto}.wiz-steps .wiz-step{cursor:pointer}.wiz-steps .wiz-step:not(.on):hover{background:var(--paper-2)}.wiz-body{overflow-y:auto;padding:14px 16px;flex:1;min-height:0}.wiz-body .wiz-exbar{flex-direction:row;align-items:center;gap:12px;margin-bottom:12px;text-align:left;padding:8px 12px}.wiz-exbar-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.wiz-exbar-text b{font-family:var(--font-display);font-size:15px}.wiz-exbar .btn{flex:none}.wiz-expansions{border-left:3px solid var(--paper-3);padding-left:12px;margin-bottom:4px}@media(max-width:600px){.wiz-body .wiz-exbar{flex-direction:column;align-items:stretch}}.wiz-body .wiz-diff{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;margin-bottom:12px;padding:8px 12px;text-align:left}.wiz-diff-row{display:flex;flex-wrap:wrap;gap:6px}.wiz-diff-row .chip{min-height:40px;padding:4px 12px;font-size:13px}.wiz-diff-desc{grid-column:2}@media(max-width:600px){.wiz-body .wiz-diff{grid-template-columns:1fr}.wiz-diff-desc{grid-column:1}}.wiz-foot{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px;border-top:2px solid var(--paper-3)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.choice{text-align:left;border:2px solid var(--ink);border-radius:12px;padding:10px 12px;background:var(--paper-hi);display:flex;flex-direction:column;gap:4px}.choice.on{background:#fff3c8;box-shadow:0 0 0 3px var(--accent)}.choice b{font-family:var(--font-display);font-size:16px}.choice-grid.five{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.choice-grid.with-art .choice{padding:0 0 10px;overflow:hidden}.choice-grid.with-art .choice b,.choice-grid.with-art .choice span{padding:0 12px}.choice-art{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:2px solid var(--ink);margin-bottom:4px;display:block}.choice span{font-size:12.5px;color:var(--ink-2);font-weight:600;line-height:1.35}.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.rcard{border:2px solid var(--ink);border-radius:12px;padding:10px;background:var(--paper-hi);display:flex;flex-direction:column;gap:6px}.rcard-head{display:flex;gap:10px;align-items:center}.rcard-head img{width:64px;height:64px;border-radius:10px;border:2px solid var(--ink);object-fit:cover}.skill-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:1px 10px;font-size:11.5px;font-weight:800}.skill-mini .dis{opacity:.35;text-decoration:line-through}.world-wrap{position:relative}.world-legend{position:absolute;left:10px;bottom:10px;display:flex;flex-direction:column;gap:1px;padding:6px 9px;border:1.5px solid var(--ink);border-radius:9px;background:#faf3e4e0;font-size:11px;font-weight:800;pointer-events:none}.world-legend b{display:inline-block;width:14px;text-align:center}.world-canvas{width:100%;height:min(560px,calc(100vh - 230px));min-height:280px;border:2px solid var(--ink);border-radius:12px;background:#e9dcc0;cursor:crosshair;touch-action:none;display:block}.legend-row{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;font-weight:800;margin-top:6px}.form-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}.form-row label{font-weight:900;font-size:13px;min-width:110px}.form-row input[type=text]{border:2px solid var(--ink);border-radius:9px;padding:7px 10px;font:inherit;font-weight:800;background:var(--paper-hi)}.big-recap{font-family:var(--font-display);font-size:28px;text-align:center}@media(min-width:521px)and (max-width:1000px)and (orientation:portrait){.hud-top{flex-wrap:wrap;row-gap:4px}.hud-top>.time-card{margin-left:auto}.pawn-bar{order:3;flex:1 1 calc(100% - 40px);max-width:100%;margin:0}.pc-more{order:3}.letters,.alerts-col,.banner,.ovl-legend,.hint-bar{top:calc(var(--hud-top-h, 150px) + 8px)}}@media(max-width:760px),(max-height:520px){:root{--bar-h: 56px}.colony-card{min-width:0;padding:4px 8px}.cc-name{font-size:14px}.res-strip{display:none}.pcard{width:44px}.pcard img{width:34px;height:34px}.tb-btn{min-width:44px;font-size:9.5px}.tb-btn .icon{width:19px;height:19px}.insp{width:min(360px,calc(100vw - 16px));max-height:46vh}.coach-panel{width:min(320px,calc(100vw - 16px))}.letters{width:240px}.alerts-col{max-height:40vh}.wx{min-width:0}.wx-d{font-size:10px}}@media(max-width:760px)and (orientation:portrait){.hud-top{flex-wrap:wrap}.pawn-bar{order:3;flex:1 0 100%;max-width:100%;margin:0}.toolbar{left:calc(6px + var(--safe-left));right:calc(6px + var(--safe-right));transform:none;max-width:none;justify-content:flex-start}.letters{top:calc(var(--top-h) + 168px + var(--safe-top))}.alerts-col{top:calc(var(--top-h) + 120px + var(--safe-top))}.coach-panel{left:calc(6px + var(--safe-left));right:calc(6px + var(--safe-right));width:auto}.coach-panel,.insp{bottom:calc(var(--bar-h) + 16px + var(--safe-bottom))}:root{--bar-h: 104px}.toolbar{flex-wrap:wrap;justify-content:center;overflow:visible;row-gap:2px}.toolbar .tb-sep{display:none}.toolbar .tb-btn{flex:0 0 calc(12.5% - 4px);min-width:0;padding-left:0;padding-right:0}.res-strip{display:flex;flex-wrap:nowrap;overflow:hidden;gap:2px 8px;font-size:11px;padding:2px 8px;max-width:none}.letters{width:calc(100vw - 150px)}.letter img{display:none}.letter .lt-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coach-panel{padding:8px;gap:8px}.coach-panel img{width:46px;height:46px}.coach-panel .cp-text{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.coach-panel .cp-role{display:none}.banner{top:calc(var(--top-h) + 175px + var(--safe-top))}}.coach-panel .cp-reply{display:flex;gap:6px;align-items:flex-start;margin:2px 0 4px;padding:5px 7px 5px 5px;border-radius:9px;background:var(--paper-2);border:1.5px solid var(--paper-3);animation:letterIn .25s var(--ease-out)}.coach-panel .cp-reply img{width:28px;height:28px;border-radius:7px;border-width:1.5px}.coach-panel .cp-reply-name{display:block;font-weight:900;font-size:11px;color:var(--ink-2)}.coach-panel .cp-reply-text{display:block;font-size:13px;font-weight:700;line-height:1.3}.coach-panel .cp-detail{font-size:12px;color:var(--ink-soft, #6b5d52);margin-top:3px;font-style:italic}.pause-screen{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:#18120e8c;backdrop-filter:blur(3px);opacity:0;transition:opacity .18s;padding:12px}.pause-screen.in{opacity:1}.pause-card{width:min(760px,100%);max-height:calc(100vh - 24px);overflow:auto;padding:0}.pause-art{height:170px;background:center 40% / cover no-repeat;position:relative;border-bottom:2px solid var(--ink)}.pause-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#140e0ad9,#140e0a00 70%)}.pause-title{position:absolute;left:18px;bottom:12px;z-index:1;color:#fdf6e8}.pause-title .kicker{color:#f3c98b}.pause-name{font-family:var(--font-display);font-size:34px;line-height:1}.pause-meta{font-size:13px;font-weight:700;opacity:.9;margin-top:4px}.pause-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px 18px 18px}.pause-buttons{display:flex;flex-direction:column;gap:8px}.pause-buttons .btn{justify-content:flex-start}.pause-quick{display:flex;flex-direction:column;gap:8px}@media(max-width:600px){.pause-body{grid-template-columns:1fr}.pause-art{height:120px}.pause-name{font-size:26px}}.coach-panel .cp-min{position:absolute;top:6px;right:6px;min-height:0;height:28px;width:28px;padding:0;justify-content:center}.coach-panel:not(.min) .cp-name{padding-right:34px}.coach-panel.min .cp-min{display:none}@media(max-height:640px){.pause-art{height:96px}.pause-name{font-size:24px}.pause-body{padding:10px 14px 12px;gap:12px}.pause-buttons{gap:5px}.pause-buttons .btn{min-height:36px;padding-top:4px;padding-bottom:4px}}@media(max-height:700px){.letters{width:250px;gap:4px}.letter{padding:5px 8px;gap:8px}.letter img{width:52px;height:36px}.letter .lt-title{font-size:13px}.letter .lt-text{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media(max-width:520px)and (orientation:portrait){.hud-top{gap:4px;left:calc(4px + var(--safe-left));right:calc(4px + var(--safe-right));top:calc(4px + var(--safe-top))}.colony-card{padding:3px 8px;gap:1px}.cc-name{font-size:14px}.cc-date{font-size:10.5px}.res-strip{font-size:10.5px;padding:1px 6px}.time-card{padding:3px 5px;gap:3px}.speed-btn{width:30px;height:30px;border-radius:8px}.speed-btn .icon{width:14px;height:14px}.auto-btn{padding:3px 8px;min-height:30px}.pcard{width:40px;padding:2px 2px 3px;border-radius:8px}.pcard img{width:32px;height:32px;border-radius:6px}.pcard .pc-name,.pcard span{font-size:9px}:root{--bar-h: 88px}.toolbar{padding:3px}.toolbar .tb-btn{padding:2px 0;font-size:9px}.toolbar .tb-btn .icon{width:16px;height:16px}.letters{top:calc(var(--top-h) + 128px + var(--safe-top))}.alerts-col{top:calc(var(--top-h) + 100px + var(--safe-top))}.banner{top:calc(var(--top-h) + 128px + var(--safe-top))}.coach-panel{padding:6px 8px}.coach-panel img{width:38px;height:38px}.coach-panel .cp-name{font-size:14px}.coach-panel .cp-text{font-size:12px;-webkit-line-clamp:3}.coach-panel .cp-actions .btn{min-height:30px;padding:2px 8px;font-size:12px}.coach-panel .cp-text{padding-right:26px}.coach-panel .cp-min{width:24px;height:24px}.time-card .btn.round{width:34px;height:34px;min-height:0}}.plabel.pet>:first-child{font-size:9.5px;font-style:italic;opacity:.85}.plabel.downed>:first-child{background:#c8322a;color:#fff;text-shadow:none;padding:1px 6px 1px 18px;border-radius:8px;border:1.5px solid #fff;box-shadow:0 0 0 1.5px #2b2420;position:relative;animation:downPulse 1.1s ease-in-out infinite}.plabel.downed>:first-child:before{content:"+";position:absolute;left:5px;top:-1px;font-size:13px;font-weight:900}@keyframes downPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.pawn-bar.many .pcard{width:46px}.pawn-bar.many .pcard img{width:36px;height:36px}.pawn-bar.many .pc-name{font-size:9.5px}.pawn-bar.overflow{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent);padding-right:12px}.pc-more{pointer-events:auto;align-self:flex-start;margin:10px 0 0 4px;z-index:1;min-width:34px;height:30px;border:2px solid var(--ink);border-radius:15px;background:var(--paper-hi);font-weight:900;font-size:12px;box-shadow:var(--shadow-sm);flex:none}.crew{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}.crew-list{display:flex;flex-direction:column;gap:6px;position:sticky;top:0}.crew-pick{display:flex;gap:8px;align-items:center;text-align:left;padding:6px;border:2px solid var(--ink);border-radius:12px;background:var(--paper-hi);box-shadow:var(--shadow-sm)}.crew-pick.on{background:#fff3c8;box-shadow:0 0 0 3px var(--accent)}.crew-pick img{width:48px;height:48px;border-radius:9px;object-fit:cover;flex:none;border:1.5px solid var(--ink)}.crew-pick .cp-text{display:flex;flex-direction:column;min-width:0}.crew-pick b{font-family:var(--font-display);font-size:15px}.crew-pick .cp-role{font-size:11px;font-weight:800;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.crew-pick .cp-top{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-reroll-all{margin-top:4px;justify-content:center}.crew-main{display:flex;flex-direction:column;gap:10px;min-width:0}.crew-detail{padding:12px 14px;border:2px solid var(--ink);border-radius:14px;background:var(--paper-hi)}.cd-head{display:flex;gap:12px;align-items:flex-start}.cd-portrait{width:96px;height:96px;border-radius:12px;border:2px solid var(--ink);object-fit:cover;flex:none}.cd-id{flex:1;min-width:0}.cd-names{display:flex;gap:6px;flex-wrap:wrap}.crew-name-in{font-family:var(--font-display);font-size:20px;font-weight:700;border:1.5px dashed transparent;border-radius:8px;background:transparent;padding:1px 4px;width:9.5ch;field-sizing:content;min-width:3ch;color:var(--ink)}.crew-name-in.nick{font-style:italic;color:var(--ink-2);width:9ch}.cd-names{gap:2px!important;align-items:baseline}.crew-name-in:hover,.crew-name-in:focus{border-color:var(--ink-3, #9a8c80);background:var(--paper);outline:none}.cd-sub{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin:2px 6px 6px}.cd-traits{display:flex;gap:4px;flex-wrap:wrap;margin-left:4px}.cd-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:10px}.cd-story p{margin:2px 0 6px;font-size:13px;line-height:1.4;color:var(--ink-2)}.cd-story p b{color:var(--ink)}.cd-wont{margin-top:6px;font-size:12.5px;color:var(--bad);font-weight:700}.cd-skill{display:grid;grid-template-columns:92px 1fr 26px 30px;align-items:center;gap:6px;font-size:13px;font-weight:800;padding:2px 0}.cd-skill .cs-bar{height:9px;border-radius:5px;background:var(--paper-3);overflow:hidden;border:1px solid rgba(43,36,32,.25)}.cd-skill .cs-bar i{display:block;height:100%;background:linear-gradient(90deg,#c88a3a,#d8692e)}.cd-skill .cs-val{text-align:right}.cd-skill .cs-fire{font-size:11px}.cd-skill.no{color:var(--ink-3, #9a8c80)}.crew-team{padding:10px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--paper-2)}.ct-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:4px}.ct-cell{display:flex;flex-direction:column;padding:5px 7px;border-radius:9px;background:var(--paper-hi);border:1.5px solid rgba(43,36,32,.25);min-width:0}.ct-cell .ct-name{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.ct-cell .ct-val{font-family:var(--font-display);font-size:18px;line-height:1.1}.ct-cell .ct-who{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-cell.weak{background:#f8e0d8;border-color:var(--bad)}.crew-gaps{margin:0}@media(max-width:820px){.crew{grid-template-columns:1fr}.crew-list{flex-direction:row;overflow-x:auto;position:static;padding-bottom:4px}.crew-pick{flex:none;width:150px}.crew-pick .cp-top{display:none}.crew-reroll-all{flex:none;margin:0}.cd-cols{grid-template-columns:1fr}.ct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cd-portrait{width:72px;height:72px}}.crew-name-in::placeholder{font-size:14px;opacity:.55}.exp-intro{margin-bottom:8px}.exp-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.exp-actions .grow{flex:1}.exp-preset{min-height:34px;border:2px solid var(--ink);border-radius:10px;background:var(--paper-hi);font:inherit;font-weight:700;padding:0 8px;max-width:220px}.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:8px;align-items:stretch}.exp-grid .exp-card>.exp-more{margin-top:auto}.exp-card{border:2px solid var(--ink);border-radius:12px;padding:0 10px 8px;background:var(--paper-hi);display:flex;flex-direction:column;gap:4px;overflow:hidden;min-width:0}.exp-card.on{background:#fff3c8;box-shadow:0 0 0 3px var(--accent)}.exp-card.core{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 12px;margin-bottom:8px;background:var(--paper-2);box-shadow:none}.exp-card.core .exp-top{flex:none}.exp-card.core .exp-sum{flex:1 1 240px}.exp-card.locked{opacity:.62;border-style:dashed}.exp-art{margin:0 -10px 2px;height:58px;border-bottom:2px solid var(--ink);background:var(--paper-3);overflow:hidden}.exp-art img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;display:block}.exp-card:not(.on) .exp-art img{filter:saturate(.8)}.exp-card:not(:has(.exp-art)){padding-top:8px}.exp-top{display:flex;align-items:center;gap:6px;cursor:pointer}.exp-card.locked .exp-top{cursor:default}.exp-top b{font-family:var(--font-display);font-size:15.5px;flex:1;line-height:1.12}.exp-icon{width:20px;height:20px;flex:none}.exp-chips{display:flex;flex-wrap:wrap;gap:4px}.exp-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:1.5px solid var(--ink);border-radius:8px;padding:1px 6px;background:var(--paper-2);white-space:nowrap}.exp-badge.pinned{background:var(--accent-soft)}.exp-badge.preview,.exp-badge.early{background:#e3f1dc}.exp-badge.early:before{content:"✦ "}.exp-badge.perf{background:transparent;border-style:dashed;font-weight:700}.exp-badge.proposed{background:var(--bad-soft)}.exp-pitch{font-family:var(--font-display);font-size:13.5px;line-height:1.25;color:var(--ink)}.exp-sum{font-size:12px;color:var(--ink-2);font-weight:600;line-height:1.32}.exp-ex{margin:0;padding-left:16px;font-size:11.5px;line-height:1.32}.exp-touch{font-size:11px;font-weight:800;color:var(--bad);display:flex;gap:4px;align-items:flex-start;line-height:1.25}.exp-warn{font-size:11.5px;font-weight:700;color:var(--bad);display:flex;gap:4px;align-items:flex-start;line-height:1.3}.exp-warn.soft{color:var(--ink-2);font-style:italic}.exp-more{font-size:11.5px}.exp-more>summary{cursor:pointer;font-weight:800;color:var(--ink-2);min-height:24px;display:flex;align-items:center}.exp-more[open]{display:flex;flex-direction:column;gap:4px}.exp-meta{display:flex;flex-wrap:wrap}.exp-scen{font-size:11.5px}.exp-slider{padding:4px 8px 6px;margin-top:2px}.exp-slider .sl-head{font-size:12px}.exp-proposed{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px;padding:6px 10px;border:2px dashed var(--paper-3);border-radius:10px}.exp-switches{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px 14px}.exp-seed{margin-top:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}.camp-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1.5px solid var(--paper-3)}.camp-row .camp-name{display:flex;gap:6px;align-items:center;font-weight:800}.camp-row .camp-sub{font-size:11.5px;color:var(--ink-2);font-weight:600}.camp-list{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.4}@media(max-width:600px){.exp-grid{grid-template-columns:1fr}.camp-row{grid-template-columns:1fr auto}.wiz-steps{flex-wrap:wrap;justify-content:flex-end;min-width:0}}.letter .lt-auto{font-size:11px;font-weight:800;color:var(--ink-2);margin-top:4px;font-style:italic}.save-lock-banner{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 64px);transform:translate(-50%);z-index:30;display:flex;gap:10px;align-items:center;max-width:min(92vw,560px);padding:8px 12px;border:2px solid var(--ink);border-radius:12px;background:var(--warn-soft);color:var(--ink);font-weight:700;font-size:13px;box-shadow:var(--shadow-sm)}.warn-note{color:var(--bad)}.gpu-lost{position:fixed;left:50%;top:40%;transform:translate(-50%);z-index:60;max-width:min(92vw,520px);padding:14px 18px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font-weight:700;box-shadow:var(--shadow)}.ctx-menu{max-height:calc(100vh - 24px);overflow-y:auto}.ovl-legend{position:absolute;right:12px;top:96px;z-index:12;width:240px;padding:8px 10px;font-size:13px;pointer-events:none}.ovl-legend .ovl-title{font-weight:700;margin-bottom:4px}.ovl-legend .ovl-scale{height:10px;border-radius:4px;border:1px solid rgba(0,0,0,.35)}.ovl-legend .ovl-ends{display:flex;justify-content:space-between;font-size:11px;opacity:.8;margin:2px 0 4px}.ovl-legend .ovl-value{font-variant-numeric:tabular-nums}@media(max-width:700px){.ovl-legend{right:8px;top:120px;width:200px}}.speed-cycle,.res-fold,.tb-more,.tb-overflow,.hud-break{display:none}.speed-cycle .sc-x{font-size:11px;font-weight:900;margin-left:1px}.toolbar .tb-btn.tb-folded{display:none}.toolbar.folding .tb-more{display:flex}.tb-overflow.folding:not(.hidden){display:grid;grid-template-columns:repeat(var(--tb-cols, 4),minmax(68px,1fr));gap:4px;padding:6px;z-index:12;position:absolute;bottom:calc(var(--bar-h) + 14px + var(--safe-bottom));animation:letterIn .18s var(--ease-out)}.tb-overflow.folding .tb-btn{min-width:0;min-height:52px;padding:5px 4px;font-size:11px;justify-content:center}.tb-overflow.folding .tb-btn .icon{width:21px;height:21px}@media(max-width:520px)and (orientation:portrait){:root{--bar-h: 48px}.hud-top{flex-wrap:wrap;row-gap:4px;align-items:stretch}.hud-top>.colony-col{display:contents}.colony-card{order:1;flex:1 1 0;min-width:0;justify-content:center}.cc-name,.cc-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-year{display:none}.time-card{order:2;flex:none}.hud-break{display:block;order:3;flex:0 0 100%;height:0;margin-top:-4px}.speeds{gap:3px}.speeds .speed-btn:not(:first-child):not(.speed-cycle){display:none}.speed-cycle{display:inline-flex;width:44px}.wx-d{display:none}.wx{justify-content:center}.auto-btn{padding:3px 7px;font-size:12.5px;gap:3px}.auto-btn .icon{width:15px;height:15px}.res-strip{order:4;flex:1 0 100%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:0 6px;font-size:11px;padding:1px 3px 1px 8px;max-width:none;min-height:24px;overflow:hidden}.res-fold{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:20px;padding:0;margin-left:2px;border:1.5px solid var(--ink);border-radius:7px;background:var(--paper-hi);color:var(--ink)}.res-fold .icon{width:12px;height:12px}.res-strip.folded{flex:0 0 auto;align-self:flex-start;margin-top:10px;padding:2px 3px;gap:4px}.res-strip.folded .res:not(.low){display:none}.res-strip.folded.any-low{padding-left:7px}.pawn-bar{order:5;flex:1 1 calc(100% - 90px);max-width:100%;margin:0}.pc-more{order:6;margin:10px 0 0 2px}.letters{top:calc(var(--hud-top-h, 140px) + 6px)}.alerts-col{top:calc(var(--hud-top-h, 140px) + 6px);max-height:34vh}.alerts-col{width:136px}.alert-pill{max-width:136px;font-size:11.5px;line-height:1.15;text-align:left;padding:4px 7px;gap:4px}.letters{width:calc(100vw - 136px - 26px - var(--safe-left) - var(--safe-right))}.banner{left:calc(8px + var(--safe-left));transform:none;padding:4px 12px;font-size:12.5px}.hud:has(>.banner:not(.hidden))>.letters{top:calc(var(--hud-top-h, 140px) + 42px)}.banner{top:calc(var(--hud-top-h, 140px) + 6px)}.hint-bar{top:calc(var(--hud-top-h, 140px) + 6px);left:6px;right:6px;transform:none;flex-wrap:wrap}.ovl-legend{top:calc(var(--hud-top-h, 140px) + 6px)}.time-card{padding:2px 4px}.pawn-bar{padding:1px 2px 3px}.pcard{width:42px;padding:2px 2px 3px;gap:2px}.pcard img{width:36px;height:36px}.pcard .pc-name{position:absolute;left:2px;right:2px;top:27px;max-width:none;text-align:center;font-size:8.5px;line-height:11px;background:#fbf7eee0;border-radius:0 0 5px 5px}.pcard .pc-bars{width:36px;height:3px}.toolbar{flex-wrap:nowrap;justify-content:space-between;overflow-x:auto;overflow-y:hidden;padding:2px;row-gap:0}.toolbar .tb-sec,.toolbar .tb-sep{display:none}.toolbar .tb-btn{flex:1 1 0;min-width:0;min-height:44px;padding:3px 0 2px;font-size:9.5px;justify-content:center}.toolbar .tb-btn .icon{width:19px;height:19px}.toolbar .tb-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-more{display:flex}.tb-overflow:not(.hidden){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;z-index:12;position:absolute;left:calc(6px + var(--safe-left));right:calc(6px + var(--safe-right));bottom:calc(var(--bar-h) + 14px + var(--safe-bottom));animation:letterIn .18s var(--ease-out)}.tb-overflow .tb-btn{min-width:0;min-height:52px;padding:5px 2px;font-size:11px;justify-content:center}.tb-overflow .tb-btn .icon{width:21px;height:21px}.tb-overflow .tb-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-height:700px)and (min-width:761px){.coach-panel{display:block;width:292px;padding:6px 8px 7px}.coach-panel img{float:left;width:36px;height:36px;border-radius:8px;margin:0 8px 2px 0}.coach-panel .cp-name{font-size:14px;line-height:1.2}.coach-panel .cp-role{font-size:10.5px;line-height:1.2}.coach-panel .cp-text{font-size:12.5px;line-height:1.32;margin:4px 0 5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.coach-panel .cp-detail{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coach-panel .cp-actions{clear:both}.coach-panel .cp-actions .btn,html.touch-ui .coach-panel .cp-actions .btn{min-height:36px;padding:2px 10px;font-size:12.5px}.coach-panel .cp-min,html.touch-ui .coach-panel .cp-min{width:26px;height:26px;min-height:0;top:5px;right:5px}.coach-panel.min img{float:none;margin:0}}.exp-panel-art{flex:none;height:72px;overflow:hidden;border-bottom:2px solid var(--ink);position:relative}.exp-panel-art img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}.exp-panel-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.12));pointer-events:none}@media(max-height:560px){.exp-panel-art{display:none}}@media(max-width:520px)and (orientation:portrait){html.fight .letters{left:calc(6px + var(--safe-left));right:calc(136px + 14px + var(--safe-right));width:auto;gap:3px}html.fight .letter{padding:4px 8px;gap:6px;font-size:11.5px;border-radius:10px;align-items:center;flex-wrap:wrap}html.fight .letter>div{flex:1 1 0;min-width:0;display:flex;flex-wrap:wrap;align-items:center;column-gap:6px}html.fight .letter .lt-title{font-size:12.5px;white-space:nowrap}html.fight .letter .lt-text{flex:1 1 120px;min-width:0;font-size:11px;-webkit-line-clamp:1;line-height:1.3}html.fight .letter .lt-auto{display:none}html.fight .letter .lt-choices{flex:1 0 100%;margin-top:3px;gap:4px;flex-wrap:nowrap}html.fight .letter .lt-choices .btn{min-height:34px;padding:2px 10px;font-size:12px;flex:1 1 0;justify-content:center}html.fight .letters-more{min-height:34px;padding:2px 10px;font-size:12px}html.fight .pawn-bar{padding:0 2px 2px;gap:4px}html.fight .pcard{width:34px;padding:1px 1px 2px;gap:1px;border-radius:7px}html.fight .pcard img{width:26px;height:26px;border-radius:5px}html.fight .pcard .pc-name,html.fight .pcard span{font-size:8px;max-width:32px}html.fight .pcard .pc-bars{width:26px;height:3px}html.fight .pcard .pc-flag{width:14px;height:14px;top:-4px;right:-4px}html.fight .pcard .pc-flag .icon{width:9px;height:9px}}.coach-panel.chip{display:flex;left:auto;width:auto;max-width:min(64vw,260px);min-height:44px;padding:3px 26px 3px 3px;gap:6px;align-items:center;cursor:pointer}.coach-panel.chip img{width:36px;height:36px;border-radius:8px}.coach-panel.chip .cp-name,.coach-panel.chip .cp-role,.coach-panel.chip .cp-detail,.coach-panel.chip .cp-reply,.coach-panel.chip .cp-actions,.coach-panel.chip .cp-bps{display:none!important}.coach-panel.chip .cp-text{font-size:11.5px;margin:0;padding-right:0;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.coach-panel.chip:after{content:"▴";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:900;color:var(--ink-2)}:root{--focus-halo: #ffd36a}:focus-visible,.btn:focus-visible,.seg:focus-visible,.tb-btn:focus-visible,.pcard:focus-visible,.speed-btn:focus-visible,.alert-pill:focus-visible,.tile:focus-visible,.chip:focus-visible,[role=button]:focus-visible{outline:2.5px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)!important;position:relative;z-index:2}.sheet:focus-visible,.dialog:focus-visible{box-shadow:var(--shadow)!important}input[type=range]:focus-visible{outline-offset:4px}[role=button][tabindex]{cursor:pointer}.plabel .hb i{background:var(--bad)}html[data-vision=redgreen] .plabel.hostile{color:#ffc58a}html[data-vision=tritan] .plabel.hostile{color:#ffb0bc}html[data-vision=redgreen]{--lethal: #b04a00}html[data-vision=tritan]{--lethal: #c0205a}html[data-vision=redgreen] .plabel.downed>:first-child{background:#b04a00}html[data-vision=redgreen] .alert-pill.critical,html[data-vision=redgreen] .letter.threat,html[data-vision=redgreen] .letter.death,html[data-vision=redgreen] .letters-more.severe{background:#fde3c8;color:#5a2400}html.high-contrast{--paper: #ffffff;--paper-hi: #ffffff;--paper-2: #f0f0f0;--paper-3: #d4d4d4;--ink: #000000;--ink-2: #1a1512;--muted: #3a332e;--shadow: 0 3px 0 #000, 0 8px 18px -8px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 0 #000;--focus-halo: #ffbf00}html.high-contrast .panel,html.high-contrast .btn,html.high-contrast .sheet,html.high-contrast .dialog,html.high-contrast .tb-btn,html.high-contrast .alert-pill{border-width:2.5px}html.high-contrast .panel{background:#fff}html.high-contrast .muted,html.high-contrast .muted-note,html.high-contrast .kicker{color:#1a1512!important;opacity:1!important}html.high-contrast .btn:disabled{opacity:.6;border-style:dashed}html.high-contrast .plabel{text-shadow:0 0 2px #000,0 0 2px #000,0 1px 3px #000;font-size:12px}html.high-contrast .plabel .hb{background:#000;outline:1px solid #fff}html.high-contrast .letter,html.high-contrast .toast{border-width:2.5px}html.high-contrast .sheet-scrim{background:#00000080}html.reduce-motion .alert-pill.critical,html.reduce-motion .plabel.downed>:first-child{animation:none!important}html.reduce-motion .intent.lethal .in-disc:after{animation:none!important;transform:scale(1.12);opacity:1}html.reduce-motion .risk-badge,html.reduce-motion .pcard .pc-risk{animation:none!important}.sheet[data-sheet=work],.sheet[data-sheet=schedule],.sheet[data-sheet=assign],.sheet[data-sheet=research],.sheet[data-sheet=world],.sheet[data-sheet=history],.sheet[data-sheet=trade],.sheet[data-sheet=remote_trade],.sheet[data-sheet=inventory],.sheet[data-sheet=caravan_form]{width:min(1120px,calc(100% - 2 * var(--gap)))}.sheet[data-sheet=bills],.sheet[data-sheet=storage],.sheet[data-sheet=settings],.sheet[data-sheet=factions]{width:min(680px,calc(100% - 2 * var(--gap)))}.panel-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.panel-inset{border:2px solid var(--paper-3);border-radius:12px;padding:10px 12px;background:var(--paper-hi);display:flex;flex-direction:column;gap:4px}.grow{flex:1;min-width:0}.clickable{cursor:pointer}.clickable:hover{text-decoration:underline}.grid-wrap{overflow:auto;max-width:100%;max-height:64vh;border:2px solid var(--paper-3);border-radius:12px;background:var(--paper-hi);-webkit-overflow-scrolling:touch}.grid-table th.clickable:hover{color:var(--accent);text-decoration:none}.grid-table .row-tools{white-space:nowrap}.grid-table .row-tools .btn{min-height:30px;padding:3px 8px;font-size:12px}.sched-table .hr{font-size:10px;color:var(--muted)}.sched-table td{padding:0}.scell{cursor:pointer;touch-action:none}.wcell{touch-action:none;cursor:pointer;position:relative}.work-table{width:100%}.work-table td .wcell{width:100%;min-width:34px;height:40px}.wcell .wc-p{font-size:15px;font-weight:900}.wcell .wc-s{position:absolute;right:3px;bottom:1px;font-size:9.5px;font-weight:800;opacity:.7}.wcell.passion1:after,.wcell.passion2:after{content:"";position:absolute;left:3px;top:3px;width:6px;height:9px;border-radius:50%/60% 60% 40% 40%;background:#e8892a}.wcell.passion2:after{background:#d8361f;box-shadow:7px 0 #d8361f}.work-table td{padding:0}.inv-table td{padding:3px 8px;text-align:right;font-weight:800}.inv-table td.name{text-align:left}.assign-table td{padding:2px 3px}.pselect{border:2px solid var(--ink);border-radius:9px;padding:5px 8px;font:inherit;font-weight:800;font-size:13px;background:var(--paper-hi);min-height:36px;max-width:220px}.pcheck{width:20px;height:20px;accent-color:var(--accent);margin:0;flex:none}.check{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;cursor:pointer}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 10px;padding:4px 0 8px 36px}.search{border:2px solid var(--ink);border-radius:10px;padding:8px 12px;font:inherit;font-weight:800;background:var(--paper-hi);width:100%}.area-list{display:flex;flex-direction:column;gap:4px}.list-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1.5px solid var(--paper-3);border-radius:10px;background:var(--paper-hi);font-size:13px;min-height:44px}.list-row.wrap{flex-wrap:wrap}.list-row.cat{background:var(--paper-2)}.list-row .swatch,.chip .swatch{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--ink);flex:none;display:inline-block}.chips{display:flex;flex-wrap:wrap;gap:4px}.qty{min-width:32px;text-align:center;display:inline-block;font-variant-numeric:tabular-nums}.mini-bar{display:inline-flex;flex-direction:column;gap:2px;min-width:90px;font-size:11px}.mini-bar .bar{height:7px}.kicker.inline{display:inline}.rcurrent{display:flex;flex-direction:column;gap:6px}.rc-top{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.rview-wrap{position:relative;min-width:0}.rtools .muted-note{flex:1 1 160px;min-width:0}.rtools-nav{display:flex;gap:6px;flex:none;margin-left:auto}.rview-more{white-space:nowrap}.rview-more.hidden{display:none}.rhead{display:flex;flex-direction:column;gap:6px}.rdetail{display:flex;flex-direction:column}.rdetail .rd-body{display:flex;flex-direction:column;gap:4px;min-height:0}.rdetail .rd-foot:empty{display:none}.rdetail .rd-foot{flex:none;border-top:1.5px dashed var(--paper-3);margin-top:6px}.rdetail .rd-actions{padding:6px 0 0;margin:0}.rview-wrap:before,.rview-wrap:after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .2s;z-index:2;border-radius:12px}.rview-wrap:after{top:2px;bottom:2px;right:2px;width:28px;background:linear-gradient(to left,#2b242033,#2b242000)}.rview-wrap:before{left:2px;right:2px;bottom:2px;height:22px;background:linear-gradient(to top,#2b242029,#2b242000)}.rview-wrap.more-r:after,.rview-wrap.more-b:before{opacity:1}.rview{position:relative;overflow:auto;max-height:52vh;border:2px solid var(--paper-3);border-radius:12px;background:repeating-linear-gradient(0deg,var(--paper-2),var(--paper-2) 1px,var(--paper-hi) 1px,var(--paper-hi) 24px);touch-action:pan-x pan-y}.rboard{position:relative;transform-origin:0 0}.rlines{position:absolute;left:0;top:0;pointer-events:none}.rlines path{fill:none;stroke:#2b242047;stroke-width:2}.rlines path.done{stroke:var(--good)}.rlines .halo path{stroke:var(--paper-hi);stroke-width:6}.rd-unlocks{display:flex;flex-wrap:wrap;gap:3px}.rd-unlocks .tag{margin:0;white-space:normal;max-width:100%;overflow-wrap:anywhere;line-height:1.25}.rcard{position:absolute;display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:6px 8px;border:2px solid var(--ink);border-radius:10px;background:var(--paper-hi);box-shadow:var(--shadow-sm);font-size:12px}.rcard .rc-name{font-weight:900;font-size:13px;line-height:1.15}.rcard .rc-cost{font-size:11px;color:var(--ink-2);font-weight:700}.rcard .rc-bar{height:5px;background:var(--paper-3);border-radius:3px;overflow:hidden;display:block}.rcard .rc-bar i{display:block;height:100%;background:var(--accent-2)}.rcard.compact{padding:4px 7px;border-radius:9px}.rcard.compact .rc-name{font-size:12.5px}.rcard.compact .rc-cost{font-size:10.5px}.rcard.locked{background:var(--paper-2);color:var(--ink-3, #9a8c80);border-color:#2b242073;box-shadow:none}.rlines path{stroke-linejoin:round}.rcard.done{background:var(--good-soft)}.rcard.done .rc-bar i{background:var(--good)}.rcard.current{box-shadow:0 0 0 3px var(--accent),var(--shadow-sm)}.rcard.queued:after{content:"queued";position:absolute;top:-9px;right:6px;font-size:9.5px;font-weight:900;background:var(--ink);color:var(--paper);border-radius:6px;padding:0 5px}.rcard.sel{background:#fff3c8}.rcard.path:not(.sel){outline:2px dashed var(--accent);outline-offset:2px}.rcard.era-escape{border-color:#2a5a8a}.rd-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rd-name{font-family:var(--font-display);font-size:17px}.winfo{min-height:120px}.cv-card,.quest-card,.bill-card,.faction-card{border:2px solid var(--ink);border-radius:12px;padding:10px 12px;background:var(--paper-hi);display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow-sm)}.faction-card{flex-direction:row;gap:12px;align-items:flex-start}.emblem{width:64px;height:64px;border-radius:12px;border:2px solid var(--ink);object-fit:cover;flex:none;background:var(--paper-2)}.emblem.small{width:28px;height:28px;border-radius:7px}.bill-list{display:flex;flex-direction:column;gap:8px}.bill-card.paused{opacity:.7;background:var(--paper-2)}.bill-editor{display:flex;flex-direction:column;gap:8px;border-top:2px dashed var(--paper-3);padding-top:8px}.btn.round.small.up svg{transform:rotate(-90deg)}.btn.round.small.down svg{transform:rotate(90deg)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.tile.recipe{width:auto;align-items:flex-start;text-align:left;padding:8px 10px}.tile.recipe b{font-size:12.5px}.filter-tree{display:flex;flex-direction:column;gap:4px}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.trade-cols .area-list{max-height:50vh;overflow-y:auto}.trade-total{font-family:var(--font-display);font-size:20px;font-weight:800;text-align:center;padding:6px;border:2px dashed var(--paper-3);border-radius:12px}.trade-total.neg{color:var(--bad)}.chart-canvas{width:100%;height:300px;border:2px solid var(--ink);border-radius:12px;display:block}.log-row{display:flex;gap:10px;padding:8px 10px;border:1.5px solid var(--paper-3);border-radius:12px;background:var(--paper-hi);font-size:13px}.log-row img{width:96px;height:64px;object-fit:cover;border-radius:8px;border:1.5px solid var(--ink);flex:none}.log-row.threat,.log-row.death{border-color:#e0a090;background:#fdf0ec}.log-row.good{border-color:#a8d8b0}.log-row.choice{border-color:#a8bce8}.log-row.unread{box-shadow:inset 4px 0 0 var(--accent)}.log-row .lt-text{color:var(--ink-2);font-weight:600;line-height:1.35;margin:2px 0 4px}.about-portrait{width:100%;height:auto;border-radius:14px;border:2px solid var(--ink)}.about-note{font-weight:700;line-height:1.45;margin:4px 0 0}.about-sign{font-family:var(--font-display);font-weight:800;margin:0}.about-why{line-height:1.5;margin:0}.more-apps{display:flex;flex-direction:column;gap:6px}.help-item{padding:6px 0;border-bottom:1px dashed var(--paper-3)}.keys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px}html.touch-ui .wcell{width:38px;height:38px}html.touch-ui .scell{width:24px;height:36px}html.touch-ui .pcheck{width:26px;height:26px}@media(max-width:600px){.trade-cols{grid-template-columns:1fr}.grid-wrap{max-height:58vh}.faction-card{flex-direction:column}.rview{max-height:44vh}.chart-canvas{height:200px}.list-row{font-size:12.5px}.check-grid{padding-left:8px}}.story-tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin:6px 0 10px}.story-tally>div{border:2px solid var(--ink);border-radius:10px;padding:6px 10px;background:var(--paper-hi);display:flex;flex-direction:column}.story-tally b{font-family:var(--font-display);font-size:22px;line-height:1.1}.story-tally span{font-size:11px;font-weight:800;color:var(--ink-2)}.story-tally small{font-size:10px;font-weight:700;color:var(--ink-2);opacity:.85}.story-chapter{display:flex;gap:12px;border:2px solid var(--ink);border-radius:12px;background:var(--paper-hi);padding:8px;margin-bottom:8px;align-items:flex-start}.story-chapter.grim{background:#f6e9e4}.story-chapter img{width:150px;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;border:2px solid var(--ink);flex:none}.story-chapter .sc-body{flex:1;min-width:0}.story-chapter .sc-day{font-family:var(--font-display);font-size:18px}.story-chapter ul{margin:4px 0 6px;padding-left:18px;font-size:12.5px;line-height:1.4}.story-chapter li b{font-weight:900}.story-chapter li.story-death b{color:var(--bad)}@media(max-width:600px){.story-chapter{flex-direction:column}.story-chapter img{width:100%}}@media(max-height:760px)and (min-width:820px){.sheet-body>.rsplit{flex:1 1 0;min-height:190px}.rsplit{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr);gap:10px;align-items:stretch}.rsplit .rview-wrap{min-height:0;display:flex}.rsplit .rview{max-height:none;flex:1;min-height:0}.rsplit .rdetail{max-height:none;min-height:0;overflow:hidden;margin-top:0}.rsplit .rdetail .rd-body{flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding-bottom:12px;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 14px),transparent)}.sheet[data-sheet=research] .rtools{flex-wrap:nowrap}.sheet[data-sheet=research] .rtools .muted-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-height:700px)and (min-width:820px){.sheet[data-sheet=research] .rhead{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:4px 16px;align-items:center}.sheet[data-sheet=research] .rqueue{margin:0;flex-wrap:nowrap;overflow:hidden}.sheet[data-sheet=research] .rqueue .chips{flex-wrap:nowrap;overflow:hidden}.sheet[data-sheet=research] .rcurrent{gap:3px}.sheet[data-sheet=research] .rc-top{flex-wrap:wrap;row-gap:0}.sheet[data-sheet=research] .rc-top .muted{font-size:13px;line-height:1.25}.rdetail .kv{padding:0;font-size:12.5px}.rdetail .rd-body{gap:2px}.rdetail .muted-note{font-size:12px;line-height:1.3}.rd-unlocks .tag{font-size:11px;padding:0 6px}.sheet[data-sheet=research] .rtools{margin:4px 0}.sheet[data-sheet=research] .rtools .muted-note{display:none}.rsplit{grid-template-columns:minmax(0,1fr) 260px}.rdetail .rd-name{font-size:16px}}.dev-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.dev-row select{max-width:320px}.dev-out{white-space:pre-wrap;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--paper-2);border:2px solid var(--ink);border-radius:10px;padding:8px;max-height:40vh;overflow:auto;margin-top:8px}.section .editor{margin:4px 0 10px 12px;padding:8px;border-left:2px solid rgba(0,0,0,.15)}.section .check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px;margin-top:6px;font-size:13px}.section .check-grid label.check{display:flex;align-items:center;gap:4px;min-height:28px}.mood-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-bottom:6px}.mood-head .mood-avg{font-family:var(--font-display);font-size:22px}.mood-head .muted-note{flex-basis:100%}.mood-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.mood-driver{align-items:flex-start;gap:8px;padding:3px 0;border-bottom:1px dashed color-mix(in srgb,var(--ink) 20%,transparent)}.mood-driver>span:first-child{display:flex;flex-direction:column}.mood-driver .mood-helps{font-size:11px;font-weight:600;color:var(--ink-2)}.mood-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:8px}.mood-person{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:44px;border:2px solid var(--ink);border-radius:10px;padding:5px 9px;background:var(--paper-hi);color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.mood-person.close{border-color:var(--bad)}.mood-person small{font-size:11px;color:var(--ink-2)}.act-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:260px}.act-why{font-size:11px;color:var(--ink-soft, #8c8073);line-height:1.2}.btn.dim{opacity:.55}.list-row.wrap{flex-wrap:wrap;gap:6px}.list-row.dim{opacity:.6}.list-row.pick{width:100%;text-align:left;cursor:pointer}.list-row.pick.on{outline:2px solid var(--ink, #2b2420);border-radius:8px}.pod-dests{max-height:220px;overflow:auto}.ending-card{margin:8px 0;display:flex;flex-direction:column;gap:6px}.ec-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.chronicle{margin:6px 0;display:flex;flex-direction:column;gap:4px}.soc-wrap{overflow:auto;max-width:100%}.soc-table{border-collapse:collapse;font-size:12px}.soc-table th{padding:4px 6px;font-weight:800;white-space:nowrap;text-align:left}.soc-table td{padding:4px 6px;text-align:center;border:1px solid rgba(43,36,32,.15);min-width:38px}.soc-self{background:#2b242014}.soc-friend{background:#4e7a3a59}.soc-warm{background:#4e7a3a26}.soc-cool{background:#a8382a1f}.soc-rival{background:#a8382a52}.room-break{display:grid;grid-template-columns:1fr auto auto;gap:2px 10px;font-size:12px;margin-top:4px}.room-break .bad{color:#a8382a}.room-break .good{color:#4e7a3a}.site-info{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px}.site-info b{font-weight:800}.wiz-custom{margin-top:10px}.wiz-custom .slider{margin:4px 0}.wiz-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.kit-row{display:flex;align-items:center;gap:6px;padding:2px 0}.kit-row .grow{flex:1}.inc-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow:auto}.wiz-map{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;align-items:start}.wiz-map-side{display:flex;flex-direction:column;gap:6px}.wiz-map-side .site-info{grid-template-columns:1fr}.wiz-map-side .site-info b{margin-top:4px}@media(max-width:760px){.wiz-map{grid-template-columns:1fr}}.list-row.wrap>.grow{min-width:170px}.orb-ship{align-items:center}.trade-cols.orb-cols{grid-template-columns:1fr;display:grid;gap:8px}.ach-panel{display:flex;flex-direction:column;gap:10px}.ach-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.ach-total{font-family:var(--font-display);font-weight:800;font-size:15px}.ach-total-pts{font-size:26px;color:var(--accent);font-variant-numeric:tabular-nums}.ach-total-of,.ach-total-n{color:var(--ink-2);font-weight:700}.ach-total-more{color:var(--muted);font-weight:700;font-size:13px}.ach-filter .seg{min-height:36px;white-space:nowrap}.ach-platform{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border:1.5px dashed var(--ink-2);border-radius:10px;background:var(--paper-2)}.ach-platform>span{flex:1 1 220px}.ach-note{font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}.ach-group{display:flex;flex-direction:column;gap:6px}.ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:8px}.ach-card{display:flex;gap:10px;align-items:flex-start;padding:8px 10px 8px 8px;border:2px solid var(--ink);border-radius:12px;background:var(--paper-hi);box-shadow:var(--shadow-sm);min-height:96px;outline-offset:2px}.ach-card:focus-visible{outline:3px solid var(--accent)}.ach-card.locked{background:var(--paper-2);border-color:color-mix(in srgb,var(--ink) 45%,transparent)}.ach-badge{position:relative;flex:0 0 72px;width:72px;height:72px}.ach-img{width:72px;height:72px;object-fit:contain;display:block}.ach-card.locked .ach-img{filter:grayscale(1) contrast(.85) opacity(.55)}.ach-card.secret .ach-img{filter:none;opacity:.8}.ach-fallback{display:grid;place-items:center;border-radius:50%;border:2px solid var(--ink);background:var(--paper-3)}.ach-fallback svg{width:36px;height:36px}.ach-pts{position:absolute;right:-4px;bottom:-2px;min-width:26px;padding:1px 5px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper-hi);font-weight:900;font-size:11px;text-align:center;font-variant-numeric:tabular-nums}.ach-card.got .ach-pts{background:var(--accent);color:var(--paper-hi)}.ach-text{min-width:0;display:flex;flex-direction:column;gap:2px}.ach-title{font-family:var(--font-display);font-weight:800;font-size:15px;line-height:1.15}.ach-desc{font-size:12.5px;line-height:1.3;color:var(--ink-2)}.ach-date,.ach-tag{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted)}.ach-tag{text-transform:uppercase}.ach-count{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.ach-bar{flex:1;height:7px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper-hi);overflow:hidden}.ach-bar>span{display:block;height:100%;background:var(--accent)}@media(max-width:640px){.ach-grid{grid-template-columns:1fr 1fr;gap:6px}.ach-card{flex-direction:column;align-items:center;text-align:center;padding:8px 6px;min-height:0}.ach-badge{flex-basis:auto;width:64px;height:64px}.ach-img{width:64px;height:64px}.ach-title{font-size:13.5px}.ach-desc{font-size:11.5px}.ach-count{width:100%}}@media(max-width:360px){.ach-grid{grid-template-columns:1fr}}.ach-toast{position:absolute;top:calc(var(--safe-top) + 64px);left:50%;z-index:60;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;min-width:240px;max-width:min(420px,calc(100vw - 24px));border:2.5px solid var(--ink);border-radius:999px;background:var(--paper-hi);box-shadow:var(--shadow);pointer-events:none;transform:translate(-50%,-16px) scale(.92);opacity:0;transition:transform .35s var(--ease-pop),opacity .25s ease}.ach-toast.in{transform:translate(-50%) scale(1);opacity:1}.ach-toast.out{transform:translate(-50%,-8px);opacity:0}.ach-toast.still,html.reduce-motion .ach-toast{transition:opacity .2s linear;transform:translate(-50%)}.ach-toast-img{width:56px;height:56px;object-fit:contain;flex:0 0 56px}.ach-toast.in .ach-toast-img{animation:achStamp .5s var(--ease-pop) .1s both}html.reduce-motion .ach-toast .ach-toast-img,.ach-toast.still .ach-toast-img{animation:none}.ach-toast-title{font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.1}.ach-toast-pts{font-size:12px;font-weight:800;color:var(--accent)}@keyframes achStamp{0%{transform:scale(1.6) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}@media(max-width:640px){.ach-toast{top:calc(var(--safe-top) + 56px);min-width:0;padding:6px 12px 6px 6px}.ach-toast-img{width:44px;height:44px;flex-basis:44px}.ach-toast-title{font-size:15px}}
