.eq-page{padding:24px 0 42px;min-width:0}
.eq-page h1,.eq-page h2,.eq-dialog h2{font-family:var(--heading-font);font-weight:400;line-height:1.2;letter-spacing:-.7px}
.eq-page h1{font-size:32px;margin:0 0 7px}
.eq-page h2{font-size:24px;margin:0}
.eq-page h3{font-size:14px;margin:0;font-weight:600}
.eq-page p{margin:0}
.eq-page small{font-size:12px;line-height:1.5;color:var(--muted)}
.eq-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.eq-heading p{font-size:12px;color:var(--muted)}
.eq-page button,.eq-dialog button{min-height:44px;border-radius:8px;font:inherit;line-height:1.4;padding:9px 12px}
.eq-primary{border:1px solid var(--accent);color:var(--on-accent);background:var(--accent);font-weight:600}
.eq-primary:hover:not(:disabled){background:#294638}
.eq-secondary,.eq-kit-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.eq-secondary:hover:not(:disabled),.eq-kit-button:hover:not(:disabled){background:var(--accent-soft)}
.eq-link{border:0;background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:12px!important}
.eq-link:hover:not(:disabled){background:var(--surface-alt)}
.eq-storage{font-size:12px;color:var(--muted);margin-bottom:22px;line-height:1.6}
.eq-storage p{margin:0}
.eq-workspace{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:26px;align-items:start}
.eq-inventory,.eq-editor{min-width:0}
.eq-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.eq-section-head small{flex-shrink:0}
.eq-kit-button{width:100%;text-align:left;margin-bottom:12px;font-size:12px!important}
.eq-inventory>input[type=search]{width:100%;margin-bottom:6px;font-size:14px}
.eq-group-title{margin:18px 0 8px!important}
.eq-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:8px;cursor:grab}
.eq-item[draggable=false]{cursor:default}
.eq-item[data-selected=true]{background:var(--surface-alt)}
.eq-grip{font-size:19px;color:var(--muted);align-self:center}
.eq-item-copy{min-width:0}
.eq-item-copy strong,.eq-item-copy small{display:block;overflow-wrap:anywhere}
.eq-item-copy strong{font-size:14px;font-weight:600;margin:1px 0 4px}
.eq-item-actions{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;margin-top:1px}
.eq-item-actions button{font-size:12px}
.eq-empty{padding:18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px;background:var(--surface-alt)}
.eq-editor{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}
.eq-slots{display:grid;gap:0}
.eq-slot{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:10px 6px;position:relative;border:1px solid transparent;border-radius:10px;min-width:0}
.eq-slot[data-invalid=true]{border-color:var(--danger);background:#f8ebdf}
.eq-slot.eq-drop-ready{border:1px dashed var(--accent);background:var(--accent-soft)}
.eq-slot.eq-drop-over{outline:2px solid var(--accent);outline-offset:-2px}
.eq-diagram{display:block;position:relative;width:78px;padding:0!important;border:0;background:transparent;color:var(--accent);align-self:start}
.eq-diagram svg{width:72px;height:105px;margin:auto;overflow:visible;pointer-events:none}
.eq-solid{fill:var(--surface-alt);stroke:currentColor;stroke-width:1.5}
.eq-glass{fill:var(--accent-soft);stroke:currentColor;stroke-width:1.5}
.eq-line{fill:none;stroke:currentColor;stroke-width:1.5}
.eq-slot[data-filled=false] .eq-solid,.eq-slot[data-filled=false] .eq-glass{fill:none;stroke-dasharray:4 4}
.eq-slot[data-filled=false] .eq-diagram{color:var(--muted)}
.eq-slot[data-invalid=true] .eq-diagram{color:var(--danger)}
.eq-junction{display:block;position:absolute;width:0;height:18px;bottom:-21px;left:50%;border-left:2px dashed var(--line);pointer-events:none}
.eq-junction[data-match=matched]{border-color:var(--accent);border-left-style:solid}
.eq-junction[data-match=incompatible]{border-color:var(--danger)}
.eq-junction[data-match=unknown]{border-color:var(--danger);border-left-style:dotted}
.eq-slot-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:6px}
.eq-slot-type{font-size:12px;color:var(--muted)}
.eq-slot-copy>strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.eq-slot-copy>strong.eq-placeholder{font-weight:400;color:var(--muted)}
.eq-slot-controls{display:flex;flex-wrap:wrap;gap:5px}
.eq-slot-controls button{font-size:12px}
.eq-picker{grid-column:1/-1;display:grid;gap:7px;border-top:1px solid var(--line);padding:12px 0;margin-top:6px;min-width:0}
.eq-picker>div{display:grid;gap:3px;min-width:0}
.eq-picker button{text-align:left;overflow-wrap:anywhere}
.eq-units{grid-column:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.eq-units select{width:65px;padding:6px}
.eq-fit{font-size:12px;line-height:1.6;margin-top:10px;color:var(--muted)}
.eq-fit:empty{display:none}
.eq-fit p+p{margin-top:6px}
.eq-warning{color:var(--danger)!important}
.eq-error{color:var(--danger);background:#f8ebdf;border:1px solid #d7ad90;border-radius:9px;padding:12px;overflow-wrap:anywhere}
.eq-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.eq-field input,.eq-field select{width:100%}
.eq-config-name{margin-top:19px}
.eq-config-name input{font-size:16px}
.eq-save-row{display:flex;justify-content:flex-end;gap:10px;margin-top:13px}
.eq-help{font-size:12px!important;line-height:1.65;color:var(--muted);margin-top:10px!important;overflow-wrap:anywhere}
.eq-live{min-height:24px;font-size:13px;margin-top:16px!important;overflow-wrap:anywhere}
.eq-live:empty{min-height:0;margin:0!important}
.eq-saved{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.eq-saved>h2{margin-bottom:12px}
.eq-saved-row{padding:17px 0;border-bottom:1px solid var(--line);display:grid;gap:12px;min-width:0}
.eq-saved-copy{min-width:0}
.eq-saved-copy h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}
.eq-state{font-size:11px;font-weight:400;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent)}
.eq-saved-actions,.eq-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.eq-saved-actions button{font-size:12px}
.eq-dialog{width:min(580px,calc(100% - 28px));padding:24px}
.eq-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.eq-dialog-head h2{font-size:26px;margin:0}
.eq-dialog-head button{flex-shrink:0}
.eq-dialog p{font-size:13px;color:var(--muted);line-height:1.7}
.eq-dialog .eq-error{color:var(--danger)}
.eq-form{display:grid;gap:14px}
.eq-form .eq-actions{margin-top:8px}
.eq-dialog>.eq-actions{margin-top:18px}
.eq-kit-parts{display:grid;gap:14px}
.eq-kit-part{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}
.eq-kit-part legend{padding:0 5px;font-size:13px}
.eq-kit-part legend label{display:flex;align-items:center;gap:9px}
.eq-kit-part input[type=checkbox]{min-height:22px;width:22px;height:22px;accent-color:var(--accent)}
.eq-source{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:flex-start}
@media(max-width:720px){
  .eq-page{padding-top:22px}
  .eq-workspace{grid-template-columns:1fr;gap:26px}
  .eq-editor{grid-row:1;padding:15px}
  .eq-item{grid-template-columns:14px minmax(0,1fr) auto}
  .eq-item-actions{grid-column:3;display:flex;flex-direction:column;justify-content:center;gap:0;margin:0}
  .eq-section-head h2{font-size:23px}
  .eq-heading h1{font-size:29px}
}
@media(max-width:390px){
  .eq-page button{padding:8px 10px}
  .eq-editor{padding:12px}
  .eq-slot{grid-template-columns:66px minmax(0,1fr);gap:7px;padding-inline:0}
  .eq-diagram{width:66px}
  .eq-diagram svg{width:62px;height:102px}
  .eq-item{grid-template-columns:12px minmax(0,1fr)}
  .eq-item-actions{grid-column:2;flex-direction:row;justify-content:flex-start;gap:8px}
  .eq-kit-part{grid-template-columns:1fr}
  .eq-dialog{padding:18px}
}
@media(prefers-reduced-motion:no-preference){.eq-slot{transition:background .12s,border-color .12s}}
