@charset "UTF-8";.skip-link{position:fixed;left:1rem;top:1rem;z-index:200;padding:.6rem 1rem;background:var(--fg);color:var(--bg);text-decoration:none;font-size:12px;transform:translateY(-150%);transition:transform .18s ease}.skip-link:focus-visible{transform:translateY(0)}.container{max-width:1280px;margin:0 auto;padding:0 32px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);font-weight:500}.num{color:var(--fg-3);font-variant-numeric:tabular-nums}.serif{font-family:var(--font-serif)}.it{font-style:italic;color:var(--fg-2)}.accent-text{color:var(--accent)}.top-nav{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 75%,transparent);border-bottom:1px solid var(--rule);transition:border-color .3s}.nav-inner{max-width:1280px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:13px;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--fg)}.logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block;animation:pulse 2.4s ease-in-out infinite}.logo-role{color:var(--fg-3);margin-left:4px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.nav-links{display:flex;gap:28px;list-style:none;font-size:12px}.nav-links a{color:var(--fg-2);text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--fg)}.nav-num{color:var(--fg-3);font-size:10px;margin-right:6px}.nav-right{display:flex;align-items:center;gap:16px}.available-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--rule-2);border-radius:999px;font-size:11px;color:var(--fg-2)}.avail-dot{width:6px;height:6px;background:#4ade80;border-radius:50%;flex-shrink:0}[data-theme=light] .avail-dot{background:#16a34a}.theme-toggle{background:transparent;border:1px solid var(--rule-2);color:var(--fg);width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hamburger{display:none;width:40px;height:40px;background:transparent;border:1px solid var(--rule-2);border-radius:4px;cursor:pointer;position:relative;padding:0;transition:border-color .2s;flex-shrink:0}.hamburger:hover{border-color:var(--accent)}.hamburger span{position:absolute;left:11px;width:18px;height:1.5px;background:var(--fg);transition:transform .4s cubic-bezier(.65,0,.35,1),top .3s ease,opacity .2s ease}.hamburger span:nth-child(1){top:14px}.hamburger span:nth-child(2){top:19px}.hamburger span:nth-child(3){top:24px}.hamburger.open span:nth-child(1){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:0;z-index:90;background:var(--bg);padding:88px 32px 40px;transform:translateY(-100%);transition:transform .6s cubic-bezier(.76,0,.24,1);overflow-y:auto;display:flex;flex-direction:column}.mobile-menu.open{transform:translateY(0)}.mobile-menu ul{list-style:none;border-top:1px solid var(--rule)}.mobile-menu li{border-bottom:1px solid var(--rule);overflow:hidden}.mobile-menu li a{display:flex;align-items:baseline;gap:16px;padding:24px 4px;color:var(--fg);text-decoration:none;font-family:var(--font-serif);font-size:36px;letter-spacing:-.01em;transform:translateY(40px);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease,color .2s}.mobile-menu.open li a{transform:translateY(0);opacity:1}.mobile-menu.open li:nth-child(1) a{transition-delay:.15s}.mobile-menu.open li:nth-child(2) a{transition-delay:.2s}.mobile-menu.open li:nth-child(3) a{transition-delay:.25s}.mobile-menu.open li:nth-child(4) a{transition-delay:.3s}.mobile-menu.open li:nth-child(5) a{transition-delay:.35s}.mobile-menu.open li:nth-child(6) a{transition-delay:.4s}.mobile-menu li a:hover{color:var(--accent)}.mobile-menu li a .nav-num{font-family:var(--font-mono);font-size:12px;color:var(--fg-2);letter-spacing:0}.mm-foot{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--rule);opacity:0;transform:translateY(20px);transition:opacity .5s ease .5s,transform .6s ease .5s}.mobile-menu.open .mm-foot{opacity:1;transform:translateY(0)}.mm-foot a{color:var(--fg-2);text-decoration:none;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.mm-foot a:hover{color:var(--accent)}body.menu-open{overflow:hidden}section{padding:120px 0;position:relative}section#about,section#projects,section#stack,section#experience,section#hire-me,section#testimonials{scroll-margin-top:60px}section#contact{scroll-margin-top:60px}.section-ph{padding:60px 0;min-height:300px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:64px;border-top:1px solid var(--rule);padding-top:24px;margin-bottom:64px}.sh-left{display:flex;align-items:baseline;gap:12px}.sh-left h2{font-family:var(--font-serif);font-size:48px;font-weight:400;line-height:1;letter-spacing:-.01em}.sh-left h2 .it{font-style:italic;color:var(--fg-2)}.sh-desc{color:var(--fg-2);font-size:14px;max-width:480px;line-height:1.6;align-self:center}.hero{padding:180px 0 100px}.hero-grid{display:grid;gap:56px}.hero-top{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;border-top:1px solid var(--rule);padding-top:24px}h1.display{font-family:var(--font-serif);font-size:clamp(72px,11vw,168px);line-height:.88;letter-spacing:-.025em;font-weight:400;width:100%}h1.display .it{font-style:italic;color:var(--fg-2)}h1.display .accent-text{color:var(--accent)}h1.display .line{display:block}h1.display .line.indent{padding-left:12vw}h1.display .line.right{text-align:right}.hero-sub-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;border-top:1px solid var(--rule);padding-top:32px}.hero-left{display:flex;flex-direction:column;gap:24px}.hero-sub{color:var(--fg-2);font-size:15px;line-height:1.6;margin-top:0}.hero-sub strong{color:var(--fg);font-weight:500}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--rule-2);background:transparent;color:var(--fg);font-family:inherit;font-size:12px;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s,transform .2s,background .2s;border-radius:4px}.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);transform:translateY(-1px)}.arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(2px,-2px)}.hero-trust{display:flex;gap:32px;flex-wrap:wrap;padding-top:4px}.ti{display:flex;flex-direction:column;gap:4px}.ti-v{font-family:var(--font-serif);font-size:32px;line-height:1;letter-spacing:-.01em}.ti-l{font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.1em}.hero-meta{display:flex;flex-direction:column;gap:0;padding-bottom:8px}.meta-row{display:flex;gap:16px;align-items:baseline;border-top:1px solid var(--rule);padding-top:12px;padding-bottom:12px}.meta-row:last-child{border-bottom:1px solid var(--rule)}.meta-row .k{color:var(--fg-2);font-size:11px;min-width:80px;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0}.meta-row .v{color:var(--fg);font-size:13px}.ticker{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:20px 0;margin-top:64px}.ticker-track{display:flex;gap:48px;animation:ticker-scroll 40s linear infinite;white-space:nowrap;width:max-content}.ticker-track span{font-family:var(--font-serif);font-size:28px;color:var(--fg-2);font-style:italic}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px}.about-col p{font-size:14px;line-height:1.7;color:var(--fg)}.about-col p+p{margin-top:16px}.about-col.muted p{color:var(--fg-2)}.about-stats{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.stat-item{padding:24px 24px 24px 0;border-right:1px solid var(--rule)}.stat-item:last-child{border-right:none}.stat-num{font-family:var(--font-serif);font-size:56px;line-height:1;letter-spacing:-.02em}.stat-lbl{margin-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2)}.work-list{display:flex;flex-direction:column}.work-item{display:grid;grid-template-columns:60px 1fr 2fr 1fr 80px;gap:24px;padding:28px 0;border-top:1px solid var(--rule);align-items:start;cursor:pointer;transition:padding .3s ease}.work-item:last-child{border-bottom:1px solid var(--rule)}.work-item:hover{padding-left:16px;padding-right:16px}.work-item:hover .work-title{color:var(--accent)}.work-item:hover .work-arrow{transform:translate(4px,-4px);color:var(--accent)}.work-num{color:var(--fg-3);font-size:11px;padding-top:6px}.work-title{font-family:var(--font-serif);font-size:32px;line-height:1.05;letter-spacing:-.01em;transition:color .2s}.work-sub{font-size:13px;color:var(--fg-2);font-family:var(--font-mono);font-style:normal}.work-desc{color:var(--fg-2);font-size:13px;line-height:1.6}.work-tags{display:flex;flex-wrap:wrap;gap:6px;align-self:start;padding-top:4px}.work-tags span{font-size:10px;padding:3px 8px;border:1px solid var(--rule-2);border-radius:3px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em}.work-arrow{text-align:right;font-size:18px;transition:transform .3s,color .2s;padding-top:4px}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.stack-cell{background:var(--bg);padding:28px 24px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.stack-cell:hover{background:var(--bg-2)}.stack-name{font-family:var(--font-serif);font-size:28px;line-height:1;letter-spacing:-.01em}.stack-cat{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);margin-bottom:8px}.stack-meta{font-size:11px;color:var(--fg-2);display:flex;justify-content:space-between;margin-top:8px}.stack-bar{height:1px;background:var(--rule-2);position:relative;overflow:hidden;margin-top:24px}.stack-bar:after{content:"";position:absolute;top:0;left:0;height:100%;background:var(--accent);width:var(--lvl, 80%)}.timeline{border-top:1px solid var(--rule)}.tl-row{display:grid;grid-template-columns:140px 1fr 1fr 100px;gap:32px;padding:32px 0;border-bottom:1px solid var(--rule);align-items:start}.tl-period{font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em;padding-top:4px}.tl-role{font-family:var(--font-serif);font-size:24px;line-height:1.1;letter-spacing:-.01em}.tl-company{font-size:12px;color:var(--fg-2);margin-top:6px}.tl-desc{font-size:13px;color:var(--fg-2);line-height:1.6}.tl-loc{font-size:11px;color:var(--fg-2);text-align:right;text-transform:uppercase;letter-spacing:.08em;padding-top:4px}.hire-grid{display:grid;grid-template-columns:1.4fr 1fr;border:1px solid var(--rule)}.hire-left{padding:40px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:20px}.hire-left h3{font-family:var(--font-serif);font-size:44px;line-height:1;letter-spacing:-.02em;font-weight:400}.hire-left h3 .it{font-style:italic;color:var(--fg-2)}.hire-left h3 .accent-text{color:var(--accent)}.hire-left p{color:var(--fg-2);font-size:14px;line-height:1.6}.hire-services{display:flex;flex-direction:column;margin-top:8px}.svc{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:14px 0;border-top:1px solid var(--rule)}.svc:last-child{border-bottom:1px solid var(--rule)}.ix{font-size:11px;color:var(--fg-3)}.nm{font-family:var(--font-serif);font-size:22px;line-height:1.1}.pr{font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em}.hire-right{background:var(--fg);color:var(--bg);padding:40px;display:flex;flex-direction:column;gap:24px;text-decoration:none;transition:background .3s;position:relative;overflow:hidden}.hire-right:hover{background:var(--accent);color:var(--accent-fg)}.hire-pre{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.65;display:flex;justify-content:space-between}.hire-big{font-family:var(--font-serif);font-size:52px;line-height:.95;letter-spacing:-.02em;margin-top:auto}.hire-big .it{font-style:italic;opacity:.7}.hire-sub{font-size:13px;opacity:.85;line-height:1.55}.hire-arrow{align-self:flex-end;transition:transform .3s;line-height:0}.hire-arrow svg{display:block;width:60px;height:60px}.hire-right:hover .hire-arrow{transform:translate(8px,-8px)}.hire-reply{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.75;padding-top:16px;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent)}.pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.hire-right:hover .pulse{background:var(--accent-fg)}.process-timeline{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}.process-step{padding:28px 24px 28px 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:10px}.process-step:last-child{border-right:none}.px{font-size:11px;color:var(--fg-3);letter-spacing:.08em}.pn{font-family:var(--font-serif);font-size:24px;line-height:1;letter-spacing:-.01em}.pd{font-size:12px;color:var(--fg-2);line-height:1.55}.pt{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-top:auto}.faq{margin-top:56px;border-top:1px solid var(--rule)}.faq details{border-bottom:1px solid var(--rule)}.faq summary{display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--font-serif);font-size:24px;line-height:1.2;transition:color .2s}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--accent)}.plus{font-family:var(--font-mono);font-size:20px;color:var(--fg-2);transition:transform .3s,color .2s;flex-shrink:0}.faq details[open] summary .plus{transform:rotate(45deg);color:var(--accent)}.answer{padding:0 60px 28px 0;color:var(--fg-2);font-size:14px;line-height:1.7;animation:fade-up .4s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial{border:1px solid var(--rule);padding:28px;display:flex;flex-direction:column;gap:20px;background:var(--bg);transition:border-color .2s,transform .3s}.testimonial:hover{border-color:var(--rule-2);transform:translateY(-2px)}.quote{font-family:var(--font-serif);font-size:22px;line-height:1.3;letter-spacing:-.005em;flex:1}.quote:before{content:"\201c";color:var(--accent);margin-right:2px}.quote:after{content:"\201d";color:var(--accent)}.t-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--rule)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--rule-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:var(--fg);flex-shrink:0}.a-name{font-size:12px;font-weight:500}.a-role{font-size:11px;color:var(--fg-2);margin-top:2px}.contact-section{border-top:1px solid var(--rule);padding-top:80px;padding-bottom:80px}.contact-heading{font-family:var(--font-serif);font-size:clamp(60px,8vw,120px);line-height:.95;letter-spacing:-.02em;font-weight:400;max-width:1100px}.contact-heading .it{font-style:italic;color:var(--fg-2)}.contact-heading a{color:var(--accent);text-decoration:none;border-bottom:2px solid var(--accent);transition:opacity .2s}.contact-heading a:hover{opacity:.7}.contact-meta{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--rule);padding-top:32px}.contact-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);margin-bottom:8px}.contact-item a{color:var(--fg);text-decoration:none;font-size:13px;transition:color .2s}.contact-item a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--rule);padding:32px 0}.site-footer .container{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em}.back-top{color:var(--fg-2);text-decoration:none;transition:color .2s;cursor:pointer}.back-top:hover{color:var(--fg)}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:50;width:44px;height:44px;border:1px solid var(--rule-2);background:var(--bg);color:var(--fg);border-radius:4px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,transform .2s}.back-to-top:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-stagger.in>*{opacity:1;transform:translateY(0)}.reveal-stagger.in>*:nth-child(1){transition-delay:0ms}.reveal-stagger.in>*:nth-child(2){transition-delay:60ms}.reveal-stagger.in>*:nth-child(3){transition-delay:.12s}.reveal-stagger.in>*:nth-child(4){transition-delay:.18s}.reveal-stagger.in>*:nth-child(5){transition-delay:.24s}.reveal-stagger.in>*:nth-child(6){transition-delay:.3s}.reveal-stagger.in>*:nth-child(7){transition-delay:.36s}.reveal-stagger.in>*:nth-child(8){transition-delay:.42s}@media(max-width:1024px){.container{padding:0 24px}.nav-inner{padding:14px 24px}.stack-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){section{padding:80px 0}.hero{padding:130px 0 60px}.hero-top{grid-template-columns:1fr;gap:12px}.hero-top .label:last-child{text-align:left}.hero-sub-wrap{grid-template-columns:1fr;gap:32px;padding-top:28px}h1.display .line.indent{padding-left:0}h1.display .line.right{text-align:left}.ti-v{font-size:26px}.hero-meta{padding-bottom:0}.hero-cta{flex-wrap:wrap}.about-grid{grid-template-columns:1fr;gap:28px}.about-stats{grid-template-columns:1fr 1fr;margin-top:56px}.stat-item{padding:20px 16px 20px 0}.stat-num{font-size:40px}.stat-item:nth-child(2n){border-right:none}.stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--rule)}.stack-grid{grid-template-columns:1fr 1fr}.stack-cell{min-height:150px;padding:22px 18px}.stack-name{font-size:22px}.hire-grid{grid-template-columns:1fr}.hire-left{border-right:none;border-bottom:1px solid var(--rule);padding:28px}.hire-left h3{font-size:30px}.hire-right{padding:28px}.hire-big{font-size:38px}.process-timeline{grid-template-columns:1fr 1fr}.process-step:nth-child(2n){border-right:none}.process-step:nth-child(1),.process-step:nth-child(2){border-bottom:1px solid var(--rule)}.faq summary{font-size:18px;padding:20px 0}.answer{padding-right:24px;font-size:13px}.work-item{grid-template-columns:1fr auto;gap:12px 16px;padding:24px 0}.work-item:hover{padding-left:8px;padding-right:8px}.work-num{grid-column:1/2;padding-top:0;font-size:10px}.work-arrow{grid-column:2/3;grid-row:1/2;padding-top:0}.work-title{grid-column:1/3;font-size:26px}.work-desc{grid-column:1/3;font-size:12px}.work-tags{grid-column:1/3}.tl-row{grid-template-columns:1fr;gap:6px;padding:24px 0}.tl-loc{text-align:left}.tl-role{font-size:20px}.testimonials{grid-template-columns:1fr}.testimonial{padding:24px}.quote{font-size:18px}.contact-meta{grid-template-columns:1fr 1fr;gap:24px}.section-head{grid-template-columns:1fr;gap:12px;padding-top:20px;margin-bottom:40px}.sh-left h2{font-size:36px}.contact-heading{font-size:48px}.contact-section{padding-top:60px;padding-bottom:60px}.nav-links,.available-pill{display:none}.hamburger{display:flex;align-items:center;justify-content:center}.ticker-track span{font-size:22px}h1.display{font-size:clamp(48px,12vw,72px)}.site-footer .container{flex-direction:column;gap:8px;align-items:flex-start}}@media(max-width:520px){.container{padding:0 18px}.nav-inner{padding:12px 18px}section{padding:64px 0}.hero{padding:110px 0 40px}.about-stats{grid-template-columns:1fr}.stat-item{border-right:none;border-bottom:1px solid var(--rule)}.stat-item:last-child{border-bottom:none}.stack-grid{grid-template-columns:1fr}.contact-meta{grid-template-columns:1fr;gap:18px}.sh-left h2{font-size:28px}.meta-row .k{min-width:70px;font-size:10px}.meta-row .v{font-size:12px}.hero-cta{flex-direction:column;align-items:stretch}.btn{justify-content:center}.mobile-menu{padding:80px 24px 32px}.mobile-menu li a{font-size:28px;padding:20px 4px}}:root{--bg: #0a0a0a;--bg-2: #111111;--fg: #e8e6e1;--fg-2: #8a8780;--fg-3: #4a4842;--rule: #1f1d18;--rule-2: #2a2822;--accent: oklch(.85 .18 110);--accent-fg: #0a0a0a;--grid-line: rgba(255, 255, 255, .025);--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-serif: "Instrument Serif", serif}[data-theme=light]{--bg: #f5f3ee;--bg-2: #efece5;--fg: #18171a;--fg-2: #6b6862;--fg-3: #b8b5ad;--rule: #d9d6cd;--rule-2: #c8c5bb;--accent: oklch(.55 .18 110);--accent-fg: #f5f3ee;--grid-line: rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;transition:background .4s ease,color .4s ease;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:80px 80px;min-height:100vh}@supports (height: 100svh){body{min-height:100svh}}::selection{background:var(--accent);color:var(--accent-fg)}img{display:block;max-width:100%}button,input,textarea{font:inherit}a{color:inherit;-webkit-tap-highlight-color:transparent}button{-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
