/* Goal100 "See Electricity Move" (job circuitviz, Nov 14, 2026). Every tap target is 44 px or more; nothing scrolls sideways; text never moves after it appears. */
.cvs{--cvs-bg:var(--card,#fff);--cvs-ink:var(--ink,#18192B);--cvs-line:var(--line,#D9DBEA);--cvs-brand:#2B2A8C;--cvs-gold:#F2A93B;max-width:980px;margin:0 auto;min-width:0;color:var(--cvs-ink)}
.cvs *{box-sizing:border-box}
.cvs-kicker{margin:14px 0 2px;font-weight:700;color:#5B5C76}
.cvs-kicker a{display:inline-flex;align-items:center;min-height:44px}
.cvs-h1:focus,.cvs-h1:focus-visible{outline:none!important;box-shadow:none!important}
.cvs-h1{font-family:var(--display,"Baloo 2",sans-serif);font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.15;margin:4px 0 6px;outline:none}
.cvs-h2{font-family:var(--display,"Baloo 2",sans-serif);font-size:clamp(1.3rem,4vw,1.8rem);margin:6px 0}
.cvs-h3{font-size:1.1rem;margin:16px 0 6px}
.cvs-big{font:800 clamp(1.15rem,3.8vw,1.5rem)/1.3 var(--display,"Baloo 2",sans-serif);color:var(--cvs-brand);margin:4px 0 6px;max-width:40ch}
.cvs-body,.cvs-job,.cvs-spotit{max-width:66ch;margin:6px 0;font-size:1.05rem;line-height:1.5}
.cvs-note{max-width:66ch;color:#4A4B63;font-size:.98rem;margin:8px 0}
.cvs-status{min-height:1.5em;font-weight:700;margin:8px 0;max-width:66ch}
.cvs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:48px;padding:8px 18px;border-radius:14px;border:2px solid var(--cvs-brand);background:var(--cvs-bg);color:var(--cvs-brand);font:800 1rem var(--display,"Baloo 2",sans-serif);text-decoration:none;cursor:pointer;touch-action:manipulation;text-align:center;max-width:100%}
.cvs-btn:hover{background:#EEF0FF}
.cvs-btn[aria-pressed="true"]{background:var(--cvs-brand);color:#fff}
.cvs-btn.ghost{border-color:var(--cvs-line);color:var(--cvs-ink)}
.cvs-btn.main{background:var(--cvs-gold);border-color:#C98213;color:#1D1300;min-height:56px;padding:10px 26px;font-size:1.12rem}
.cvs-btn.main.big{font-size:1.2rem;min-height:60px}
.cvs-btn.danger{border-color:#C0392B;color:#9B2C1F}
.cvs-btn.danger[aria-pressed="true"]{background:#C0392B;color:#fff}
.cvs-btn:disabled,.cvs-btn[aria-disabled="true"]{opacity:.5;cursor:default}
.cvs-btn:focus-visible,.cvs-chip:focus-visible,.cvs-tile:focus-visible,.cvs-spot:focus-visible,.cvs-part-btn:focus-visible,.cvs-pd:focus-visible{outline:3px solid #F2A93B;outline-offset:2px}
.cvs-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.cvs-chips{display:flex;flex-wrap:wrap;gap:6px}
.cvs-chip{min-height:46px;padding:6px 14px;border-radius:999px;border:2px solid var(--cvs-line);background:var(--cvs-bg);color:var(--cvs-ink);font:700 .98rem system-ui,sans-serif;cursor:pointer}
.cvs-chip[aria-pressed="true"]{background:#E4E4F7;border-color:var(--cvs-brand);color:var(--cvs-brand)}
.cvs-range{display:flex;flex-direction:column;gap:2px;min-width:min(260px,100%);flex:1 1 220px;font-weight:700}
.cvs-range input{width:100%;min-height:44px;font-size:16px;accent-color:var(--cvs-brand)}
.cvs-stage{margin-top:6px}
.cvs-stagebox{position:relative;background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:18px;padding:6px;max-width:640px}
.cvs-svg{display:block;width:100%;height:auto;max-height:62vh}
.cvs-dot{fill:#F2A93B;stroke:#8A5A00;stroke-width:1}
.cvs-e .cvs-dot{fill:#4AA3F0;stroke:#1F5FD6}
.cvs-dot.w{fill:#1F5FD6;stroke:#fff}
.cvs-thin{stroke-width:2.5}
.cvs-shortwire{stroke:#C0392B!important;stroke-width:4!important}
.cvs-shortbox.hot{box-shadow:0 0 0 3px #FF3B30 inset}
.cvs-strip{fill:#AEB4BC}
.cvs-strip.lit{fill:#FFC83A;stroke:#C98213;stroke-width:1}
.cvs-bbbody{fill:#F4F4F6;stroke:#C9CBD6}
.cvs-bb.xray .cvs-bbbody{fill:#F4F4F6;fill-opacity:.55}
.cvs-two{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:700px){.cvs-two{grid-template-columns:1fr 1fr}}
.cvs-fig{margin:0;background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:16px;padding:8px;min-width:0}
.cvs-fig figcaption{font-weight:700;text-align:center;margin-top:4px;font-size:.95rem}
.cvs-three{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0}
@media (min-width:560px){.cvs-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cvs-pic{max-height:170px;margin:0 auto}
.cvs-nosym{display:flex;align-items:center;justify-content:center;min-height:120px;text-align:center;font-weight:700;margin:0}
.cvs-legend{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:6px}
.cvs-legend li{display:flex;align-items:center;gap:8px;background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:12px;padding:4px 8px;font-weight:700}
.cvs-mini{display:inline-block;width:64px;flex:0 0 64px}
.cvs-mini .cvs-pic{max-height:52px}
.cvs-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px;margin:12px 0}
.cvs-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:96px;padding:12px 14px;border-radius:18px;background:var(--cvs-bg);border:2px solid var(--cvs-line);color:var(--cvs-ink);text-decoration:none;font-size:1rem}
.cvs-tile:hover{border-color:var(--cvs-brand)}
.cvs-tile-ic{font-size:2rem;line-height:1}
.cvs-star{position:absolute;top:8px;right:10px;font-size:1.1rem}
.cvs-tiles.steps{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}
.cvs-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin:18px 0 8px}
.cvs-nav.cvs-start{justify-content:flex-start}
.cvs-pn{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.cvs-dots-nav{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 0}
.cvs-pd{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--cvs-line);color:var(--cvs-ink);text-decoration:none;font-weight:800;background:var(--cvs-bg)}
.cvs-pd.seen{background:#E4F7EC;border-color:#34C759}
.cvs-pd.now{background:var(--cvs-brand);border-color:var(--cvs-brand);color:#fff}
.cvs-hint{background:#FFF7E6;border:1px solid #F2D29B;border-radius:12px;padding:8px 12px;margin:6px 0;max-width:66ch}
.cvs-hint a{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
.cvs-words{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px;margin:10px 0}
.cvs-word{background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:16px;padding:12px}
.cvs-word b{display:block;font-size:1.08rem}
.cvs-word p{margin:4px 0 0}
.cvs-word-ic{font-size:1.8rem}
.cvs-nums dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;margin:8px 0}
.cvs-nums dl div{background:#F3F4FB;border-radius:12px;padding:8px 10px}
.cvs-nums dt{font-weight:700;font-size:.9rem}
.cvs-nums dd{margin:0;font:800 1.2rem var(--display,"Baloo 2",sans-serif)}
.cvs-code{background:#F3F4FB;border-radius:12px;padding:8px 8px 8px 32px;max-width:360px;font-family:ui-monospace,Menlo,monospace}
.cvs-code li{padding:2px 4px;border-radius:6px}
.cvs-code li.on{background:#FFE9A8}
.cvs-3d{position:relative;width:100%;max-width:760px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fff,#E9EBF8);border:1px solid var(--cvs-line);min-height:220px}
.cvs-3d canvas{display:block;width:100%!important;height:auto!important}
.cvs-3d .cvs-note{padding:12px}
.cvs-build{max-width:640px}
.cvs-spots{position:absolute;inset:6px}
.cvs-spot{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:14px;border:3px dashed var(--cvs-brand);background:rgba(228,228,247,.7);cursor:pointer}
.cvs-spot.full{border:2px solid transparent;background:transparent}
.cvs-tray{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.cvs-part-btn{display:flex;align-items:center;gap:6px;min-height:56px;padding:4px 12px 4px 4px;border-radius:14px;border:2px solid var(--cvs-line);background:var(--cvs-bg);color:var(--cvs-ink);font:700 1rem system-ui,sans-serif;cursor:grab;touch-action:none}
.cvs-part-btn[aria-pressed="true"]{border-color:var(--cvs-brand);background:#E4E4F7}
.cvs-part-btn.used{opacity:.4;cursor:default}
.cvs-ghost{position:fixed;width:84px;transform:translate(-50%,-50%);pointer-events:none;z-index:9999;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.cvs-quiz{background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:18px;padding:14px;max-width:720px}
.cvs-meter{height:10px;border-radius:99px;background:#E6E7F2;overflow:hidden}
.cvs-meter i{display:block;height:100%;background:var(--cvs-brand)}
.cvs-qn{margin:8px 0 0;color:#5B5C76;font-weight:700}
.cvs-q{font-size:clamp(1.15rem,3.6vw,1.45rem);margin:4px 0 10px}
.cvs-ans{display:grid;gap:8px}
.cvs-btn.ans{justify-content:flex-start;text-align:left;border-color:var(--cvs-line);color:var(--cvs-ink);font-family:system-ui,sans-serif;font-weight:700}
.cvs-btn.ans.right{background:#E4F7EC;border-color:#1E9E4A;color:#0B5A2A}
.cvs-btn.ans.no{background:#F6F6F8;border-style:dashed}
.cvs-fb{min-height:1.4em;font-weight:700;margin:10px 0}
.cvs-done{text-align:center}
.cvs-done .cvs-ctl{justify-content:center}
.cvs-gold{font-size:4rem;line-height:1}
.cvs-pct{font:800 3rem var(--display,"Baloo 2",sans-serif);color:var(--cvs-brand)}
.cvs .warn{border:2px solid #F2A93B;background:#FFF8EC;border-radius:14px;padding:10px 14px;margin:12px 0;max-width:72ch}
.cvs .warn p{margin:4px 0}
.cvs .warn .es{display:none;color:#5B4A1E}
html[lang^="es"] .cvs .warn .es,body.es-on .cvs .warn .es{display:block}
.cvs-warns{margin-top:8px}
@media (prefers-reduced-motion:reduce){.cvs *{transition:none!important;animation:none!important}}
html[data-motion="off"] .cvs *{transition:none!important;animation:none!important}
/* circuitviz v2 (Nov 14, 2026): circuit gallery, parts library, sensors and controllers */
a.cvs-chip{display:inline-flex;align-items:center;text-decoration:none}
.cvs-chip[aria-current="true"]{background:#E4E4F7;border-color:var(--cvs-brand);color:var(--cvs-brand)}
.kb-wrap{max-width:720px}
.kb-svg{max-height:70vh}
.kb-part.pick{cursor:pointer}
.cvs-dot.danger{fill:#FF3B30;stroke:#7a0000}
.kb-status{border-radius:14px;padding:10px 14px;margin:10px 0;max-width:720px;border:2px solid #C9CBD6;background:#F6F7FB}
.kb-status p{margin:4px 0 0}
.kb-status.ok{border-color:#1E9E4A;background:#E8F8EE}
.kb-status.works{border-color:#1E9E4A;background:#F1FBF4}
.kb-status.partial{border-color:#C98213;background:#FFF6E3}
.kb-status.risky{border-color:#C98213;background:#FFF0D6}
.kb-status.stop{border-color:#8A8C9E;background:#F1F2F6}
.kb-status.danger{border-color:#C0392B;background:#FDECEA}
.kb-status.off{border-color:#8A8C9E}
.kb-read{font-size:1.1rem}
.kb-where{font-weight:700;background:#FFF7E6;border-radius:12px;padding:6px 10px;display:inline-block;margin:4px 0}
.kb-rule{background:#EEF0FF;border-radius:12px;padding:8px 12px;max-width:72ch}
.kb-yay{font-weight:800;font-size:1.1rem}
.kb-tbl{border-collapse:collapse;width:100%;max-width:720px;font-size:.95rem}
.kb-tbl th,.kb-tbl td{border-bottom:1px solid var(--cvs-line);padding:6px 8px;text-align:left;vertical-align:top}
.kb-plist{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px;max-width:760px}
.kb-plist li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:14px;padding:6px 10px}
.kb-plist li.out{opacity:.75;border-style:dashed}
.kb-pn{min-width:0;flex:1 1 200px}
.kb-pb{display:flex;flex-wrap:wrap;gap:6px}
.kb-role{display:inline-block;font-size:.85rem;font-weight:700;margin-left:4px}
.kb-score{font-weight:800}
.kb-check{list-style:none;padding:0;display:grid;gap:8px;max-width:720px}
.kb-tick{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;padding:8px 12px;border-radius:14px;border:2px solid var(--cvs-line);background:var(--cvs-bg);color:var(--cvs-ink);font:700 1rem system-ui,sans-serif;text-align:left;cursor:pointer}
.kb-tick[aria-pressed="true"]{border-color:#1E9E4A;background:#E8F8EE}
.cvs-btn.locked{opacity:.55}
.kb-search{display:flex;flex-direction:column;gap:4px;max-width:420px;font-weight:700;margin:8px 0}
.kb-search input{font-size:16px;min-height:48px;padding:8px 12px;border-radius:12px;border:2px solid var(--cvs-line)}
.kb-lib{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr))}
.kb-libtile .cvs-pic{max-height:80px;width:100%}
.kb-other{color:#5B5C76;margin:0}
.kb-facts{display:grid;gap:8px;max-width:760px}
.kb-facts div{background:var(--cvs-bg);border:1px solid var(--cvs-line);border-radius:14px;padding:8px 12px}
.kb-facts dt{font-weight:800}.kb-facts dd{margin:2px 0 0}
.kb-used{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kb-flash{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:10px}
.kb-fc{border:2px dashed #9A9CB0;border-radius:12px;padding:8px;text-align:center;background:#fff;color:#18192B}
.kb-fc b{display:block;font-size:1.05rem}.kb-fc i{display:block;color:#4A4B63}.kb-fc p{margin:4px 0 0;font-size:.9rem}
.kb-fc .cvs-pic{max-height:90px}.kb-fsym .cvs-pic{max-height:46px}
.kb-card{max-width:760px}
.ks-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ks-pic{width:140px;max-width:40%}
.ks-meter{flex:1 1 180px;min-width:0}
.ks-bar{height:18px;border-radius:99px;background:#E6E7F2;overflow:hidden}.ks-bar i{display:block;height:100%;background:#F2A93B}
.ks-sort{display:flex;flex-wrap:wrap;gap:8px}
.ks-num{text-align:center;font:800 1.6rem var(--display,"Baloo 2",sans-serif);margin:4px 0}
@media print{
 body>*:not(main){display:none!important}
 main>*:not(#kit-app){display:none!important}
 .kb-noprint,.cvs-tools,.cvs-stuckbox,.cvs-kicker,.cvs-nav,.g100-totop{display:none!important}
 .kb-flash{grid-template-columns:repeat(3,1fr)}
 .kb-fc,.kb-card li,.warn{break-inside:avoid}
 .cvs .warn .es{display:block}
}
