:root { --ink:#071d32; --ink-soft:#294052; --blue:#0871b8; --blue-bright:#13a7ed; --cyan:#a9edff; --mint:#c9ff75; --orange:#ffad63; --paper:#eef5f3; --white:#fff; --line:#cbdad9; --muted:#6c7e83; --mono:'DM Mono',ui-monospace,SFMono-Regular,Consolas,monospace; --sans:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);overflow-x:hidden}body:before{content:'';position:fixed;z-index:-1;inset:0;opacity:.45;pointer-events:none;background-image:linear-gradient(rgba(8,113,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(8,113,184,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000 0,#000 46%,transparent 88%)}a{color:inherit}button,input,textarea{font:inherit}.shell{width:min(calc(100% - 72px),1240px);margin:0 auto}.site-header{height:82px;display:flex;align-items:center;gap:28px;width:min(calc(100% - 72px),1240px);margin:0 auto;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand img{display:block;width:122px;height:33px;object-fit:contain;object-position:left center}.brand-divider{width:1px;height:20px;background:var(--line)}.brand-product{font:500 10px var(--mono);letter-spacing:.12em;color:var(--ink-soft)}.header-meta{margin-left:auto;color:var(--muted);font:10px var(--mono);letter-spacing:.08em}.pulse-dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--blue-bright);box-shadow:0 0 12px rgba(19,167,237,.75)}.header-slash{color:#a2b5b5;margin:0 8px}.header-link{font-size:13px;text-decoration:none;font-weight:700}.header-link span{color:var(--blue);margin-left:5px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:92px 0 100px}.eyebrow,.card-kicker{font:10px var(--mono);letter-spacing:.14em;color:var(--blue);text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-line{width:26px;height:1px;background:var(--blue)}h1,h2,h3,p{margin-top:0}.hero h1{max-width:680px;margin:24px 0 24px;font-size:clamp(3.8rem,7.2vw,7.5rem);line-height:.9;letter-spacing:-.095em;font-weight:700}.hero h1 em,.playground h2 em,.closing h2 em,.test-copy h3 em{font-style:normal;color:var(--blue)}.hero-lede{max-width:560px;margin-bottom:30px;color:var(--ink-soft);font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:18px}.primary-button,.run-button{border:0;border-radius:100px;background:var(--ink);color:var(--white);cursor:pointer;text-decoration:none;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}.primary-button{display:inline-flex;align-items:center;padding:15px 20px}.primary-button span{margin-left:15px;color:var(--cyan)}.primary-button:hover,.run-button:not(:disabled):hover{transform:translateY(-2px);background:var(--blue);box-shadow:0 10px 24px rgba(8,113,184,.2)}.hero-note{color:var(--muted);font:10px var(--mono);letter-spacing:.03em}.hero-schematic{position:relative;min-height:430px;border:1px solid #bad0d0;border-radius:8px;overflow:hidden;background:#08203a;box-shadow:16px 20px 50px rgba(7,29,50,.11)}.schematic-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(169,237,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(169,237,255,.17) 1px,transparent 1px);background-size:26px 26px}.schematic-chip{position:absolute;left:15%;top:34%;display:grid;place-items:center;width:170px;height:135px;border:1px solid rgba(169,237,255,.48);border-radius:8px;background:linear-gradient(145deg,#163c58,#061526);box-shadow:0 0 40px rgba(19,167,237,.18),inset 0 0 0 6px rgba(169,237,255,.03);color:#d9f9ff}.schematic-chip:before,.schematic-chip:after{content:'';position:absolute;left:-25px;right:-25px;height:1px;background:repeating-linear-gradient(90deg,transparent 0 7px,var(--cyan) 8px 10px,transparent 11px 19px);opacity:.45}.schematic-chip:before{top:20px}.schematic-chip:after{bottom:20px}.chip-kicker{font:9px var(--mono);letter-spacing:.13em;color:var(--cyan)}.schematic-chip strong{font-size:30px;letter-spacing:-.08em}.schematic-chip small{font:10px var(--mono);color:#86b5bf}.chip-led{position:absolute;right:17px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 16px var(--mint)}.schematic-led{position:absolute;right:18%;top:22%;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--cyan);font:10px var(--mono)}.schematic-led i{display:block;width:40px;height:40px;border:2px solid var(--cyan);border-radius:50%;background:radial-gradient(circle,rgba(201,255,117,.9) 0 13%,rgba(201,255,117,.16) 31%,transparent 66%);box-shadow:0 0 30px rgba(201,255,117,.55)}.schematic-resistor{position:absolute;right:28%;top:55%;width:72px;height:28px;display:grid;place-items:center;border:2px solid var(--orange);background:#0b2943;transform:rotate(-10deg);color:var(--orange);font:9px var(--mono)}.schematic-trace{position:absolute;height:2px;background:linear-gradient(90deg,var(--cyan),rgba(169,237,255,.3));box-shadow:0 0 8px rgba(169,237,255,.35);transform-origin:left center}.trace-a{width:220px;left:48%;top:42%;transform:rotate(-25deg)}.trace-b{width:170px;left:48%;top:55%;transform:rotate(0deg)}.trace-c{width:110px;left:64%;top:57%;transform:rotate(-25deg)}.schematic-label{position:absolute;color:#8ebbc6;font:9px var(--mono);letter-spacing:.1em}.label-vcc{top:13%;left:10%}.label-gnd{bottom:10%;right:9%}.hero-coordinate{position:absolute;left:22px;bottom:20px;color:#608b98;font:9px/1.55 var(--mono);letter-spacing:.11em}.steps{padding-bottom:88px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-intro h2{margin:10px 0 0;font-size:clamp(2.1rem,4vw,4.2rem);line-height:.94;letter-spacing:-.08em}.section-intro p{max-width:280px;margin:0;color:var(--muted);font-size:14px}.step-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:baseline;min-width:150px}.step span{grid-row:span 2;color:var(--blue);font:16px var(--mono)}.step strong{font-size:17px}.step small{color:var(--muted);font-size:12px}.step-connector{height:1px;background:var(--line)}.step:not(.is-active){color:#7c9092}.step:not(.is-active) span{color:#90a2a3}.playground{padding:65px 0 95px}.playground-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.playground h2{margin:12px 0 0;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.9;letter-spacing:-.09em}.lab-status{padding:11px 14px;border:1px solid var(--line);border-radius:100px;color:var(--muted);font:9px var(--mono);letter-spacing:.07em;white-space:nowrap}.lab-status .status-dot{background:var(--orange);box-shadow:0 0 11px rgba(255,173,99,.72)}.workspace-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.circuit-card,.code-card{min-width:0;border:1px solid #c3d4d3;border-radius:10px;background:rgba(255,255,255,.62);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:25px 27px 0}.card-header h3{margin:9px 0 0;font-size:24px;letter-spacing:-.055em}.card-copy{max-width:500px;margin:10px 27px 20px;color:var(--muted);font-size:13px;line-height:1.6}.text-button{padding:0;border:0;background:transparent;color:var(--muted);font:10px var(--mono);letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.text-button:hover{color:var(--blue)}.circuit-board{position:relative;min-height:390px;margin:0 15px;border:1px solid #c4d5d3;border-radius:7px;overflow:hidden;background:#eef6f4;background-image:linear-gradient(rgba(8,113,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(8,113,184,.08) 1px,transparent 1px);background-size:24px 24px}.wire-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.wire-layer path{fill:none;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px currentColor);transition:stroke-dashoffset .35s}.wire-layer #wire-vcc{stroke:var(--blue);color:var(--blue)}.wire-layer #wire-resistor{stroke:var(--orange);color:var(--orange)}.wire-layer #wire-gnd{stroke:#67807f;color:#67807f}.board-component{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;min-height:116px;padding:13px 9px 11px;border:1px solid rgba(7,29,50,.15);border-radius:8px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(7,29,50,.08);text-align:center}.board-component strong{margin-top:8px;font-size:12px}.board-component small{color:var(--muted);font:9px var(--mono)}.component-tag{position:absolute;top:8px;color:#7c9291;font:8px var(--mono);letter-spacing:.09em}.power-component{left:6%;top:28%}.resistor-component{left:33%;top:52%}.led-component{right:24%;top:18%}.ground-component{right:5%;bottom:13%}.power-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--blue);border-radius:50%;color:var(--blue);font-size:27px;line-height:.8}.power-mark span{font:7px var(--mono);margin-top:-2px}.resistor-symbol{display:flex;align-items:center;gap:0;width:62px;height:24px}.resistor-symbol i{width:14px;height:2px;background:var(--orange)}.resistor-symbol b{width:34px;height:18px;border:2px solid var(--orange);background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,173,99,.32) 7px 9px);transform:skew(-14deg)}.led-symbol{display:grid;place-items:center;width:42px;height:42px;border:2px solid #81999a;border-radius:50%;position:relative}.led-symbol b{width:15px;height:15px;border:2px solid var(--blue);border-radius:50%}.led-symbol .led-glow{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--mint);opacity:.38;filter:blur(4px)}.ground-symbol{position:relative;width:45px;height:42px}.ground-symbol:before{content:'';position:absolute;left:21px;top:3px;width:2px;height:13px;background:#67807f}.ground-symbol i,.ground-symbol b{position:absolute;left:8px;height:2px;background:#67807f}.ground-symbol i{top:18px;width:28px}.ground-symbol b{top:26px;left:14px;width:16px}.ground-symbol:after{content:'';position:absolute;top:34px;left:19px;width:8px;height:2px;background:#67807f}.port{position:absolute;z-index:3;width:14px;height:14px;border:2px solid var(--white);border-radius:50%;background:var(--blue);cursor:grab;box-shadow:0 0 0 3px rgba(8,113,184,.18),0 0 11px rgba(8,113,184,.55);transition:transform .2s,background .2s}.port:hover,.port:focus,.port.is-selected{transform:scale(1.3);background:var(--orange);outline:0}.port-vcc{right:-8px;top:46%}.port-resistor-in{left:-8px;top:35%;background:var(--blue)}.port-resistor-out{right:-8px;top:63%;background:var(--orange)}.port-led-anode{left:-8px;top:35%;background:var(--orange)}.port-led-cathode{right:-8px;top:63%;background:#67807f}.port-gnd{left:-8px;top:45%;background:#67807f}.board-legend{position:absolute;left:17px;right:17px;top:14px;display:flex;gap:16px;color:#78908f;font:8px var(--mono);letter-spacing:.05em}.board-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.legend-vcc{background:var(--blue)}.legend-signal{background:var(--orange)}.legend-ground{background:#67807f}.connection-hint{position:absolute;z-index:4;left:50%;bottom:14px;display:flex;align-items:center;gap:8px;max-width:90%;padding:8px 11px;border:1px solid rgba(8,113,184,.18);border-radius:5px;background:rgba(255,255,255,.84);color:var(--ink-soft);font-size:10px;transform:translateX(-50%);box-shadow:0 5px 14px rgba(7,29,50,.06)}.hint-icon{color:var(--blue);font-size:17px}.circuit-footer,.code-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 27px 21px;color:var(--muted);font:10px var(--mono)}.circuit-message{max-width:70%;text-align:right}.code-card{background:#071d32;color:#effcff;border-color:#17405b}.code-card .card-kicker{color:var(--cyan)}.code-card .card-header h3{color:#effcff}.code-card .card-copy{color:#9bb2b8}.code-card .text-button{color:#87a5ad}.mode-tabs{display:flex;gap:4px;padding:3px;border:1px solid #285067;border-radius:100px}.mode-tab{padding:6px 10px;border:0;border-radius:100px;background:transparent;color:#83a7b1;font:9px var(--mono);cursor:pointer}.mode-tab.is-active{background:var(--cyan);color:var(--ink)}.code-mode{margin:0 15px}.block-palette{display:grid;gap:8px}.palette-label{margin:0 6px 2px;color:#6e929e;font:8px var(--mono);letter-spacing:.12em}.code-block{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:1px solid #26536a;border-radius:6px;background:#0c2a42;color:#e5f9fc;text-align:left;cursor:grab;transition:border .2s,transform .2s,background .2s}.code-block:hover{border-color:var(--cyan);transform:translateX(3px);background:#103650}.code-block i{width:8px;height:26px;border-radius:2px;background:var(--blue-bright)}.code-block span{display:grid;gap:1px}.code-block b{font:12px var(--mono);font-weight:500}.code-block small{font-size:10px;color:#87a5ad}.code-block em{margin-left:auto;color:var(--cyan);font-style:normal;font-size:18px}.block-on i{background:var(--mint)}.block-wait i{background:var(--orange)}.drop-zone{min-height:221px;margin-top:14px;padding:13px;border:1px dashed #4a7080;border-radius:6px;background:#061727;transition:border-color .2s,background .2s}.drop-zone.is-over{border-color:var(--cyan);background:#0a2940}.drop-zone-top{display:flex;justify-content:space-between;color:#6e929e;font:8px var(--mono);letter-spacing:.1em}.drop-placeholder{display:grid;place-items:center;align-content:center;min-height:175px;color:#6e929e;text-align:center}.drop-placeholder span{font-size:25px;color:var(--cyan)}.drop-placeholder strong{font-size:12px;font-weight:500}.drop-placeholder small{margin-top:4px;font-size:10px;color:#547681}.placed-blocks{display:grid;gap:8px;margin-top:12px}.placed-block{position:relative;display:flex;align-items:center;min-height:42px;padding:7px 30px 7px 12px;border-radius:4px;background:#123c50;color:#e8fbff;font:11px var(--mono)}.placed-block:before{content:'';width:6px;height:20px;margin-right:9px;border-radius:2px;background:var(--cyan)}.placed-block[data-code="on"]:before{background:var(--mint)}.placed-block[data-code="wait"]:before{background:var(--orange)}.placed-block button{position:absolute;right:9px;border:0;background:transparent;color:#7fa4ad;cursor:pointer}.code-footer{border-top:1px solid #17405b;margin-top:18px;padding-top:14px}.code-mode-c{padding:0}.editor-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #26536a;border-bottom:0;border-radius:6px 6px 0 0;color:#6e929e;font:9px var(--mono)}.editor-bar span:first-child{display:flex;gap:4px}.editor-bar i{display:block;width:6px;height:6px;border-radius:50%;background:#ff826e}.editor-bar i:nth-child(2){background:var(--orange)}.editor-bar i:nth-child(3){background:var(--mint)}#c-editor{display:block;width:100%;min-height:255px;padding:18px;border:1px solid #26536a;border-radius:0 0 6px 6px;resize:vertical;background:#061727;color:#dff8ff;font:12px/1.7 var(--mono);outline:none}#c-editor:focus{border-color:var(--cyan)}.editor-hint{padding:11px 3px;color:#6e929e;font:9px var(--mono)}.editor-cursor{display:inline-block;width:6px;height:10px;background:var(--mint);vertical-align:-1px;animation:blink 1s steps(2,end) infinite}@keyframes blink{50%{opacity:0}}.test-zone{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;margin-top:18px;padding:28px;border:1px solid #1d526c;border-radius:10px;background:linear-gradient(120deg,#071d32,#0b2d46);color:var(--white)}.test-copy h3{margin:9px 0 7px;font-size:28px;letter-spacing:-.06em}.test-copy p{margin:0;color:#9bb2b8;font-size:13px}.test-visual{display:grid;justify-items:center;gap:8px;color:#84a6ad;font:9px var(--mono);letter-spacing:.08em}.test-led{display:grid;place-items:center;width:48px;height:48px;border:1px solid #527384;border-radius:50%;background:#062034}.test-led i{width:16px;height:16px;border-radius:50%;background:#315260;transition:background .45s,box-shadow .45s}.test-led.is-on i{background:var(--mint);box-shadow:0 0 30px rgba(201,255,117,.95),0 0 7px var(--mint)}.run-button{padding:15px 19px;background:var(--cyan);color:var(--ink);white-space:nowrap}.run-button:disabled{opacity:.43;cursor:not-allowed}.run-icon{margin-right:7px;font-size:10px}.success-message{display:none;align-items:center;gap:15px;margin-top:14px;padding:17px 22px;border:1px solid rgba(8,113,184,.25);border-radius:8px;background:rgba(201,255,117,.18);color:var(--ink)}.success-message.is-visible{display:flex}.success-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mint);font-weight:800}.success-message strong{font-size:14px}.success-message p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}.success-message .text-button{margin-left:auto;color:var(--ink-soft)}.closing{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:80px 0;border-top:1px solid var(--line)}.closing h2{margin:10px 0 10px;font-size:clamp(2.6rem,5vw,5rem);line-height:.92;letter-spacing:-.09em}.closing p{max-width:520px;margin:0;color:var(--muted)}.module-chip{display:grid;gap:4px;min-width:210px;padding:18px;border:1px solid #b7cdcd;border-radius:8px;background:rgba(255,255,255,.55);text-align:right}.module-chip span{color:var(--blue);font:14px var(--mono)}.module-chip strong{font-size:14px}.module-chip small{color:var(--muted);font:9px var(--mono);text-transform:uppercase}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 0 38px;border-top:1px solid var(--line);color:var(--muted);font:11px var(--mono)}.brand-footer img{width:96px;height:26px}.brand-footer .brand-product{font-size:9px}.brand-footer .brand-divider{height:16px}
@media(max-width:980px){.shell,.site-header{width:min(calc(100% - 42px),700px)}.hero{grid-template-columns:1fr;gap:50px;padding-top:68px}.hero-schematic{min-height:360px}.workspace-grid{grid-template-columns:1fr}.test-zone{grid-template-columns:1fr auto auto}.section-intro{align-items:start;display:block}.section-intro p{margin-top:14px}.header-meta{display:none}}
@media(max-width:620px){.shell,.site-header{width:calc(100% - 30px)}.site-header{height:70px;gap:10px}.brand img{width:104px;height:28px}.brand-divider{height:16px}.brand-product{font-size:8px}.header-link{margin-left:auto;font-size:11px}.hero{padding:56px 0 75px}.hero h1{font-size:3.6rem}.hero-lede{font-size:16px}.hero-actions{display:block}.hero-note{display:block;margin-top:14px}.hero-schematic{min-height:300px}.schematic-chip{left:9%;width:130px;height:112px}.schematic-chip strong{font-size:24px}.schematic-led{right:10%;top:18%}.schematic-resistor{right:20%;top:59%}.trace-a{width:150px}.trace-b{width:120px}.step-track{grid-template-columns:1fr;gap:12px}.step-connector{width:1px;height:18px;margin-left:8px}.step{min-width:0}.playground{padding-top:45px}.playground-head{display:block}.lab-status{display:inline-block;margin-top:18px;font-size:8px}.card-header{display:block;padding:21px 19px 0}.card-header h3{font-size:22px}.card-header .text-button{margin-top:12px}.card-copy{margin:10px 19px 18px}.circuit-board{min-height:430px;margin:0 10px}.power-component{left:4%;top:25%}.resistor-component{left:32%;top:50%}.led-component{right:21%;top:18%}.ground-component{right:3%;bottom:15%}.board-component{width:90px;min-height:105px}.board-component strong{font-size:11px}.board-legend{left:10px;right:10px;gap:8px;font-size:7px}.connection-hint{font-size:9px}.circuit-footer,.code-footer{display:block;padding-left:19px;padding-right:19px}.circuit-message{max-width:none;margin-top:8px;text-align:left;font-size:9px}.mode-tabs{margin-top:14px;display:inline-flex}.code-mode{margin:0 10px}.test-zone{grid-template-columns:1fr auto;gap:19px;padding:21px}.test-copy h3{font-size:23px}.test-copy p{font-size:12px}.test-visual{grid-column:2;grid-row:1}.run-button{grid-column:1/-1;width:100%}.success-message{align-items:start;flex-wrap:wrap;padding:17px}.success-message .text-button{margin-left:45px}.closing{display:block;padding:64px 0}.module-chip{margin-top:25px;text-align:left}.site-footer{display:block}.site-footer>span,.site-footer>a:last-child{display:block;margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Consent-first visitor insights, aligned with the Circuit Lab visual language. */
.visitor-consent{position:fixed;right:22px;bottom:22px;z-index:100;width:min(680px,calc(100% - 32px));display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:19px 20px;border:1px solid #2b88b4;border-radius:10px;background:rgba(7,29,50,.98);box-shadow:0 22px 60px rgba(7,29,50,.28),0 0 35px rgba(8,113,184,.14);color:#effcff}.visitor-consent-copy{min-width:0}.visitor-consent-kicker{display:block;color:var(--cyan);font:9px var(--mono);letter-spacing:.13em}.visitor-consent h2{margin:8px 0 5px;color:#fff;font-size:17px;letter-spacing:-.04em}.visitor-consent p{margin:0;color:#b9ced0;font-size:12px;line-height:1.5}.visitor-consent p a{color:var(--cyan);text-underline-offset:3px}.visitor-consent-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.visitor-consent button{border-radius:100px;padding:10px 12px;font:11px var(--sans);cursor:pointer;white-space:nowrap}.visitor-consent-secondary{border:1px solid #557683;background:transparent;color:#d0e0e0}.visitor-consent-primary{border:1px solid var(--cyan);background:var(--cyan);color:var(--ink);font-weight:700}.visitor-consent button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.visitor-consent-settings{position:fixed;right:16px;bottom:14px;z-index:99;border:1px solid var(--line);border-radius:100px;padding:7px 10px;background:rgba(7,29,50,.9);color:#d2e2e0;font:9px var(--mono);cursor:pointer}.visitor-consent-settings:hover{border-color:var(--blue);color:#fff}.visitor-consent-settings:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(max-width:650px){.visitor-consent{right:16px;bottom:16px;width:calc(100% - 32px);display:block}.visitor-consent-actions{margin-top:15px;justify-content:flex-end}.visitor-consent button{flex:1}}

/* Hero revision: keep the introduction calm and let the bulb carry the visual cue. */
.hero{display:block;padding:86px 0 92px}
.hero-copy{max-width:1040px}
.hero-title-row{display:flex;align-items:center;gap:42px}
.hero h1{flex:1;max-width:none;font-size:clamp(3.15rem,5.45vw,5.9rem)}
.hero-bulb{flex:0 0 178px;width:178px;display:grid;justify-items:center;gap:13px;padding:16px 16px 14px;border:1px solid #bdd4d5;border-radius:14px;background:rgba(255,255,255,.56);box-shadow:12px 16px 32px rgba(7,29,50,.08);transform:rotate(3deg)}
.hero-bulb svg{width:112px;height:145px;overflow:visible}
.bulb-rays,.bulb-filament,.bulb-base{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round}
.bulb-rays{stroke-width:3}
.bulb-glass{fill:rgba(201,255,117,.28);stroke:var(--blue);stroke-width:3}
.bulb-filament{stroke:var(--orange);stroke-width:3}
.bulb-base{stroke-width:4}
.hero-bulb span{color:var(--blue);font:9px var(--mono);letter-spacing:.1em}
@media(max-width:620px){.hero{padding:55px 0 76px}.hero-title-row{display:block}.hero h1{font-size:3.25rem}.hero-bulb{width:126px;flex-basis:auto;margin:24px 0 0 4px;padding:11px 10px 10px;transform:rotate(3deg)}.hero-bulb svg{width:82px;height:106px}.hero-bulb span{font-size:7px}.hero-lede{font-size:16px}}

.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--blue)}
@media(max-width:620px){.footer-links{justify-content:flex-start;gap:12px;font-size:10px}}

.led-symbol.is-on{border-color:var(--mint);box-shadow:0 0 22px rgba(201,255,117,.55)}.led-symbol.is-on .led-glow{opacity:1;box-shadow:0 0 18px rgba(201,255,117,.98),0 0 7px var(--mint)}
.mcu-component{left:3%;top:23%;width:158px}.mcu-symbol{position:relative;display:grid;place-items:center;width:104px;height:82px;padding:12px 9px 10px;border:1px solid #2b88b4;border-radius:6px;background:linear-gradient(145deg,#165071,#071d32 82%);color:var(--cyan);box-shadow:0 0 20px rgba(8,113,184,.28),inset 0 0 0 4px rgba(169,237,255,.06)}.mcu-symbol::before,.mcu-symbol::after{content:"";position:absolute;top:12px;bottom:12px;width:13px;background:repeating-linear-gradient(to bottom,transparent 0 5px,var(--cyan) 5px 7px,transparent 7px 12px);opacity:.8}.mcu-symbol::before{left:-14px}.mcu-symbol::after{right:-14px}.mcu-symbol span,.mcu-symbol i{font:8px var(--mono);letter-spacing:.04em;white-space:nowrap}.mcu-symbol b{font-size:28px;line-height:1;letter-spacing:-.08em}.mcu-symbol i{color:var(--mint);font-style:normal}.port-mcu-gpio{right:-8px;top:46%;background:var(--blue)}.legend-gpio{background:var(--blue)}
@media(max-width:620px){.mcu-component{left:2%;top:21%;width:126px}.mcu-symbol{width:88px;height:76px;padding-left:5px;padding-right:5px}.mcu-symbol span,.mcu-symbol i{font-size:7px}.mcu-symbol b{font-size:23px}}

/* Make the controller face read like one coherent chip label. */
.mcu-component{width:174px;padding-left:8px;padding-right:8px}
.mcu-symbol{width:122px;height:92px;padding:10px 8px 8px;grid-template-rows:auto 1fr auto auto;gap:2px}
.mcu-symbol .mcu-kicker{font:7px var(--mono);letter-spacing:.16em;color:#82c8d9}
.mcu-symbol b{font-size:25px;letter-spacing:.02em;line-height:1;align-self:center}
.mcu-symbol strong{font:600 9px var(--mono);letter-spacing:.08em;color:#d7f7fa;white-space:nowrap}
.mcu-symbol i{font-size:7px;letter-spacing:.12em}
@media(max-width:620px){.mcu-component{width:140px;padding-left:5px;padding-right:5px}.mcu-symbol{width:102px;height:84px}.mcu-symbol b{font-size:21px}.mcu-symbol strong{font-size:7px}.mcu-symbol .mcu-kicker,.mcu-symbol i{font-size:6px}}

/* Give every connection point a clear working area for drag-and-drop wiring. */
.resistor-component{left:40%;top:54%}
.led-component{right:13%;top:17%}
@media(max-width:620px){.resistor-component{left:40%;top:52%}.led-component{right:4%;top:17%}}

/* Keep both learning windows visually consistent: the logic panel uses the same light surface as the wiring panel. */
.code-card{background:rgba(255,255,255,.62);color:var(--ink);border-color:#c3d4d3}
.code-card .card-kicker{color:var(--blue)}.code-card .card-header h3{color:var(--ink)}.code-card .card-copy{color:var(--muted)}
.code-card .text-button{color:var(--muted)}.mode-tabs{border-color:#c3d4d3;background:rgba(255,255,255,.55)}.mode-tab{color:var(--muted)}.mode-tab.is-active{background:var(--blue);color:var(--white)}
.palette-label{color:var(--muted)}.code-block{border-color:#c3d4d3;background:#f7fbfa;color:var(--ink)}.code-block:hover{border-color:var(--blue);background:#fff}.code-block small{color:var(--muted)}.code-block em{color:var(--blue)}
.drop-zone{border-color:#b8cfce;background:#f7fbfa}.drop-zone.is-over{border-color:var(--blue);background:#edf7f5}.drop-zone-top{color:var(--muted)}.drop-placeholder{color:var(--muted)}.drop-placeholder span{color:var(--blue)}.drop-placeholder small{color:var(--muted)}
.placed-block{background:#dff1ef;color:var(--ink)}.placed-block button{color:var(--muted)}.editor-bar{border-color:#c3d4d3;background:#f7fbfa;color:var(--muted)}#c-editor{border-color:#c3d4d3;background:#fff;color:var(--ink)}#c-editor:focus{border-color:var(--blue)}.editor-hint{color:var(--muted)}.code-footer{border-color:#d3e0df;color:var(--muted)}

/* Additional interactive learning examples. */
.examples{padding:18px 0 92px}.examples-intro{align-items:end;margin-bottom:28px}.examples-intro h2{margin:10px 0 0;font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:.92;letter-spacing:-.08em}.examples-intro h2 em{font-style:normal;color:var(--blue)}.examples-intro p{max-width:360px}.examples-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.example-card{min-width:0;overflow:hidden;border:1px solid #c3d4d3;border-radius:10px;background:rgba(255,255,255,.68);box-shadow:0 8px 24px rgba(7,29,50,.04)}.example-top{display:flex;justify-content:space-between;gap:15px;padding:18px 22px 14px;border-bottom:1px solid #d7e3e1;color:var(--blue);font:9px var(--mono);letter-spacing:.09em}.example-top b{color:var(--muted);font-weight:500}.example-visual{display:flex;align-items:center;min-height:178px;padding:22px;background:linear-gradient(135deg,#071d32,#0b3550);color:#e7fbff}.mini-node{display:grid;place-items:center;flex:0 0 75px;height:75px;border:1px solid #2b88b4;border-radius:7px;background:linear-gradient(145deg,#165071,#071d32);box-shadow:0 0 18px rgba(8,113,184,.28),inset 0 0 0 4px rgba(169,237,255,.05)}.mini-node b{font:22px var(--mono);letter-spacing:-.08em}.mini-node small{color:var(--mint);font:8px var(--mono);letter-spacing:.08em}.mini-wire{height:2px;flex:1;min-width:24px;background:linear-gradient(90deg,var(--cyan),rgba(169,237,255,.35));box-shadow:0 0 8px rgba(169,237,255,.45)}.mini-wire-short{max-width:44px}.mini-button{display:grid;place-items:center;gap:7px;flex:0 0 66px;height:66px;border:1px solid #8cb4bc;border-radius:8px;background:#143c52;color:#bfeef4;cursor:pointer}.mini-button i{display:block;width:24px;height:24px;border:3px solid var(--orange);border-radius:50%;box-shadow:0 0 12px rgba(255,173,99,.24);transition:transform .15s,background .15s,box-shadow .15s}.mini-button span,.mini-led span{font:8px var(--mono);letter-spacing:.08em}.mini-button.is-pressed i{transform:translateY(3px);background:var(--orange);box-shadow:0 0 20px rgba(255,173,99,.8)}.mini-led{display:grid;justify-items:center;gap:7px;flex:0 0 58px;color:#bfeef4}.mini-led i{display:block;width:38px;height:38px;border:2px solid #7f9da4;border-radius:50%;background:#163447;transition:background .2s,box-shadow .2s,opacity .2s,transform .2s}.mini-led.is-on i{border-color:var(--mint);background:var(--mint);box-shadow:0 0 28px rgba(201,255,117,.9)}.pwm-led i{--pwm-level:.5;opacity:var(--pwm-level);transform:scale(calc(.78 + var(--pwm-level) * .22));background:var(--mint);border-color:var(--mint);box-shadow:0 0 calc(10px + var(--pwm-level) * 26px) rgba(201,255,117,.9)}.example-content{display:grid;gap:15px;padding:22px}.example-content .card-kicker{display:block}.example-content h3{margin:8px 0 7px;font-size:23px;letter-spacing:-.06em}.example-content p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.example-content pre{margin:0;min-height:92px;padding:14px;border:1px solid #c3d4d3;border-radius:6px;background:#f7fbfa;color:var(--ink);font:11px/1.65 var(--mono);overflow:auto}.example-content code{font:inherit}.example-action{display:flex;align-items:center;gap:12px}.example-control{padding:10px 14px;border:0;border-radius:100px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.example-control:hover{background:var(--blue)}.example-status{color:var(--muted);font:9px var(--mono);letter-spacing:.04em}.example-range{display:grid;grid-template-columns:1fr auto;gap:9px 14px;align-items:center;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}.example-range output{color:var(--blue);font:11px var(--mono)}.example-range input{grid-column:1/-1;width:100%;accent-color:var(--blue);cursor:pointer}.examples+.closing{padding-top:62px}@media(max-width:760px){.examples-grid{grid-template-columns:1fr}.example-visual{min-height:160px}.examples-intro{display:block}.examples-intro p{margin-top:14px}}@media(max-width:620px){.examples{padding-top:0}.example-top{display:block}.example-top b{display:block;margin-top:6px}.example-content{padding:19px}.example-content h3{font-size:21px}.example-action{align-items:flex-start;flex-direction:column}.example-status{font-size:8px}}

/* Keep the example choice visible above the learning sequence. */
.example-selector{display:flex;align-items:center;gap:24px;margin-bottom:34px;padding:10px;border:1px solid #c3d4d3;border-radius:10px;background:rgba(255,255,255,.58)}.selector-label{display:grid;gap:3px;min-width:132px;padding:7px 10px}.selector-label span{color:var(--blue);font:8px var(--mono);letter-spacing:.14em}.selector-label strong{font-size:13px;letter-spacing:-.02em}.example-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:5px}.example-option{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:10px 12px;border:1px solid transparent;border-radius:7px;color:var(--muted);text-decoration:none;transition:background .2s,border-color .2s,color .2s}.example-option span{grid-row:span 2;color:#8ca5a4;font:10px var(--mono)}.example-option strong{font-size:12px;line-height:1.1}.example-option small{font:8px var(--mono);letter-spacing:.06em}.example-option:hover{border-color:#b7d2d4;background:#f7fbfa;color:var(--ink)}.example-option.is-selected{border-color:var(--blue);background:var(--ink);color:#fff}.example-option.is-selected span,.example-option.is-selected small{color:var(--cyan)}.example-option:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.examples-grid{grid-template-columns:1fr}.example-card{scroll-margin-top:28px}@media(max-width:760px){.example-selector{display:block}.selector-label{padding:5px 8px 10px}.example-picker{grid-template-columns:1fr}.example-option{padding:9px 10px}}
/* Keep the example selector available while scrolling. */
.example-selector{position:sticky;top:12px;z-index:12;background:rgba(238,245,243,.96);box-shadow:0 8px 20px rgba(7,29,50,.06)}
