:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1b2a;--bg-2:#13263a;--bg-3:#1b3350;--line:#2a466a;--fg:#e6edf3;--fg-2:#a8b7c7;--fg-3:#6f8298;--link:#8cbcf5;--primary:#2f74c8;--primary-hover:#3987e5;--series:#3987e5;--highlight:#c98500;--good:#0ca30c;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--radius:8px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sw-support-accent:var(--link)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--link)}button,input,select{font:inherit;color:inherit}.app{max-width:1440px;margin:0 auto;padding:20px 20px 60px}header.top{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}header.top h1{letter-spacing:.01em;margin:0;font-size:22px}header.top h1 span{color:var(--link)}header.top .tag{color:var(--fg-2)}header.top .pill{color:var(--link);border:1px solid;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:500}header.top .ver{color:var(--fg-3);font-family:var(--mono);margin-left:auto;font-size:12px}.layout{grid-template-columns:minmax(320px,400px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=960px){.layout{grid-template-columns:minmax(0,1fr)}}.col{flex-direction:column;gap:16px;min-width:0;display:flex}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:14px 16px}.card>h2{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);align-items:baseline;gap:8px;margin:0 0 10px;font-size:13px;font-weight:600;display:flex}.card>h2 .aside{text-transform:none;letter-spacing:0;color:var(--fg-3);margin-left:auto;font-weight:400}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.small{font-size:12px}.mono{font-family:var(--mono)}.drop{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--fg-2);background:var(--bg);cursor:pointer;padding:22px 16px;transition:border-color .15s,background .15s;display:block}.drop:hover,.drop.over{border-color:var(--link);background:var(--bg-3)}.drop strong{color:var(--fg)}.drop input{display:none}.drop .small{color:var(--fg-3);margin-top:4px;display:block}.drop:focus-within{outline:2px solid var(--link);outline-offset:2px}.models{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.model{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:8px 10px}.model .row{align-items:center;gap:8px;display:flex}.model .swatch{border-radius:2px;flex:none;width:10px;height:10px}.model .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.model .meta{color:var(--fg-3);font-family:var(--mono);margin-top:2px;font-size:12px}.model .controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.qty{border:1px solid var(--line);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.qty button{background:var(--bg-3);cursor:pointer;border:0;width:26px;height:26px}.qty input{background:var(--bg);text-align:center;-moz-appearance:textfield;border:0;width:44px;height:26px}.qty input::-webkit-inner-spin-button{display:none}.icon-btn{color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:16px;line-height:1}.icon-btn:hover{color:var(--fg);background:var(--bg-3)}.toggle{cursor:pointer;color:var(--fg-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field>span{color:var(--fg-2);font-size:12px}.field select,.field input[type=number],.field input[type=text]{background:var(--bg);border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:6px 8px}.field select:focus,.field input:focus{outline:2px solid var(--link);outline-offset:-1px}.grid2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.seg{border:1px solid var(--line);border-radius:6px;margin-bottom:10px;display:flex;overflow:hidden}.seg label{text-align:center;cursor:pointer;color:var(--fg-2);background:var(--bg);flex:1;padding:6px 8px}.seg label+label{border-left:1px solid var(--line)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:checked){background:var(--bg-3);color:var(--fg);font-weight:600}.seg label:has(input:focus-visible){outline:2px solid var(--link);outline-offset:-2px}details.more>summary{cursor:pointer;color:var(--fg-2);margin:4px 0 10px}.hint{color:var(--fg-3);margin:-4px 0 10px;font-size:12px}.btn{border:1px solid var(--line);background:var(--bg-3);cursor:pointer;border-radius:6px;padding:7px 14px}.btn:hover:not(:disabled){border-color:var(--link)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.big{width:100%;padding:10px 14px;font-size:15px}.actions{flex-wrap:wrap;gap:8px;display:flex}.progress{margin-top:10px}.progress .bar{background:var(--bg);border-radius:3px;height:6px;overflow:hidden}.progress .bar>div{background:var(--series);height:100%;transition:width .2s}.progress .label{color:var(--fg-2);justify-content:space-between;gap:8px;margin-top:4px;font-size:12px;display:flex}.msgs{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.msg{color:var(--fg-2);align-items:baseline;gap:6px;font-size:12.5px;display:flex}.msg .icon{text-align:center;flex:none;width:1.2em;font-weight:700}.msg .lvl{color:var(--fg);flex:none;font-weight:600}.msg.error .icon{color:var(--critical)}.msg.warning .icon{color:var(--warning)}.msg.info .icon{color:var(--fg-3)}.msg.good .icon{color:var(--good)}.banner{border-radius:var(--radius);border:1px solid var(--critical);background:#d03b3b1f;padding:10px 14px}.hero{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.hero .big{font-size:34px;font-weight:700;line-height:1.1}.hero .big small{color:var(--fg-2);font-size:15px;font-weight:500}.stats{flex-wrap:wrap;gap:22px;display:flex}.stat .v{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.stat .k{color:var(--fg-3);font-size:12px}.reason{color:var(--fg-2);margin:10px 0 0}.plan{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.bed{background:var(--bg);touch-action:none;border-radius:6px;height:420px;position:relative;overflow:hidden}.bed canvas{display:block}.bed .overlay{color:var(--fg-3);pointer-events:none;font-size:12px;position:absolute;bottom:8px;left:10px}.bed .views{gap:4px;display:flex;position:absolute;top:8px;right:8px}.bed .views button{border:1px solid var(--line);cursor:pointer;background:#0d1b2acc;border-radius:4px;padding:2px 8px;font-size:12px}.legend{color:var(--fg-2);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .axis text{fill:var(--fg-3);font-variant-numeric:tabular-nums;font-size:11px}.chart .grid line{stroke:var(--line);stroke-width:1px;opacity:.6}.chart .label{fill:var(--fg);font-size:12px;font-weight:600}.chart .label.sub{fill:var(--fg-2);font-weight:400}.tooltip{pointer-events:none;background:var(--bg-3);border:1px solid var(--line);white-space:nowrap;z-index:2;border-radius:6px;padding:6px 9px;font-size:12px;position:absolute;box-shadow:0 4px 14px #00000059}.tooltip b{font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table.plates{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.plates th,table.plates td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:5px 8px}table.plates th{color:var(--fg-3);background:var(--bg-2);font-size:12px;font-weight:500;position:sticky;top:0}table.plates td.l,table.plates th.l{text-align:left}table.plates tbody tr{cursor:pointer}table.plates tbody tr:hover{background:var(--bg-3)}table.plates tr.selected{background:#3987e529}.badge{border:1px solid;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.badge.rec{color:var(--highlight)}.badge.fast{color:var(--fg-2)}.status-cell{align-items:baseline;gap:4px;display:inline-flex}.status-cell .icon.ok{color:var(--good)}.status-cell .icon.warn{color:var(--warning)}.status-cell .icon.fail{color:var(--critical)}.empty{color:var(--fg-3);text-align:center;padding:30px 10px}footer.engine{color:var(--fg-3);margin-top:28px;font-size:12px;line-height:1.6}footer.engine p{margin:0 0 4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
