:root{--ui-bg-cream: #fff2d4;--ui-bg-cream-2: #f0deae;--ui-bg-dark: #2a1808;--ui-overlay: rgba(10, 6, 0, .55);--ui-border: #3a2208;--ui-border-2: #6a4818;--ui-border-hi: #c8a05a;--ui-text: #1c0e02;--ui-text-muted: #5a3818;--ui-text-inv: #f5e6c8;--ui-accent: #d28030;--ui-accent-hi: #e89540;--ui-accent-press:#b86820;--ui-danger: #c04030;--ui-success: #4a9c40;--ui-warn: #d8a830;--ui-coin: #f4d03f;--ui-energy: #4ac4ff;--ui-xp: #b08af8;--ui-radius: 6px;--ui-radius-sm: 3px;--ui-pad: 12px;--ui-pad-sm: 8px;--ui-pad-xs: 4px;--ui-font: "Courier New", monospace;--ui-font-size: 15px;--ui-font-sm: 13px;--ui-font-lg: 19px;--ui-shadow: 0 4px 0 rgba(0, 0, 0, .35), 0 8px 16px rgba(0, 0, 0, .25);--ui-shadow-soft: 0 2px 0 rgba(0, 0, 0, .25);--ui-inset-hi: inset 0 1px 0 rgba(255, 255, 255, .5);--ui-z-toast: 30;--ui-z-modal: 25;--ui-z-panel: 20;--ui-z-hud: 10}*{margin:0;padding:0;box-sizing:border-box}html,body,#game,#ui-root{width:100%;height:100%;overflow:hidden}body{background:#1a3050;font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text);user-select:none;-webkit-font-smoothing:antialiased}#game canvas{display:block}#ui-root{position:fixed;inset:0;pointer-events:none;z-index:var(--ui-z-hud)}#ui-root>*{pointer-events:auto}#ui-root>.ui-hint,#ui-root>#float-layer,#ui-root>.ui-fps,#ui-root>.ui-tilebars,#ui-root>.ui-plotbars,#ui-root>.ui-plotpanel{pointer-events:none}.glyph{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif;font-style:normal;flex-shrink:0;text-rendering:optimizeLegibility}.glyph-inline{font-size:14px;vertical-align:-3px}.ui-icon-img{display:block;width:1.18em;height:1.18em;object-fit:contain;pointer-events:none;user-select:none}.glyph-inline .ui-icon-img{width:1.25em;height:1.25em}.ui-chip__icon .ui-icon-img,.ui-hotbar__icon .ui-icon-img,.ui-hotpop__icon .ui-icon-img,.ui-card__icon .ui-icon-img,.ui-storagebar__header .ui-icon-img,.ui-actionsbar__icon .ui-icon-img,.ui-plottools__glyph .ui-icon-img,.float-item .ui-icon-img{filter:drop-shadow(0 1px 0 rgba(0,0,0,.3))}.ui-prop-icon{width:28px;height:28px;image-rendering:pixelated;flex-shrink:0;display:inline-block}.ui-infocard{position:fixed;top:var(--ui-pad);right:var(--ui-pad);width:240px;padding:8px 10px;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);font-family:var(--ui-font);z-index:var(--ui-z-hud);transition:background .6s ease,color .6s ease}.ui-infocard[data-phase=twilight]{background:linear-gradient(180deg,#f7e2bc,#d8a8a0)}.ui-infocard[data-phase=night]{background:linear-gradient(180deg,#3a3068,#20204a);color:#f5e6c8}.ui-infocard[data-phase=night] .ui-infocard__day,.ui-infocard[data-phase=night] .ui-infocard__season,.ui-infocard[data-phase=night] .ui-infocard__clock{color:#f5e6c8}.ui-infocard__row{display:flex;align-items:center;gap:6px;font-weight:700;font-size:var(--ui-font-size)}.ui-infocard__row--clock{font-size:20px;gap:8px}.ui-infocard__row--season,.ui-infocard__row--day{font-size:var(--ui-font-sm);color:var(--ui-text-muted)}.ui-infocard__sun{width:28px;height:28px;line-height:1}.ui-infocard__sun .ui-icon-img{width:28px;height:28px}.ui-infocard__clock{font-family:var(--ui-font)}.ui-infocard__season{display:inline-flex;align-items:center;gap:4px}.ui-infocard__divider{height:2px;background:var(--ui-border-2);margin:6px -10px;opacity:.5}.ui-infocard__money{width:100%;margin:0;min-height:30px;background:var(--ui-coin);border-color:#b88a30;border-bottom-color:#6a4a1a;border-right-color:#6a4a1a;color:#2a1808;justify-content:center}.ui-infocard__money .ui-chip__value{color:#2a1808}.ui-infocard__plot[hidden]{display:none}.ui-infocard__plot-title{font-size:var(--ui-font-sm);font-weight:700;margin-bottom:4px;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.5px}.ui-infocard__plot-row{font-size:var(--ui-font-sm);line-height:1.4;font-variant-numeric:tabular-nums}.ui-infocard[data-phase=night] .ui-infocard__plot-title,.ui-infocard[data-phase=night] .ui-infocard__plot-row{color:#f5e6c8}.ui-topbar{display:none}.ui-chip{display:flex;align-items:center;gap:var(--ui-pad-xs);padding:var(--ui-pad-xs) var(--ui-pad-sm);background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);font-weight:700;min-height:36px}.ui-chip__icon{font-size:20px;width:22px;text-align:center;transform-origin:50% 50%}.ui-chip__value{font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text);min-width:28px}.ui-chip__bar{width:80px;height:8px;background:var(--ui-bg-dark);border-radius:2px;overflow:hidden}.ui-chip__fill{height:100%;transition:width .3s ease}.ui-chip--energy .ui-chip__fill{background:var(--ui-energy)}.ui-chip--xp .ui-chip__fill{background:var(--ui-xp)}@keyframes chip-land-icon{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.55) rotate(-6deg)}70%{transform:scale(.85) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes chip-land-frame{0%{box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi),0 0 #f8e07800}40%{box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi),0 0 0 4px #f8e078a6}to{box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi),0 0 #f8e07800}}.ui-chip.is-landing .ui-chip__icon{animation:chip-land-icon .28s ease-out}.ui-chip.is-landing{animation:chip-land-frame .32s ease-out}.ui-chip.is-landing.is-empty{opacity:1}.ui-input{display:block;width:100%;margin-top:4px;padding:6px 8px;font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);outline:none}.ui-input:focus{border-color:var(--ui-accent);background:#fff4d6}.ui-storagebar{position:fixed;bottom:var(--ui-pad);right:var(--ui-pad);width:300px;max-height:calc(100vh - 200px);display:flex;flex-direction:column;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);z-index:var(--ui-z-hud);pointer-events:auto;overflow:hidden}.ui-storagebar__header{display:flex;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs) var(--ui-pad-sm);background:var(--ui-bg-dark);color:var(--ui-text-inv);flex-shrink:0}.ui-storagebar__header .glyph{font-size:16px}.ui-storagebar__title{font-size:var(--ui-font-sm);font-weight:700;letter-spacing:1px;text-transform:uppercase}.ui-storagebar__body{padding:var(--ui-pad-sm);overflow-y:auto;flex:1 1 auto;min-height:0}.ui-storagebar__capwrap,.ui-storagebar__section{margin-bottom:var(--ui-pad-sm)}.ui-storagebar__section.never-seen,.ui-storagebar__section.plot-hidden{display:none}.ui-storagebar__sectitle{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ui-text-muted);margin-bottom:4px}.ui-storagebar__chips{display:flex;flex-wrap:wrap;gap:var(--ui-pad-xs)}.ui-storagebar .ui-chip{min-height:30px;padding:2px 8px}.ui-storagebar .ui-chip.is-empty{opacity:.32;background:var(--ui-bg-cream-2)}.ui-storagebar .ui-chip.is-empty .ui-chip__icon{filter:grayscale(.6)}.ui-storagebar .ui-chip.never-seen{display:none}body.plot-mode .ui-storagebar{display:flex}.ui-storagebar__body{overflow-x:visible}.ui-actionsbar{position:fixed;top:calc(var(--ui-pad) + 160px);right:var(--ui-pad);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;width:180px;z-index:var(--ui-z-hud)}.ui-actionsbar__btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius-sm);cursor:pointer;font-size:20px;box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);transition:background .1s,transform .06s}.ui-actionsbar__btn:hover{background:#fff4d6;transform:translateY(-1px)}.ui-actionsbar__btn.active{background:var(--ui-accent);color:var(--ui-text-inv);border-color:var(--ui-accent-press)}.ui-actionsbar__icon{line-height:1}.ui-actionsbar__icon .ui-icon-img,.ui-corner__btn .ui-icon-img{width:24px;height:24px}.ui-energybar{position:fixed;left:var(--ui-pad);top:var(--ui-pad);width:36px;height:180px;display:flex;flex-direction:column;align-items:center;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius-sm);padding:4px;z-index:var(--ui-z-hud)}.ui-energybar__icon{font-size:18px;line-height:1;margin-bottom:2px}.ui-energybar__track{flex:1;width:16px;background:var(--ui-bg-dark);border-radius:3px;position:relative;overflow:hidden;border:1px solid var(--ui-border-2)}.ui-energybar__fill{position:absolute;bottom:0;left:0;right:0;background:#4ac440;transition:height .2s ease,background .2s ease}.ui-energybar__value{font-size:10px;font-weight:700;color:var(--ui-text);margin-top:3px;white-space:nowrap}.ui-invtoggle{position:fixed;bottom:var(--ui-pad);right:var(--ui-pad);z-index:var(--ui-z-hud)}.ui-invtoggle__btn{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);cursor:pointer;box-shadow:var(--ui-shadow),var(--ui-inset-hi);transition:background .1s,transform .06s}.ui-invtoggle__btn:hover{background:#fff4d6;transform:translateY(-1px)}.ui-invtoggle__count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 4px;background:var(--ui-accent);color:var(--ui-text-inv);border:2px solid var(--ui-bg-dark);border-radius:12px;font-size:11px;font-weight:700;font-family:var(--ui-font);display:flex;align-items:center;justify-content:center}.ui-invtoggle__count--zero{display:none}.ui-invtoggle__anchors{position:absolute;inset:0;pointer-events:none}.ui-invtoggle__anchor{position:absolute;top:50%;left:50%;width:1px;height:1px}.ui-invtoggle__anchor.never-seen{display:none}.ui-inventory{display:none;position:fixed;inset:0;background:#0a060073;align-items:center;justify-content:center;z-index:var(--ui-z-modal)}.ui-inventory.open{display:flex}.ui-inventory__panel{width:720px;max-width:calc(100vw - 64px);background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);padding:12px 16px 16px}.ui-inventory__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ui-inventory__title{font-size:var(--ui-font-lg);font-weight:700}.ui-inventory__close{width:32px;height:32px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);font-size:20px;font-weight:700;cursor:pointer}.ui-inventory__close:hover{background:var(--ui-danger);color:var(--ui-text-inv)}.ui-inventory__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.ui-inventory__cell{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm)}.ui-inventory__cell.is-empty{opacity:.45}.ui-inventory__cell-icon{font-size:32px;line-height:1}.ui-inventory__cell-count{position:absolute;bottom:4px;right:6px;font-size:16px;font-weight:700;font-family:var(--ui-font);color:var(--ui-text);text-shadow:1px 1px 0 var(--ui-text-inv)}.ui-inventory__cell-name{position:absolute;bottom:4px;left:4px;font-size:10px;color:var(--ui-text-muted)}.ui-inventory__empty{grid-column:1 / -1;text-align:center;padding:24px;color:var(--ui-text-muted);font-style:italic}.ui-hotbar{position:fixed;bottom:var(--ui-pad);left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);z-index:var(--ui-z-hud)}.ui-hotbar__slot{position:relative;width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);cursor:pointer;font-family:var(--ui-font);transition:background .1s,border-color .1s}.ui-hotbar__slot:hover{background:#fff4d6}.ui-hotbar__slot.active{background:#ffe0a0;border-color:var(--ui-accent);box-shadow:0 0 0 2px #d2803066,0 -2px 0 var(--ui-accent)}.ui-hotbar__digit{position:absolute;top:2px;left:4px;font-size:10px;font-weight:700;color:var(--ui-text-muted)}.ui-hotbar__icon{font-size:28px;line-height:1}.ui-hotbar__label{font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--ui-text);text-transform:uppercase}.ui-hotpop{position:fixed;display:none;flex-direction:column;align-items:center;gap:6px;padding:8px 10px;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);z-index:var(--ui-z-hud);pointer-events:auto;max-width:460px}.ui-hotpop.open{display:flex}.ui-hotpop__title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ui-text);align-self:stretch;border-bottom:1px dashed var(--ui-border-2);padding-bottom:4px;text-align:center}.ui-hotpop__sub{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ui-text-muted);align-self:flex-start;margin-top:2px}.ui-hotpop__tip{font-size:10px;color:var(--ui-text-muted);font-style:italic;text-align:center;max-width:360px}.ui-hotpop__row{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.ui-hotpop__slot{position:relative;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);cursor:pointer;font-family:var(--ui-font)}.ui-hotpop__slot:focus,.ui-hotpop__slot:focus-visible,.ui-hotbar__slot:focus,.ui-hotbar__slot:focus-visible{outline:none}.ui-hotpop__slot:hover:not(.locked):not([disabled]){background:#fff4d6}.ui-hotpop__slot.active{background:#ffe0a0;border-color:var(--ui-accent);box-shadow:0 0 0 2px #d2803073}.ui-hotpop__slot.locked,.ui-hotpop__slot[disabled]{opacity:.45;cursor:not-allowed}.ui-hotpop__icon{font-size:22px;line-height:1}.ui-hotpop__label{font-size:9px;color:var(--ui-text-muted)}.ui-hotpop__count{font-size:11px;font-weight:700;color:var(--ui-text)}.ui-buildpop__grid{display:flex;flex-direction:column;gap:6px;width:320px}.ui-buildpop__card{display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm)}.ui-buildpop__card.active{border-color:var(--ui-accent);background:#ffe0a0;box-shadow:0 0 0 2px #d2803073}.ui-buildpop__card.locked{opacity:.55}.ui-buildpop__head{display:flex;align-items:center;gap:6px}.ui-buildpop__icon{font-size:24px;line-height:1}.ui-buildpop__name{font-size:14px;font-weight:700;color:var(--ui-text)}.ui-buildpop__sub{font-size:10px;color:var(--ui-text-muted)}.ui-buildpop__cost{font-size:11px;color:var(--ui-text)}.ui-buildpop__cost--total{color:var(--ui-text-muted)}.ui-hotpop--seeds{border-color:var(--ui-accent);border-bottom-color:var(--ui-accent-press);border-right-color:var(--ui-accent-press)}.ui-hotpop--seeds .ui-hotpop__title{color:var(--ui-accent-press)}.ui-dock{position:fixed;bottom:var(--ui-pad);left:50%;transform:translate(-50%);display:flex;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs);background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);z-index:var(--ui-z-hud)}.ui-dock__group{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:2px;border-radius:var(--ui-radius-sm)}.ui-dock__group-label{font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ui-text-muted);text-align:center;margin-bottom:1px}.ui-dock__group-row{display:flex;gap:var(--ui-pad-xs)}.ui-dock__group[data-group=plot]{background:#7ac85029}.ui-dock__group[data-group=prep]{background:#a074482e}.ui-dock__group[data-group=plant]{background:#7ac85029}.ui-dock__group[data-group=reap]{background:#e8c0402e}.ui-dock__group[data-group=gather]{background:#78788433}.ui-dock__group[data-group=logistics]{background:#4a8ac82e}.ui-dock__group[data-group=build]{background:#d280302e}.ui-dock__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:60px;padding:var(--ui-pad-xs) var(--ui-pad-sm);background:var(--ui-bg-cream);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-family:var(--ui-font);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:transform .06s,background .1s}.ui-dock__btn:hover{background:#fff4d6;transform:translateY(-1px)}.ui-dock__btn.active{background:var(--ui-accent);color:var(--ui-text-inv);border-color:var(--ui-accent-press);box-shadow:var(--ui-inset-hi)}.ui-dock__btn:disabled{opacity:.4;cursor:not-allowed}.ui-dock__icon{font-size:28px;line-height:1}.ui-dock__name{font-size:9px}.ui-dock__divider{width:2px;background:var(--ui-border-2);margin:4px 2px;opacity:.5}.ui-corner{position:fixed;top:var(--ui-pad);right:var(--ui-pad);display:flex;gap:var(--ui-pad-xs);z-index:var(--ui-z-hud)}.ui-corner__btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);cursor:pointer;font-size:22px;box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi)}.ui-corner__btn:hover{background:#fff4d6}.ui-corner__btn--gap{margin-left:12px}.ui-zones{position:fixed;top:var(--ui-pad);right:var(--ui-pad);bottom:var(--ui-pad);width:320px;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);padding:12px;z-index:var(--ui-z-panel);display:flex;flex-direction:column;gap:10px;overflow-y:auto;pointer-events:auto}.ui-zones[hidden]{display:none}.ui-zones__head{display:flex;align-items:center;justify-content:space-between}.ui-zones__title{font:700 16px/1 ui-monospace,Consolas,monospace;color:var(--ui-bg-dark);letter-spacing:.04em}.ui-zones__close{background:transparent;border:0;font-size:22px;line-height:1;color:var(--ui-bg-dark);cursor:pointer;padding:0 6px}.ui-zones__close:hover{color:#b04000}.ui-zones__tip{font-size:11px;line-height:1.4;color:#6a5030;background:#ffe8b48c;padding:6px 8px;border-radius:6px}.ui-zones__empty{font-size:12px;color:#6a5030;text-align:center;padding:16px 8px;font-style:italic}.ui-zones__list{display:flex;flex-direction:column;gap:8px}.ui-zones__list:empty{display:none}.ui-zone-new-btn{display:block;width:100%;background:linear-gradient(180deg,#6ac038,#4a8a20);color:#fff2d4;border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-radius:6px;padding:10px 12px;font-weight:700;font-size:13px;cursor:pointer;text-align:center;letter-spacing:.02em}.ui-zone-new-btn:hover{filter:brightness(1.1)}.ui-zone-new{background:#ffe8b4bf;border:2px dashed var(--ui-border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px}.ui-zone-new__title{font:700 13px/1 ui-monospace,Consolas,monospace;color:var(--ui-bg-dark)}.ui-zone-new__tip{font-size:11px;color:#6a5030;line-height:1.3}.ui-zone-new__name{border:2px solid var(--ui-border);border-radius:4px;padding:4px 6px;font:600 12px ui-monospace,Consolas,monospace;width:100%;background:#fff8e8}.ui-zone-new__count{font-size:11px;color:#6a5030;font-weight:600}.ui-zone-new__actions,.ui-zone-card__actions{display:flex;gap:6px;flex-wrap:wrap}.ui-zone-card{background:#fff8e8;border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.ui-zone-card:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000002e}.ui-zone-card--selected{border-color:#c87830;background:#ffe8b8;box-shadow:0 0 0 2px #f0a050 inset,0 4px 8px #0000002e}.ui-zone-card__head{display:flex;align-items:center;gap:6px}.ui-zone-card__icon{font-size:18px}.ui-zone-card__name{flex:1;border:0;background:transparent;font:700 13px ui-monospace,Consolas,monospace;color:var(--ui-bg-dark);padding:2px 4px;border-radius:3px}.ui-zone-card__name:focus{outline:0;background:#fff;box-shadow:inset 0 0 0 2px var(--ui-border)}.ui-zone-card__meta{font-size:11px;color:#6a5030;font-weight:600}.ui-zone-card__hint{font-size:11px;color:#b04000;font-style:italic;background:#ffc87880;padding:4px 6px;border-radius:4px}.ui-zone-card__btn{flex:1;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:4px;padding:4px 8px;font:600 11px ui-monospace,Consolas,monospace;color:var(--ui-bg-dark);cursor:pointer;letter-spacing:.02em}.ui-zone-card__btn:hover{background:#fff2d4}.ui-zone-card__btn:disabled{opacity:.45;cursor:not-allowed}.ui-zone-card__btn--primary{background:linear-gradient(180deg,#f8d878,#d8a040);color:var(--ui-bg-dark)}.ui-zone-card__btn--primary:hover{filter:brightness(1.05)}.ui-zone-card__btn--accent{background:linear-gradient(180deg,#f0a050,#c06028);color:#fff2d4}.ui-zone-card__btn--danger{background:linear-gradient(180deg,#e87060,#b04030);color:#fff2d4}.ui-zone-cursor{position:fixed;transform:translate(-50%,-50%);font:900 18px/1 ui-monospace,Consolas,monospace;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;pointer-events:none;user-select:none;z-index:var(--ui-z-hud);text-shadow:0 1px 2px rgba(0,0,0,.7);box-shadow:0 2px 5px #00000080,0 0 0 2px #ffffffd9 inset}.ui-zone-cursor[hidden]{display:none}.ui-zone-banner{position:fixed;transform:translate(-50%,-100%);background:#1c0e02d9;color:#fff2d4;border:2px solid #f0a050;border-radius:6px;padding:4px 10px;font:700 13px/1 ui-monospace,Consolas,monospace;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.7);box-shadow:0 3px 8px #00000080;pointer-events:none;user-select:none;z-index:var(--ui-z-hud);white-space:nowrap}.ui-zone-banner[hidden]{display:none}.ui-zone-cursor--remove{background:radial-gradient(circle,#ff8060,#c83030 70%,#6a1010);color:#fff}.ui-zone-cursor--add{background:radial-gradient(circle,#b8ff80,#4adc4a 60%,#1a6010);color:#fff}body.zones-mode #ui-root>.ui-energybar,body.zones-mode #ui-root>.ui-tripbar,body.zones-mode #ui-root>.ui-objective,body.zones-mode .ui-panel-host,body.zones-mode .ui-actions,body.zones-mode .ui-storagebar{opacity:.35;filter:grayscale(.4);pointer-events:none}.ui-fps{position:fixed;bottom:var(--ui-pad);left:var(--ui-pad);display:flex;flex-direction:column;gap:2px;padding:5px 9px;background:#1c0e029e;border:1px solid rgba(255,242,212,.18);border-radius:var(--ui-radius);color:#fff2d4;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px;line-height:1.15;letter-spacing:.02em;z-index:var(--ui-z-hud);pointer-events:none;user-select:none;min-width:142px;transition:border-color .2s ease,background .2s ease}.ui-fps__row{display:flex;align-items:baseline;gap:4px}.ui-fps__num{font-weight:700;font-size:15px;min-width:22px;text-align:right}.ui-fps__unit{opacity:.65;font-size:10px}.ui-fps__ms{opacity:.55;font-size:11px;margin-left:4px}.ui-fps__lbl{opacity:.55;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em}.ui-fps__val{font-weight:600;font-size:11px;min-width:28px;text-align:left;opacity:.92}.ui-fps__warn{margin-left:auto;font-size:10px;color:#ffb060;font-weight:700}.ui-fps__warn[hidden]{display:none}.ui-fps[data-tier=good] .ui-fps__num{color:#8be080}.ui-fps[data-tier=mid] .ui-fps__num{color:#f0c860}.ui-fps[data-tier=bad] .ui-fps__num{color:#ff8060}.ui-fps.warn{border-color:#ff9040;background:#461400c7;box-shadow:0 0 12px #ff904059}.ui-plotpanel{position:fixed;top:calc(var(--ui-pad) + 56px);left:50%;transform:translate(-50%);width:340px;background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);padding:8px 10px 10px;pointer-events:none;z-index:var(--ui-z-hud)}.ui-plotpanel[hidden]{display:none}.ui-plotpanel__head{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(108,70,28,.25);margin-bottom:6px}.ui-plotpanel__icon{font-size:16px;flex-shrink:0}.ui-plotpanel__name{flex:1;font:700 13px ui-monospace,Consolas,monospace;color:var(--ui-bg-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-plotpanel__meta{font:600 10px/1 ui-monospace,Consolas,monospace;color:var(--ui-text-muted);letter-spacing:.03em}.ui-plotpanel__bars{display:flex;flex-direction:column;gap:5px}.ui-plotbars{display:none}.ui-plotbar{position:relative;height:22px;padding:3px;background:#1c0e02c7;border:2px solid rgba(255,242,212,.32);border-radius:10px;box-shadow:0 3px 8px #00000073;overflow:hidden}.ui-plotbar__fill{width:0%;height:100%;border-radius:6px;transition:width .24s cubic-bezier(.16,1,.3,1)}.ui-plotbar__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 11px/1 ui-monospace,SF Mono,Consolas,monospace;color:#fff2d4;text-shadow:0 1px 1px rgba(0,0,0,.75);letter-spacing:.04em}.ui-plotbar--till .ui-plotbar__fill{background:linear-gradient(180deg,#c8945a,#8a5a2a)}.ui-plotbar--water .ui-plotbar__fill{background:linear-gradient(180deg,#7ec0ff,#3a78d8)}.ui-plotbar--seed .ui-plotbar__fill{background:linear-gradient(180deg,#b8e070,#5a9028)}.ui-plotbar--burst{animation:ui-plotbar-burst .6s cubic-bezier(.34,1.56,.64,1)}@keyframes ui-plotbar-burst{0%{transform:scale(1);box-shadow:0 3px 8px #00000073}35%{transform:scale(1.06);box-shadow:0 0 18px 6px #ffe8a0a6}to{transform:scale(1);box-shadow:0 3px 8px #00000073}}.ui-tilebars{position:fixed;inset:0;pointer-events:none;z-index:var(--ui-z-hud)}.ui-tilebar{position:absolute;transform:translate(-50%,-100%);width:78px;height:14px;padding:2px;background:#1c0e02c7;border:1.5px solid rgba(255,242,212,.32);border-radius:8px;box-shadow:0 2px 6px #00000073;transition:opacity .12s linear;will-change:transform,left,top,opacity;pointer-events:none}.ui-tilebar__fill{width:0%;height:100%;border-radius:5px;transition:width .18s cubic-bezier(.16,1,.3,1)}.ui-tilebar__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 9px/1 ui-monospace,SF Mono,Consolas,monospace;color:#fff2d4;text-shadow:0 1px 1px rgba(0,0,0,.75);letter-spacing:.04em}.ui-tilebar--till .ui-tilebar__fill{background:linear-gradient(180deg,#c8945a,#8a5a2a)}.ui-tilebar--water .ui-tilebar__fill{background:linear-gradient(180deg,#7ec0ff,#3a78d8)}.ui-tilebar--seed .ui-tilebar__fill{background:linear-gradient(180deg,#b8e070,#5a9028)}.ui-tilebar--burst{animation:ui-tilebar-burst .52s cubic-bezier(.34,1.56,.64,1)}@keyframes ui-tilebar-burst{0%{transform:translate(-50%,-100%) scale(1);box-shadow:0 2px 6px #00000073}35%{transform:translate(-50%,-100%) scale(1.18);box-shadow:0 0 14px 4px #ffe8a08c}to{transform:translate(-50%,-100%) scale(1);box-shadow:0 2px 6px #00000073}}.ui-panel-host{position:fixed;top:76px;right:var(--ui-pad);width:360px;max-height:calc(100vh - 160px);z-index:var(--ui-z-panel);pointer-events:none;display:flex;flex-direction:column}.ui-panel{background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);pointer-events:auto;overflow:hidden;display:flex;flex-direction:column;max-height:100%;flex:1 1 auto;min-height:0;animation:ui-panel-in .18s ease-out}@keyframes ui-panel-in{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}.ui-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-pad-sm) var(--ui-pad);background:var(--ui-bg-dark);color:var(--ui-text-inv);flex-shrink:0}.ui-panel__title{font-size:var(--ui-font-size);font-weight:700;letter-spacing:1px;text-transform:uppercase}.ui-panel__close{width:24px;height:24px;background:transparent;border:none;color:var(--ui-text-inv);font-size:20px;line-height:1;cursor:pointer;padding:0}.ui-panel__close:hover{color:var(--ui-coin)}.ui-panel__body{padding:var(--ui-pad);overflow-y:auto;flex:1}.ui-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs) 0}.ui-row+.ui-row{border-top:1px dashed var(--ui-border-2)}.ui-section{margin-bottom:var(--ui-pad)}.ui-section__title{font-size:var(--ui-font-sm);font-weight:700;text-transform:uppercase;color:var(--ui-text-muted);margin-bottom:var(--ui-pad-xs);letter-spacing:1px}.ui-bar{width:100%;height:14px;background:var(--ui-bg-dark);border-radius:3px;overflow:hidden;position:relative}.ui-bar__fill{height:100%;background:var(--ui-accent);transition:width .3s ease}.ui-bar__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ui-text-inv);font-size:10px;font-weight:700}.ui-btn{padding:var(--ui-pad-xs) var(--ui-pad);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-family:var(--ui-font);font-size:var(--ui-font-sm);font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.ui-btn:hover{background:#fff4d6}.ui-btn:disabled{opacity:.4;cursor:not-allowed}.ui-btn--primary{background:var(--ui-accent);color:var(--ui-text-inv);border-color:var(--ui-accent-press)}.ui-btn--primary:hover{background:var(--ui-accent-hi)}.ui-btn--danger{background:var(--ui-danger);color:var(--ui-text-inv);border-color:#802018}.ui-btn--block{display:block;width:100%;margin-top:var(--ui-pad-sm)}.ui-tip{margin-top:var(--ui-pad-sm);padding:var(--ui-pad-sm);background:var(--ui-bg-cream-2);border-left:3px solid var(--ui-warn);font-size:var(--ui-font-sm);color:var(--ui-text-muted)}.ui-warn{margin-top:var(--ui-pad-sm);padding:var(--ui-pad-sm);background:#c0403026;border-left:3px solid var(--ui-danger);font-size:var(--ui-font-sm);color:var(--ui-text)}.ui-card{display:grid;grid-template-columns:56px 1fr auto;gap:var(--ui-pad-sm);align-items:center;padding:var(--ui-pad-sm);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);cursor:pointer;margin-bottom:var(--ui-pad-xs);transition:transform .06s,border-color .1s}.ui-card:hover{transform:translate(2px)}.ui-card.active{border-color:var(--ui-accent);background:#ffe6c0;box-shadow:0 0 0 1px var(--ui-accent)}.ui-card.locked{opacity:.55;cursor:not-allowed}.ui-card__icon{font-size:40px;width:56px;text-align:center}.ui-card__title{font-weight:700;font-size:var(--ui-font-size);color:var(--ui-text);text-transform:uppercase;letter-spacing:1px}.ui-card__sub{font-size:var(--ui-font-sm);color:var(--ui-text-muted);margin-top:2px}.ui-card__cost{font-family:var(--ui-font);font-size:var(--ui-font-sm);white-space:nowrap;background:var(--ui-bg-dark);color:var(--ui-coin);padding:2px 6px;border-radius:2px}.ui-stepper{display:grid;grid-template-columns:1fr auto 32px 26px 32px 26px 32px;align-items:center;gap:4px;padding:var(--ui-pad-sm);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);margin-bottom:var(--ui-pad-xs)}.ui-stepper.locked{opacity:.55}.ui-stepper__label{font-weight:700}.ui-stepper__cost{font-size:var(--ui-font-sm);color:var(--ui-text-muted);padding-right:4px}.ui-stepper__qty{text-align:center;font-weight:700;font-size:var(--ui-font-lg)}.ui-stepper__btn{height:28px;padding:0;background:var(--ui-bg-cream);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:14px;font-weight:700;cursor:pointer}.ui-stepper__btn[data-delta$="10"]{font-size:11px}.ui-stepper__btn:hover{background:#fff4d6}.ui-stepper__btn:disabled{opacity:.3;cursor:not-allowed}.ui-cargo{display:grid;grid-template-columns:1.4fr auto;grid-template-rows:auto auto;align-items:center;gap:var(--ui-pad-xs) var(--ui-pad-sm);padding:var(--ui-pad-sm);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);margin-bottom:var(--ui-pad-xs)}.ui-cargo__label{font-weight:700;display:flex;align-items:center;gap:4px}.ui-cargo__counts{font-size:10px;color:var(--ui-text-muted);text-align:right;line-height:1.4}.ui-cargo__price{font-size:10px;color:#c8a850;margin-left:6px;font-weight:400}.ui-cargo__sub{color:#c8a850}.ui-row--accent{background:#c8a8501f;padding:6px 8px;border-radius:4px;margin-top:4px}.ui-row--accent strong:last-child{color:#f4d03f}.ui-cargo__btns{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--ui-pad-xs)}.ui-cargo__btn{height:28px;flex:1 1 auto;min-width:70px;background:var(--ui-bg-cream);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-family:var(--ui-font);font-size:10px;font-weight:700;cursor:pointer;padding:0 6px}.ui-cargo__btn:hover{background:#fff4d6}.ui-cargo__btn:disabled{opacity:.3;cursor:not-allowed}.ui-unlock{display:flex;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs) 0;font-size:var(--ui-font-sm)}.ui-unlock__dot{width:10px;height:10px;border:2px solid var(--ui-border-2);border-radius:50%;background:transparent;flex-shrink:0}.ui-unlock.done .ui-unlock__dot{background:var(--ui-coin);border-color:var(--ui-accent-press)}.ui-unlock.done{color:var(--ui-success);font-weight:700}#float-layer{position:fixed;inset:0;pointer-events:none;z-index:var(--ui-z-toast)}.float-item.glyph{position:absolute;width:32px;height:32px;font-size:24px;pointer-events:none;transform:translate(-50%,-50%)}.float-text{position:absolute;font-family:var(--ui-font);font-weight:700;font-size:16px;transform:translate(-50%);pointer-events:none;text-shadow:1px 1px 0 rgba(0,0,0,.6)}.float-icon{width:34px;height:34px}.float-icon .ui-icon-img{width:34px;height:34px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.45))}.ui-hint{position:fixed;bottom:calc(var(--ui-pad) + 36px);left:var(--ui-pad);max-width:240px;padding:5px 10px;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-text);font-weight:600;font-size:11px;line-height:1.3;box-shadow:var(--ui-shadow);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;pointer-events:none;z-index:var(--ui-z-toast)}.ui-hint.show{opacity:1;transform:translateY(0)}.ui-hint.warn{background:#c04030f2;color:var(--ui-text-inv);border-color:#802018}.ui-tripbar{position:fixed;top:62px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:auto 220px auto;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs) var(--ui-pad-sm);background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:24px;box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);z-index:var(--ui-z-hud)}.ui-tripbar__icon{font-size:22px;line-height:1}.ui-tripbar__icon .ui-icon-img,.ui-tripbar__dot .ui-icon-img{width:24px;height:24px}.ui-tripbar__track{position:relative;width:220px;height:10px;background:var(--ui-bg-dark);border-radius:5px;overflow:visible}.ui-tripbar__fill{position:absolute;inset:0;width:0%;background:var(--ui-accent);border-radius:5px;transition:width .2s ease-out}.ui-tripbar[data-tone=idle] .ui-tripbar__fill{background:var(--ui-border-2)}.ui-tripbar[data-tone=loading] .ui-tripbar__fill{background:var(--ui-warn)}.ui-tripbar[data-tone=returning] .ui-tripbar__fill{background:var(--ui-success)}.ui-tripbar__dot{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);font-size:22px;line-height:1;text-shadow:0 2px 2px rgba(0,0,0,.35);transition:left .25s ease-out,transform .18s ease-out;z-index:1}.ui-tripbar__dot--snap{transition:none!important}.ui-tripbar[data-tone=loading]{animation:ui-tripbar-pulse 1.1s ease-in-out infinite}@keyframes ui-tripbar-pulse{0%,to{box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi),0 0 #d8a8308c}50%{box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi),0 0 0 6px #d8a83000}}.ui-tripbar__label{grid-column:1 / -1;text-align:center;font-size:var(--ui-font-sm);color:var(--ui-text-muted);font-weight:700;margin-top:2px}.ui-objective{position:fixed;top:120px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-xs) var(--ui-pad);background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow-soft);font-size:var(--ui-font-sm);color:var(--ui-text);max-width:60vw;z-index:var(--ui-z-hud)}.ui-objective__star,.ui-objective__star .ui-icon-img{width:18px;height:18px}.ui-objective__label{font-weight:700;color:var(--ui-accent)}.ui-objective.warn{background:#d8a830f2}body.plot-mode .ui-tripbar,body.plot-mode .ui-objective,body.plot-mode .ui-actionsbar,body.plot-mode .ui-invtoggle,body.plot-mode .ui-energybar,body.plot-mode .ui-panel-host{display:none!important}body.plot-mode .ui-infocard{right:auto;left:var(--ui-pad)}body.plot-mode:before{content:"PLOT MODE";position:fixed;top:var(--ui-pad);left:var(--ui-pad);z-index:var(--ui-z-hud);padding:6px var(--ui-pad);background:var(--ui-accent);color:#fff;border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);font-family:var(--ui-font);font-size:var(--ui-font-size);font-weight:700;letter-spacing:1px;box-shadow:var(--ui-shadow-soft)}.ui-plottools{position:fixed;bottom:90px;left:var(--ui-pad);z-index:var(--ui-z-hud);display:flex;gap:var(--ui-pad-sm);pointer-events:auto}.ui-plottools__rack{background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);padding:4px 6px 6px}.ui-plottools__title{font-size:var(--ui-font-sm);color:var(--ui-text-muted);font-weight:700;margin-bottom:4px}.ui-plottools__row{display:flex;gap:4px}.ui-plottools__slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;min-width:56px;background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius-sm);font-family:var(--ui-font);font-size:var(--ui-font-sm);font-weight:700;color:var(--ui-text);cursor:pointer}.ui-plottools__slot:hover{background:#fff4d6}.ui-plottools__slot.active{background:#ffe0a0;border-color:var(--ui-accent);box-shadow:0 0 0 2px #d2803066}.ui-plottools__slot.locked{opacity:.45;cursor:not-allowed}.ui-plottools__glyph{font-size:26px;line-height:1}.ui-plottools__label{white-space:nowrap;font-size:11px}.ui-plottools__group{display:flex;flex-direction:column;gap:2px;padding:3px 4px 4px;border-radius:var(--ui-radius-sm)}.ui-plottools__group-label{font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ui-text-muted);text-align:center}.ui-plottools__group-row{display:flex;gap:4px}.ui-plottools__group[data-group=hand]{background:#b4b4b429}.ui-plottools__group[data-group=prep]{background:#a074482e}.ui-plottools__group[data-group=plant]{background:#7ac85029}.ui-plottools__group[data-group=reap]{background:#e8c0402e}.ui-plottools__group[data-group=gather]{background:#78788433}.ui-plotprog{min-width:220px}.ui-plotprog__row{display:grid;grid-template-columns:70px 1fr 50px;align-items:center;gap:6px;font-size:var(--ui-font-sm);color:var(--ui-text);margin:2px 0}.ui-plotprog__bar{height:10px;background:var(--ui-bg-dark);border-radius:2px;overflow:hidden;border:1px solid var(--ui-border)}.ui-plotprog__fill{height:100%;transition:width .18s ease}.ui-plotprog__count{text-align:right;font-weight:700;color:var(--ui-text)}.ui-timew{position:fixed;top:var(--ui-pad);left:50%;transform:translate(-50%);z-index:var(--ui-z-hud);display:inline-flex;align-items:center;gap:var(--ui-pad-sm);padding:6px var(--ui-pad);background:var(--ui-bg-cream);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);font-family:var(--ui-font);font-size:var(--ui-font-size);font-weight:700;color:var(--ui-text)}.ui-timew[data-phase=night]{background:#d8c89a;color:#2a2010}.ui-timew[data-phase=twilight]{background:#ecd9a8}.ui-timew__sun,.ui-timew__sun .ui-icon-img{width:22px;height:22px}.ui-timew__clock{font-variant-numeric:tabular-nums;min-width:50px;text-align:center}.ui-timew__sep{color:var(--ui-text-muted);opacity:.7}.ui-timew__day{color:var(--ui-text-muted)}.ui-timew__season{color:var(--ui-text);display:inline-flex;align-items:center;gap:4px}.ui-timew__season .ui-icon-img,.ui-infocard__season .ui-icon-img{width:18px;height:18px}.ui-exitplot{position:fixed;top:var(--ui-pad);right:var(--ui-pad);z-index:var(--ui-z-modal);display:inline-flex;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-sm) var(--ui-pad);background:var(--ui-bg-cream);color:var(--ui-text);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);font-family:var(--ui-font);font-size:var(--ui-font-size);font-weight:700;cursor:pointer}.ui-exitplot:hover{background:var(--ui-bg-cream-2)}.ui-exitplot kbd{padding:1px 6px;background:var(--ui-bg-dark);color:var(--ui-text-inv);border-radius:var(--ui-radius-sm);font-family:var(--ui-font);font-size:var(--ui-font-sm)}.ui-zoom-exit{position:fixed;top:var(--ui-pad);left:50%;transform:translate(-50%);z-index:var(--ui-z-modal);display:inline-flex;align-items:center;gap:var(--ui-pad-sm);padding:var(--ui-pad-sm) var(--ui-pad);background:var(--ui-bg-cream);color:var(--ui-text);border:3px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow),var(--ui-inset-hi);font-family:var(--ui-font);font-size:var(--ui-font-size);font-weight:700;cursor:pointer;animation:ui-zoom-exit-in .2s cubic-bezier(.2,.7,.3,1.2)}.ui-zoom-exit:hover{background:var(--ui-bg-cream-2)}.ui-zoom-exit:active{transform:translate(-50%) translateY(1px)}.ui-zoom-exit kbd{padding:1px 6px;background:var(--ui-bg-dark);color:var(--ui-text-inv);border-radius:var(--ui-radius-sm);font-family:var(--ui-font);font-size:var(--ui-font-sm)}@keyframes ui-zoom-exit-in{0%{transform:translate(-50%) translateY(-12px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.ui-mill-cards{display:flex;flex-direction:column;gap:var(--ui-pad-sm);margin:var(--ui-pad-sm) 0}.ui-mill-card{padding:var(--ui-pad-sm);background:var(--ui-bg-cream-2);border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);display:flex;flex-direction:column;gap:var(--ui-pad-xs)}.ui-mill-card__head{display:flex;align-items:center;gap:6px;font-weight:700;font-size:var(--ui-font-sm)}.ui-mill-card__icon{font-size:1.2em}.ui-mill-card__title{letter-spacing:.5px;text-transform:uppercase}.ui-mill-stepper{display:flex;align-items:center;gap:4px;margin:var(--ui-pad-xs) 0}.ui-mill-stepper__btn{padding:2px 6px;font-size:var(--ui-font-sm);min-width:32px}.ui-mill-stepper__input{flex:1;min-width:0;padding:4px 6px;background:#fff;border:2px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);font-family:var(--ui-font);font-size:var(--ui-font-sm);text-align:center;color:var(--ui-text)}.ui-mill-stepper__input::-webkit-outer-spin-button,.ui-mill-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-mill-stepper__input{-moz-appearance:textfield}.ui-mill-queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ui-mill-q-item{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--ui-bg-cream-2);border-left:3px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);font-size:var(--ui-font-sm)}.ui-mill-q-item--active{border-left-color:var(--ui-accent);background:#c8a8502e}.ui-mill-q-icon{font-size:1.1em}.ui-mill-q-qty{font-weight:700;min-width:36px}.ui-mill-q-status{color:var(--ui-text-muted);flex:1;text-align:right}.ui-settings__section{margin-top:var(--ui-pad-sm);padding:var(--ui-pad-sm) var(--ui-pad);background:var(--ui-bg-cream-2);border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border-2)}.ui-settings__section:first-child{margin-top:0}.ui-settings__section-title{font-size:var(--ui-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-muted);margin-bottom:6px;font-weight:700}.ui-settings__row{display:flex;align-items:center;gap:8px;margin:6px 0}.ui-settings__row label{flex:0 0 auto;min-width:100px;font-size:var(--ui-font-sm)}.ui-settings__value{flex:0 0 auto;min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ui-text);font-weight:600;font-size:var(--ui-font-sm)}.ui-settings__slider{-webkit-appearance:none;appearance:none;flex:1 1 auto;height:6px;border-radius:3px;background:var(--ui-bg-cream);border:1px solid var(--ui-border-2);outline:none;cursor:pointer}.ui-settings__slider:disabled{opacity:.4;cursor:not-allowed}.ui-settings__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ui-accent);border:2px solid var(--ui-accent-press);cursor:pointer}.ui-settings__slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ui-accent);border:2px solid var(--ui-accent-press);cursor:pointer}.ui-settings__toggle{display:flex;align-items:center;gap:10px;width:100%;background:var(--ui-bg-cream);border:1px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);padding:6px 8px;margin:4px 0;cursor:pointer;font:inherit;color:var(--ui-text);text-align:left}.ui-settings__toggle:hover{background:#fff4d6}.ui-settings__toggle-pill{flex:0 0 auto;width:32px;height:18px;border-radius:9px;background:var(--ui-border-2);position:relative;transition:background .12s ease}.ui-settings__toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .12s ease;box-shadow:0 1px 2px #0003}.ui-settings__toggle.on .ui-settings__toggle-pill{background:var(--ui-accent)}.ui-settings__toggle.on .ui-settings__toggle-knob{left:16px}.ui-settings__toggle-label{flex:1 1 auto;font-size:var(--ui-font-sm)}.ui-settings__toggle-state{flex:0 0 auto;font-size:var(--ui-font-sm);font-weight:700;color:var(--ui-text-muted);min-width:28px;text-align:right}.ui-settings__toggle.on .ui-settings__toggle-state{color:var(--ui-accent-press)}.ui-settings__keys{display:flex;flex-direction:column;gap:4px}.ui-settings__key{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-sm)}.ui-settings__key kbd{display:inline-block;min-width:22px;padding:1px 6px;font-family:Consolas,Menlo,monospace;font-size:.85em;background:var(--ui-bg-cream);border:1px solid var(--ui-border-2);border-bottom-width:2px;border-radius:3px;color:var(--ui-text);text-align:center}.ui-settings__key span{color:var(--ui-text-muted)}.ui-settings__presets{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.ui-settings__preset-chip{flex:1 1 auto;min-width:56px;padding:5px 8px;font:inherit;font-size:var(--ui-font-sm);font-weight:600;background:var(--ui-bg-cream);border:1px solid var(--ui-border-2);border-radius:var(--ui-radius-sm);color:var(--ui-text);cursor:pointer;text-align:center}.ui-settings__preset-chip:hover{background:#fff4d6}.ui-settings__preset-chip.active{background:var(--ui-accent);color:var(--ui-text-inv);border-color:var(--ui-accent-press)}.ui-settings__preset-chip.custom{flex:0 0 auto;cursor:default;background:#c0403026;border-color:#c0403066;color:var(--ui-danger);font-style:italic}.ui-panel.ui-panel--modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:90vh;z-index:201;flex:0 0 auto;animation:ui-modal-in .22s cubic-bezier(.2,.8,.3,1.1)}@keyframes ui-modal-in{0%{transform:translate(-50%,-50%) scale(.94);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.ui-modal-backdrop{position:fixed;inset:0;background:#14100852;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:200;animation:ui-modal-fade .18s ease-out}@keyframes ui-modal-fade{0%{opacity:0}to{opacity:1}}.ui-settings__paused{margin:0 0 var(--ui-pad-sm) 0;padding:6px 10px;text-align:center;font-size:var(--ui-font-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-accent-press);background:#c8a8502e;border:1px solid rgba(200,168,80,.35);border-radius:var(--ui-radius-sm)}.ui-settings-btn{position:fixed;top:var(--ui-pad);left:var(--ui-pad);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);font:inherit;color:var(--ui-text);cursor:pointer;z-index:var(--ui-z-hud)}.ui-settings-btn:hover{background:#fff4d6;transform:translateY(-1px)}.ui-settings-btn:active{transform:translateY(0)}.ui-settings-btn__icon{font-size:22px;line-height:1}.ui-infocard__money-row{display:flex;align-items:center;gap:6px;margin-top:4px}.ui-infocard__money-row .ui-infocard__money{flex:1 1 auto}.ui-infocard__shop{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:4px 8px;font:inherit;font-size:var(--ui-font-sm);font-weight:700;background:var(--ui-accent);color:var(--ui-text-inv);border:2px solid var(--ui-accent-press);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-inset-hi);cursor:pointer;white-space:nowrap}.ui-infocard__shop:hover{background:var(--ui-accent-hi)}.ui-infocard__shop-icon{display:inline-flex;line-height:1}.ui-infocard__shop-icon .ui-icon-img{width:18px;height:18px}.ui-infocard__energy{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:var(--ui-font-sm)}.ui-infocard__energy-icon{font-size:16px;line-height:1}.ui-infocard__energy-track{flex:1 1 auto;height:8px;background:var(--ui-bg-cream-2);border:1px solid var(--ui-border-2);border-radius:4px;overflow:hidden}.ui-infocard__energy-fill{height:100%;background:#4ac440;transition:width .24s ease,background .24s ease}.ui-infocard__energy-value{font-variant-numeric:tabular-nums;font-weight:700;min-width:48px;text-align:right}.ui-controls-card{position:fixed;top:calc(var(--ui-pad) + 200px);right:var(--ui-pad);width:240px;padding:6px 10px 8px;background:var(--ui-bg-cream);border:2px solid var(--ui-border);border-bottom-color:var(--ui-bg-dark);border-right-color:var(--ui-bg-dark);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft),var(--ui-inset-hi);font-family:var(--ui-font);z-index:var(--ui-z-hud)}.ui-controls-card__title{font-size:var(--ui-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-muted);font-weight:700;margin-bottom:4px}.ui-controls-card__keys{display:flex;flex-direction:column;gap:3px}.ui-controls-card__key{display:flex;align-items:center;gap:5px;font-size:var(--ui-font-sm)}.ui-controls-card__key kbd{display:inline-block;min-width:20px;padding:0 5px;font-family:Consolas,Menlo,monospace;font-size:.85em;background:var(--ui-bg-cream-2);border:1px solid var(--ui-border-2);border-bottom-width:2px;border-radius:3px;color:var(--ui-text);text-align:center}.ui-controls-card__key span{flex:1 1 auto;color:var(--ui-text-muted)}body.plot-mode .ui-controls-card{display:none}
