.ac-planner{--ac-accent:var(--accent);--ac-better:#4ea8ff;--ac-worse:var(--danger);--ac-near:var(--warning);--ac-panel:color-mix(in srgb, var(--surface) 92%, var(--ac-accent) 8%);--ac-line:color-mix(in srgb, var(--border) 70%, var(--ac-accent) 30%);gap:var(--s-4);display:grid}:root[data-theme=light] .ac-planner{--ac-better:#1764c4}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .ac-planner{--ac-better:#1764c4}}.ac-toolbar{gap:var(--s-2);flex-wrap:wrap;display:flex}.ac-skeleton{border-radius:var(--r-lg);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;min-height:520px;animation:1.4s linear infinite ac-shimmer}@keyframes ac-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ac-skeleton{animation:none}}.ac-alerts{gap:var(--s-2);display:grid}.ac-alert{gap:var(--s-3);border:1px solid var(--ac-line);border-radius:var(--r-md);background:var(--surface);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);border-left-width:4px;align-items:flex-start;margin:0;display:flex}.ac-alert__tag{font-family:var(--font-mono);letter-spacing:.12em;font-weight:700;font-size:var(--text-xs);border-radius:var(--r-sm);white-space:nowrap;flex:none;margin-top:1px;padding:3px 8px}.ac-alert__body{gap:2px;min-width:0;display:grid}.ac-alert__why{color:var(--text-muted);font-size:var(--text-xs)}.ac-alert.is-danger{border-color:color-mix(in srgb, var(--ac-worse) 55%, transparent);background:color-mix(in srgb, var(--ac-worse) 9%, var(--surface))}.ac-alert.is-danger .ac-alert__tag{background:var(--ac-worse);color:#fff}.ac-alert.is-danger strong{color:var(--ac-worse)}.ac-alert.is-warning{border-color:color-mix(in srgb, var(--ac-near) 55%, transparent);background:color-mix(in srgb, var(--ac-near) 9%, var(--surface))}.ac-alert.is-warning .ac-alert__tag{background:var(--ac-near);color:#1a1200}.ac-alert.is-warning strong{color:var(--ac-near)}.ac-alert.is-ok{color:var(--text-muted);align-items:center}.ac-alert.is-ok .ac-alert__tag{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.ac-alert__note{font-size:var(--text-xs);color:var(--text-subtle);margin:0}.ac-layout{gap:var(--s-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1500px){.ac-layout{grid-template-columns:minmax(0,1.25fr) minmax(400px,1fr)}}@media (width>=900px) and (width<=1499px){.ac-specgroup dl{columns:2;column-gap:var(--s-6);display:block}.ac-spec{break-inside:avoid}.ac-gauges{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr))}}.ac-bay{gap:var(--s-2);background:linear-gradient(180deg, color-mix(in srgb, var(--ac-accent) 6%, transparent), transparent 60%), var(--ac-panel);border:1px solid var(--ac-line);border-radius:var(--r-lg);padding:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(140px,220px) minmax(0,1fr);grid-template-areas:"left frame right""inner inner inner";align-items:stretch;display:grid}.ac-bay__col{gap:var(--s-2);align-content:center;min-width:0;display:grid}.ac-bay__col:first-child{grid-area:left}.ac-bay__col:nth-child(3){grid-area:right}.ac-bay__frame{grid-area:frame;place-items:center;min-width:0;display:grid}.ac-bay__inner{gap:var(--s-2);grid-area:inner;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=760px){.ac-bay{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"frame frame""left right""inner inner"}.ac-bay__frame .ac-frame{max-height:220px}.ac-bay__inner{grid-template-columns:repeat(2,minmax(0,1fr))}}.ac-frame{width:100%;max-width:220px;height:auto;display:block}.ac-frame__grid line{stroke:var(--ac-line);stroke-width:.5px;opacity:.5}.ac-frame__part{cursor:pointer;stroke-width:1.4px;stroke-linejoin:round;fill:color-mix(in srgb, var(--text) 16%, transparent);stroke:color-mix(in srgb, var(--text) 45%, transparent);transition:fill var(--dur) var(--ease), stroke var(--dur) var(--ease)}.ac-frame__part.is-fitted{fill:color-mix(in srgb, var(--ac-accent) 26%, transparent);stroke:color-mix(in srgb, var(--ac-accent) 75%, var(--text))}.ac-frame__part.is-empty{fill:#0000;stroke-dasharray:3 3}.ac-frame__part.is-open,.ac-frame__part.is-preview{fill:color-mix(in srgb, var(--ac-accent) 60%, transparent);stroke:var(--ac-accent)}.ac-frame__part.is-over{fill:color-mix(in srgb, var(--ac-worse) 45%, transparent);stroke:var(--ac-worse)}.ac-frame__part.is-locked{cursor:default;opacity:.55}.ac-frame__part:hover{stroke:var(--ac-accent)}.ac-tile{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ac-line);border-radius:var(--r-md);width:100%;min-width:0;min-height:64px;color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease);gap:2px;padding:8px 12px;display:grid}.ac-tile:hover{border-color:var(--border-strong);border-left-color:var(--ac-accent)}.ac-tile:focus-visible{box-shadow:var(--ring);outline:none}.ac-tile.is-open,.ac-tile.is-preview{border-color:var(--ac-accent);background:var(--accent-soft)}.ac-tile.is-over{border-left-color:var(--ac-worse)}.ac-tile.is-empty{border-style:dashed dashed dashed solid}.ac-tile:disabled{cursor:default;opacity:.75}.ac-tile__label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);font-size:10px;font-weight:600}.ac-tile__name,.ac-tile__stat{overflow-wrap:normal;word-break:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.ac-tile__name{font-weight:650;font-size:var(--text-sm)}.ac-tile__stat{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.ac-tile.is-empty .ac-tile__name{color:var(--text-subtle);font-weight:500}.ac-specs{background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);min-width:0}.ac-specs__head{align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:space-between;display:flex}.ac-specs__head h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.16em;margin:0;font-weight:700}.ac-gauges{gap:var(--s-3);margin-top:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--ac-line);display:grid}.ac-gauge__top{justify-content:space-between;align-items:baseline;gap:var(--s-2);font-size:var(--text-sm);display:flex}.ac-gauge__label{color:var(--text-muted)}.ac-gauge__val b{font-size:var(--text-base)}.ac-gauge__from,.ac-gauge__limit{color:var(--text-subtle)}.ac-gauge__bar,.ac-mini__bar{border-radius:var(--r-full);background:color-mix(in srgb, var(--text) 10%, transparent);height:10px;margin-top:6px;display:block;position:relative;overflow:hidden}.ac-gauge__ok{background:linear-gradient(90deg, color-mix(in srgb, var(--ac-accent) 70%, transparent), var(--ac-accent));border-radius:inherit;transition:width var(--dur) var(--ease);position:absolute;inset:0 auto 0 0}.ac-gauge__over{background:repeating-linear-gradient(135deg, var(--ac-worse) 0 6px, color-mix(in srgb, var(--ac-worse) 70%, #000) 6px 12px);position:absolute;top:0;bottom:0}.ac-gauge__limitmark{background:var(--text);opacity:.7;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.ac-gauge__ghost{background:var(--ac-better);width:3px;box-shadow:0 0 0 2px color-mix(in srgb, var(--ac-better) 30%, transparent);margin-left:-1.5px;position:absolute;top:0;bottom:0}.ac-gauge.is-near .ac-gauge__ok,.ac-mini.is-near .ac-gauge__ok{background:linear-gradient(90deg, color-mix(in srgb, var(--ac-near) 70%, transparent), var(--ac-near))}.ac-gauge.is-over .ac-gauge__ok,.ac-mini.is-over .ac-gauge__ok{background:color-mix(in srgb, var(--ac-worse) 55%, var(--ac-accent))}.ac-gauge.is-over .ac-gauge__val b{color:var(--ac-worse)}.ac-gauge__foot{font-size:var(--text-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums;margin-top:4px}.ac-gauge__foot .is-over{color:var(--ac-worse);font-weight:600}@media (prefers-reduced-motion:reduce){.ac-gauge__ok{transition:none}}.ac-specgroup{margin-top:var(--s-3)}.ac-specgroup h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);margin:0 0 var(--s-1)}.ac-specgroup dl{margin:0;display:grid}.ac-spec{gap:var(--s-2);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);font-size:var(--text-sm);border-radius:var(--r-sm);grid-template-columns:minmax(0,1fr) auto 76px;align-items:baseline;margin:0 -6px;padding:5px 6px;display:grid}.ac-spec:has(.ac-spec__vs){grid-template-columns:minmax(0,1fr) auto auto 76px}.ac-spec.is-changed{background:color-mix(in srgb, var(--ac-better) 7%, transparent)}.ac-spec dt{color:var(--text-muted);align-items:center;gap:6px;min-width:0;display:flex}.ac-spec dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ac-spec__vs{color:var(--text-subtle);font-weight:400!important}.ac-spec__delta{min-width:0}.ac-basis{border-radius:var(--r-full);color:var(--text-subtle);border:1px solid var(--border);padding:2px 5px;font-size:10px;line-height:1;display:inline-block}.ac-basis.is-verified{background:var(--success);border-color:var(--success);width:8px;height:8px;padding:0}.ac-basis.is-sum,.ac-basis.is-part{display:none}.ac-basis.is-community{border-color:var(--warning);color:var(--warning)}.ac-delta{font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;color:var(--text-muted)}.ac-delta.is-better{color:var(--ac-better)}.ac-delta.is-worse{color:var(--ac-worse)}.ac-delta.is-flat{visibility:hidden}.ac-legend{font-weight:600}.ac-legend.is-better{color:var(--ac-better)}.ac-legend.is-worse{color:var(--ac-worse)}.ac-fire-wrap{overflow-x:auto}.ac-fire{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ac-fire th,.ac-fire td{border-bottom:1px solid var(--border);text-align:left;padding:5px 4px}.ac-fire .num{text-align:right;font-family:var(--font-mono)}.ac-fire th[scope=row]{font-weight:500}.ac-sheet-layer{z-index:60;position:fixed;inset:0}.ac-sheet-backdrop{animation:ac-fade var(--dur) var(--ease);background:#0000008c;position:absolute;inset:0}.ac-sheet{gap:var(--s-2);background:var(--bg);border-left:1px solid var(--ac-line);width:min(880px,100vw);padding:var(--s-3) var(--s-4);animation:ac-slide-in calc(var(--dur) * 1.5) var(--ease);grid-template-rows:auto auto auto minmax(0,1fr) auto;display:grid;position:absolute;top:0;bottom:0;right:0;box-shadow:-24px 0 60px #00000059}@keyframes ac-fade{0%{opacity:0}}@keyframes ac-slide-in{0%{opacity:0;transform:translate(32px)}}@media (width<=760px){.ac-sheet{border-left:0;border-top:1px solid var(--ac-line);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100vw;height:92dvh;padding:var(--s-3);animation-name:ac-rise;top:auto;left:0}@keyframes ac-rise{0%{opacity:0;transform:translateY(32px)}}}@media (prefers-reduced-motion:reduce){.ac-sheet,.ac-sheet-backdrop{animation:none}}.ac-sheet__head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.ac-sheet__head h2{font-size:var(--text-xl);margin:0}.ac-sheet__kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--text-subtle);margin:0;font-size:10px;font-weight:700}.ac-sheet__equipped{font-size:var(--text-sm);color:var(--text-muted);margin:2px 0 0}.ac-sheet__impact{gap:var(--s-2) var(--s-4);background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ac-mini{min-width:0;font-size:var(--text-xs);gap:2px;display:grid}.ac-mini__label{color:var(--text-muted)}.ac-mini__bar{height:6px;margin-top:2px}.ac-mini__val{font-variant-numeric:tabular-nums;white-space:nowrap}.ac-mini.is-over .ac-mini__val{color:var(--ac-worse);font-weight:700}.ac-sheet__keys{gap:var(--s-1) var(--s-4);font-size:var(--text-xs);flex-wrap:wrap;grid-column:1/-1;margin:0;display:flex}.ac-sheet__keys div{align-items:baseline;gap:6px;display:flex}.ac-sheet__keys dt{color:var(--text-muted)}.ac-sheet__keys dd{gap:6px;margin:0;font-weight:600;display:flex}@media (width<=560px){.ac-sheet__impact{grid-template-columns:minmax(0,1fr)}}.ac-sheet__controls{gap:var(--s-2);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=560px){.ac-sheet__controls{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.ac-sort{font-size:var(--text-xs);color:var(--text-muted);gap:4px;display:grid}@media (width>=761px){.ac-sort{display:none}}.ac-table{border:1px solid var(--border);border-radius:var(--r-md);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.ac-table__head,.ac-option{grid-template-columns:var(--ac-cols);gap:var(--s-2) var(--s-3);align-items:center;display:grid}.ac-table__head{background:var(--surface-2);border-bottom:1px solid var(--border);font-size:var(--text-xs);color:var(--text-subtle);padding:6px 12px;position:sticky;top:0}.ac-th{text-align:right;white-space:nowrap}.ac-th.is-name{text-align:left}.ac-th__btn{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:2px 0}.ac-th__btn:hover,.ac-th__btn.is-active{color:var(--text)}.ac-th__btn:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}.ac-table__body{overscroll-behavior:contain;margin:0;padding:4px;list-style:none;overflow:auto}.ac-option{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px}.ac-option:hover,.ac-option:focus-visible{background:var(--surface-2);outline:none}.ac-option:focus-visible{box-shadow:var(--ring)}.ac-option.is-current{border-color:var(--accent-border);background:var(--accent-soft)}.ac-option__name{min-width:16ch;display:grid}.ac-option__title{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;font-weight:650;overflow:hidden}.ac-option__kind{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ac-option__stat{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;justify-items:end;display:grid}.ac-option__stat.is-sorted .num{font-weight:700}.ac-sheet__note{margin:0}@media (width<=760px){.ac-table__head{display:none}.ac-option{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-option__name{grid-column:1/-1;min-width:0}.ac-option{gap:4px var(--s-3)}.ac-option__stat{font-size:var(--text-xs);flex-wrap:wrap;place-items:baseline start;gap:0 6px;display:flex}.ac-option__stat:before{content:attr(data-label);color:var(--text-subtle);flex-basis:100%;font-size:10px}}.ac-saved{gap:var(--s-2);display:grid}.ac-saved h2{font-size:var(--text-lg);margin:0}.ac-saved__form{gap:var(--s-2);max-width:480px;display:flex}.ac-saved__form .input{flex:1;min-width:0}.ac-saved__list{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ac-saved__list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full);align-items:center;gap:4px;padding:2px 4px 2px 12px;display:flex}.ac-saved__del{font-size:var(--text-xs);padding:2px 8px}.ac-saved .link{cursor:pointer;color:var(--accent);font:inherit;background:0 0;border:0;padding:0}.ac-how{margin-top:var(--s-8)}.ac-curve{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;display:flex}.ac-curve b{color:var(--text)}.hy-table-wrap.is-flat{margin:0;padding:0}
