:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f2e9d6;--ink-dim:#c3b596;--panel:#181511db;--panel-edge:#c4a66a47;--gold:#d9b45f;--gold-dim:#a8863f;--good:#79c98a;--warn:#e0b455;--bad:#e0685c;--radius:3px;--font:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, ui-serif, serif;--font-ui:ui-sans-serif, -apple-system, "Segoe UI", Roboto, system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;font-family:var(--font-ui);color:var(--ink);background:#0c0f13;margin:0;overflow:hidden}#stage{width:100%;height:100%;display:block;position:fixed;inset:0}#ui-root{pointer-events:none;z-index:10;position:fixed;inset:0}#ui-root>*{pointer-events:auto}.toasts,.toast,.cursor-tip,.degraded{pointer-events:none!important}button,select,input{font:inherit;color:inherit}.boot{z-index:100;background:#0e1116;place-items:center;transition:opacity .55s;display:grid;position:fixed;inset:0}.boot--done{opacity:0;pointer-events:none}.boot--error .boot__bar span{background:var(--bad)}.boot__inner{text-align:center}.boot__crest{border:2px solid var(--gold-dim);border-radius:50% 50% 46% 46%;width:54px;height:54px;margin:0 auto 14px;box-shadow:inset 0 0 0 4px #d9b45f29}.boot h1{font-family:var(--font);letter-spacing:.17em;color:var(--gold);text-transform:uppercase;margin:0 0 6px;font-size:26px;font-weight:500}.boot__status{color:var(--ink-dim);margin:0;font-size:13px}.boot__bar{background:#ffffff17;width:250px;height:2px;margin:16px auto 0}.boot__bar span{background:var(--gold);width:8%;height:100%;transition:width .4s;display:block}.bar{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border-bottom:1px solid var(--panel-edge);background:linear-gradient(#100e0beb,#100e0bb8);align-items:center;gap:14px;padding:8px 14px;display:flex;position:absolute;left:0;right:0}.bar--top{top:0}.bar--bottom{border-bottom:none;border-top:1px solid var(--panel-edge);background:linear-gradient(#100e0bb3,#100e0bf0);top:auto;bottom:0}.spacer{flex:1}.res{gap:4px;display:flex}.res__cell{border-radius:var(--radius);background:#ffffff0b;border:1px solid #ffffff0d;align-items:baseline;gap:5px;padding:3px 10px;display:inline-flex}.res__icon{color:var(--gold);opacity:.88;display:inline-flex}.ico{width:14px;height:14px;display:block}.palette__cost .ico{opacity:.7;width:11px;height:11px}.res__value{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:14px;font-weight:600}.objective{min-width:0;color:var(--ink-dim);flex:1;align-items:center;gap:8px;font-size:12px;display:flex}.objective__label{text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dim);font-size:10px}.objective__goal{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.objective__num{font-variant-numeric:tabular-nums}.meter{background:#ffffff17;border-radius:3px;flex:none;width:76px;height:5px;overflow:hidden}.meter i{background:var(--good);height:100%;display:block}.meter--war i{background:var(--bad)}.clock{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.clock__day{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dim);font-size:10px}.clock__time{font-variant-numeric:tabular-nums;font-size:15px}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);position:absolute;box-shadow:0 10px 32px #0000006b}.panel__title{font-family:var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #ffffff0f;margin:0;padding:9px 12px 7px;font-size:12px;font-weight:500}.panel--palette{width:208px;top:56px;left:12px}.palette{flex-direction:column;gap:2px;padding:6px;display:flex}.palette__btn{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:20px 1fr;align-items:center;gap:0 8px;padding:6px 8px;transition:background .12s,border-color .12s;display:grid}.palette__btn:hover{background:#ffffff0e}.palette__btn.is-active{background:#d9b45f24;border-color:#d9b45f6b}.palette__key{width:19px;height:19px;color:var(--ink-dim);border:1px solid #ffffff29;border-radius:2px;grid-row:1/span 2;place-items:center;font-size:10px;display:grid}.palette__label{font-size:13px}.palette__cost{color:var(--ink-dim);letter-spacing:.02em;align-items:center;gap:3px;font-size:10.5px;display:flex}.palette__cost b{margin-right:6px;font-weight:600}.palette__foot{color:#c3b5969e;margin:0;padding:4px 12px 10px;font-size:10.5px;line-height:1.45}.panel--selection{width:244px;padding-bottom:10px;top:56px;right:12px}.sel__desc{color:var(--ink-dim);margin:8px 12px;font-size:12px;line-height:1.45}.sel__stats{margin:0;padding:0 12px;font-size:12px}.sel__stats>div{border-bottom:1px solid #ffffff0b;justify-content:space-between;gap:10px;padding:3px 0;display:flex}.sel__stats dt{color:var(--ink-dim);margin:0}.sel__stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.sel__stats .ok{color:var(--good)}.sel__stats .bad{color:var(--bad)}.panel--selection .btn{margin:10px 12px 0}.panel--minimap{padding:6px;line-height:0;bottom:56px;right:12px}.minimap{cursor:crosshair;width:200px;height:200px;image-rendering:pixelated;border-radius:2px}.btn{border-radius:var(--radius);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1c;padding:6px 13px;font-size:12.5px;transition:background .12s}.btn:hover{background:#ffffff1f}.btn--primary{color:#f6e9c8;background:#d9b45f33;border-color:#d9b45f80}.btn--danger{background:#e0685c29;border-color:#e0685c6b}.seg{border-radius:var(--radius);border:1px solid #ffffff1c;display:flex;overflow:hidden}.seg__btn{cursor:pointer;letter-spacing:.05em;background:0 0;border:0;border-right:1px solid #ffffff14;padding:5px 11px;font-size:11px}.seg__btn:last-child{border-right:0}.seg__btn.is-active{color:#f6e9c8;background:#d9b45f38}.field{color:var(--ink-dim);align-items:center;gap:7px;font-size:11px;display:flex}.slider{width:116px;accent-color:var(--gold)}.select{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff1c;padding:4px 7px;font-size:12px}.toasts{flex-direction:column;gap:6px;width:320px;display:flex;position:absolute;top:56px;left:232px}.toast{border-radius:var(--radius);border-left:3px solid var(--gold-dim);border-top:1px solid var(--panel-edge);background:#181511eb;padding:8px 12px;font-size:12.5px;line-height:1.4;animation:.22s toast-in;box-shadow:0 6px 22px #0006}.toast--good{border-left-color:var(--good)}.toast--warn{border-left-color:var(--warn)}.toast--bad{border-left-color:var(--bad)}.toast--out{opacity:0;transition:all .4s;transform:translateY(-4px)}@keyframes toast-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.cursor-tip{border-radius:var(--radius);white-space:nowrap;border:1px solid var(--panel-edge);background:#14120ef0;max-width:320px;padding:5px 10px;font-size:12px;line-height:1.35;position:absolute;top:0;left:0;box-shadow:0 4px 14px #0006}.cursor-tip--ok{color:#d7f0dc;border-color:#79c98a80}.cursor-tip--bad{color:#f6d7d3;border-color:#e0685c8c}.cursor-tip b{color:var(--gold);font-weight:600}.cursor-tip i{opacity:.62;font-style:normal}.degraded{border-radius:var(--radius);color:#f2dda9;background:#e0b45529;border:1px solid #e0b45566;padding:4px 12px;font-size:11px;position:absolute;top:46px;left:50%;transform:translate(-50%)}.modal,.error-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08090bb8;place-items:center;display:grid;position:absolute;inset:0}.modal__card,.error-overlay__card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);text-align:center;max-width:520px;padding:26px 30px;box-shadow:0 24px 70px #0009}.modal__card h1,.error-overlay__card h1{font-family:var(--font);letter-spacing:.06em;color:var(--gold);margin:0 0 10px;font-size:24px;font-weight:500}.modal__card--lost h1{color:var(--bad)}.modal__card p,.error-overlay__card p{color:var(--ink-dim);margin:0 0 18px;font-size:13.5px;line-height:1.6}.modal__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.error-overlay__card{text-align:left;max-width:680px}.error-overlay__stack{color:#e6b9b2;white-space:pre-wrap;background:#0006;border-radius:2px;max-height:220px;padding:10px;font-size:11px;line-height:1.5;overflow:auto}@media (max-width:1100px){.panel--palette{width:176px}.toasts{width:260px;left:200px}}
