@font-face{font-family:GeistSans;src:url(/_next/static/media/27834908180db20f-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_245d8d{font-family:GeistSans,GeistSans Fallback}.__variable_245d8d{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/78fec81b34c4a365.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_97c177{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_97c177{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}:root{--ink:#0a0a0a;--ink-2:#121212;--ink-3:#1a1a1a;--bone:#f5f1ea;--bone-dim:#d8d3ca;--muted:#8a857d;--muted-2:#5c5a54;--line:rgba(245,241,234,0.08);--line-2:rgba(245,241,234,0.16);--accent:#d4ff00;--accent-dim:#9cba00;--font-sans:var(--font-geist-sans,"Geist",ui-sans-serif,system-ui,sans-serif);--font-mono:var(--font-geist-mono,"Geist Mono",ui-monospace,monospace);--font-serif:var(--font-instrument-serif,"Instrument Serif","Times New Roman",serif);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-in-out-quad:cubic-bezier(0.5,0,0.5,1);--container:min(1440px,calc(100vw - 48px))}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{background:var(--ink);color:var(--bone);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body{font-size:16px;line-height:1.5;letter-spacing:-.005em}a{text-decoration:none}a,button{color:inherit}button{background:none;border:0;font:inherit}a,button{cursor:pointer}::selection{background:var(--accent);color:var(--ink)}.grain{inset:0;z-index:9998;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.cursor,.grain{position:fixed;pointer-events:none}.cursor{top:0;left:0;z-index:10000;mix-blend-mode:difference;transition:opacity .2s}.cursor-dot{width:6px;height:6px;background:var(--bone);border-radius:50%;transition:width .25s var(--ease-out-expo),height .25s var(--ease-out-expo),background .25s}.cursor-dot,.cursor-ring{position:absolute;transform:translate(-50%,-50%)}.cursor-ring{width:32px;height:32px;border:1px solid var(--bone);border-radius:50%;transition:width .35s var(--ease-out-expo),height .35s var(--ease-out-expo),border-color .3s,background .3s}.cursor.is-link .cursor-dot{width:0;height:0}.cursor.is-link .cursor-ring{width:48px;height:48px;background:rgba(212,255,0,.15);border-color:var(--accent)}.cursor.is-drag .cursor-ring{width:64px;height:64px;border-color:var(--accent)}.cursor.is-drag .cursor-dot{width:4px;height:4px;background:var(--accent)}@media (hover:none){body{cursor:auto}.cursor{display:none!important}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:9999}.scroll-progress-fill{height:100%;width:0;background:var(--accent);transition:width .1s linear}.nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:20px 0;transition:background .4s,padding .4s,-webkit-backdrop-filter .4s;transition:background .4s,backdrop-filter .4s,padding .4s;transition:background .4s,backdrop-filter .4s,padding .4s,-webkit-backdrop-filter .4s}.nav.is-scrolled{background:rgba(10,10,10,.6);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);padding:14px 0;border-bottom:1px solid var(--line)}.nav-inner{width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;grid-gap:32px;gap:32px}.nav-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.02em}.nav-logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.88)}}.nav-meta{justify-self:center;display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.nav-meta-item{display:inline-flex;align-items:center;gap:6px}.nav-meta-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}.nav-meta-sep{color:var(--muted-2)}.nav-links{justify-self:end;display:flex;align-items:center;gap:28px;font-family:var(--font-mono);font-size:13px}.nav-links a{position:relative;padding:4px 0;transition:color .2s}.nav-links a:not(.nav-cta):not(.nav-resume):after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--accent);transition:width .35s var(--ease-out-expo)}.nav-links a:not(.nav-cta):not(.nav-resume):hover:after{width:100%}.nav-links a.nav-resume{font-weight:500;white-space:nowrap}.nav-links a.nav-resume:hover{color:var(--accent)}.nav-links a.nav-resume:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:4px 0;color:inherit;transition:color .2s,transform .25s var(--ease-out-expo)}.nav-cta svg{transition:transform .25s var(--ease-out-expo)}.nav-cta:hover{color:var(--accent);transform:translateX(2px)}.nav-cta:hover svg{transform:translate(2px,-2px)}@media (max-width:900px){.nav-meta{display:none}.nav-inner{grid-template-columns:1fr auto}}@media (max-width:600px){.nav-links{gap:14px;font-size:11px}}.section{width:var(--container);margin:0 auto;padding:160px 0;position:relative}@media (max-width:700px){.section{padding:96px 0}}.label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.label-idx{color:var(--accent)}.label-line{display:inline-block;width:32px;height:1px;background:var(--muted-2)}.section-title{font-family:var(--font-sans);font-size:clamp(48px,7vw,96px);font-weight:500;line-height:.95;letter-spacing:-.04em}.section-title em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--bone-dim)}@keyframes revealFallback{to{opacity:1;transform:none}}[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-out-expo),transform 1s var(--ease-out-expo);animation:revealFallback .01s linear 1.5s forwards}[data-reveal].is-in{opacity:1;transform:none;animation:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;animation:none}}[data-reveal][data-delay="1"]{transition-delay:.08s}[data-reveal][data-delay="2"]{transition-delay:.16s}[data-reveal][data-delay="3"]{transition-delay:.24s}[data-reveal][data-delay="4"]{transition-delay:.32s}[data-reveal][data-delay="5"]{transition-delay:.4s}.work-header{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:40px;gap:40px;margin-bottom:80px;padding-bottom:32px;border-bottom:1px solid var(--line-2)}.work-header-meta{font-family:var(--font-mono);font-size:12px;color:var(--muted);text-align:right;line-height:1.7}.work-header-meta b{color:var(--bone);font-weight:500}.marquee{margin:0;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;gap:56px;animation:marquee 40s linear infinite;font-family:var(--font-sans);font-weight:500;font-size:clamp(40px,6vw,80px);letter-spacing:-.03em;line-height:1}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{display:inline-flex;align-items:center;gap:56px}.marquee-item em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--bone-dim)}.marquee-sep{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);vertical-align:middle}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.project{position:relative;display:grid;grid-template-columns:120px 1fr 1fr;grid-gap:48px;gap:48px;padding:56px 0;border-top:1px solid var(--line);cursor:pointer;transition:padding .5s var(--ease-out-expo)}.project:first-child{border-top:0}.project:last-child{border-bottom:1px solid var(--line)}.project-idx{font-family:var(--font-mono);font-size:13px;color:var(--muted);padding-top:8px}.project-idx b{color:var(--bone);font-weight:500}.project-main{display:flex;flex-direction:column;gap:20px}.project-title{font-size:clamp(36px,4.2vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.03em;display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}.project-title em{font-family:var(--font-serif);font-style:italic;color:var(--bone-dim);font-weight:400}.project-title-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent);background:rgba(212,255,0,.08);border:1px solid rgba(212,255,0,.3);padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;align-self:center}.project-oneline{font-size:17px;line-height:1.5;color:var(--bone-dim);max-width:42ch;letter-spacing:-.005em}.project-stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-stack span{font-size:11px;padding:4px 8px;border:1px solid var(--line-2);border-radius:4px}.project-side,.project-stack span{font-family:var(--font-mono);color:var(--muted)}.project-side{display:flex;flex-direction:column;gap:20px;padding-top:12px;font-size:12px;line-height:1.6}.project-side-row{display:grid;grid-template-columns:80px 1fr;grid-gap:12px;gap:12px;padding-bottom:14px;border-bottom:1px dashed var(--line-2)}.project-side-row:last-child{border-bottom:0;padding-bottom:0}.project-side-row b{color:var(--bone);font-weight:500;font-family:var(--font-sans);letter-spacing:-.01em}.project-side-row span{color:var(--bone-dim)}.project-link-dead{color:var(--muted);font-weight:400;cursor:default}.project-expand{grid-column:1/-1;overflow:hidden;max-height:0;opacity:0;transition:max-height .7s var(--ease-out-expo),opacity .5s,margin .5s;margin-top:0}.project.is-open .project-expand{max-height:900px;opacity:1;margin-top:32px}.project-expand-inner{display:grid;grid-template-columns:120px 1fr 1fr;grid-gap:48px;gap:48px;padding-top:32px;border-top:1px dashed var(--line-2)}.project-expand-label{color:var(--muted);margin-bottom:16px}.project-expand-col h4,.project-expand-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.project-expand-col h4{color:var(--accent);font-weight:500;margin-bottom:12px}.project-expand-col p{color:var(--bone-dim);font-size:15px;line-height:1.55;margin-bottom:16px}.project-expand-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.project-expand-col li{position:relative;padding-left:20px;color:var(--bone-dim);font-size:14px;line-height:1.5}.project-expand-col li:before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--font-mono)}.project-expand-col li b{color:var(--bone);font-weight:500}.project-toggle{position:absolute;top:56px;right:0;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s,border-color .3s,transform .5s var(--ease-out-expo)}.project-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project:hover .project-toggle{border-color:var(--accent);background:rgba(212,255,0,.08)}.project.is-open .project-toggle{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:var(--ink)}@media (max-width:900px){.project{grid-template-columns:1fr;gap:20px}.project-expand-inner{grid-template-columns:1fr;gap:24px}.project-toggle{position:relative;top:0;align-self:flex-end}}.exp-list{display:flex;flex-direction:column}.exp-item{display:grid;grid-template-columns:180px 1fr 1fr;grid-gap:48px;gap:48px;padding:40px 0;border-top:1px solid var(--line);position:relative;transition:padding .4s var(--ease-out-expo)}.exp-item:last-child{border-bottom:1px solid var(--line)}.exp-item:hover{padding-left:20px}.exp-item:hover .exp-role{color:var(--accent)}.exp-date{font-family:var(--font-mono);font-size:12px;color:var(--muted);padding-top:4px;line-height:1.6}.exp-date b{color:var(--bone);font-weight:500;display:block}.exp-role{font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-.02em;line-height:1.15;transition:color .3s;margin-bottom:6px}.exp-company{font-family:var(--font-mono);font-size:13px;color:var(--bone-dim)}.exp-company span{color:var(--muted)}.exp-desc{color:var(--bone-dim);font-size:15px;line-height:1.55;max-width:48ch}.exp-desc b{color:var(--bone);font-weight:500}@media (max-width:900px){.exp-item{grid-template-columns:1fr;gap:12px;padding:28px 0}.exp-item:hover{padding-left:0}}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:80px;gap:80px;align-items:start}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px}}.about-copy{font-size:clamp(22px,2.2vw,32px);line-height:1.35;letter-spacing:-.02em;font-weight:400;color:var(--bone)}.about-copy p{margin-bottom:28px}.about-copy p:last-child{margin-bottom:0}.about-copy em{font-family:var(--font-serif);font-style:italic;color:var(--bone-dim);font-weight:400}.about-copy .accent{color:var(--accent);font-family:var(--font-mono);font-weight:500;font-size:.78em}.about-side{display:flex;flex-direction:column;gap:32px;position:-webkit-sticky;position:sticky;top:100px}.about-card{padding:24px}.about-card,.portrait-card{border:1px solid var(--line-2);border-radius:8px;background:var(--ink-2)}.portrait-card{position:relative;overflow:hidden}.portrait-img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:contrast(1.03) saturate(1);transition:filter .6s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.portrait-card:hover .portrait-img{filter:contrast(1.08) saturate(1.05);transform:scale(1.02)}.portrait-meta{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-2);border-radius:999px;font-family:var(--font-mono);font-size:10px;color:var(--bone-dim);letter-spacing:.06em;text-transform:uppercase}.portrait-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.about-card h4{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:8px}.about-card h4:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.about-card ul{list-style:none;display:flex;flex-direction:column;gap:10px}.about-card li{display:flex;justify-content:space-between;gap:16px;font-family:var(--font-mono);font-size:12px;color:var(--bone-dim);padding-bottom:10px;border-bottom:1px dashed var(--line)}.about-card li:last-child{border-bottom:0;padding-bottom:0}.about-card li b{color:var(--bone);font-weight:500;text-align:right}.about-card li .k{color:var(--muted)}.skill-chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:12px;padding:6px 10px;border:1px solid var(--line-2);border-radius:4px;color:var(--bone-dim);transition:all .25s}.skill-chip:hover{border-color:var(--accent);color:var(--accent)}.skill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.contact{padding:160px 0 80px;border-top:1px solid var(--line-2);width:var(--container);margin:0 auto;position:relative}.contact-headline{font-size:clamp(64px,11vw,180px);line-height:.9;letter-spacing:-.04em;font-weight:500;margin-bottom:48px}.contact-headline em{font-family:var(--font-serif);font-style:italic;color:var(--bone-dim);font-weight:400}.contact-cta{display:inline-flex;align-items:center;gap:16px;padding:18px 32px;background:var(--accent);color:var(--ink);border-radius:999px;font-family:var(--font-sans);font-weight:500;font-size:18px;letter-spacing:-.01em;transition:transform .4s var(--ease-out-expo),background .3s}.contact-cta:hover{transform:translate(6px,-2px);background:var(--bone)}.contact-cta:focus-visible{outline:2px solid var(--bone);outline-offset:4px}.contact-cta-disabled{cursor:not-allowed;background:transparent;color:var(--bone-dim);border:1px solid var(--line-2)}.contact-cta-disabled:hover{transform:none;background:transparent}.contact-cta-arrow{transition:transform .4s var(--ease-out-expo)}.contact-cta:hover .contact-cta-arrow{transform:translateX(6px)}.contact-featured{margin-top:28px;font-family:var(--font-mono);font-size:13px}.contact-featured a{color:var(--bone-dim);transition:color .2s}.contact-featured a:hover{color:var(--accent)}.contact-featured a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-featured-muted{color:var(--muted)}.contact-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:20px;font-family:var(--font-mono);font-size:13px}.contact-link{position:relative;padding:8px 0;display:inline-flex;align-items:center;gap:6px;color:var(--bone-dim)}.contact-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--bone-dim);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.contact-link:hover:after{transform:scaleX(0)}.contact-link:hover{color:var(--accent)}.contact-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.contact-link .arr{transition:transform .4s var(--ease-out-expo)}.contact-link:hover .arr{transform:translate(3px,-3px)}.contact-link-disabled{color:var(--muted);cursor:not-allowed}.contact-link-disabled:after{display:none}.footer{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:32px;gap:32px;padding:48px 0 32px;border-top:1px solid var(--line);margin-top:80px;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.footer b{font-weight:400}.footer a,.footer b{color:var(--bone-dim)}.footer a:hover{color:var(--accent)}@media (max-width:700px){.footer{grid-template-columns:1fr;gap:12px}}.mono-label{font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.mono-label,.mono-val{font-family:var(--font-mono)}.mono-val{font-size:12px;color:var(--bone-dim);letter-spacing:.02em}.accent-text{color:var(--accent);font-weight:500}.hero-v2{width:var(--container);margin:0 auto;min-height:100vh;padding:120px 0 60px;display:flex;flex-direction:column}.hero-v2-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:flex-start;flex:1 1}@media (max-width:1000px){.hero-v2-grid{grid-template-columns:1fr;gap:40px}}.hero-v2-name{font-weight:500;font-size:clamp(56px,9vw,128px);line-height:.9;letter-spacing:-.04em;margin:0 0 32px}.hero-v2-name span{display:block}.hero-v2-cursor{display:inline-block;color:var(--accent);animation:blink 1.1s steps(2) infinite;margin-left:4px}@keyframes blink{50%{opacity:0}}.hero-v2-sub{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--bone-dim);max-width:52ch;margin-bottom:40px}.hero-v2-sub b{color:var(--bone);font-weight:500}.hero-v2-sub em{font-family:var(--font-serif);font-style:italic;color:var(--bone-dim)}.hero-v2-meta{display:flex;flex-direction:column;gap:12px;padding-top:24px}.hero-v2-meta>div{display:grid;grid-template-columns:100px 1fr;grid-gap:16px;gap:16px;font-family:var(--font-mono);font-size:12px;color:var(--bone-dim)}.demo-panel{background:var(--ink-2);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;position:-webkit-sticky;position:sticky;top:100px}.demo-header{justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--ink-3)}.demo-header,.demo-header-l{display:flex;align-items:center}.demo-header-l{gap:10px}.demo-header-r{display:flex;align-items:center;gap:12px}.demo-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2s ease-in-out infinite}.demo-title{font-family:var(--font-mono);font-size:12px;color:var(--bone);letter-spacing:.02em}.demo-body{padding:20px}.demo-prompt-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.demo-hint{font-size:10px;color:var(--muted);letter-spacing:.04em}.demo-hint,.demo-input{font-family:var(--font-mono)}.demo-input{width:100%;background:var(--ink);border:1px solid var(--line-2);color:var(--bone);padding:14px 16px;border-radius:6px;font-size:13px;line-height:1.5;resize:vertical;min-height:80px;transition:border-color .25s;cursor:text}.demo-input:focus{outline:none;border-color:var(--accent)}.demo-input::placeholder{color:var(--muted)}.demo-actions{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:12px}.demo-actions,.demo-chips{display:flex;flex-wrap:wrap}.demo-chips{gap:4px;flex:1 1;min-width:0}.demo-chip{font-family:var(--font-mono);font-size:10px;color:var(--muted);padding:4px 8px;border:1px solid var(--line-2);border-radius:4px;cursor:pointer;transition:all .2s;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-chip:hover{border-color:var(--accent);color:var(--accent)}.demo-run{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink);padding:8px 16px;border-radius:6px;font-family:var(--font-mono);font-weight:500;font-size:12px;transition:transform .25s var(--ease-out-expo),opacity .25s;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}.demo-run:disabled{opacity:.4;cursor:not-allowed}.demo-run:not(:disabled):hover{transform:translateX(2px)}.demo-run span{opacity:.6}.spinner{width:10px;height:10px;border:1.5px solid;border-right:1.5px solid transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.demo-run-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.demo-kbd{font-family:var(--font-mono);font-size:9px;color:var(--muted);letter-spacing:.04em}.demo-copy-row{display:flex;justify-content:flex-end;margin-top:14px}.demo-copy-btn{font-family:var(--font-mono);font-size:12px;color:var(--muted);padding:4px 10px;border:1px solid var(--line-2);border-radius:4px;background:none;cursor:pointer;transition:all .2s;letter-spacing:.02em}.demo-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.demo-output{margin-top:20px;padding-top:20px;border-top:1px dashed var(--line-2);animation:fadeUp .5s var(--ease-out-expo)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.demo-verdict-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center;margin-bottom:16px}.demo-verdict{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid;border-radius:999px;font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.08em}.demo-verdict-dot{width:6px;height:6px;border-radius:50%}.demo-conf{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px}.demo-conf-bar{flex:1 1;min-width:40px;height:4px;background:var(--ink);border-radius:2px;overflow:hidden;display:block}.demo-conf-fill{display:block;height:100%;transition:width .5s var(--ease-out-expo)}.demo-conf-val{color:var(--bone);font-weight:500}.demo-category{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--bone-dim)}.demo-reasoning{display:flex;flex-direction:column;gap:4px}.demo-reasoning p{font-size:13px;color:var(--bone-dim);line-height:1.5;font-family:var(--font-mono)}.demo-signals{display:flex;flex-direction:column;gap:4px;margin-top:12px}.demo-signal-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.demo-signal-chip{padding:2px 6px;border:1px solid var(--line-2);border-radius:4px}.demo-signal-chip,.demo-signal-none{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.demo-signal-none{margin-top:2px}.demo-landmark-section{margin-top:12px}.demo-landmark-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.04em;background:none;padding:0;cursor:pointer;transition:color .2s}.demo-landmark-toggle:hover{color:var(--bone-dim)}.demo-landmark-list{margin-top:8px;border-top:1px dashed var(--line-2);padding-top:4px}.demo-landmark-row{width:100%;text-align:left;background:none;cursor:pointer;transition:background .15s}.demo-landmark-row:hover{background:var(--ink-3);border-radius:2px}.demo-history{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line-2)}.demo-history-row{display:grid;grid-template-columns:60px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:6px 0;font-family:var(--font-mono);font-size:11px;border-bottom:1px dashed var(--line)}.demo-history-row:last-child{border-bottom:0}.demo-history-verdict{font-weight:600;letter-spacing:.06em;font-size:10px}.demo-history-input{color:var(--bone-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-history-cat{color:var(--muted);font-size:10px}.demo-footer{padding:10px 16px;border-top:1px solid var(--line);background:var(--ink-3);display:flex;align-items:center;gap:10px;font-size:11px}.demo-footer,.demo-footer-badge{font-family:var(--font-mono);color:var(--muted)}.demo-footer-badge{margin-left:auto;font-size:9px;padding:2px 6px;border:1px solid var(--line);border-radius:3px;text-transform:uppercase;letter-spacing:.08em}.pipeline-body{padding:20px}.pipeline-diagram{font-family:var(--font-mono);font-size:11px;line-height:1.9;color:var(--bone-dim);white-space:pre;overflow-x:auto;border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--ink-3);margin-bottom:10px}.pipeline-caption{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:center;margin-bottom:20px;letter-spacing:.02em}.pipeline-stats{display:flex;border:1px solid var(--line-2);border-radius:6px;overflow:hidden}.pipeline-stat{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-right:1px solid var(--line-2)}.pipeline-stat:last-child{border-right:0}.pipeline-stat-num{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--accent);letter-spacing:-.02em;line-height:1.1}.pipeline-stat-label{font-size:10px;margin-top:5px;text-align:center;letter-spacing:.02em}.demo-mode-link,.pipeline-stat-label{font-family:var(--font-mono);color:var(--muted)}.demo-mode-link{font-size:11px;transition:color .2s}.demo-mode-link:hover{color:var(--accent)}.demo-hint-block{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.55;margin:10px 0 8px}.demo-stats{margin-top:20px;border-top:1px dashed var(--line-2);padding-top:16px}.notes-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:900px){.notes-list{grid-template-columns:1fr}}.note{border:1px solid var(--line-2);border-radius:10px;background:var(--ink-2);transition:border-color .3s,background .3s;position:relative}.note-button{width:100%;padding:24px;display:flex;flex-direction:column;align-items:stretch;text-align:left;cursor:pointer}.note:hover{border-color:rgba(212,255,0,.4)}.note-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.note-meta{align-items:center;gap:6px 10px;margin-bottom:20px}.note-meta,.note-tags{display:flex;flex-wrap:wrap}.note-tags{gap:4px;margin-left:auto}.note-tag{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.04em}.note-title{font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px;color:var(--bone)}.note-hook{font-size:14px;line-height:1.55;color:var(--bone-dim);margin-bottom:18px;flex:1 1}.note-expand{max-height:0;overflow:hidden;transition:max-height .6s var(--ease-out-expo),opacity .4s;opacity:0}.note.is-open .note-expand{max-height:500px;opacity:1;margin-bottom:18px}.note-points{list-style:none;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px dashed var(--line-2);margin-bottom:14px}.note-points li{position:relative;padding-left:18px;font-size:13px;line-height:1.5;color:var(--bone-dim)}.note-points li:before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--font-mono)}.note-stat{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--ink);border:1px solid var(--line);border-radius:6px}.note-stat-v{font-size:16px;font-weight:500;color:var(--accent)}.note-stat-v,.note-toggle{font-family:var(--font-mono)}.note-toggle{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;transition:color .2s}.note:hover .note-toggle{color:var(--accent)}.nav-logo:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.nav-links a:not(.nav-cta):not(.nav-resume):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.nav-cta:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.demo-run:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-landmark-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-landmark-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-mode-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.demo-dot,.hero-v2-cursor,.marquee-track,.nav-logo-dot,.spinner{animation:none!important}.demo-output,.note-expand,.project-expand,[data-reveal]{transition:none!important}}