:root{--bg:#f7f9fc;--surface:#ffffffeb;--surface-strong:#fff;--surface-muted:#edf3f8;--text:#102033;--muted:#536273;--border:#1020331f;--accent:#12324c;--accent-soft:#dbe8f5;--accent-strong:#0c2235;--shadow:0 24px 80px #0f172a14;--radius:26px;--radius-sm:18px;--container:min(1280px, calc(100vw - 32px));--font-body:"Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--font-display:"Helvetica Neue", Arial, "Hiragino Sans", "Yu Gothic", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);font-family:var(--font-body), sans-serif;background:#f9fafb;margin:0;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{display:block}.container{width:var(--container);margin:0 auto}.section{padding:72px 0}.site-header{z-index:40;background:#fff;border-bottom:1px solid #11182714;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:24px;padding:18px 0;display:flex}.legacy-brand{align-items:center;gap:14px;min-width:0;display:inline-flex}.legacy-brand strong,.hero-copy h1,.section-heading h2,.page-hero h1,.article-header h1,.card-title,.sponsor-cta h2{font-family:var(--font-display), sans-serif;letter-spacing:-.04em}.legacy-brand-copy{gap:3px;display:grid}.legacy-brand-copy strong{font-size:1rem}.legacy-brand-copy small{color:#6b7280;font-size:.85rem}.legacy-brand-avatar{object-fit:cover;border-radius:999px;width:48px;height:48px}.legacy-nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.legacy-nav-link{color:#4b5563;border-radius:999px;padding:9px 14px;font-size:.95rem;transition:color .2s,background-color .2s}.legacy-nav-link:hover,.legacy-nav-link:focus-visible,.button:hover,.button:focus-visible,.button-secondary:hover,.button-secondary:focus-visible{transform:translateY(-1px)}.legacy-nav-link:hover,.legacy-nav-link:focus-visible{color:#111827;background:#4f46e514}.language-switch{border-left:1px solid #11182714;align-items:center;gap:6px;margin-left:6px;padding-left:10px;display:inline-flex}.language-link{color:#6b7280;border-radius:999px;padding:8px 10px;font-size:.88rem}.language-link.active{color:#111827;background:#4f46e51a;font-weight:600}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;font-size:.78rem;font-weight:700}.hero{padding:56px 0 36px}.hero-grid,.story-grid,.youtube-grid,.contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px;display:grid}.hero-copy,.page-hero .hero-copy,.article-body,.article-aside,.panel,.card,.sponsor-cta,.affiliate-card,.parts-card,.github-card,.toc-card,.video-fallback,.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-copy,.panel,.sponsor-cta,.contact-card,.page-hero .hero-copy{padding:34px}.hero-copy h1,.page-hero h1,.article-header h1{margin:0;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.98}.hero-copy p,.section-copy,.panel p,.card-copy p,.footer-copy,.article-header p,.article-meta,.article-summary,.github-card p,.sponsor-cta p,.parts-header p,.contact-card p{color:var(--muted)}.hero-copy.compact h1,.page-hero h1{font-size:clamp(2.2rem,6vw,4rem)}.hero-actions,.cta-actions,.meta-group,.resource-links,.contact-links{flex-wrap:wrap;gap:12px;display:flex}.button{background:linear-gradient(135deg, var(--accent), #385b80);color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-weight:600;transition:transform .2s,opacity .2s;display:inline-flex}.button-secondary{color:var(--text);border-color:var(--border);background:#ffffffd1}.hero-list,.status-list,.offer-list,.policy-list{color:var(--muted);margin:0;padding-left:18px}.quote-mark{color:var(--accent);font-family:var(--font-display), sans-serif;margin-bottom:8px;font-size:2.2rem}.panel-title,.section-heading h2{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.8rem)}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px;display:flex}.section-heading p{max-width:620px;color:var(--muted);margin:0}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.card{overflow:hidden}.card-media-link{display:block}.card-media{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--border);width:100%}.card-body{gap:18px;padding:22px;display:grid}.meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.meta-pill,.status-pill,.affiliate-label{background:var(--accent-soft);min-height:28px;color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill[data-status=Building]{color:#0b4d7e;background:#dceeff}.status-pill[data-status=Completed]{color:#11633d;background:#dff3e8}.status-pill[data-status=Planning]{color:#4b3c8d;background:#e8e3ff}.status-pill[data-status="Failed / Archived"]{color:#8a3a3a;background:#f4e6e6}.meta-text{color:var(--muted);font-size:.92rem}.card-title{font-size:1.45rem;line-height:1.2;display:inline-block}.card-copy p,.article-summary{margin:10px 0 0}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-chip{color:var(--muted);background:#1020330f;border-radius:999px;padding:7px 10px;font-size:.84rem}.youtube-grid .panel{gap:20px;display:grid}.video-frame{border-radius:var(--radius);border:1px solid var(--border);aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%}.story-grid{align-items:start}.resource-links{margin-top:18px}.sponsor-cta{justify-content:space-between;align-items:end;gap:20px;display:flex}.site-footer{padding:56px 0 84px}.legacy-footer-shell{text-align:center}.legacy-footer-heading h2{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0 0 28px;font-size:1rem;font-weight:700}.legacy-social-grid{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.legacy-social-card{color:#6b7280;flex-direction:column;align-items:center;gap:12px;min-width:130px;padding:24px 18px;transition:transform .2s;display:flex}.legacy-social-card:hover{transform:scale(1.04)}.legacy-social-card span{font-size:1rem;font-weight:500}.legacy-hero{background:#fff;padding:32px 0 72px}.legacy-hero-domain{color:#6b7280;text-align:center;margin:10px 0 0;font-size:1.25rem}.legacy-hero-copy{text-align:center;max-width:860px;margin:0 auto;padding:54px 24px 0}.legacy-hero-copy h1{color:#1f2937;font-family:var(--font-body), sans-serif;margin:0;font-size:clamp(2.1rem,6vw,4rem);font-weight:700;line-height:1.3}.legacy-hero-copy h1+h1{margin-top:18px}.legacy-hero-copy p{color:#6b7280;max-width:720px;margin:26px auto 0;font-size:1.1rem}.legacy-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.legacy-pill-button,.legacy-outline-button{color:#374151;background:#fff;border:1px solid #4f46e533;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:500;display:inline-flex}.legacy-pill-button:hover,.legacy-outline-button:hover{background:#f5f3ff}.legacy-about,.legacy-lines,.legacy-blog-section,.legacy-youtube-section{padding:18px 0 56px}.legacy-section-label,.legacy-projects-label{color:#4b5563;margin:0 0 28px;font-size:1.75rem;font-weight:700}.legacy-about-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.legacy-card{background:#fff;border-radius:12px;min-height:100%;padding:28px 24px;box-shadow:0 10px 28px #0f172a14}.legacy-card h3,.legacy-blog-card h3,.legacy-lines-heading h2,.legacy-youtube-copy h2{color:#1f2937;margin-top:0}.legacy-card h3{margin-bottom:16px}.legacy-profile-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.legacy-profile-avatar{border-radius:999px;width:128px;height:128px;margin-bottom:16px}.legacy-profile-card h2{color:#1f2937;margin:0;font-size:1.5rem}.legacy-profile-card p,.legacy-card p,.legacy-blog-card p,.legacy-lines li p,.legacy-youtube-copy p,.legacy-side-image p,.legacy-section-heading p{color:#6b7280}.legacy-list{margin:0;padding-left:18px}.legacy-detail-list{gap:14px;display:grid}.legacy-detail-item{color:#4b5563;gap:4px;display:grid}.legacy-detail-item strong{font-size:.96rem;line-height:1.5}.legacy-detail-item strong span{color:#6b7280;font-weight:500}.legacy-detail-item small{color:#6b7280;font-size:.85rem;line-height:1.5}.legacy-icon-links{gap:14px;display:grid}.legacy-inline-link{color:#4b5563;align-items:center;gap:10px;display:inline-flex}.legacy-lines-heading{text-align:center;margin-bottom:28px}.legacy-lines-heading h2{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;font-weight:700}.legacy-lines-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:center;gap:28px;display:grid}.legacy-number-list{margin:0;padding:0;list-style:none}.legacy-number-list li{gap:18px;margin-bottom:36px;display:flex}.legacy-number-list li span{color:#3b82f6;background:#eff6ff;border-radius:999px;flex:0 0 64px;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.6rem;font-weight:700;display:inline-flex}.legacy-number-list li h3{margin:8px 0;font-size:1.2rem}.legacy-side-image{margin-top:12px}.legacy-side-image img{border-radius:8px}.legacy-side-remote-image{object-fit:cover;width:100%}.legacy-side-image p{text-align:center;margin-top:12px}.legacy-hardware-note{background:#fff;border-radius:12px;margin-top:28px;padding:24px;box-shadow:0 10px 28px #0f172a0f}.legacy-hardware-note h3{color:#1f2937;margin:0 0 10px}.legacy-hardware-note p{color:#6b7280;margin:0}.legacy-projects{background:#111827;padding:72px 0}.legacy-projects-label{color:#fff;text-align:center;font-size:1.25rem}.legacy-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.legacy-project-card{cursor:pointer;transition:transform .2s}.legacy-project-card:hover,.legacy-blog-card:hover{transform:scale(1.03)}.legacy-project-image-wrap{height:256px}.legacy-project-image,.legacy-blog-image{object-fit:contain;border-radius:8px;width:100%;height:100%}.legacy-project-copy{z-index:1;background:#fff;width:calc(100% - 24px);margin:-28px auto 0;padding:18px 16px;position:relative;box-shadow:0 18px 32px #0f172a2e}.legacy-project-copy p{color:#374151;text-align:center;text-transform:uppercase;margin:0 0 8px;font-size:.92rem}.legacy-project-copy span,.legacy-project-copy small{color:#6b7280;text-align:center;font-size:.9rem;display:block}.legacy-project-copy small{margin-top:8px}.legacy-hardware-projects{padding:56px 0 12px}.legacy-youtube-channel-card,.legacy-youtube-channel-panel,.empty-state-card{background:#fff;border-radius:12px;padding:28px 32px;box-shadow:0 10px 28px #0f172a0f}.legacy-youtube-channel-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.legacy-youtube-channel-copy h3,.legacy-youtube-channel-panel h3,.empty-state-card h2{color:#1f2937;margin:0 0 10px}.legacy-youtube-handle,.legacy-youtube-channel-badge{color:#4f46e5;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:.95rem;font-weight:700}.legacy-youtube-channel-copy p,.legacy-youtube-channel-panel p,.empty-state-card p{color:#6b7280}.legacy-youtube-channel-actions{justify-content:center;align-items:center;display:flex}.legacy-youtube-channel-panel{min-height:100%}.legacy-section-heading{text-align:center;margin-bottom:24px}.legacy-section-heading h2{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.legacy-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.legacy-external-blog-summary{color:#6b7280;text-align:center;justify-content:center;gap:48px;margin:0 0 28px;display:flex}.legacy-external-blog-summary strong{color:#111827;font-size:1.2rem;display:block}.legacy-external-blog-summary span{font-size:.9rem}.legacy-external-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:34px;display:grid}.legacy-external-blog-card{background:#fff;border-radius:8px;padding:24px;transition:transform .2s;box-shadow:0 10px 28px #0f172a0f}.legacy-external-blog-card:hover{transform:scale(1.03)}.legacy-external-blog-label{color:#374151;margin-bottom:14px;font-size:1.1rem}.legacy-external-blog-image{aspect-ratio:16/10;object-fit:cover;width:100%;margin-bottom:12px}.legacy-external-blog-date{color:#6b7280;font-size:.9rem}.legacy-external-blog-card h3{color:#1f2937;margin:8px 0 10px;font-size:1.1rem}.legacy-external-blog-card p{color:#6b7280;margin:0;font-size:.95rem}.legacy-blog-card{background:#fff;border-radius:8px;padding:24px;transition:transform .2s;box-shadow:0 10px 28px #0f172a0f}.legacy-blog-image{aspect-ratio:16/10;margin-bottom:18px}.legacy-blog-meta{color:#4f46e5;margin-bottom:12px;font-size:.95rem}.legacy-blog-card h3{margin-bottom:10px;font-size:1.2rem}.legacy-blog-card small{color:#6b7280}.legacy-blog-actions{text-align:center;margin-top:28px}.legacy-youtube-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:32px;display:grid}.legacy-youtube-copy,.legacy-youtube-embed{padding:0 8px}.page-hero{padding-top:48px}.article-shell{grid-template-columns:minmax(0,1fr) 300px;gap:28px;display:grid}.article-body{padding:26px}.article-aside{height:fit-content;padding:22px;position:sticky;top:104px}.article-header{gap:18px;display:grid}.article-cover{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.article-meta{flex-wrap:wrap;gap:10px 16px;display:flex}.article-prose{max-width:none;padding-top:26px}.article-prose h2,.article-prose h3{margin-top:2.6rem;margin-bottom:.9rem;scroll-margin-top:110px;line-height:1.2}.article-prose p,.article-prose ul,.article-prose ol,.article-prose blockquote{color:var(--text)}.article-prose pre,.article-prose code{font-family:var(--font-mono), monospace}.article-prose pre{color:#e2e8f0;background:#0f172a;border-radius:18px;padding:18px;overflow-x:auto}.article-prose code:not(pre code){background:#10203314;border-radius:8px;padding:2px 6px}.article-prose blockquote{border-left:4px solid var(--accent);background:#12324c0f;border-radius:16px;margin:0;padding:16px 20px}.toc-card h2,.parts-header h3,.github-card h3,.affiliate-copy h3,.contact-card h2{margin-top:0}.toc-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.toc-depth-3{padding-left:12px}.toc-list a{color:var(--muted)}.toc-list a:hover,.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.92rem;display:flex}.breadcrumb-item{align-items:center;gap:8px;display:inline-flex}.article-utility-grid,.content-grid{gap:22px;display:grid}.parts-card,.affiliate-card,.github-card,.video-fallback,.toc-card{padding:22px}.affiliate-card{grid-template-columns:180px minmax(0,1fr);gap:18px;display:grid}.affiliate-image{object-fit:cover;border:1px solid var(--border);border-radius:18px;width:100%;height:100%}.parts-list{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.parts-item{border-top:1px solid #10203314;justify-content:space-between;align-items:start;gap:16px;padding-top:14px;display:flex}.parts-item:first-child{border-top:0;padding-top:0}.parts-item p{color:var(--muted);margin:4px 0 0}.parts-link{white-space:nowrap;color:var(--accent);font-weight:600}.callout{background:#12324c12;border:1px solid #12324c1f;border-radius:18px;margin:28px 0;padding:18px 20px}.callout-warning{background:#994a1314;border-color:#994a1329}.callout-success{background:#11633d14;border-color:#11633d29}.callout strong{margin-bottom:8px;display:block}.related-grid,.uses-grid,.support-grid{gap:20px;display:grid}.uses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid{margin-top:18px}.contact-card{padding:28px}.contact-links{margin-top:18px}@media (max-width:980px){.legacy-about-grid,.legacy-project-grid,.legacy-external-blog-grid,.legacy-blog-grid,.hero-grid,.story-grid,.youtube-grid,.article-shell,.contact-grid,.footer-shell,.legacy-lines-grid,.legacy-youtube-grid{grid-template-columns:1fr}.legacy-youtube-channel-card{display:grid}.article-aside{position:static}.card-grid,.support-grid,.uses-grid{grid-template-columns:1fr}}@media (max-width:760px){.section{padding:56px 0}.nav-shell{flex-direction:column;align-items:start}.legacy-nav-links{justify-content:start}.legacy-brand{align-items:center}.legacy-hero{padding-top:22px}.legacy-hero-domain{font-size:1rem}.legacy-hero-copy{padding:38px 10px 0}.legacy-projects{padding:56px 0}.legacy-social-card{min-width:108px;padding:18px 12px}.hero-copy,.panel,.sponsor-cta,.article-body,.article-aside,.page-hero .hero-copy,.contact-card,.affiliate-card,.parts-card,.github-card{padding:22px}.sponsor-cta,.section-heading{flex-direction:column;align-items:start}.affiliate-card{grid-template-columns:1fr}}
