:root{color-scheme:dark;--background: #0b1422;--surface: #101d2e;--surface-raised: #142337;--line: #26384b;--text: #e9eff5;--muted: #a7b6c5;--quiet: #7f94a8;--accent: #8ac6b2;--accent-hover: #afe1d1;--mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-hover)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}::selection{color:var(--background);background:var(--accent)}.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(100% - 48px,1040px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;z-index:10;padding:8px 14px;color:var(--background);background:var(--accent)}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--background)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;font-weight:690;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #375366;background:#152538;border-radius:7px;font-family:var(--mono);font-size:16px;line-height:1}.brand-dot,.heading-period,.hero-period{color:var(--accent)}.brand-name{font-size:15px}.nav{display:flex;align-items:center;gap:clamp(14px,3.3vw,37px);white-space:nowrap}.nav a{padding:7px 0;color:var(--muted);font-size:13px;font-weight:550;transition:color .18s ease}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]{border-bottom:1px solid var(--accent)}.main-content{flex:1}.hero{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(270px,.82fr);gap:clamp(38px,6vw,78px);align-items:center;padding:93px 0 99px;border-bottom:1px solid var(--line)}.eyebrow,.section-kicker{margin:0;color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em}.eyebrow{display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #8ac6b21b}.hero h1{margin:23px 0 15px;font-size:clamp(50px,7.1vw,82px);line-height:1.05;letter-spacing:-.065em;font-weight:730}.hero-subtitle{max-width:570px;margin:0;color:#d6e1e9;font-size:clamp(17px,2.2vw,21px);line-height:1.52;letter-spacing:-.015em}.hero-description{max-width:555px;margin:25px 0 30px;color:var(--muted);font-size:15px;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:43px;padding:10px 16px;border-radius:4px;font-size:13px;font-weight:680;line-height:1.3}.button-primary{background:var(--accent);color:#0b1b24}.button-primary:hover{background:var(--accent-hover);color:#0b1b24}.text-link,.section-link{color:#dbe8ee;font-size:13px;font-weight:600}.text-link span,.section-link span{margin-left:7px;color:var(--accent)}.focus-panel{padding:21px 23px 17px;border:1px solid #304459;border-radius:6px;background:var(--surface);box-shadow:0 18px 34px #02091024}.focus-panel-heading{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid var(--line);color:var(--quiet);font-family:var(--mono);font-size:11px;letter-spacing:.1em}.terminal-symbol{color:var(--accent);font-size:16px;letter-spacing:0;line-height:1}.focus-list>div{display:grid;grid-template-columns:31px 1fr 15px;gap:8px;align-items:center;min-height:42px;border-bottom:1px solid #26384b99;font-size:13px;font-weight:550}.focus-list>div:last-child{border-bottom:0}.focus-index,.focus-arrow{color:var(--quiet);font-family:var(--mono);font-size:10px}.focus-arrow{text-align:right}.focus-caption{margin:14px 0 0;color:var(--quiet);font-size:11px}.section{padding:77px 0 81px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading h2{margin:7px 0 0;font-size:clamp(27px,3.5vw,35px);line-height:1.2;letter-spacing:-.045em;font-weight:680}.section-link{padding-bottom:4px;white-space:nowrap}.post-list{border-top:1px solid var(--line)}.post-card{padding:23px 0 25px;border-bottom:1px solid var(--line)}.post-card-meta,.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:11px;color:var(--quiet);font-family:var(--mono);font-size:11px}.post-card-meta a,.article-eyebrow a{color:var(--accent)}.meta-divider{color:#496078}.post-card h3{margin:9px 0 5px;font-size:20px;line-height:1.35;letter-spacing:-.025em;font-weight:650}.post-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.post-card p{margin:0;max-width:710px;color:var(--muted);font-size:14px;line-height:1.7}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{padding:3px 8px;border:1px solid #2c4253;border-radius:3px;color:#a9c8c4;font-family:var(--mono);font-size:10px;line-height:1.5}.tag:hover{border-color:var(--accent);color:var(--accent-hover)}.empty-state{display:flex;gap:21px;align-items:start;padding:35px 30px;border:1px dashed #35495d;border-radius:5px;background:#101d2e80}.empty-icon{color:var(--accent);font-family:var(--mono);font-size:29px;line-height:1}.empty-state h2,.empty-state h3{margin:0 0 6px;font-size:17px;letter-spacing:-.02em;font-weight:650}.empty-state p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{display:flex;flex-direction:column;min-height:252px;padding:24px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.project-card-top{display:flex;justify-content:space-between;gap:12px;color:var(--quiet);font-family:var(--mono);font-size:11px;letter-spacing:.03em}.project-number{color:var(--accent)}.project-card h3{margin:30px 0 8px;font-size:19px;line-height:1.3;letter-spacing:-.025em}.project-card p{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.75}.technology-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.technology-list span{padding:3px 8px;border:1px solid #30465a;border-radius:3px;color:#bdd0dc;font-family:var(--mono);font-size:10px}.learning-section{border-bottom:0}.learning-section>p{max-width:680px;margin:-11px 0 25px;color:var(--muted);font-size:14px;line-height:1.8}.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.area-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;border:1px solid var(--line);border-radius:3px;background:var(--surface);font-size:12px;font-weight:600}.area-grid a:hover{border-color:#577668}.area-grid span{color:var(--accent)}.page-intro{max-width:680px;padding:78px 0 64px}.page-intro h1{margin:15px 0 19px;font-size:clamp(48px,7vw,73px);line-height:1.1;letter-spacing:-.06em}.page-intro>p:last-child{margin:0;color:var(--muted);font-size:16px;line-height:1.8}.page-intro.compact{padding-top:53px}.page-intro.compact .section-kicker{margin-top:44px}.archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 242px;align-items:start;gap:70px;padding-bottom:100px}.archive-bar{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--quiet);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em}.archive-main .post-list{border-top:0}.archive-main .empty-state{margin-top:22px}.archive-sidebar{padding-top:2px}.archive-sidebar h2{margin:0 0 6px;font-size:15px;letter-spacing:-.01em}.archive-sidebar p{margin:0 0 20px;color:var(--quiet);font-size:12px;line-height:1.7}.category-list{border-top:1px solid var(--line)}.category-list a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.category-list a:hover,.category-list a span{color:var(--accent)}.rss-link{display:inline-block;margin-top:24px;color:var(--accent);font-size:12px;font-weight:600}.project-page-grid{margin-top:25px;padding-bottom:18px}.page-note{display:flex;gap:15px;max-width:720px;margin:29px 0 90px;color:var(--quiet);font-size:12px}.page-note span{color:var(--accent);font-family:var(--mono);font-size:16px}.page-note p{margin:0}.notes-timeline{margin:38px 0 110px 6px;border-left:1px solid #395267}.note-entry{position:relative;padding:0 0 36px 29px}.note-marker{position:absolute;top:4px;left:-5px;width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;background:var(--background)}.note-content{max-width:760px;padding:19px 22px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.note-content time{color:var(--accent);font-family:var(--mono);font-size:11px}.note-content h2{margin:9px 0 4px;font-size:18px}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:80px;padding-bottom:105px}.about-copy{max-width:690px}.about-aside{align-self:start;padding:24px;border:1px solid var(--line);background:var(--surface)}.about-aside .section-kicker{margin-bottom:23px}.about-aside-item{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.about-aside-item span{color:var(--accent);font-family:var(--mono);font-size:10px}.about-aside-item strong{font-size:12px;font-weight:550}.article-layout{max-width:760px;margin:53px auto 105px}.back-link{color:var(--quiet);font-size:12px}.back-link:hover{color:var(--accent)}.article-header{padding:51px 0 32px;border-bottom:1px solid var(--line)}.article-eyebrow{display:flex;gap:11px;color:var(--quiet);font-family:var(--mono);font-size:11px;letter-spacing:.08em}.article-header h1{margin:18px 0;font-size:clamp(40px,5.8vw,62px);line-height:1.13;letter-spacing:-.05em}.article-summary{max-width:670px;color:var(--muted);font-size:17px;line-height:1.7}.article-meta{margin-top:27px}.article-header .tag-list{margin-top:20px}.prose{color:#c7d3de;font-size:15px;line-height:1.85;overflow-wrap:break-word}.article-layout>.prose{padding:27px 0 55px}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{color:var(--text);line-height:1.3;letter-spacing:-.025em;scroll-margin-top:25px}.prose h2{margin:45px 0 17px;font-size:26px}.prose h3{margin:35px 0 12px;font-size:20px}.prose h4{margin:27px 0 10px;font-size:17px}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 22px}.prose li{margin:5px 0;padding-left:3px}.prose ul,.prose ol{padding-left:23px}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:#8ac6b280;text-underline-offset:3px}.prose a:hover{color:var(--accent-hover)}.prose strong{color:var(--text)}.prose blockquote{padding:2px 0 2px 20px;border-left:3px solid var(--accent);color:#afc1ce}.prose blockquote p:last-child{margin-bottom:0}.prose :not(pre)>code{padding:2px 5px;border:1px solid #304557;border-radius:3px;background:#152638;color:#b9ded2;font-family:var(--mono);font-size:.88em}.prose pre{overflow-x:auto;padding:19px 21px;border:1px solid #30485e;border-radius:5px;background:#0e1b2c!important;color:#d9e6ef;font-family:var(--mono);font-size:12px;line-height:1.7;tab-size:2}.prose pre code{font-family:inherit;font-size:inherit}.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13px}.prose th,.prose td{padding:9px 13px;border:1px solid var(--line);text-align:left}.prose th{background:var(--surface-raised);color:var(--text)}.prose td{background:#101d2e80}.prose hr{height:1px;margin:38px 0;border:0;background:var(--line)}.prose img{max-width:100%;height:auto;border-radius:4px}.note-prose{margin-top:9px;font-size:13px}.note-prose>:last-child{margin-bottom:0}.article-navigation{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:23px;border-top:1px solid var(--line)}.article-navigation a{display:flex;flex-direction:column;gap:5px;padding:17px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.article-navigation a:last-child{text-align:right}.article-navigation a span{color:var(--accent);font-family:var(--mono);font-size:10px}.article-navigation a strong{font-size:12px;line-height:1.45}.not-found{max-width:610px;padding:120px 0 150px}.not-found h1{margin:16px 0;font-size:clamp(42px,6vw,65px);line-height:1.1;letter-spacing:-.05em}.not-found p:not(.section-kicker){margin:0 0 28px;color:var(--muted)}.site-footer{border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:31px 0 39px}.footer-inner>div:first-child{display:flex;flex-direction:column;gap:2px}.footer-name{font-size:13px;font-weight:680}.footer-description{color:var(--quiet);font-size:11px}.footer-links{display:flex;flex-wrap:wrap;gap:21px;color:var(--muted);font-size:11px}@media(max-width:820px){.hero{grid-template-columns:1fr;gap:37px;padding:68px 0 75px}.focus-panel{max-width:460px}.archive-layout{grid-template-columns:1fr;gap:50px}.archive-sidebar{max-width:520px}.about-grid{grid-template-columns:1fr;gap:44px}.about-aside{max-width:500px}.area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.container{width:min(100% - 32px,1040px)}.header-inner{align-items:start;flex-direction:column;gap:12px;padding-top:15px;padding-bottom:11px}.brand-mark{width:32px;height:32px}.nav{width:100%;gap:19px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.nav a{font-size:12px}.hero{padding:56px 0 62px}.hero h1{font-size:55px}.hero-subtitle{font-size:17px}.hero-description{font-size:14px}.section{padding:55px 0 62px}.section-heading{align-items:start;flex-direction:column;gap:10px}.project-grid,.area-grid{grid-template-columns:1fr}.project-card{min-height:220px}.page-intro{padding:58px 0 47px}.page-intro h1{font-size:55px}.page-intro>p:last-child{font-size:15px}.archive-layout,.about-grid{padding-bottom:75px}.empty-state{padding:24px 20px}.article-layout{margin-top:39px}.article-header{padding-top:37px}.article-header h1{font-size:42px}.article-summary{font-size:15px}.article-navigation{grid-template-columns:1fr}.article-navigation-spacer{display:none}.footer-inner{align-items:start;flex-direction:column;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
