@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__rWS5Ha__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__rWS5Ha__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__1poT9G__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__1poT9G__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@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}}}@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;--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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}}:root,html[data-theme=dark]{--bg:#0d1117;--bg-deep:#010409;--surface:#161b22;--surface-raised:#21262d;--surface-header:#30363d;--surface-hover:#262c36;--panel:#0d1117;--overlay:#0d1117f0;--border:#30363d;--border-soft:#f0f6fc1a;--text:#f0f6fc;--muted:#8b949e;--faint:#6e7681;--accent:#58a6ff;--accent-bright:#79c0ff;--accent-soft:#58a6ff1a;--accent-rgb:88 166 255;--hero-gradient-start:#58a6ff;--hero-gradient-middle:#79c0ff;--hero-gradient-end:#a5d6ff;--blue:#58a6ff;--green:#3fb950;--yellow:#d29922;--danger:#f85149;--shadow:#0104097a;--grid-line:#58a6ff0e;--content:1180px;--nav-safe-area:84px}html[data-theme=light]{--bg:#fff;--bg-deep:#f6f8fa;--surface:#f6f8fa;--surface-raised:#fff;--surface-header:#eaeef2;--surface-hover:#eef1f4;--panel:#fff;--overlay:#fffffff0;--border:#d0d7de;--border-soft:#1f23281f;--text:#1f2328;--muted:#59636e;--faint:#6e7781;--accent:#0969da;--accent-bright:#0550ae;--accent-soft:#0969da14;--accent-rgb:9 105 218;--hero-gradient-start:#0969da;--hero-gradient-middle:#218bff;--hero-gradient-end:#54aeff;--blue:#0969da;--green:#1a7f37;--yellow:#9a6700;--danger:#cf222e;--shadow:#1f232824;--grid-line:#0969da0e}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:16px;overflow-x:hidden}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Geist,ui-sans-serif,system-ui,sans-serif;line-height:1.55;transition:background-color .18s,color .18s;overflow-x:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}a{color:inherit}.site-shell{background:radial-gradient(circle at 68% 25%, var(--blue), transparent 30rem), radial-gradient(circle at 24% 68%, var(--accent), transparent 25rem), var(--bg);min-height:100dvh;position:relative}@supports (color:color-mix(in lab, red, red)){.site-shell{background:radial-gradient(circle at 68% 25%, color-mix(in srgb, var(--blue) 7%, transparent), transparent 30rem), radial-gradient(circle at 24% 68%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 25rem), var(--bg)}}.grid-backdrop{z-index:0;pointer-events:none;opacity:.7;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:50px 50px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0009 75%,#0000 100%);mask-image:linear-gradient(#000 0%,#0009 75%,#0000 100%)}main{z-index:1;position:relative}.boot-loader{z-index:1000;background:radial-gradient(circle at center, var(--blue), transparent 34rem), var(--bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.boot-loader{background:radial-gradient(circle at center, color-mix(in srgb, var(--blue) 8%, transparent), transparent 34rem), var(--bg)}}.boot-loader{opacity:1;transition:opacity .28s,transform .28s}.boot-loader.is-exiting{pointer-events:none;opacity:0;transform:translateY(-7px)}.boot-loader-panel{border:1px solid var(--border);background:var(--surface);width:min(100%,520px);box-shadow:0 28px 80px var(--shadow);border-radius:10px;font-family:Geist Mono,monospace;overflow:hidden}.boot-loader-heading{border-bottom:1px solid var(--border);background:var(--surface-header);min-height:48px;color:var(--muted);align-items:center;gap:10px;padding:0 16px;font-size:.72rem;display:flex}.boot-loader-heading svg{color:var(--blue)}.boot-loader-heading strong{color:var(--green);letter-spacing:.1em;margin-left:auto;font-size:.64rem}.boot-loader-log{align-content:end;gap:10px;min-height:172px;padding:22px 20px;display:grid}.boot-loader-log p{color:var(--muted);align-items:center;gap:9px;margin:0;font-size:.73rem;display:flex}.boot-loader-log p.is-complete{color:var(--green)}.boot-loader-log p.is-current>span{color:var(--blue);font-size:1rem}.boot-loader-log p i{background:var(--blue);width:7px;height:15px;animation:.7s step-end infinite caret-blink}.boot-loader-progress-row{align-items:center;gap:12px;padding:0 20px 20px;display:flex}.boot-loader-progress{background:var(--border);border-radius:999px;flex:1;height:4px;overflow:hidden}.boot-loader-progress span{background:linear-gradient(90deg, var(--blue), var(--green));height:100%;transition:width .22s;display:block}.boot-loader-progress-row output{width:38px;color:var(--faint);text-align:right;font-size:.62rem}.skip-link{z-index:999;border:1px solid var(--accent);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 14px;font:600 .85rem Geist Mono,monospace;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-section{width:min(100%, var(--content));min-height:100dvh;margin-inline:auto;padding:96px 28px;scroll-margin-top:0;position:relative}.placeholder-section{text-align:center;place-content:center;display:grid}.placeholder-section h1{margin:0;font-size:clamp(2.5rem,7vw,5rem)}.terminal-kicker{color:var(--accent-bright);margin:0 0 12px;font-family:Geist Mono,monospace}.section-heading{color:var(--accent-bright);align-items:center;gap:14px;margin-bottom:clamp(32px,5vw,64px);display:flex}.section-heading h2{color:var(--text);margin:0;font:700 clamp(1.45rem,3vw,2rem) Geist Mono,monospace}.section-heading h2 span{color:var(--muted)}.section-nav-desktop{z-index:80;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;top:50%;right:28px;transform:translateY(-50%)}.theme-toggle{z-index:95;cursor:pointer;border:1px solid var(--border);background:var(--overlay);width:40px;height:40px;color:var(--muted);box-shadow:0 8px 24px var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;place-items:center;transition:color .16s,border-color .16s,transform .16s;display:grid;position:fixed;top:22px;right:28px}.theme-toggle:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.section-nav-desktop:before{z-index:-1;content:"";background:linear-gradient(transparent, rgb(var(--accent-rgb) / 28%), transparent);width:1px;position:absolute;top:20px;bottom:20px;left:50%}.section-nav-item{cursor:pointer;width:48px;height:48px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:relative}.section-nav-dot{z-index:2;border:1px solid var(--border);background:var(--surface-header);border-radius:999px;place-items:center;width:12px;height:12px;transition:width .22s,height .22s,color .22s,border-color .22s;display:grid;position:relative;overflow:hidden}.section-nav-dot svg{opacity:0;transition:opacity .18s,transform .18s;transform:scale(.3)}.section-nav-item.is-active .section-nav-dot{border-color:var(--accent-bright);background:var(--surface);width:32px;height:32px;color:var(--accent-bright);box-shadow:0 0 20px rgb(var(--accent-rgb) / 25%)}.section-nav-item.is-active .section-nav-dot svg{opacity:1;transform:scale(1)}.section-nav-orbit{border:1px dashed #0000;border-radius:999px;transition:border-color .22s,transform .5s;position:absolute;inset:2px}.section-nav-item.is-active .section-nav-orbit{border-color:rgb(var(--accent-rgb) / 70%);transform:rotate(180deg)}.section-nav-tooltip{pointer-events:none;white-space:nowrap;opacity:0;border:1px solid rgb(var(--accent-rgb) / 25%);background:var(--overlay);color:var(--muted);border-radius:6px;padding:6px 10px;font:.72rem Geist Mono,monospace;transition:opacity .16s,transform .16s;position:absolute;right:56px;transform:translate(8px)}.section-nav-tooltip strong{color:var(--accent-bright)}.section-nav-item:hover .section-nav-tooltip,.section-nav-item:focus-visible .section-nav-tooltip{opacity:1;transform:translate(0)}.section-nav-mobile{display:none}@media (max-width:900px){.page-section{min-height:auto;padding:84px 20px 112px}.section-nav-desktop{display:none}.section-nav-mobile{z-index:90;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--overlay);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:block;position:fixed;bottom:0;left:0;right:0}.section-nav-mobile-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.section-nav-mobile .section-nav-item{width:44px;height:44px;margin-inline:auto}.section-nav-mobile .section-nav-tooltip,.section-nav-mobile .section-nav-orbit{display:none}.section-nav-mobile .section-nav-dot,.section-nav-mobile .section-nav-item.is-active .section-nav-dot{width:36px;height:36px}.section-nav-mobile .section-nav-item.is-active .section-nav-dot{background:rgb(var(--accent-rgb) / 10%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero-section{place-items:center;width:min(100%,1320px);min-height:100dvh;margin-inline:auto;padding:72px 52px;display:grid;position:relative;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(480px,.95fr);align-items:center;gap:clamp(48px,6vw,84px);width:100%;display:grid}.hero-copy{flex-direction:column;gap:28px;display:flex}.system-badge{border:1px solid rgb(var(--accent-rgb) / 55%);background:rgb(var(--accent-rgb) / 5%);width:fit-content;color:var(--accent-bright);letter-spacing:.04em;border-radius:4px;align-items:center;gap:9px;padding:5px 11px;font:.72rem Geist Mono,monospace;display:inline-flex}.system-badge>span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px rgb(var(--accent-rgb) / 60%);border-radius:999px}.hero-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5.2vw,4.85rem);line-height:1.08}.hero-copy h1 span,.hero-copy h1 strong{display:block}.hero-copy h1 strong{background:linear-gradient(90deg, var(--hero-gradient-start) 0%, var(--hero-gradient-middle) 52%, var(--hero-gradient-end) 100%);color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-top:6px;padding-bottom:10px;padding-right:.06em;font-weight:750}.hero-role{color:var(--accent-bright);align-items:center;gap:8px;margin:16px 0 0;font:600 clamp(1rem,2.1vw,1.3rem) Geist Mono,monospace;display:flex}.hero-role-prompt{color:var(--muted)}.hero-role-caret{background:var(--accent-bright);width:8px;height:clamp(1rem,2.1vw,1.3rem);animation:1s step-end infinite caret-blink;display:inline-block}.hero-summary{color:#c4c4c8;max-width:690px;margin:18px 0 0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:300;line-height:1.45}.hero-ctas{grid-template-columns:minmax(300px,1fr) auto;gap:12px;max-width:650px;display:grid}.boot-card,.github-card{isolation:isolate;cursor:pointer;background:rgb(var(--accent-rgb) / 45%);min-height:82px;color:var(--text);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);align-items:center;transition:background .2s,transform .2s;display:flex;position:relative}.boot-card:before,.github-card:before{content:"";z-index:-1;background-color:var(--surface);box-shadow:0 18px 44px var(--shadow);clip-path:polygon(17px 0,100% 0,100% calc(100% - 17px),calc(100% - 17px) 100%,0 100%,0 17px);transition:background-color .2s;position:absolute;inset:1px}.boot-card{text-align:left;gap:14px;padding:14px 16px}.boot-card:hover,.github-card:hover{background:var(--accent-bright);transform:translateY(-2px)}.boot-card:hover:before,.github-card:hover:before{background-color:#181818}.boot-icon{border:1px solid rgb(var(--accent-rgb) / 35%);background:rgb(var(--accent-rgb) / 8%);width:42px;height:42px;color:var(--accent-bright);border-radius:4px;flex:none;place-items:center;display:grid}.boot-content{flex:1;gap:6px;display:grid}.boot-title{justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.boot-progress{background:#29313c;border-radius:999px;height:4px;overflow:hidden}.boot-progress span{background:linear-gradient(90deg, var(--accent), var(--accent-bright));width:0;height:100%;animation:1.8s ease-out forwards boot-progress-load;display:block}@keyframes boot-progress-load{0%{width:0}to{width:75%}}.boot-meta{color:var(--faint);justify-content:space-between;font:.56rem Geist Mono,monospace;display:flex}.boot-meta strong{color:var(--accent-bright);font-weight:500}.github-card{justify-content:center;gap:10px;min-width:138px;padding:14px 18px;text-decoration:none}.github-card span{display:grid}.github-card small{color:var(--muted);font:.62rem Geist Mono,monospace}.module-row{color:var(--faint);flex-wrap:wrap;align-items:center;gap:8px;font:.62rem Geist Mono,monospace;display:flex}.module-row>span{margin-right:4px}.module-row code{border:1px solid rgb(var(--accent-rgb) / 30%);background:rgb(var(--accent-rgb) / 4%);color:var(--accent);border-radius:4px;padding:4px 8px;font-size:.58rem}.code-window{box-shadow:0 28px 65px #0000007a, 0 0 45px rgb(var(--accent-rgb) / 5%);background:#0e0e0e;border:1px solid #3c3c3c;border-radius:12px;overflow:hidden}.window-titlebar,.terminal-panel-header{border-bottom:1px solid var(--border);background:#333;align-items:center;min-height:42px;display:flex}.window-titlebar{justify-content:space-between;padding:0 16px}.window-dots{gap:8px;display:flex}.window-dots span{background:var(--danger);border-radius:999px;width:12px;height:12px}.window-dots span:nth-child(2){background:#ffbd2e}.window-dots span:nth-child(3){background:#27c840}.window-file{color:#d3d3d5;align-items:center;gap:8px;font:.75rem Geist Mono,monospace;display:flex}.window-file span{background:var(--accent);border-radius:999px;width:8px;height:8px}.window-spacer{width:54px}.code-body{padding:24px;font-family:Geist Mono,monospace}.code-line{opacity:0;color:#d7d7d9;align-items:baseline;min-height:29px;font-size:.88rem;display:flex;transform:translateY(3px)}.code-line.is-visible{opacity:1;transform:none}.line-number{color:#55555b;text-align:right;flex:none;width:32px;margin-right:18px;font-size:.68rem}.code-line code{white-space:pre}.code-comment{color:#a7a7aa}.code-orange{color:var(--accent-bright)}.code-green{color:#27d17f}.code-yellow{color:#f1c44f}.code-blue{color:var(--blue)}.typing-caret{background:var(--accent);width:7px;height:17px;margin-left:3px;animation:.8s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.code-actions{gap:12px;margin-top:28px;display:flex}.terminal-button{cursor:pointer;color:#b7b7bc;background:0 0;border:1px solid #303036;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 20px;font:.76rem Geist Mono,monospace;display:inline-flex}.terminal-button:hover{border-color:rgb(var(--accent-rgb) / 50%);color:var(--text)}.terminal-button-primary{border-color:rgb(var(--accent-rgb) / 55%);background:rgb(var(--accent-rgb) / 9%);color:var(--accent-bright)}.hero-decoration{color:rgb(var(--accent-rgb) / 22%);font:.68rem Geist Mono,monospace;position:absolute}.hero-decoration-top{top:82px;right:70px}.hero-decoration-bottom{color:#37d67a2e;bottom:80px;left:90px}.scroll-cue{cursor:pointer;color:#d7d7da;background:0 0;border:0;place-items:center;width:44px;height:44px;animation:1.8s ease-in-out infinite cue-bounce;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes cue-bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.about-section{flex-direction:column;justify-content:center;display:flex}.about-grid{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(48px,7vw,92px);display:grid}.profile-card,.terminal-panel,.metric-card{border:1px solid var(--border);background:#1a1a1af2}.profile-card{border-color:rgb(var(--accent-rgb) / 28%);border-radius:16px;padding:clamp(26px,4vw,42px);position:relative;overflow:hidden;box-shadow:0 22px 55px #00000059}.profile-card:before{z-index:-1;content:"";background:linear-gradient(135deg, rgb(var(--accent-rgb) / 30%), transparent 35%, rgb(var(--accent-rgb) / 18%));filter:blur(18px);position:absolute;inset:-2px}.scan-line{background:rgb(var(--accent-rgb) / 32%);height:2px;box-shadow:0 0 12px rgb(var(--accent-rgb) / 35%);animation:4.8s linear infinite scan;position:absolute;top:0;left:0;right:0}@keyframes scan{0%{transform:translateY(0)}50%{transform:translateY(420px)}to{transform:translateY(0)}}.avatar-system{width:190px;height:190px;margin:0 auto 34px;position:relative}.avatar-system img{object-fit:cover;border:1px solid #3b3b3e;border-radius:999px;width:150px;height:150px;position:absolute;inset:20px}.avatar-ring{border:2px solid rgb(var(--accent-rgb) / 38%);border-top-color:#0000;border-bottom-color:#0000;border-radius:999px;animation:13s linear infinite ring-spin;position:absolute;inset:5px}.avatar-ring-two{border-color:rgb(var(--accent-rgb) / 35%);border-left-color:#0000;border-right-color:#0000;animation-duration:10s;animation-direction:reverse;inset:13px}@keyframes ring-spin{to{transform:rotate(360deg)}}.online-dot{border:3px solid var(--surface);background:var(--green);border-radius:999px;width:16px;height:16px;position:absolute;bottom:26px;right:21px;box-shadow:0 0 12px #37d67a80}.system-fields{margin:0;font-family:Geist Mono,monospace}.system-fields>div{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:20px;padding:11px 0;display:flex}.system-fields>div:last-child{border-bottom:0}.system-fields dt{color:var(--faint);font-size:.7rem}.system-fields dd{color:#d6d6d9;text-align:right;margin:0;font-size:.75rem}.system-fields>div:first-child dd{color:var(--accent-bright);letter-spacing:.08em;font-weight:700}.system-fields dd span{color:var(--green);background:#37d67a12;border:1px solid #37d67a40;border-radius:4px;padding:3px 7px;font-size:.65rem}.about-copy{gap:24px;display:grid}.resume-download{border:1px solid var(--blue);background:var(--blue);border-radius:7px;align-items:center;gap:9px;width:fit-content;min-height:44px;padding:0 16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.resume-download{background:color-mix(in srgb, var(--blue) 8%, transparent)}}.resume-download{color:var(--blue);font:650 .72rem Geist Mono,monospace;text-decoration:none;transition:background .16s,transform .16s,box-shadow .16s}.resume-download:hover{background:var(--blue)}@supports (color:color-mix(in lab, red, red)){.resume-download:hover{background:color-mix(in srgb, var(--blue) 14%, transparent)}}.resume-download:hover{box-shadow:0 10px 26px var(--blue)}@supports (color:color-mix(in lab, red, red)){.resume-download:hover{box-shadow:0 10px 26px color-mix(in srgb, var(--blue) 16%, transparent)}}.resume-download:hover{transform:translateY(-2px)}.terminal-panel{border-radius:8px;overflow:hidden;box-shadow:0 18px 45px #00000040}.terminal-panel-header{min-height:38px;color:var(--muted);gap:8px;padding:0 14px;font:.7rem Geist Mono,monospace}.terminal-panel-body{color:#c2c2c6;padding:24px;font:.84rem/1.65 Geist Mono,monospace}.terminal-panel-body p{margin:0 0 8px}.terminal-panel-body p strong{color:var(--blue)}.terminal-panel-body p span{color:#c389e8}.terminal-panel-body blockquote{color:#b6b6ba;border-left:2px solid #ffffff14;margin:0 0 22px 13px;padding:3px 0 3px 16px}.terminal-panel-body blockquote:last-child{color:var(--muted);margin-bottom:0}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-card{border-radius:8px;min-width:0;padding:16px;transition:border-color .18s,transform .18s}.metric-card:hover{border-color:rgb(var(--accent-rgb) / 38%);transform:translateY(-2px)}.metric-card p{color:var(--faint);text-overflow:ellipsis;align-items:center;gap:8px;margin:0 0 8px;font:.63rem Geist Mono,monospace;display:flex;overflow:hidden}.metric-card p svg{color:var(--accent-bright);flex:none}.metric-card strong{font:700 clamp(1.35rem,3vw,1.8rem) Geist Mono,monospace}.metric-card small{color:var(--faint);font-size:.7rem}@media (max-width:1050px){.hero-section{padding:96px 28px 110px}.hero-grid{grid-template-columns:1fr;max-width:760px}.hero-copy{text-align:center}.system-badge,.hero-copy h1 strong,.hero-summary,.hero-ctas{margin-inline:auto}.hero-role,.module-row{justify-content:center}}@media (max-width:780px){.hero-copy h1{font-size:clamp(2.2rem,11vw,4.5rem)}.hero-ctas{grid-template-columns:1fr;width:100%}.github-card{min-height:62px}.code-body{padding:18px 12px}.code-line{min-height:26px;font-size:.68rem}.line-number{width:24px;margin-right:10px}.code-actions{flex-direction:column}.about-grid,.metrics-grid{grid-template-columns:1fr}.hero-decoration{display:none}}.contact-section{width:min(100%,1220px);padding-bottom:54px}.contact-layout{grid-template-columns:.92fr 1.08fr;align-items:stretch;gap:28px;display:grid}.contact-json,.contact-editor{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 20px 48px #00000042}.json-body{grid-template-columns:42px 1fr;min-height:470px;padding:22px 20px 22px 0;font:.76rem/1.9 Geist Mono,monospace;display:grid}.json-body ol{border-right:1px solid var(--border-soft);color:#4a4a50;text-align:right;margin:0;padding:0 11px 0 0;list-style:none}.json-body>div{padding-left:18px;overflow-x:auto}.json-body p{white-space:nowrap;min-height:23px;margin:0}.json-body .indent-one{padding-left:16px}.json-body .indent-two{padding-left:32px}.json-key{color:var(--accent-bright)}.json-yellow{color:#f1c44f}.json-green{color:#46d889}.json-orange,.json-body a,.json-body a:hover{color:var(--accent-bright)}.json-comment{color:var(--faint);font-style:italic;margin-top:16px!important}.json-caret{color:var(--accent-bright);animation:1s step-end infinite caret-blink}.contact-editor{flex-direction:column;display:flex}.contact-editor>header{border-bottom:1px solid var(--border);color:#c5c5c8;background:#282828;align-items:center;gap:8px;min-height:38px;padding:0 14px;font:.7rem Geist Mono,monospace;display:flex}.contact-editor>header span{color:var(--blue);font-weight:800}.contact-editor>header i{color:var(--faint);margin-left:auto;font-style:normal}.contact-editor form{flex-direction:column;flex:1;padding:20px;display:flex}.compose-bar,.compose-meta{border:1px solid rgb(var(--accent-rgb) / 18%);background:#111;justify-content:space-between;align-items:center;display:flex}.compose-bar{color:#d2d2d5;border-radius:6px 6px 0 0;min-height:38px;padding:0 12px;font:.66rem Geist Mono,monospace}.compose-bar span{align-items:center;gap:7px;display:inline-flex}.compose-bar span svg{color:var(--accent-bright)}.compose-bar small{color:var(--faint)}.compose-meta{color:var(--faint);border-top:0;gap:12px;padding:7px 12px;font:.58rem Geist Mono,monospace}.compose-meta strong{color:var(--accent-bright);font-weight:500}.compose-meta span:last-child strong{color:#64d996}.form-grid{grid-template-columns:1fr 1fr;gap:13px;padding:16px 0 0;display:grid}.form-grid label{align-content:start;gap:5px;display:grid}.form-grid label>span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font:.59rem Geist Mono,monospace}.form-wide{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;min-height:43px;color:var(--accent-bright);background:#191919;border:1px solid #343434;border-radius:5px;padding:10px 11px;font-size:.76rem}.form-grid textarea{resize:vertical;min-height:116px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#55555b}.form-grid input:focus,.form-grid textarea:focus{border-color:rgb(var(--accent-rgb) / 65%)}.form-grid input[aria-invalid=true],.form-grid textarea[aria-invalid=true]{border-color:#cf5757}.field-error{color:#f07c7c;font:.58rem Geist Mono,monospace}.form-note,.form-feedback{color:var(--faint);margin:10px 0 0;font:.59rem Geist Mono,monospace}.form-feedback{color:#5ed393;min-height:20px}.submit-button{width:fit-content;margin-top:4px}.submit-button:disabled{cursor:wait;opacity:.55}.site-footer{color:var(--muted);text-align:center;justify-items:center;gap:5px;margin-top:68px;display:grid}.site-footer p{color:#dedee0;align-items:center;gap:7px;margin:0;font:700 .88rem Geist Mono,monospace;display:flex}.site-footer p svg{color:var(--accent-bright)}.site-footer p span{color:var(--faint)}.site-footer small{font:.62rem Geist Mono,monospace}.assistant-root{z-index:100;position:fixed;bottom:20px;right:20px}.assistant-fab{cursor:pointer;background:0 0;border:0;place-items:center;width:66px;height:66px;display:grid;position:relative}.assistant-fab img{z-index:2;border:1px solid var(--accent);object-fit:cover;width:43px;height:43px;box-shadow:0 0 20px rgb(var(--accent-rgb) / 28%);border-radius:999px;position:relative}.assistant-orbit{border:1px dashed rgb(var(--accent-rgb) / 60%);border-radius:999px;animation:9s linear infinite ring-spin;position:absolute;inset:0}.assistant-status{z-index:3;border:2px solid var(--surface);background:var(--green);border-radius:999px;width:11px;height:11px;position:absolute;top:4px;right:5px}.assistant-tip{pointer-events:none;border:1px solid rgb(var(--accent-rgb) / 28%);color:#e2e2e4;text-align:left;background:#111;border-radius:9px;width:max-content;min-width:190px;padding:9px 12px;font:.65rem Geist Mono,monospace;display:grid;position:absolute;bottom:7px;right:76px;box-shadow:0 14px 34px #0000006b}.assistant-tip strong{color:var(--accent-bright);position:absolute;left:12px}.assistant-tip{padding-left:27px}.assistant-tip small{color:var(--faint);font-size:.55rem}.assistant-panel{border:1px solid rgb(var(--accent-rgb) / 25%);width:min(520px,100vw - 32px);height:min(710px,100dvh - 40px);box-shadow:0 30px 80px #000000b8, 0 0 36px rgb(var(--accent-rgb) / 7%);background:#181818;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.assistant-panel.is-minimized{height:62px}.assistant-panel>header{border-bottom:1px solid rgb(var(--accent-rgb) / 16%);background:#101010;align-items:center;gap:10px;min-height:62px;padding:0 13px;display:flex}.assistant-avatar{width:38px;height:38px;position:relative}.assistant-avatar img{border:1px solid rgb(var(--accent-rgb) / 55%);border-radius:999px;width:38px;height:38px}.assistant-avatar span{background:var(--green);border:2px solid #101010;border-radius:999px;width:10px;height:10px;position:absolute;bottom:0;right:-1px}.assistant-panel h2{margin:0;font:700 .78rem Geist Mono,monospace}.assistant-panel h2 span{color:var(--accent-bright)}.assistant-panel header p{color:#50d88a;margin:1px 0 0;font:.57rem Geist Mono,monospace}.assistant-controls{gap:3px;margin-left:auto;display:flex}.assistant-controls button{cursor:pointer;width:34px;height:34px;color:var(--faint);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.assistant-controls button:hover{color:var(--text);background:#ffffff0d}.assistant-notice{background:rgb(var(--accent-rgb) / 6%);color:var(--accent-bright);text-align:center;padding:6px 12px;font:.58rem Geist Mono,monospace}.assistant-messages{flex-direction:column;flex:1;gap:12px;padding:15px;display:flex;overflow-y:auto}.assistant-message{align-self:flex-start;gap:6px;max-width:88%;display:flex}.assistant-message.is-user{align-self:flex-end}.assistant-message p{border:1px solid var(--border);color:#c6c6c9;background:#222;border-radius:4px 11px 11px;margin:0;padding:9px 11px;font-size:.72rem;line-height:1.5}.assistant-message.is-user p{border-color:rgb(var(--accent-rgb) / 28%);background:rgb(var(--accent-rgb) / 10%);color:var(--accent-bright);border-radius:11px 4px 11px 11px}.message-prompt{color:var(--accent-bright);margin-top:7px;font-family:Geist Mono,monospace}.assistant-suggestions{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:7px;padding:12px 15px;display:flex}.assistant-suggestions button{cursor:pointer;border:1px solid rgb(var(--accent-rgb) / 22%);background:rgb(var(--accent-rgb) / 5%);min-height:36px;color:var(--accent-bright);border-radius:999px;padding:6px 9px;font:.59rem Geist Mono,monospace}.assistant-suggestions button:hover{border-color:rgb(var(--accent-rgb) / 55%);color:var(--accent-bright)}.assistant-panel>footer{border-top:1px solid var(--border-soft);min-height:38px;color:var(--faint);justify-content:center;align-items:center;gap:6px;font:.57rem Geist Mono,monospace;display:flex}@media (max-width:900px){.contact-layout{grid-template-columns:1fr}.assistant-root{right:12px;bottom:calc(var(--nav-safe-area) + env(safe-area-inset-bottom))}.assistant-tip{display:none}}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.compose-meta{flex-direction:column;align-items:flex-start}.assistant-panel{right:0;bottom:calc(68px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;width:100%;height:min(75dvh,690px);position:fixed;left:0}}.experience-section{width:min(100%,1040px)}.experience-timeline{gap:54px;padding-bottom:20px;display:grid;position:relative}.experience-timeline:before{content:"";background:linear-gradient(rgb(var(--accent-rgb) / 10%), rgb(var(--accent-rgb) / 55%), rgb(var(--accent-rgb) / 10%));width:1px;position:absolute;top:8px;bottom:60px;left:50%}.git-commit{grid-template-columns:1fr 1fr;align-items:start;gap:70px;display:grid;position:relative}.commit-period{border:1px solid rgb(var(--accent-rgb) / 20%);background:var(--surface);width:fit-content;color:var(--muted);border-radius:999px;justify-self:end;align-items:center;gap:7px;margin-top:17px;padding:7px 12px;font:.66rem Geist Mono,monospace;display:inline-flex}.git-commit.is-even .commit-period{grid-column:2;justify-self:start}.commit-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-area:1/2;transition:border-color .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 18px 40px #0000003d}.git-commit.is-even .commit-card{grid-column:1}.commit-card:hover{border-color:rgb(var(--accent-rgb) / 38%);transform:translateY(-3px)}.commit-card>header{border-bottom:1px solid var(--border);background:#282828;align-items:center;gap:8px;min-height:38px;padding:0 14px;font:.62rem Geist Mono,monospace;display:flex}.commit-hash{color:var(--yellow)}.commit-branch{border:1px solid rgb(var(--accent-rgb) / 20%);background:rgb(var(--accent-rgb) / 7%);color:var(--blue);border-radius:4px;padding:2px 5px}.commit-company{min-width:0;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.commit-body{padding:22px}.commit-body h3{margin:0;font-size:1rem}.commit-body h3 span{color:var(--faint);font-size:.78rem;font-weight:400}.commit-description{border-left:2px solid rgb(var(--accent-rgb) / 20%);color:var(--muted);margin:16px 0 20px;padding:4px 0 4px 14px;font:.76rem/1.6 Geist Mono,monospace}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag-row>span{border:1px solid rgb(var(--accent-rgb) / 17%);background:rgb(var(--accent-rgb) / 5%);color:var(--accent-bright);border-radius:5px;padding:4px 7px;font:.6rem Geist Mono,monospace}.commit-card>footer{border-top:1px solid var(--border);color:var(--faint);background:#161616;flex-wrap:wrap;gap:13px;padding:8px 14px;font:.58rem Geist Mono,monospace;display:flex}.commit-card>footer span{align-items:center;gap:4px;display:inline-flex}.commit-card>footer .insertions{color:#4fcf82}.commit-card>footer .deletions{color:#e66a6a}.commit-period-mobile{display:none}.commit-node{z-index:2;border:2px solid var(--accent);background:var(--bg);width:14px;height:14px;box-shadow:0 0 0 5px var(--bg), 0 0 14px rgb(var(--accent-rgb) / 25%);border-radius:999px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.initial-commit{z-index:2;border:1px solid var(--border);background:var(--surface);width:fit-content;min-height:44px;color:var(--muted);border-radius:999px;justify-self:center;align-items:center;gap:8px;padding:0 17px;font:.68rem Geist Mono,monospace;display:inline-flex;position:relative}.pinned-projects{width:100%}.repository-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.repository-panel>header{border-bottom:1px solid var(--border);color:#d4d4d6;background:#282828;justify-content:space-between;align-items:center;min-height:46px;padding:0 15px;font-size:.75rem;display:flex}.repository-panel>header span{align-items:center;gap:7px;display:flex}.repository-panel>header strong{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 7px;font:.63rem Geist Mono,monospace}.repository-panel>div>a{border-bottom:1px solid var(--border);color:inherit;gap:10px;padding:16px;text-decoration:none;transition:background .16s;display:grid}.repository-panel>div>a:last-child{border-bottom:0}.repository-panel>div>a:hover{background:#242424}.repository-panel>div>a>span:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.repository-panel>div>a strong{color:var(--accent-bright);font-size:.78rem}.repository-panel>div>a small{border:1px solid var(--border);color:var(--faint);border-radius:999px;padding:2px 6px;font:.55rem Geist Mono,monospace}.repo-meta{color:var(--faint);align-items:center;gap:6px;font-size:.63rem;display:flex}.repo-meta i,.project-card footer i{border-radius:999px;width:9px;height:9px}.repo-meta small{margin-left:auto;border:0!important;padding:0!important}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:space-between;min-height:270px;padding:20px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;overflow:hidden}.project-card:hover{border-color:rgb(var(--accent-rgb) / 42%);transform:translateY(-3px);box-shadow:0 18px 40px #00000040}.project-card header{color:var(--muted);align-items:center;gap:8px;display:flex}.project-card h3{color:var(--accent-bright);margin:0;font-size:.9rem}.project-card header>span{border:1px solid var(--border);color:var(--faint);border-radius:999px;margin-left:auto;padding:2px 6px;font-size:.55rem}.project-card p{min-height:62px;color:var(--muted);margin:16px 0 20px;font-size:.74rem;line-height:1.55}.project-card>footer{border-top:1px solid var(--border-soft);color:var(--faint);align-items:center;gap:12px;margin:18px -20px -20px;padding:11px 20px;font-size:.64rem;display:flex}.project-card>footer span{align-items:center;gap:5px;display:inline-flex}.project-card>footer a{border:1px solid var(--border);color:var(--muted);border-radius:4px;align-items:center;gap:5px;padding:4px 7px;text-decoration:none;display:inline-flex}.project-card>footer a:first-of-type{margin-left:auto}.project-card>footer .project-demo-link{margin-left:0}.view-all-link{width:fit-content;color:var(--muted);align-items:center;gap:7px;margin:24px auto 0;font-size:.72rem;font-weight:650;text-decoration:none;display:flex}.view-all-link:hover{color:var(--accent-bright)}.blogs-empty{color:var(--muted);padding:2rem 0;font-family:Geist Mono,monospace}.blogs-empty-prompt:before{content:"$ ";opacity:.6}.blogs-empty-comment{opacity:.6}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.blog-card{border:1px solid var(--border);background:linear-gradient(145deg,#1e1e1efa,#121212fa);border-radius:9px;flex-direction:column;min-height:330px;padding:24px;transition:border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.blog-card:hover{border-color:rgb(var(--accent-rgb) / 42%);transform:translateY(-4px)}.blog-index{color:rgb(var(--accent-rgb) / 8%);font:700 5rem Geist Mono,monospace;position:absolute;top:-10px;right:10px}.blog-thumb{border-bottom:1px solid var(--border);background-color:var(--blue);place-items:center;height:132px;margin:-24px -24px 20px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.blog-thumb{background-color:color-mix(in srgb, var(--blue) 10%, transparent)}}.blog-thumb{background-image:linear-gradient(var(--blue) 1px, transparent 1px), linear-gradient(90deg, var(--blue) 1px, transparent 1px)}@supports (color:color-mix(in lab, red, red)){.blog-thumb{background-image:linear-gradient(color-mix(in srgb, var(--blue) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--blue) 16%, transparent) 1px, transparent 1px)}}.blog-thumb{color:var(--blue);background-size:22px 22px}@supports (color:color-mix(in lab, red, red)){.blog-thumb{color:color-mix(in srgb, var(--blue) 55%, transparent)}}.blog-thumb img{object-fit:cover}.blog-card:nth-child(3n+2) .blog-thumb{background-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+2) .blog-thumb{background-color:color-mix(in srgb, var(--green) 10%, transparent)}}.blog-card:nth-child(3n+2) .blog-thumb{background-image:linear-gradient(var(--green) 1px, transparent 1px), linear-gradient(90deg, var(--green) 1px, transparent 1px)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+2) .blog-thumb{background-image:linear-gradient(color-mix(in srgb, var(--green) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--green) 16%, transparent) 1px, transparent 1px)}}.blog-card:nth-child(3n+2) .blog-thumb{color:var(--green)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+2) .blog-thumb{color:color-mix(in srgb, var(--green) 55%, transparent)}}.blog-card:nth-child(3n+3) .blog-thumb{background-color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+3) .blog-thumb{background-color:color-mix(in srgb, var(--yellow) 10%, transparent)}}.blog-card:nth-child(3n+3) .blog-thumb{background-image:linear-gradient(var(--yellow) 1px, transparent 1px), linear-gradient(90deg, var(--yellow) 1px, transparent 1px)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+3) .blog-thumb{background-image:linear-gradient(color-mix(in srgb, var(--yellow) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--yellow) 16%, transparent) 1px, transparent 1px)}}.blog-card:nth-child(3n+3) .blog-thumb{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.blog-card:nth-child(3n+3) .blog-thumb{color:color-mix(in srgb, var(--yellow) 55%, transparent)}}.blog-meta{color:var(--faint);gap:12px;font:.6rem Geist Mono,monospace;display:flex;position:relative}.blog-meta span{align-items:center;gap:5px;display:inline-flex}.blog-card h3{margin:28px 0 12px;font-size:1.15rem;line-height:1.25;position:relative}.blog-card>p{color:var(--muted);flex:1;margin:0 0 18px;font-size:.76rem;position:relative}.blog-card>a{width:fit-content;color:var(--accent-bright);align-items:center;gap:6px;margin-top:22px;font:.68rem Geist Mono,monospace;text-decoration:none;display:inline-flex}@media (max-width:980px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid{grid-template-columns:1fr}.blog-card{min-height:260px}}@media (max-width:780px){.experience-timeline:before{left:12px}.git-commit,.git-commit.is-even{min-width:0;padding-left:38px;display:block}.commit-period{display:none}.commit-card,.git-commit.is-even .commit-card{width:100%}.commit-node{left:12px}.commit-period-mobile{color:var(--faint);align-items:center;gap:6px;margin:0 0 10px;font:.62rem Geist Mono,monospace;display:flex}.initial-commit{margin-left:12px;transform:translate(-4px)}.project-grid{grid-template-columns:1fr}}.skills-section{min-height:100dvh}.skills-stage{height:min(650px,72vh);min-height:520px;box-shadow:none;cursor:grab;background:0 0;border:0;position:relative;overflow:visible}.skills-stage:active{cursor:grabbing}.skills-stage canvas{filter:drop-shadow(0 0 12px rgb(var(--accent-rgb) / 12%));display:block;width:100%!important;height:100%!important}.skill-node{-webkit-user-select:none;user-select:none;min-width:128px;color:var(--muted);text-align:center;will-change:transform, opacity;flex-direction:column;align-items:center;gap:7px;transition:filter .2s;display:flex}.skill-node svg{width:192px;height:192px;filter:drop-shadow(0 0 16px rgb(var(--accent-rgb) / 18%));transition:transform .2s,filter .2s}.skill-node.is-hovered svg{filter:drop-shadow(0 0 25px rgb(var(--accent-rgb) / 75%));transform:scale(1.14)}.skills-loading,.skills-reduced,.skills-fallback{height:100%;color:var(--muted);text-align:center;place-content:center;font:.8rem Geist Mono,monospace;display:grid}.skills-reduced{justify-items:center;gap:10px}.skills-reduced svg{color:var(--accent-bright)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.code-window,.profile-card,.terminal-panel,.metric-card,.contact-json,.contact-editor,.assistant-panel,.assistant-tip,.commit-card,.initial-commit,.repository-panel,.project-card{background-color:var(--surface);box-shadow:0 18px 44px var(--shadow)}.window-titlebar,.terminal-panel-header,.contact-editor>header,.assistant-panel>header,.commit-card>header,.repository-panel>header{background:var(--surface-header)}.code-body,.json-body,.contact-editor form,.assistant-messages,.commit-card>footer{background-color:var(--panel)}.blog-card{background:linear-gradient(145deg, var(--surface-raised), var(--surface));box-shadow:0 18px 44px var(--shadow)}.hero-summary,.code-line,.window-file,.system-fields dd,.terminal-panel-body,.contact-editor,.assistant-tip,.assistant-message p,.site-footer p{color:var(--text)}.assistant-message p,.assistant-suggestions button,.tag-row>span,.module-row code{background:var(--accent-soft)}html[data-theme=light] .profile-card,html[data-theme=light] .terminal-panel,html[data-theme=light] .metric-card,html[data-theme=light] .project-card,html[data-theme=light] .blog-card,html[data-theme=light] .commit-card,html[data-theme=light] .contact-json,html[data-theme=light] .contact-editor{background-color:var(--surface-raised)}html[data-theme=light] .code-window{background:var(--surface-raised)}html[data-theme=light] .code-comment,html[data-theme=light] .terminal-panel-body blockquote,html[data-theme=light] .assistant-message p{color:var(--muted)}html[data-theme=light] .boot-card:hover:before,html[data-theme=light] .github-card:hover:before{background-color:var(--surface-hover)}html[data-theme=light] .repository-panel>div>a:hover{background:var(--surface-hover)}html[data-theme=light] .code-orange,html[data-theme=light] .json-orange,html[data-theme=light] .json-body a,html[data-theme=light] .project-card h3,html[data-theme=light] .repository-panel>div>a strong{color:var(--accent)}html[data-theme=light] .code-blue,html[data-theme=light] .commit-branch{color:var(--blue)}@media (max-width:900px){.theme-toggle{top:14px;right:14px}}@media (max-width:780px){.skills-stage{height:520px;min-height:520px}}.blog-container{z-index:1;width:min(100%,960px);margin-inline:auto;padding:88px 24px 96px;position:relative}.blog-container.is-narrow{width:min(100%,720px)}.blog-prompt-heading{color:var(--text);margin:0 0 8px;font:700 clamp(1.35rem,3vw,1.9rem) Geist Mono,monospace}.blog-prompt-heading:before{content:"$ ";color:var(--muted)}.blog-subhead{color:var(--muted);margin:0 0 40px;font:.8rem Geist Mono,monospace}.blog-state{color:var(--muted);padding:40px 0;font:.85rem Geist Mono,monospace}.blog-state.is-error{color:var(--danger)}.blog-post-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-raised), var(--surface));min-height:190px;box-shadow:0 18px 44px var(--shadow);color:inherit;border-radius:9px;flex-direction:column;padding:22px;text-decoration:none;transition:border-color .18s,transform .18s;display:flex}.blog-post-card:hover{border-color:rgb(var(--accent-rgb) / 42%);transform:translateY(-4px)}.blog-post-card h3{color:var(--accent-bright);margin:0 0 10px;font-size:1.08rem;line-height:1.3}.blog-post-card p{color:var(--muted);flex:1;margin:0 0 16px;font-size:.78rem;line-height:1.55}.blog-post-card .blog-meta{margin-top:auto}.blog-status-tag{color:var(--yellow);text-transform:uppercase;letter-spacing:.06em;background:#d2992214;border:1px solid #d2992259;border-radius:4px;padding:2px 7px;font-size:.58rem}.blog-card-cover{aspect-ratio:16/9;border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;margin:-22px -22px 16px;position:relative;overflow:hidden}.blog-card-cover img{object-fit:cover}.blog-editor-cover{margin-top:4px}.blog-editor-cover-preview{aspect-ratio:16/9;border:1px solid var(--border);border-radius:8px;max-width:480px;position:relative;overflow:hidden}.blog-editor-cover-preview img{object-fit:cover}.blog-editor-cover-remove{border:1px solid var(--border);color:#fff;cursor:pointer;background:#0000008c;border-radius:5px;padding:4px 9px;font-family:inherit;font-size:.68rem;position:absolute;top:8px;right:8px}.blog-editor-cover-remove:hover{border-color:rgb(var(--accent-rgb) / 45%)}.blog-editor-cover-upload{border:1px dashed var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;padding:10px 14px;font-size:.78rem;display:inline-flex}.blog-editor-cover-upload:hover{border-color:rgb(var(--accent-rgb) / 45%);color:var(--text)}.blog-post-cover{aspect-ratio:16/9;border:1px solid var(--border);border-radius:10px;margin:0 0 26px;position:relative;overflow:hidden}.blog-post-cover img{object-fit:cover}.blog-post-view h1{margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}.blog-post-view .blog-post-byline{color:var(--faint);margin:0 0 36px;font:.68rem Geist Mono,monospace}.blog-prose{color:var(--text);font-size:.96rem;line-height:1.7}.blog-prose h2{color:var(--accent-bright);margin:34px 0 12px;font:700 1.4rem Geist Mono,monospace}.blog-prose h3{margin:26px 0 10px;font:700 1.15rem Geist Mono,monospace}.blog-prose p{margin:0 0 16px}.blog-prose a{color:var(--accent);text-decoration:underline}.blog-prose ul,.blog-prose ol{margin:0 0 16px;padding-left:22px}.blog-prose blockquote{border-left:2px solid rgb(var(--accent-rgb) / 30%);color:var(--muted);margin:0 0 20px;padding:4px 0 4px 16px}.blog-prose pre{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;margin:0 0 20px;padding:16px;font:.82rem Geist Mono,monospace;overflow-x:auto}.blog-prose code{background:var(--accent-soft);border-radius:4px;padding:2px 5px;font:.85em Geist Mono,monospace}.blog-prose pre code{background:0 0;padding:0}.blog-prose img{border:1px solid var(--border);border-radius:8px;max-width:100%;height:auto;margin:8px 0 20px}.blog-login-screen{z-index:1;place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative}.blog-login-window{width:min(100%,420px)}.blog-login-body{gap:18px;padding:26px 24px 28px;font-family:Geist Mono,monospace;display:grid}.blog-login-motd{color:var(--faint);margin:0;font-size:.72rem}.blog-form{gap:14px;width:100%;display:grid}.blog-field{gap:6px;display:grid}.blog-field span{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font:.6rem Geist Mono,monospace}.blog-input{border:1px solid var(--border);background:var(--panel);width:100%;min-height:44px;color:var(--accent-bright);border-radius:6px;padding:10px 12px;font-size:.85rem}.blog-input:focus{border-color:rgb(var(--accent-rgb) / 65%);outline:none}.blog-error{color:var(--danger);font:.7rem Geist Mono,monospace}.blog-admin-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.blog-admin-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font:.8rem Geist Mono,monospace;display:flex}.blog-admin-row .blog-row-actions{gap:14px;font-size:.72rem;display:flex}.blog-admin-row .blog-row-actions a{color:var(--accent-bright);text-decoration:none}.blog-admin-row .blog-row-actions button{cursor:pointer;color:var(--danger);font:inherit;background:0 0;border:0}.blog-editor-titles{gap:10px;margin-bottom:18px;display:grid}.blog-editor-title{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;padding:6px 0;font:700 clamp(1.4rem,3vw,2rem) Geist Mono,monospace}.blog-editor-title:focus{border-color:rgb(var(--accent-rgb) / 55%);outline:none}.blog-editor-toolbar{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.blog-tb-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:34px;color:var(--muted);border-radius:6px;padding:0 12px;font:.68rem Geist Mono,monospace}.blog-tb-btn:hover,.blog-tb-btn.is-active{border-color:rgb(var(--accent-rgb) / 55%);color:var(--accent-bright)}.blog-editor-surface{border:1px solid var(--border);background:var(--panel);border-radius:8px;min-height:320px;padding:18px 20px}.blog-editor-surface .ProseMirror{min-height:300px;color:var(--text);outline:none;font-size:.95rem;line-height:1.7}.blog-editor-surface .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--faint)}.blog-editor-actions{gap:12px;margin-top:18px;display:flex}@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}
