:root{--bg:oklch(10% .04 280);--bg-deep:#07060a;--bg-elev:#1a1815;--bg-card:#1f1c18;--ink:#f2ebdd;--ink-dim:#a8a096;--ink-mute:#6b655c;--line:#2a2621;--line-bright:#3a342d;--line-quiet:#221f1a;--accent:oklch(72% .13 55);--accent-soft:oklch(72% .13 55/.14);--accent-ink:#12110f;--ok:oklch(72% .13 150);--warn:oklch(72% .13 65);--danger:oklch(68% .18 25);--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--serif:"Instrument Serif", "Source Serif Pro", Georgia, serif;--sans:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:"Orbitron", sans-serif;--text-hero:clamp(2rem, 4vw, 3.75rem);--text-display:clamp(1.875rem, 4vw, 3.25rem);--text-h2:clamp(1.625rem, 3.2vw, 2.625rem);--text-h2-sm:clamp(1.5rem, 2.8vw, 2.25rem);--text-h3:clamp(1.375rem, 2.4vw, 1.875rem);--text-h4:clamp(1.125rem, 1.9vw, 1.4375rem);--text-title:1.375rem;--text-subtitle:1.25rem;--text-lede:1.0625rem;--text-body:1rem;--text-body-sm:.9375rem;--text-body-2xs:.875rem;--text-body-xs:.8125rem;--text-label:.75rem;--text-label-sm:.6875rem;--text-mini:.625rem;--tracking-tighter:-.02em;--tracking-tight:-.015em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-loose:.05em;--tracking-label:.08em;--tracking-emphatic:.12em;--tracking-display:.2em;--leading-display:1.05;--leading-tight:1.08;--leading-snug:1.15;--leading-normal:1.25;--leading-comfort:1.5;--leading-body:1.55;--leading-relaxed:1.7;--leading-loose:1.72}html[data-theme=light]{--bg:#f4efe4;--bg-deep:#d8ceb6;--bg-elev:#ebe5d6;--bg-card:oklch(99% .005 280);--ink:#1a1713;--ink-dim:#5b5347;--ink-mute:#8c8476;--line:#ddd5c3;--line-bright:#c8bfa9;--line-quiet:#e6dfcc;--accent-ink:#f4efe4}html[data-accent=rust]{--accent:oklch(64% .15 35);--accent-soft:oklch(64% .15 35/.14)}html[data-accent=amber]{--accent:oklch(75% .14 70);--accent-soft:oklch(75% .14 70/.14)}html[data-accent=olive]{--accent:oklch(70% .13 115);--accent-soft:oklch(70% .13 115/.14)}html[data-accent=cyan]{--accent:oklch(72% .13 195);--accent-soft:oklch(72% .13 195/.14)}html[data-accent=violet]{--accent:oklch(70% .14 300);--accent-soft:oklch(70% .14 300/.14)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-kerning:normal;font-feature-settings:"cv01", "cv11", "ss03", "calt";font-variant-ligatures:common-ligatures contextual;margin:0;padding:0;overflow-x:clip}.mono,code,kbd,pre,samp,.fact-list .fact,.skills-table,.skills-head,.commit .hash,.commit .when,.commit .company,.section-label,.feature-evidence,.feature .tag,.article .cats,.article .meta,.article-back,.article-eyebrow,.article-chip,.article-foot-back,.article-content code,.article-content pre,.article-content th,.notfound-meta,.contact-form label,.footer,.resume-toggle,.projects-tabs,.project-row .pidx,.project-row .pdesc,.project-row .pmeta,.project-detail .block h4,.project-detail .stack span,.project-detail .metrics .k,.theme-switch,.btn,.nav .brand,.nav-links,.hero-meta{font-feature-settings:"zero", "cv02", "cv11", "ss03", "calt";font-variant-ligatures:contextual}.fact-list,.skills-table,.skill-row,.hero-meta,.commit .hash,.commit .when,.commit .company,.commit ul,.feature-evidence,.feature .kpi,.project-detail .metrics,.project-row .pidx,.project-row .pmeta,.article .meta,.article-meta,.notfound-meta,.footer,.resume-toggle,.projects-tabs,.tnum{font-variant-numeric:tabular-nums}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-image:radial-gradient(ellipse 1200px 600px at 20% -10%, var(--accent-soft), transparent 60%), radial-gradient(ellipse 800px 400px at 110% 110%, var(--accent-soft), transparent 70%)}html:not([data-vibe=cyberpunk]) body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 900px 600px at 15% 20%, var(--accent-soft), transparent 65%), radial-gradient(ellipse 750px 500px at 50% 110%, var(--accent-soft), transparent 70%);will-change:transform;animation:72s ease-in-out infinite auroraA;position:fixed;inset:-15%}html:not([data-vibe=cyberpunk]) body:after{content:"";z-index:-1;pointer-events:none;will-change:transform;background-image:radial-gradient(800px 550px at 85% 60%,oklch(70% .14 300/.12),#0000 65%),radial-gradient(600px 500px at 30% 75%,oklch(65% .15 200/.08),#0000 68%);animation:95s ease-in-out infinite auroraB;position:fixed;inset:-15%}@keyframes auroraA{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-3%,2%)scale(1.06)}}@keyframes auroraB{0%,to{transform:translate(0,0)scale(1)rotate(0)}50%{transform:translate(3%,-2.5%)scale(1.08)rotate(2deg)}}@media (prefers-reduced-motion:reduce){html:not([data-vibe=cyberpunk]) body:before,html:not([data-vibe=cyberpunk]) body:after{animation:none}}@property --shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.commit,.feature,.contact-form{--shimmer-angle:0deg}.commit:after,.feature:after,.contact-form:after{content:"";border-radius:inherit;background:conic-gradient(from var(--shimmer-angle), transparent 0deg, oklch(70% .14 300/.6) 50deg, oklch(70% .14 300) 90deg, oklch(70% .14 300/.6) 130deg, transparent 200deg, transparent 360deg);-webkit-mask-composite:xor;opacity:0;pointer-events:none;z-index:2;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.commit:hover:after,.feature:hover:after,.contact-form:focus-within:after{opacity:1;animation:2.6s linear infinite shimmerTrace}@keyframes shimmerTrace{to{--shimmer-angle:360deg}}@media (prefers-reduced-motion:reduce){.commit:hover:after,.feature:hover:after,.contact-form:focus-within:after{animation:none}}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}.mono{font-family:var(--mono)}.serif{font-family:var(--serif);font-style:italic;font-weight:400}.caps{text-transform:uppercase;letter-spacing:var(--tracking-emphatic);font-size:var(--text-label-sm);font-weight:500}.dim{color:var(--ink-dim)}.mute{color:var(--ink-mute)}.accent{color:var(--accent)}.section-lede{font-size:var(--text-body-sm);line-height:var(--leading-body);max-width:60ch}.section-lede.tight{max-width:50ch}.section-lede.wide{max-width:70ch}.contact-lede{font-size:var(--text-lede);line-height:var(--leading-body);max-width:50ch;margin:0 0 32px}.t-eyebrow{font-family:var(--mono);font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-mute)}.contact-success-glyph{margin-bottom:16px;font-size:3rem}.contact-success-title{font-family:var(--serif);letter-spacing:var(--tracking-tight);margin-bottom:8px;font-size:1.75rem}.contact-error{color:var(--danger);font-size:var(--text-body-2xs)}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}@media (width<=700px){.wrap{padding:0 20px}}section{padding:80px 0;position:relative}section.flow{padding:120px 0 80px}@media (width<=700px){section{padding:60px 0}section.flow{padding:100px 0 60px}}.section-label{color:var(--ink-mute);font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--tracking-label);align-items:center;gap:14px;margin-bottom:28px;display:flex}.section-label:before{content:"";background:var(--line-bright);width:40px;height:1px}.section-label .num{color:var(--accent)}.section-headline{font-family:var(--serif);font-size:var(--text-h2);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0 0 20px;font-weight:400}.section-headline.tight{margin-bottom:16px}.section-headline em{color:var(--accent);font-style:italic}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.in-view{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:80ms}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}.reveal[data-delay="4"]{transition-delay:.32s}.reveal[data-delay="5"]{transition-delay:.4s}.reveal[data-delay="6"]{transition-delay:.48s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none!important}*{animation-duration:1ms!important;animation-iteration-count:1!important}}.skip-link{z-index:200;font-family:var(--mono);font-size:var(--text-label);color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:10px 16px;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1);position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 24px))}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;transform:translateY(0)}main:focus,main:focus-visible{outline:none}.nav{z-index:100;background:color-mix(in oklab, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(22px)saturate(160%);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:18px 32px;transition:border-color .2s,box-shadow .3s,background .3s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0a}.nav.scrolled{border-bottom-color:var(--line);background:color-mix(in oklab, var(--bg) 72%, transparent)}.nav .brand{font-family:var(--mono);font-size:var(--text-body-xs);align-items:center;gap:10px;display:flex}.nav .brand .dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;animation:1.6s cubic-bezier(.16,1,.3,1) .2s both dotMaterialize}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes dotMaterialize{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.nav .brand .dot{animation:none}}.nav-links{font-family:var(--mono);font-size:var(--text-label);align-items:center;gap:28px;display:flex}.nav-links a{color:var(--ink-dim);transition:color .15s;position:relative}.nav-links a:not(.cta):after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a.active:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-links a:hover,.nav-links a.active,.nav-links a:focus-visible{color:var(--ink);outline:none}@media (width<=780px){.nav-links a:not(.cta){display:none}}.cta{border:1px solid var(--line-bright);border-radius:2px;padding:8px 14px;transition:all .2s;color:var(--ink)!important}.cta:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)!important}.cta:focus-visible{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent), 0 0 16px var(--accent-soft);outline:none}.theme-switch{border:1px solid var(--line-bright);background:color-mix(in oklab, var(--bg-elev) 55%, transparent);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;isolation:isolate;border-radius:999px;align-items:stretch;padding:3px;font-size:.65625rem;display:inline-flex;position:relative}.theme-switch-seg{color:var(--ink-mute);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;transition:color .18s,background-color .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s;display:inline-flex;position:relative}.theme-switch-seg:hover{color:var(--ink-dim);background:color-mix(in oklab, var(--accent-soft) 50%, transparent)}.theme-switch-seg.active{color:var(--accent-ink);background:var(--accent);box-shadow:0 1px 0 color-mix(in oklab, var(--accent) 60%, transparent), 0 6px 18px var(--accent-soft)}.theme-switch-seg.active:hover{color:var(--accent-ink);background:var(--accent)}.theme-switch-seg:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);outline:none}.theme-switch-seg.active:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent), 0 6px 18px var(--accent-soft)}.theme-switch-icon{flex:none;width:12px;height:12px;display:inline-flex}.theme-switch-icon svg{width:100%;height:100%}.theme-switch-label{font-weight:600}.theme-switch-short{font-weight:600;display:none}.theme-switch-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=780px){.theme-switch{font-size:var(--text-mini)}.theme-switch-seg{gap:6px;padding:6px 10px}.theme-switch-label{display:none}.theme-switch-short{display:inline}}@media (width<=540px){.theme-switch-seg{gap:0;padding:6px 9px}.theme-switch-short{display:none}}html[data-vibe=cyberpunk] .theme-switch{background:color-mix(in oklab, var(--bg-deep) 70%, transparent);border-color:oklch(82% .21 195/.42);box-shadow:inset 0 0 0 1px oklch(82% .21 195/.08)}html[data-vibe=cyberpunk] .theme-switch-seg{color:var(--ink-mute)}html[data-vibe=cyberpunk] .theme-switch-seg:hover{color:var(--accent-2);text-shadow:0 0 6px var(--accent-2);background:0 0}html[data-vibe=cyberpunk] .theme-switch-seg.active{color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 20px var(--accent), 0 0 44px var(--accent-soft);text-shadow:0 0 4px color-mix(in oklab, var(--accent-ink) 50%, transparent)}html[data-vibe=cyberpunk] .theme-switch-seg.active:hover{color:var(--accent-ink);text-shadow:0 0 4px color-mix(in oklab, var(--accent-ink) 50%, transparent)}html.mode-transitioning,html.mode-transitioning body,html.mode-transitioning .nav,html.mode-transitioning .nav .brand,html.mode-transitioning .nav .brand .dot,html.mode-transitioning .nav-links a,html.mode-transitioning .cta,html.mode-transitioning .izzet-card,html.mode-transitioning .izzet-card .izzet-seal,html.mode-transitioning .izzet-card .izzet-corner,html.mode-transitioning .btn,html.mode-transitioning .hero-headline,html.mode-transitioning .hero-headline .italic,html.mode-transitioning .hero-headline .sub,html.mode-transitioning .hero-lede,html.mode-transitioning .hero-lede strong,html.mode-transitioning .hero-meta,html.mode-transitioning .hero-meta .status-label,html.mode-transitioning .hero-meta .status-dot,html.mode-transitioning .hero-meta .open-to,html.mode-transitioning .theme-switch,html.mode-transitioning .theme-switch-seg,html.mode-transitioning .feature-evidence strong,html.mode-transitioning .skill-bar,html.mode-transitioning .skill-bar-fill,html.mode-transitioning .pipe-node,html.mode-transitioning .gitlog,html.mode-transitioning .commit,html.mode-transitioning .commit:before,html.mode-transitioning .section-label,html.mode-transitioning .tag,html.mode-transitioning .accent{transition:background-color .52s cubic-bezier(.16,1,.3,1),background .52s cubic-bezier(.16,1,.3,1),color .52s cubic-bezier(.16,1,.3,1),border-color .52s cubic-bezier(.16,1,.3,1),box-shadow .52s cubic-bezier(.16,1,.3,1),text-shadow .52s cubic-bezier(.16,1,.3,1)!important}@media (prefers-reduced-motion:reduce){html.mode-transitioning,html.mode-transitioning body,html.mode-transitioning .nav,html.mode-transitioning .izzet-card,html.mode-transitioning .btn,html.mode-transitioning .theme-switch-seg,html.mode-transitioning .hero-meta .status-dot{transition:background-color .12s linear,color .12s linear,border-color .12s linear!important}}.hero{isolation:isolate;flex-direction:column;justify-content:center;min-height:100vh;padding:110px 0 40px;display:flex;position:relative}.hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:64px;display:grid}@media (width<=1040px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero-headline{font-family:var(--serif);font-size:var(--text-hero);line-height:var(--leading-display);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0 0 24px;font-weight:400}.hero-headline .italic{color:var(--accent);font-style:italic}.hero-headline .sub{font-family:var(--sans);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink-mute);margin-bottom:16px;font-size:.22em;font-weight:500;display:block}.hero-lede{font-size:var(--text-body);max-width:60ch;color:var(--ink-dim);line-height:var(--leading-comfort);margin:0 0 24px}.hero-lede strong{color:var(--ink);font-weight:500}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.btn{font-family:var(--mono);font-size:var(--text-body-xs);border:1px solid var(--line-bright);border-radius:2px;align-items:center;gap:10px;padding:14px 22px;transition:all .2s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.btn:hover:before{transform:translate(100%)}.btn:hover{border-color:var(--accent);transform:translateY(-2px)}.btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 28px var(--accent-soft);outline:none}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{color:var(--accent);background:0 0}.btn-primary:focus-visible{box-shadow:0 0 0 2px var(--accent-ink), 0 0 0 4px var(--accent), 0 0 32px var(--accent-soft)}.btn .arrow{transition:transform .2s}.btn:hover .arrow,.btn:focus-visible .arrow{transform:translate(4px)}.mtg-card{--mtg-frame-deep:#0d0b0a;--mtg-frame-soft:#1a1815;--mtg-frame-mid:#1f1c18;--mtg-frame-rim:#2a2621;--mtg-line:#3a342d;--mtg-ink:#f2ebdd;--mtg-ink-dim:#c5beae;--mtg-ink-mute:#8c8476;aspect-ratio:2.5/3.5;background:var(--mtg-frame-deep) linear-gradient(135deg, var(--mtg-frame-soft), var(--mtg-frame-deep));border:1px solid var(--mtg-line);width:100%;max-width:420px;color:var(--mtg-ink);box-shadow:0 40px 80px -20px #0009, 0 0 0 1px var(--mtg-line), 0 0 60px -20px var(--accent-soft);transform-style:preserve-3d;will-change:transform;background-clip:padding-box;border-radius:14px;margin:0 auto;padding:14px;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;position:relative}.mtg-card:hover{box-shadow:0 60px 100px -20px #000000b3, 0 0 0 1px var(--accent), 0 0 80px -10px var(--accent-soft)}.mtg-frame{grid-template-rows:auto 1fr auto auto auto;gap:8px;height:100%;display:grid}.mtg-titlebar{background:linear-gradient(90deg, var(--mtg-frame-rim), var(--mtg-frame-soft));border:1px solid var(--mtg-line);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.mtg-name{font-family:var(--serif);font-size:var(--text-lede);letter-spacing:var(--tracking-snug);color:var(--mtg-ink);font-weight:500}.mtg-mana{gap:4px;display:flex}.mtg-pip{width:22px;height:22px;font-family:var(--mono);font-size:var(--text-label-sm);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex;box-shadow:inset 0 -2px #0003,0 0 0 1px #0000004d}.pip-gen{color:#1a1713;background:#d8d0bc}.pip-u{color:#1a3b5c;background:#a9d0f5}.pip-u svg{width:12px;height:12px}.pip-r{color:#5c1a1a;background:#f0a39b}.pip-r svg{width:13px;height:13px}.mtg-art{border:1px solid var(--mtg-line);background:linear-gradient(135deg,oklch(35% .08 55),oklch(18% .04 30));border-radius:4px;min-height:0;position:relative;overflow:hidden}.mtg-art img{object-fit:cover;width:100%;height:100%;display:block}.mtg-art-fallback img{display:none}.mtg-typebar{background:linear-gradient(90deg, var(--mtg-frame-rim), var(--mtg-frame-soft));border:1px solid var(--mtg-line);font-family:var(--mono);font-size:var(--text-label-sm);border-radius:3px;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.mtg-type{color:var(--mtg-ink-dim)}.mtg-setsymbol{color:var(--accent);font-size:var(--text-body-xs)}.mtg-textbox{background:linear-gradient(180deg, var(--mtg-frame-mid), #15120f);border:1px solid var(--mtg-line);font-size:var(--text-body-xs);line-height:var(--leading-comfort);min-height:110px;color:var(--mtg-ink-dim);border-radius:4px;padding:10px 14px}.mtg-rule{color:var(--mtg-ink-dim);margin:0 0 6px}.mtg-rule:first-of-type{color:var(--accent);font-family:var(--mono);font-size:var(--text-label-sm);letter-spacing:var(--tracking-loose);text-transform:uppercase}.mtg-flavor{color:var(--mtg-ink-mute);font-style:italic;font-size:var(--text-label);border-top:1px solid color-mix(in oklab, var(--mtg-line) 70%, transparent);margin:8px 0 0;padding-top:8px}.mtg-bottom{justify-content:flex-end;padding:0 8px;display:flex}.mtg-pt{font-family:var(--serif);background:var(--mtg-frame-soft);border:1px solid var(--mtg-line);letter-spacing:var(--tracking-snug);color:var(--mtg-ink);border-radius:3px;padding:3px 14px;font-size:1.125rem}.mtg-stage{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards mtgIn;animation-delay:var(--d,0s);transform:translateY(8px)}@keyframes mtgIn{to{opacity:1;transform:none}}.hero-cta{flex-direction:column;gap:14px;margin-top:36px;display:flex}@media (width<=540px){.hero-cta{gap:12px;margin-top:28px}}.hero-meta{font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-dim);font-weight:500;line-height:var(--leading-relaxed);flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.hero-meta .status-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex:none;animation:2.4s ease-in-out infinite pulse}.hero-meta .status-label{color:var(--ink);font-weight:600}.hero-meta .sep{color:var(--accent);opacity:.6}.hero-meta .open-to{color:var(--ink);font-style:normal;font-weight:600}@media (prefers-reduced-motion:reduce){.hero-meta .status-dot{animation:none}}@media (width<=540px){.hero-meta{font-size:var(--text-label-sm);gap:8px}}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:64px;display:grid}.about-grid>*{min-width:0}@media (width<=900px){.about-grid{grid-template-columns:minmax(0,1fr);gap:32px}}.about h2{font-family:var(--serif);font-size:var(--text-h2);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0 0 20px;font-weight:400}.about h2 em{color:var(--accent);font-style:italic}.about p{color:var(--ink-dim);font-size:var(--text-body-sm);line-height:var(--leading-body);max-width:60ch;margin:0 0 14px}.about p strong{color:var(--ink);font-weight:500}.fact-list{border-top:1px solid var(--line);margin-top:24px}.fact-list .fact{border-bottom:1px solid var(--line);font-family:var(--mono);font-size:var(--text-label);flex-wrap:nowrap;align-items:baseline;gap:20px;padding:12px 0;transition:background .3s;display:flex;position:relative}.fact-list .fact:before{content:"";background:var(--accent);transform-origin:0;width:8px;height:1px;transition:transform .3s;position:absolute;top:50%;left:0;transform:scaleX(0)}.fact-list .fact>*{will-change:transform;transition:transform .3s}.fact-list .fact:hover>*{transform:translate(12px)}.fact-list .fact:hover:before{transform:scaleX(1)}.fact-list .fact>:first-child{color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-label-sm);flex:0 0 120px}.fact-list .fact>:nth-child(2){word-break:break-word;flex:auto;min-width:0}.fact-list .fact a{color:var(--accent);border-bottom:1px dotted var(--accent)}.fact-list .fact a:focus-visible{outline:1px solid var(--accent);outline-offset:4px;border-radius:1px}.skills-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:64px;display:grid}.skills-grid>*{min-width:0}@media (width<=1040px){.skills-grid{grid-template-columns:minmax(0,1fr);gap:32px}}.skills-table{border:1px solid color-mix(in oklab, var(--line-bright) 45%, transparent);background:color-mix(in oklab, var(--bg-card) 92%, transparent);font-family:var(--mono);font-size:var(--text-body-xs);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.skills-head{background:color-mix(in oklab, var(--bg-elev) 65%, transparent);color:var(--ink-mute);font-size:var(--text-label-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom:1px solid color-mix(in oklab, var(--line) 60%, transparent);grid-template-columns:60px 1.2fr 1fr 80px 100px;padding:12px 20px;display:grid}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:60px 1.2fr 1fr 80px 100px;align-items:center;padding:16px 20px;transition:background .2s;display:grid;position:relative}.skill-row:last-child{border-bottom:none}.skill-row:hover{background:var(--bg-elev)}.skill-row .idx{color:var(--ink-mute)}.skill-row .name{color:var(--ink);font-weight:500}.skill-row .use{color:var(--ink-dim);font-size:var(--text-label)}.skill-row .yrs{color:var(--accent)}.skill-bar{background:var(--line);border-radius:3px;height:6px;position:relative;overflow:hidden}.skill-bar-fill{background:var(--accent);width:100%;transform:scaleX(var(--depth,0));transform-origin:0;will-change:transform;border-radius:3px;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0}.skill-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:2.6s ease-in-out infinite paused shimmer;position:absolute;inset:0}.skill-row.in-view .skill-bar-fill:after{animation-play-state:running}@keyframes shimmer{0%{transform:translate(-100%)}60%,to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.skill-bar-fill{transition:none}.skill-bar-fill:after{animation:none!important}}@media (width<=700px){.skills-head{grid-template-columns:40px 1fr 80px}.skills-head .use-col,.skills-head .bar-col{display:none}.skill-row{grid-template-columns:40px 1fr 80px}.skill-row .use,.skill-row .skill-bar{display:none}}.projects-tabs-wrap{min-width:0;max-width:100%;margin-bottom:40px;position:relative}.projects-tabs-wrap:before,.projects-tabs-wrap:after{content:"";pointer-events:none;z-index:1;opacity:0;width:32px;transition:opacity .2s;position:absolute;top:0;bottom:1px}.projects-tabs-wrap:before{background:linear-gradient(90deg, var(--bg) 0%, transparent 100%);left:0}.projects-tabs-wrap:after{background:linear-gradient(270deg, var(--bg) 0%, transparent 100%);right:0}.projects-tabs-wrap[data-overflow~=start]:before,.projects-tabs-wrap[data-overflow~=end]:after{opacity:1}@media (width<=780px){.projects-tabs-wrap:not([data-overflow]):after{opacity:1}}.projects-tabs{border-bottom:1px solid var(--line);font-family:var(--mono);font-size:var(--text-label);-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:4px;min-width:0;display:flex;overflow:auto hidden}.projects-tabs::-webkit-scrollbar{display:none}.projects-tabs button{scroll-snap-align:start;color:var(--ink-mute);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 18px;transition:all .2s}.projects-tabs button:hover{color:var(--ink-dim)}.projects-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.projects-tabs button:focus-visible{color:var(--ink);border-bottom-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft);outline:none}.projects-tabs .count{color:var(--ink-mute);font-size:var(--text-mini);margin-left:6px}.project-list{background:color-mix(in oklab, var(--line) 50%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 45%, transparent);-webkit-backdrop-filter:blur(2px);border-radius:6px;gap:1px;display:grid;overflow:hidden}.project-row{background:color-mix(in oklab, var(--bg-card) 92%, transparent);cursor:pointer;grid-template-columns:48px 1fr auto;align-items:center;gap:24px;padding:20px 28px;transition:background .25s,transform .25s,box-shadow .25s;display:grid;position:relative}.project-row:before{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.project-row:hover:before,.project-row.expanded:before,.project-row:focus-visible:before{transform:scaleY(1)}.project-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px;box-shadow:0 0 0 1px var(--accent-soft), 0 0 24px var(--accent-soft)}.project-row:hover{background:color-mix(in oklab, var(--bg-elev) 75%, transparent);box-shadow:inset 0 1px #ffffff0f}.project-row.expanded{background:color-mix(in oklab, var(--bg-elev) 85%, transparent);box-shadow:inset 0 1px #ffffff0f}.project-row .pidx{font-family:var(--mono);font-size:var(--text-label);color:var(--ink-mute);transition:color .2s}.project-row:hover .pidx{color:var(--accent)}.project-row .ptitle{font-family:var(--serif);font-size:var(--text-title);letter-spacing:var(--tracking-tight);color:var(--ink);transition:color .2s}.project-row:hover .ptitle{color:var(--accent)}.project-row .pdesc{font-family:var(--mono);font-size:var(--text-label);color:var(--ink-mute);margin-top:6px}.project-row .pmeta{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--ink-dim);align-items:center;gap:10px;display:flex}.project-row .pmeta .tag{border:1px solid var(--line-bright);border-radius:2px;padding:4px 8px}.project-row .pchevron{color:var(--ink-mute);transition:transform .3s cubic-bezier(.2,.7,.2,1),color .2s}.project-row.expanded .pchevron{color:var(--accent);transform:rotate(90deg)}.project-detail{background:var(--bg-elev);border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:40px;padding:0 32px 32px 104px;animation:.4s cubic-bezier(.2,.7,.2,1) detailIn;display:grid;overflow:hidden}@keyframes detailIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.project-detail .block h4{font-family:var(--mono);font-size:var(--text-label-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-mute);margin:24px 0 10px}.project-detail .block p{color:var(--ink-dim);font-size:var(--text-body-sm);margin:0 0 12px}.project-detail .stack{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.project-detail .stack span{font-family:var(--mono);font-size:var(--text-label-sm);background:var(--bg);border:1px solid var(--line-bright);border-radius:2px;padding:4px 10px;transition:all .2s}.project-detail .stack span:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.project-detail .metrics{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;margin-top:20px;display:grid}.project-detail .metrics>div{background:var(--bg);padding:16px;transition:background .2s}.project-detail .metrics>div:hover{background:var(--bg-elev)}.project-detail .metrics .v{font-family:var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);font-size:2rem;line-height:1}.project-detail .metrics .k{font-family:var(--mono);font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-mute);margin-top:8px}@media (width<=900px){.project-row{grid-template-columns:32px 1fr 24px;gap:16px;padding:20px}.project-row .pmeta{display:none}.project-row .ptitle{font-size:var(--text-title)}.project-detail{grid-template-columns:1fr;gap:24px;padding:0 20px 24px}}.feature{border:1px solid color-mix(in oklab, var(--line-bright) 45%, transparent);background:color-mix(in oklab, var(--bg-card) 60%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);border-radius:6px;margin-top:0;padding:36px;position:relative;overflow:hidden}.feature:before{content:"";background:radial-gradient(ellipse 600px 300px at 100% 0%, var(--accent-soft), transparent 60%);pointer-events:none;position:absolute;inset:0}.feature-grid{grid-template-columns:1fr 1.4fr;align-items:center;gap:56px;display:grid;position:relative}@media (width<=900px){.feature-grid{grid-template-columns:1fr;align-items:stretch;gap:32px}.feature{padding:28px}}.feature .tag{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-label);background:var(--accent-soft);border-radius:2px;align-items:center;gap:6px;margin-bottom:16px;padding:4px 10px;display:inline-flex}.feature h3{font-family:var(--serif);font-size:var(--text-h2-sm);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0 0 16px;font-weight:400}.feature h3 em{color:var(--accent)}.feature p{color:var(--ink-dim);margin:0 0 16px}.feature-evidence{font-family:var(--mono);font-size:var(--text-label);color:var(--ink-mute);letter-spacing:var(--tracking-wide);margin:24px 0 0;line-height:1.6}.feature-evidence strong{color:var(--accent);font-weight:500}.feature-evidence span[aria-hidden]{color:var(--line-bright);margin:0 6px}.pipe{font-family:var(--mono);font-size:var(--text-label);background:var(--bg);border:1px solid var(--line-bright);box-shadow:0 0 0 1px color-mix(in oklab, var(--accent-soft) 50%, transparent), 0 24px 60px -30px #0009;border-radius:4px;flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.pipe-node{background:var(--bg-card);border:1px solid var(--line);border-radius:3px;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:10px 14px;transition:all .3s;display:grid;position:relative}.pipe-node.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft), 0 0 24px var(--accent-soft);transform:translate(4px)}.pipe-node.active:after{content:"";background:var(--accent);width:3px;box-shadow:0 0 8px var(--accent);position:absolute;top:0;bottom:0;left:0}.pipe-node .glyph{color:var(--accent);font-size:var(--text-body-2xs);transition:text-shadow .3s}.pipe-node.active .glyph{text-shadow:0 0 12px var(--accent)}.pipe-node .nm{color:var(--ink)}.pipe-node .ss{color:var(--ink-mute);font-size:var(--text-label-sm)}.pipe-arrow{color:var(--ink-mute);font-size:var(--text-body-2xs);height:12px;padding-left:30px;line-height:1}.pipe-status{color:var(--ink-mute);font-size:var(--text-label-sm);font-variant-numeric:tabular-nums;transition:color .2s}.pipe-status[data-active]{color:var(--accent)}.gitlog{--commit-h:200px;--connector-h:180px;--commit-overlap:calc(var(--connector-h) + 70px);flex-direction:column;width:100%;display:flex;position:relative}.gitlog.serpentine{gap:0}.gitlog.serpentine .commit:nth-child(n+2){margin-top:calc(-1 * var(--commit-overlap))}.commit{background:color-mix(in oklab, var(--bg-card) 92%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 40%, transparent);width:100%;max-width:500px;min-height:var(--commit-h);box-sizing:border-box;z-index:1;border-radius:4px;padding:18px 22px;transition:border-color .3s,box-shadow .3s,background .3s;position:relative;box-shadow:inset 0 1px #ffffff0d}.commit:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft), 0 0 40px var(--accent-soft)}.commit.side-left{align-self:flex-start}.commit.side-right{align-self:flex-end}.commit:before{content:"";background:var(--bg);border:2px solid var(--line-bright);border-radius:50%;width:10px;height:10px;transition:all .3s;position:absolute;top:20px}.commit.side-left:before{left:-6px}.commit.side-right:before{left:auto;right:-6px}.commit:hover:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent)}.commit.current:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), 0 0 12px var(--accent);animation:2.4s ease-in-out infinite pulse}.commit .hash{font-family:var(--mono);font-size:var(--text-mini);color:var(--ink-mute);letter-spacing:var(--tracking-wide)}.commit .role{font-family:var(--serif);font-size:var(--text-subtitle);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);text-wrap:balance;margin:2px 0}.commit .company{font-family:var(--mono);font-size:var(--text-label);color:var(--accent);margin-bottom:6px}.commit .when{font-family:var(--mono);font-size:var(--text-mini);color:var(--ink-mute);margin-bottom:8px}.commit ul{margin:0;padding:0;list-style:none}.commit ul li{color:var(--ink-dim);font-size:var(--text-body-xs);line-height:var(--leading-comfort);padding:2px 0 2px 18px;position:relative}.git-connector{width:100%;height:var(--connector-h,180px);fill:none;stroke:var(--line-bright);stroke-width:1.5px;display:block;overflow:visible}.git-connector .glow-path{fill:none;stroke-linecap:round;stroke-dasharray:.1 9999;stroke-dashoffset:2000px;visibility:hidden;vector-effect:non-scaling-stroke;animation:14s linear gitFlow;animation-delay:calc(var(--i,0) * 2s);animation-play-state:paused}.git-connector .glow-core{stroke:#c8ff3d;stroke-width:14px}.git-connector .glow-mid{stroke:oklch(93% .24 135/.45);stroke-width:44px;animation:14s linear gitFlow,1.2s ease-in-out 2 gitDotPulse;animation-delay:calc(var(--i,0) * 2s), calc(var(--i,0) * 2s);animation-play-state:paused}.git-connector .glow-outer{stroke:oklch(93% .24 135/.18);stroke-width:120px;animation:14s linear gitFlow,1.2s ease-in-out 2 gitDotPulse;animation-delay:calc(var(--i,0) * 2s), calc(var(--i,0) * 2s);animation-play-state:paused}.gitlog.in-view .git-connector .glow-path,.gitlog.in-view .git-connector .glow-mid,.gitlog.in-view .git-connector .glow-outer{animation-play-state:running}@keyframes gitFlow{0%{stroke-dashoffset:0;visibility:visible}14.28%{stroke-dashoffset:-1000px;visibility:visible}14.29%{stroke-dashoffset:2000px;visibility:hidden}to{stroke-dashoffset:2000px;visibility:hidden}}@keyframes gitDotPulse{0%,to{opacity:.45}50%{opacity:1}}@media (width<=780px){.commit{max-width:100%}.commit.side-right{align-self:flex-start}.commit.side-right:before{left:-6px;right:auto}.git-connector{display:none}.gitlog.serpentine .commit:nth-child(n+2){margin-top:24px}}.commit ul li:before{content:"+";color:oklch(72% .13 150);font-family:var(--mono);position:absolute;left:0}.commit ul li strong{color:var(--ink);font-weight:500}.resume-toggle{border:1px solid var(--line-bright);font-family:var(--mono);font-size:var(--text-label);border-radius:4px;gap:2px;margin-bottom:32px;padding:4px;display:inline-flex}.resume-toggle button{color:var(--ink-mute);border-radius:2px;padding:8px 16px;transition:all .2s}.resume-toggle button.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 16px var(--accent-soft)}.resume-toggle button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.writing-grid{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;background:var(--line);border:1px solid var(--line);border-radius:4px;gap:1px;display:grid;overflow:hidden}@media (width<=1040px){.writing-grid{grid-template-columns:repeat(2,1fr)}}.writing-grid .featured{grid-area:span 2/span 2}@media (width<=780px){.writing-grid{flex-direction:column;grid-template-columns:none;display:flex}.writing-grid .featured{order:-1;grid-area:auto;min-height:240px}.writing-grid .featured+:not(.featured):before{content:"";display:none}}.article{background:var(--bg);cursor:pointer;flex-direction:column;gap:8px;padding:20px 22px;transition:background .25s;display:flex;position:relative;overflow:hidden}.article:before{content:"";background:radial-gradient(circle 180px at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.article:hover:before{opacity:1}.article:hover{background:var(--bg-elev)}.article .cats{font-family:var(--mono);font-size:var(--text-mini);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-label);position:relative}.article h4{font-family:var(--serif);font-size:var(--text-lede);line-height:var(--leading-normal);letter-spacing:var(--tracking-snug);margin:0;font-weight:400;transition:color .2s;position:relative}.article:hover h4{color:var(--accent)}.article .meta{font-family:var(--mono);font-size:var(--text-mini);color:var(--ink-mute);gap:14px;margin-top:auto;padding-top:10px;display:flex;position:relative}.article:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes articleBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes articleModalIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.article-modal-backdrop{background:color-mix(in oklab, var(--bg-deep) 94%, transparent);-webkit-backdrop-filter:blur(10px);z-index:500;justify-content:center;align-items:flex-start;padding:64px 20px 40px;animation:.28s cubic-bezier(.2,.7,.2,1) articleBackdropIn;display:flex;position:fixed;inset:0;overflow-y:auto}.article-modal-panel{background:color-mix(in oklab, var(--bg-card) 96%, transparent);-webkit-backdrop-filter:blur(24px);border:1px solid color-mix(in oklab, var(--line-bright) 55%, transparent);width:100%;max-width:820px;box-shadow:0 0 0 1px var(--accent), 0 0 80px -10px var(--accent-soft), inset 0 1px 0 #ffffff0f;border-radius:8px;outline:none;animation:.32s cubic-bezier(.2,.7,.2,1) articleModalIn;position:relative}.article-modal-close{background:color-mix(in oklab, var(--bg-elev) 70%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 50%, transparent);width:36px;height:36px;color:var(--ink-dim);font-family:var(--mono);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:1.375rem;line-height:1;transition:background .2s,color .2s,border-color .2s,transform .25s,box-shadow .25s;display:flex;position:absolute;top:14px;right:14px}.article-modal-close:hover,.article-modal-close:focus-visible{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 24px var(--accent-soft);outline:none;transform:rotate(90deg)}.article-shell{min-height:70vh;padding:96px 20px 80px;position:relative}.article-shell:before{content:"";background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--accent-soft), transparent 60%);opacity:.35;pointer-events:none;z-index:-1;position:absolute;inset:0}.article-doc{outline:none;display:block}.article-doc--page{max-width:760px;margin:0 auto}.article-doc--modal{padding:8px 0}.article-head{border-bottom:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);padding:36px clamp(28px,5vw,64px) 28px}.article-doc--page .article-head{padding:0 0 32px}.article-back{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-label);align-items:center;gap:8px;margin-bottom:28px;padding:4px 0;text-decoration:none;transition:color .2s;display:inline-flex}.article-back .back-arrow{transition:transform .25s cubic-bezier(.2,.7,.2,1);display:inline-block}.article-back:hover{color:var(--ink)}.article-back:hover .back-arrow{transform:translate(-3px)}.article-back:focus-visible{color:var(--accent);outline:none}.article-eyebrow{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-emphatic);align-items:center;gap:12px;margin-bottom:16px;display:inline-flex}.article-eyebrow:after{content:"";background:color-mix(in oklab, var(--line-bright) 60%, transparent);width:32px;height:1px}.article-title{font-family:var(--serif);font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-tighter);color:var(--ink);text-wrap:balance;margin:0 0 24px;font-weight:400}.article-title em{color:var(--accent);font-style:italic}.article-lede{font-size:var(--text-lede);line-height:var(--leading-body);max-width:60ch;margin:0 0 16px}.article-meta{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.article-chip{font-family:var(--mono);font-size:var(--text-label-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;background:color-mix(in oklab, var(--bg-elev) 70%, transparent);color:var(--ink-dim);border:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);padding:4px 10px}.article-content{color:var(--ink);font-size:var(--text-lede);line-height:var(--leading-loose);max-width:75ch;padding:36px clamp(28px,5vw,64px) 32px}.article-doc--page .article-content{padding:36px 0 32px}.article-content>*+*{margin-top:1.05em}.article-content h2,.article-content h3,.article-content h4{font-family:var(--serif);color:var(--ink);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:1.6em 0 .4em;font-weight:400}.article-content h2{font-size:var(--text-h3);line-height:var(--leading-snug)}.article-content h3{font-size:var(--text-h4);line-height:var(--leading-normal)}.article-content h4{font-size:1.125rem;line-height:var(--leading-normal)}.article-content p{margin:1em 0}.article-content a{color:var(--accent);border-bottom:1px dotted color-mix(in oklab, var(--accent) 70%, transparent);transition:border-color .2s,color .2s}.article-content a:hover{border-bottom-color:var(--accent);color:var(--ink)}.article-content code{font-family:var(--mono);background:color-mix(in oklab, var(--bg-deep) 75%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);border-radius:3px;padding:2px 6px;font-size:.875em}.article-content pre{background:color-mix(in oklab, var(--bg-deep) 80%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 45%, transparent);font-size:var(--text-body-xs);line-height:var(--leading-body);border-radius:4px;margin:1.4em 0;padding:18px 20px;overflow-x:auto}.article-content pre code{color:var(--ink-dim);background:0 0;border:none;padding:0}.article-content blockquote{border-left:1px solid color-mix(in oklab, var(--accent) 60%, transparent);color:var(--ink-dim);margin:1.4em 0;padding:4px 0 4px 20px;font-style:italic}.article-content ul,.article-content ol{padding-left:22px}.article-content ul li,.article-content ol li{margin:.4em 0}.article-content img{border:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);border-radius:4px;max-width:100%;height:auto;margin:1.4em 0}.article-content table{border-collapse:collapse;width:100%;font-size:var(--text-body-2xs);border:1px solid color-mix(in oklab, var(--line-bright) 40%, transparent);margin:1.4em 0}.article-content th,.article-content td{text-align:left;border-bottom:1px solid color-mix(in oklab, var(--line-quiet) 80%, transparent);padding:10px 12px}.article-content th{font-family:var(--mono);font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-mute);background:color-mix(in oklab, var(--bg-elev) 50%, transparent);font-weight:500}.article-content hr{border:none;border-top:1px solid color-mix(in oklab, var(--line-quiet) 70%, transparent);margin:2em 0}.article-foot{border-top:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);gap:24px;padding:24px clamp(28px,5vw,64px) 36px;display:grid}.article-doc--page .article-foot{padding:28px 0 0}.article-foot-back{font-family:var(--mono);font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-mute);align-items:center;gap:8px;width:max-content;text-decoration:none;transition:color .2s;display:inline-flex}.article-foot-back:hover{color:var(--ink)}.article-adjacent{grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;display:grid}@media (width<=700px){.article-adjacent{grid-template-columns:1fr}}.article-adj{background:color-mix(in oklab, var(--bg-card) 50%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);border-radius:4px;flex-direction:column;gap:8px;padding:18px 20px;text-decoration:none;transition:border-color .25s,background .25s,box-shadow .25s;display:flex}.article-adj:hover{border-color:var(--accent);background:color-mix(in oklab, var(--bg-elev) 70%, transparent);box-shadow:0 0 0 1px var(--accent-soft), 0 0 32px -8px var(--accent-soft)}.article-adj-next{text-align:right;align-items:flex-end}.article-adj-label{font-family:var(--mono);font-size:var(--text-mini);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.1em}.article-adj-title{font-family:var(--serif);font-size:var(--text-lede);line-height:var(--leading-normal);color:var(--ink);letter-spacing:var(--tracking-snug)}.article-adj:hover .article-adj-title{color:var(--accent)}.notfound-suggest{background:color-mix(in oklab, var(--line-bright) 30%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 35%, transparent);border-radius:4px;gap:1px;margin:24px clamp(28px,5vw,64px) 36px;display:grid;overflow:hidden}.article-doc--page .notfound-suggest{margin:24px 0 36px}.notfound-row{background:color-mix(in oklab, var(--bg-card) 55%, transparent);grid-template-columns:auto 1fr auto;align-items:baseline;gap:18px;padding:18px 22px;text-decoration:none;transition:background .25s;display:grid}.notfound-row:hover{background:color-mix(in oklab, var(--bg-elev) 75%, transparent)}.notfound-meta{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-label)}.notfound-title{font-family:var(--serif);color:var(--ink);font-size:1.125rem;line-height:var(--leading-normal)}.notfound-row:hover .notfound-title{color:var(--accent)}.notfound-arrow{color:var(--accent);font-family:var(--mono);transition:transform .25s}.notfound-row:hover .notfound-arrow{transform:translate(4px)}@media (width<=700px){.article-modal-backdrop{padding:24px 0 0}.article-modal-panel{border-radius:8px 8px 0 0;min-height:calc(100vh - 24px)}.article-head{padding:28px 18px 24px}.article-content{font-size:var(--text-body);padding:28px 18px;line-height:1.65}.article-content>*+*{margin-top:1.15em}.article-content p{margin:.9em 0}.article-content h2,.article-content h3,.article-content h4{margin:1.4em 0 .4em}.article-content pre{border-radius:4px;margin:1.2em -2px;padding:14px 16px}.article-foot{padding:22px 18px 28px}.article-shell{padding:80px 16px 60px}.article-doc--page{max-width:100%}}html[data-theme=light] .article-content code{background:color-mix(in oklab, var(--bg-elev) 80%, transparent);color:oklch(42% .18 305);border-color:color-mix(in oklab, var(--line-bright) 55%, transparent)}html[data-theme=light] .article-content pre{background:color-mix(in oklab, var(--bg-elev) 70%, transparent);border-color:color-mix(in oklab, var(--line-bright) 55%, transparent)}html[data-theme=light] .article-content pre code{color:oklch(30% .04 280)}html[data-theme=light] .article-content blockquote{border-left-color:color-mix(in oklab, var(--accent) 55%, transparent);color:oklch(38% .04 280)}@media (prefers-reduced-motion:reduce){.article-modal-backdrop,.article-modal-panel{animation-duration:1ms}.article-modal-close,.article-back .back-arrow,.notfound-arrow,.article-adj{transition-duration:1ms}}.contact{border-top:1px solid var(--line);padding:120px 0 40px}.contact-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:56px;display:grid}@media (width<=1100px){.contact-grid{grid-template-columns:1fr;gap:40px}}.contact-card-slot{justify-content:center;align-items:flex-start;padding-top:28px;display:flex}@media (width<=1100px){.contact-card-slot{padding-top:0}}.contact h2{font-family:var(--serif);font-size:var(--text-h2);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0 0 20px;font-weight:400}.contact h2 em{color:var(--accent)}.contact-form{background:color-mix(in oklab, var(--bg-card) 92%, transparent);border:1px solid color-mix(in oklab, var(--line-bright) 45%, transparent);border-radius:6px;gap:12px;padding:28px;transition:border-color .3s,box-shadow .3s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0d}.contact-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 40px var(--accent-soft)}.contact-form label{font-family:var(--mono);font-size:var(--text-label-sm);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-label)}.contact-form input,.contact-form textarea{background:var(--bg);border:1px solid var(--line-bright);color:var(--ink);font:inherit;font-size:var(--text-body);border-radius:3px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft);outline:none}.contact-form textarea{resize:vertical;min-height:120px;font-family:var(--sans)}.contact-form button{justify-self:start;margin-top:8px}.footer{border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--text-label);color:var(--ink-mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:32px 0;display:flex}html[data-vibe=cyberpunk]{--bg:#07060d;--bg-elev:#0d0b18;--bg-card:#0f0d1f;--ink:#e8ecff;--ink-dim:#8b95c4;--ink-mute:#4a5178;--line:#1a1832;--line-bright:#2a2852;--line-quiet:#141128;--accent:oklch(82% .21 195);--accent-soft:oklch(82% .21 195/.22);--accent-ink:#07060d;--accent-2:oklch(72% .28 340);--accent-3:oklch(88% .2 125)}html[data-vibe=cyberpunk][data-accent=rust]{--accent:oklch(72% .28 20);--accent-2:oklch(82% .21 195);--accent-soft:oklch(72% .28 20/.22)}html[data-vibe=cyberpunk][data-accent=amber]{--accent:oklch(85% .19 85);--accent-2:oklch(72% .28 340);--accent-soft:oklch(85% .19 85/.22)}html[data-vibe=cyberpunk][data-accent=olive]{--accent:oklch(88% .2 125);--accent-2:oklch(72% .28 340);--accent-soft:oklch(88% .2 125/.22)}html[data-vibe=cyberpunk][data-accent=cyan]{--accent:oklch(82% .21 195);--accent-2:oklch(72% .28 340);--accent-soft:oklch(82% .21 195/.22)}html[data-vibe=cyberpunk][data-accent=violet]{--accent:oklch(70% .26 300);--accent-2:oklch(82% .21 195);--accent-soft:oklch(70% .26 300/.22)}html[data-vibe=cyberpunk] body{background-color:var(--bg);background-image:radial-gradient(ellipse 1000px 500px at 15% 0%, oklch(82% .21 195/.22), transparent 55%), radial-gradient(ellipse 900px 500px at 100% 30%, oklch(72% .28 340/.2), transparent 55%), radial-gradient(ellipse 700px 400px at 50% 100%, oklch(70% .26 300/.16), transparent 55%), linear-gradient(var(--bg), var(--bg));background-attachment:fixed}html[data-vibe=cyberpunk] .nav,html[data-vibe=cyberpunk] .tweaks{z-index:100;position:relative}html[data-vibe=cyberpunk] section{z-index:3;position:relative}html[data-vibe=cyberpunk] .nav{z-index:100;position:fixed}html[data-vibe=cyberpunk] .hero-headline .sub{text-shadow:0 0 12px var(--accent-soft);font-family:var(--mono)!important;text-transform:uppercase!important;letter-spacing:.22em!important;color:var(--accent)!important;font-size:.22em!important;font-weight:500!important}html[data-vibe=cyberpunk] .hero-headline .italic,html[data-vibe=cyberpunk] .about h2 em,html[data-vibe=cyberpunk] .feature h3 em,html[data-vibe=cyberpunk] .contact h2 em,html[data-vibe=cyberpunk] section h2 em{text-shadow:0 0 28px var(--accent-soft), 0 0 10px var(--accent-soft)}html[data-vibe=cyberpunk] .nav{background:color-mix(in oklab, var(--bg) 78%, transparent)}html[data-vibe=cyberpunk] .nav.scrolled{border-bottom-color:oklch(82% .21 195/.3);box-shadow:0 1px oklch(82% .21 195/.3),0 0 32px oklch(82% .21 195/.14)}html[data-vibe=cyberpunk] .nav .brand .dot{background:var(--accent);box-shadow:0 0 14px var(--accent), 0 0 28px var(--accent)}html[data-vibe=cyberpunk] .nav-links a:not(.cta):after{background:var(--accent);box-shadow:0 0 6px var(--accent)}html[data-vibe=cyberpunk] .cta:hover{box-shadow:0 0 0 1px var(--accent), 0 0 28px var(--accent-soft)}html[data-vibe=cyberpunk] .btn{background:var(--bg-elev);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border-radius:0}html[data-vibe=cyberpunk] .btn:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 28px var(--accent-soft);color:var(--accent)}html[data-vibe=cyberpunk] .btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent), 0 0 32px var(--accent-soft)}html[data-vibe=cyberpunk] .btn-primary:hover{background:var(--bg);color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 48px var(--accent)}html[data-vibe=cyberpunk] .mtg-card{border-color:var(--accent);box-shadow:0 40px 80px -20px #0009, 0 0 0 1px var(--accent);isolation:isolate;background:#0d0b0a linear-gradient(135deg,#1a1815,#0d0b0a) padding-box padding-box}html[data-vibe=cyberpunk] .mtg-card:before,html[data-vibe=cyberpunk] .mtg-card:after{content:"";z-index:-1;pointer-events:none;filter:blur(40px);opacity:.95;border-radius:28px;transition:opacity .5s;position:absolute;inset:-40px}html[data-vibe=cyberpunk] .mtg-card:before{background:linear-gradient(45deg,oklch(70% .22 250/.95) 0%,oklch(70% .22 250/.9) 44%,oklch(68% .25 28/.9) 56%,oklch(68% .25 28/.95) 100%);animation:7s ease-in-out infinite mtgAuraA}html[data-vibe=cyberpunk] .mtg-card:after{filter:blur(18px);background:radial-gradient(#0000 42%,oklch(70% .14 300/.9) 52%,oklch(70% .14 300/.4) 62%,#0000 78%);animation:9s ease-out infinite mtgRipple}@keyframes mtgAuraA{0%{opacity:.7;transform:scale(1)}30%{opacity:.88;transform:scale(1)}47%{opacity:.98;transform:scale(1)}49%{opacity:1;transform:scale(1.035)}52%{opacity:1;transform:scale(1)}70%{opacity:.88;transform:scale(1)}to{opacity:.7;transform:scale(1)}}@keyframes mtgRipple{0%{opacity:.9}60%{opacity:.35}to{opacity:0}}html[data-vibe=cyberpunk] .mtg-card:hover{box-shadow:0 60px 100px -20px #000000b3, 0 0 0 1px var(--accent), 0 0 120px -10px var(--accent);animation:none}@media (prefers-reduced-motion:reduce){html[data-vibe=cyberpunk] .mtg-card{animation:none}}html[data-vibe=cyberpunk] .mtg-frame{position:relative;overflow:hidden}html[data-vibe=cyberpunk] .mtg-frame:before,html[data-vibe=cyberpunk] .mtg-frame:after{content:"";pointer-events:none;opacity:0;z-index:4;position:absolute}html[data-vibe=cyberpunk] .mtg-frame:before{mix-blend-mode:screen;filter:blur(.4px);background:linear-gradient(45deg,#0000 32%,#ffffff0a 38%,oklch(70% .22 250/.4) 42%,oklch(82% .21 195/.55) 46%,#fff0c88c 50%,oklch(72% .28 340/.45) 54%,oklch(70% .14 300/.4) 58%,#ffffff0a 62%,#0000 68%);inset:-25%;transform:translate(-70%,70%)}html[data-vibe=cyberpunk] .mtg-frame:after{mix-blend-mode:screen;filter:blur(1px);background:radial-gradient(circle,#fff 0%,#fffad2d9 8%,oklch(72% .28 340/.45) 22%,oklch(82% .21 195/.22) 45%,#0000 70%);width:110px;height:110px;top:-6px;right:-6px;transform:scale(.2)}html[data-vibe=cyberpunk] .mtg-card:hover .mtg-frame:before{animation:1.8s cubic-bezier(.42,0,.18,1) forwards heroFoilSweep}html[data-vibe=cyberpunk] .mtg-card:hover .mtg-frame:after{animation:.65s cubic-bezier(.2,.7,.3,1) 1.55s forwards heroGleamPulse}@keyframes heroFoilSweep{0%{opacity:0;transform:translate(-70%,70%)}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(70%,-70%)}}@keyframes heroGleamPulse{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){html[data-vibe=cyberpunk] .mtg-card:hover .mtg-frame:before,html[data-vibe=cyberpunk] .mtg-card:hover .mtg-frame:after{animation:none}}html[data-vibe=cyberpunk] .mtg-type,html[data-vibe=cyberpunk] .mtg-setsymbol,html[data-vibe=cyberpunk] .mtg-rule,html[data-vibe=cyberpunk] .mtg-flavor{color:#0000;text-shadow:none;background-image:linear-gradient(90deg,oklch(72% .22 250) 0%,oklch(72% .25 28) 100%);-webkit-background-clip:text;background-clip:text}html[data-vibe=cyberpunk] .mtg-name{color:oklch(70% .14 300);text-shadow:0 0 10px oklch(70% .14 300/.4);background-image:none;-webkit-background-clip:border-box;background-clip:border-box}html[data-vibe=cyberpunk] .mtg-titlebar,html[data-vibe=cyberpunk] .mtg-typebar,html[data-vibe=cyberpunk] .mtg-textbox,html[data-vibe=cyberpunk] .mtg-art,html[data-vibe=cyberpunk] .mtg-pt{border-color:oklch(82% .21 195/.55);box-shadow:inset 0 0 0 1px oklch(82% .21 195/.15),0 0 12px -4px oklch(82% .21 195/.3)}html[data-vibe=cyberpunk] .mtg-titlebar,html[data-vibe=cyberpunk] .mtg-typebar{background:linear-gradient(90deg,oklch(22% .04 260),oklch(14% .03 260))}html[data-vibe=cyberpunk] .mtg-textbox{background:linear-gradient(oklch(16% .03 260),oklch(11% .02 260))}html[data-vibe=cyberpunk] .mtg-flavor{border-top-color:oklch(82% .21 195/.35)}html[data-vibe=cyberpunk] .mtg-pt{color:oklch(70% .14 300);text-shadow:0 0 10px oklch(70% .14 300/.4);background-image:linear-gradient(135deg,oklch(22% .04 260),oklch(14% .03 260));-webkit-background-clip:padding-box;background-clip:padding-box;border-color:oklch(70% .14 300/.55);box-shadow:inset 0 0 0 1px oklch(70% .14 300/.2),0 0 14px -4px oklch(70% .14 300/.35)}html[data-vibe=cyberpunk] .hero-meta{color:var(--ink-cool)}html[data-vibe=cyberpunk] .hero-meta .status-label{color:var(--ink)}html[data-vibe=cyberpunk] .hero-meta .status-dot{box-shadow:0 0 0 4px var(--accent-soft), 0 0 14px var(--accent)}html[data-vibe=cyberpunk] .hero-meta .sep{color:var(--accent-2);opacity:.85}html[data-vibe=cyberpunk] .hero-meta .open-to{color:var(--ink)}html[data-vibe=cyberpunk] .skills-table{border-color:oklch(82% .21 195/.3);border-radius:0}html[data-vibe=cyberpunk] .skills-head{border-bottom-color:oklch(82% .21 195/.3)}html[data-vibe=cyberpunk] .skill-row{border-bottom-color:oklch(82% .21 195/.14)}html[data-vibe=cyberpunk] .skill-row:hover{background:color-mix(in oklab, var(--accent) 6%, var(--bg-card))}html[data-vibe=cyberpunk] .skill-bar{background:oklch(82% .21 195/.1)}html[data-vibe=cyberpunk] .skill-bar-fill{background:var(--accent)}html[data-vibe=cyberpunk] .skill-row .yrs{color:var(--accent)}html[data-vibe=cyberpunk] .feature{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 40px oklch(82% .21 195/.18);border-radius:0}html[data-vibe=cyberpunk] .feature:before{background:radial-gradient(700px 350px at 100% 0,oklch(72% .28 340/.14),#0000 60%),radial-gradient(500px 250px at 0 100%,oklch(82% .21 195/.11),#0000 60%)}html[data-vibe=cyberpunk] .feature .tag{color:var(--accent-3);background:color-mix(in oklab, var(--accent-3) 14%, transparent);box-shadow:inset 0 0 0 1px var(--accent-3);border-radius:0}html[data-vibe=cyberpunk] .feature .tag:before{background:var(--accent-3);box-shadow:0 0 10px var(--accent-3)}html[data-vibe=cyberpunk] .feature .kpi .v{color:var(--accent);text-shadow:0 0 14px var(--accent-soft);font-family:var(--display);letter-spacing:var(--tracking-snug);font-weight:600}html[data-vibe=cyberpunk] .feature .kpi .v .u{color:var(--accent-2)}html[data-vibe=cyberpunk] .pipe{background:var(--bg);border-radius:0}html[data-vibe=cyberpunk] .pipe-node{background:var(--bg-elev);border-radius:0}html[data-vibe=cyberpunk] .pipe-node.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 28px var(--accent-soft)}html[data-vibe=cyberpunk] .pipe-node .glyph{color:var(--accent);text-shadow:0 0 10px var(--accent)}html[data-vibe=cyberpunk] .projects-tabs{border-bottom-color:oklch(82% .21 195/.25)}html[data-vibe=cyberpunk] .projects-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}html[data-vibe=cyberpunk] .project-list{background:oklch(82% .21 195/.18);border-color:oklch(82% .21 195/.25);border-radius:0}html[data-vibe=cyberpunk] .project-row:hover{background:color-mix(in oklab, var(--accent) 5%, var(--bg))}html[data-vibe=cyberpunk] .project-row.expanded{background:color-mix(in oklab, var(--accent-2) 7%, var(--bg-elev))}html[data-vibe=cyberpunk] .project-row:before{background:var(--accent);box-shadow:0 0 12px var(--accent)}html[data-vibe=cyberpunk] .project-row:hover .ptitle{color:var(--accent)}html[data-vibe=cyberpunk] .project-row .pmeta .tag{background:var(--bg-elev);border-radius:0}html[data-vibe=cyberpunk] .project-detail{border-top-color:var(--accent)}html[data-vibe=cyberpunk] .project-detail .stack span{border-radius:0}html[data-vibe=cyberpunk] .project-detail .stack span:hover{box-shadow:0 0 0 1px var(--accent), 0 0 16px var(--accent-soft)}html[data-vibe=cyberpunk] .project-detail .metrics .v{color:var(--accent);text-shadow:0 0 12px var(--accent-soft);font-family:var(--display);letter-spacing:var(--tracking-snug);font-weight:600}html[data-vibe=cyberpunk] .git-connector{stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent-soft))}html[data-vibe=cyberpunk] .commit{background:color-mix(in oklab, var(--accent) 3%, var(--bg-card));border-color:oklch(82% .21 195/.3);border-radius:0}html[data-vibe=cyberpunk] .commit:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 48px var(--accent-soft)}html[data-vibe=cyberpunk] .commit:before{border-color:var(--accent);box-shadow:0 0 10px var(--accent)}html[data-vibe=cyberpunk] .commit.current:before{background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 14px var(--accent-2), 0 0 0 4px oklch(72% .28 340/.28)}html[data-vibe=cyberpunk] .commit .role{font-size:var(--text-subtitle)}html[data-vibe=cyberpunk] .commit .company{color:var(--accent)}html[data-vibe=cyberpunk] .commit ul li:before{color:var(--accent-3)}html[data-vibe=cyberpunk] .commit ul li strong{color:var(--accent-2)}html[data-vibe=cyberpunk] .resume-toggle{border-radius:0}html[data-vibe=cyberpunk] .resume-toggle button.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 16px var(--accent-soft)}html[data-vibe=cyberpunk] .writing-grid{background:oklch(82% .21 195/.14);border-color:oklch(82% .21 195/.25);border-radius:0}html[data-vibe=cyberpunk] .article:hover{background:color-mix(in oklab, var(--accent) 6%, var(--bg))}html[data-vibe=cyberpunk] .article .cats{color:var(--accent-3)}html[data-vibe=cyberpunk] .article h4{font-size:var(--text-body);letter-spacing:var(--tracking-normal)}html[data-vibe=cyberpunk] .contact{border-top-color:var(--accent);box-shadow:0 -1px 0 var(--accent)}html[data-vibe=cyberpunk] .contact-form{border-color:oklch(82% .21 195/.4);border-radius:0}html[data-vibe=cyberpunk] .contact-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 56px var(--accent-soft)}html[data-vibe=cyberpunk] .contact-form input,html[data-vibe=cyberpunk] .contact-form textarea{background:var(--bg);border-radius:0}html[data-vibe=cyberpunk] .contact-form input:focus,html[data-vibe=cyberpunk] .contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 20px var(--accent-soft)}html[data-vibe=cyberpunk] .fact-list{border-top-color:oklch(82% .21 195/.25)}html[data-vibe=cyberpunk] .fact-list .fact{border-bottom-color:oklch(82% .21 195/.14)}html[data-vibe=cyberpunk] .fact-list .fact:before{background:var(--accent);box-shadow:0 0 6px var(--accent)}html[data-vibe=cyberpunk] .fact-list .fact a{color:var(--accent);border-bottom-color:var(--accent);text-shadow:0 0 8px var(--accent-soft)}html[data-vibe=cyberpunk] .section-label{color:var(--accent);text-shadow:0 0 8px var(--accent-soft)}html[data-vibe=cyberpunk] .section-label:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}html[data-vibe=cyberpunk] .section-label .num{color:var(--accent-2);text-shadow:0 0 8px var(--accent-2)}.izzet-card{background:linear-gradient(135deg, color-mix(in oklab, var(--bg-card) 92%, transparent) 0%, color-mix(in oklab, var(--bg-elev) 92%, transparent) 100%);border:1px solid var(--line-bright);isolation:isolate;border-radius:8px;padding:56px clamp(28px,4vw,64px);position:relative;overflow:visible;box-shadow:0 0 180px 12px oklch(60% .14 305/.18),0 0 300px 40px oklch(55% .1 300/.09)}html[data-theme=light] .izzet-card{background:linear-gradient(135deg, color-mix(in oklab, var(--bg-card) 96%, transparent) 0%, color-mix(in oklab, var(--bg-elev) 88%, transparent) 100%);box-shadow:0 0 140px 10px oklch(78% .12 305/.1),0 0 220px 32px oklch(78% .1 280/.06)}html[data-theme=light] .izzet-card.izzet-blue:before,html[data-theme=light] .izzet-card.izzet-red:before{opacity:.32}html[data-theme=light] .izzet-card.izzet-blue:after,html[data-theme=light] .izzet-card.izzet-red:after{opacity:.3}@media (width<=700px){.izzet-card{padding:36px 22px;box-shadow:0 0 60px oklch(60% .14 305/.18)}.izzet-card:before,.izzet-card:after{filter:blur(22px);border-radius:12px;inset:-18px}}.izzet-card:before,.izzet-card:after{content:"";z-index:-1;pointer-events:none;filter:blur(46px);border-radius:20px;transition:opacity .6s;position:absolute;inset:-56px}.izzet-card.izzet-blue:before{opacity:.42;background:linear-gradient(135deg,oklch(70% .22 250/.8) 0%,oklch(70% .22 250/.65) 40%,oklch(66% .19 280/.55) 62%,oklch(62% .16 300/.42) 82%,oklch(58% .13 310/.22) 100%);animation:7s ease-in-out infinite izzetBreath}.izzet-card.izzet-blue:after{filter:blur(30px);opacity:.45;background:radial-gradient(at 95% 5%,oklch(70% .22 250/.55) 0%,oklch(68% .18 285/.28) 45%,oklch(60% .14 305/.1) 75%,#0000 90%);animation:9s ease-out infinite izzetPulse}.izzet-card.izzet-red:before{opacity:.48;background:linear-gradient(135deg,oklch(68% .25 28/.5) 0%,oklch(66% .18 320/.6) 22%,oklch(68% .25 28/.85) 48%,oklch(64% .17 310/.55) 78%,oklch(58% .13 305/.28) 100%);animation:7s ease-in-out -3.5s infinite izzetBreath}.izzet-card.izzet-red:after{filter:blur(30px);opacity:.52;background:radial-gradient(at 5% 95%,oklch(68% .25 28/.6) 0%,oklch(65% .18 320/.28) 40%,oklch(60% .14 305/.12) 72%,#0000 90%);animation:9s ease-out -4.5s infinite izzetPulse}@keyframes izzetBreath{0%{opacity:.7;transform:scale(1)}30%{opacity:.86;transform:scale(1)}47%{opacity:.96;transform:scale(1)}49%{opacity:1;transform:scale(1.012)}52%{opacity:1;transform:scale(1)}70%{opacity:.86;transform:scale(1)}to{opacity:.7;transform:scale(1)}}@keyframes izzetPulse{0%{opacity:.75}60%{opacity:.3}to{opacity:0}}.izzet-card .izzet-seal{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.izzet-card .izzet-seal rect{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;transition:stroke-dashoffset 2.2s cubic-bezier(.4,0,.2,1),opacity .8s}.izzet-card.izzet-blue .izzet-seal rect{stroke:oklch(72% .22 250);filter:drop-shadow(0 0 10px oklch(72% .22 250/.6))}.izzet-card.izzet-red .izzet-seal rect{stroke:oklch(72% .25 28);filter:drop-shadow(0 0 10px oklch(72% .25 28/.6))}.izzet-card.in-view .izzet-seal rect{stroke-dashoffset:0;opacity:.9}.izzet-card .izzet-corner{pointer-events:none;z-index:1;opacity:0;width:14px;height:14px;transition:opacity .5s 1.8s,transform .6s cubic-bezier(.4,0,.2,1) 1.8s;position:absolute;transform:scale(.2)}.izzet-card .izzet-corner.tl{border-top:1.5px solid;border-left:1.5px solid;top:-6px;left:-6px}.izzet-card .izzet-corner.tr{border-top:1.5px solid;border-right:1.5px solid;top:-6px;right:-6px}.izzet-card .izzet-corner.bl{border-bottom:1.5px solid;border-left:1.5px solid;bottom:-6px;left:-6px}.izzet-card .izzet-corner.br{border-bottom:1.5px solid;border-right:1.5px solid;bottom:-6px;right:-6px}.izzet-card.izzet-blue .izzet-corner{color:oklch(78% .22 250);filter:drop-shadow(0 0 6px oklch(72% .22 250/.7))}.izzet-card.izzet-red .izzet-corner{color:oklch(78% .25 28);filter:drop-shadow(0 0 6px oklch(72% .25 28/.7))}.izzet-card.in-view .izzet-corner{opacity:1;transform:scale(1)}html[data-vibe=cyberpunk] .izzet-card .izzet-split .izzet-text-left,html[data-vibe=cyberpunk] .izzet-card .izzet-split .izzet-text-right{color:#0000;-webkit-background-clip:text;background-clip:text}html[data-vibe=cyberpunk] .izzet-card .izzet-split .izzet-text-left{background-image:linear-gradient(90deg,oklch(82% .21 250) 0%,oklch(72% .22 250) 100%)}html[data-vibe=cyberpunk] .izzet-card .izzet-split .izzet-text-right{background-image:linear-gradient(90deg,oklch(72% .25 28) 0%,oklch(82% .21 28) 100%)}html[data-vibe=cyberpunk] .izzet-card .izzet-split em{color:oklch(78% .15 300);text-shadow:0 0 24px oklch(70% .14 300/.8),0 0 48px oklch(70% .14 300/.4)}html[data-vibe=cyberpunk] .izzet-card.izzet-blue .fact-list .fact:before{background:oklch(72% .22 250);box-shadow:0 0 10px oklch(72% .22 250)}html[data-vibe=cyberpunk] .izzet-card.izzet-red .fact-list .fact:before{background:oklch(72% .25 28);box-shadow:0 0 10px oklch(72% .25 28)}html[data-vibe=cyberpunk] .izzet-card.izzet-blue .fact-list .fact:hover{color:oklch(88% .12 250)}html[data-vibe=cyberpunk] .izzet-card.izzet-red .fact-list .fact:hover{color:oklch(88% .14 28)}.about .izzet-card,section .izzet-card{margin-top:8px}@media (prefers-reduced-motion:reduce){.izzet-card:before,.izzet-card:after{animation:none!important}.izzet-card .izzet-seal rect{stroke-dashoffset:0;opacity:.9;transition:none}.izzet-card .izzet-corner{opacity:1;transition:none;transform:none}}html[data-vibe=cyberpunk] .izzet-card.izzet-red .izzet-split .izzet-text-left{background-image:linear-gradient(90deg,oklch(82% .21 28) 0%,oklch(72% .25 28) 100%)}html[data-vibe=cyberpunk] .izzet-card.izzet-red .izzet-split .izzet-text-right{background-image:linear-gradient(90deg,oklch(72% .22 250) 0%,oklch(82% .21 250) 100%)}html[data-vibe=cyberpunk] .izzet-card .skills-table{background:oklab(13.6182% .00207824 .0061563/.72);border:1px solid oklch(72% .25 28/.35);border-radius:6px;padding:10px 16px;box-shadow:inset 0 0 0 1px oklch(72% .25 28/.08),0 0 42px oklch(68% .25 28/.15)}html[data-vibe=cyberpunk] .izzet-card .skills-head{color:oklch(92% .14 55);text-shadow:0 0 10px oklch(80% .22 28/.35);background:oklab(22% .0529769 .0281683/.85);border-bottom-color:oklch(72% .25 28/.3)}html[data-vibe=cyberpunk] .izzet-card .skills-head>div{color:oklch(92% .14 55)}html[data-vibe=cyberpunk] .izzet-card .skill-row{border-bottom-color:oklch(72% .25 28/.12);transition:background .3s,box-shadow .3s}html[data-vibe=cyberpunk] .izzet-card .skill-row .name{color:oklch(96% .03 60)}html[data-vibe=cyberpunk] .izzet-card .skill-row .use{color:oklch(82% .04 60)}html[data-vibe=cyberpunk] .izzet-card .skill-row .yrs{color:oklch(88% .16 28);text-shadow:0 0 8px oklch(80% .22 28/.5)}html[data-vibe=cyberpunk] .izzet-card .skill-row:hover{background:linear-gradient(90deg,oklch(72% .22 250/.08) 0%,oklch(72% .25 28/.08) 100%);box-shadow:inset 0 0 0 1px oklch(72% .25 28/.2),0 0 22px -8px oklch(72% .25 28/.5)}html[data-vibe=cyberpunk] .izzet-card .skill-row .idx{color:oklch(72% .22 250)}html[data-vibe=cyberpunk] .izzet-card .skill-row .name .accent{color:oklch(78% .25 28);text-shadow:0 0 10px oklch(72% .25 28/.8)}html[data-vibe=cyberpunk] .izzet-card .skill-bar{background:oklch(25% .03 260/.6);border-radius:0}html[data-vibe=cyberpunk] .izzet-card .skill-bar-fill{background:linear-gradient(90deg,oklch(74% .22 250) 0%,oklch(72% .22 260) 30%,oklch(70% .18 310) 55%,oklch(72% .25 28) 85%,oklch(80% .22 28) 100%);box-shadow:0 0 18px oklch(72% .25 28/.55),inset 0 0 8px oklch(80% .22 28/.3)}html[data-vibe=cyberpunk] .izzet-card .skill-bar-fill:after{content:"";opacity:.85;background:linear-gradient(90deg,#0000 0%,oklch(92% .18 28) 100%);width:6px;height:100%;animation:none;position:absolute;top:0;right:0;transform:none;box-shadow:0 0 10px oklch(92% .18 28),0 0 22px oklch(80% .22 28/.7)}.izzet-card.izzet-blue:hover:before{opacity:.72}.izzet-card.izzet-blue:hover:after{opacity:.65}.izzet-card.izzet-red:hover:before{opacity:1}.izzet-card.izzet-red:hover:after{opacity:.6}html[data-vibe=cyberpunk] .izzet-card p{color:oklch(94% .02 60)}html[data-vibe=cyberpunk] .izzet-card p strong{color:oklch(98% .03 60);font-weight:500}html[data-vibe=cyberpunk] .izzet-card p.dim{color:oklch(90% .02 60)}html[data-vibe=cyberpunk] .izzet-card.izzet-blue .fact-list .fact>:first-child{color:oklch(82% .03 60)}html[data-vibe=cyberpunk] .izzet-card.izzet-blue .fact-list .fact>:nth-child(2){color:oklch(94% .02 60)}html[data-vibe=cyberpunk] .izzet-card.izzet-blue .fact-list .fact .accent{color:oklch(82% .18 250);text-shadow:0 0 10px oklch(72% .22 250/.5)}.prerender-home{display:none}.featured-tile{background:var(--bg);cursor:pointer;min-height:100%;color:inherit;flex-direction:column;gap:10px;padding:28px 30px;transition:background .25s;display:flex;position:relative;overflow:hidden}.featured-tile:hover{background:var(--bg-elev)}.featured-tile .cats{font-family:var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;z-index:2;font-size:10px;position:relative}.featured-tile h4{font-family:var(--serif);letter-spacing:-.01em;z-index:2;margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:400;line-height:1.2;transition:color .2s;position:relative}.featured-tile:hover h4{color:var(--accent)}.featured-tile .meta{font-family:var(--mono);color:var(--ink-mute);z-index:2;gap:14px;margin-top:auto;padding-top:14px;font-size:10px;display:flex;position:relative}.featured-tile .flair-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.featured-tile .badge{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase;z-index:3;border:1px solid var(--line-bright);background:color-mix(in oklab, var(--bg) 70%, transparent);padding:4px 8px;font-size:9px;position:absolute;top:14px;right:16px}.featured-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.featured-tile *,.featured-tile :before,.featured-tile :after{transition-duration:.15s!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.research-loop-card .loop-svg{opacity:.55;width:100%;height:100%;position:absolute;inset:0}.research-loop-card .loop-path{fill:none;stroke:var(--accent);stroke-width:.8px;stroke-dasharray:3 4;opacity:.55}.research-loop-card .loop-node circle{fill:var(--ink-mute);transition:fill .25s}.research-loop-card .loop-node.active circle{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.research-loop-card .loop-node .loop-label{font-family:var(--mono);fill:var(--ink-mute);letter-spacing:.08em;text-transform:uppercase;font-size:7px;transition:fill .25s}.research-loop-card .loop-node.active .loop-label{fill:var(--ink)}.research-loop-card .loop-dot{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent));transition:cx .6s cubic-bezier(.4,0,.2,1),cy .6s cubic-bezier(.4,0,.2,1)}.research-loop-card.is-hover .loop-dot{transition-duration:.2s}.research-loop-card .loop-adv-pulse{stroke:oklch(68% .18 25);stroke-width:0;opacity:0}.research-loop-card.is-hover .loop-adv-pulse{animation:.9s ease-out 50ms loop-adv}@keyframes loop-adv{0%{stroke-width:0;opacity:0}30%{stroke-width:2px;opacity:.8}to{stroke-width:0;opacity:0}}.research-loop-card .loop-replication{fill:none;stroke:oklch(72% .13 150);stroke-width:0;opacity:0}.research-loop-card.is-hover .loop-replication{animation:1.1s ease-out .5s loop-rep}@keyframes loop-rep{0%{stroke-width:0;opacity:0;transform-origin:50%;transform:scale(.85)}40%{stroke-width:1.5px;opacity:.7}to{stroke-width:0;opacity:0;transform:scale(1.05)}}.research-loop-card .iter-counter{font-family:var(--mono);color:var(--ink-mute);z-index:2;align-items:baseline;gap:6px;font-size:10px;display:flex;position:absolute;bottom:56px;left:24px}.research-loop-card .iter-counter .iter-label{text-transform:uppercase;letter-spacing:.1em}.research-loop-card .iter-counter .iter-num{color:var(--accent);font-size:14px;font-weight:600}@media (prefers-reduced-motion:reduce){.research-loop-card .loop-dot{transition:none}.research-loop-card.is-hover .loop-adv-pulse,.research-loop-card.is-hover .loop-replication{animation:none}}.at-home-media-card{--accent:oklch(75% .14 70);--accent-soft:oklch(75% .14 70/.14)}.at-home-media-card .vignette{background:radial-gradient(#0000 55%,#00000073 100%);position:absolute;inset:0}.at-home-media-card .amh-title{position:relative}.at-home-media-card .amh-title:before,.at-home-media-card .amh-title:after{content:attr(data-text);pointer-events:none;opacity:.45;transition:transform .3s,opacity .3s;position:absolute;top:0;left:0}.at-home-media-card .amh-title:before{color:oklch(68% .18 25);transform:translate(-1.5px)}.at-home-media-card .amh-title:after{color:oklch(72% .13 195);transform:translate(1.5px)}.at-home-media-card.is-hover .amh-title:before,.at-home-media-card.is-hover .amh-title:after{opacity:0;transform:translate(0)}.at-home-media-card .now-playing{font-family:var(--mono);z-index:2;align-items:baseline;gap:10px;margin-top:6px;font-size:11px;display:flex;position:relative}.at-home-media-card .np-label{color:var(--accent);letter-spacing:.12em}.at-home-media-card .np-current{color:var(--ink-dim);transition:opacity .3s}.at-home-media-card .progress-row{z-index:2;align-items:center;gap:10px;display:flex;position:relative}.at-home-media-card .progress-bar{background:var(--line);flex:1;height:3px;position:relative;overflow:hidden}.at-home-media-card .progress-fill{background:var(--accent);width:100%;height:100%;box-shadow:0 0 8px var(--accent-soft);transform-origin:0;will-change:transform;transition:transform .6s linear}.at-home-media-card .timecode{font-family:var(--mono);color:var(--ink-mute);min-width:36px;font-size:10px}.at-home-media-card .chips{z-index:2;gap:6px;margin-top:2px;display:flex;position:relative}.at-home-media-card .chip{font-family:var(--mono);letter-spacing:.1em;border:1px solid color-mix(in oklab, var(--accent) 50%, var(--line));color:var(--accent);padding:2px 6px;font-size:9px}.at-home-media-card .play-overlay{color:var(--accent);opacity:0;pointer-events:none;z-index:3;text-shadow:0 0 24px var(--accent);justify-content:center;align-items:center;font-size:64px;transition:opacity .25s ease-out,transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:scale(.5)}.at-home-media-card.is-hover .play-overlay{opacity:.9;transform:scale(1)}@media (prefers-reduced-motion:reduce){.at-home-media-card .progress-fill{transition:none;transform:scaleX(1)}.at-home-media-card .play-overlay{transition:opacity .15s}}.obsidian-wiki-card .graph-svg{opacity:.55;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.obsidian-wiki-card.is-hover .graph-svg{opacity:.85}.obsidian-wiki-card .graph-edge{stroke:var(--accent);stroke-width:.6px}.obsidian-wiki-card .graph-node{fill:var(--accent);filter:drop-shadow(0 0 4px var(--accent-soft))}.obsidian-wiki-card .graph-counter{z-index:1;pointer-events:none;text-align:right;position:absolute;bottom:56px;right:28px}.obsidian-wiki-card .count-sub{margin-left:auto}.obsidian-wiki-card h4{z-index:3;max-width:70%;position:relative}.obsidian-wiki-card .count-num{font-family:var(--display,var(--mono));color:var(--ink);letter-spacing:-.02em;text-shadow:0 0 16px var(--accent-soft);font-size:clamp(56px,8vw,96px);font-weight:700;line-height:1}.obsidian-wiki-card .count-sub{font-family:var(--mono);color:var(--ink-mute);letter-spacing:.12em;text-transform:uppercase;max-width:60%;margin-top:8px;font-size:10px}@media (prefers-reduced-motion:reduce){.obsidian-wiki-card .graph-edge{opacity:.4!important}}.emerald-exchange-card{--accent:oklch(62% .18 158);--accent-soft:oklch(62% .18 158/.16);--gem-rim:oklch(94% .008 158)}.emerald-exchange-card .kraken-svg{width:100%;height:100%;transition:filter .3s;position:absolute;inset:0}.emerald-exchange-card.is-hover .kraken-svg{filter:drop-shadow(0 0 6px var(--accent-soft))}.emerald-exchange-card .kraken-tentacle{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;filter:drop-shadow(0 0 3px var(--accent-soft))}.emerald-exchange-card.in-view .kraken-tentacle{opacity:.92;animation:kraken-draw 1.2s cubic-bezier(.16, 1, .3, 1) var(--delay,0s) forwards}.emerald-exchange-card .kraken-tentacle--front{stroke-width:1.7px}@keyframes kraken-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.emerald-exchange-card.in-view.is-hover .kraken-tentacle{animation:kraken-draw 1.2s cubic-bezier(.16, 1, .3, 1) var(--delay,0s) forwards, kraken-ripple .65s ease-in-out calc(var(--delay,0s) + 1s) 1}@keyframes kraken-ripple{0%{transform:translate(0,0)rotate(0)}50%{transform:translate(.8px,-.6px)rotate(.6deg)}to{transform:translate(0,0)rotate(0)}}.emerald-exchange-card .kraken-body{fill:var(--accent);opacity:0;transition:opacity .6s ease-out .6s}.emerald-exchange-card.in-view .kraken-body{opacity:.1}.emerald-exchange-card .kraken-gem-fill{fill:var(--accent);opacity:0;transition:opacity .5s ease-out .45s,filter .4s}.emerald-exchange-card.in-view .kraken-gem-fill{opacity:1;filter:drop-shadow(0 0 12px var(--accent-soft))}.emerald-exchange-card.is-hover .kraken-gem-fill{filter:drop-shadow(0 0 18px var(--accent))}.emerald-exchange-card .kraken-gem-stroke{fill:none;stroke:var(--gem-rim);stroke-width:.6px;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.75}.emerald-exchange-card.in-view .kraken-gem-stroke{animation:.8s cubic-bezier(.16,1,.3,1) .35s forwards kraken-draw}.emerald-exchange-card .kraken-gem-facet{fill:none;stroke:var(--gem-rim);stroke-width:.4px;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.55}.emerald-exchange-card.in-view .kraken-gem-facet{animation:kraken-draw .55s cubic-bezier(.16, 1, .3, 1) var(--delay,.4s) forwards}.emerald-exchange-card .exchange-marker{z-index:1;pointer-events:none;text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:56px;right:28px}.emerald-exchange-card h4{z-index:3;max-width:64%;position:relative}.emerald-exchange-card .exchange-marker__bracket{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;text-shadow:0 0 8px var(--accent-soft);font-size:clamp(13px,1.4vw,17px)}.emerald-exchange-card .exchange-marker__label{font-family:var(--mono);color:var(--ink-mute);letter-spacing:.12em;text-transform:uppercase;max-width:180px;font-size:9px}@media (prefers-reduced-motion:reduce){.emerald-exchange-card .kraken-tentacle,.emerald-exchange-card .kraken-gem-stroke,.emerald-exchange-card .kraken-gem-facet{stroke-dashoffset:0!important;opacity:.85!important;animation:none!important}.emerald-exchange-card .kraken-gem-fill{transition:none;opacity:1!important}.emerald-exchange-card .kraken-body{transition:none;opacity:.12!important}}@media (width<=780px){.featured-tile{gap:10px;padding:48px 22px 22px}.featured-tile h4{font-size:1.0625rem;line-height:1.3}.featured-tile .cats{margin-top:0}.featured-tile .badge{padding:3px 7px;font-size:8px;top:12px;right:12px}.research-loop-card .loop-svg{opacity:.18}.research-loop-card .loop-node .loop-label,.research-loop-card .iter-counter{display:none}.at-home-media-card .vignette{background:radial-gradient(#0000 35%,#0009 100%)}.at-home-media-card .amh-title:before,.at-home-media-card .amh-title:after{display:none}.obsidian-wiki-card .graph-svg{opacity:.22}.obsidian-wiki-card .graph-counter{margin-top:8px;position:relative;top:auto;bottom:auto;left:0;transform:none}.obsidian-wiki-card .count-num{text-shadow:none;font-size:40px}.obsidian-wiki-card .count-sub{max-width:none;margin-top:2px;font-size:9px}.emerald-exchange-card .kraken-svg{opacity:.32}.emerald-exchange-card .exchange-marker{text-align:left;align-items:flex-start;margin-top:8px;position:relative;bottom:auto;right:auto}.emerald-exchange-card .exchange-marker__bracket{text-shadow:none;font-size:14px}.emerald-exchange-card .exchange-marker__label{max-width:none;font-size:9px}}html[data-theme=light] .at-home-media-card .vignette{background:radial-gradient(#0000 60%,#3c28142e 100%)}html[data-theme=light] .research-loop-card .loop-svg,html[data-theme=light] .obsidian-wiki-card .graph-svg{opacity:.4}html[data-theme=light] .obsidian-wiki-card .count-num{text-shadow:0 0 18px var(--accent-soft)}html[data-theme=light] .emerald-exchange-card .kraken-svg,html[data-theme=light] .emerald-exchange-card .kraken-tentacle{filter:none}html[data-theme=light] .emerald-exchange-card .kraken-gem-stroke,html[data-theme=light] .emerald-exchange-card .kraken-gem-facet{stroke:oklch(25% .06 158)}html[data-theme=light] .emerald-exchange-card .exchange-marker__bracket{text-shadow:0 0 14px var(--accent-soft)}.mscard-stage{perspective:1600px;place-items:center;padding:24px 0;display:grid}.mscard-arena{isolation:isolate;width:340px;height:474px;position:relative}.mscard-aura{pointer-events:none;filter:blur(40px);background:linear-gradient(45deg,oklch(70% .22 250/.85) 0%,oklch(70% .22 250/.8) 44%,oklch(68% .25 28/.8) 56%,oklch(68% .25 28/.85) 100%);border-radius:28px;animation:7s ease-in-out infinite mscard-aura-breath;position:absolute;inset:-50px}.mscard-aura-ring{pointer-events:none;filter:blur(18px);background:radial-gradient(#0000 42%,oklch(70% .14 300/.9) 52%,oklch(70% .14 300/.45) 62%,#0000 78%);border-radius:28px;animation:9s ease-in-out infinite mscard-aura-ripple;position:absolute;inset:-30px}@keyframes mscard-aura-breath{0%{opacity:.7;transform:scale(1)}30%{opacity:.88;transform:scale(1)}47%{opacity:.98;transform:scale(1)}49%{opacity:1;transform:scale(1.035)}52%{opacity:1;transform:scale(1)}70%{opacity:.88;transform:scale(1)}to{opacity:.7;transform:scale(1)}}@keyframes mscard-aura-ripple{0%,to{opacity:.35}50%{opacity:.85}}.mscard-root{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;cursor:pointer;border-radius:16px;position:relative;transform:perspective(1200px)rotateY(0);box-shadow:0 32px 60px -18px #000000bf,0 14px 28px -10px #5032b447}.mscard-face{backface-visibility:hidden;background:#050308;border-radius:16px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(82% .21 195/.45),inset 0 0 14px oklch(82% .21 195/.12),inset 0 1px #ffffff0f}.mscard-back{transform:rotateY(180deg)}.mscard-frame{background:radial-gradient(80% 60% at 100% 100%,oklch(68% .25 28/.55) 0%,#0000 60%),radial-gradient(80% 60% at 0 0,oklch(70% .22 250/.6) 0%,#0000 55%),linear-gradient(135deg,#0c2444 0%,#07050d 50%,#5a160a 100%);border-radius:9px;flex-direction:column;gap:5px;padding:10px 11px 12px;display:flex;position:absolute;inset:9px;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1a,inset 0 -1px #0009}.mscard-titlebar{background:linear-gradient(#ffffff0f,#00000040);border-radius:4px;flex:0 0 32px;align-items:center;padding:0 8px;display:flex;box-shadow:inset 0 0 0 1px #000000d9,inset 0 1px #ffffff0d}.mscard-name{background:linear-gradient(90deg,#ffffff38 0%,#ffffff1f 60%,#0000 100%);border-radius:1px;flex:1;height:2px}.mscard-art{background:linear-gradient(#ffffff05,#00000059);border-radius:3px;flex:0 0 180px;box-shadow:inset 0 0 0 1px #000000d9,inset 0 0 0 2px #ffffff0a,inset 0 0 40px #0009}.mscard-typeline{background:linear-gradient(#ffffff0d,#00000038);border-radius:4px;flex:0 0 26px;justify-content:space-between;align-items:center;padding:0 8px;display:flex;box-shadow:inset 0 0 0 1px #000000d9}.mscard-typetext{background:linear-gradient(90deg,#ffffff2e 0%,#ffffff14 50%,#0000 100%);border-radius:1px;flex:1;height:2px;margin-right:10px}.mscard-set{place-items:center;width:18px;height:18px;display:grid}.mscard-set svg{filter:drop-shadow(0 0 4px oklch(82% .21 195/.85))drop-shadow(0 1px 1px #0009);width:100%;height:100%}.mscard-textbox{background:linear-gradient(#140e2466,#08041499);border-radius:3px;flex:1;position:relative;box-shadow:inset 0 0 0 1px #000000d9,inset 0 1px #ffffff0a,inset 0 -1px #0006}.mscard-pt{background:linear-gradient(#b8351f 0%,#5a160a 70%,#2a0a04 100%);border-radius:4px;width:56px;height:24px;position:absolute;bottom:-6px;right:-3px;box-shadow:inset 0 0 0 1px #000000d9,inset 0 1px #ffffff2e,0 2px 4px #00000080}.mscard-credit{opacity:.55;flex:0 0 10px;justify-content:space-between;align-items:center;padding:0 4px;display:flex}.mscard-credit span{background:#ffffff40;border-radius:1px;height:2px}.mscard-credit .left{width:90px}.mscard-credit .right{width:40px}.mscard-foil{pointer-events:none;opacity:0;mix-blend-mode:screen;filter:blur(.4px);background:linear-gradient(45deg,#0000 32%,#ffffff0a 38%,#aa6eff4d 42%,#78dcff73 46%,#fff0c88c 50%,#ffa0f073 54%,#8cffc859 58%,#ffffff0a 62%,#0000 68%);position:absolute;inset:-25%;transform:translate(-70%,70%)}.mscard-foil:after{content:"";mix-blend-mode:screen;filter:blur(.6px);background:linear-gradient(45deg,#0000 44%,#ffffff8c 49%,#ffffff0d 51%,#0000 56%);position:absolute;inset:0}.mscard-gleam{pointer-events:none;opacity:0;mix-blend-mode:screen;filter:blur(1px);background:radial-gradient(circle,#fff 0%,#fffad2d9 8%,#ffdcff80 22%,#b4dcff38 45%,#0000 70%);width:110px;height:110px;position:absolute;top:6px;right:6px;transform:scale(.2)}.mscard-gleam:before,.mscard-gleam:after{content:"";background:#fffffff2;border-radius:2px;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #ffffffe6}.mscard-gleam:before{width:2px;height:56px;transform:translate(-50%,-50%)}.mscard-gleam:after{width:56px;height:2px;transform:translate(-50%,-50%)}.mscard-back-frame{background:radial-gradient(80% 60% at 0 0,oklch(68% .25 28/.5) 0%,#0000 60%),radial-gradient(80% 60% at 100% 100%,oklch(70% .22 250/.55) 0%,#0000 55%),linear-gradient(135deg,#5a160a 0%,#07050d 50%,#0c2444 100%);border-radius:9px;place-items:center;display:grid;position:absolute;inset:9px;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1a,inset 0 -1px #0009}.mscard-back-frame:before,.mscard-back-frame:after{content:"";border:1px solid #ffffff47;border-radius:3px;width:28px;height:28px;position:absolute}.mscard-back-frame:before{border-bottom:none;border-right:none;top:14px;left:14px}.mscard-back-frame:after{border-top:none;border-left:none;bottom:14px;right:14px}.mscard-back-center{place-items:center;width:220px;height:220px;display:grid;position:relative}.mscard-back-glow{pointer-events:none;filter:blur(14px);opacity:.55;background:radial-gradient(circle,#b385ff8c 0%,#7850dc47 32%,#3c1e8c1f 55%,#0000 72%);position:absolute;inset:-10%}.mscard-back-ring{pointer-events:none;position:absolute;inset:0}.mscard-back-ring svg{width:100%;height:100%}.mscard-back-gem{filter:drop-shadow(0 0 12px oklch(70% .14 300/.95))drop-shadow(0 0 28px oklch(70% .14 300/.45));width:110px;height:110px;position:relative}.mscard-back-strip{background:linear-gradient(90deg,#0000 0%,#ffffff73 50%,#0000 100%);width:180px;height:1px;position:absolute;left:50%;transform:translate(-50%)}.mscard-back-strip-top{top:56px}.mscard-back-strip-bottom{bottom:56px}.mscard-back-strip:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff38 50%,#0000 100%);width:50%;height:1px;position:absolute;top:4px;left:25%}.mscard-root.is-playing .mscard-foil{animation:1.8s cubic-bezier(.42,0,.18,1) forwards mscard-foil-sweep}.mscard-root.is-playing .mscard-gleam{animation:.65s cubic-bezier(.2,.7,.3,1) 1.55s forwards mscard-gleam-pulse}.mscard-root.is-playing{animation:4s cubic-bezier(.45,0,.55,1) 2.3s forwards mscard-spin}.mscard-root.is-playing .mscard-back-glow{animation:4s ease-in-out 2.3s forwards mscard-back-glow-pulse}.mscard-root.is-playing .mscard-back-gem{animation:4s ease-in-out 2.3s forwards mscard-gem-pulse}@keyframes mscard-foil-sweep{0%{opacity:0;transform:translate(-70%,70%)}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(70%,-70%)}}@keyframes mscard-gleam-pulse{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes mscard-spin{0%{transform:perspective(1200px)rotateY(0)rotateX(0)translateZ(0)scale(1)}18%{transform:perspective(1200px)rotateY(90deg)rotateX(8deg)translateZ(60px)scale(1.04)}30%{transform:perspective(1200px)rotateY(180deg)rotateX(0)translateZ(60px)scale(1.15)}42%{transform:perspective(1200px)rotateY(180deg)rotateX(0)translateZ(120px)scale(1.35)}65%{transform:perspective(1200px)rotateY(180deg)rotateX(0)translateZ(120px)scale(1.35)}78%{transform:perspective(1200px)rotateY(180deg)rotateX(0)translateZ(60px)scale(1.15)}88%{transform:perspective(1200px)rotateY(270deg)rotateX(-8deg)translateZ(60px)scale(1.04)}to{transform:perspective(1200px)rotateY(360deg)rotateX(0)translateZ(0)scale(1)}}@keyframes mscard-back-glow-pulse{0%,25%{opacity:.55;transform:scale(1)}40%{opacity:.85;transform:scale(1.1)}50%{opacity:1;transform:scale(1.25)}60%{opacity:1;transform:scale(1.25)}75%,to{opacity:.55;transform:scale(1)}}@keyframes mscard-gem-pulse{0%,28%{filter:drop-shadow(0 0 12px oklch(70% .14 300/.95))drop-shadow(0 0 28px oklch(70% .14 300/.45));transform:scale(1)}45%{filter:drop-shadow(0 0 22px oklch(78% .22 300))drop-shadow(0 0 60px oklch(70% .18 300/.85))drop-shadow(0 0 110px oklch(70% .2 300/.55));transform:scale(1.18)}53%{filter:drop-shadow(0 0 14px oklch(72% .18 300/.85))drop-shadow(0 0 40px oklch(70% .14 300/.55));transform:scale(1.06)}62%{filter:drop-shadow(0 0 26px oklch(80% .24 300))drop-shadow(0 0 70px oklch(70% .2 300/.95))drop-shadow(0 0 130px oklch(70% .22 300/.65));transform:scale(1.22)}78%,to{filter:drop-shadow(0 0 12px oklch(70% .14 300/.95))drop-shadow(0 0 28px oklch(70% .14 300/.45));transform:scale(1)}}.mscard-arena.is-compact{width:240px;height:336px}.mscard-arena.is-compact .mscard-frame{gap:4px;padding:8px 9px 10px}.mscard-arena.is-compact .mscard-titlebar{flex-basis:22px}.mscard-arena.is-compact .mscard-art{flex-basis:128px}.mscard-arena.is-compact .mscard-typeline{flex-basis:18px}.mscard-arena.is-compact .mscard-pt{width:40px;height:17px;bottom:-4px;right:-2px}.mscard-arena.is-compact .mscard-back-center{width:160px;height:160px}.mscard-arena.is-compact .mscard-back-gem{width:78px;height:78px}.mscard-arena.is-compact .mscard-back-strip-top{width:130px;top:38px}.mscard-arena.is-compact .mscard-back-strip-bottom{width:130px;bottom:38px}@media (prefers-reduced-motion:reduce){.mscard-aura,.mscard-aura-ring,.mscard-root.is-playing,.mscard-root.is-playing .mscard-foil,.mscard-root.is-playing .mscard-gleam,.mscard-root.is-playing .mscard-back-glow,.mscard-root.is-playing .mscard-back-gem{animation:none}}
