.spc-diff-top{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.spc-diff-tier{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--accent-hover);background:color-mix(in oklch, var(--accent) 12%, transparent);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;min-width:5rem}.spc-diff-label{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--fg-strong);margin-top:var(--space-xs);letter-spacing:var(--tracking-tight)}.spc-diff-sub{font-size:var(--text-xs);color:var(--fg-muted);line-height:var(--leading-normal);margin-top:var(--space-2xs)}.spc-diff-bar{gap:var(--space-2xs);padding-top:var(--space-md);grid-template-columns:repeat(6,1fr);margin-top:auto;display:grid}.spc-diff-bar i{background:var(--border);border-radius:var(--radius-2xs);height:4px;transition:background var(--dur-base);display:block}.spc-diff-bar i.on{background:var(--accent)}.spc-init .spc-gauge-fill,.spc-init .spc-diff-bar i{transition:none!important}.spc-gauge{gap:var(--space-xs);flex-direction:column;display:flex}.spc-gauge-track{border-radius:var(--radius-pill);background:var(--bg-subtle);border:var(--border-w) solid var(--border);height:16px;position:relative;overflow:hidden}.spc-gauge-fill{border-radius:var(--radius-pill);width:0%;transition:width .28s var(--ease-standard);background:linear-gradient(90deg,oklch(62% .16 145) 0%,oklch(65% .16 145) 25%,oklch(74% .15 75) 50%,oklch(65% .16 35) 75%,oklch(55% .18 25) 100%);position:absolute;inset:0}.spc-gauge-marker{background:var(--fg-strong);pointer-events:none;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.spc-gauge-marker:after{content:"";background:var(--fg-strong);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.spc-gauge-marker[hidden]{display:none}.spc-gauge-scale{font-size:var(--text-3xs);color:var(--fg-subtle);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.spc-rigs{margin-bottom:var(--space-lg)}.spc-rigs-bar{align-items:center;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border:var(--border-w) dashed var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.spc-rigs-label{align-items:center;gap:var(--space-xs);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--fg-muted);flex:none;display:inline-flex}.spc-rigs-label svg{color:var(--accent)}.spc-rigs-empty{font-size:var(--text-xs);color:var(--fg-subtle);line-height:var(--leading-normal);flex:auto;margin:0}.spc-rigs[data-empty=false] .spc-rigs-empty{display:none}.spc-rigs-chips{gap:var(--space-xs);flex-wrap:wrap;flex:auto;min-width:0;display:none}.spc-rigs[data-empty=false] .spc-rigs-chips{display:flex}.spc-rigs-chips .spc-rig-chip{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--fg-strong);font-size:var(--text-2xs);font-weight:var(--weight-semibold);cursor:pointer;min-height:44px;transition:var(--dur-micro);max-width:16rem;display:inline-flex}.spc-rigs-chips .spc-rig-chip:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklch, var(--accent) 6%, var(--bg-subtle))}.spc-rigs-chips .spc-rig-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;color:inherit;font:inherit;cursor:pointer;text-align:start;background:0 0;border:0;padding:0;overflow:hidden}.spc-rigs-chips .spc-rig-chip-meta{font-size:var(--text-3xs);font-weight:var(--weight-semibold);color:var(--fg-subtle);font-variant-numeric:tabular-nums}.spc-rigs-chips .spc-rig-chip:hover .spc-rig-chip-meta{color:inherit;opacity:.8}.spc-rigs-chips .spc-rig-chip-act{width:24px;height:24px;color:var(--fg-subtle);cursor:pointer;transition:var(--dur-micro);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.spc-rigs-chips .spc-rig-chip-act:hover{background:color-mix(in oklch, currentColor 14%, transparent);color:var(--fg-strong)}.spc-rigs-chips .spc-rig-chip-act[data-act=del]:hover{color:oklch(55% .18 25)}.spc-rigs-chips .spc-rig-chip.is-a{border-color:var(--accent);color:var(--accent)}.spc-rig-add{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:var(--border-w) solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-bold);cursor:pointer;min-height:44px;transition:filter var(--dur-micro);flex:none;margin-inline-start:auto;display:inline-flex}.spc-rig-add:hover{filter:brightness(1.08)}.spc-rig-add.saved{color:#fff;background:oklch(65% .16 145);border-color:oklch(65% .16 145)}.spc-compare{background:radial-gradient(70% 50% at 100% 0%, color-mix(in oklch, var(--accent) 10%, transparent), transparent 60%), var(--bg-elevated);border:var(--border-w) solid var(--accent);border-radius:var(--radius-xl);margin-bottom:var(--space-2xl);animation:spcCompareIn var(--dur-base) var(--ease-out);padding:clamp(1rem,.85rem + .6vw,1.4rem)}.spc-compare[hidden]{display:none}@keyframes spcCompareIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.spc-compare-head{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.spc-compare-kicker{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--accent)}.spc-compare-close{background:var(--bg-subtle);width:28px;height:28px;color:var(--fg-muted);border:var(--border-w) solid var(--border);cursor:pointer;transition:var(--dur-micro);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.spc-compare-close:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spc-compare-close:hover{color:var(--fg-strong);border-color:var(--accent)}.spc-compare-grid{gap:var(--space-md);grid-template-columns:1fr;align-items:stretch;display:grid}@media (width>=720px){.spc-compare-grid{gap:var(--space-lg);grid-template-columns:1fr auto 1fr}}.spc-compare-col{gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.spc-compare-col[data-side=a]{border-color:var(--accent)}.spc-compare-tag{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--fg-subtle)}.spc-compare-col[data-side=a] .spc-compare-tag{color:var(--accent)}.spc-compare-name{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--fg-strong)}.spc-compare-stats{margin:var(--space-2xs) 0 0;gap:var(--space-xs) var(--space-md);font-size:var(--text-xs);grid-template-columns:1fr auto;display:grid}.spc-compare-stats dt{color:var(--fg-muted);margin:0}.spc-compare-stats dd{color:var(--fg-strong);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-align:end;margin:0}.spc-compare-stats dd.is-better{color:oklch(52% .15 145)}.spc-compare-stats dd.is-worse{color:oklch(55% .18 25)}[data-theme=dark] .spc-compare-stats dd.is-better{color:oklch(82% .16 145)}[data-theme=dark] .spc-compare-stats dd.is-worse{color:oklch(78% .18 25)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .spc-compare-stats dd.is-better{color:oklch(82% .16 145)}:root:not([data-theme=light]) .spc-compare-stats dd.is-worse{color:oklch(78% .18 25)}}.spc-compare-vs{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:var(--tracking-caps-xs);padding:0 var(--space-xs);justify-content:center;align-items:center;display:flex}.spc-compare-verdict{margin:var(--space-lg) 0 0;padding:var(--space-md) var(--space-lg);background:var(--bg-subtle);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--fg-strong)}.spc-compare-verdict strong{color:var(--accent)}.spc-compare-actions{margin-top:var(--space-md);text-align:end}.spc-compare-load{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--bg-subtle);color:var(--fg-strong);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;min-height:44px;transition:var(--dur-micro);display:inline-flex}.spc-compare-load:hover{border-color:var(--accent);color:var(--accent)}.spc-config{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:1fr;display:grid}@media (width>=880px){.spc-config{grid-template-columns:repeat(3,1fr)}}.spc-card{background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);gap:var(--space-lg);flex-direction:column;padding:clamp(1rem,.85rem + .7vw,1.4rem);display:flex}.spc-card-head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.spc-card-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--fg-strong);letter-spacing:var(--tracking-tight);margin:0}.spc-card-tag{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--accent-hover);padding:var(--space-3xs) var(--space-sm);background:color-mix(in oklch, var(--accent) 12%, transparent);border-radius:var(--radius-pill)}.spc-field{gap:var(--space-xs);flex-direction:column;display:flex}.spc-field-inline{gap:var(--space-2xs);margin-top:var(--space-sm)}.spc-field label{font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-muted)}.spc-hint{font-size:var(--text-2xs);color:var(--fg-subtle);line-height:var(--leading-normal);margin:0}.spc-card select,.spc-card input[type=number]{width:100%;padding:var(--space-sm) var(--space-md);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-strong);font-size:var(--text-base);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);min-height:44px}.spc-card select:focus,.spc-card input:focus{outline:var(--focus-ring-soft);outline-offset:var(--focus-ring-offset);border-color:var(--accent)}.spc-unit-row{align-items:center;display:flex;position:relative}.spc-unit-row input{padding-right:var(--space-5xl)}.spc-unit{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--fg-subtle);pointer-events:none;position:absolute;right:.75rem}.spc-distance-row input{padding-right:var(--space-5xl)}.spc-unit-row .spc-unit-select{width:3rem;padding:0 var(--space-2xs);background:var(--bg-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--fg-strong);border:0;min-height:auto;position:absolute;top:4px;bottom:4px;right:4px}.spc-pillset{border:none;margin:0;padding:0}.spc-pillset legend{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--fg-muted);margin-bottom:var(--space-sm);padding:0}.spc-pillset+.spc-pillset{margin-top:var(--space-lg)}.spc-pills{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(min(7rem,100%),1fr));display:grid}.spc-pill{gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--fg);cursor:pointer;text-align:start;min-height:56px;transition:var(--dur-micro);flex-direction:column;align-items:flex-start;display:flex}.spc-pill:hover{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 4%, var(--bg-subtle))}.spc-pill.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.spc-pill-name{font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.spc-pill-val{font-size:var(--text-3xs);color:var(--fg-muted);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.spc-pill.active .spc-pill-val{color:var(--accent-fg)}.spc-toggles{gap:var(--space-sm);flex-direction:column;display:flex}.spc-toggle{column-gap:var(--space-sm);row-gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);background:var(--bg-subtle);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-micro);grid-template-columns:auto 1fr;align-items:start;display:grid}.spc-toggle:hover{border-color:var(--accent)}.spc-toggle input[type=checkbox]{margin:var(--space-3xs) 0 0;width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;grid-row:1/span 2}.spc-toggle-label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--fg-strong);line-height:var(--leading-snug)}.spc-toggle-hint{font-size:var(--text-2xs);color:var(--fg-subtle);line-height:var(--leading-normal)}.spc-source-actions{gap:var(--space-xs);flex-wrap:wrap;margin-top:auto;display:flex}.spc-share-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--fg-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;min-height:44px;transition:var(--dur-micro);display:inline-flex}.spc-share-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklch, var(--accent) 6%, var(--bg-subtle))}.spc-share-btn.copied{color:oklch(52% .15 145);background:oklch(65% .16 145/.1);border-color:oklch(52% .15 145)}.spc-chart-card{background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);margin-bottom:var(--space-2xl);padding:clamp(1rem,.85rem + .7vw,1.5rem)}.spc-chart-sub{margin:var(--space-md) 0 var(--space-lg);font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--leading-body);max-width:var(--measure-text)}.spc-chart-fig{background:var(--bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);margin:0;position:relative;overflow:hidden}#spc-curve{width:100%;height:auto;display:block}.spc-chart-legend{margin-top:var(--space-md);gap:var(--space-xs) var(--space-lg);font-size:var(--text-2xs);color:var(--fg-muted);flex-wrap:wrap;display:flex}.spc-leg{align-items:center;gap:var(--space-xs);display:inline-flex}.spc-leg-sw{border-radius:var(--radius-2xs);width:18px;height:3px;display:inline-block}.spc-leg-sw-curve{background:var(--brand-orange)}.spc-leg-sw-seat{background:var(--accent);border-radius:1px;width:3px;height:12px}.spc-leg-sw-amp{border:var(--border-w) dashed oklch(65% .16 145);background:0 0;height:2px}.spc-detail{gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-direction:column;display:flex}.spc-stats{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));display:grid}.spc-stats .spc-stat{padding:var(--space-md) var(--space-md);background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);gap:var(--space-2xs);flex-direction:column;min-height:4rem;display:flex}.spc-stats .spc-stat-label{font-size:var(--text-3xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--fg-subtle);line-height:var(--leading-snug)}.spc-stats .spc-stat-val{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--fg-strong);font-variant-numeric:tabular-nums;line-height:var(--leading-snug);display:block}.spc-math{background:0 0;border:0;border-radius:0;padding:0}.spc-math summary{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-muted);padding:var(--space-sm) var(--space-lg);background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-pill);transition:var(--dur-micro);list-style:none;display:inline-flex}.spc-math summary:hover{border-color:var(--accent);color:var(--accent)}.spc-math summary::-webkit-details-marker{display:none}.spc-math summary svg{transition:transform var(--dur-base)}.spc-math[open]{background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);padding:var(--space-md) var(--space-lg)}.spc-math[open] summary{padding:var(--space-3xs) 0;color:var(--fg-strong);font-size:var(--text-base);font-weight:var(--weight-bold);background:0 0;border:0;border-radius:0}.spc-math[open] summary:hover{color:var(--accent)}.spc-math[open] summary svg{transform:rotate(90deg)}.spc-math-steps{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-w) dashed var(--border);gap:var(--space-sm);flex-direction:column;display:flex}.spc-math-steps .spc-math-step{align-items:baseline;gap:var(--space-md);font-size:var(--text-xs);line-height:var(--leading-normal);grid-template-columns:1fr auto;display:grid}.spc-math-steps .spc-math-step:not(:first-child){border-top:var(--border-w) solid color-mix(in oklch, var(--border) 60%, transparent);padding-top:var(--space-sm)}.spc-math-steps .ms-label{color:var(--fg-muted)}.spc-math-steps .ms-formula{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent)}.spc-math-steps .ms-val{font-family:var(--font-serif);font-weight:var(--weight-bold);color:var(--fg-strong);font-variant-numeric:tabular-nums}.spc-math-steps .spc-math-step.ms-major .ms-val{color:var(--accent);font-size:var(--text-md)}.spc-recs{margin-bottom:var(--space-3xl);padding:var(--space-lg) var(--space-xl);background:var(--bg-elevated);border:var(--border-w) solid var(--border);border-inline-start:3px solid var(--accent);border-radius:var(--radius-md)}.spc-recs[hidden]{display:none}.spc-recs-title{margin:0 0 var(--space-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--fg-strong);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.spc-recs-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.spc-recs-list a{align-items:baseline;column-gap:var(--space-sm);padding:var(--space-md) var(--space-md);background:var(--bg-subtle);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);color:var(--fg-strong);transition:border-color var(--dur-fast), transform var(--dur-fast);grid-template-columns:auto 1fr;text-decoration:none;display:grid}.spc-recs-list a:hover{border-color:var(--accent);transform:translateY(var(--lift-xs))}.spc-recs-list .spc-rec-watts{font-family:var(--font-serif);font-weight:var(--weight-bold);color:var(--accent);font-size:var(--text-lg);line-height:var(--leading-none);font-variant-numeric:tabular-nums}.spc-recs-list .spc-rec-name{font-weight:var(--weight-bold);font-size:var(--text-base);line-height:var(--leading-snug)}.spc-recs-list .spc-rec-brand{font-size:var(--text-3xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps-sm);color:var(--fg-subtle);margin-bottom:var(--space-3xs);display:block}.spc-recs-list .spc-rec-meta{font-size:var(--text-2xs);color:var(--fg-muted);margin-top:var(--space-3xs);grid-column:2}.spc-recs-foot{margin:var(--space-md) 0 0;font-size:var(--text-xs)}.spc-recs-foot a{color:var(--accent);font-weight:var(--weight-semibold)}