:root{--bg: #12161c;--panel: #1b212a;--panel-2: #222a35;--line: #2e3846;--text: #e4e8ee;--muted: #8c97a6;--accent: #d4a945;--accent-ink: #1a1405;--good: #4fbf7f;--bad: #e5646a;--warn: #e8a33d;--input: #fff6d9;font-family:Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}.app{max-width:1280px;margin:0 auto;padding:16px 20px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar h1{font-size:22px;margin:0;color:var(--accent);letter-spacing:.3px}.topbar-actions{display:flex;gap:12px;align-items:center}select,button,textarea,input{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px}select{padding:6px 8px}button{padding:7px 14px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.tabs{display:flex;gap:4px;margin:18px 0 14px;border-bottom:1px solid var(--line)}.tabs button{border:none;border-radius:6px 6px 0 0;background:transparent;padding:10px 16px;color:var(--muted)}.tabs button.active{background:var(--panel);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 8px;font-size:18px}.steps{color:var(--muted);padding-left:20px;margin:0 0 12px;line-height:1.6}.steps b{color:var(--text)}textarea{width:100%;padding:10px;font-family:Consolas,Courier New,monospace;font-size:13px;resize:vertical}.row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;max-width:440px;width:100%;box-shadow:0 12px 40px #00000080}.modal h3{margin:0 0 8px;font-size:17px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.message{margin-top:12px;padding:10px 12px;border-radius:6px}.message.ok{background:#4fbf7f1f;border:1px solid rgba(79,191,127,.4)}.message.error{background:#e8a33d1f;border:1px solid rgba(232,163,61,.4)}.message details{margin-top:6px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--warn)}.good{color:var(--good)}.bad{color:var(--bad)}.strong{font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#1f3864;color:#fff;font-weight:600;font-size:13px;position:sticky;top:0}tfoot td{font-weight:700;background:#4fbf7f1a;border-top:2px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.plan{color:#9fd3a9;white-space:nowrap}td.input-cell{width:110px}th.input-col{padding-right:17px}.price-input{width:100%;min-width:90px;padding:5px 8px;text-align:right;background:var(--input);color:#1b2a8a;border-color:#d9c98f;font-variant-numeric:tabular-nums}.price-input::placeholder{color:#a8a08a}.item-name{display:inline-flex;align-items:center;gap:8px}.item-name img,.img-placeholder{width:28px;height:28px;object-fit:contain;flex:none}.img-placeholder{border-radius:4px;background:var(--panel-2)}.item-name small{display:block;color:var(--muted);font-size:11px}.equip{display:grid;grid-template-columns:1fr 260px;gap:18px}.equip h3{margin:0 0 10px;font-size:16px}.compare{background:var(--panel-2);border-radius:8px;padding:14px;align-self:start}.compare h4{margin:0 0 10px}.compare label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.compare dl{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:12px 0;font-size:13px}.compare dt{color:var(--muted)}.compare dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.verdict{text-align:center;font-weight:700;padding:8px;border-radius:6px;background:var(--panel)}.verdict.good{background:#4fbf7f26}.verdict.bad{background:#e5646a26}.verdict-cell{font-weight:700}.equip-good{background:#4fbf7f29;border-color:#4fbf7f8c}.equip-bad{background:#e5646a29;border-color:#e5646a8c}.equip-good .compare,.equip-bad .compare{background:#12161c8c}.equip-good .verdict.good{background:var(--good);color:#0d2417}.equip-bad .verdict.bad{background:var(--bad);color:#2a0b0d}.shopping-head{margin-top:0}.shopping-head h2{margin:0}.shopping-sub{margin:18px 0 8px;font-size:15px}.shopping-total{margin-top:16px;text-align:right;font-size:16px}.total-bar{text-align:right;font-size:15px}.together{margin-top:16px;display:grid;gap:6px;font-size:15px}@media (max-width: 900px){.equip{grid-template-columns:1fr}}a{color:var(--accent)}.space-between{justify-content:space-between}.url-row{flex-wrap:nowrap}.url-input{flex:1;padding:8px 10px;min-width:0}.fallback{margin-top:16px;padding:14px;border:1px dashed var(--line);border-radius:8px}.fallback h3{margin:0 0 8px;font-size:15px}.alt-import{margin-top:16px;color:var(--muted)}.alt-import summary{cursor:pointer;margin-bottom:8px}.equip-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px}.equip-list li label{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--panel-2);cursor:pointer}.equip-list li label>.small{margin-left:auto}.equip-list li.disabled{opacity:.5}.equip-list li.disabled label{cursor:default}.equip-list input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.ext-status{margin-top:10px}.ext-status summary{cursor:pointer}.ext-status .steps{margin-top:8px}code{background:var(--panel-2);padding:1px 6px;border-radius:4px;font-size:12px}.link-btn{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}.search{position:relative;margin-top:10px}.search .url-input{width:100%;font-size:15px;padding:10px 12px}.search-spinner{position:absolute;right:12px;top:12px}.search-results{position:absolute;z-index:10;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000073;max-height:420px;overflow:auto}.search-results li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:6px;cursor:pointer}.search-results li.active{background:#d4a94526}.set-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}.set-list li{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--panel-2);border-radius:6px}.set-list li>.small{margin-left:auto}.qty{display:inline-flex;align-items:center;gap:8px}.qty button{padding:2px 9px}.qty b{min-width:18px;text-align:center}.remove{background:transparent;border:none;color:var(--muted);padding:4px 8px}.remove:hover{color:var(--bad)}.name-input{flex:1;padding:7px 10px;min-width:0}.builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.builder .card{margin-bottom:0}.builder+.card{margin-top:16px}@media (max-width: 900px){.builder{grid-template-columns:1fr}}.step-title{display:flex;align-items:center;gap:10px}.step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:700;flex:none}.card h2.step-title{margin-bottom:14px}.set-head{margin-top:0}.set-head h2.step-title{margin-bottom:14px}.segmented{display:flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.segmented button{flex:1;border:none;background:transparent;color:var(--muted);padding:8px 10px;border-radius:6px}.segmented button.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.segmented button:hover:not(.active){color:var(--text)}.add-panel .steps{margin-bottom:10px}.add-panel>p:first-child{margin-top:0}.add-panel .search{margin-top:0}.hint{opacity:.8}.busy{margin-bottom:0}.field{display:flex;flex-direction:column;gap:4px}.field .name-input{width:100%}.builder-set .set-list{max-height:460px;overflow-y:auto}.empty-state{margin-top:14px;padding:24px 16px;text-align:center;border:1px dashed var(--line);border-radius:8px}.empty-state p{margin:0 0 4px}.set-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.set-footer .row{margin-top:0}button.big{padding:9px 20px;font-size:15px}button.danger{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}.saved h3{margin:0 0 10px;font-size:15px}.saved ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px}.saved li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-2);border-radius:6px}.saved-info{display:flex;flex-direction:column;flex:1;min-width:0}.saved-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved li>button:not(.remove){padding:4px 12px}
