.ep-root #main.ep-main{overflow-y:auto;min-height:0;padding:0 20px 36px;scrollbar-width:thin}
.ep-root .ep-main>header,.ep-root .ep-main>section{max-width:880px;margin-left:auto;margin-right:auto}
.ep-heading{padding:28px 0 14px}
.ep-heading h1{font-size:clamp(26px,6.5vw,36px);line-height:1.18;letter-spacing:-.03em;margin:0 0 14px;font-weight:650;max-width:24ch}
.ep-root p{line-height:1.5;color:var(--ec-secondary)}
.ep-root h2{font-size:22px;font-weight:600;margin:0 0 12px}
.ep-root h3{font-size:18px;font-weight:600;margin:0}
.ep-root a{color:var(--ec-mint);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.ep-block{padding:24px 0;border-top:1px solid var(--ec-border)}
.ep-block>.ec-action,.ep-feedback>.ec-action{margin:6px 8px 6px 0}
.ep-concepts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}
.ep-concepts>div{padding:18px 0;border-bottom:1px solid var(--ec-border)}
.ep-concepts p{margin:8px 0}
.ep-workbench{display:flex;flex-direction:column;max-width:1050px;margin:auto;gap:20px}
.ep-scene{width:100%;max-width:440px;margin:0 auto}
.ep-scene svg{display:block;width:100%;height:auto}
.ep-scene svg path,.ep-scene svg circle{stroke:var(--ec-secondary);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}
.ep-scene svg text{fill:var(--ec-light);font:500 16px 'Manrope',sans-serif}
.ep-scene svg .ep-grid{stroke:var(--ec-border);stroke-width:1}
.ep-scene svg .ep-accent{stroke:var(--ec-mint);stroke-width:3}
.ep-scene svg .ep-dot{fill:var(--ec-mint);stroke:none}
.ep-scene svg .ep-bulb,.ep-scene svg .ep-meter{fill:var(--ec-bg)}
.ep-scene svg .ep-lit{fill:#fff6d8;fill-opacity:.25;stroke:#fff6d8}
.ep-scene svg .ep-erase{stroke:var(--ec-bg);stroke-width:8}
.ep-scene svg .ep-wire-thin{stroke-width:6}
.ep-scene svg .ep-wire-thick{stroke-width:12}
.ep-response{width:100%;max-width:680px;margin:auto;padding-bottom:20px}
.ep-response form{display:flex;flex-direction:column;gap:12px}
.ep-root input:not([type="radio"]),.ep-root select,.ep-root textarea{width:100%;min-height:48px;border-radius:8px;border:1px solid var(--ec-border);padding:10px 12px;background:var(--ec-deep);color:var(--ec-text);font:inherit;box-sizing:border-box}
.ep-root textarea{resize:vertical}
.ep-root fieldset{border:0;padding:0;margin:0;min-width:0}
.ep-root legend{margin-bottom:10px}
.ep-root .ep-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;margin-bottom:10px;border:1px solid var(--ec-border);border-radius:10px;cursor:pointer}
.ep-option input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ec-mint)}
.ep-option:has(input:checked){background:var(--ec-hover);border-color:var(--ec-mint)}
.ep-root [aria-pressed="true"]{outline:2px solid var(--ec-mint);outline-offset:2px}
.ep-response>button{margin-top:12px}
.ep-hint,.ep-feedback{padding:18px 0 6px;margin-top:20px;border-top:1px solid var(--ec-border)}
.ep-root li{margin-bottom:10px;line-height:1.5}
.ep-root .ep-small,.ep-root .ep-privacy{font-size:13px}
.ep-root .ep-privacy{margin:0;text-align:center}
.ep-controls{display:flex;justify-content:space-between;gap:10px;max-width:880px;margin:auto}
.ep-root .ec-footer{padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.ep-root details{border-bottom:1px solid var(--ec-border);padding:14px 0}
.ep-root summary{cursor:pointer;min-height:44px;line-height:1.5}
.ep-root .ep-notice{padding:12px;background:var(--ec-deep)}
@media(min-width:800px){.ep-workbench{flex-direction:row;align-items:flex-start}.ep-scene{flex:1;min-width:340px}.ep-response{flex:1}.ep-heading{padding-top:36px}}
