html,body{touch-action:none;background:#f0f2ec;height:100%;margin:0;overflow:hidden}body{color:#3d4943;-webkit-user-select:none;user-select:none;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,monospace}#app{position:fixed;inset:0}#app canvas{display:block}#app .world-canvas{touch-action:none;outline:none;width:100%;height:100%}.camera-controls{left:16px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:2;background:#f7f8f4;border:1px solid #c9cec4;border-radius:8px;align-items:center;gap:3px;padding:5px;display:flex;position:fixed;box-shadow:0 2px #dfe2db}.camera-controls button{font:inherit;color:#3d4943;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;min-height:32px;padding:6px 9px;font-size:12px}.camera-controls button:hover{background:#eceee8}.camera-controls button[aria-pressed=true]{color:#f7f8f4;background:#3d4943}.camera-controls output{color:#77817a;text-align:center;min-width:33px;font-size:11px}.icon{flex:none;display:block}.glyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.glyph .swatch{width:10px;height:10px;display:inline-block}.hud{z-index:2;pointer-events:none;flex-direction:column;gap:8px;max-width:calc(50vw - 24px);font-size:12px;display:flex;position:fixed;top:12px}.hud>*{pointer-events:auto}.hud.left{align-items:flex-start;left:16px}.hud.right{cursor:pointer;align-items:flex-end;transition:right .24s cubic-bezier(.2,.8,.2,1);right:16px}.panel-open .hud.right{right:376px}.card{background:#f7f8f4;border:1px solid #c9cec4;border-radius:8px;align-items:stretch;display:flex;overflow:hidden;box-shadow:0 2px #dfe2db}.card .cell{white-space:nowrap;align-items:center;gap:10px;padding:7px 14px;display:flex}.card .cell+.cell{border-left:1px solid #e0e3db}.hud .topline{align-items:stretch;gap:8px;display:flex}.goods-chip,.fold-buttons,.toolbar .more,.toolbar .speed .cycle,.system .phone-only{display:none}.hud .stack{flex-direction:column;line-height:1.2;display:flex}.hud .stack b{font-size:15px;font-weight:700}.hud .stack small{color:#77817a;font-size:11px}.hud .stack .of{color:#8a938c;font-size:12px;font-weight:400}.hud .coins b{font-size:17px}.hud .coins.debt b{color:#b04a39}.hud .up{color:#4f8a3e}.hud .down{color:#b04a39}.hud .muted{color:#8a938c}.hud.right .card:hover{border-color:#3d4943}.hud .stock{gap:0;padding:5px}.hud .stock .group{gap:4px;padding:0 5px;display:flex}.hud .stock .group+.group{border-left:1px solid #e0e3db}.hud .good{cursor:default;background:#eef0ea;border-radius:6px;align-items:center;gap:6px;padding:4px 9px 4px 6px;display:inline-flex}.hud .good .count{min-width:2.5ch;font-size:13px;font-weight:700}.hud .good.empty{opacity:.55}.toolbar,.system{bottom:calc(14px + env(safe-area-inset-bottom));z-index:2;align-items:stretch;gap:8px;display:flex;position:fixed}.toolbar{max-width:calc(100vw - 32px);left:16px;overflow-x:auto}.system{transition:right .24s cubic-bezier(.2,.8,.2,1),bottom .24s cubic-bezier(.2,.8,.2,1);right:16px}.panel-open .system{right:376px;bottom:calc(70px + env(safe-area-inset-bottom));flex-direction:column}.panel-open .system button.labelled{gap:0;padding:6px 9px;font-size:0}@media (width<=1210px){.system{bottom:calc(70px + env(safe-area-inset-bottom))}}.toolbar .group,.system{background:#f7f8f4;border:1px solid #c9cec4;border-radius:8px;gap:4px;padding:5px;display:flex;box-shadow:0 2px #dfe2db}.toolbar button,.system button{font:inherit;color:#3d4943;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.toolbar button:hover,.system button:hover{background:#eceee8}.toolbar button.on{color:#f7f8f4;background:#3d4943}.toolbar button.on .glyph{background:#f7f8f4;border-radius:4px;margin:-1px;padding:1px}.toolbar button kbd{font:inherit;opacity:.55;font-size:10px}.toolbar .pause{padding:6px 9px}.toolbar .pause.on .glyph{background:0 0}.system button{color:#5d6861;gap:0;padding:6px 9px;font-size:0}.system button.labelled{gap:7px;padding:6px 10px;font-size:12px}.system .guide-toggle.on{color:#2f5a9c;background:#eef3fb;border-color:#c9d6ee}.toolbar .town-button{letter-spacing:.02em;background:#f7f8f4;border:1px solid #c9cec4;border-radius:8px;gap:10px;padding:8px 18px 8px 12px;font-size:14px;font-weight:700;box-shadow:0 2px #dfe2db}.toolbar .town-button:hover{background:#eceee8;border-color:#3d4943}.toolbar .town-button.on{color:#f7f8f4;background:#3d4943;border-color:#3d4943}.toolbar .town-button.on .glyph{background:#f7f8f4;border-radius:5px;margin:-2px;padding:2px}.tooltip{pointer-events:none;color:#f3f5ef;white-space:pre;z-index:20;background:#2f4639;border-radius:3px;padding:5px 10px;font-size:13px;display:none;position:fixed;transform:translate(14px,10px)}.toast{bottom:calc(76px + env(safe-area-inset-bottom));color:#f7f8f4;opacity:0;pointer-events:none;z-index:20;background:#3d4943;border-radius:4px;padding:7px 14px;font-size:12px;transition:opacity .16s;position:fixed;left:50%;transform:translate(-50%)}.toast.show{opacity:1}@media (width<=1000px){.system button.labelled{gap:0;padding:6px 9px;font-size:0}.toolbar button kbd,.toolbar .town-button kbd,.hud .stack small{display:none}}.panel{overscroll-behavior:contain;box-sizing:border-box;width:360px;max-width:46vw;padding:18px 16px calc(24px + env(safe-area-inset-bottom));color:#3d4943;-webkit-user-select:none;user-select:none;z-index:3;background:#eef0ea;border-left:1px solid #c3c8bf;font-size:13px;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.panel.open{transform:none}.panel header{align-items:center;gap:12px;margin:0 4px 6px;display:flex}.panel header .title{flex:1;min-width:0}.panel header .thumb{object-fit:contain;flex:none;width:64px;height:56px}.panel header .glyph{background:#f7f8f4;border:1px solid #d3d7ce;border-radius:8px;width:40px;height:40px}.panel h2{letter-spacing:.01em;text-transform:capitalize;margin:0;font-size:17px;font-weight:700}.panel .close{background:0 0;border:1px solid #0000;border-radius:6px;align-self:flex-start;padding:5px;display:flex}.panel .close:hover{background:#e2e5de;border-color:#c9cec4}.panel .sub{color:#6c766f;margin:3px 0 0;font-size:12px;line-height:1.4}.panel .sub.warn{color:#b04a39}.panel .pill{color:#5d6861;background:#e2e5de;border-radius:999px;align-items:center;gap:6px;margin-top:5px;padding:2px 9px;font-size:11px;display:inline-flex}.panel .pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.panel .pill.working{color:#4f8a3e;background:#e1ecd9}.panel .pill.problem{color:#b04a39;background:#f4dfda}.panel section{background:#f7f8f4;border:1px solid #dcdfd7;border-radius:10px;margin-top:12px;padding:12px 14px}.panel h3{letter-spacing:.1em;text-transform:uppercase;color:#5d6861;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:700;display:flex}.panel h3 .help{opacity:.55;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;margin:-4px -6px -4px auto;padding:4px;display:inline-flex}.panel h3 .help:hover{opacity:1;background:#eceee8;border-color:#d3d7ce}.panel h3 .help[aria-expanded=true]{opacity:1;background:#e3eaf5;border-color:#c9d6ee}.panel .help-text{color:#4f5a53;letter-spacing:0;text-transform:none;background:#f1f4f8;border:1px solid #d5dde8;border-radius:6px;margin:-2px 0 12px;padding:9px 12px;font-size:12px;font-weight:400;line-height:1.5;display:none}.panel .help-text.open{display:block}.panel .row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.panel .row+.row{border-top:1px dashed #e3e6df}.panel .label{align-items:center;gap:8px;min-width:0;display:inline-flex}.panel .count{color:#4f5a53;white-space:nowrap;font-variant-numeric:tabular-nums}.panel .count.up{color:#4f8a3e}.panel .count.down{color:#b04a39}.panel .total{font-weight:700}.panel .empty{color:#8a938c;margin:6px 0 0;font-size:12px;line-height:1.4}.panel button{font:inherit;color:inherit;cursor:pointer}.panel .frame{white-space:nowrap;background:#f7f8f4;border:1px solid #3d4943;border-radius:5px;padding:6px 12px}.panel .frame:hover{background:#e6e9e2}.panel .frame.danger{color:#b04a39;border-color:#b04a39}.panel .actions{flex-wrap:wrap;gap:8px;margin:16px 4px 0;display:flex}.panel .option{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:56px 1fr;align-items:center;gap:4px 12px;width:100%;padding:6px 8px 6px 4px;display:grid}.panel .option+.option{margin-top:2px}.panel .option:hover:not(:disabled){background:#eceee8;border-color:#d3d7ce}.panel .option:disabled{opacity:.45;cursor:default}.panel .option .thumb{object-fit:contain;grid-row:span 3;width:56px;height:48px}.panel .option .name{text-transform:capitalize;font-weight:700}.panel .option .blurb{color:#77817a;font-size:12px;line-height:1.35}.panel .option.short .blurb{color:#b04a39}.panel .chips{color:#4f5a53;flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.panel .chip{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.panel .chip.short{color:#b04a39;font-weight:700}.panel .chip.dim{color:#8a938c}@media (height<=500px){.panel{width:300px;padding:12px}.panel section{margin-top:8px;padding:8px 10px}.panel .option .thumb{width:44px;height:38px}}.panel .spark{border-bottom:1px solid #e0e3db;height:36px;margin-top:8px}.panel .spark svg{width:100%;height:36px;display:block}.panel .lever .controls{align-items:center;gap:6px;display:inline-flex}.panel .lever .rate{text-align:center;min-width:4.5ch;font-weight:700}.panel .frame.step{padding:1px 9px}.panel .effect{color:#8a938c;text-align:right;margin:-2px 0 4px;font-size:11px}.panel .effect.up{color:#4f8a3e}.panel .effect.down{color:#b04a39}.panel .need{grid-template-columns:7.5ch 1fr 7ch;align-items:center;gap:10px;padding:4px 0;display:grid}.panel .need .track{background:#e6e9e2;border-radius:4px;height:8px;overflow:hidden}.panel .need .fill{background:#6e8f36;border-radius:4px;height:100%;display:block}.panel .need .fill.low{background:#c98a3a}.panel .need .fill.none{background:#b04a39}.panel .need .count{text-align:right}.panel .lines .row{justify-content:flex-start}.hud .clock .winter{color:#3d6db5;font-weight:600}.hud .request,.hud .alarm{display:none}.hud .request.show,.hud .alarm.show{display:flex}.hud .request{box-sizing:border-box;border-color:#d6ae2e;width:440px;max-width:100%;box-shadow:0 2px #eadca7}.hud .request .cell{flex:1;gap:12px;min-width:0}.hud .request .lines{flex-direction:column;gap:2px;min-width:0;display:flex}.hud .request .ask{white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:flex}.hud .request .terms{white-space:normal;color:#77817a;font-size:11px}.hud .request .terms b{color:#3d4943}.hud .request .send{font:inherit;color:#f7f8f4;cursor:pointer;background:#3d4943;border:1px solid #3d4943;border-radius:5px;margin:8px 8px 8px 0;padding:4px 16px;font-size:12px;transition:background .12s,box-shadow .12s}.hud .request .send:not(:disabled):hover{background:#26302b;box-shadow:0 2px #c9b25e}.hud .request .send:not(:disabled):active{box-shadow:none;transform:translateY(1px)}.hud .request .send:disabled{color:#8a938c;cursor:not-allowed;background:0 0;border-color:#c9cec4}.hud .alarm{color:#b04a39;white-space:normal;border-color:#b04a39;flex-direction:column;box-shadow:0 2px #e6c3bc}.hud .alarm .cell+.cell{border-top:1px solid #ecd2cc;border-left:0}.hud .alarm.good{color:#4f8a3e;border-color:#4f8a3e;box-shadow:0 2px #cfe0c5}.panel .meter{border:1px solid #c9cec4;height:6px;margin:4px 0 10px;position:relative}.panel .meter:after{content:"";border-left:1px solid #77817a;position:absolute;top:-3px;bottom:-3px;left:50%}.panel .meter .fill{background:#4f8a3e;position:absolute;top:0;bottom:0}.panel .meter .fill.low{background:#b04a39}.panel .goal .mark{color:#0000;border:1px solid #c9cec4;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.panel .goal.met .mark{color:#f7f8f4;background:#4f8a3e;border-color:#4f8a3e;font-weight:700}.panel .goal.met{color:#4f8a3e}.chronicle p{color:#4f5a53;margin:0 0 6px;font-size:12px;line-height:1.45}.chronicle p b{color:#8a938c;min-width:5ch;font-weight:400;display:inline-block}.dialog{z-index:10;background:#e2e9e6b8;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.dialog.open{display:flex}.dialog .sheet{box-sizing:border-box;overscroll-behavior:contain;touch-action:pan-y;background:#f1f3ed;border:1px solid #c3c8bf;border-radius:6px;width:640px;max-width:100%;max-height:calc(100dvh - 32px);padding:22px 26px;font-size:14px;overflow-y:auto;box-shadow:0 3px #d5d9d0}.dialog .sheet.wide{width:720px}.dialog .sheet.narrow{width:460px}.dialog .frame.danger{color:#b04a39;border-color:#b04a39}.dialog .frame.danger:hover{background:#f4dfda}.dialog h2{margin:0 0 6px;font-size:18px}.dialog .sub{color:#6c766f;margin:0 0 10px;line-height:1.45}.dialog section{margin-top:16px}.dialog h3{letter-spacing:.12em;text-transform:uppercase;color:#77817a;border-bottom:2px solid #d3d7ce;margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:400}.dialog .empty{color:#8a938c;margin:6px 0 0;font-size:12px}.dialog .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog button{font:inherit;color:inherit;cursor:pointer}.dialog .frame{white-space:nowrap;background:0 0;border:1px solid #3d4943;border-radius:2px;padding:6px 12px}.dialog .frame:hover{background:#e6e9e2}.dialog .frame.primary{color:#f7f8f4;background:#3d4943}.dialog .actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.dialog .charter{grid-template-columns:1fr 200px;gap:22px;display:grid}.dialog .choices{flex-wrap:wrap;gap:6px;display:flex}.dialog .choice{color:#6c766f;border-color:#c9cec4}.dialog .choice.on{color:#3d4943;background:#e6e9e2;border-color:#3d4943;font-weight:700}.dialog .preview{flex-direction:column;gap:8px;display:flex}.dialog .preview canvas{width:192px;height:192px;image-rendering:pixelated;background:#e2e9e6;border:1px solid #c9cec4}.dialog .preview .sub{font-size:12px}.dialog .facts{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:14px 0;display:grid}.dialog .fact{border-left:2px solid #d3d7ce;flex-direction:column;padding-left:8px;display:flex}.dialog .fact b{font-size:18px}.dialog .fact span{color:#77817a;font-size:11px}.dialog .chart svg{border-bottom:1px solid #d3d7ce;width:100%;height:150px;display:block}.dialog .legend{color:#77817a;margin:4px 0 12px;font-size:11px}.dialog .chronicle{border-top:1px solid #e0e3db;max-height:180px;padding-top:10px;overflow-y:auto}@media (width<=600px){.dialog .charter{grid-template-columns:1fr}.dialog .sheet{padding:16px}}.dialog.share .sheet{width:680px}.dialog .card-preview{aspect-ratio:1200/630;background:#e2e9e6;border:1px solid #c9cec4;border-radius:4px;width:100%;margin:8px 0 12px;display:block}.dialog .frame{color:inherit;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.dialog .frame.primary .glyph{background:#f7f8f4;border-radius:3px;margin:-1px;padding:1px}.dialog .frame:disabled{opacity:.6;cursor:progress}.dialog .link-row{gap:8px;margin-top:12px;display:none}.dialog .link-row.show{display:flex}.dialog .link-row input{min-width:0;font:inherit;color:#3d4943;-webkit-user-select:text;user-select:text;background:#f7f8f4;border:1px solid #c9cec4;border-radius:2px;flex:1;padding:6px 10px;font-size:13px}.visit{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:4;box-sizing:border-box;max-width:calc(100vw - 32px);font-size:12px;display:none;position:fixed;transform:translate(-50%)}.visit.show{display:flex}.visit .stack{flex-direction:column;line-height:1.25;display:flex}.visit .stack b{font-size:14px}.visit .stack small{color:#77817a;white-space:normal}.visit .cell{white-space:normal}.visit button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3d4943;border-radius:2px;padding:7px 12px}.visit button:hover{background:#e6e9e2}.visit button.primary{color:#f7f8f4;background:#3d4943}.visiting .toolbar,.visiting .system,.visiting .views{display:none}@media (width<=600px){.visit{flex-direction:column;align-items:stretch;width:calc(100vw - 32px)}.visit .cell+.cell{border-top:1px solid #e0e3db;border-left:0}.visit .cell:last-child button{flex:1}.dialog .link-row{flex-wrap:wrap}.dialog .link-row input{flex-basis:100%}}.result{font:inherit;z-index:5;color:#f7f8f4;cursor:pointer;background:#3d4943;border:0;border-radius:4px;padding:7px 12px;font-size:12px;display:none;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px #c9cec4}.result.show{display:block}.hud .ticker{flex-direction:column;width:440px;max-width:100%;display:none}.hud .ticker.show{display:flex}.views{z-index:2;background:#f7f8f4;border:1px solid #c9cec4;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;padding:5px;transition:right .24s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:64px;right:16px;box-shadow:0 2px #dfe2db}.views-title{letter-spacing:.1em;text-transform:uppercase;color:#9aa29b;cursor:help;padding:4px 8px 5px;font-size:10px}.views button{font:inherit;color:#3d4943;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;font-size:11px;display:flex}.views button:hover{background:#eceee8}.views button.on{color:#f7f8f4;background:#3d4943}.views button kbd{font:inherit;opacity:.55;margin-left:auto;padding-left:18px;font-size:10px}.panel-open .views{right:376px}.legend{z-index:2;flex-direction:column;gap:4px;max-width:220px;padding:10px 12px;font-size:11px;transition:right .24s cubic-bezier(.2,.8,.2,1);display:none;position:fixed;top:300px;right:16px}.legend.show{display:flex}.legend .key{align-items:center;gap:7px;display:flex}.legend .key i{opacity:.8;border-radius:3px;width:11px;height:11px;display:inline-block}.legend small{color:#77817a;margin-top:3px;line-height:1.35}.panel-open .legend{right:376px}@media (width<=1000px){.views{top:auto;bottom:calc(130px + env(safe-area-inset-bottom));flex-flow:wrap;max-width:calc(100vw - 32px)}.views button{gap:0;font-size:0}.views button kbd,.views-title{display:none}.legend{top:auto;bottom:calc(176px + env(safe-area-inset-bottom))}}.panel .lines .line{grid-template-columns:16px minmax(0,1fr) auto;align-items:baseline;gap:5px 10px;padding:11px 0;display:grid}.panel .lines .line:first-of-type{padding-top:2px}.panel .lines .line:last-child{padding-bottom:2px}.panel .lines .line+.line{border-top:1px dashed #e3e6df}.panel .lines .line .mark{grid-column:1;align-self:start;padding-top:1px}.panel .lines .line .what{color:#3d4943;grid-column:2;font-weight:600;line-height:1.35}.panel .lines .line .count{text-align:right;white-space:normal;grid-column:3;max-width:200px;line-height:1.35}.panel .lines .line .chips{grid-column:2/-1;gap:6px}.panel .lines .line.long .count{text-align:left;grid-column:2/-1;max-width:none}.panel .lines .line .note{color:#6c766f;grid-column:2/-1;font-size:11px;line-height:1.5}.panel .lines .line.ok .count{color:#4f8a3e}.panel .lines .line.warn .count{color:#b8782e}.panel .lines .line.bad .count{color:#b04a39;font-weight:700}.panel .lines .line.bad .note{color:#8f3f31}.panel .lines .line.warn .note{color:#8a5a22}.panel .lines .line.dim .count,.panel .lines .line.dim .what{color:#8a938c;font-weight:400}.panel .lines .line .chip{background:#eef0ea;border-radius:4px;padding:1px 6px 1px 4px}.panel .option{grid-template-rows:auto auto auto auto}.panel .option .thumb{grid-row:span 4}.panel .chips .cap{letter-spacing:.08em;text-transform:uppercase;color:#9aa29b;min-width:3.2em;font-size:10px}.panel .chip.good{color:#4f8a3e}.panel .chip.bad{color:#b04a39}.panel .chip i{color:#9aa29b;font-style:normal}.hud .ticker .head{letter-spacing:.1em;text-transform:uppercase;color:#9aa29b;padding:10px 16px 4px;font-size:10px}.hud .ticker .head+.cell{border-top:0}.hud .ticker .cell{white-space:normal;align-items:flex-start;gap:11px;padding:9px 8px 9px 16px;font-size:12px;line-height:1.55;box-shadow:inset 3px 0 #0000}.hud .ticker .cell+.cell{border-top:1px dashed #e3e6df;border-left:none}.hud .ticker .cell .mark{height:1.55em;transform:translateY(1px)}.hud .ticker .cell .text{flex:1;min-width:0}.hud .ticker .cell em{color:#9aa29b;white-space:nowrap;font-style:normal}.hud .ticker .cell.place{cursor:pointer}.hud .ticker .cell.place:hover{background:#eef0ea}.hud .ticker .alert.hint{box-shadow:inset 3px 0 #8fa9d6}.hud .ticker .head.guide{color:#3d6db5;align-items:baseline;gap:8px;padding-right:10px;display:flex}.hud .ticker .head.guide .progress{color:#9aa29b}.hud .ticker .head.guide .quiet{font:inherit;letter-spacing:inherit;text-transform:inherit;color:#9aa29b;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0}.hud .ticker .head.guide .quiet:hover{color:#3d4943;text-decoration:underline}.hud .ticker .cell.guide{background:#f6f8fc}.hud .ticker .cell.guide .goal{color:#6d7f9c;grid-template-columns:12px minmax(0,1fr);align-items:start;column-gap:7px;margin-top:6px;font-size:11px;line-height:1.7;display:grid}.hud .ticker .cell.guide .goal>.glyph,.hud .ticker .cell.guide .goal>svg{height:1.7em}.hud .ticker .cell.guide.place:hover{background:#eef3fb}.hud .ticker .cell.guide+.head{border-top:1px dashed #e3e6df}.hud .ticker .alert.warn{box-shadow:inset 3px 0 #d9a24e}.hud .ticker .alert.bad{box-shadow:inset 3px 0 #b04a39}.hud .ticker .alert.bad .text{color:#8f3f31}.hud .ticker .news .text{color:#5d6861}.hud .ticker .acts{align-items:center;gap:2px;margin-top:-1px;display:flex}.hud .ticker .act{color:#3d4943;cursor:pointer;opacity:.4;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.hud .ticker .cell:hover .act{opacity:.75}.hud .ticker .act:hover{background:#e2e5de;border-color:#c9cec4;opacity:1!important}.ref{font:inherit;vertical-align:baseline;white-space:nowrap;border:1px solid #0000;border-radius:4px;margin:0 1px;padding:0 5px 0 4px;font-weight:600;line-height:1.4;display:inline-block}.ref .icon{vertical-align:-2px;width:13px;height:13px;margin-right:3px;display:inline-block}.ref.ware{color:#3d4943;background:#eef0ea}.ref.kind{color:#2f5a9c;background:#eef3fb;border:1px solid #c9d6ee}button.ref.kind{cursor:pointer}button.ref.kind:hover{background:#dce6f5;border-color:#3d6db5}.ref.kind.go{color:#5b5338;background:#f4f2ea;border-color:#d9d3bf}button.ref.kind.go:hover{background:#ebe7d8;border-color:#8a7d55}kbd.key{min-width:1.6ch;font:inherit;text-align:center;color:#3d4943;vertical-align:1px;background:#fbfcf9;border:1px solid #c9cec4;border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:10px;line-height:1.5;display:inline-block}.hud .cell.jobs{cursor:pointer}.hud .cell.jobs:hover{background:#eef0ea}.panel .slider{--at:50%;--fill:#3d4943;--rail:#dfe2db;appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:2px 0 0;display:block}.panel .slider:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #8fa9d6}.panel .slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--fill) var(--at), var(--rail) var(--at));border-radius:3px;height:6px}.panel .slider::-moz-range-track{background:linear-gradient(to right, var(--fill) var(--at), var(--rail) var(--at));border-radius:3px;height:6px}.panel .slider::-webkit-slider-thumb{-webkit-appearance:none;background:#f7f8f4;border:1.5px solid #3d4943;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px #c9cec4}.panel .slider::-moz-range-thumb{background:#f7f8f4;border:1.5px solid #3d4943;border-radius:50%;width:14px;height:14px}.panel .slider:hover::-webkit-slider-thumb{background:#e6e9e2}.panel .slider.tax::-webkit-slider-runnable-track{background:linear-gradient(to right, transparent calc(33.33% - 1px), #77817a calc(33.33% - 1px), #77817a calc(33.33% + 1px), transparent calc(33.33% + 1px)) no-repeat center / 100% 12px, linear-gradient(to right, var(--fill) var(--at), var(--rail) var(--at))}.panel .lever .rate{font-variant-numeric:tabular-nums}.panel .lever+.slider{margin-top:-2px}.panel .trade-row{padding:7px 0 5px}.panel .trade-row+.trade-row,.panel .effect+.trade-row{border-top:1px dashed #e3e6df}.panel .trade-row .row{padding:0}.panel .trade-row .price{color:#8a938c;text-align:right;min-width:5ch;font-size:11px}.panel .trade-row .count{text-align:right;min-width:3ch}.panel .trade-row .change{color:#8a938c;font-size:10px}.panel .trade-row .change.up{color:#4f8a3e}.panel .trade-row .change.down{color:#b04a39}.panel .deal-line{align-items:center;gap:12px;display:flex}.panel .deal-line .slider{flex:1}.panel .slider.deal{--fill:#9aa29b}.panel .sell .slider.deal{--fill:#4f8a3e}.panel .buy .slider.deal{--fill:#3d6db5}.panel .slider.deal::-webkit-slider-runnable-track{background:linear-gradient(to right, transparent calc(50% - 1px), #77817a calc(50% - 1px), #77817a calc(50% + 1px), transparent calc(50% + 1px)) no-repeat center / 100% 12px, linear-gradient(to right, var(--rail) min(var(--at), 50%), var(--fill) min(var(--at), 50%), var(--fill) max(var(--at), 50%), var(--rail) max(var(--at), 50%))}.panel .slider.deal::-moz-range-track{background:linear-gradient(to right, var(--rail) min(var(--at), 50%), var(--fill) min(var(--at), 50%), var(--fill) max(var(--at), 50%), var(--rail) max(var(--at), 50%))}.panel .deal-line .mode{text-align:right;color:#9aa29b;white-space:nowrap;width:12ch;font-size:11px}.panel .deal-line .mode.sell{color:#4f8a3e;font-weight:700}.panel .deal-line .mode.buy{color:#3d6db5;font-weight:700}@media (width<=760px),(height<=500px){.hud{top:calc(8px + env(safe-area-inset-top));gap:6px;font-size:11px}.hud.left{left:calc(8px + env(safe-area-inset-left));right:calc(92px + env(safe-area-inset-right));max-width:none}.hud.right{display:none}.hud .topline{pointer-events:none;flex-wrap:wrap;gap:6px}.hud .topline>*{pointer-events:auto}.hud .card{border-radius:8px}.hud .card .cell{gap:5px;min-height:30px;padding:0 8px}.hud .card .icon{width:15px;height:15px}.hud .stack small{display:none}.hud .stack b,.hud .coins b{font-size:12px}.hud .stack .of{font-size:11px}.hud .folk{cursor:pointer}.goods-chip{min-height:30px;font:inherit;color:#3d4943;cursor:pointer;align-items:center;gap:8px;padding:0 9px;font-size:12px;font-weight:700;display:flex}.goods-chip span{align-items:center;gap:4px;display:inline-flex}.goods-chip .short{color:#b04a39}.goods-chip.on{border-color:#3d4943}.hud .stock{display:none}.fold-goods .hud .stock{flex-wrap:wrap;gap:4px 0;max-width:min(430px,100%);padding:5px;display:flex}.hud .stock .group{flex-wrap:wrap;gap:3px;padding:0 3px}.hud .good{gap:4px;padding:3px 7px 3px 4px}.hud .good .count{font-size:12px}.hud .request{width:auto}.hud .request .ask{font-size:12px}.hud .alarm .cell{white-space:normal;padding:6px 9px;font-size:11px}.fold-buttons{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));z-index:2;gap:6px;display:flex;position:fixed}.fold-buttons button{cursor:pointer;border-radius:10px;justify-content:center;width:34px;height:34px;padding:0;position:relative;overflow:visible}.fold-buttons button.on{background:#eceee8;border-color:#3d4943}.fold-buttons button:first-child{background:#eef3fb;border-color:#c9d6ee}.fold-buttons button:first-child.on{border-color:#2f5a9c}.fold-buttons .badge{color:#f7f8f4;background:#2f5a9c;border-radius:999px;padding:3px 5px;font-size:9px;font-weight:700;line-height:1;position:absolute;top:-6px;right:-7px}.fold-buttons .badge:empty{display:none}.fold-buttons .alert .badge{background:#b04a39}.hud .ticker.show{width:auto;display:none}.hud .ticker.show.peek{left:50%;bottom:calc(58px + env(safe-area-inset-bottom));cursor:pointer;width:min(460px,100vw - 16px);display:flex;position:fixed;transform:translate(-50%)}.hud .ticker.peek>:not(.cell.guide),.hud .ticker.peek .goal,.hud .ticker.peek .acts{display:none}.hud .ticker.peek .cell.guide{padding:7px 10px 7px 12px;font-size:11px;line-height:1.45}.hud .ticker.peek .cell.guide .text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fold-guide .hud.left{z-index:4}.fold-guide .fold-buttons{z-index:5}.fold-guide .hud .ticker.show{z-index:4;overscroll-behavior:contain;touch-action:pan-y;display:flex;position:fixed;overflow-y:auto;box-shadow:0 0 0 100vmax #3d49431f}.hud .ticker .head{padding:10px 14px 4px}.hud .ticker .cell{padding:9px 8px 9px 14px;font-size:12px}.hud .ticker .act{opacity:.6;width:30px;height:30px}.views{display:none}.fold-views .views{top:calc(50px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));flex-flow:column;max-width:none;max-height:calc(100dvh - 120px);display:flex;bottom:auto;overflow-y:auto}.fold-views .views button{gap:8px;min-height:34px;padding:7px 9px;font-size:12px}.views button kbd,.views-title{display:none}.legend{top:calc(50px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));max-width:min(220px,100vw - 16px);bottom:auto}.fold-views .legend{display:none}.toolbar,.panel-open .toolbar{left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));scrollbar-width:none;background:#f7f8f4;border:1px solid #c9cec4;border-radius:10px;gap:0;max-width:calc(100vw - 16px);padding:2px;overflow-x:auto;transform:translate(-50%);box-shadow:0 2px #dfe2db}.toolbar .group,.toolbar .town-button{box-shadow:none;background:0 0;border:0;border-radius:6px;flex:none;gap:1px;padding:0}.toolbar>*+*{border-left:1px solid #e0e3db;border-radius:0;margin-left:3px;padding-left:3px}.toolbar>.town-button+*{border-left:0;margin-left:0;padding-left:1px}.toolbar button,.toolbar .town-button{border-radius:6px;justify-content:center;gap:0;min-width:34px;min-height:34px;padding:0;font-size:0}.toolbar .town-button{padding:0}.toolbar button kbd{display:none}.toolbar .speed{gap:1px}.toolbar .speed button:not(.pause):not(.cycle){display:none}.toolbar .speed button.cycle{min-width:38px;font-size:12px;font-weight:700;display:flex}.toolbar .speed button.cycle.paused{color:#9aa29b}.toolbar button.more{display:flex}.toolbar button.more.on{background:#3d4943}.toolbar button.more.on .icon circle{fill:#f7f8f4}.camera-controls,.system,.panel-open .system{display:none}.fold-more .system,.fold-more.panel-open .system{top:auto;right:calc(8px + env(safe-area-inset-right));bottom:calc(58px + env(safe-area-inset-bottom));z-index:4;flex-direction:column;gap:1px;padding:4px;display:flex}.fold-more .system .phone-only{display:flex}.fold-more .system button,.fold-more .system button.labelled{color:#3d4943;justify-content:flex-start;gap:10px;min-height:34px;padding:7px 12px 7px 9px;font-size:12px}.toast{bottom:calc(100px + env(safe-area-inset-bottom));white-space:normal;text-align:center;max-width:calc(100vw - 28px)}.dialog{padding:0}.dialog .sheet,.dialog .sheet.wide,.dialog.share .sheet{width:100%;height:100%;max-height:none;box-shadow:none;padding:calc(18px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));border:0;border-radius:0;flex-direction:column;font-size:13px;display:flex}.dialog .sheet>*{flex:none}.dialog .sheet.narrow{border:1px solid #c3c8bf;border-radius:6px;width:min(460px,100% - 32px);max-height:calc(100dvh - 32px);padding:18px 16px 0}.dialog .sheet>.actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f1f3ed;border-top:1px solid #dcdfd7;margin:auto -16px 0;position:sticky;bottom:0;box-shadow:0 -6px 12px #3d49430f}.dialog .sheet>.actions .frame{flex:1;justify-content:center;padding:10px 12px}.dialog .sheet>.actions .frame.primary{flex:2}.dialog h2{font-size:17px}.dialog .sub{font-size:12px}.dialog section{margin-top:12px}.dialog .choices .frame{flex:1;justify-content:center;padding:8px 6px}.dialog .preview canvas{width:132px;height:132px}.dialog .chronicle{max-height:none}}@media (height<=500px){.fold-guide .hud .ticker.show{top:calc(48px + env(safe-area-inset-top));width:min(380px,55vw);padding:0 env(safe-area-inset-right) calc(10px + env(safe-area-inset-bottom)) 0;box-sizing:border-box;border-radius:12px 0 0;bottom:0;left:auto;right:0}.fold-guide .toolbar{left:calc(8px + env(safe-area-inset-left));transform:none}.panel{padding-top:12px}.panel-open .toolbar{left:calc(8px + env(safe-area-inset-left));max-width:calc(54vw - 16px);transform:none}.panel-open .hud .ticker.peek{display:none}.dialog .charter{grid-template-columns:1fr 150px;gap:16px}}@media (width<=760px) and (height>=501px){.hud.left{right:calc(8px + env(safe-area-inset-right))}.hud .topline>.bar:first-child{flex:none;margin-right:100%}.fold-guide .hud .ticker.show{max-height:62dvh;padding:4px 0 calc(10px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;inset:auto 0 0}.panel{border-top:1px solid #c3c8bf;border-left:0;border-radius:14px 14px 0 0;width:auto;max-width:none;height:58dvh;padding-top:22px;top:auto;left:0;transform:translateY(100%);box-shadow:0 -3px #dfe2db}.panel:before{content:"";background:#c9cec4;border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:8px;left:50%}.panel.open{transform:none}.panel-open .hud .stock,.panel-open .hud .ticker,.panel-open .views,.panel-open .legend{display:none}.dialog .charter{grid-template-columns:1fr;gap:0}.dialog .preview{flex-flow:wrap;align-items:flex-start;gap:10px;margin-top:12px}.dialog .preview .sub{flex:1;min-width:0;margin:0}.dialog .preview .row{flex-basis:100%}}@media (width<=380px){.toolbar button,.toolbar .town-button{min-width:31px}.toolbar .speed button.cycle{min-width:34px}}@media (pointer:coarse){.toolbar button kbd,.views button kbd{display:none}.panel .close{min-width:40px;min-height:40px}.tooltip{right:10px;bottom:calc(100px + env(safe-area-inset-bottom));white-space:normal;text-align:center;font-size:12px;line-height:1.4;transform:none;top:auto!important;left:10px!important}}@media (pointer:coarse) and (height<=500px){.tooltip{right:25%;left:25%!important}}
