@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/nunito-latin-800-normal.Dz8SOQK_.woff2) format("woff2"),url(/_astro/nunito-latin-800-normal.D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/nunito-latin-900-normal.BVB1fGs6.woff2) format("woff2"),url(/_astro/nunito-latin-900-normal.CVn49sIn.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2) format("woff2"),url(/_astro/source-sans-3-latin-400-normal.AFMiCETP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2) format("woff2"),url(/_astro/source-sans-3-latin-700-normal.BBbVrHF_.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff) format("woff")}:root{--font-display: "Nunito", "Trebuchet MS", system-ui, sans-serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace}:root{--rj-raspberry: #e5286d;--rj-raspberry-press: #c72260;--rj-raspberry-deep: #b02057;--rj-raspberry-deep-press: #8f1a47;--rj-ink: #2b1f26;--rj-ink-soft: #5a4a52;--rj-ink-muted: #7d6b74;--rj-white: #ffffff;--rj-blush: #fdf7f9;--rj-blush-deep: #f8ebf0;--rj-line: #e8dde2;--rj-line-strong: #cbb8c1;--rj-solder: #e24829;--rj-resistor: #ffcf15;--rj-jumper: #499ed5;--rj-circuit: #55ad38;--rj-solder-wash: #fdece7;--rj-resistor-wash: #fff8dc;--rj-jumper-wash: #eaf4fb;--rj-circuit-wash: #edf7e9;--track-start: var(--rj-resistor);--track-build: var(--rj-circuit);--track-code: var(--rj-jumper);--track-solder: var(--rj-solder);--track-start-wash: var(--rj-resistor-wash);--track-build-wash: var(--rj-circuit-wash);--track-code-wash: var(--rj-jumper-wash);--track-solder-wash: var(--rj-solder-wash);--text-body: var(--rj-ink);--text-secondary: var(--rj-ink-soft);--text-meta: var(--rj-ink-muted);--text-display: var(--rj-ink);--text-display-brand: var(--rj-raspberry);--text-link: var(--rj-raspberry-deep);--text-link-hover: var(--rj-raspberry-deep-press);--text-on-fill: var(--rj-white);--text-on-detail: var(--rj-ink);--surface-page: var(--rj-white);--surface-alt: var(--rj-blush);--surface-card: var(--rj-white);--surface-sunken: var(--rj-blush-deep);--border-default: var(--rj-line);--border-strong: var(--rj-line-strong);--border-ink: var(--rj-ink);--fill-primary: var(--rj-raspberry);--fill-primary-press: var(--rj-raspberry-press);--focus-ring: var(--rj-raspberry-deep);--type-display-1: 900 clamp(3rem, 6.4vw, 4.5rem)/1 var(--font-display);--type-display-2: 900 clamp(2.5rem, 4.8vw, 3.5rem)/1.05 var(--font-display);--type-h1: 800 2.75rem/1.1 var(--font-display);--type-h2: 800 2.125rem/1.15 var(--font-display);--type-h3: 800 1.625rem/1.25 var(--font-display);--type-h4: 700 1.3125rem/1.3 var(--font-display);--type-lead: 400 1.25rem/1.6 var(--font-body);--type-body: 400 1.0625rem/1.65 var(--font-body);--type-body-strong: 600 1.0625rem/1.65 var(--font-body);--type-caption: 400 .9375rem/1.55 var(--font-body);--type-eyebrow: 800 .875rem/1.2 var(--font-display);--type-mono: 400 1rem/1.5 var(--font-mono);--type-mono-sm: 400 .875rem/1.4 var(--font-mono);--track-display: -.02em;--track-eyebrow: .12em;--track-mono: .02em;--measure-prose: 64ch;--measure-lead: 44ch;--measure-display: 22ch;--pitch: 24px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--sp-11: 160px;--pad-card: var(--sp-6);--pad-card-lg: var(--sp-7);--pad-section-y: var(--sp-9);--pad-section-y-lg: var(--sp-10);--gutter: var(--sp-5);--gutter-lg: var(--sp-6);--page-max: 1200px;--page-narrow: 760px;--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--r-card: var(--r-lg);--r-control: var(--r-md);--r-tag: var(--r-pill);--shadow-1: 0 1px 2px rgba(43,31,38,.06), 0 2px 6px rgba(43,31,38,.05);--shadow-2: 0 2px 4px rgba(43,31,38,.06), 0 8px 20px rgba(43,31,38,.08);--shadow-3: 0 4px 8px rgba(43,31,38,.07), 0 18px 40px rgba(43,31,38,.1);--shadow-extrude: 4px 4px 0 var(--rj-ink);--shadow-extrude-hover: 6px 6px 0 var(--rj-ink);--shadow-extrude-press: 2px 2px 0 var(--rj-ink);--shadow-extrude-sm: 3px 3px 0 var(--rj-ink);--focus-ring-width: 3px;--focus-ring-offset: 2px;--ease-standard: cubic-bezier(.2,.8,.3,1);--ease-out: cubic-bezier(.16,1,.3,1);--ease-in: cubic-bezier(.5,0,.9,.4);--dur-1: .12s;--dur-2: .18s;--dur-3: .28s;--dur-4: .42s;--press-shift: 2px;--tex-breadboard: radial-gradient(circle at center, var(--rj-line-strong) 1.5px, transparent 1.6px);--tex-breadboard-size: var(--pitch) var(--pitch);--tex-perfboard: radial-gradient(circle at center, rgba(43,31,38,.18) 2px, transparent 2.1px);--tex-perfboard-size: 32px 32px;--tex-gpio: radial-gradient(circle at center, var(--rj-ink) 3px, transparent 3.1px);--tex-gpio-size: 16px 16px}@media(prefers-reduced-motion:reduce){:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms;--dur-4: 0ms}}.rj-breadboard{background-color:var(--surface-alt);background-image:var(--tex-breadboard);background-size:var(--tex-breadboard-size)}.rj-perfboard{background-color:var(--surface-sunken);background-image:var(--tex-perfboard);background-size:var(--tex-perfboard-size)}.rj-gpio-rule{height:16px;background-image:var(--tex-gpio);background-size:var(--tex-gpio-size);background-repeat:repeat-x;opacity:.5}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);text-wrap:pretty;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4{margin:0;color:var(--text-display);letter-spacing:var(--track-display);text-wrap:balance}h1{font:var(--type-h1)}h2{font:var(--type-h2)}h3{font:var(--type-h3)}h4{font:var(--type-h4)}p{margin:0 0 var(--sp-4);max-width:var(--measure-prose)}a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:color-mix(in oklch,var(--text-link) 40%,transparent);transition:color var(--dur-1) var(--ease-standard),text-decoration-color var(--dur-1) var(--ease-standard)}a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--r-xs)}strong{font-weight:700}small{font:var(--type-caption);color:var(--text-secondary)}code,kbd,samp{font:var(--type-mono-sm);letter-spacing:var(--track-mono)}img{max-width:100%;height:auto}::selection{background:var(--rj-resistor);color:var(--rj-ink)}.rj-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--rj-raspberry-deep)}.rj-lead{font:var(--type-lead);color:var(--text-secondary);max-width:var(--measure-lead)}.wrap{max-width:var(--page-max);margin:0 auto}.wrap-narrow{max-width:var(--page-narrow);margin:0 auto}.hairline{border-color:#2b1f2624}.skip-link{position:absolute;left:-9999px;top:0;background:var(--rj-white);color:var(--rj-raspberry-deep);padding:12px 20px;border:2px solid var(--border-ink);font:800 1.0625rem/1 var(--font-display);z-index:99;text-decoration:none}.skip-link:focus{left:16px;top:16px}.site-header{position:sticky;top:0;z-index:50;background:var(--rj-white);border-bottom:2px solid var(--border-ink)}.site-header-inner{max-width:var(--page-max);margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}.site-nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin-left:auto;align-items:center}.site-nav a{font:700 1rem/1 var(--font-body);color:var(--rj-ink-soft);text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--dur-1) var(--ease-standard)}.site-nav a:hover{color:var(--rj-raspberry-deep)}.site-nav a[aria-current=page]{color:var(--rj-raspberry-deep);border-bottom-color:var(--rj-raspberry-deep)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);letter-spacing:.01em;border-radius:var(--r-control);border:2px solid var(--border-ink);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-extrude);transition:transform var(--dur-1) var(--ease-standard),box-shadow var(--dur-1) var(--ease-standard),background var(--dur-1) var(--ease-standard)}.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-extrude-hover)}.btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-extrude-press)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;transform:none;box-shadow:var(--shadow-extrude-press)}.btn-primary{background:var(--fill-primary);color:var(--text-on-fill)}.btn-primary:hover{color:var(--text-on-fill)}.btn-secondary{background:var(--surface-card);color:var(--rj-ink)}.btn-secondary:hover{color:var(--rj-ink)}.btn-ghost{background:transparent;color:var(--text-link);border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--rj-blush-deep);transform:none;box-shadow:none}.btn-sm{padding:10px 16px;font:800 .9375rem/1 var(--font-display)}.btn-md{padding:14px 24px;font:800 1.0625rem/1 var(--font-display)}.btn-lg{padding:18px 32px;font:800 1.25rem/1 var(--font-display)}.btn-full{display:flex;width:100%}.card{background:var(--surface-card);border:2px solid var(--border-ink);border-radius:var(--r-card)}.card-extruded{box-shadow:var(--shadow-extrude)}.card-interactive{transition:transform var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard)}.card-interactive:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-extrude-hover)}.card-interactive:active{transform:translate(2px,2px);box-shadow:var(--shadow-extrude-press)}.chip{display:inline-flex;align-items:center;gap:10px;background:var(--rj-white);border:2px solid var(--border-ink);border-radius:var(--r-pill);padding:10px 18px;box-shadow:var(--shadow-extrude);font:800 1.0625rem/1.2 var(--font-display);color:var(--rj-ink)}.badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:6px 14px;color:var(--text-on-detail);border:2px solid var(--border-ink);border-radius:var(--r-tag);font:800 .875rem/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--shadow-extrude-sm)}.badge-start{background:var(--track-start)}.badge-build{background:var(--track-build)}.badge-code{background:var(--track-code)}.badge-solder{background:var(--track-solder)}.tag{display:inline-flex;align-items:center;gap:var(--sp-2);padding:7px 14px;border-radius:var(--r-tag);border:1.5px solid var(--border-strong);background:var(--surface-card);color:var(--text-secondary);font:600 .9375rem/1.2 var(--font-body)}.callout{border:2px solid var(--border-ink);border-top-width:4px;border-radius:var(--r-card);padding:var(--sp-5) var(--sp-6)}.callout-note{background:var(--rj-blush);border-top-color:var(--rj-raspberry-deep)}.callout-safety{background:var(--rj-solder-wash);border-top-color:var(--rj-solder)}.callout-bring{background:var(--rj-jumper-wash);border-top-color:var(--rj-jumper)}.callout-tip{background:var(--rj-circuit-wash);border-top-color:var(--rj-circuit)}.callout-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.callout-head h3,.callout-head h4{font:var(--type-h4);color:var(--rj-ink)}.callout-body{font:var(--type-body);color:var(--rj-ink)}.callout-body p{margin:0}.faq details{background:var(--rj-white);border:2px solid var(--border-ink);border-radius:var(--r-card);padding:20px 24px}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);font:800 1.125rem/1.35 var(--font-display);color:var(--rj-ink);list-style:none;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq .rj-plus{flex:none;font:800 1.5rem/1 var(--font-display);color:var(--rj-raspberry-deep);transition:transform var(--dur-1) var(--ease-standard)}.faq details[open] .rj-plus{transform:rotate(45deg)}.faq details p{margin:12px 0 0;font:var(--type-body);color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field>label{font:700 1rem/1.3 var(--font-body);color:var(--text-body)}.field .req{color:var(--rj-raspberry-deep);margin-left:4px}.field .hint{font:var(--type-caption);color:var(--text-meta)}.field .control{position:relative;display:flex;align-items:center}.field .control>.icon{position:absolute;left:14px;color:var(--text-meta);pointer-events:none}.field input,.field textarea,.field select{width:100%;font:var(--type-body);color:var(--text-body);background:var(--surface-card);padding:14px 16px;min-height:52px;border:2px solid var(--border-strong);border-radius:var(--r-control);outline:none;transition:border-color var(--dur-1) var(--ease-standard),box-shadow var(--dur-1) var(--ease-standard)}.field .control.has-icon input{padding-left:44px}.field textarea{resize:vertical;min-height:0}.field select{appearance:none;padding-right:48px;cursor:pointer}.field .control>.select-chevron{position:absolute;right:16px;color:var(--text-secondary);pointer-events:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--rj-ink);box-shadow:var(--shadow-extrude-press)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--rj-solder)}.field .error-msg{display:flex;align-items:center;gap:6px;font:600 1rem/1.4 var(--font-body);color:var(--rj-raspberry-deep)}.checkbox{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) 0;min-height:44px;cursor:pointer;font:var(--type-body);color:var(--text-body);position:relative}.checkbox input{position:absolute;opacity:0;width:26px;height:26px;margin:0;cursor:inherit}.checkbox .box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-top:2px;border-radius:var(--r-sm);border:2px solid var(--border-ink);background:var(--surface-card);color:var(--rj-white);transition:background var(--dur-1) var(--ease-standard),box-shadow var(--dur-1) var(--ease-standard)}.checkbox .box .icon{opacity:0}.checkbox input:checked+.box{background:var(--fill-primary);box-shadow:var(--shadow-extrude-press)}.checkbox input:checked+.box .icon{opacity:1}.checkbox input:focus-visible+.box{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form-status{display:none}.form-status.show{display:block}.form-status .callout{margin:0}.photo{margin:0;display:flex;flex-direction:column;gap:var(--sp-3)}.photo-frame{position:relative;overflow:hidden;border-radius:var(--r-card);border:2px solid var(--border-ink)}.photo-frame.empty{background-color:var(--surface-alt);background-image:var(--tex-breadboard);background-size:var(--tex-breadboard-size)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.photo-need{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-5);text-align:center}.photo-need .photo-label{font:800 .875rem/1.3 var(--font-display);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--rj-raspberry-deep)}.photo-need .photo-brief{font:var(--type-caption);color:var(--text-secondary);max-width:30ch}.photo figcaption{font:var(--type-caption);color:var(--text-meta)}.station-card{display:flex;flex-direction:column;overflow:hidden}.station-card .photo-frame{border:0;border-bottom:2px solid var(--border-ink);border-radius:0}.station-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}.station-body h2,.station-body h3{font:var(--type-h4);letter-spacing:var(--track-display)}.station-body .outcome{margin:0;font:var(--type-body);color:var(--text-secondary)}.station-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-1);padding-top:var(--sp-3);border-top:1.5px dashed var(--border-strong)}.station-meta span{display:inline-flex;align-items:center;gap:6px;font:600 1rem/1.2 var(--font-body);color:var(--text-meta)}.sponsor-tile{flex:1 1 180px;max-width:240px;background:var(--rj-white);border:2px solid var(--border-ink);border-radius:var(--r-card);height:132px;display:flex;align-items:center;justify-content:center;padding:20px}.sponsor-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.sponsor-tile.text-tile{text-align:center;font:800 1.25rem/1.2 var(--font-display);color:var(--rj-ink)}.footer-nav{border-top:2px solid var(--border-ink);background:var(--rj-blush);padding:28px 32px}.footer-nav-inner{max-width:var(--page-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}.footer-nav a{font:700 1.0625rem/1.4 var(--font-body)}.attribution-footer{border-top:2px solid var(--border-ink);background:var(--surface-alt);padding:var(--sp-8) var(--sp-6)}.attribution-inner{max-width:var(--page-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--sp-7);justify-content:space-between;align-items:flex-start}.attribution-brand{display:flex;flex-direction:column;gap:var(--sp-4);max-width:52ch}.attribution-brand img{align-self:flex-start;width:auto;height:48px;object-fit:contain}.attribution-brand p{margin:0;font:var(--type-caption);color:var(--text-secondary)}.logo-link[data-astro-cid-5hce7sga]{display:flex;align-items:center;text-decoration:none}.logo-img[data-astro-cid-5hce7sga]{height:44px;width:auto}.attribution-links[data-astro-cid-5hce7sga]{display:flex;flex-direction:column;gap:var(--sp-3)}.attribution-links[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{font:600 1.0625rem/1.3 var(--font-body)}
