:root{--bg:#f4f6f9;--panel:#fff;--panel-2:#f8fafc;--line:#dfe4ec;--line-strong:#c8d0dc;--text:#1c2330;--muted:#667085;--accent:#2456c9;--accent-soft:#e8efff;--ok:#17803d;--ok-soft:#e7f6ec;--warn:#a35a00;--warn-soft:#fff4e0;--bad:#c0262d;--bad-soft:#fdecec;--mods:#2f7d32;--mods-row:#ecf8ec;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;--radius:10px;--mono:"Cascadia Mono", Consolas, "Courier New", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#12161d;--panel:#1a2029;--panel-2:#202733;--line:#2c3542;--line-strong:#3a4554;--text:#e6eaf0;--muted:#98a2b3;--accent:#6d9bff;--accent-soft:#1f2d4d;--ok:#4cc27a;--ok-soft:#17301f;--warn:#f0a640;--warn-soft:#33270f;--bad:#ff6b6b;--bad-soft:#3a1b1d;--mods:#6fcf73;--mods-row:#18301b;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 Segoe UI,system-ui,-apple-system,sans-serif}h1{margin:0 0 4px;font-size:22px;font-weight:650}h2{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:650;display:flex}h3{margin:0;font-size:14px;font-weight:650}code,.mono{font-family:var(--mono);font-size:13px}p{margin:0 0 8px}.muted{color:var(--muted)}.strong{font-weight:600}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-bad{color:var(--bad)}.text-accent{color:var(--accent)}.icon{flex:none}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.brand-name{letter-spacing:.2px;font-size:16px;font-weight:700}.brand-sub{color:var(--muted);white-space:nowrap;margin-top:-2px;font-size:12px}.brand,.topbar-right{flex-shrink:0}.tabs{scrollbar-width:thin;gap:4px;min-width:0;display:flex;overflow-x:auto}.tab{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-weight:550;display:inline-flex}.tab:hover{background:var(--panel-2);color:var(--text)}.tab.active{background:var(--accent-soft);color:var(--accent)}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.role-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.content{flex-direction:column;flex:1;gap:14px;width:100%;max-width:1280px;margin:0 auto;padding:20px 24px 40px;display:flex}.page{flex-direction:column;gap:14px;display:flex}.page-head p{max-width:820px}.statusbar{border-top:1px solid var(--line);background:var(--panel);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:6px 24px;font-size:12px;display:flex}.statusbar span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.statusbar-right{margin-left:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-head h2 .icon{color:var(--accent)}.card-actions{align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08);color:#fff}.btn-warn{background:var(--warn);border-color:var(--warn);color:#fff}.btn-warn:hover:not(:disabled){filter:brightness(1.08);color:#fff}.btn-ghost{background:0 0;border-color:#0000}.btn-test{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.btn-test:hover:not(:disabled){border-color:var(--ok);color:var(--ok);filter:brightness(.96)}.btn-small{padding:3px 9px;font-size:13px}.btn-lg{padding:9px 18px;font-size:15px}.btn-icon{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.btn-icon:hover{background:var(--panel-2);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);border-radius:7px;min-width:0;padding:6px 9px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input:disabled,select:disabled{background:var(--panel-2);color:var(--muted)}input.invalid{border-color:var(--bad);background:var(--bad-soft)}select{max-width:100%}.field{flex-direction:column;gap:4px;display:flex}.field>span:first-child{font-size:13px;font-weight:600}.field-inline{flex-direction:row;align-items:center;gap:8px}.input-suffix{border:1px solid var(--line-strong);background:var(--panel);border-radius:7px;align-items:center;display:inline-flex}.input-suffix input{border:0;width:170px}.input-suffix input:focus{box-shadow:none}.input-suffix span{color:var(--muted);padding:0 9px 0 2px}.check{cursor:pointer;align-items:center;gap:8px;margin:4px 0 10px;display:inline-flex}.filter{width:180px}.w-num{width:100px}.w-label{width:110px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row-end{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.row-between{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hint{color:var(--muted);margin:6px 0 12px;font-size:12.5px}.numbers-input{width:100%;font-family:var(--mono);resize:vertical;min-height:110px;font-size:14px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge:first-child{margin-left:0}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-mods{background:var(--mods-row);color:var(--mods)}.badge-muted{background:var(--panel-2);color:var(--muted)}.alert{border:1px solid #0000;border-radius:9px;gap:10px;padding:10px 14px;display:flex}.alert>.icon{margin-top:1px}.alert-body{flex:1;min-width:0}.alert-title{margin-bottom:2px;font-weight:650}.alert ul{margin:4px 0 0;padding-left:18px}.alert-ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.alert-ok>.icon{color:var(--ok)}.alert-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.alert-warn>.icon{color:var(--warn)}.alert-bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.alert-bad>.icon{color:var(--bad)}.alert-info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.alert-info>.icon{color:var(--accent)}.card .alert{margin-top:10px}.spinner-wrap{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.stat strong{overflow-wrap:anywhere;font-size:16px}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.num-chip{font-family:var(--mono);border:1px solid var(--line);background:var(--panel-2);border-radius:7px;align-items:center;gap:6px;padding:3px 9px;font-size:13px;display:inline-flex}.num-dls{color:var(--muted)}.num-state{color:var(--muted);font-family:Segoe UI,system-ui,sans-serif;font-size:11.5px}.num-found{border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.num-found .num-state{color:var(--ok)}.num-alias{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.num-variants,.num-expected{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft)}.num-variants .num-state,.num-expected .num-state{color:var(--warn)}.num-missing{border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:var(--bad-soft)}.num-missing .num-state{color:var(--bad)}.num-extra{border-style:dashed;border-color:var(--line-strong);color:var(--muted)}.num-extra .num-state{color:var(--muted)}.text-mods{color:var(--mods)}.board-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.option-compact{min-width:0;padding:8px 12px}.board{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.board-col{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;flex-direction:column;min-width:0;display:flex}.board-col-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:8px;min-height:58px;padding:9px 12px;display:flex}.board-col-title{flex-direction:column;gap:2px;min-width:0;display:flex}.board-col-hint{color:var(--muted);font-size:12px;line-height:1.35}.board-col-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:8px 12px 10px;font-size:12px;display:flex}.board-col-foot>span{align-items:center;gap:6px;display:inline-flex}.board-empty{color:var(--muted);text-align:center;margin:0;padding:14px 6px;font-size:13px}.board-empty p{margin:0 0 6px}.board-side{max-height:calc(100vh - 90px);scroll-margin-top:80px;position:sticky;top:72px;overflow:auto}.slot-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex}.slot-cell{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:7px 10px;display:grid}.slot-cell:hover:not(:disabled){border-color:var(--accent)}.slot-cell:disabled{cursor:not-allowed;opacity:.6}.slot-cell-num{min-width:0;font:600 13.5px/1.3 var(--mono);flex-wrap:wrap;align-items:center;display:inline-flex}.slot-cell-sub{color:var(--muted);grid-column:2/-1;font-size:12px;line-height:1.35}.slot-name{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:60%;margin-left:auto;padding-left:10px;font:12px/1.3 Segoe UI,system-ui,sans-serif;overflow:hidden}.slot-name-en{opacity:.8}.slot-cell.is-empty .slot-name{color:var(--muted)}.slot-cell-marks{align-items:center;gap:6px;display:inline-flex}.slot-cell-chev{color:var(--line-strong);margin-right:-4px}.slot-cell.is-empty{border:1.5px dashed var(--bad);background:var(--bad-soft)}.slot-cell.is-empty .slot-cell-num{color:var(--bad);font-family:inherit}.slot-cell.is-swappable{border-color:color-mix(in srgb, var(--mods) 55%, transparent);box-shadow:inset 4px 0 0 var(--mods)}.slot-cell.is-empty.is-swappable{border-color:var(--bad)}.slot-cell.is-replaced{border-color:var(--mods);background:var(--mods-row);box-shadow:inset 4px 0 0 var(--mods)}.slot-cell.is-pressed{outline:2px solid var(--accent);outline-offset:1px}.slot-cell.is-pressed .slot-cell-chev,.slot-cell:hover:not(:disabled) .slot-cell-chev{color:var(--accent)}.pick.is-chosen{border-color:var(--mods);background:var(--mods-row)}.mark{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.mark-ok{color:var(--ok)}.mark-empty{color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, transparent)}.mark-warn{color:var(--warn);background:var(--warn-soft)}.mark-new{color:var(--accent);background:var(--accent-soft)}.mark-swap{color:var(--mods);background:var(--mods-row);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mods) 35%, transparent)}.mark-replaced{color:var(--panel);background:var(--mods)}.kind-tile{border-radius:6px;flex:none;place-items:center;width:26px;height:22px;display:inline-grid}.kind-mods{background:var(--mods-row);color:var(--mods)}.kind-new{background:var(--accent-soft);color:var(--accent)}.kind-bad{background:var(--bad-soft);color:var(--bad)}.kind-plain{background:var(--panel-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.pick-add{border:1px dashed var(--line-strong);width:22px;height:22px;color:var(--muted);border-radius:6px;place-items:center;display:inline-grid}.pick:hover:not(:disabled) .pick-add{border-style:solid;border-color:var(--accent);background:var(--accent);color:var(--panel)}.subtabs{border-bottom:1px solid var(--line);gap:4px;padding:8px 8px 0;display:flex}.subtab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;align-items:center;gap:6px;margin-bottom:-1px;padding:6px 12px;font-weight:600;display:inline-flex}.subtab:hover:not(:disabled){color:var(--text)}.subtab:disabled{cursor:default;opacity:.6}.subtab[aria-selected=true]{background:var(--panel);border-color:var(--line);color:var(--text)}.subtab-count{text-align:center;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;min-width:20px;padding:0 6px;font-size:11.5px}.subtab[aria-selected=true] .subtab-count{color:var(--accent)}.link-btn{border:1px solid var(--line);background:var(--panel);color:var(--accent);font:600 12.5px/1.6 var(--mono);cursor:pointer;border-radius:5px;margin-left:6px;padding:0 7px}.link-btn:hover{border-color:var(--accent)}.board-col-foot .mark{width:20px;height:20px}.board-col-foot>span>.icon{color:var(--muted)}.board-col-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:inline-grid}.board-col-head .board-col-title{flex:1}.subtab .icon{opacity:.8}.subtab[aria-selected=true] .icon{opacity:1;color:var(--accent)}@media (width<=480px){.subtab .icon{display:none}}.board-empty>.icon{vertical-align:-3px;margin-right:6px}.board-empty>.board-empty-icon{color:var(--line-strong);margin:6px auto 10px;display:block}.fill-kinds{text-align:left;flex-direction:column;gap:7px;margin:4px 0 14px;padding:0;list-style:none;display:inline-flex}.fill-kinds li{color:var(--text);align-items:center;gap:9px;display:flex}.jump-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.jump-row .mark{margin-right:4px}.label-icon{color:var(--mods);margin-right:6px}.badge .icon{margin-left:-2px}.build-cost{align-items:flex-start;gap:7px;display:flex}.build-cost>.icon{margin-top:1px}.report summary .icon,.block-desc-head h3 .icon{vertical-align:-3px;color:var(--accent);margin-right:7px}.modal-head h2 .icon{color:var(--accent)}.item-icon{vertical-align:-3px;margin-right:7px;display:inline-flex}.ledger-kind{align-items:center;gap:6px;display:inline-flex}.block-line{align-items:center;gap:7px;margin:10px 0 0;display:flex}.card-tabs{align-items:flex-end;margin:-6px -4px 12px;padding:0 4px}.card-tabs .subtab{font-size:14px}.card-tabs-hint{margin-left:auto;padding:0 4px 8px;font-size:12.5px}.sub-summary{flex-wrap:wrap;gap:10px 18px;display:flex}.sub-stat{border:1px solid var(--line);background:var(--panel);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.sub-stat strong{font-variant-numeric:tabular-nums;font-size:16px}.ledger-kind .icon{color:var(--muted)}.balance-icon{color:var(--warn);align-self:center}.utility-chosen{border:1px solid color-mix(in srgb, var(--ok) 35%, transparent);background:var(--ok-soft);border-radius:9px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.utility-chosen>.icon{color:var(--ok);margin-top:2px}.utility-chosen>.option-main{flex:1}.utility-chosen>.btn{align-self:center}.utility-chosen+p{margin-top:8px}.hint-after{margin:10px 0 0}.block-desc{border-top:1px dashed var(--line);margin-top:14px;padding-top:12px}.block-desc-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.kv{grid-template-columns:160px 1fr;gap:4px 14px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.options{flex-direction:column;gap:8px;display:flex}.options-row{flex-flow:wrap}.option{border:1px solid var(--line);cursor:pointer;background:var(--panel);border-radius:9px;align-items:flex-start;gap:10px;min-width:180px;padding:10px 12px;display:flex}.option:hover{border-color:var(--accent)}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option input{margin-top:3px}.option-main{flex-direction:column;gap:2px;min-width:0;display:flex}.option-title{font-weight:600;font-family:var(--mono);flex-wrap:wrap;align-items:center;display:inline-flex}.option-sub{color:var(--muted);font-size:13px}.choice-row{background:var(--warn-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:8px 12px;display:flex}.repl-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.repl-list li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.cal-list{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:4px 14px;display:inline-flex}.slot-tag{background:var(--accent-soft);min-width:22px;height:19px;color:var(--accent);font:600 11.5px/1 var(--mono);font-variant-numeric:tabular-nums;border-radius:5px;flex:none;place-items:center;padding:0 4px;display:inline-grid}.slot-tag.slot-unknown{background:var(--panel-2);color:var(--muted)}.small-pre,.report pre,.row-details pre{font-family:var(--mono);white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:12.5px}.report summary{cursor:pointer;font-weight:650}.build-row{align-items:center}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}.grid th{background:var(--panel-2);text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:12.5px;font-weight:600;position:sticky;top:0}.grid td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 10px}.grid tr:last-child td{border-bottom:0}.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.grid td.mono{white-space:nowrap}.grid td.path{text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:var(--mono);font-size:12.5px;overflow:hidden}.grid select{max-width:420px;padding:3px 6px;font-size:13px}.grid input{padding:3px 6px;font-size:13px}.row-mods td{background:var(--mods-row)}.row-warn td{background:var(--warn-soft)}.row-bad td{background:var(--bad-soft)}.row-bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.row-skip td{color:var(--muted)}.row-details td{background:var(--panel-2)}.row-details pre{margin:0}.dropzone{border:2px dashed var(--line-strong);background:var(--panel);color:var(--muted);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:46px 20px;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropzone-title{color:var(--text);font-size:16px;font-weight:600}.headline{margin-bottom:8px;font-weight:600}.kind-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding-top:12px;display:flex}.newkind{background:var(--panel-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.messages{flex-direction:column;gap:8px;display:flex}.sticky-actions{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #1018280f}.items td:first-child{max-width:260px}.paths{margin:6px 0;padding-left:18px}.warn-list{max-height:50vh;padding-left:18px;overflow:auto}.store-layout{grid-template-columns:440px 1fr;align-items:start;gap:14px;display:grid}.store-main{flex-direction:column;gap:14px;min-width:0;display:flex}.tree{--tree-row:28px;--tree-glyph:18px;--tree-indent:13px;--tree-line:var(--line-strong);max-height:calc(100vh - 120px);padding:0 8px 8px;position:sticky;top:72px;overflow:auto}.tree-row{width:100%;height:var(--tree-row);color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) repeat(5,48px);align-items:center;padding:0 6px 0 4px;display:grid}button.tree-row{cursor:pointer}button.tree-row:hover{background:var(--panel-2)}.tree-row.active,.tree-row.active:hover{background:var(--accent-soft);color:var(--accent)}.tree-header{z-index:1;background:var(--panel);border-bottom:1px solid var(--line);width:auto;height:34px;color:var(--muted);letter-spacing:.2px;border-radius:0;margin:0 -8px 4px;padding:0 14px 0 12px;font-size:11.5px;font-weight:600;position:sticky;top:0}.tree-header .tree-num{color:var(--muted);cursor:help}.tree-label{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.tree-label>*{flex:none}.tree-glyph{width:var(--tree-glyph);height:var(--tree-glyph);color:var(--muted);place-items:center;display:inline-grid}.tree-row.active .tree-glyph{color:var(--accent)}.tree-chevron{font-size:12px;transition:transform .15s}.tree-chevron.open{transform:rotate(90deg)}.tree-sub{text-overflow:ellipsis;min-width:0;color:var(--muted);font-size:12px;overflow:hidden;flex:auto!important}.tree-type-name{text-overflow:ellipsis;min-width:0;overflow:hidden;flex:0 auto!important}.tree-tag{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:600;line-height:15px}.tree-empty{color:var(--muted);font-size:13px}.tree-num{text-align:right;font-variant-numeric:tabular-nums;padding-right:2px;font-size:12.5px}.tree-num-zero{color:var(--line-strong)}.tree-num-mods{color:var(--mods);font-weight:650}.tree-num-warn{color:var(--warn);font-weight:650}.tree-root strong,.tree-kind strong{font-weight:650}.tree-list,.tree-list ul{margin:0;padding:0;list-style:none}.tree-list ul{margin-left:var(--tree-indent)}.tree-list ul>li{padding-left:14px;position:relative}.tree-list ul>li:before{content:"";border-left:1px solid var(--tree-line);position:absolute;top:0;bottom:0;left:0}.tree-list ul>li:last-child:before{height:calc(var(--tree-row) / 2);bottom:auto}.tree-list ul>li:after{content:"";left:0;top:calc(var(--tree-row) / 2);border-top:1px solid var(--tree-line);width:16px;position:absolute}.modal-backdrop{z-index:100;background:#0f141e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:min(460px,100%);max-height:90vh;display:flex;box-shadow:0 20px 50px #00000040}.modal-wide{width:min(760px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{font-size:16px}.modal-body{padding:16px 18px;overflow:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.login-form{flex-direction:column;gap:12px;display:flex}.login-screen{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:24px;display:flex}.login-card h1,.login-card .login-form p{margin:0}.login-brand{margin-bottom:4px}.login-btn{justify-content:center}.code-cells{grid-template-columns:repeat(6,1fr);gap:8px;display:grid;position:relative}.code-cells .login-code{width:100%;height:100%;box-shadow:none;color:#0000;caret-color:#0000;cursor:text;background:0 0;border:0;outline:none;padding:0;font-size:16px;position:absolute;inset:0}.code-cells .login-code::selection{background:0 0}.code-cell{border:1px solid var(--line-strong);background:var(--panel-2);height:52px;font:600 24px/1 var(--mono);color:var(--text);pointer-events:none;border-radius:8px;place-items:center;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.code-cell.is-filled{background:var(--panel)}.code-cell.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel)}.code-cell.is-active:not(.is-filled):after{content:"";background:var(--accent);width:2px;height:24px;animation:1s step-end infinite code-caret}@keyframes code-caret{50%{opacity:0}}.code-cells:has(.login-code:disabled) .code-cell{color:var(--muted)}.login-alt{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.link-text{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.link-text:disabled{color:var(--muted);cursor:default}.login-note{border-top:1px dashed var(--line);color:var(--muted);margin:0;padding-top:12px;font-size:12.5px}.user-chip{flex-direction:column;align-items:flex-end;min-width:0;line-height:1.25;display:inline-flex}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.user-until{color:var(--muted);font-size:12px}.balance-chip{border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;display:inline-flex}.balance-chip:hover{border-color:var(--accent)}.balance-value{font-variant-numeric:tabular-nums;font-weight:700}.balance-label{color:var(--muted);font-size:12px}.help-menu{position:relative}.help-btn{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:999px;gap:6px;padding:5px 12px 5px 10px;box-shadow:0 2px 8px #2456c94d}.help-btn:hover:not(:disabled){filter:brightness(1.08);color:#fff;border-color:var(--accent)}.help-btn[aria-expanded=true] .help-chev{transform:rotate(180deg)}.help-pop{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;width:330px;max-width:calc(100vw - 32px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 36px #0000002e}.help-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.help-item:hover,.help-item:focus-visible{background:var(--accent-soft);color:var(--text)}.help-item>.icon{color:var(--accent);flex-shrink:0;margin-top:1px}.help-item>span{flex-direction:column;gap:2px;display:flex}.help-item .muted{font-size:12.5px}.modal:has(.help-video){width:min(1040px,100%)}.help-video{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;display:block}.help-video-note{margin:10px 0 0}@media (width<=900px){.help-pop{left:0;right:auto}}.tab-count{background:var(--warn);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 6px;font-size:11.5px;font-weight:700}.build-cost{margin:8px 0 0;font-size:13px}.btn-bad{background:var(--bad);border-color:var(--bad);color:#fff}.btn-bad:hover:not(:disabled){filter:brightness(1.08);color:#fff}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border:0;align-items:center;gap:5px;padding:4px 12px;font-size:13px;display:inline-flex}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.small{margin-top:2px;font-size:12px}.row-end-cell{white-space:nowrap;text-align:right}.row-end-cell .btn+.btn{margin-left:6px}.topup-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.topup-form .field{min-width:180px}.access-row{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.access-state{border:1px solid var(--line);border-radius:9px;flex:420px;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.access-state>.icon{flex:none}.access-state>div{flex:1;min-width:0}.access-state.is-open{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.access-state.is-open>.icon{color:var(--ok)}.access-state.is-closed{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.access-state.is-closed>.icon{color:var(--warn)}.access-add{flex:320px;align-items:flex-end;gap:10px;min-width:0;display:flex}.access-add .field input{width:100%}.switch{cursor:pointer;flex:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--line-strong);border-radius:999px;width:40px;height:22px;transition:background .15s;position:relative}.switch-thumb{background:var(--panel);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--ok)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.row-blocked td{background:color-mix(in srgb, var(--bad) 6%, transparent)}.row-blocked td:first-child{color:var(--muted);text-decoration:line-through}.btn-danger-ghost{color:var(--bad)}.btn-danger-ghost:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.grow{flex:240px}.field.field-inline.grow input{width:100%}@media (width<=1440px){.topbar{gap:16px}.brand-sub{display:none}.tab{padding:7px 10px}}@media (width<=900px){.topbar{flex-wrap:wrap;gap:10px;padding:10px 16px}.tabs{order:3;width:100%;overflow-x:auto}.topbar-right{flex-wrap:wrap;flex-shrink:1;width:100%;min-width:0;margin-left:0}.topbar-right>.btn:last-child{margin-left:auto}.user-chip{align-items:flex-start}.content{padding:14px 16px 30px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-columns:1fr}.board-side{max-height:none;scroll-margin-top:170px;position:static}.store-layout{grid-template-columns:1fr}.tree{max-height:60vh;position:static}.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.statusbar{padding:6px 16px}.statusbar-right{margin-left:0}}@media (width<=520px){.summary-grid{grid-template-columns:1fr}.field-inline{flex-wrap:wrap}}.ga-guess{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;flex-direction:column;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.ga-guess-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ga-guess-head .icon{color:var(--accent)}.ga-bars{flex-direction:column;gap:3px;display:flex}.ga-bar{color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:minmax(120px,220px) minmax(0,1fr) 60px;align-items:center;gap:12px;padding:5px 8px;display:grid}button.ga-bar{cursor:pointer}button.ga-bar:hover{border-color:var(--accent);background:var(--panel)}.ga-bar.is-selected{border-color:var(--accent);background:var(--accent-soft)}.ga-bar.is-other{color:var(--muted)}.ga-bar-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ga-bar-track{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.ga-bar-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.ga-bar.is-sure .ga-bar-fill{background:var(--ok)}.ga-bar.is-other .ga-bar-fill{background:var(--muted)}.ga-bar-pct{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.ga-why-title{font-size:13px;font-weight:600}.ga-why ul{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:13px}@media (width<=600px){.ga-bar{grid-template-columns:minmax(0,1fr) 52px;row-gap:4px}.ga-bar-track{grid-area:2/1/auto/-1}}.stats-grid td{white-space:nowrap}.stats-grid td.badges{white-space:normal;min-width:150px}.stats-grid td.badges .badge{margin:1px 4px 1px 0}.journal-grid td:nth-child(-n+2){white-space:nowrap}.stats-grid tfoot td{border-top:2px solid var(--line);background:var(--panel-2);border-bottom:0;font-weight:600}.check-line{cursor:pointer;align-items:center;gap:6px;margin-top:8px;display:inline-flex}.badge-stack{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.badge-stack>.badge{margin:0}.form-stack{flex-direction:column;gap:12px;display:flex}.form-stack .field input{width:100%}
