:root{--bg:#08090b;--bg-1:#0f1014;--bg-2:#15171c;--bg-3:#1e2026;--line:hsla(0,0%,100%,.08);--line-strong:hsla(0,0%,100%,.16);--ink:#f4f5f7;--ink-2:#b7bac2;--ink-3:#6e7280;--ink-4:#43474f;--accent:#7cff6b;--accent-ink:#0a0a0a;--accent-glow:124 255 107;--danger:#ff5c8a;--warn:#ffb347;--radius:4px;--radius-lg:12px;--maxw:1280px;--pad:clamp(20px,4vw,56px);--cyber:.4;--motion:1}*{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--bg);color-scheme:dark}html:before{overflow:hidden;background:radial-gradient(circle 520px at 18% 22%,rgba(var(--accent-glow),.18),transparent 65%),radial-gradient(circle 480px at 82% 30%,rgba(167,139,250,.14),transparent 65%),radial-gradient(circle 600px at 25% 78%,rgba(94,234,212,.13),transparent 65%),radial-gradient(circle 540px at 78% 82%,rgba(244,114,182,.1),transparent 65%),radial-gradient(circle 700px at 50% 50%,rgba(var(--accent-glow),.05),transparent 70%);filter:blur(20px);animation:drift 24s ease-in-out infinite alternate}html:after,html:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}html:after{background:radial-gradient(circle 380px at 65% 12%,rgba(96,165,250,.1),transparent 60%),radial-gradient(circle 420px at 8% 55%,rgba(251,191,36,.07),transparent 60%),radial-gradient(circle 460px at 92% 60%,rgba(var(--accent-glow),.1),transparent 65%);filter:blur(28px);animation:drift2 32s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(2%,-1%) scale(1.04)}to{transform:translate(-2%,1%) scale(.98)}}@keyframes drift2{0%{transform:translate(0) scale(1)}50%{transform:translate(-3%,2%) scale(1.05)}to{transform:translate(2%,-2%) scale(.97)}}html[data-motion="0"]:after,html[data-motion="0"]:before{animation:none}@media(prefers-reduced-motion:reduce){html:after,html:before{animation:none}}body{background:var(--bg);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5;overflow-x:hidden}.mono,code,kbd,pre,samp{font-family:Geist Mono,ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-feature-settings:"ss01","ss02","zero","cv11"}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:0;padding:0;cursor:pointer}img,svg{display:block}::-moz-selection{background:var(--accent);color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}body:before{z-index:1000;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none;mix-blend-mode:overlay}body:after{z-index:999;opacity:calc(var(--cyber)*.18);background-image:repeating-linear-gradient(180deg,hsla(0,0%,100%,.05) 0,hsla(0,0%,100%,.05) 1px,transparent 0,transparent 3px)}.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.section{padding-top:clamp(56px,9vw,120px);padding-bottom:clamp(56px,9vw,120px);border-top:1px solid var(--line);position:relative}.section:first-of-type{border-top:0}.section-label{display:inline-flex;align-items:center;gap:10px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.section-label:before{content:"";width:6px;height:6px;background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-glow),.18);border-radius:1px}.section-title{font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;font-weight:600;margin:18px 0 0;line-height:1.05}.section-title .num{font-family:Geist Mono,monospace;font-size:.5em;color:var(--ink-3);vertical-align:top;margin-right:14px;font-weight:400}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);background:color-mix(in oklab,var(--bg) 70%,transparent);border-bottom:1px solid var(--line)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad);display:grid;grid-template-columns:auto 1fr auto;gap:32px}.logo,.nav-inner{align-items:center}.logo{display:inline-flex;gap:10px;font-family:Geist Mono,monospace;font-size:13px;letter-spacing:.04em}.logo .glyph{width:22px;height:22px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:3px;font-weight:700;box-shadow:0 0 0 1px rgba(var(--accent-glow),.5),0 0 24px rgba(var(--accent-glow),.35)}.logo .dot{color:var(--accent)}.nav-links{display:flex;gap:28px;justify-content:center;font-size:14px;color:var(--ink-2)}.nav-links a{position:relative;padding:6px 0;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .25s ease}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-family:Geist Mono,monospace;letter-spacing:.02em;border-radius:var(--radius);transition:transform .15s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease;white-space:nowrap;cursor:pointer;border:1px solid transparent}.btn .arrow{transition:transform .25s ease}.btn:hover .arrow{transform:translate(3px)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 1px rgba(var(--accent-glow),.4),0 0 28px rgba(var(--accent-glow),.25)}.btn-primary:hover{box-shadow:0 0 0 1px rgba(var(--accent-glow),.7),0 0 44px rgba(var(--accent-glow),.45)}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:#ffffff05}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-glow),.06)}.btn-sm{padding:8px 12px;font-size:12px}.btn-link{display:inline-flex;align-items:center;gap:8px;font-family:Geist Mono,monospace;font-size:13px;color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}.btn-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.btn-link .arrow{transition:transform .2s}.btn-link:hover .arrow{transform:translate(3px,-3px)}.tag{display:inline-flex;align-items:center;gap:6px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.04em;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-2);text-transform:lowercase}.tag.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-glow),.2);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero{position:relative;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(80px,12vw,140px);overflow:hidden}.hero:after,.hero:before{content:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}.hero-left{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.hero-right{position:relative;align-self:end;transform:translate(0)}.hero h1{font-size:clamp(48px,8.5vw,124px);line-height:1;letter-spacing:-.035em;font-weight:600;margin:0}.hero h1 .stack{display:block;position:relative}.hero h1 .stack.outline{-webkit-text-stroke:1.2px var(--ink-2);color:transparent;font-style:italic;font-weight:400;letter-spacing:-.02em}.hero h1 .caret{display:inline-block;width:.5em;height:.85em;background:var(--accent);margin-left:.08em;vertical-align:-.08em;box-shadow:0 0 24px rgba(var(--accent-glow),.55);animation:blink 1.1s steps(2) infinite;animation-play-state:paused}body[data-motion="1"] .hero h1 .caret{animation-play-state:running}.glitch{position:relative;display:inline-block}.glitch:after,.glitch:before{content:attr(data-text);position:absolute;left:0;top:0;width:100%;pointer-events:none;opacity:calc(var(--cyber)*.7)}.glitch:before{color:var(--accent);transform:translate(calc(var(--cyber)*-2px));mix-blend-mode:screen;clip-path:polygon(0 0,100% 0,100% 38%,0 38%)}.glitch:after{color:var(--danger);transform:translate(calc(var(--cyber)*2px),calc(var(--cyber)*1px));mix-blend-mode:screen;clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%)}.hero-sub{max-width:460px;color:var(--ink-2);font-size:16px;line-height:1.6}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;justify-content:space-between;gap:24px;margin-top:clamp(40px,6vw,64px);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-meta,.scroll-hint{align-items:center;color:var(--ink-3)}.scroll-hint{display:inline-flex;gap:8px}.scroll-hint .line{display:inline-block;width:36px;height:1px;background:var(--ink-4);position:relative;overflow:hidden}.scroll-hint .line:after{content:"";position:absolute;left:-50%;top:0;width:50%;height:100%;background:var(--accent);animation:slide 2.4s linear infinite;animation-play-state:paused}body[data-motion="1"] .scroll-hint .line:after{animation-play-state:running}@keyframes slide{0%{left:-50%}to{left:100%}}.hero-visual{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff05,#fff0);padding:14px;position:relative;font-family:Geist Mono,monospace;font-size:12.5px;color:var(--ink-2);box-shadow:0 30px 60px -30px rgba(var(--accent-glow),.25)}.hero-visual:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(var(--accent-glow),.5),transparent 40%,transparent 60%,rgba(var(--accent-glow),.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.hv-bar{display:flex;align-items:center;gap:8px;padding:4px 6px 12px;border-bottom:1px solid var(--line);margin-bottom:12px;font-size:11px;color:var(--ink-3)}.hv-bar .dots{display:inline-flex;gap:6px}.hv-bar .dots i{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--bg-3)}.hv-bar .dots i:first-child{background:#ff5c8ab3}.hv-bar .dots i:nth-child(2){background:#ffb347b3}.hv-bar .dots i:nth-child(3){background:#7cff6bb3}.hv-bar .path{margin-left:8px;color:var(--ink-3)}.hv-line{white-space:pre}.tk-key{color:var(--accent)}.tk-str{color:var(--warn)}.tk-num{color:var(--danger)}.tk-com{color:var(--ink-4);font-style:italic}.tk-fn{color:#8fe4ff}.cursor:after{content:"▋";color:var(--accent);margin-left:2px;animation:blink 1s steps(2) infinite;animation-play-state:paused}body[data-motion="1"] .cursor:after{animation-play-state:running}.about-grid{display:grid;grid-template-columns:380px 1fr;gap:72px;align-items:start}.about-img{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-lg);background:repeating-linear-gradient(45deg,hsla(0,0%,100%,.025) 0 2px,transparent 2px 12px),var(--bg-1);position:relative;display:grid;place-items:center;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:12px;overflow:hidden}.about-img:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(var(--accent-glow),.12),transparent 50%)}.about-img span{position:relative;z-index:1}.about-text h3{font-size:clamp(28px,3vw,36px);font-weight:500;letter-spacing:-.025em;margin:0 0 20px;line-height:1.15;max-width:22ch}.about-text p{color:var(--ink-2);font-size:16px;line-height:1.7;margin:0 0 28px;max-width:56ch}.highlights{list-style:none;margin:0;padding:0;display:grid;gap:0}.highlights li{display:grid;grid-template-columns:40px 1fr auto;align-items:baseline;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.highlights li:last-child{border-bottom:1px solid var(--line)}.highlights .k{font-family:Geist Mono,monospace;color:var(--ink-3);font-size:11px}.highlights .v{color:var(--ink)}.highlights .meta{font-family:Geist Mono,monospace;color:var(--ink-3);font-size:11px}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.stack-col{background:var(--bg-1);padding:28px;display:flex;flex-direction:column;gap:18px}.stack-col h4{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:0;display:flex;align-items:center;gap:10px}.stack-col h4:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:1px;box-shadow:0 0 8px rgba(var(--accent-glow),.6)}.stack-col h4 .ct{margin-left:auto;color:var(--ink-4);letter-spacing:0}.badges{display:flex;flex-wrap:wrap;gap:8px}.badge{font-family:Geist Mono,monospace;font-size:12px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-2);background:#ffffff04;transition:color .2s,border-color .2s,background .2s,transform .15s}.badge:hover{color:var(--accent);border-color:var(--accent);background:rgba(var(--accent-glow),.06);transform:translateY(-1px)}.badge.featured{border-color:rgba(var(--accent-glow),.4);color:var(--accent)}.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.proj{background:var(--bg-1);padding:0;position:relative;display:flex;flex-direction:column;transition:background .25s ease;cursor:pointer}.proj:hover{background:var(--bg-2)}.proj-cover{aspect-ratio:16/10;position:relative;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate;color:var(--accent,#fff)}.proj-cover .pc-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,color-mix(in oklab,var(--accent,#fff) 22%,transparent),transparent 60%),linear-gradient(135deg,var(--c1,#111),var(--c2,#1a1a1a));z-index:0}.proj-cover .pc-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,hsla(0,0%,100%,.025) 0 1px,transparent 1px 14px)}.proj-cover .pc-art{position:absolute;inset:0;display:grid;place-items:center;z-index:1;color:color-mix(in oklab,var(--accent,#fff) 60%,#fff)}.proj-cover .pc-glyph{font-family:Geist Mono,monospace;font-size:clamp(60px,9vw,120px);font-weight:300;opacity:.5;letter-spacing:-.04em;line-height:1;text-shadow:0 0 40px color-mix(in oklab,var(--accent,#fff) 40%,transparent)}.pc-grid{position:absolute;inset:12% 16%;background:linear-gradient(90deg,currentColor 1px,transparent 0) 0 0 /16.66% 100%,linear-gradient(180deg,currentColor 1px,transparent 0) 0 0 /100% 25%;opacity:.25}.pc-radar{position:absolute;inset:0;display:grid;place-items:center}.pc-radar span{position:absolute;border:1px solid;border-radius:50%;opacity:.35}.pc-radar span:first-child{width:40%;height:70%}.pc-radar span:nth-child(2){width:60%;height:95%;opacity:.22}.pc-radar span:nth-child(3){width:22%;height:40%;opacity:.5}.pc-term{position:absolute;left:18px;bottom:18px;display:flex;gap:6px;align-items:center;font-family:Geist Mono,monospace;font-size:28px;opacity:.7}.pc-term .blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.pc-editor{position:absolute;inset:18%;display:flex;flex-direction:column;gap:8px}.pc-editor span{height:6px;border-radius:2px;background:currentColor;opacity:.3}.pc-editor span:first-child{width:80%}.pc-editor span:nth-child(2){width:55%}.pc-editor span:nth-child(3){width:70%}.pc-chart{position:absolute;inset:30% 12% 22%;width:auto;height:auto;opacity:.55}.pc-keys{position:absolute;inset:auto 0 18%;display:flex;justify-content:center;gap:6px;font-family:Geist Mono,monospace;font-size:13px}.pc-keys span{width:28px;height:28px;display:grid;place-items:center;border:1px solid;border-radius:4px;opacity:.45}.pc-timeline{position:absolute;left:12%;right:12%;top:50%;height:1px;background:currentColor;opacity:.4;display:flex;justify-content:space-between;align-items:center}.pc-timeline span{width:10px;height:10px;border-radius:50%;background:var(--c2);border:1px solid;transform:translateY(-50%) translateY(.5px)}.pc-swatch{position:absolute;inset:22%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pc-swatch span{background:currentColor;opacity:.35;border-radius:3px}.pc-swatch span:nth-child(2){opacity:.6}.pc-swatch span:nth-child(5){opacity:.5}.proj-num{left:16px;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.08em}.proj-arrow,.proj-num{position:absolute;top:14px;z-index:2}.proj-arrow{right:16px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-2);background:#0006;transition:transform .25s ease,border-color .25s,color .25s,background .25s}.proj:hover .proj-arrow{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-glow),.1);transform:rotate(-45deg)}.proj-flag{left:16px;color:var(--accent,var(--ink-2))}.proj-flag,.proj-status{position:absolute;bottom:14px;font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;z-index:2}.proj-status{right:16px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:#0000008c;color:var(--ink-3)}.proj-status.shipped{color:#7cff6b;border-color:#7cff6b4d}.proj-status.in-progress{color:#fbbf24;border-color:#fbbf244d}.proj-status.archived{color:var(--ink-4)}.proj-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}.proj-title{font-size:19px;font-weight:500;letter-spacing:-.015em;margin:0}.proj-desc{color:var(--ink-3);font-size:13.5px;line-height:1.55;margin:0}.proj-tech{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.proj-tech .t{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3)}.proj-tech .t:before{content:"·";margin:0 6px 0 0;color:var(--ink-4)}.proj-tech .t:first-child:before{content:"";margin:0}.proj-meta{display:flex;gap:14px;margin-top:10px;padding-top:12px;border-top:1px dashed var(--line);font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-4);letter-spacing:.04em}.proj-meta .chev{margin-left:auto;color:var(--ink-3);transition:color .2s,transform .2s}.proj:hover .proj-meta .chev{color:var(--accent);transform:translate(2px)}.proj-empty{grid-column:1/-1;padding:60px 24px;text-align:center;color:var(--ink-4);font-family:Geist Mono,monospace;font-size:13px;border:1px dashed var(--line)}.cta-strip{border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:clamp(28px,5vw,64px);background:radial-gradient(ellipse at 80% 50%,rgba(var(--accent-glow),.12),transparent 70%),var(--bg-1);display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px}.cta-strip h3{font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:-.02em;margin:0;max-width:22ch}.footer{border-top:1px solid var(--line);padding:40px var(--pad) 32px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:end;font-family:Geist Mono,monospace;font-size:12px;color:var(--ink-3)}.footer .col-mid{display:flex;gap:24px;justify-content:center}.footer .col-r{display:flex;gap:16px;justify-content:end}.footer .col-r a:hover{color:var(--accent)}.footer .meta-line{color:var(--ink-4);margin-top:6px}.footer .old-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 10px 6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.04em;background:#ffffff04;transition:color .2s,border-color .2s,background .2s,transform .2s;width:-moz-fit-content;width:fit-content}.footer .old-link:hover{color:var(--accent);border-color:rgba(var(--accent-glow),.4);background:rgba(var(--accent-glow),.05);transform:translateY(-1px)}.footer .old-link .arrow{font-size:11px;transition:transform .2s}.footer .old-link:hover .arrow{transform:translate(2px,-2px)}.footer .old-link-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 2px #ffffff05}.footer .old-link:hover .old-link-dot{background:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-glow),.2)}.page-header{padding-top:clamp(80px,9vw,140px);padding-bottom:clamp(40px,5vw,64px)}.page-header.compact{padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(16px,2vw,24px)}.page-header h1{font-size:clamp(48px,8vw,112px);letter-spacing:-.04em;font-weight:600;margin:18px 0;line-height:.95}.page-header p{max-width:60ch;color:var(--ink-2);font-size:16px;line-height:1.6;margin:0}.filter-bar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;flex-wrap:wrap}.filter-bar .left{display:flex;gap:4px;flex-wrap:wrap}.filter-bar .right{margin-left:auto;display:flex;align-items:center;gap:12px}.chip{font-family:Geist Mono,monospace;font-size:12px;padding:6px 12px;border-radius:999px;color:var(--ink-2);border:1px solid transparent;transition:all .2s}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-glow),.06)}.chip .count{color:var(--ink-4);margin-left:6px;font-size:10px}.select{font-family:Geist Mono,monospace;font-size:12px;color:var(--ink-2);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px 28px 6px 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.proj-grid.compact{grid-template-columns:repeat(3,1fr)}.proj-grid.compact .proj-body{padding:16px 18px 20px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.svc{background:var(--bg-1);padding:28px 28px 24px;display:flex;flex-direction:column;position:relative;transition:background .25s}.svc:hover{background:var(--bg-2)}.svc-num{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.08em;margin-bottom:14px}.svc-icon{width:36px;height:36px;display:grid;place-items:center;margin-bottom:18px;color:var(--accent);border:1px solid rgba(var(--accent-glow),.3);border-radius:6px;background:rgba(var(--accent-glow),.06)}.svc h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 10px}.svc p{color:var(--ink-3);font-size:14px;line-height:1.6;margin:0 0 20px;max-width:44ch}.svc .learn{margin-top:auto;font-family:Geist Mono,monospace;font-size:12px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content}.svc:hover .learn{color:var(--accent)}.svc:hover .learn .arrow{transform:translate(4px)}.learn .arrow{transition:transform .2s}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.tier{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-1);padding:28px;display:flex;flex-direction:column;position:relative}.tier-name{font-family:Geist Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3)}.tier h3{font-size:28px;font-weight:500;letter-spacing:-.02em;margin:6px 0 0}.tier .price{margin-top:18px;display:baseline;font-family:Geist Mono,monospace}.tier .price .num{font-size:44px;color:var(--ink);letter-spacing:-.02em}.tier .price .per{color:var(--ink-3);font-size:12px;margin-left:8px}.tier ul{list-style:none;padding:0;margin:24px 0 0;flex-direction:column}.tier ul,.tier ul li{display:flex;gap:10px}.tier ul li{font-size:13.5px;align-items:flex-start;color:var(--ink-2);padding-bottom:10px;border-bottom:1px dashed var(--line)}.tier ul li:last-child{border-bottom:0}.tier ul li .mark{color:var(--accent);font-family:Geist Mono,monospace;font-size:12px;flex-shrink:0;line-height:1.5}.tier ul li.off,.tier ul li.off .mark{color:var(--ink-4)}.tier .btn{margin-top:24px;justify-content:center}.tier.featured{border-color:rgba(var(--accent-glow),.4);background:radial-gradient(ellipse at 50% 0,rgba(var(--accent-glow),.1),transparent 60%),var(--bg-1);box-shadow:0 0 0 1px rgba(var(--accent-glow),.2),0 30px 60px -30px rgba(var(--accent-glow),.3)}.tier-flag{position:absolute;top:-1px;right:28px;background:var(--accent);color:var(--accent-ink);font-size:10px;padding:4px 10px;letter-spacing:.12em;border-radius:0 0 4px 4px;text-transform:uppercase;font-weight:600}#loader,.tier-flag{font-family:Geist Mono,monospace}#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:grid;place-items:center;color:var(--ink);opacity:1;transition:opacity .5s ease,visibility .5s ease}#loader.is-out{opacity:0;pointer-events:none;visibility:hidden}#loader .loader-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}#loader .loader-glyph{width:52px;height:52px;display:grid;place-items:center;background:var(--accent);color:#0a0a0a;border-radius:8px;font-size:24px;font-weight:700;position:relative;box-shadow:0 0 0 1px rgba(var(--accent-glow),.4),0 0 36px rgba(var(--accent-glow),.35);animation:loader-pulse 2s ease-in-out infinite}#loader .loader-glyph:before{animation:loader-ring 2s ease-out infinite}#loader .loader-glyph:after,#loader .loader-glyph:before{content:"";position:absolute;inset:-10px;border:1px solid rgba(var(--accent-glow),.4);border-radius:12px;opacity:0}#loader .loader-glyph:after{animation:loader-ring 2s ease-out .6s infinite}@keyframes loader-pulse{0%,to{transform:scale(1)}50%{transform:scale(.96)}}@keyframes loader-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}#loader .loader-brand{font-family:Geist Mono,monospace;font-size:14px;letter-spacing:.06em;color:var(--ink);margin-top:4px}#loader .loader-brand .dot{color:var(--accent)}#loader .loader-bar{width:160px;height:2px;background:var(--line);border-radius:1px;overflow:hidden;position:relative;margin-top:8px}#loader .loader-bar span{display:block;position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:loader-bar 1.2s ease-in-out infinite}@keyframes loader-bar{0%{left:-40%}to{left:100%}}#loader .loader-meta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin-top:2px}.faq-item{border-top:1px solid var(--line);transition:background .25s ease}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item.open{background:linear-gradient(180deg,rgba(var(--accent-glow),.04),transparent 80%)}.faq-q{width:100%;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink);display:grid;grid-template-columns:44px 1fr auto;gap:18px;align-items:baseline;padding:22px 4px;font-family:inherit;transition:color .2s ease,padding .25s ease}.faq-item.open .faq-q,.faq-q:hover{color:var(--accent)}.faq-q:hover{padding-left:12px}.faq-num{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-4);font-weight:400;align-self:center}.faq-item.open .faq-num{color:var(--accent)}.faq-q-text{font-size:19px;font-weight:500;letter-spacing:-.015em;line-height:1.3}.faq-toggle{position:relative;width:18px;height:18px;flex-shrink:0;align-self:center;display:inline-block}.faq-toggle span{position:absolute;background:currentColor;border-radius:1px;transition:transform .25s ease,opacity .2s ease}.faq-toggle span:first-child{top:8px;left:0;right:0;height:2px}.faq-toggle span:nth-child(2){top:0;bottom:0;left:8px;width:2px}.faq-item.open .faq-toggle span:nth-child(2){transform:rotate(90deg);opacity:0}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a-inner{overflow:hidden;padding:0 4px 0 66px}.faq-item.open .faq-a-inner{padding-bottom:22px}.faq-a p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.7;max-width:70ch}@media(max-width:640px){.faq-q{grid-template-columns:32px 1fr auto;gap:12px;padding:18px 2px}.faq-q-text{font-size:16px}.faq-a-inner{padding-left:44px}}.faq{display:grid;gap:0}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:500;letter-spacing:-.01em;transition:color .2s}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:Geist Mono,monospace;color:var(--ink-3);font-size:22px;transition:transform .25s,color .25s}.faq details[open] summary:after{content:"−";color:var(--accent)}.faq summary:hover{color:var(--accent)}.faq p{margin:14px 0 4px;color:var(--ink-2);font-size:14.5px;line-height:1.65;max-width:70ch}.blog-search-bar{gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;flex-wrap:wrap}.blog-search-bar,.input-search{display:flex;align-items:center}.input-search{flex:1;gap:10px;font-family:Geist Mono,monospace;color:var(--ink-2);font-size:13px;min-width:240px}.input-search input{flex:1;background:transparent;border:0;color:var(--ink);font:inherit;outline:0;padding:6px 0}.input-search input::-moz-placeholder{color:var(--ink-4)}.input-search input::placeholder{color:var(--ink-4)}.blog-tags{display:flex;gap:4px;flex-wrap:wrap}.blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-1);margin-top:32px;margin-bottom:clamp(40px,6vw,64px);transition:background .25s;cursor:pointer}.blog-featured:hover{background:var(--bg-2)}.blog-featured .img{aspect-ratio:4/3;background:radial-gradient(circle at 30% 70%,rgba(var(--accent-glow),.22),transparent 60%),radial-gradient(circle at 80% 20%,rgba(94,234,212,.1),transparent 60%),linear-gradient(135deg,#0f1b14,#0a1116);border-right:1px solid var(--line);position:relative;overflow:hidden;isolation:isolate}.blog-featured .img:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(124,255,107,.08) 1px,transparent 0),linear-gradient(180deg,rgba(124,255,107,.08) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 40% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 40% 50%,#000 30%,transparent 75%)}.blog-featured .img-art{position:absolute;inset:0;display:grid;place-items:center;font-family:Geist Mono,monospace;z-index:1}.blog-featured .img-art .stack{display:flex;flex-direction:column;gap:6px;align-items:stretch;width:64%;font-size:11px;letter-spacing:.04em}.blog-featured .img-art .row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;background:#ffffff08;border:1px solid hsla(0,0%,100%,.06);color:var(--ink-3);transition:transform .4s ease}.blog-featured:hover .img-art .row{transform:translate(4px)}.blog-featured:hover .img-art .row:nth-child(2){transform:translate(-2px)}.blog-featured:hover .img-art .row:nth-child(3){transform:translate(6px)}.blog-featured .img-art .row .tag-name{color:var(--accent)}.blog-featured .img-art .row .attr{color:#ffb347}.blog-featured .img-art .row .str{color:var(--ink-2)}.blog-featured .img-art .row .glyph{width:16px;height:16px;display:grid;place-items:center;background:#7cff6b1f;border-radius:2px;color:var(--accent);font-size:9px;flex-shrink:0}.blog-featured .img-art .badge-stamp{top:18px;right:18px;letter-spacing:.16em;padding:4px 10px;color:var(--accent);border:1px solid rgba(var(--accent-glow),.3);border-radius:999px;background:rgba(var(--accent-glow),.06)}.blog-featured .img-art .badge-stamp,.blog-featured .img-art .corner{position:absolute;font-family:Geist Mono,monospace;font-size:10px;text-transform:uppercase}.blog-featured .img-art .corner{letter-spacing:.12em;color:var(--ink-4)}.blog-featured .img-art .corner.tl{top:16px;left:18px}.blog-featured .img-art .corner.bl{bottom:16px;left:18px;color:var(--ink-3)}.blog-featured .img:after{content:"";display:none}.blog-featured .body{padding:36px clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:16px}.blog-featured .meta{display:flex;gap:16px;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.blog-featured .meta .feat{color:var(--accent)}.blog-featured h3{font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0;max-width:22ch}.blog-featured p{color:var(--ink-3);font-size:14px;line-height:1.6;margin:0;max-width:50ch}.blog-list{margin-top:24px;border-top:1px solid var(--line)}.blog-row{display:grid;grid-template-columns:110px 1fr auto auto;gap:24px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .2s,background .2s}.blog-row:hover{padding-left:16px;background:linear-gradient(90deg,rgba(var(--accent-glow),.06),transparent 30%)}.blog-row .date{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.blog-row .title{font-size:18px;font-weight:500;letter-spacing:-.01em;display:flex;flex-direction:column;gap:4px}.blog-row .title .ex{font-size:13px;color:var(--ink-3);font-weight:400}.blog-row:hover .title{color:var(--accent)}.blog-row .tags{display:flex;gap:6px}.blog-row .read{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.06em}.newsletter{border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(var(--accent-glow),.05),transparent 60%),var(--bg-1);margin-top:48px;margin-bottom:clamp(48px,8vw,96px)}.newsletter h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0;max-width:28ch}.newsletter p{color:var(--ink-3);font-size:13.5px;margin:6px 0 0}.newsletter form{display:flex;gap:8px;align-items:center}.input{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 14px;color:var(--ink);font:inherit;font-size:14px;min-width:240px;outline:0;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-glow),.12)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}.form{gap:22px}.field,.form{display:flex;flex-direction:column}.field{gap:8px}.field label{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:10px 0;color:var(--ink);font:inherit;font-size:16px;outline:0;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--accent)}.field textarea{resize:vertical;min-height:140px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.checkbox{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ink-2);cursor:pointer}.checkbox input{accent-color:var(--accent)}.form-foot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px}.form-foot .hint{color:var(--ink-3);font-size:12px;font-family:Geist Mono,monospace}.aside-block{display:flex;flex-direction:column;gap:32px}.aside-block h4{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px}.list-link{gap:0;margin-top:0}.list-link a{padding:14px 0;border-top:1px solid var(--line);font-size:15px;transition:padding .15s,color .2s}.list-link a:last-child{border-bottom:1px solid var(--line)}.list-link a:hover{padding-left:8px}.list-link a .arrow{color:var(--ink-3);transition:transform .2s,color .2s}.list-link a:hover .arrow{transform:translate(4px,-4px)}.status-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;background:var(--bg-1)}.status-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px}.status-row .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4)}.status-row.live .dot{background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-glow),.2)}.status-row.live{color:var(--ink)}.status-row .when{margin-left:auto;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-3)}.nav-right{gap:14px}.lang-switcher,.nav-right{display:inline-flex;align-items:center}.lang-switcher{gap:0;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;padding:2px;background:#ffffff05}.lang-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--ink-3);padding:4px 7px;font:inherit;cursor:pointer;border-radius:2px;letter-spacing:.06em;transition:color .15s ease,background .15s ease}.lang-btn:hover{color:var(--ink)}.lang-btn.active{background:var(--accent);color:#0a0a0a;font-weight:600}.hamburger{display:none;position:relative;width:40px;height:40px;background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer;padding:0;flex-shrink:0;transition:border-color .2s ease,background .2s ease}.hamburger:hover{border-color:var(--line-strong);background:#ffffff08}.hamburger span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--ink);border-radius:1px;transition:transform .25s ease,opacity .2s ease,top .25s ease}.hamburger span:first-child{top:13px}.hamburger span:nth-child(2){top:19px}.hamburger span:nth-child(3){top:25px}.hamburger.open span:first-child{top:19px;transform:rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){top:19px;transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:60px 0 0;background:var(--bg);background-image:linear-gradient(180deg,rgba(124,255,107,.04),transparent 40%),radial-gradient(ellipse 80% 40% at 100% 0,rgba(var(--accent-glow),.1),transparent 60%);border-top:1px solid var(--line);z-index:9;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease;overflow-y:auto}.mobile-menu.open{opacity:1;pointer-events:auto;transform:none;height:100vh}.mm-inner{max-width:var(--maxw);margin:0 auto;padding:32px var(--pad) 48px;gap:32px;min-height:calc(100vh - 60px)}.mm-inner,.mm-links{display:flex;flex-direction:column}.mm-links{list-style:none;padding:0;margin:0}.mm-links li{border-bottom:1px solid var(--line);opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.mobile-menu.open .mm-links li{opacity:1;transform:none}.mm-links a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 4px;font-size:32px;font-weight:500;letter-spacing:-.02em;color:var(--ink);transition:color .2s ease,padding .25s ease}.mm-links a:hover,.mm-links a[aria-current=page]{padding-left:12px;color:var(--accent)}.mm-num{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;font-weight:400}.mm-arrow,.mm-num{color:var(--ink-4)}.mm-arrow{font-size:20px;transition:transform .2s ease,color .2s ease}.mm-links a:hover .mm-arrow,.mm-links a[aria-current=page] .mm-arrow{color:var(--accent);transform:translate(4px)}.mm-foot{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:16px}.mm-foot .btn{width:100%;justify-content:center;font-size:14px;padding:14px 18px}.mm-lang{display:flex;justify-content:center}.mm-lang .lang-switcher{display:inline-flex;font-size:13px;padding:4px}.mm-lang .lang-btn{padding:8px 14px;font-size:12px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}body[data-motion="0"] .reveal{opacity:1;transform:none;transition:none}@media(max-width:960px){.nav-links{display:none}.nav-inner{grid-template-columns:auto auto;justify-content:space-between}.cta-desktop,.lang-switcher{display:none}.hamburger{display:block}.nav-right{gap:8px}.about-grid,.blog-featured,.contact-grid,.cta-strip,.hero-grid,.newsletter,.pricing-grid,.proj-grid,.services-grid,.stack-grid{grid-template-columns:1fr!important}.proj-grid,.services-grid,.stack-grid{gap:1px}.blog-row{grid-template-columns:1fr;gap:6px}.blog-row .read,.blog-row .tags{display:none}.footer{grid-template-columns:1fr;gap:16px}.footer .col-mid,.footer .col-r{justify-content:start}.hero-right{transform:none}}.proj-detail{--accent:#7cff6b;padding-bottom:80px}.pd-bar{position:sticky;top:56px;z-index:5;background:color-mix(in oklab,var(--bg-0) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:14px clamp(20px,5vw,56px);display:flex;justify-content:space-between;font-family:Geist Mono,monospace;font-size:12px}.pd-back,.pd-bar{align-items:center}.pd-back{background:transparent;border:0;cursor:pointer;display:inline-flex;gap:8px;color:var(--ink-2);font:inherit;transition:color .2s}.pd-back:hover{color:var(--accent)}.pd-back .arrow{transition:transform .2s}.pd-back:hover .arrow{transform:translate(-3px)}.pd-id{color:var(--ink-4);letter-spacing:.08em}.pd-head{padding:64px 0 32px}.pd-head-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.pd-title{font-size:clamp(48px,8vw,96px);font-weight:500;letter-spacing:-.04em;line-height:.95;margin:0 0 24px}.pd-summary{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-2);max-width:60ch;margin:0 0 36px;text-wrap:pretty}.pd-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pd-facts>div{background:var(--bg-1);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.pd-facts span{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.pd-facts strong{font-size:15px;font-weight:500;color:var(--ink)}.pd-cover-wrap{margin-top:32px}.pd-cover{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.pd-cover .proj-cover{aspect-ratio:21/9;border-bottom:0}.pd-cover .proj-cover .pc-glyph{font-size:clamp(120px,18vw,260px)}.pd-metrics{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pd-metrics>div{background:var(--bg-0);padding:28px 24px;display:flex;flex-direction:column;gap:8px}.pd-metrics .k{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.pd-metrics .v{font-size:clamp(28px,3.5vw,44px);font-weight:500;letter-spacing:-.02em;color:var(--accent)}.pd-body{margin-top:64px;display:grid;grid-template-columns:minmax(0,2fr) 1fr;gap:56px;align-items:start}.pd-body-text p{font-size:17px;line-height:1.65;color:var(--ink-2);margin:0 0 18px;text-wrap:pretty}.pd-body-text p:first-child{font-size:19px;color:var(--ink)}.pd-side{display:flex;flex-direction:column;gap:32px;position:sticky;top:110px}.pd-side h4{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-weight:400;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.pd-side .badges{display:flex;flex-wrap:wrap;gap:6px}.pd-side .badge{font-family:Geist Mono,monospace;font-size:11px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2)}.list-link{display:flex;flex-direction:column}.list-link a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s,padding .2s}.list-link a:hover{color:var(--accent);padding-left:6px}.list-link .arrow{color:var(--ink-4);transition:transform .2s,color .2s}.list-link a:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.pd-next{margin-top:80px}.pd-next .section-label{display:inline-block;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:6px}.pd-next-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.pd-next-grid .proj{background:var(--bg-1)}@media(max-width:860px){.pd-head{padding:40px 0 24px}.pd-facts,.pd-metrics,.pd-next-grid{grid-template-columns:repeat(2,1fr)}.pd-body{grid-template-columns:1fr;gap:32px}.pd-side{position:static}}.dd{position:relative;font-family:Geist Mono,monospace;font-size:12px;display:inline-block}.dd.dd-block{display:block;width:100%}.dd-trigger{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,background .2s;min-width:180px;text-align:left;width:100%}.dd-trigger:hover{border-color:var(--ink-4)}.dd.open .dd-trigger{border-color:var(--accent);background:var(--bg-2)}.dd-value{flex:1;display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-label{color:var(--ink-4)}.dd-caret{font-size:10px;color:var(--ink-3);transition:transform .2s ease,color .2s;line-height:1}.dd.open .dd-caret{transform:rotate(180deg);color:var(--accent)}.dd-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:100%;margin:0;padding:6px;list-style:none;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 18px 40px -12px #0009,0 0 0 1px #ffffff05;z-index:50;outline:none;animation:ddIn .12s ease-out}.dd.dd-block .dd-menu{left:0;right:0}@keyframes ddIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dd-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:calc(var(--radius) - 4px);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.dd-item.active{background:var(--bg-2);color:var(--ink)}.dd-item.selected{color:var(--accent)}.dd-item.selected.active{background:color-mix(in oklab,var(--accent) 12%,var(--bg-2))}.dd-check{font-size:11px}.blog-detail{padding-bottom:96px}.bd-article{max-width:760px;margin:0 auto;padding-top:64px;padding-bottom:48px}.bd-head{margin-bottom:48px}.bd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-bottom:28px;color:var(--ink-3)}.bd-meta .section-label{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em}.bd-tags{display:flex;gap:6px;flex-wrap:wrap}.bd-title{font-size:clamp(40px,6vw,72px);letter-spacing:-.035em;line-height:1.05;font-weight:500;margin:0 0 24px;text-wrap:balance;color:var(--ink)}.bd-lead{font-size:clamp(18px,1.8vw,22px);line-height:1.55;margin:0;max-width:60ch}.bd-body p,.bd-lead{color:var(--ink-2);text-wrap:pretty}.bd-body p{font-size:17px;line-height:1.75;margin:0 0 28px}.bd-body p:first-child:first-letter{font-size:3em;float:left;line-height:.9;padding:4px 12px 0 0;color:var(--accent);font-weight:500}.bd-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);flex-wrap:wrap}.bd-author{display:inline-flex;align-items:center;gap:14px;color:var(--ink-2);font-size:14px}.bd-author strong{color:var(--ink);font-weight:500}.bd-author .mono{font-size:12px;color:var(--ink-4)}.bd-author .mono,.bd-avatar{font-family:Geist Mono,monospace}.bd-avatar{width:36px;height:36px;display:grid;place-items:center;background:var(--accent);color:#0a0a0a;border-radius:4px;font-weight:700;font-size:14px}.bd-related{border-top:1px solid var(--line);margin-top:24px}.bd-related .blog-row{padding:22px 4px}.bd-related .blog-row:last-child{border-bottom:0}.load-more-count{display:inline-block;font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--ink-4);border:1px solid var(--line);padding:1px 6px;border-radius:999px;margin:0 4px}.btn-ghost:hover .load-more-count{color:var(--accent);border-color:rgba(var(--accent-glow),.3)}.pagination{margin:56px 0 16px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-family:Geist Mono,monospace;font-size:12px}.pg-pages{display:flex;gap:4px;list-style:none;margin:0;padding:0}.pg-btn,.pg-num{background:transparent;border:1px solid var(--line);color:var(--ink-2);padding:8px 14px;border-radius:var(--radius);font:inherit;cursor:pointer;transition:color .2s,border-color .2s,background .2s;display:inline-flex;align-items:center;gap:8px}.pg-num{min-width:40px;justify-content:center;padding:8px 10px}.pg-btn:hover:not(:disabled),.pg-num:hover{color:var(--ink);border-color:var(--line-strong)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-num.active{background:var(--accent);color:#0a0a0a;border-color:var(--accent);font-weight:600}.pg-btn .arrow{transition:transform .2s}.pg-btn:hover:not(:disabled) .arrow{transform:translate(2px)}.pg-btn:first-child:hover:not(:disabled) .arrow{transform:translate(-2px)}@media(max-width:640px){.pg-btn{padding:8px 10px}.pg-num{min-width:34px;padding:6px 8px}}@media(max-width:720px){.bd-foot{flex-direction:column;align-items:flex-start}.bd-body p:first-child:first-letter{font-size:2.4em;padding:2px 10px 0 0}}
