.cursor-grid{position:relative;width:100%;height:100%;overflow:hidden}.cursor-grid__canvas{display:block;width:100%;height:100%}:root{--bg: #0A0A0A;--bg-panel: #0F0F0F;--fg: #F5F4F0;--muted: #8A8A85;--muted2: #C9C9C4;--accent: oklch(.72 .19 240);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14)}html{scroll-behavior:smooth;scroll-padding-top:88px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Space Grotesk,sans-serif;width:100%;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--fg)}pre{margin:0;font-family:JetBrains Mono,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;background:#0a0a0ab8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-progress{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform-origin:left center;transform:scaleX(0);pointer-events:none}.logo{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;letter-spacing:.02em;color:inherit;text-decoration:none}.logo:hover,.logo:focus-visible{color:inherit}.logo:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.accent{color:var(--accent)}@keyframes logo-cursor-blink{0%,40%{opacity:1}50%,90%{opacity:0}to{opacity:1}}.logo-cursor{display:inline-block;animation:logo-cursor-blink .55s step-end 3}.nav-links{display:flex;align-items:center;gap:40px}.nav-links a{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted2);letter-spacing:.02em;position:relative}.nav-links a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.16,1,.3,1)}.nav-links a.is-active:not(.nav-cta){color:var(--fg)}.nav-links a.is-active:not(.nav-cta):after{transform:scaleX(1)}.nav-cta{display:inline-block;color:var(--bg)!important;background:var(--accent);padding:10px 18px;border-radius:2px;transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s ease}.nav-cta:hover{color:var(--bg)!important;filter:brightness(1.08)}.magnet{display:inline-block;transition:transform .18s cubic-bezier(.16,1,.3,1);will-change:transform}.nav-cmdk{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-strong);color:var(--muted2);font-family:JetBrains Mono,monospace;font-size:12px;padding:7px 10px;border-radius:2px;cursor:pointer}.nav-cmdk:hover,.nav-cmdk:focus-visible{color:var(--fg);border-color:var(--accent);outline:none}.nav-cmdk-kbd{font-family:inherit;font-size:11px;padding:1px 5px;border:1px solid var(--border-strong);border-radius:2px}.nav-cmdk-label{display:none}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:200px 48px 160px;overflow:hidden}.hero-cursor-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-code{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;opacity:.1;pointer-events:none;filter:blur(.4px);font-size:15px;line-height:1.7;color:var(--fg);transform:translate(8%)}.hero-content{position:relative;z-index:2;max-width:1000px;pointer-events:none}.eyebrow{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:28px}.hero h1{font-size:clamp(40px,6vw,84px);line-height:1.04;font-weight:700;margin:0 0 28px;letter-spacing:-.02em}.hero-sub{font-size:19px;line-height:1.6;color:var(--muted);max-width:620px;margin:0}.decrypted{display:inline}.decrypted-encrypted{color:var(--accent);opacity:.5}.hero-terminal{position:relative;z-index:2;margin-top:40px;max-width:620px;width:100%;border:1px solid var(--border-strong);border-radius:6px;background:#0f0f0fd1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;cursor:text}.hero-terminal:focus-within{border-color:var(--accent)}.hero-terminal-chrome{display:none;align-items:center;gap:8px;padding:10px 14px 0}.hero-terminal.is-open .hero-terminal-chrome{display:flex}.hero-terminal-log{padding:10px 14px 0;font-size:12.5px;line-height:1.7;color:var(--muted2);white-space:pre-wrap;word-break:break-word}.term-in{color:var(--muted)}.term-out{color:var(--fg)}.term-err{color:var(--accent)}.hero-terminal-row{display:flex;align-items:center;gap:10px;padding:12px 14px}.hero-terminal-prompt{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--accent);white-space:nowrap}.hero-terminal-input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:12.5px;padding:0}.hero-terminal-input::placeholder{color:var(--muted);opacity:.7}.hero-terminal-hint{display:none;margin:0;padding:0 14px 12px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.hero-terminal.is-open .hero-terminal-hint{display:block}.section{padding:120px 48px;max-width:1240px;margin:0 auto;border-top:1px solid var(--border);opacity:0;transform:translate(90px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.section.is-visible{opacity:1;transform:translate(0)}.project .kicker,.project>h2,.project-grid>div{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.project .kicker,.project>h2{transform:translateY(14px)}.project.is-visible .kicker{opacity:1;transform:translateY(0);transition-delay:.05s}.project.is-visible>h2{opacity:1;transform:translateY(0);transition-delay:.15s}.project.is-visible .project-grid>div:nth-child(1){opacity:1;transition-delay:.3s}.project.is-visible .project-grid>div:nth-child(2){opacity:1;transition-delay:.45s}.experience .timeline-row{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.experience.is-visible .timeline-row{opacity:1;transform:translateY(0)}.experience.is-visible .timeline-row:nth-child(1){transition-delay:.05s}.experience.is-visible .timeline-row:nth-child(2){transition-delay:.2s}.experience.is-visible .timeline-row:nth-child(3){transition-delay:.35s}.skills .skill-cell{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.skills.is-visible .skill-cell{opacity:1;transform:translateY(0)}.skills.is-visible .skill-cell:nth-child(1){transition-delay:.05s}.skills.is-visible .skill-cell:nth-child(2){transition-delay:.1s}.skills.is-visible .skill-cell:nth-child(3){transition-delay:.15s}.skills.is-visible .skill-cell:nth-child(4){transition-delay:.2s}.skills.is-visible .skill-cell:nth-child(5){transition-delay:.25s}.skills.is-visible .skill-cell:nth-child(6){transition-delay:.3s}.skills.is-visible .skill-cell:nth-child(7){transition-delay:.35s}.cta-links a{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.cta.is-visible .cta-links a{opacity:1;transform:translateY(0)}.cta.is-visible .cta-links a:nth-child(1){transition-delay:.1s}.cta.is-visible .cta-links a:nth-child(2){transition-delay:.25s}.about .kicker,.about .about-lead,.about .about-yaml,.about .about-sub{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.about.is-visible .kicker,.about.is-visible .about-lead,.about.is-visible .about-yaml,.about.is-visible .about-sub{opacity:1;transform:translateY(0)}.about.is-visible .kicker{transition-delay:.05s}.about.is-visible .about-lead{transition-delay:.15s}.about.is-visible .about-yaml{transition-delay:.28s}.about.is-visible .about-sub{transition-delay:.4s}.kicker{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}.section h2{font-size:clamp(32px,4.5vw,56px);font-weight:700;margin:0 0 32px;letter-spacing:-.01em}.section p{font-size:18px;line-height:1.75;color:var(--muted2);margin:0 0 24px}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}.project-02 .project-grid{grid-template-columns:.9fr 1.1fr}.code-panel--reorder{order:2}.text-reorder{order:1}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}.tags span{font-family:JetBrains Mono,monospace;font-size:12px;padding:7px 12px;border:1px solid var(--border-strong);border-radius:2px;color:var(--muted2);transition:border-color .2s ease,color .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease}.tags span:hover,body[data-spotlight=inndocs] .tags span[data-project=inndocs],body[data-spotlight=arena] .tags span[data-project=arena]{border-color:var(--accent);color:var(--fg)}body[data-spotlight=inndocs] .tags span:not([data-project=inndocs]),body[data-spotlight=arena] .tags span:not([data-project=arena]){opacity:.35}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{border:1px solid var(--border);background:#ffffff08;padding:22px 18px;border-radius:2px;transition:border-color .2s ease,transform .2s cubic-bezier(.16,1,.3,1),background .2s ease}.metric:hover{border-color:var(--border-strong);background:#ffffff0d}.metric-value{font-size:26px;font-weight:700;color:var(--accent);margin-bottom:8px}.metric-value--sm{font-size:20px}.metric-label{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);line-height:1.4}.code-panel{border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;background:var(--bg-panel);position:sticky;top:120px}.code-titlebar{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.code-copy{margin-left:auto;background:transparent;border:1px solid var(--border-strong);color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 8px;border-radius:2px;cursor:pointer}.code-copy:hover,.code-copy:focus-visible{color:var(--fg);border-color:var(--accent);outline:none}.dot{width:9px;height:9px;border-radius:50%;background:#ffffff26;display:inline-block}.filename{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);margin-left:8px}.code-panel pre{padding:22px 18px;font-size:12.5px;line-height:1.75;color:var(--muted2);overflow-x:auto;min-height:16em}.tok-kw{color:var(--accent)}.tok-string{color:#f5f4f0}.tok-comment{color:var(--muted);font-style:italic}.tok-deco{color:var(--accent);opacity:.8}@keyframes code-caret{0%,45%{opacity:1}50%,to{opacity:0}}.code-panel--typing pre:after{content:"▋";color:var(--accent);margin-left:2px;animation:code-caret 1s step-end infinite}.mode-blurb{min-height:5.2em}.mode-toggle{display:inline-flex;margin:4px 0 28px;border:1px solid var(--border-strong);border-radius:2px;overflow:hidden}.mode-toggle-btn{background:transparent;border:0;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.06em;padding:8px 16px;cursor:pointer}.mode-toggle-btn+.mode-toggle-btn{border-left:1px solid var(--border-strong)}.mode-toggle-btn:hover,.mode-toggle-btn:focus-visible{color:var(--fg);outline:none}.mode-toggle-btn.is-active{background:var(--accent);color:var(--bg)}.experience{max-width:1000px}.experience h2{font-size:clamp(28px,3.5vw,42px);margin-bottom:56px}.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:200px 1fr;gap:32px;width:100%;padding:28px 16px;margin:0 -16px;border:0;border-top:1px solid var(--border);border-left:2px solid transparent;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}.experience.is-visible .timeline-row:hover,.experience.is-visible .timeline-row.is-open{border-left-color:var(--accent);background:#ffffff06}.timeline-row:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.timeline-row--last{border-bottom:1px solid var(--border)}.timeline-date{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted)}.timeline-mark{color:var(--accent);font-size:14px;line-height:1.2}.timeline-role{font-size:20px;font-weight:600;margin-bottom:6px}.timeline-org{color:var(--muted);font-weight:400}.timeline-desc{font-size:16px;line-height:1.6;color:var(--muted)}.timeline-more{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--muted2)}.skills h2{font-size:clamp(28px,3.5vw,42px);margin-bottom:48px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.skill-cell{background:var(--bg-panel);padding:26px;position:relative}.skills.is-visible .skill-cell{transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background .2s ease}.skills.is-visible .skill-cell:hover,.skills.is-visible .skill-cell:focus-within{background:#141414;box-shadow:inset 0 0 0 1px var(--accent)}.skill-used-in{display:inline-block;margin-top:14px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--accent);opacity:.7;transition:opacity .2s ease,color .2s ease}.skill-cell:hover .skill-used-in,.skill-cell:focus-within .skill-used-in{opacity:1;color:var(--fg)}.skill-used-in:focus-visible{opacity:1;color:var(--fg);outline:1px solid var(--accent);outline-offset:3px}.skill-cell--wide{grid-column:span 3}.skill-key{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent);margin-bottom:14px}.skill-list{font-family:JetBrains Mono,monospace;font-size:13.5px;color:var(--muted2);line-height:2}.about{max-width:800px}.about-lead{font-size:22px;line-height:1.7;color:var(--fg);margin:0 0 20px;font-weight:500}.about-phrase{border-bottom:1px solid color-mix(in oklch,var(--accent) 45%,transparent);color:inherit;transition:color .2s ease,border-color .2s ease}.about-phrase:hover{color:var(--accent);border-bottom-color:var(--accent)}.about-yaml{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:8px 0 24px}.about-yaml-file{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent)}.about-sub{font-size:16px;line-height:1.7;color:var(--muted);margin:0;min-height:6.8em}.about-sub+.about-sub{margin-top:16px}.cta{max-width:none}.cta-inner{max-width:1000px;margin:0 auto}.cta h2{font-size:clamp(36px,5.5vw,64px);line-height:1.08;margin:0 0 48px;letter-spacing:-.02em;max-width:800px}.cta-links{display:flex;flex-wrap:wrap;align-items:center;gap:32px;margin-bottom:80px}.cta-email{font-family:JetBrains Mono,monospace;font-size:16px;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:2px}.cta-linkedin{font-family:JetBrains Mono,monospace;font-size:16px;color:var(--muted2);border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px}.cta-note{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted);margin-bottom:60px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);gap:16px;flex-wrap:wrap}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:14vh 24px 24px}.palette{width:min(640px,100%);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;box-shadow:0 24px 80px #00000073}.palette-titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.palette-esc{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);border:1px solid var(--border-strong);padding:2px 6px;border-radius:2px}.palette-input{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--fg);font-family:JetBrains Mono,monospace;font-size:14px;padding:16px 18px;outline:none}.palette-input::placeholder{color:var(--muted)}.palette-list{list-style:none;margin:0;padding:8px;max-height:min(360px,50vh);overflow-y:auto}.palette-empty{padding:16px 12px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted)}.palette-item{width:100%;display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:center;background:transparent;border:0;border-radius:2px;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:13px;text-align:left;padding:10px 12px;cursor:pointer}.palette-item.is-active,.palette-item:hover{background:#ffffff0d}.palette-item:focus-visible{outline:1px solid var(--accent)}.palette-group{color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.palette-hint{color:var(--muted);font-size:11px}@media(max-width:900px){.project-grid,.project-02 .project-grid{grid-template-columns:1fr}.code-panel{position:static;order:initial}.text-reorder,.code-panel--reorder{order:initial}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-cell--wide{grid-column:span 2}}@media(max-width:640px){.nav{padding:18px 24px}.nav-links{gap:16px}.nav-links a:not(.nav-cta){display:none}.nav-cmdk-kbd{display:none}.nav-cmdk-label{display:inline}.hero,.section{padding-left:24px;padding-right:24px}.hero{padding-top:110px;padding-bottom:120px}.hero-terminal{margin-top:28px}.palette-backdrop{padding-top:10vh;align-items:flex-start}.palette-item{grid-template-columns:72px 1fr}.palette-hint{display:none}.mode-blurb,.about-sub{min-height:0}.section{transform:translate(36px)}.cta{padding-left:24px;padding-right:24px}.metrics{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:8px}.skills-grid{grid-template-columns:1fr}.skill-cell--wide{grid-column:span 1}}.cursor-sample{position:fixed;top:0;left:0;z-index:90;pointer-events:none;opacity:0}.cursor-sample.is-on{opacity:1}.cursor-sample-dot{display:block;width:180px;height:180px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,oklch(.72 .19 240 / .28) 0%,transparent 70%);mix-blend-mode:plus-lighter}@media(pointer:coarse){.cursor-sample{display:none}}@media(hover:hover)and (pointer:fine){.tags span:hover{transform:translateY(-2px)}.metric:hover{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section{transition:none;opacity:1;transform:none}.project .kicker,.project>h2,.project-grid>div,.experience .timeline-row,.skills .skill-cell,.cta-links a,.about .kicker,.about .about-lead,.about .about-yaml,.about .about-sub{transition:none;opacity:1;transform:none}.logo-cursor,.code-panel--typing pre:after,.decrypted-encrypted{animation:none}.magnet,.tags span,.metric,.nav-cta,.skill-used-in,.about-phrase{transition:none}.tags span:hover,.metric:hover{transform:none}}
