:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141d1a;--surface:#1c2824;--surface-2:#24332d;--surface-3:#2d3f38;--line:#3b4c45;--text:#f2ead9;--muted:#bdb4a2;--accent:#e3a94c;--accent-ink:#1d1407;--danger:#ec7468;--good:#8fcf98;--alert:#efc15a;--focus:#ffd98a;--radius:10px;--tap:44px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);margin:0;overflow:hidden}h1,h2,h3,h4,h5{margin:0 0 .4rem;line-height:1.2}h2{font-size:1.2rem}h3{color:var(--accent);margin-top:1rem;font-size:1rem}h4,h5{margin-top:.75rem;font-size:.95rem}p{margin:0 0 .5rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,select,input{font:inherit;color:inherit}.button,.segmented button,.tab{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;touch-action:manipulation;padding:.5rem .9rem}.button:hover:not(:disabled){background:var(--surface-3)}.button:disabled,.segmented button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.button--primary:hover:not(:disabled){background:#f0bb63}.button--danger{background:var(--danger);border-color:var(--danger);color:#200b08;font-weight:600}.button--quiet{color:var(--muted);background:0 0;border-color:#0000;text-decoration:underline}.button--small{padding:.35rem .7rem;font-size:.9rem}.button-row{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.segmented{border-radius:var(--radius);flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{border-radius:0;margin-left:-1px;padding-inline:.65rem}.segmented button:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.segmented button:last-child{border-radius:0 var(--radius) var(--radius) 0}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.segmented--wide{margin:.5rem 0;display:flex}.segmented--wide button{flex:auto}select{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);max-width:100%;padding:.4rem .6rem}.field{margin:.75rem 0}.field label{margin-bottom:.25rem;font-weight:600;display:block}.field__row{flex-wrap:wrap;gap:.5rem;display:flex}.field__row select{flex:10rem;min-width:0}.field--check,.radio-card,.member__pick{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .6rem;padding:.5rem .75rem .5rem 2.6rem;display:grid;position:relative}.field--check{grid-template-columns:1fr}.field--check label{margin:0}.field--check input,.radio-card input,.member__pick input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.field--check:before,.radio-card:before,.member__pick:before{content:"";border:2px solid var(--muted);background:var(--bg);border-radius:4px;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.radio-card:before{border-radius:50%}.field--check:has(input:checked):before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--bg)}.radio-card:has(input:checked):before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--bg)}.member__pick:has(input:checked):before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--bg)}:is(.field--check:has(input:focus-visible),.radio-card:has(input:focus-visible),.member__pick:has(input:focus-visible)){outline:3px solid var(--focus);outline-offset:2px}.radio-card:has(input:checked){border-color:var(--accent)}.radio-card>span{grid-column:1/-1;display:grid}.radio-card>span>span{color:var(--muted);font-size:.9rem}.engagement{border:0;gap:.5rem;margin:.75rem 0;padding:0;display:grid}.engagement legend,.order-grid legend{margin-bottom:.4rem;padding:0;font-weight:600}.hint{color:var(--muted);font-size:.9rem}.error{color:var(--danger);font-weight:600}.is-bad{color:var(--danger)}.app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);flex-direction:column;display:flex}.top-bar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;gap:.35rem;padding:.4rem .75rem;display:grid;position:relative}.top-bar__row{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;display:flex}.top-bar__clock{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.status-strip{flex-wrap:wrap;gap:.2rem .9rem;margin:0;font-size:.9rem;display:flex}.status-strip div{gap:.3rem;display:flex}.status-strip dt{color:var(--muted)}.status-strip dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.confirm{z-index:10;background:var(--surface-3);border:1px solid var(--accent);border-radius:var(--radius);padding:1rem;position:absolute;inset:100% .75rem auto;box-shadow:0 10px 30px #00000080}.banner{border-bottom:1px solid var(--alert);background:#3a3220;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.35rem .75rem;display:flex}.banner p,.banner .button-row{margin:0}.banner--alert{border-color:var(--danger);background:#3d2420}.banner--loss{border-color:var(--danger);background:#3d2420;padding:.75rem;display:block}.workspace{flex-direction:column;flex:1;min-height:0;display:flex}.map-pane{border-bottom:1px solid var(--line);background:#1a2521;flex:0 0 44dvh;min-height:12rem}.app--map-hidden .map-pane{display:none}.side-pane{flex-direction:column-reverse;flex:1;min-height:0;display:flex}.tabs{padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);flex:none;grid-template-columns:repeat(5,1fr);display:grid}.tab{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:0;padding:.4rem .15rem;font-size:.85rem;position:relative}.tab[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent);font-weight:700}.badge{background:var(--danger);color:#200b08;border-radius:999px;min-width:1.3rem;margin-left:.2rem;padding:0 .3rem;font-size:.75rem;font-weight:700;display:inline-block}.panel{overscroll-behavior:contain;flex:1;min-height:0;padding:.5rem 1rem 1.5rem;overflow-y:auto}.map-toggle{float:right}@media (width>=900px){.workspace{flex-direction:row}.map-pane{border-bottom:0;flex:auto;min-height:0}.app--map-hidden .map-pane{display:block}.side-pane{border-left:1px solid var(--line);flex-direction:column;flex:0 0 min(30rem,42vw)}.tabs{border-top:0;border-bottom:1px solid var(--line);padding-bottom:0}.tab[aria-current=page]{box-shadow:inset 0 -3px 0 var(--accent)}.map-toggle{display:none}}.notice-screen{max-width:36rem;padding:max(2rem, env(safe-area-inset-top)) 1rem 2rem;margin:0 auto}.panel-section{display:block}.facts{gap:.35rem;margin:.5rem 0;display:grid}.facts>div{grid-template-columns:minmax(6rem,34%) 1fr;gap:.75rem;display:grid}.facts dt{color:var(--muted);overflow-wrap:anywhere}.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.facts--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facts--grid>div{grid-template-columns:1fr auto}meter{vertical-align:middle;width:5rem}.choice-list,.member-list,.duty-list,.fallen-list,.plain-list,.report-list{gap:.4rem;margin:.25rem 0;padding:0;list-style:none;display:grid}.choice,.member__open{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);text-align:left;cursor:pointer;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.choice>span,.member__open>span{min-width:0;display:grid}.choice>.token-row{flex:none;display:flex}.choice--threat{border-color:#7a3a33}.choice__detail{color:var(--muted);font-size:.88rem;font-weight:400}.token-row{gap:0;display:flex}.token-row .hero-token+.hero-token{margin-left:-.6rem}.callout{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);margin:.75rem 0;padding:.75rem}.callout--alert{border-color:var(--alert)}.callout--loss{border-color:var(--danger);background:#34221f}.order-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;margin:.5rem 0;padding:0;display:grid}.order-choice{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);text-align:left;cursor:pointer;align-content:start;gap:.2rem;padding:.55rem .65rem;display:grid}.order-choice span{color:var(--muted);font-size:.82rem}.order-choice:disabled{cursor:not-allowed;opacity:.65;border-style:dashed}.order-choice:hover:not(:disabled){border-color:var(--accent)}.preview{border-left:3px solid var(--accent);background:var(--surface-2);gap:.3rem;margin:.75rem 0;padding:.6rem .75rem;display:grid}.preview>div{grid-template-columns:7rem 1fr;gap:.5rem;display:grid}.preview dt{color:var(--muted)}.preview dd{margin:0}.hero-token{flex:none;width:2.25rem;height:2.25rem}.hero-token--large{width:4rem;height:4rem}.hero-token__track{fill:none;stroke:#46342f;stroke-width:4px}.hero-token__health{fill:none;stroke:var(--good);stroke-width:4px;stroke-linecap:round}.hero-token__initial{fill:#fff8ea;text-anchor:middle;dominant-baseline:middle;font-size:18px;font-weight:700}.hero-token--dead{filter:grayscale();opacity:.7}.hero-sheet__header{align-items:center;gap:.75rem;margin:.25rem 0 .5rem;display:flex}.attributes,.compare{border-collapse:collapse;width:100%}.attributes th,.attributes td,.compare th,.compare td{border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums;padding:.15rem .35rem}.attributes th{font-weight:400}.attributes td:last-child{text-align:right;width:3.5rem}.compare .is-changed td:last-child{color:var(--accent);font-weight:700}.facts--compact>div{grid-template-columns:minmax(6rem,40%) 1fr}.slots{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;display:grid}.slot-card{border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface-2);gap:.25rem;padding:.6rem;display:grid}.slot-card__label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.slot-card .button-row{margin:.25rem 0 0}.pack{gap:.4rem;margin:.25rem 0;padding:0;list-style:none;display:grid}.pack__slot{min-height:var(--tap);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .5rem;padding:.35rem .6rem;display:flex}.pack__slot .button-row{margin:0}.pack__slot.is-occupied{border:1px solid var(--line);background:var(--surface-2)}.pack__slot.is-free{border:1px dashed var(--line);color:var(--muted);font-size:.88rem}.item-label{min-width:0;display:grid}.schematic{width:100%;max-width:28rem;height:auto;margin:.25rem auto .5rem;display:block}.schematic__ground{fill:#23302a}.schematic__part{cursor:pointer}.schematic__part.is-selected .schematic__building,.schematic__part.is-selected .schematic__wall-missing{stroke:var(--focus)}.schematic__wall-missing{fill:none;stroke:#5e4d3d;stroke-width:6px;stroke-dasharray:3 5}.schematic__wall{fill:none;stroke:#c79a5b;stroke-width:7px}.schematic--ruined .schematic__building{fill:#3a2f28;stroke-dasharray:6 4}.schematic__building{fill:#4a5c50;stroke:#8b9c8f;stroke-width:2px}.schematic--repaired .schematic__building{fill:#566d5e}.schematic--unoccupied .schematic__building{fill:#33302b;stroke:#6a6258;stroke-dasharray:4 4}.schematic__label{fill:var(--text);text-anchor:middle;paint-order:stroke;stroke:#1a2420;stroke-width:3px;font-size:9px}.duty{grid-template-columns:1fr auto;align-items:center;gap:.5rem;display:grid}.visit,.call{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:.75rem 0;padding:.75rem}.call h4{margin-top:0}.candidate p{align-items:center;gap:.5rem;display:flex}.report{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);border-left-width:4px}.report--loss{border-left-color:var(--danger)}.report--gain{border-left-color:var(--good)}.report--alert{border-left-color:var(--alert)}.report summary,.full-log summary{min-height:var(--tap);cursor:pointer;padding:.45rem .7rem;list-style:none;display:grid}.report summary::-webkit-details-marker{display:none}.report__time{color:var(--muted);font-size:.8rem}.report__headline{font-weight:600}.report__body{padding:0 .7rem .6rem}.report__lead{margin:0 0 .5rem;padding-left:1.1rem}.log{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.full-log summary{color:var(--accent);padding-inline:0}.map{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map__ground{fill:#1d2925}.route{stroke-linecap:round}.route--road{stroke:#b89462}.route--plain{stroke:#7f8d6b;stroke-dasharray:2.4 1.6}.route--forest{stroke:#4f8f5d;stroke-dasharray:.8 1.2}.route--hills{stroke:#9c7a55;stroke-dasharray:3 1 .8 1}.order-line{stroke:#f2ead9;stroke-opacity:.35;stroke-width:.5px;stroke-dasharray:1 1.4}.route-preview{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 1.2}.hit-area{fill:#0000}.map-node,.marker{cursor:pointer;outline:none}.map-node:focus-visible .hit-area,.marker:focus-visible .hit-area{fill:#ffd98a2e;stroke:var(--focus);stroke-width:.5px}.selection-ring{fill:#e3a94c26;stroke:var(--accent)}.map--picking .map-node.is-pickable .hit-area{fill:#e3a94c1a;stroke:var(--accent);stroke-width:.3px;stroke-dasharray:1 1}.place{stroke:#10120f;stroke-width:.4px}.place--refuge rect,.place--refuge path{fill:#c9b48a;stroke:#10120f;stroke-width:.4px}.place--unoccupied rect,.place--unoccupied path,.place--ruined rect,.place--ruined path{fill:#6d5f4b;stroke-dasharray:.8 .5}.place--damaged rect{fill:#b08c55}.place--repaired rect,.place--repaired path{fill:#e6cf98}.place--hunting{fill:#7cc27f}.place--site{fill:#d7b46a}.place--empty{fill:#3a3a32;stroke:#d7b46a}.place--road-end{fill:#b89462}.place--start{fill:none;stroke:#f2ead9;stroke-width:.5px}.place--junction{fill:#8f9a84}.place--wild{fill:#3f6b4a}.lair{fill:#a8302a;stroke:#ffb4a8;stroke-width:.35px}.lair--cleared{fill:#4a3a37;stroke:#8b7a74;stroke-dasharray:.6 .4}.place-label{fill:var(--text);dominant-baseline:hanging;paint-order:stroke;stroke:#141d1a;pointer-events:none}.banner__pole{stroke:#f2ead9;stroke-width:.35px}.banner__flag{stroke:#141d1a;stroke-width:.25px}.banner__base{fill:#141d1a;stroke:#f2ead9;stroke-width:.3px}.banner__count,.threat__mark{fill:#f2ead9;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-weight:700}.wagon__body{fill:#d9b25b;stroke:#141d1a;stroke-width:.3px}.wagon__wheel{fill:#141d1a;stroke:#d9b25b;stroke-width:.25px}.wagon--promised .wagon__body{stroke:#9fd3ff;stroke-width:.6px}.threat__shape{fill:#c2392f;stroke:#ffd5cf;stroke-width:.3px}.threat__mark{fill:#fff2ef}.threat-title{color:var(--danger)}@media (prefers-reduced-motion:no-preference){.map-node .hit-area,.marker .hit-area{transition:fill .12s}}.button--icon{background:0 0;place-items:center;margin-left:auto;padding:0;display:grid}.icon{fill:currentColor;width:1.4rem;height:1.4rem}.map-pane{position:relative}.map-legend{border:1px solid var(--line);border-radius:var(--radius);background:#141d1aeb;max-width:calc(100% - 1rem);font-size:.85rem;position:absolute;bottom:.5rem;left:.5rem}.map-legend summary{min-height:var(--tap);cursor:pointer;align-items:center;padding:0 .75rem;display:flex}.map-legend ul{grid-template-columns:repeat(2,auto);gap:.25rem .75rem;margin:0;padding:0 .75rem .6rem;list-style:none;display:grid}.map-legend li{align-items:center;gap:.4rem;display:flex}.map-legend svg{flex:none;width:1.2rem;height:1.2rem}.overview{margin:.5rem 0 1rem}.overview__table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.overview__table caption{color:var(--accent);text-align:left;margin-bottom:.35rem;font-weight:700}.overview__table th,.overview__table td{border-bottom:1px solid var(--line);text-align:center;padding:.15rem .1rem}.overview__table thead th{color:var(--muted);font-size:.8rem;font-weight:600}.overview__table thead th:first-child,.overview__table tbody th{text-align:left;width:4.75rem}.overview__table td.is-best{color:var(--accent);background:#e3a94c1f;font-weight:700}.overview__hero{width:100%;min-height:var(--tap);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-weight:600;overflow:hidden}.overview__hero:hover{text-decoration:underline}
