:root{--bg:#0b0e12;--fg:#c9d1d9;--muted:#8b949e;--accent:#22d3ee;--cyan:#22d3ee;--glow:#000000e6;--border:#21262d;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);border-bottom:1.5px solid var(--cyan);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.625;transition:background-color .15s,color .15s}h1,h2,h3{font-weight:600;line-height:1.25}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.bar{z-index:20;height:46px;font-family:var(--font-mono);background:0 0;border-bottom:1.5px solid #b08c568c;margin-top:-46px;font-size:.875rem;position:sticky;top:0}.bar-inner{align-items:center;gap:1.5rem;max-width:80rem;height:100%;margin:0 auto;padding:0 clamp(1rem,5vw,3rem);display:flex}.bar .brand{margin-right:auto;font-weight:600}.bar--blog .brand{margin-right:0}.bar--blog .blog-link{margin-right:auto}.bar .brand,.bar a,.bar .email-copy{color:var(--cyan);text-shadow:0 1px 2px #000000e6,0 0 12px #0009}.bar a:hover,.bar .email-copy:hover{color:#67e8f9;text-decoration:underline}.bar .email-copy{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.bar-ghost{background:#14100a;border-bottom:1.5px solid #b08c568c;height:46px}.hero{text-align:center;background:var(--bg);isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:56vh;padding:2.5rem clamp(1rem,5vw,3rem) 3rem;display:flex;position:relative}.scope-screen{z-index:0;background:#04060a;position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(#000 30%,#0000 96%)}.scope-screen canvas{width:100%;height:100%;display:block}.hero h1,.hero p{z-index:2;position:relative}.hero>h1,.hero>p{text-shadow:0 1px 2px #0009, 0 0 30px var(--glow), 0 0 110px var(--glow), 0 0 220px var(--glow)}.hero h1{margin:0;font-size:clamp(1.8rem,4.5vw,3rem)}.hero p{max-width:42rem;margin-left:auto;margin-right:auto}.hero-desc{font-size:clamp(.95rem,1.5vw,1.15rem)}.hero-sub{font-size:clamp(1.15rem,2vw,1.6rem)}.cpu-readout{z-index:2;font-family:var(--font-mono);letter-spacing:.08em;color:#dcb97de6;text-shadow:0 1px 2px #000000e6;font-size:.68rem;position:absolute;top:58px;left:1rem}.hero-meta{margin-top:1.5rem;font-size:.875rem}.email-copy{font-family:var(--font-mono);color:var(--cyan);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.875rem}.email-copy:hover{text-decoration:underline}.email-copy.copied{color:var(--fg)}main{max-width:80rem;margin:0 auto;padding:1.5rem clamp(1rem,5vw,3rem) 1rem}section{margin:0 0 3.5rem;scroll-margin-top:72px}h2{border-bottom:1px solid var(--border);padding-bottom:.5rem;font-size:1.35rem}.post-list{max-width:48rem}.post{border-top:1px solid var(--border);height:11.5rem;padding:1.5rem 0;overflow:hidden}.post:last-child{border-bottom:1px solid var(--border)}.post h3{margin:0 0 .25rem;font-size:1.25rem}.post-date{font-family:var(--font-mono);color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.post-desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.post-page{max-width:48rem}.post-page-back{font-family:var(--font-mono);margin:0 0 1.5rem;font-size:.8rem}.post-page h1{margin:0 0 .25rem;font-size:clamp(1.6rem,3vw,2.2rem)}.prose p{margin:0 0 1rem;line-height:1.75}.prose blockquote{border-left:3px solid var(--cyan);color:var(--muted);margin:1.5rem 0;padding:0 0 0 1.25rem;font-style:italic}.post-page-end{font-family:var(--font-mono);color:var(--muted);margin-top:2rem}.lab-diagram{border:1px solid var(--border);background:#0b0e12;border-radius:10px;margin:0;padding:1rem}.lab-diagram svg{width:100%;height:auto;display:block}.lab-diagram figcaption{font-family:var(--font-mono);color:var(--muted);margin-top:.6rem;font-size:.75rem}.card{aspect-ratio:4/9;border:1px solid var(--cyan);background:color-mix(in srgb, var(--bg) 92%, var(--fg) 8%);border-radius:0;flex-direction:column;padding:0;display:flex}.proj-head{border-bottom:1px solid #22d3ee59;align-items:center;gap:.75rem;height:4.5rem;padding:.75rem 1rem;display:flex}.proj-title{flex:1;min-width:0}.proj-title h3{word-break:break-word;margin:0;font-size:1.1rem}.proj-thumb{border-bottom:1px solid #22d3ee59;flex:none;justify-content:center;align-items:center;height:6rem;display:flex}.proj-license{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;flex:none;padding:.3rem .6rem;font-size:.68rem}.proj-license.open{color:#7ee787;border:1px solid #7ee78780}.proj-license.closed{color:#e3b341;border:1px solid #e3b34180}.proj-body{flex-direction:column;flex:1;min-height:0;padding:1rem 1.25rem;display:flex}.proj-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=1080px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.proj-grid{grid-template-columns:1fr}}.proj p{margin:.5rem 0;font-size:1.05rem}.proj-links{font-family:var(--font-mono);gap:1rem;margin-top:auto;padding-top:.75rem;font-size:.8rem;display:flex}footer{border-top:1px solid var(--border);max-width:80rem;font-family:var(--font-mono);color:var(--muted);text-align:center;margin:0 auto;padding:1rem clamp(1rem,5vw,3rem) 3rem;scroll-margin-top:72px;font-size:.9rem}footer p{margin:.35rem 0}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:.35rem;display:flex}.footer-links a,.footer-links .email-copy{color:var(--cyan)}.footer-links .email-copy{font-size:inherit}.footer-links a:hover,.footer-links a:focus,.footer-links a:active,.footer-links .email-copy:hover,.footer-links .email-copy:focus,.footer-links .email-copy:active{color:#67e8f9;text-decoration:underline}.dot{background:var(--muted);vertical-align:middle;border-radius:50%;flex:none;align-self:center;width:4px;height:4px;margin:0 .45rem;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
