:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f1e6;--panel:#fff;--ink:#23202b;--muted:#6d6878;--accent:#1f5e3f;--line:#ddd8c8;--error:#b3261e;--squad:#2a78d6;--enemy:#c2571a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#17161c;--panel:#23212b;--ink:#f1eee6;--muted:#a29db0;--accent:#6fbf7f;--line:#36333f;--error:#ff8a80;--squad:#3987e5;--enemy:#d9703a}}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,sans-serif}#root{text-align:left;max-width:none;padding:0}h1{margin:0;font-size:1.4rem}h2{margin:2rem 0 .5rem;font-size:1.05rem}.muted{color:var(--muted)}.error{color:var(--error)}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:22rem;margin:12vh auto;padding:2rem}form{gap:1rem;margin-top:1.5rem;display:grid}label{gap:.3rem;font-size:.9rem;display:grid}input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.6rem .7rem}button{font:inherit;background:var(--accent);color:var(--panel);cursor:pointer;border:0;border-radius:8px;padding:.65rem 1rem;font-weight:600}button:disabled{opacity:.6}button.link{color:var(--accent);background:0 0;padding:0}.page{max-width:60rem;margin:0 auto;padding:1.5rem 1rem 4rem}header{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}header h1{flex:1}.tiles{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:.2rem;padding:.9rem 1rem;display:grid}.tile span{color:var(--muted);font-size:.8rem}.tile strong{font-size:1.25rem}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem 1rem}th{color:var(--muted);font-size:.8rem}tr:last-child td{border-bottom:0}td:last-child,th:last-child{text-align:right}a{color:var(--accent)}h2.first{margin-top:0}.small{font-size:.85rem}code{word-break:break-all;font-size:.85em}nav{border-bottom:1px solid var(--line);gap:.25rem;margin:0 0 1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}nav a{color:var(--ink);white-space:nowrap;border-radius:8px;padding:.35rem .8rem;font-size:.95rem;font-weight:600;text-decoration:none}nav a:hover{background:var(--panel)}nav a.active{background:var(--accent);color:var(--panel)}.scroll{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow-x:auto}.scroll table{border:0;border-radius:0}.scroll th,.scroll td{white-space:nowrap;padding:.5rem .8rem}td.empty{text-align:center;padding:1.5rem}.columns{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:0 1.5rem;display:grid}.tile{min-width:0}.tile strong{overflow-wrap:anywhere}form.filters{flex-wrap:wrap;align-items:end;gap:.75rem;margin:0 0 1rem;display:flex}form.filters label{flex:12rem}:is(form.filters label:has(.short),form.filters label:has(select)){flex:0 8rem}form.filters input,select{box-sizing:border-box;width:100%}select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.6rem .7rem}.pager{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pager button{font-size:inherit}.tag{border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.tag.won,.tag.live{border-color:var(--accent);color:var(--accent)}.tag.none,.tag.quit{color:var(--muted)}.tag.slot{margin-left:.4rem}.plot{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:0;padding:.75rem}.plot svg{width:100%;margin:0 auto;display:block}.plot .grid{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.plot .dot{stroke:var(--panel);stroke-width:2px;vector-effect:non-scaling-stroke}.plot .dot.squad{fill:var(--squad)}.plot .dot.enemy{fill:var(--enemy)}.legend{flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:.6rem;display:flex}.mark{vertical-align:-.05rem;width:.7rem;height:.7rem;margin-right:.4rem;display:inline-block}.mark.squad{background:var(--squad);border-radius:50%}.mark.enemy{background:var(--enemy)}:root{--changed:#fff3c4;--ok:#1f5e3f;--danger:#b3261e}@media (prefers-color-scheme:dark){:root{--changed:#4a3d12;--ok:#6fbf7f;--danger:#ff8a80}}nav+nav{margin-top:-1rem}.navlabel{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-self:center;padding-right:.5rem;font-size:.75rem;font-weight:700}.ok{color:var(--ok)}.notice{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.actions.end{justify-content:flex-end;margin-bottom:0}.actions.sticky{background:var(--bg);border-top:1px solid var(--line);z-index:1;margin:1rem -1rem 0;padding:.75rem 1rem;position:sticky;bottom:0}button.quiet{background:var(--panel);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}button.danger{background:var(--danger);color:var(--panel)}button.danger.quiet{background:var(--panel);color:var(--danger)}textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);box-sizing:border-box;resize:vertical;border-radius:8px;width:100%;padding:.6rem .7rem}textarea.mono{white-space:pre;font:12px/1.15 ui-monospace,Menlo,Consolas,monospace;overflow:auto}td.wrap{white-space:normal;min-width:16rem}.scroll td.wrap{white-space:normal}td.left:last-child{text-align:left}tr.changed td{background:var(--changed)}table.settings td:first-child{white-space:normal;width:45%;min-width:12rem}table.settings th:nth-child(2),table.settings th:nth-child(3){width:14%}input.value{box-sizing:border-box;width:7rem;padding:.35rem .5rem}input.value.list{width:11rem}input.bad,input[aria-invalid=true]{border-color:var(--error)}.fields{gap:.75rem;display:grid}.field{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:.3rem;padding:.8rem 1rem;display:grid}.field.changed{background:var(--changed)}.field input:not([type=checkbox]),.field textarea{box-sizing:border-box;width:100%}.field input.short{max-width:14rem}label.check{align-items:center;gap:.6rem;font-size:1rem;font-weight:600;display:flex}label.check input{width:1.2rem;height:1.2rem;accent-color:var(--accent)}.fields.row{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));align-items:end;margin-bottom:1rem}.fields.row label:first-child{grid-column:span 2}.fields.row input,.fields.row select{box-sizing:border-box;width:100%}.overlay{z-index:10;background:#00000080;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(34rem,100%);max-height:85vh;padding:1.5rem;overflow:auto}ul.changes,ul.problems{margin:.5rem 0;padding-left:1.2rem}ul.changes li{overflow-wrap:anywhere}.warning{background:var(--changed);border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:10px;padding:.7rem 1rem}.warning ul{margin:.4rem 0 0;padding-left:1.2rem}.tag.purchased{border-color:var(--accent);color:var(--accent)}.tag.refunded{border-color:var(--danger);color:var(--danger)}.tag.pending,.tag.test{color:var(--muted)}.palette{gap:.35rem;margin-bottom:1rem;display:grid}.palgroup{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.palgroup>span{flex:0 0 8.5rem}.swatch{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);align-items:center;gap:.4rem;padding:.2rem .55rem .2rem .2rem;font-size:.8rem;font-weight:500;display:inline-flex}.swatch.on{box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}.chip{border-radius:5px;place-items:center;width:1.4rem;height:1.4rem;font:700 .8rem ui-monospace,Menlo,Consolas,monospace;display:inline-grid;box-shadow:inset 0 0 0 1px #00000040}form.tools label{flex:0 6rem}form.tools .grow{flex:14rem}form.tools input[type=range]{padding:0}.mapwrap{border:1px solid var(--line);background:var(--panel);border-radius:10px;max-height:75vh;overflow:auto}canvas.map{cursor:crosshair;display:block}@media (width<=40rem){.palgroup>span{flex-basis:100%}}
