.pins{gap:var(--space-5);display:grid}.pins--full{grid-template-columns:minmax(0,1fr);grid-template-areas:"wiring""table""schem""notes"}@media (width>=1024px){.pins--full{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"wiring schem""table schem""notes notes"}.pins--full.pins--noschem{grid-template-columns:minmax(0,1fr);grid-template-areas:"wiring""table""notes"}}.pins--dock{gap:var(--space-4);grid-template-areas:"wiring""schem""table""notes"}.pins__wiring{background:color-mix(in srgb, var(--surface-1) 90%, transparent);border:1px solid var(--hairline);border-radius:var(--radius-lg);gap:var(--space-3);min-width:0;padding:var(--space-4);flex-direction:column;grid-area:wiring;display:flex}.pins__table{grid-area:table;min-width:0;overflow-x:auto}.pins__schem{align-content:start;gap:var(--space-2);grid-area:schem;min-width:0;display:grid}.pins__notes{color:var(--text-muted);font-size:var(--fs-small);gap:var(--space-2);padding-left:var(--space-5);flex-direction:column;grid-area:notes;margin:0;display:flex}.pins .label-caps{align-items:center;gap:5px;display:inline-flex}.wiring{width:100%;height:auto;display:block}.wiring__mcu{fill:color-mix(in srgb, var(--mod-hue) 10%, var(--surface-2));stroke:color-mix(in srgb, var(--mod-hue) 55%, transparent);stroke-width:1.5px}.wiring__mcu-label,.wiring__part-label{fill:var(--text);font-family:var(--font-body);font-size:14px;font-weight:700}.wiring__part{fill:var(--surface-2);stroke:var(--hairline-strong);stroke-width:1.2px}.wiring__pad{fill:var(--surface-4);stroke:var(--hairline-strong)}.wiring__pin,.wiring__sig{fill:var(--text-muted);font-family:var(--font-mono);font-size:12px}.wiring__wire{cursor:pointer}.wiring__hit{fill:none;stroke:#0000;stroke-width:16px}.wiring__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;transition:opacity var(--dur-fast) var(--ease-reveal), stroke-width var(--dur-fast) var(--ease-reveal)}.wiring__wire[data-kind=pwr] .wiring__line{stroke:var(--danger)}.wiring__wire[data-kind=gnd] .wiring__line{stroke:var(--text-faint)}.wiring__wire[data-kind=sig] .wiring__line{stroke:var(--mod-hue,var(--accent))}.wiring__wire[data-on] .wiring__line{stroke-width:5px}.wiring__wire[data-dim] .wiring__line,.wiring__wire[data-dim] .wiring__pulse{opacity:.2}.wiring__pulse{fill:none;opacity:0;stroke:var(--invert-bg);stroke-dasharray:6 60;stroke-linecap:round;stroke-width:3px}:root:not([data-motion-tier="0"]) .wiring__pulse{opacity:.7;animation:1.6s linear infinite wiring-flow}:root:not([data-motion-tier="0"]) .wiring__wire[data-on] .wiring__pulse{opacity:1;animation-duration:.8s}@keyframes wiring-flow{to{stroke-dashoffset:-66px}}.wiring-legend{gap:var(--space-3);display:flex}.wiring-legend span{color:var(--text-muted);align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.wiring-legend i{border-radius:2px;width:16px;height:3px;display:inline-block}.wiring-legend [data-kind=pwr] i{background:var(--danger)}.wiring-legend [data-kind=gnd] i{background:var(--text-faint)}.wiring-legend [data-kind=sig] i{background:var(--accent)}.pintable{border-collapse:separate;border-spacing:0;width:100%}.pintable th{color:var(--text-faint);letter-spacing:var(--tracking-eyebrow);padding:var(--space-2) var(--space-3);text-align:left;text-transform:uppercase;font-size:.72rem;font-weight:600}.pintable td{border-top:1px solid var(--hairline-faint);padding:var(--space-3);transition:background var(--dur-fast) var(--ease-reveal)}.pintable tr{cursor:default;outline:none}.pintable tbody tr[data-on] td{background:var(--accent-soft)}@media (hover:hover) and (pointer:fine){.pintable tbody tr:hover td{background:var(--accent-soft)}}.pintable tbody tr:focus-visible td{box-shadow:inset 0 0 0 2px var(--focus-ring)}.pintable__pin{border-radius:6px;padding:2px 8px;font-weight:600}.pintable__pin[data-kind=pwr]{background:var(--danger-soft);color:var(--danger)}.pintable__pin[data-kind=gnd]{background:var(--hairline-faint);color:var(--text-muted)}.pintable__pin[data-kind=sig]{background:var(--accent-soft);color:var(--accent-bright)}.schem-thumb{border:1px solid var(--hairline);border-radius:var(--radius-lg);cursor:zoom-in;background:#fff;width:100%;padding:0;display:block;position:relative;overflow:hidden}.schem-thumb img{object-fit:contain;max-height:360px;padding:var(--space-3);width:100%;display:block}.pins--dock .schem-thumb img{max-height:220px}.schem-thumb__bar{color:#fff;font-size:var(--fs-small);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#05060bd9;justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}.schem-thumb--frame{background:var(--surface-2);cursor:default;flex-direction:column;display:flex}.schem-thumb--frame iframe{aspect-ratio:4/3;border:0;width:100%;display:block}.schem-thumb--frame .schem-thumb__bar{position:static}.schem-thumb--frame .schem-thumb__bar a{color:inherit;display:inline-flex}.jumper{user-select:none;width:100%;height:auto;display:block}.jumper__usb{fill:var(--surface-4);stroke:var(--hairline-strong)}.jumper__chip{fill:color-mix(in srgb, var(--mod-hue) 18%, var(--surface-3,var(--surface-2)));stroke:color-mix(in srgb, var(--mod-hue) 40%, transparent)}.jumper__pad{fill:var(--surface-1);stroke:var(--hairline-strong);stroke-width:1.5px;transition:opacity var(--dur-fast) var(--ease-reveal), stroke var(--dur-fast) var(--ease-reveal), stroke-width var(--dur-fast) var(--ease-reveal)}.jumper__pad[data-power=yes]{fill:var(--surface-4)}.jumper__pad[data-used=yes]{stroke:color-mix(in srgb, var(--mod-hue) 70%, var(--text));stroke-width:2.5px}.jumper__pad[data-ok=yes]{fill:var(--ok-soft);stroke:var(--ok);stroke-width:2.5px}:root:not([data-motion-tier="0"]) .jumper__pad[data-ok=yes]{animation:1.4s ease-in-out infinite jumper-boleh}@keyframes jumper-boleh{50%{stroke-opacity:.35}}.jumper__pad[data-ok=no]{opacity:.3}.jumper__pad[data-hover=yes][data-ok=yes]{stroke-width:4.5px}.jumper__lbl{dominant-baseline:middle;fill:var(--text-muted);font-family:var(--font-mono);transition:opacity var(--dur-fast) var(--ease-reveal);font-size:10.5px}.jumper__lbl[data-dim=yes]{opacity:.3}.jumper__plug{fill:var(--invert-bg);stroke:var(--mod-hue,var(--accent));stroke-width:3px;touch-action:none}.jumper__plug[data-kind=pwr]{stroke:var(--danger)}.jumper__plug[data-kind=gnd]{stroke:var(--text-faint)}.jumper__plug[data-edit=yes]{cursor:grab}.jumper[data-holding=yes] .jumper__plug[data-edit=yes]{cursor:grabbing}.jumper__plug[data-on=yes],.jumper__plug:focus-visible{stroke-width:5px;outline:none}.jumper__target{cursor:pointer;outline:none}.jumper__home{fill:none;pointer-events:none;stroke:var(--text-muted);stroke-dasharray:3 3;stroke-width:1.5px}.wiring__wire[data-parked] .wiring__line{stroke-dasharray:4 4}.jumper__plug[data-parked]{fill:var(--surface-2)}.jumper__target:focus-visible .jumper__pad{stroke:var(--accent);stroke-width:5px}.pins__mine{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.pintable__pin[data-changed=yes]{outline:2px solid var(--warn);outline-offset:1px}.pindlg{gap:var(--space-4);display:grid}.pindlg__board{background:color-mix(in srgb, var(--surface-1) 90%, transparent);border:1px solid var(--hairline);border-radius:var(--radius-lg);gap:var(--space-3);padding:var(--space-4);display:grid}@media (width<=559px){.pindlg__board .segmented--fill{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}}.pindlg__table{border-collapse:collapse;width:100%}.pindlg__table th{color:var(--text-faint);font-size:var(--fs-small);text-align:left;padding:4px 8px;font-weight:600}.pindlg__table td{border-top:1px solid var(--hairline-faint);vertical-align:middle;padding:6px 8px}.pindlg__table caption{padding-bottom:var(--space-2);text-align:left}.pindlg__table tr[data-on=yes] td{background:var(--hairline-faint)}.pindlg__bad,.pindlg__badline{color:var(--danger)}.pins__tools{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.pins__tools>.segmented{flex:200px}.jumper-wrap{border-radius:var(--radius-md);overflow:hidden}.jumper[data-zoom=yes]{cursor:grab}.jumper[data-zoom=yes]:active{cursor:grabbing}.jumper-zoom{border:1px solid var(--hairline);border-radius:var(--radius-md);align-items:center;gap:2px;width:max-content;margin:0 0 6px auto;padding:3px;display:flex}.jumper-zoom .iconbtn{background:0 0;border-color:#0000}.jumper-zoom__pct{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;min-width:52px;min-height:38px;padding:0 6px;font-size:.8rem}@media (hover:hover) and (pointer:fine){.jumper-zoom__pct:hover{color:var(--text)}}.jumper-zoom__pct:focus-visible{box-shadow:var(--glow-ring);outline:none}.pins__mine>.hint{flex:14rem;min-width:0}.codestep,.kodeed{--syn-keyword:#c3a6ff;--syn-type:#6fd6e3;--syn-string:#8fe3b0;--syn-number:#f5c77e;--syn-func:#7cc4ff;--syn-preproc:#ff9ecf;--syn-const:#ffb38a;--syn-comment:var(--text-faint);--key-c:#c3a6ff}:root[data-theme=light] .codestep,:root[data-theme=light] .kodeed{--syn-keyword:#6a3fc8;--syn-type:#0a6f7c;--syn-string:#1d7a3e;--syn-number:#8a5a00;--syn-func:#0b5ea8;--syn-preproc:#b0236e;--syn-const:#a04a12;--key-c:#6a3fc8}.tok--keyword{color:var(--syn-keyword)}.tok--type{color:var(--syn-type)}.tok--string{color:var(--syn-string)}.tok--number{color:var(--syn-number)}.tok--func{color:var(--syn-func)}.tok--preproc,.tok--deco{color:var(--syn-preproc)}.tok--const{color:var(--syn-const)}.tok--comment{color:var(--syn-comment);font-style:italic}.codehead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.codehead__files{flex:0 auto;grid-auto-flow:column;width:auto;min-width:0;max-width:100%;display:inline-grid}.codehead__name{text-align:center;min-width:0;line-height:1.25}.codehead__tools{flex:none;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.codestep__keys-hint{min-width:0}.blanknav{flex-wrap:wrap;gap:8px;display:flex}.blankchip{background:var(--surface-2);border:1px solid var(--hairline-strong);color:var(--text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;min-height:40px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 10px;font-weight:650;display:inline-flex}@media (hover:hover) and (pointer:fine){.blankchip:hover{border-color:var(--text-muted)}}.blankchip:focus-visible{box-shadow:var(--glow-ring);outline:none}.blankchip[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.blankchip__dot{border:2px solid var(--accent);border-radius:50%;width:10px;height:10px}.blankchip[data-st=ok] .blankchip__dot,.blankchip[data-st=peer] .blankchip__dot{background:var(--ok);border-color:var(--ok)}.blankchip[data-st=bad] .blankchip__dot{background:var(--danger);border-color:var(--danger)}.blankchip[data-st=key] .blankchip__dot{background:var(--key-c);border-color:var(--key-c)}.codegrid{--code-h:560px;scroll-margin-top:calc(var(--nav-size,64px) + var(--minibar-h,0px) + 12px);grid-template-columns:minmax(0,1fr);gap:18px;display:grid}@media (width>=1280px){.codegrid--side{--code-top:calc(var(--nav-size,64px) + var(--minibar-h,0px) + 16px);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.codegrid--side>.codecard{height:max(360px, calc(100dvh - var(--code-top) - 24px));top:var(--code-top);flex-direction:column;display:flex;position:sticky}.codegrid--side>.codecard>.code{flex:1 1 0;min-height:0;max-height:none}}.codecard{gap:0;padding:0;overflow:hidden}.code{background:var(--bg-sunken);font:.906rem/1.85 var(--font-mono);max-height:min(var(--code-h), 70vh);margin:0;padding:10px 0;overflow:auto}.code:focus-visible{box-shadow:inset var(--glow-ring);outline:none}.code[data-loading=yes]{opacity:.6}@media (height<=800px){.codegrid{--code-h:420px}.code{max-height:340px}}.cl{min-width:max-content;min-height:1.85em;display:flex;position:relative}.cl__t{white-space:pre;padding-right:16px}.ln{color:var(--text-faint);text-align:right;user-select:none;flex:none;width:46px;padding-right:14px}.cl--todo:before,.cl--target:before{background:var(--accent);content:"";opacity:.06;pointer-events:none;position:absolute;inset:0}.cl--target:before{opacity:.1}:root:not([data-motion-tier="0"]) .cl--target:before{animation:2.4s ease-in-out infinite code-linepulse}.cl--target{box-shadow:inset 3px 0 0 var(--accent)}.cl[data-st=empty]:before{background:var(--text-muted)}.cl[data-st=bad]:before{background:var(--danger)}.cl[data-st=ok]:before{background:var(--ok)}.cl[data-st=peer]:before{background:var(--g,var(--group-4))}.cl[data-st=key]:before{background:var(--key-c)}.cl--todo[data-st=bad]:before{opacity:.1}.cl--target[data-st=empty]{box-shadow:inset 3px 0 0 var(--text-muted)}.cl--target[data-st=bad]{box-shadow:inset 3px 0 0 var(--danger)}.cl--target[data-st=ok]{box-shadow:inset 3px 0 0 var(--ok)}.cl--target[data-st=peer]{box-shadow:inset 3px 0 0 var(--g,var(--group-4))}.cl--target[data-st=key]{box-shadow:inset 3px 0 0 var(--key-c)}@keyframes code-linepulse{0%,to{opacity:.1}50%{opacity:.24}}@media (prefers-reduced-motion:reduce){.cl--target:before{opacity:.18;animation:none!important}}.blank{vertical-align:baseline;align-items:center;display:inline-flex;position:relative}.blank input{background:var(--accent-soft);border:1.5px dashed var(--accent);color:var(--accent-bright);font:inherit;border-radius:6px;height:30px;padding:0 8px;line-height:1}@media (pointer:coarse){.blank input{height:36px}}.blank input::placeholder{color:color-mix(in srgb, var(--accent-bright) 60%, transparent)}.blank input:focus-visible{box-shadow:var(--glow-ring);outline:none}.blank input[readonly]{cursor:default}.blank--empty input[readonly]{border-color:var(--hairline-strong);background:var(--surface-2);color:var(--text-muted)}.blank--ok input{background:var(--ok-soft);border:1.5px solid var(--ok);color:var(--ok);padding-right:26px}.blank--bad input{background:var(--danger-soft);border:1.5px solid var(--danger);color:var(--danger)}.blank--peer input{background:color-mix(in srgb, var(--g,var(--group-4)) 14%, transparent);border:1.5px solid var(--g,var(--group-4));color:var(--g,var(--group-4))}.blank--key input{background:color-mix(in srgb, var(--key-c) 14%, transparent);border:1.5px dashed var(--key-c);color:var(--key-c)}.blank[data-checking=yes] input{opacity:.6}.blank__tick{color:var(--ok);pointer-events:none;display:grid;position:absolute;right:7px}:root:not([data-motion-tier="0"]) .blank--bad input{animation:.38s code-shake}:root:not([data-motion-tier="0"]) .blank__tick{animation:code-tick .24s var(--ease-out-expo) both}:root:not([data-motion-tier="0"]) .blank[data-flash=yes] input{animation:1.2s code-flash}@keyframes code-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes code-tick{0%{opacity:0;transform:scale(.6)rotate(-12deg)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@keyframes code-flash{0%{box-shadow:0 0 0 0 var(--g,var(--group-4))}to{box-shadow:0 0 0 10px #0000}}@media (prefers-reduced-motion:reduce){.blank input,.blank__tick{animation:none!important}}.codefoot{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.codefoot__peer{background:color-mix(in srgb, var(--g,var(--group-4)) 16%, transparent);border:1px solid color-mix(in srgb, var(--g,var(--group-4)) 50%, transparent);color:var(--g,var(--group-4));font-size:var(--fs-small);border-radius:999px;padding:2px 10px;font-weight:650}.codefoot__why{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.codefoot__why>svg{color:var(--ok);flex:none}.codestep__pins{max-height:calc(100dvh - var(--nav-size,64px) - 40px);top:calc(var(--nav-size,64px) + 20px);position:sticky;overflow:auto}:root:not([data-motion-tier="0"]) .codestep__done{animation:code-rise .42s var(--ease-out-expo) both}@keyframes code-rise{0%{opacity:0;transform:translateY(6px)}}@media (width<=639px){.codehead__files{flex:100%}.codestep__keys-hint{display:none}.blanknav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blankchip{justify-content:center;width:100%}.code{font-size:.844rem}}.blankcount{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.blankcount__b{background:var(--surface-2);border:1px solid var(--hairline-strong);color:var(--text);cursor:pointer;font:inherit;min-height:40px;transition:border-color var(--dur-fast) var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:650;display:inline-flex}@media (hover:hover) and (pointer:fine){.blankcount__b:hover:not(:disabled){border-color:var(--text-muted)}}.blankcount__b:focus-visible{box-shadow:var(--glow-ring);outline:none}.blankcount__b:disabled{cursor:default;opacity:.5}.blankcount__b b{font-variant-numeric:tabular-nums}.blankcount__dot{border:2px solid var(--text-muted);border-radius:50%;width:10px;height:10px}.blankcount__b[data-k=right] .blankcount__dot{background:var(--ok);border-color:var(--ok)}.blankcount__b[data-k=wrong] .blankcount__dot{background:var(--danger);border-color:var(--danger)}.blankcount__b[data-k=hint]{color:var(--violet)}.blankcount__b[data-k=hint] span,.blankcount__b[data-k=hint] b{color:var(--text)}.blankchip__ic{color:var(--violet);flex:none}.code{position:relative}.clnotes{width:var(--code-vw,100%);gap:4px;padding:2px 12px 6px 46px;display:grid;position:sticky;left:0}.clnote{background:color-mix(in srgb, var(--n-c) 12%, transparent);border:1px solid color-mix(in srgb, var(--n-c) 40%, transparent);font:var(--fs-small) / 1.45 var(--font-body);white-space:normal;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 10px;display:flex}.clnote b{color:var(--n-c)}.clnote[data-tone=hint],.pblank__box[data-tone=hint],.hintlog__row[data-tone=hint]{--n-c:var(--violet)}.clnote[data-tone=ok],.pblank__box[data-tone=ok]{--n-c:var(--ok)}.clnote[data-tone=asisten],.pblank__box[data-tone=asisten],.hintlog__row[data-tone=asisten]{--n-c:var(--accent)}.hintlog__row[data-tone=wait]{--n-c:var(--warn)}.codeside{gap:14px;min-width:0}.codeside>.codestep__pins{max-height:none;position:static}.codebelow{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.pblank,.hintlog{gap:10px}.pblank__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pblank p{margin:0}.pblank__txt{flex-direction:column;gap:2px;min-width:0;display:flex}.pblank__box,.pblank__key{background:color-mix(in srgb, var(--n-c,var(--violet)) 10%, transparent);border:1px solid color-mix(in srgb, var(--n-c,var(--violet)) 35%, transparent);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.pblank__key{--n-c:var(--key-c)}.pblank__key>svg{color:var(--n-c,var(--violet));flex:none;padding-top:2px;display:grid}.pblank__box b,.pblank__key b{color:var(--n-c,var(--violet))}.pblank__key code{color:var(--key-c);overflow-wrap:anywhere;font-size:1rem}.pblank__wait{background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pblank__reasons{flex-wrap:wrap;gap:6px;display:flex}.pblank__acts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pblank__ask{width:100%}.hintlog__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.hintlog__row{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:8px;width:100%;padding:6px 8px;display:grid}@media (hover:hover) and (pointer:fine){.hintlog__row:hover{background:var(--surface-2)}}.hintlog__row:focus-visible{box-shadow:var(--glow-ring);outline:none}.hintlog__tag{color:var(--n-c,var(--accent));font-weight:700}.hintlog__text{font-size:var(--fs-small)}.codestep__grup{align-items:center;gap:8px;display:inline-flex}@media (width<=639px){.blankcount{grid-template-columns:repeat(2,minmax(0,1fr))}.codestep__grup{width:100%}.codestep__grup>.seg{flex:1}}
