@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--accent:#28348a;--accent-2:#3a49b8;--accent-text:#8e9bf2;--accent-glow-a:#28348a8c;--accent-glow-b:#5a6ce059;--bg:#08090b;--bg-1:#0c0e11;--bg-2:#111317;--panel:#ffffff06;--panel-2:#ffffff0a;--border:#ffffff14;--border-2:#ffffff24;--hairline:#ffffff0f;--text:#ededee;--text-2:#b6b8bf;--text-3:#82858e;--text-4:#5b5e67;--shadow-lg:0 24px 60px -20px #000000b3;--shadow-md:0 12px 32px -16px #0009;--glow:0 0 0 1px #ffffff0a, 0 20px 50px -24px var(--accent-glow-a);--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--maxw:1120px;--gutter:clamp(20px, 5vw, 48px);--radius:14px;--radius-lg:20px;--radius-sm:9px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--accent:#28348a;--accent-2:#1f2a73;--accent-text:#28348a;--accent-glow-a:#28348a33;--accent-glow-b:#28348a1a;--bg:#fbfbfc;--bg-1:#f6f6f8;--bg-2:#f0f1f4;--panel:#0a0c1e05;--panel-2:#0a0c1e09;--border:#0c0e1e1a;--border-2:#0c0e1e29;--hairline:#0c0e1e12;--text:#14151a;--text-2:#3f424b;--text-3:#6a6d77;--text-4:#9b9ea8;--shadow-lg:0 24px 60px -24px #14162838;--shadow-md:0 12px 30px -18px #1416282e;--glow:0 0 0 1px #0c0e1e0d, 0 20px 50px -28px var(--accent-glow-a);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv01", "cv11";transition:background .5s var(--ease), color .4s var(--ease);line-height:1.5;overflow-x:hidden}::selection,[data-theme=light] ::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img,svg{display:block}.bg-field{z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 50% -8%, var(--accent-glow-b), transparent 60%), radial-gradient(700px 500px at 85% 8%, var(--accent-glow-a), transparent 55%);opacity:.9;transition:opacity .5s var(--ease);position:fixed;inset:0}.bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--hairline) 1px, transparent 1px), linear-gradient(to bottom, var(--hairline) 1px, transparent 1px);opacity:.6;background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 55% at 50% 0,#000 5%,#0000 70%);mask-image:radial-gradient(90% 55% at 50% 0,#000 5%,#0000 70%)}.shell{z-index:1;position:relative}.wrap{width:100%;max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}section{position:relative}.section-pad{padding:clamp(72px,11vh,140px) 0}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:10px;font-size:12px;display:inline-flex}.eyebrow .idx{color:var(--accent-text)}.eyebrow:before{content:"";background:var(--border-2);width:22px;height:1px}.section-head{max-width:720px;margin-bottom:clamp(40px,6vh,64px)}.section-head h2{letter-spacing:-.025em;text-wrap:balance;margin-top:18px;font-size:clamp(28px,4.4vw,46px);font-weight:600;line-height:1.05}.section-head p{color:var(--text-2);text-wrap:pretty;max-width:60ch;margin-top:18px;font-size:clamp(15px,1.6vw,18px)}.btn{letter-spacing:-.01em;height:44px;transition:transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .2s;white-space:nowrap;will-change:transform;border-radius:10px;align-items:center;gap:9px;padding:0 18px;font-size:14.5px;font-weight:500;display:inline-flex;position:relative}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 0 #ffffff1f inset, 0 10px 24px -12px var(--accent-glow-a)}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-2);background:var(--panel)}.btn-sm{height:38px;padding:0 14px;font-size:13.5px}.btn:disabled{opacity:.6;cursor:progress}.badge{border:1px solid var(--border);background:var(--panel-2);height:30px;color:var(--text-2);letter-spacing:-.005em;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:inline-flex}.dot{background:#2fbf71;border-radius:50%;width:7px;height:7px;position:relative;box-shadow:0 0 0 4px #2fbf7129}.dot:after{content:"";animation:ping 2.4s var(--ease) infinite;background:#2fbf71;border-radius:50%;position:absolute;inset:0}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.tag{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-3);background:var(--panel);white-space:nowrap;border-radius:7px;padding:4px 9px;font-size:11.5px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .3s var(--ease), background .3s var(--ease), transform .4s var(--ease);position:relative}.card:hover{border-color:var(--border-2)}.card-glow:before{content:"";border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), var(--accent-glow-b), transparent 45%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none;position:absolute;inset:0}.card-glow:hover:before{opacity:1}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}.ph{background:repeating-linear-gradient(135deg, var(--hairline) 0 1px, transparent 1px 11px), var(--bg-2);border:1px solid var(--border);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ph span{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.04em;background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px}.nav{z-index:50;transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav.scrolled{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.nav.scrolled{background:color-mix(in srgb, var(--bg) 72%, transparent)}}.nav.scrolled{-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom-color:var(--border)}.nav-inner{justify-content:space-between;align-items:center;gap:20px;height:64px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-weight:600;display:flex}.brand span:not(.domain){white-space:nowrap}.brand .domain{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:12px;font-weight:400}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:var(--text-2);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:13.5px;transition:color .2s,background .2s}.nav-links a:hover{color:var(--text);background:var(--panel-2)}.nav-actions{align-items:center;gap:10px;display:flex}.kbtn{border:1px solid var(--border);background:var(--panel-2);height:38px;color:var(--text-3);border-radius:9px;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;transition:border-color .2s,color .2s;display:inline-flex}.kbtn:hover{border-color:var(--border-2);color:var(--text-2)}.kbd{font-family:var(--font-mono);color:var(--text-2);border:1px solid var(--border-2);background:var(--bg-1);border-radius:6px;align-items:center;gap:2px;padding:3px 8px;line-height:1;display:inline-flex}.kbd .kbd-cmd{font-size:16px}.kbd .kbd-key{font-size:16px;font-weight:500}.icon-btn{border:1px solid var(--border);background:var(--panel-2);width:38px;height:38px;color:var(--text-2);transition:color .2s, border-color .2s, transform .3s var(--ease);border-radius:9px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--border-2)}.icon-btn svg{width:17px;height:17px}.nav-toggle{display:none}.lang-toggle{border:1px solid var(--border);background:var(--panel-2);border-radius:9px;align-items:center;gap:2px;height:38px;padding:3px;display:inline-flex}.lang-toggle button{min-width:34px;height:30px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-3);background-color:#0000;border-radius:7px;padding:0 9px;font-size:12px;transition:color .18s}.lang-toggle button:hover{color:var(--text-2)}.lang-toggle button.on{color:#fff;background-color:var(--accent)}@media (max-width:1040px){.nav-links{display:none}}@media (max-width:860px){.kbtn .kbd,.kbtn .lbl,.nav-gh{display:none}}@media (max-width:680px){.kbtn,.brand .domain,.footer-press{display:none}}@media (max-width:560px){.nav-inner{gap:10px}.nav-actions{gap:7px}.brand span:not(.domain){font-size:15px}}.hero{padding-top:clamp(120px,17vh,190px);padding-bottom:clamp(60px,9vh,110px);position:relative}.hero h1{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(38px,5.6vw,70px);font-weight:600;line-height:1.02}.hero .lede{color:var(--text-2);text-wrap:pretty;max-width:56ch;font-size:clamp(16px,1.9vw,20px);line-height:1.55}.grad-text{background:linear-gradient(180deg, var(--text) 30%, var(--text))}@supports (color:color-mix(in lab, red, red)){.grad-text{background:linear-gradient(180deg, var(--text) 30%, color-mix(in srgb, var(--text) 55%, var(--accent-text)))}}.grad-text{color:#0000;-webkit-background-clip:text;background-clip:text}.accent-text{color:var(--accent-text)}.hero-greeting{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--accent-text);min-height:1.3em;font-size:clamp(18px,2.4vw,24px);font-weight:500}.typewriter{align-items:baseline;display:inline-flex}.tw-caret{background:var(--accent-text);border-radius:1px;width:2px;height:1.05em;margin-left:3px;display:inline-block;transform:translateY(2px)}.tw-caret.blink{animation:1.05s step-end infinite tw-blink}@keyframes tw-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.tw-caret{animation:none}}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.stats{flex-wrap:wrap;gap:clamp(24px,5vw,56px);display:flex}.stat .num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1}.stat .lbl{color:var(--text-3);letter-spacing:.01em;margin-top:8px;font-size:13px}.heroA{text-align:center}.heroA h1{font-size:clamp(40px,6.6vw,78px)}.heroA .hero-cta,.heroA .stats{justify-content:center}.heroA .lede{margin-left:auto;margin-right:auto}.heroA .badge-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.heroB-grid{grid-template-columns:1.25fr .75fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}.heroB-grid h1{font-size:clamp(32px,4.2vw,52px);line-height:1.04}.heroB-visual{position:relative}@media (max-width:900px){.heroB-grid{grid-template-columns:1fr}.heroB-visual{order:1}}.heroC-grid{grid-template-columns:auto 1fr;align-items:end;gap:clamp(28px,5vw,64px);display:grid}.heroC-rail{flex-direction:column;gap:14px;padding-top:8px;display:flex}.heroC-rail .ri{font-family:var(--font-mono);color:var(--text-3);align-items:baseline;gap:12px;font-size:12.5px;display:flex}.heroC-rail .ri b{color:var(--text);font-weight:500}@media (max-width:760px){.heroC-grid{grid-template-columns:1fr}}.mono-mark{background:linear-gradient(150deg, #1c2150, var(--accent));border:1px solid var(--border-2);box-shadow:var(--shadow-md), 0 6px 18px -8px var(--accent-glow-a);border-radius:16px;place-items:center;display:grid;position:relative;overflow:hidden}.mono-mark:before{content:"";background:radial-gradient(120% 90% at 20% 0,#ffffff2e,#0000 55%);position:absolute;inset:0}.mono-mark .ph{letter-spacing:-.04em;color:#0000;background:linear-gradient(#fff,#d7dbff);-webkit-background-clip:text;background-clip:text;font-weight:700;position:relative}[data-theme=light] .mono-mark{background:linear-gradient(150deg, #1c2150, var(--accent))}[data-theme=light] .mono-mark .ph{background:linear-gradient(#fff,#d7dbff);-webkit-background-clip:text;background-clip:text}.mark-sm{border-radius:9px;width:30px;height:30px}.mark-sm .ph{font-size:14px}.codecard{border-radius:var(--radius-lg);border:1px solid var(--border-2);background:linear-gradient(180deg, var(--bg-1), var(--bg));box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:13px;overflow:hidden}.codecard .bar{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:12px 14px;display:flex}.codecard .bar i{background:var(--border-2);border-radius:50%;width:11px;height:11px;display:block}.codecard .bar .fname{color:var(--text-3);margin-left:10px;font-size:12px}.codecard .body{color:var(--text-2);padding:16px 18px;line-height:1.85}.codecard .body .ln{white-space:pre}.cc-key{color:var(--accent-text)}.cc-str{color:#7fb88a}.cc-fn{color:#c9a8ff}.cc-com{color:var(--text-4)}.hero-has-photo{overflow:hidden}.hero-bg-photo{z-index:0;pointer-events:none;width:min(56%,760px);position:absolute;top:0;bottom:0;right:0}.hero-bg-photo img{object-fit:cover;object-position:center 30%;opacity:.55;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;width:100%;height:100%;-webkit-mask-image:linear-gradient(270deg,#000 30%,#0000 92%),linear-gradient(#000 70%,#0000 100%);mask-image:linear-gradient(270deg,#000 30%,#0000 92%),linear-gradient(#000 70%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-has-photo .heroB-grid{z-index:1;grid-template-columns:1fr;position:relative}.hero-has-photo .hero-copy{max-width:620px}@media (max-width:900px){.hero-bg-photo{opacity:.85;width:100%}.hero-bg-photo img{opacity:.18;object-position:center 20%}.hero-has-photo .hero-copy{max-width:none}}.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:40px;width:max-content;animation:32s linear infinite scrollx;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track .mi{color:var(--text-3);letter-spacing:-.01em;align-items:center;gap:40px;font-size:15px;display:flex}.marquee-track .mi:after{content:"·";color:var(--text-4)}@keyframes scrollx{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;animation:none}}.about-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:clamp(36px,6vw,80px);display:grid}@media (max-width:880px){.about-grid{grid-template-columns:1fr}}.about-lead{letter-spacing:-.02em;text-wrap:pretty;font-size:clamp(20px,2.6vw,29px);font-weight:500;line-height:1.32}.about-lead em{color:var(--text-3);font-style:normal}.about-body p{color:var(--text-2);font-size:16px;line-height:1.7}.about-body p+p{margin-top:16px}.principles{gap:12px;display:grid}.principle{border:1px solid var(--border);background:var(--panel);border-radius:12px;gap:14px;padding:16px;display:flex}.principle .pn{font-family:var(--font-mono);color:var(--accent-text);padding-top:2px;font-size:12px}.principle h4{letter-spacing:-.01em;font-size:15px;font-weight:600}.principle p{color:var(--text-3);margin-top:3px;font-size:13.5px;line-height:1.5}.exp-list{gap:0;display:grid}.exp-row{border-top:1px solid var(--border);transition:background .3s var(--ease);grid-template-columns:180px 1fr;gap:clamp(20px,4vw,56px);padding:clamp(28px,4vh,40px) 0;display:grid}.exp-row:last-child{border-bottom:1px solid var(--border)}.exp-period{font-family:var(--font-mono);color:var(--text-3);font-size:13px}.exp-period .now{color:var(--accent-text)}.exp-main h3{letter-spacing:-.02em;font-size:clamp(19px,2.3vw,24px);font-weight:600}.exp-main .co{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:3px;font-size:15px;display:flex}.exp-main .co .role-tag{color:var(--text-3)}.exp-desc{color:var(--text-2);max-width:64ch;margin-top:14px;font-size:15px;line-height:1.62}.exp-metrics{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.metric-chip{border:1px solid var(--border);background:var(--panel-2);border-radius:9px;align-items:baseline;gap:7px;padding:7px 12px;display:inline-flex}.metric-chip b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-size:15px;font-weight:600}.metric-chip span{color:var(--text-3);font-size:12.5px}.exp-stack{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}@media (max-width:720px){.exp-row{grid-template-columns:1fr;gap:12px}}.skills-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:920px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.skills-grid{grid-template-columns:1fr}}.skill-card{border-radius:var(--radius);padding:22px}.skill-card .sc-head{align-items:center;gap:11px;margin-bottom:16px;display:flex}.skill-ico{border:1px solid var(--border);background:var(--panel-2);width:34px;height:34px;color:var(--accent-text);border-radius:9px;place-items:center;display:grid}.skill-ico svg{width:17px;height:17px}.skill-card h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:7px;display:flex}.skill-tags .tag{color:var(--text-2)}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.chip{border:1px solid var(--border);background:var(--panel);height:36px;color:var(--text-3);border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-2)}.chip.active{color:#fff;background:var(--accent);border-color:#0000}.chip .ct{font-family:var(--font-mono);opacity:.7;font-size:11px}.proj-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:16px;display:grid}@media (max-width:820px){.proj-grid{grid-template-columns:1fr}}.proj-card{border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.proj-shot{aspect-ratio:16/10;border:none;border-bottom:1px solid var(--border)}.proj-shot.proj-shot-img{aspect-ratio:auto}.proj-shot.ph span{font-size:11.5px}.proj-shot-img{border-bottom:1px solid var(--border);background:repeating-linear-gradient(135deg, var(--hairline) 0 1px, transparent 1px 11px), var(--bg-2);display:block;position:relative;overflow:hidden}.proj-shot-img img{width:100%;height:auto;transition:transform .5s var(--ease);display:block}.proj-card:hover .proj-shot-img img{transform:scale(1.02)}.proj-shot-img.is-mobile img{object-fit:contain;width:100%;height:auto}.proj-title-link{transition:color .2s}.proj-title-link:hover{color:var(--accent-text)}.view-toggle{border:1px solid var(--border);background:var(--panel-2);border-radius:9px;align-items:center;gap:2px;padding:3px;display:inline-flex}.view-toggle button{width:28px;height:26px;color:var(--text-3);background:0 0;border-radius:6px;place-items:center;transition:color .18s,background .18s;display:grid}.view-toggle button svg{width:15px;height:15px}.view-toggle button:hover{color:var(--text-2)}.view-toggle button.on{color:#fff;background:var(--accent)}.proj-body{flex-direction:column;flex:1;gap:12px;padding:22px;display:flex}.proj-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.proj-top .ptag{font-family:var(--font-mono);color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.proj-links{gap:6px;display:flex}.proj-links a{border:1px solid var(--border);width:32px;height:32px;color:var(--text-3);border-radius:8px;place-items:center;transition:color .2s,border-color .2s;display:grid}.proj-links a:hover{color:var(--text);border-color:var(--border-2)}.proj-links svg{width:15px;height:15px}.proj-card h3{letter-spacing:-.02em;font-size:19px;font-weight:600}.proj-desc{color:var(--text-2);font-size:14px;line-height:1.55}.proj-impact{border-top:1px solid var(--border);gap:18px;margin-top:2px;padding-top:14px;display:flex}.proj-impact .pi b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.proj-impact .pi span{color:var(--text-3);margin-top:2px;font-size:11.5px;display:block}.proj-stack{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.proj-card.hide{display:none}.tech-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:900px){.tech-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.tech-grid{grid-template-columns:1fr}}.tech-card{border-radius:var(--radius);padding:22px}.tech-card .tn{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,42px);font-weight:600;line-height:1}.tech-card .tn .suf{color:var(--accent-text)}.tech-card .tl{margin-top:10px;font-size:14px;font-weight:500}.tech-card .td{color:var(--text-3);margin-top:5px;font-size:13px;line-height:1.5}.tech-meter{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;height:4px;margin-top:16px;overflow:hidden}.tech-meter i{background:linear-gradient(90deg, var(--accent), var(--accent-text));width:0;height:100%;transition:width 1.1s var(--ease-out);display:block}.blog-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:880px){.blog-grid{grid-template-columns:1fr}}.blog-card{border-radius:var(--radius);flex-direction:column;gap:14px;min-height:220px;padding:22px;display:flex}.blog-meta{font-family:var(--font-mono);color:var(--text-3);align-items:center;gap:10px;font-size:11.5px;display:flex}.blog-card h3{letter-spacing:-.02em;text-wrap:balance;font-size:18px;font-weight:600;line-height:1.25}.blog-card p{color:var(--text-2);font-size:14px;line-height:1.55}.blog-card .read{color:var(--accent-text);align-items:center;gap:6px;margin-top:auto;font-size:13px;display:inline-flex}.blog-card .read svg{width:14px;height:14px;transition:transform .3s var(--ease)}.blog-card:hover .read svg{transform:translate(4px)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,5vw,64px);display:grid}@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}.contact-h{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(32px,5vw,56px);font-weight:600;line-height:1.02}.contact-links{gap:10px;margin-top:28px;display:grid}.clink{border:1px solid var(--border);background:var(--panel);transition:border-color .25s, background .25s, transform .25s var(--ease);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.clink:hover{border-color:var(--border-2);background:var(--panel-2);transform:translate(3px)}.clink .ci{border:1px solid var(--border);width:38px;height:38px;color:var(--text-2);border-radius:10px;place-items:center;display:grid}.clink .ci svg{width:17px;height:17px}.clink .cmeta b{letter-spacing:-.01em;font-size:14.5px;font-weight:500;display:block}.clink .cmeta span{color:var(--text-3);font-size:12.5px;font-family:var(--font-mono)}.clink .arrow{color:var(--text-4);transition:transform .25s var(--ease), color .2s;margin-left:auto}.clink:hover .arrow{color:var(--text-2);transform:translate(3px)}.form{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);gap:14px;padding:clamp(20px,3vw,28px);display:grid}.field{gap:7px;display:grid}.field label{color:var(--text-3);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em}.field input,.field textarea{border:1px solid var(--border);background:var(--bg-1);width:100%;color:var(--text);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:14.5px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){.field input:focus,.field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}}.field.err input,.field.err textarea{border-color:#e0556b}.field .msg{color:#e0556b;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.form-sent{text-align:center;place-items:center;gap:8px;padding:30px;display:grid}.form-sent .ok{background:var(--accent);border-radius:50%;place-items:center;width:48px;height:48px;display:grid}@supports (color:color-mix(in lab, red, red)){.form-sent .ok{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.form-sent .ok{color:var(--accent-text)}.footer{border-top:1px solid var(--border);margin-top:40px;padding:48px 0 60px}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.footer-nav{flex-wrap:wrap;gap:30px;display:flex}.footer-col{gap:9px;display:grid}.footer-col .ft{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);margin-bottom:4px;font-size:11px}.footer-col a{color:var(--text-3);font-size:13.5px;transition:color .2s}.footer-col a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);color:var(--text-4);font-size:12.5px;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:22px;display:flex}.cmd-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .2s var(--ease);background:#05060a9e;place-items:start center;padding-top:14vh;display:grid;position:fixed;inset:0}.cmd-overlay.open{opacity:1;pointer-events:auto}.cmd{border:1px solid var(--border-2);background:var(--bg-1);border-radius:16px;width:min(580px,92vw)}@supports (color:color-mix(in lab, red, red)){.cmd{background:color-mix(in srgb, var(--bg-1) 94%, transparent)}}.cmd{box-shadow:var(--shadow-lg);transition:transform .22s var(--ease);overflow:hidden;transform:translateY(-10px)scale(.98)}.cmd-overlay.open .cmd{transform:none}.cmd-input-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 18px;display:flex}.cmd-input-row svg{width:18px;height:18px;color:var(--text-3);flex-shrink:0}.cmd-input-row input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.cmd-input-row input::placeholder{color:var(--text-4)}.cmd-input-row .esc{font-family:var(--font-mono);color:var(--text-4);border:1px solid var(--border);border-radius:5px;padding:3px 6px;font-size:11px}.cmd-list{max-height:52vh;padding:8px;overflow-y:auto}.cmd-group-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);padding:10px 12px 6px;font-size:10.5px}.cmd-item{cursor:pointer;color:var(--text-2);border-radius:9px;align-items:center;gap:12px;padding:10px 12px;display:flex}.cmd-item .ci{border:1px solid var(--border);background:var(--panel-2);width:30px;height:30px;color:var(--text-3);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.cmd-item .ci svg{width:15px;height:15px}.cmd-item .cl{flex:1;font-size:14px}.cmd-item .ck{font-family:var(--font-mono);color:var(--text-4);font-size:11px}.cmd-item.sel{background:var(--accent);color:#fff}.cmd-item.sel .ci{color:#fff;background:#ffffff29;border-color:#0000}.cmd-item.sel .ck{color:#ffffffb3}.cmd-empty{text-align:center;color:var(--text-4);padding:28px;font-size:14px}.cmd-list::-webkit-scrollbar{width:8px}.cmd-list::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px}html[data-reduce="1"] .marquee-track,html[data-reduce="1"] .dot:after{animation:none}html[data-reduce="1"] .reveal{transition-duration:1ms}.mono{font-family:var(--font-mono)}.muted{color:var(--text-3)}.center{text-align:center}.divider{background:var(--border);border:none;height:1px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
