:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe6;--panel:#fffdf8;--ink:#1c1a16;--muted:#6a6458;--line:#d9d0c0;--accent:#2f5d50;--accent-soft:#dceae4;font-family:Segoe UI,IBM Plex Sans,sans-serif;line-height:1.4}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #efe4cf 0%, transparent 40%), linear-gradient(180deg, #f7f2e8, var(--bg));color:var(--ink);margin:0}.app{max-width:1800px;margin:0 auto;padding:1.25rem}.header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.hub-back{margin:0 0 .35rem;font-size:.85rem}.hub-back a{color:var(--accent);font-weight:600;text-decoration:none}.hub-back a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .35rem;font-family:Georgia,Iowan Old Style,serif;font-weight:600}.sub,.hint{color:var(--muted);font-size:.85rem}.layout{grid-template-columns:260px minmax(340px,.8fr) minmax(0,2fr);gap:.85rem;min-height:70vh;display:grid}.catalog-layout{grid-template-columns:300px minmax(0,1fr);gap:.85rem;min-height:70vh;display:grid}.layout>.panel,.catalog-layout>.panel{min-width:0}.view-tabs{gap:.35rem;margin-bottom:.85rem;display:flex}.view-tabs button{border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;border-radius:8px;padding:.55rem .8rem}.view-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.75rem;overflow:auto}.panel.wide{min-height:70vh}.search{border:1px solid var(--line);border-radius:6px;width:100%;margin-bottom:.5rem;padding:.45rem .6rem}.sort-row{color:var(--muted);flex-direction:row;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.85rem;display:flex}.sort-row select{flex:1}.list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.list button,.tabs button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:.55rem .6rem}.list button span{color:var(--muted);font-size:.78rem;display:block}.list button.active,.tabs button.active{background:var(--accent-soft);border-color:#b7cfc5}.row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.filter-hint{margin:0 0 .55rem;font-size:.8rem}.mod-name-field{color:var(--muted);flex-direction:column;gap:.2rem;margin:0;font-size:.78rem;display:flex}.mod-name-field input{min-width:14rem}.header-actions{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.header-actions button{border:1px solid var(--line);cursor:pointer;background:var(--panel);color:inherit;font:inherit;border-radius:8px;padding:.65rem .9rem}.header-actions button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.65rem .9rem;font-weight:600}.export-msg{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.meta-box{border:1px solid var(--line);background:#faf6ef;border-radius:8px;margin:.75rem 0;padding:.55rem .65rem}.new-preset-name{max-width:34rem;margin:0 0 .35rem;font-family:Georgia,Iowan Old Style,serif;font-size:1.05rem;font-weight:600}.new-preset-name input{font-family:Segoe UI,IBM Plex Sans,sans-serif;font-size:1rem;font-weight:600}.combo{position:relative}.combo-trigger{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border-radius:6px;flex-direction:column;gap:.1rem;padding:.4rem .5rem;display:flex}.combo-label{font-weight:600}.combo-secondary{color:var(--muted);font-size:.78rem;font-weight:400}.combo-pop{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;max-height:280px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #281e0a1f}.combo-search{width:calc(100% - .9rem);margin:.45rem}.combo-list{padding-bottom:.35rem;overflow:auto}.combo-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f3efe6;padding:.25rem .6rem;font-size:.72rem;position:sticky;top:0}.combo-option{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:.05rem;padding:.4rem .65rem;display:flex}.combo-option:hover,.combo-option.active{background:var(--accent-soft)}.combo-empty{color:var(--muted);padding:.6rem;font-size:.85rem}.line-actions{align-items:center;gap:.25rem;padding-bottom:.35rem;display:flex}.line-actions button{padding:.35rem .45rem}label{flex-direction:column;gap:.25rem;margin:.55rem 0;font-size:.9rem;display:flex}input,select{border:1px solid var(--line);font:inherit;border-radius:6px;padding:.4rem .5rem}.gear-grid{grid-template-columns:1fr 1fr;gap:.5rem 1rem;display:grid}.gear-slot-row{align-items:stretch;gap:.35rem;display:flex}.gear-slot-row .combo{flex:auto;min-width:0}.gear-clear{border:1px solid var(--border,#3a3a3a);width:2rem;color:var(--ink,#ddd);cursor:pointer;background:0 0;border-radius:6px;flex:none;font-size:1.1rem;line-height:1}.gear-clear:hover:not(:disabled){color:#fff;background:#b23c3c;border-color:#b23c3c}.gear-clear:disabled{opacity:.35;cursor:default}.item-name{color:var(--ink);font-size:.95rem;font-weight:600}.line-row{grid-template-columns:minmax(180px,1.5fr) 1fr 1fr;align-items:start;gap:.5rem;margin-bottom:.55rem;display:grid}.ref-list{flex-direction:column;gap:.3rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.ref-list li{border:1px solid var(--line);background:#faf6ef;border-radius:6px;padding:.4rem .55rem}.ref-list li strong{font-size:.9rem;display:block}.ref-list li span{color:var(--muted);font-size:.78rem;display:block}.marker-resolved{color:var(--accent);margin-top:.2rem;font-size:.78rem;display:block}.ref-selected{outline:2px solid var(--accent);background:var(--accent-soft)}.ref-mission-hit:not(.ref-selected){background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}button.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:.35rem;padding:0;text-decoration:underline;display:inline-block}.meta-box select{width:100%;margin-top:.25rem;padding:.35rem .45rem;display:block}.ref-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;padding:0;display:block}.ref-resolved{border-top:1px dashed var(--line);margin-top:.45rem;padding-top:.35rem}.tactics-table{border-collapse:collapse;width:100%;font-size:.82rem}.tactics-table th,.tactics-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.25rem .35rem}.tactics-table tr.locked-skill td{color:#a33}.tactics-table tr.skill-missing td{color:#b3421f;background:#fff4f2}.warn-box{background:#fdf3e7;border:1px solid #e2b48a;border-left:4px solid #d97a34;border-radius:8px;margin:.6rem 0;padding:.55rem .7rem}.warn-box strong{color:#9a4a12;margin-bottom:.2rem;display:block}.warn-box p{color:#6b4a2c;margin:0;font-size:.86rem}.readonly-skill{border:1px solid var(--line);background:#f5f1e9;border-radius:6px;align-items:center;gap:.4rem;min-height:2.25rem;padding:.4rem .5rem;font-weight:600;display:flex}.line-locked .readonly-skill{color:#b3261e}.locked-tag{color:#b3261e;text-transform:uppercase;background:#fbe9e7;border:1px solid #f3b7b1;border-radius:4px;padding:.05rem .35rem;font-size:.7rem;font-weight:700}.item-tag{color:#1f6f43;text-transform:uppercase;background:#e6f4ea;border:1px solid #b7dfc4;border-radius:4px;padding:.05rem .35rem;font-size:.7rem;font-weight:700}.class-lines{flex-direction:column;gap:.45rem;display:flex}.class-line-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:90px minmax(220px,1.4fr) 100px 1fr 1fr;align-items:center;gap:.5rem;padding:.45rem;display:grid}.class-line-row label,.preset-line-row label{margin:0}.preset-line-row{grid-template-columns:44px minmax(240px,1.25fr) minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:.5rem;margin-bottom:.55rem;display:grid}.preset-line-row.dragging{opacity:.5}.drag-handle{border:1px dashed var(--line);min-height:2.25rem;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;background:#faf6ef;border-radius:6px;flex-direction:column;justify-content:center;align-self:end;align-items:center;display:flex}.drag-handle:active{cursor:grabbing}.drag-handle small{font-size:.7rem;line-height:1}.preset-line-row>button{min-height:2.25rem;margin-bottom:.05rem}.tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.tabs button{width:auto}.error{color:#8b1e1e}@media (width<=1100px){.layout,.catalog-layout,.class-line-row,.preset-line-row{grid-template-columns:1fr}}.formation-box{border:1px solid var(--line);background:#f7f1e6;border-radius:8px;margin:0 0 .85rem;padding:.65rem .7rem}.formation-head{flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;margin-bottom:.5rem;display:flex}.formation-grid{grid-template-columns:4.2rem repeat(3,minmax(0,1fr));align-items:stretch;gap:.35rem;display:grid}.formation-row{display:contents}.formation-corner{min-height:0}.formation-col-label,.formation-row-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.formation-row-label{justify-content:flex-end;padding-right:.25rem}.formation-cell{border:1px solid var(--line);text-align:left;cursor:pointer;min-height:4.4rem;font:inherit;color:inherit;background:#fffdf8;border-radius:8px;flex-direction:column;gap:.15rem;padding:.4rem .45rem;display:flex}.formation-cell.empty{color:var(--muted);background:repeating-linear-gradient(-45deg,#fffdf8,#fffdf8 6px,#f3ebe0 6px 12px)}.formation-cell.occupied{background:#fff}.formation-cell.selected{border-color:#8a5a1e;box-shadow:inset 0 0 0 1px #8a5a1e}.formation-cell.pick{outline-offset:1px;outline:2px dashed #8a5a1e}.formation-cell.leader{background:#fff6e4}.formation-pos{color:var(--muted);justify-content:space-between;gap:.35rem;font-size:.68rem;font-weight:700;display:flex}.formation-pos small{opacity:.8;font-weight:600}.formation-name{font-size:.86rem;font-weight:700;line-height:1.2}.formation-class,.formation-empty{color:var(--muted);font-size:.75rem}.sub-tabs{margin-bottom:.65rem}.equiptype-cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-top:1rem;display:grid}.equiptype-col{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}
