:root{--panel:#141b15d1;--panel-solid:#161d17;--panel-border:#ece8d61a;--text:#eeeadb;--muted:#aab09c;--accent:#e8c26a;--accent-ink:#2a2110;--leaf:#93b77e;--warn:#f0b45a;--danger:#d9654b;--cold:#8fc1ea;--radius:14px;--gap:8px;--pad:10px;--btn:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{overscroll-behavior:none;background:#0b1229;height:100%;margin:0;overflow:hidden}body{color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}#app{position:fixed;inset:0}#app canvas{touch-action:none;cursor:grab;display:block}#app canvas.dragging{cursor:grabbing}body.tool-food #app canvas{cursor:crosshair}#hud{pointer-events:none;gap:var(--gap);padding:calc(env(safe-area-inset-top) + var(--pad)) calc(env(safe-area-inset-right) + var(--pad)) calc(env(safe-area-inset-bottom) + var(--pad)) calc(env(safe-area-inset-left) + var(--pad));box-sizing:border-box;flex-direction:column;display:flex;position:fixed;inset:0}#hud [hidden],#hud.photo>:not(.photo-exit):not(.error-banner){display:none!important}.photo-exit{top:calc(env(safe-area-inset-top) + var(--pad));right:calc(env(safe-area-inset-right) + var(--pad));background:var(--panel);border:1px solid var(--panel-border);opacity:.45;transition:opacity .2s;position:absolute}.photo-exit:hover,.photo-exit:focus-visible{opacity:1}.panel{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:0 6px 22px #00000047}.muted{color:var(--muted)}.small{font-size:12.5px}.warn{color:var(--warn)}.long{display:inline}.short{display:none}.hud-top{align-items:flex-start;gap:var(--gap);display:flex}.topbar{box-sizing:border-box;min-width:0;max-width:820px;padding:6px 8px 7px 12px}.tb-row{align-items:center;gap:6px;min-width:0;display:flex}.tb-clock{white-space:nowrap;grid-template-columns:auto auto;grid-template-areas:"date date""time phase";align-items:baseline;column-gap:8px;margin-right:4px;display:grid}.clock-date{color:var(--muted);grid-area:date;font-size:12.5px}.clock-time{letter-spacing:.02em;grid-area:time;font-size:24px;font-weight:650;line-height:1.05}.clock-phase{color:var(--accent);grid-area:phase;align-items:center;gap:4px;font-size:13px;display:inline-flex}#hud[data-phase=night] .clock-phase{color:#b9c4ec}#hud[data-phase=twilight] .clock-phase{color:#f0a27a}.clock-phase svg,.tb-pill svg{flex:none;width:18px;height:18px;display:block}.tb-pill,.tb-cancel{pointer-events:auto;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;touch-action:manipulation;white-space:nowrap;background:#ece8d614;border-radius:999px;align-items:center;gap:5px;min-height:40px;padding:0 11px 0 9px;font-size:14px;font-weight:600;display:inline-flex}.tb-pill:hover{background:#ffffff1f}.tb-pill:focus-visible,.btn:focus-visible,.chip:focus-visible,.link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tb-speed{color:var(--accent)}.tb-speed-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:inline-flex}.tb-speed-sub{color:var(--muted);font-size:11px;font-weight:500}.tb-speed.advancing{background:#e8c26a2e;border-color:#e8c26a73}.tb-adv{align-items:center;gap:8px;margin-top:3px;display:flex}.tb-adv-sub{min-width:0;color:var(--muted);flex:1}.tb-cancel{min-height:34px;color:var(--warn);padding:0 12px;font-size:13px}.tb-icon{color:var(--leaf);display:flex}.tb-icon-brood{color:#efe3c8;margin-left:4px}.tb-weather-icon{color:var(--accent);display:flex}#hud[data-weather-icon=rain] .tb-weather-icon,#hud[data-weather-icon=heavyRain] .tb-weather-icon{color:var(--cold)}#hud[data-weather-icon=snow] .tb-weather-icon{color:#dbe8f7}#hud[data-weather-icon=cloud] .tb-weather-icon,#hud[data-weather-icon=sunCloud] .tb-weather-icon{color:#c4cbd2}#hud[data-weather-icon=moon] .tb-weather-icon{color:#b9c4ec}.tb-weather-text{color:var(--muted);font-weight:500}.tb-line{align-items:baseline;gap:8px;margin-top:4px;display:flex}.tb-figures{min-width:0;color:var(--text);flex:1;font-size:13px;line-height:1.3}#hud.queen-only .tb-figures{color:var(--accent)}.tb-weather-extra{color:var(--muted);margin-top:2px}.tb-weather-extra .wx-label{display:none}.mock-badge{flex:none}.notices{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.notice{box-sizing:border-box;align-items:center;gap:6px 10px;max-width:min(560px,100%);padding:4px 4px 4px 12px;font-size:14px;line-height:1.35;display:flex}.notice-text{flex:auto;min-width:0}.notice .icon-btn{flex:none;min-width:40px;min-height:40px;font-size:18px}.notice-block{flex-direction:column;align-items:stretch;padding:8px 10px}.error-banner{pointer-events:auto;color:#ffe6de;background:#5c1c14eb;border-color:#ffa08c59;align-self:center;align-items:center;gap:8px;max-width:min(640px,100%);padding:6px 6px 6px 14px;font-size:14px;display:flex}.error-text{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;flex:1}.loading{background:var(--panel);color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:15px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:2px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hud-bottom{align-items:center;gap:var(--gap);flex-direction:column;flex:1 1 0;justify-content:flex-end;min-height:0;display:flex}#hud.sheet-lift .hud-bottom>:not(.toolbar){bottom:var(--sheet-lift,0px);left:var(--sheet-shift,0px);max-width:var(--sheet-strip,100%);position:relative}#hud.sheet-capped .sheet{max-height:var(--sheet-max)!important}.pills{justify-content:center;align-items:flex-end;gap:var(--gap);flex-wrap:wrap;max-width:100%;display:flex}.pill{pointer-events:none;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;padding:7px 14px;font-size:14px}.hint{color:var(--accent)}.speed-warn{color:var(--warn);border-color:#f0b45a66}.toast{box-sizing:border-box;color:#f1dcb8;border-color:#d2b48a59;align-items:center;gap:8px;max-width:min(520px,100%);transition:opacity .35s,transform .35s;animation:.3s ease-out toast-in;display:inline-flex}.toast-text{line-height:1.3}.toast.leaving{opacity:0;transform:translateY(6px)}.toast-icon{color:#d2b48a;display:flex}.toast[data-icon=rain] .toast-icon,.toast[data-icon=heavyRain] .toast-icon,.toast[data-icon=flood] .toast-icon{color:var(--cold)}.toast[data-icon=snow] .toast-icon,.toast[data-icon=cold] .toast-icon{color:#dbe8f7}.toast[data-icon=sun] .toast-icon,.toast[data-icon=milestone] .toast-icon,.toast[data-icon=brood] .toast-icon{color:var(--accent)}.toast-icon svg{width:18px;height:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast{transition:none;animation:none}}.legend{box-sizing:border-box;min-width:230px;max-width:min(420px,100%);padding:7px 12px 6px}.legend-title{color:var(--muted);margin-bottom:4px;font-size:12.5px}.legend-bar{background-color:#3a2a1d;border-radius:5px;height:10px;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.legend-range{box-sizing:border-box;pointer-events:none;border:2px solid #fff;border-radius:4px;min-width:3px;position:absolute;top:-3px;bottom:-3px;box-shadow:0 0 0 1px #0000008c,inset 0 0 0 1px #0000008c}.legend-ticks{height:16px;margin-top:3px;font-size:11.5px;position:relative}.tick{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.tick-start{transform:none}.tick-end{transform:translate(-100%)}.legend-now,.legend-note{color:var(--muted);margin-top:2px;font-size:11.5px}.toolbar{box-sizing:border-box;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 4px;max-width:100%;padding:5px;display:flex}.group{align-items:center;gap:2px;display:flex}.group+.group{border-left:1px solid var(--panel-border);margin-left:2px;padding-left:4px}.group-icon{color:var(--muted);padding:0 4px 0 6px;display:flex}.toolbar button,.icon-btn{pointer-events:auto;font:inherit;color:var(--text);min-width:var(--btn);min-height:var(--btn);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:15px;font-weight:560;transition:background-color .12s,color .12s;display:inline-flex}.toolbar button svg,.icon-btn svg{flex:none;width:20px;height:20px}.toolbar button:hover,.icon-btn:hover{background:#ffffff12}.toolbar button:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar button[aria-pressed=true],.icon-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.toolbar button.tool[aria-pressed=true]{background:var(--leaf);color:#172312}.narrow-only{display:none}.weather-chips,.overlay-chips{box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%;padding:5px;animation:.2s ease-out toast-in;display:flex}.chip{pointer-events:auto;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;touch-action:manipulation;background:#ffffff0f;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 14px 0 10px;font-size:14px;font-weight:560;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.chip-small{min-height:34px;padding:0 10px;font-size:13px}.chip svg{width:20px;height:20px;color:var(--cold);flex:none}.chip[data-weather=sun] svg{color:var(--accent)}.chip[data-weather=snow] svg,.chip[data-weather=coldSnap] svg{color:#dbe8f7}.chip:hover{background:#ffffff24}.chip:active{background:var(--accent);color:var(--accent-ink)}.btn{pointer-events:auto;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;touch-action:manipulation;background:#ffffff14;border-radius:10px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600}.btn:hover{background:#ffffff26}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.link{pointer-events:auto;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:32px;padding:4px 2px;text-decoration:underline}.btn-row,.jump-row,.opt-row{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.badge{color:var(--text);vertical-align:middle;background:#ece8d61f;border-radius:999px;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-block}.badge-queen{color:var(--accent);background:#e8c26a40}.badge-callow{color:#f1e8d2;background:#d6bf904d}.badge-nanitic{color:var(--leaf);background:#93b77e40}.badge-cold{color:var(--cold);background:#8fc1ea38}.badge-warn{color:var(--warn);background:#f0b45a38}.badge-note{color:var(--text);background:0 0;border:1px dashed #ece8d6b3}.sheet{z-index:5;background:var(--panel-solid);left:calc(env(safe-area-inset-left) + var(--pad));bottom:calc(env(safe-area-inset-bottom) + var(--pad) + 62px);width:360px;max-width:calc(100vw - 2 * var(--pad));overscroll-behavior:contain;box-sizing:border-box;-webkit-user-select:text;user-select:text;max-height:62vh;padding:4px 12px 12px;font-size:14px;animation:.18s ease-out sheet-in;position:fixed;overflow-y:auto}.sheet:not([data-kind=card]){left:auto;right:calc(env(safe-area-inset-right) + var(--pad));width:420px;max-height:72vh}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}.sheet-grip{background:#ece8d64d padding-box content-box;border-radius:10px;width:40px;height:4px;margin:0 auto;padding:8px 20px;display:none}.sheet-grip,.sheet-head,.card-head{touch-action:none}.sheet-head,.card-head{background:var(--panel-solid);z-index:1;align-items:center;gap:4px;padding-top:4px;display:flex;position:sticky;top:-4px}.sheet-title,.card-title{flex:1;font-size:16px;font-weight:650}.sheet .icon-btn{min-width:40px;min-height:40px;font-size:18px}.sheet [data-action=follow]{font-size:13.5px}.sheet h3{color:var(--muted);text-transform:none;margin:12px 0 4px;font-size:13px;font-weight:650}.sheet p{margin:6px 0;line-height:1.4}.sheet dl{grid-template-columns:auto 1fr;gap:3px 12px;margin:6px 0;display:grid}.sheet dt{color:var(--muted)}.sheet dd{margin:0}.badges{flex-wrap:wrap;gap:4px;margin:2px 0 4px;display:flex}.bar{vertical-align:middle;background:#ece8d629;border-radius:4px;width:80px;height:7px;display:inline-block;overflow:hidden}.bar>span{background:var(--leaf);height:100%;display:block}.card-life{font-size:13px}details>summary{cursor:pointer;color:var(--accent);min-height:28px;padding:6px 0}.pile-group{margin:6px 0}.pile-title{color:var(--muted);margin-bottom:3px;font-size:13px}.pile-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pile-more{color:var(--muted);padding:0 4px;font-size:13px}.speed-row{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.speed-row button{pointer-events:auto;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:#ffffff12;border-radius:10px;min-width:52px;min-height:42px;padding:0 8px;font-size:14px;font-weight:600}.speed-row button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.advance-box{background:#e8c26a1f;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin:8px 0;padding:8px 10px;display:grid}.advance-box .btn{grid-area:1/2/span 2}.advance-main{font-weight:650}.targets{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.target{pointer-events:auto;width:100%;font:inherit;color:var(--text);text-align:left;border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 10px;min-height:44px;padding:6px 10px;font-size:14px;display:flex}.target:hover:not(:disabled){background:#ffffff21}.target:disabled{opacity:.5;cursor:default}.target-fc{color:var(--muted);font-size:13px}.cells{grid-template-columns:repeat(4,1fr);gap:4px;margin:6px 0;display:grid}.cell{background:#ffffff0d;border-radius:8px;flex-direction:column;align-items:center;padding:5px 2px;display:flex}.cell-value{font-size:17px;font-weight:650}.cell-label{color:var(--muted);font-size:11.5px}.chart{width:100%;height:auto;display:block}.chart-grid{stroke:#ece8d61f;stroke-width:1px}.chart-axis,.chart-band,.chart-empty{fill:var(--muted);font-size:10px}.chart-band{font-size:9.5px}.chart-legend .key{vertical-align:middle;width:14px;height:3px;margin:0 4px 2px 0;display:inline-block}.chart-legend .key-dash{border-top:2px dashed;height:0;margin-left:8px}.milestones{margin:0;padding:0;list-style:none}.milestones li{border-bottom:1px solid var(--panel-border);justify-content:space-between;gap:8px;padding:3px 0;display:flex}.scenario-card{border:1px solid var(--panel-border);background:#ffffff0d;border-radius:12px;margin:8px 0;padding:8px 10px}.scenario-card.current{border-color:#e8c26a73}.scenario-card h3{color:var(--text);margin:2px 0;font-size:15px}.legend-list ul{margin:4px 0;padding:0;list-style:none}.legend-list li{align-items:center;gap:8px;padding:3px 0;display:flex}.swatch{border-radius:6px;flex:none;width:20px;height:12px;display:inline-block}.swatch-egg{background:#f1e8d2;width:9px;height:7px}.swatch-larva{background:#efe6cf;border-radius:10px 10px 4px}.swatch-cocoon{background:linear-gradient(#ecdcb8,#a98d5f)}.swatch-callow{background:#b08c64}.swatch-nanitic{background:#1d1510;width:14px;height:7px;box-shadow:0 0 0 1px #ffeed099}.swatch-diapause{background:#9cc3ea;width:12px;height:12px}.swatch-hungry{box-sizing:border-box;border:3px solid #f0b45a;width:12px;height:12px}.swatch-corpse{background:#241a12;box-shadow:0 0 0 1px #ffeed066}.swatch-refuse{background:#d6bf90bf;border-radius:3px}.swatch-built{background:radial-gradient(circle at 30% 40%,#6a5038 25%,#0000 26%),radial-gradient(circle at 70% 60%,#5c4430 25%,#0000 26%),#3e2c1e;border-radius:3px}.swatch-placeholder{box-sizing:border-box;background:radial-gradient(circle,#d8a53a 30%,#0000 32%);border:2px dashed #ffffffe6;border-radius:50%}.seed code{-webkit-user-select:all;user-select:all}@media (max-width:980px){.overlay-group.wide-only{display:none!important}.narrow-only{display:flex}}@media (max-width:760px){.wide-only{display:none!important}}@media (max-width:640px){:root{--pad:8px;--gap:6px}.long{display:none}.short{display:inline}.wide-only{display:none!important}.narrow-only{display:flex}.topbar{width:100%;padding:5px 6px 6px 10px}.tb-row{gap:5px}.clock-date{font-size:11.5px}.clock-time{font-size:20px}.tb-pill{min-height:40px;padding:0 9px 0 7px;font-size:13.5px}.tb-weather{margin-left:auto}.tb-figures{font-size:12.5px}.tb-weather-extra{display:none}#hud.show-weather .tb-weather-extra{display:block}.tb-weather-extra .wx-label{display:inline}.toolbar{flex-wrap:nowrap;justify-content:space-between;width:100%}.group+.group{border-left:0;margin-left:0;padding-left:0}.toolbar button{padding:0 8px;font-size:14px}.sheet,.sheet:not([data-kind=card]){left:calc(env(safe-area-inset-left) + 4px);right:calc(env(safe-area-inset-right) + 4px);bottom:calc(env(safe-area-inset-bottom) + var(--pad) + 60px);border-radius:16px;width:auto;max-width:none;padding:0 12px 10px}.sheet[data-kind=card]{max-height:44vh}.sheet:not([data-kind=card]){max-height:64vh}#hud.advancing .tb-weather,#hud.advancing .tb-colony{display:none}.sheet-grip{display:block}.notice{font-size:13.5px}.chip-small,.link,details>summary{box-sizing:border-box;min-height:40px}.pile-chips .chip-small{min-width:40px}details>summary{padding:10px 0}.speed-row{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.speed-row button{min-width:0;padding:0 2px;font-size:13px}}@media (max-width:380px){.toolbar button{min-width:40px;padding:0 6px}.speed-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto minmax(0,1fr);gap:3px}.speed-row button{letter-spacing:-.02em;padding:0 1px;font-size:12px}.tb-pill{padding:0 7px 0 6px}.cells{grid-template-columns:repeat(3,1fr)}}@media (max-height:500px){:root{--pad:6px;--gap:6px}.clock-time{font-size:18px}.toolbar{flex-wrap:nowrap}.long{display:none}.short{display:inline}.group-icon{display:none}.weather-chips{padding:3px}.chip{min-height:34px;font-size:13px}.sheet,.sheet:not([data-kind=card]){max-height:calc(100vh - 2 * var(--pad) - 70px)}}
