/* Samvora shared experience styles. Whitespace-only compaction: tools/optimize-v32-presentation.mjs. */
:root{--f-dg:#b4532a;--dg:#9a4320;}
.theme-dark{--f-dg:#ff9b6b;--dg:#ffb08a;}
.entry-grid{display:grid;gap:14px;margin-top:32px;}
@media (min-width:720px){.entry-grid{grid-template-columns:1fr 1fr;}
}
.entry{display:grid;gap:6px;padding:20px 22px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-decoration:none;transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;}
.entry:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-2);}
.entry .mono{color:var(--teal);}
.entry b{font-size:1.12rem;letter-spacing:-.015em;}
.entry span:last-child{color:var(--text-2);font-size:.92rem;}
.entry--primary{background:linear-gradient(160deg, #0b2f25, #14513d);border-color:transparent;color:#eef3f7;}
.entry--primary .mono{color:#8fd3dc;}
.entry--primary span:last-child{color:#b1c0cd;}
.trust-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.86rem;color:var(--text-3);}
.trust-row span::before{content:"✓";color:var(--store);margin-right:6px;font-weight:700;}
.xp{display:grid;gap:clamp(20px, 3vw, 32px);align-items:start;}
@media (min-width:1100px){.xp{grid-template-columns:minmax(340px, 0.82fr) 1.38fr;}
.xp-form{position:sticky;top:calc(var(--header-h) + 16px);max-height:calc(100vh - var(--header-h) - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;}
}
.xp-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:18px clamp(16px, 2vw, 22px) 16px;box-shadow:var(--shadow);min-width:0;}
.xp-steps{list-style:none;display:grid;grid-template-columns:repeat(6, 1fr);gap:4px;}
.xp-steps button{width:100%;display:grid;gap:2px;justify-items:start;padding:7px 6px;border:0;border-radius:9px;background:none;text-align:left;color:var(--text-3);font-size:.7rem;line-height:1.2;min-height:44px;}
.xp-steps button b{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.06em;}
.xp-steps button[aria-current="step"]{background:var(--teal-soft);color:var(--teal);}
.xp-steps button.is-done{color:var(--text-2);}
.xp-steps button.is-done b::after{content:" ✓";color:var(--store);}
@media (max-width:560px){.xp-steps button span{display:none;}
.xp-steps button{justify-items:center;}
}
.xp-progress{height:3px;border-radius:2px;background:var(--surface-3);margin:8px 0 16px;overflow:hidden;}
.xp-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg, var(--orange), var(--leaf));transition:width .35s var(--ease);}
.xp-step{border:0;margin:0;padding:0;min-width:0;}
.xp-step legend{display:grid;gap:4px;padding:0;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;outline:none;}
.xp-step legend .mono{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500;}
.xp-hint{font-size:.84rem;color:var(--text-3);margin-top:4px;}
.xp-q{margin-top:18px;}
.xp-q[hidden]{display:none;}
.xp-ql{display:block;font-weight:600;font-size:.93rem;margin-bottom:8px;}
.xp-opts{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:6px;}
.xp-opts[hidden]{display:none;}
.xp-opts--chips{display:flex;flex-wrap:wrap;}
.xp-opt{position:relative;display:flex;}
.xp-opt[hidden]{display:none;}
.xp-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.xp-opt span{flex:1;display:flex;align-items:center;min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);font-size:.87rem;line-height:1.3;transition:border-color .15s, background .15s, color .15s;}
.xp-opts--chips .xp-opt span{border-radius:999px;min-height:40px;}
.xp-opt:hover span{border-color:var(--text-3);}
.xp-opt input:checked + span{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600;}
.xp-opt input[type="checkbox"]:checked + span::before{content:"✓";margin-right:6px;}
.xp-opt input:focus-visible + span{outline:2px solid var(--teal-2);outline-offset:2px;}
.xp-num-row{display:flex;gap:8px;align-items:center;max-width:280px;}
.xp-num-row input, .xp-num-row select{min-height:44px;border:1px solid var(--line-2);border-radius:10px;padding:0 12px;background:var(--surface);width:100%;}
.xp-num-row select{width:auto;}
.xp-unit{font-family:var(--mono);font-size:.85rem;color:var(--text-2);}
.xp-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);position:sticky;bottom:-16px;background:var(--surface);padding-bottom:4px;}
.xp-nav .btn{min-height:44px;padding:0 18px;}
.xp-count{color:var(--text-3);}
.xp-stage{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);min-width:0;}
.xp-head{padding:22px clamp(16px, 2.4vw, 28px) 6px;display:grid;gap:8px;}
.xp-head .mono{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#8fd3dc;}
.xp-head h2{font-size:clamp(1.35rem, 1.1rem + 1vw, 1.8rem);}
.xp-head p{color:var(--text-2);max-width:64ch;}
.xp-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.9rem;}
.xp-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:14px clamp(16px, 2.4vw, 28px);border-bottom:1px solid var(--line);}
.xp-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%;}
.xp-tabs::-webkit-scrollbar{display:none;}
.xp-tabs button{flex:none;display:grid;gap:1px;text-align:left;padding:7px 12px;min-height:44px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);}
.xp-tabs button b{font-size:.84rem;font-weight:600;}
.xp-tabs button span{font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;color:var(--text-2);}
.xp-tabs button[aria-selected="true"]{background:rgba(246, 166, 35, .12);border-color:#f6a623;color:var(--text);}
.xp-stage .seg button{min-height:40px;}
.xp-scene{padding:10px clamp(6px, 1.2vw, 14px) 0;}
.xp-sld{min-height:300px;}
.xp-caption{font-size:.78rem;color:var(--text-3);padding:8px 8px 0;border-top:1px dashed var(--line);margin-top:6px;}
.xp-narr{display:grid;gap:14px;padding:16px 8px 20px;}
@media (min-width:760px){.xp-narr{grid-template-columns:1.4fr 1fr;align-items:start;}
}
.xp-narr .mono{grid-column:1 / -1;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8fd3dc;}
.xp-narr ol{list-style:none;display:grid;gap:8px;counter-reset:s;}
.xp-narr li{counter-increment:s;display:grid;grid-template-columns:24px 1fr;gap:8px;font-size:.92rem;color:var(--text-2);animation:rise .45s var(--ease) both;}
.xp-narr li:nth-child(2){animation-delay:.08s;}
.xp-narr li:nth-child(3){animation-delay:.16s;}
.xp-narr li:nth-child(4){animation-delay:.24s;}
.xp-narr li::before{content:counter(s);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.66rem;border:1px solid var(--line-2);color:var(--text);}
.reduced .xp-narr li{animation:none;}
.xp-soc{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255, 255, 255, .03);}
.xp-soc[hidden]{display:none;}
.xp-soc-top{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);}
.xp-soc-bar{position:relative;height:12px;border-radius:6px;background:var(--surface-3);margin:10px 0 8px;overflow:hidden;}
.xp-soc-bar i{position:absolute;inset:0 auto 0 0;width:60%;background:linear-gradient(90deg, #1fa36b, #3ddc97);border-radius:6px;}
.xp-soc-bar u{position:absolute;top:-2px;bottom:-2px;left:25%;width:2px;background:#ff7a6b;text-decoration:none;}
.xp-soc b{display:block;font-size:.92rem;}
.xp-soc small{color:var(--text-3);font-size:.74rem;}
.xp-soc[data-trend="rising"] .xp-soc-bar i{animation:soc-rise 5s var(--ease) infinite alternate;}
.xp-soc[data-trend="falling"] .xp-soc-bar i{animation:soc-fall 5s var(--ease) infinite alternate;}
.xp-soc[data-trend="reserve"] .xp-soc-bar i{width:25%;background:linear-gradient(90deg, #c98210, #f6a623);}
.xp-soc[data-trend="dip"] .xp-soc-bar i{animation:soc-dip 2.4s var(--ease) infinite;}
.xp-soc[data-trend="value"] .xp-soc-bar i{width:calc(var(--soc, .6) * 100%);}
@keyframes soc-rise{from{width:35%;}
to{width:92%;}
}
@keyframes soc-fall{from{width:88%;}
to{width:30%;}
}
@keyframes soc-dip{0%, 100%{width:72%;}
40%{width:60%;}
}
.reduced .xp-soc .xp-soc-bar i{animation:none;}
.reduced .xp-soc[data-trend="rising"] .xp-soc-bar i{width:70%;}
.reduced .xp-soc[data-trend="falling"] .xp-soc-bar i{width:45%;}
.xp-equip-wrap{padding:18px clamp(16px, 2.4vw, 28px) 22px;border-top:1px solid var(--line);background:rgba(255, 255, 255, .02);}
.xp-equip-wrap > .mono{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.xp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px;}
.xp-chip{min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);font-size:.84rem;display:inline-flex;align-items:center;gap:6px;}
.xp-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--k, var(--text-3));}
.xp-chip[data-kind="solar"]{--k:var(--f-solar);}
.xp-chip[data-kind="store"]{--k:var(--f-store);}
.xp-chip[data-kind="grid"]{--k:var(--f-grid);}
.xp-chip[data-kind="ems"]{--k:var(--f-ems);}
.xp-chip[data-kind="dg"]{--k:var(--f-dg);}
.xp-chip[data-kind="load"]{--k:var(--f-load);}
.xp-chip em{font-style:normal;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#3ddc97;}
.xp-chip[aria-pressed="true"]{border-color:#f6a623;color:var(--text);background:rgba(246, 166, 35, .1);}
.xp-equip{display:grid;gap:10px;max-width:72ch;}
.xp-equip-head{display:grid;gap:6px;}
.xp-equip h3{outline:none;}
.xp-equip p{color:var(--text-2);font-size:.95rem;}
.xp-why{border-left:2px solid #f6a623;padding-left:12px;}
.xp-why b{color:var(--text);}
.xp-tech summary{cursor:pointer;font-weight:600;font-size:.9rem;color:#8fd3dc;min-height:32px;display:flex;align-items:center;}
.xp-tech p{margin-top:6px;}
.xp-check-t{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-top:4px;}
.xp-check{list-style:none;display:flex;flex-wrap:wrap;gap:6px;}
.xp-check li{font-size:.82rem;border:1px solid var(--line);border-radius:8px;padding:4px 9px;color:var(--text-2);}
.xp-badge{justify-self:start;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-2);}
.xp-badge--proposed{color:#3ddc97;border-color:rgba(61, 220, 151, .45);}
.xp-badge--evaluate{color:#f6a623;border-color:rgba(246, 166, 35, .5);}
.xp-badge--review{color:#f6a623;border-color:rgba(246, 166, 35, .5);}
.xp-engine{margin:0;padding:18px clamp(16px, 2.4vw, 28px) 22px;border-top:1px solid var(--line);display:grid;gap:8px;}
.xp-engine h3{font-size:1.05rem;}
.xp-engine p{color:var(--text-2);font-size:.9rem;max-width:72ch;}
.xp-engine .mono{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.xp-bar{position:fixed;z-index:60;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;min-height:52px;border-radius:14px;background:#0b2f25;color:#eef3f7;text-decoration:none;box-shadow:0 18px 40px -16px rgba(0, 0, 0, .6);font-size:.88rem;}
.xp-bar b{color:#f6a623;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.xp-bar[hidden]{display:none;}
@media (min-width:1100px){.xp-bar{display:none !important;}
}
.xp-compare td, .xp-compare th{vertical-align:top;font-size:.92rem;}
.xp-compare tbody th{white-space:nowrap;}
.xp-sum{display:grid;gap:clamp(20px, 3vw, 36px);}
@media (min-width:1040px){.xp-sum{grid-template-columns:1.1fr 0.9fr;align-items:start;}
}
.xp-sum-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:clamp(18px, 2.4vw, 28px);display:grid;gap:14px;box-shadow:var(--shadow);}
.xp-sum-card h3{font-size:clamp(1.3rem, 1.1rem + .8vw, 1.7rem);}
.xp-sum-card ul{list-style:none;display:grid;gap:6px;}
.xp-sum-card li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:.93rem;color:var(--text-2);}
.xp-sum-card li::before{content:"";width:8px;height:8px;margin-top:8px;border-radius:2px;background:var(--teal);}
.xp-sum-card pre{white-space:pre-wrap;font-family:var(--mono);font-size:.76rem;line-height:1.55;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px;max-height:280px;overflow:auto;margin:8px 0 0;}
.xp-sum-card details summary{cursor:pointer;font-weight:600;color:var(--teal);min-height:36px;display:flex;align-items:center;}
.xp-figs{display:grid;gap:8px;margin:0;}
.xp-figs > div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px;}
.xp-figs dt{color:var(--text-2);font-size:.9rem;}
.xp-figs dd{margin:0;font-family:var(--mono);font-size:.9rem;text-align:right;}
.xp-basis{display:inline-block;margin-left:6px;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-3);}
.xp-basis--field-verified{color:var(--store);border-color:currentColor;}
.handoff{display:grid;gap:12px;}
.handoff .btn{width:100%;}
.handoff-status{font-size:.88rem;color:var(--store);min-height:1.4em;}
.next-steps{list-style:none;display:grid;gap:12px;counter-reset:n;}
.next-steps li{counter-increment:n;display:grid;grid-template-columns:34px 1fr;gap:10px;}
.next-steps li::before{content:counter(n, decimal-leading-zero);font-family:var(--mono);font-size:.74rem;color:var(--teal);padding-top:2px;}
.next-steps b{display:block;font-size:.96rem;}
.next-steps p{font-size:.88rem;color:var(--text-2);}
.legend-grid{display:grid;gap:12px;}
@media (min-width:720px){.legend-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (min-width:1100px){.legend-grid{grid-template-columns:repeat(4, 1fr);}
}
.legend-grid .box svg{width:100%;height:46px;margin-bottom:4px;}
.prov{display:grid;gap:8px;}
.prov li{list-style:none;display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:.92rem;color:var(--text-2);}
.prov li b{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding-top:3px;}
@media (max-width:520px){.prov li{grid-template-columns:1fr;gap:2px;}
}
.sld{width:100%;height:auto;overflow:visible;font-family:var(--mono);}
.sld text{fill:var(--text-2);}
.sld .wire{fill:none;stroke:var(--sd-wire);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.sld .bus{fill:none;stroke:var(--sd-wire);stroke-width:8;stroke-linecap:round;transition:stroke .4s;}
.sld .bus--live{stroke:#5a87f0;}
.sld.is-island .bus--live{stroke:#3ddc97;}
.sld .bus-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;fill:var(--text-3);}
.sld.is-island .bus-label{fill:#3ddc97;}
.sld.is-dark .bus-label{fill:var(--alert);}
.sld .flow{fill:none;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 9;animation:sld-flow 1s linear infinite;}
.sld .flow--surge{stroke-width:5;stroke-dasharray:6 6;animation-duration:.45s;}
@keyframes sld-flow{to{stroke-dashoffset:-24;}
}
.reduced .sld .flow{animation:none;stroke-dasharray:none;opacity:.85;}
.sld .flow--grid, .sld .f-arrow--grid{stroke:var(--f-grid);fill:var(--f-grid);}
.sld .flow--pv, .sld .f-arrow--pv{stroke:var(--f-solar);fill:var(--f-solar);}
.sld .flow--bess, .sld .f-arrow--bess, .sld .flow--hybrid, .sld .f-arrow--hybrid{stroke:var(--f-store);fill:var(--f-store);}
.sld .flow--dg, .sld .f-arrow--dg{stroke:var(--f-dg);fill:var(--f-dg);}
.sld .flow--critical, .sld .flow--general, .sld .flow--motor, .sld .f-arrow--critical, .sld .f-arrow--general, .sld .f-arrow--motor{stroke:var(--f-load);fill:var(--f-load);}
.sld .f-arrow{stroke:none;}
.theme-dark .sld .flow--pv{filter:drop-shadow(0 0 3px rgba(246, 166, 35, .8));}
.theme-dark .sld .flow--bess, .theme-dark .sld .flow--hybrid{filter:drop-shadow(0 0 3px rgba(61, 220, 151, .8));}
.theme-dark .sld .flow--grid{filter:drop-shadow(0 0 3px rgba(122, 164, 255, .8));}
.theme-dark .sld .flow--dg{filter:drop-shadow(0 0 3px rgba(255, 155, 107, .8));}
.sld .node{cursor:pointer;outline:none;}
.sld .node--grid{--k:var(--f-grid);}
.sld .node--solar{--k:var(--f-solar);}
.sld .node--store{--k:var(--f-store);}
.sld .node--dg{--k:var(--f-dg);}
.sld .node--ems{--k:var(--f-ems);}
.sld .node--load{--k:var(--f-load);}
.sld .node--conv{--k:var(--text-3);}
.sld .hit{fill:transparent;stroke:transparent;stroke-width:1.5;transition:fill .2s, stroke .2s;}
.sld .node--dev .hit, .sld .node--ems .hit{display:none;}
.sld .node:hover .hit, .sld .node.is-selected .hit{fill:rgba(246, 166, 35, .08);stroke:rgba(246, 166, 35, .6);}
.sld .node:focus-visible .hit{stroke:#f6a623;stroke-dasharray:3 3;fill:rgba(246, 166, 35, .08);}
.sld .node--dev:focus-visible .dev-box, .sld .node--ems:focus-visible .ems-box, .sld .node--dev.is-selected .dev-box{stroke:#f6a623;stroke-width:2;}
.sld .g-line{fill:none;stroke:var(--k);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.sld .g-thin{stroke-width:1.1;opacity:.8;}
.sld .g-bg, .sld .g-bg2{fill:var(--sd-box);stroke:var(--text-3);}
.sld .g-fill{fill:var(--sd-box);stroke:var(--k);stroke-width:2;stroke-linejoin:round;}
.sld .g-mark{fill:none;stroke:var(--f-store);stroke-width:2.2;stroke-linecap:round;}
.sld .g-txt{font-family:var(--font);font-size:12px;font-weight:700;fill:var(--k);}
.sld .g-tiny{font-size:7px;fill:var(--text-3);}
.sld .st-evaluate .g-fill, .sld .st-evaluate .dev-box, .sld .st-review .dev-box{stroke-dasharray:4 3;}
.sld .st-tag{font-size:8.5px;font-weight:600;letter-spacing:.1em;}
.sld .st-tag--proposed{fill:#3ddc97;}
.sld .st-tag--evaluate, .sld .st-tag--review{fill:#f6a623;}
.sld .dev-box{fill:var(--sd-box);stroke:var(--sd-box-line);stroke-width:1.4;}
.sld .dev-code{font-size:12.5px;font-weight:600;letter-spacing:.06em;fill:var(--text);}
.sld .dev-sub{font-size:8.5px;letter-spacing:.04em;fill:var(--text-3);}
.sld .ems-box{fill:rgba(185, 160, 255, .1);stroke:var(--f-ems);stroke-width:1.4;}
.sld .ems-dot{fill:var(--f-ems);animation:pulse 2s infinite;}
.sld .ems-txt{font-family:var(--font);font-size:13px;font-weight:600;fill:var(--text);}
.sld .ctrl-line{fill:none;stroke:var(--f-ems);stroke-width:1.1;stroke-dasharray:3 5;opacity:.55;}
.sld .brk-dot{fill:var(--sd-box);stroke:var(--text-2);stroke-width:1.4;}
.sld .brk-blade{stroke:var(--text-2);stroke-width:2.2;stroke-linecap:round;transition:transform .35s var(--ease);transform-origin:0 -7px;transform-box:view-box;}
.sld .brk.is-open .brk-blade{transform:rotate(-38deg);stroke:var(--alert);}
.sld .brk.is-open .brk-dot{stroke:var(--alert);}
.sld .n-name{font-family:var(--font);font-size:12.5px;font-weight:600;fill:var(--text);}
.sld .n-state{font-size:10px;letter-spacing:.03em;fill:var(--text-3);}
.sld .n-state--in, .sld .n-state--out, .sld .n-state--on, .sld .n-state--ramp{fill:var(--text-2);}
.sld .n-state--open, .sld .n-state--trip, .sld .n-state--shed, .sld .n-state--off, .sld .n-state--surge{fill:var(--alert);}
.sld .soc-fill{fill:var(--f-store);opacity:.85;transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.6);}
.sld .soc-reserve{stroke:var(--alert);stroke-width:1.4;stroke-dasharray:2 2;}
.sld.soc-rising .soc-fill{animation:sld-rise 5s var(--ease) infinite alternate;}
.sld.soc-falling .soc-fill{animation:sld-fall 5s var(--ease) infinite alternate;}
.sld.soc-reserve .soc-fill{transform:scaleY(.22);fill:#f6a623;}
.sld.soc-dip .soc-fill{animation:sld-dip 2.4s var(--ease) infinite;}
.sld.soc-value .soc-fill{transform:scaleY(var(--soc, .6));}
@keyframes sld-rise{from{transform:scaleY(.35);}
to{transform:scaleY(.95);}
}
@keyframes sld-fall{from{transform:scaleY(.9);}
to{transform:scaleY(.3);}
}
@keyframes sld-dip{0%, 100%{transform:scaleY(.72);}
40%{transform:scaleY(.6);}
}
.reduced .sld .soc-fill, .reduced .sld .ems-dot{animation:none;}
.sld--v .n-name{font-size:12px;}
.sld-preset{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.sld-preset .xp-toolbar{border-bottom:1px solid var(--line);}
.sld-preset .xp-narr{padding:14px clamp(14px, 2vw, 24px) 20px;}
.qa{max-width:860px;margin-inline:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);padding:clamp(18px, 3vw, 36px);}
.qa-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.qa h2{font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);margin:10px 0 18px;outline:none;}
.qa .xp-opts{grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:8px;}
.qa .xp-opt span{min-height:56px;font-size:.95rem;padding:10px 14px;}
.qa-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap;}
.qa-result{display:grid;gap:18px;}
.qa-result h2{margin-bottom:0;}
.qa-path{border-radius:var(--radius);padding:18px 20px;background:linear-gradient(160deg, #0b2f25, #14513d);color:#eef3f7;display:grid;gap:8px;}
.qa-path .mono{color:#8fd3dc;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;}
.qa-path b{font-size:1.3rem;letter-spacing:-.02em;}
.qa-path p{color:#b1c0cd;}
.qa-path .link-arrow{color:#f6a623;justify-self:start;}
.ladder{display:grid;gap:12px;}
@media (min-width:900px){.ladder{grid-template-columns:repeat(5, 1fr);align-items:end;}
}
.rung{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px;display:grid;gap:8px;position:relative;align-content:start;}
.rung .mono{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.rung b{font-size:clamp(1.6rem, 1.2rem + 1vw, 2.1rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.rung b small{font-size:.8rem;color:var(--text-3);font-weight:500;}
.rung dl{margin:0;display:grid;gap:6px;font-size:.84rem;}
.rung dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);}
.rung dd{margin:0;color:var(--text-2);}
.rung--proto{border-color:var(--orange);background:linear-gradient(180deg, #fff7ec, var(--surface));}
@media (min-width:900px){.rung:nth-child(1){min-height:280px;}
.rung:nth-child(2){min-height:300px;}
.rung:nth-child(3){min-height:320px;}
.rung:nth-child(4){min-height:340px;}
.rung:nth-child(5){min-height:360px;}
}
.dev-flag{justify-self:start;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px dashed var(--orange);color:#9a5a00;}
.req-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.req-panel{display:grid;gap:clamp(16px, 3vw, 32px);}
@media (min-width:960px){.req-panel{grid-template-columns:0.9fr 1.1fr;}
}
.req-panel[hidden]{display:none;}
.req-panel ul{list-style:none;display:grid;gap:8px;}
.req-panel li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:.94rem;color:var(--text-2);}
.req-panel li::before{content:"→";color:var(--teal);font-family:var(--mono);}
.bms-tree{display:grid;gap:8px;}
.bms-tree div{border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;background:var(--surface);}
.bms-tree div:nth-child(2){margin-left:18px;}
.bms-tree div:nth-child(3){margin-left:36px;}
.bms-tree b{display:block;font-size:.92rem;}
.bms-tree span{font-size:.84rem;color:var(--text-2);}
.doc-list{columns:2 260px;column-gap:24px;list-style:none;}
.doc-list li{break-inside:avoid;padding:8px 0 8px 28px;border-bottom:1px solid var(--line);position:relative;font-size:.94rem;}
.doc-list li::before{content:"";position:absolute;left:2px;top:13px;width:13px;height:13px;border:1.5px solid var(--teal);border-radius:3px;}
.doc-list li b{display:block;}
.doc-list li span{font-size:.84rem;color:var(--text-2);}
.zh{font-family:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", var(--font);}
.zh h2, .zh h3{letter-spacing:0;}
.oem-quick{display:grid;gap:12px;}
@media (min-width:720px){.oem-quick{grid-template-columns:repeat(2, 1fr);}
}
.oem-quick a{display:grid;gap:4px;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-decoration:none;min-height:96px;transition:border-color .2s, transform .2s var(--ease);}
.oem-quick a:hover{border-color:var(--teal);transform:translateY(-2px);}
.oem-quick .mono{color:var(--teal);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;}
.oem-quick b{font-size:1.08rem;}
.oem-quick span:last-child{color:var(--text-2);font-size:.9rem;}
.fit-list{display:grid;gap:8px;margin-top:12px;}
.prefill-note{border:1px solid var(--teal);background:var(--teal-soft);color:var(--text);border-radius:12px;padding:12px 14px;font-size:.92rem;margin-bottom:16px;}
.equip-ill{display:grid;gap:10px;}
.equip-ill img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg, #f4f8f9, #fbfaf6);}
.equip-row{display:grid;gap:12px;grid-template-columns:repeat(2, 1fr);}
@media (min-width:900px){.equip-row{grid-template-columns:repeat(4, 1fr);}
}
.equip-row figure{display:grid;gap:8px;}
.equip-row figcaption{font-size:.84rem;color:var(--text-2);}
.equip-row figcaption b{display:block;color:var(--text);font-size:.92rem;}
.sld--v{max-width:460px;margin-inline:auto;}
