:root{--font-geist-sans:Arial, Helvetica, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--ink:#0a0a0a;--paper:#f1f0ea;--lime:#c5ff36;--cyan:#39dfff;--violet:#805bff;--coral:#ff6b56;--background:var(--paper);--foreground:var(--ink);--card:#f7f6f0;--card-foreground:var(--ink);--primary:#657f16;--primary-foreground:#fff;--border:#0a0a0a38;--ring:#657f16;--intro-background:#050505;--intro-foreground:#f5f5f2;--intro-muted:#f5f5f294;--intro-ease:cubic-bezier(.16, 1, .3, 1);--hero-background:#080a08;--hero-surface:#10130e;--hero-surface-strong:#171c12;--hero-foreground:#f4f5ef;--hero-muted:#f4f5ef94;--hero-rule:#f4f5ef33;--hero-grid:#c5ff3612;--ticker-height:42px;--terminal-bg:#070908;--terminal-panel:#0c0f0d;--terminal-panel-raised:#111612;--terminal-text:#eef2ed;--terminal-text-soft:#a0aaa1;--terminal-text-dim:#68716a;--terminal-rule:#eef2ed24;--terminal-rule-strong:#eef2ed47;--terminal-green:#83f28f;--terminal-amber:#f1bd62;--terminal-blue:#72a8ff;--terminal-red:#ff7c74;--terminal-focus:#b8ff66;--terminal-font:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--terminal-space-2xs:4px;--terminal-space-xs:8px;--terminal-space-sm:12px;--terminal-space-md:16px;--terminal-space-lg:24px;--terminal-space-xl:32px;--terminal-space-2xl:48px;--terminal-text-xs:11px;--terminal-text-sm:13px;--terminal-text-md:15px;--terminal-text-lg:19px;--terminal-ease-out:cubic-bezier(.16, 1, .3, 1);--terminal-duration-short:.18s;--terminal-duration-enter:.42s;--terminal-radius:2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;min-height:100%;margin:0;overflow-x:clip}#root{min-height:100%}html{background:var(--terminal-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body,button,input{font-family:var(--terminal-font)}body{isolation:isolate;background:var(--terminal-bg);color:var(--terminal-text);-webkit-font-smoothing:antialiased;position:relative;overflow-x:clip}body:before{z-index:-2;background:linear-gradient(125deg, var(--terminal-blue), transparent 38%), linear-gradient(235deg, var(--violet), transparent 42%), linear-gradient(20deg, var(--terminal-green), transparent 32%), var(--terminal-bg);content:"";filter:blur(110px);opacity:.68;will-change:transform;animation:28s ease-in-out infinite ambient-drift;position:fixed;inset:-24%;transform:scale(1.08)}body:after{z-index:-1;background:color-mix(in srgb, var(--terminal-bg) 28%, transparent);content:"";position:fixed;inset:0}button,input{color:inherit}button{border:0}a{color:inherit;text-decoration:none}::selection{background:var(--terminal-green);color:var(--terminal-bg)}:focus-visible{outline:2px solid var(--terminal-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-page{width:100%;min-width:0;min-height:100%}.hero-stage{width:100%;min-height:100svh;padding:var(--terminal-space-xl);place-items:center;display:grid}.terminal-site{border:1px solid var(--terminal-rule-strong);background:var(--terminal-panel);width:min(1180px,100%);height:min(780px,100svh - 64px);box-shadow:0 30px 90px color-mix(in srgb, var(--terminal-bg) 72%, transparent);border-radius:10px;grid-template-rows:48px minmax(0,1fr);display:grid;overflow:hidden}.portfolio-sections{gap:var(--terminal-space-lg);width:min(1180px,100%);min-width:0;padding:0 var(--terminal-space-xl) 96px;margin:0 auto;display:grid}.portfolio-section{min-width:0;scroll-margin-top:var(--terminal-space-lg);border:1px solid var(--terminal-rule-strong);background:var(--terminal-panel);box-shadow:0 18px 56px color-mix(in srgb, var(--terminal-bg) 60%, transparent);border-radius:8px;overflow:hidden}.portfolio-section__header{align-items:center;gap:var(--terminal-space-md);border-bottom:1px solid var(--terminal-rule);min-height:44px;padding:0 var(--terminal-space-md);background:var(--terminal-panel-raised);color:var(--terminal-text-dim);font-size:var(--terminal-text-xs);grid-template-columns:1fr auto 1fr;display:grid}.portfolio-section__index{color:var(--terminal-green);justify-self:start}.portfolio-section__path{min-width:0;color:var(--terminal-text-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-section__top{border:1px solid var(--terminal-rule);border-radius:var(--terminal-radius);width:32px;height:32px;color:var(--terminal-text-dim);justify-self:end;place-items:center;display:grid}.portfolio-section__top:hover,.portfolio-section__top:focus-visible{border-color:var(--terminal-blue);color:var(--terminal-text)}.portfolio-section__body{padding:var(--terminal-space-lg)}.portfolio-section__body .terminal-output{width:100%}.terminal-header{align-items:center;gap:var(--terminal-space-md);border-bottom:1px solid var(--terminal-rule);padding:0 var(--terminal-space-md);background:var(--terminal-panel-raised);color:var(--terminal-text-dim);font-size:var(--terminal-text-xs);grid-template-columns:1fr auto 1fr;display:grid}.terminal-title{color:var(--terminal-text-soft);justify-self:center}.terminal-presence{justify-self:end;align-items:center;gap:var(--terminal-space-xs);color:var(--terminal-green);display:flex}.terminal-presence i,.identity-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.window-controls{justify-self:start;gap:var(--terminal-space-xs);display:flex}.window-control{cursor:pointer;border-radius:50%;place-items:center;width:13px;height:13px;padding:0;display:grid}.window-control--close{background:var(--terminal-red)}.window-control--minimize{background:var(--terminal-amber)}.window-control--fullscreen{background:var(--terminal-green)}.window-control svg{opacity:0;transition:opacity var(--terminal-duration-short) ease}.window-controls:hover .window-control svg,.window-control:focus-visible svg{opacity:1}.window-control:hover,.window-control:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 24%, transparent)}.terminal-workspace,.console{width:100%;min-width:0;min-height:0;overflow:hidden}.terminal-intro{width:100%;min-width:0;height:100%;padding:var(--terminal-space-lg);animation:intro-hold var(--terminal-duration-enter) var(--terminal-ease-out) both;place-items:center;display:grid}.terminal-intro--leaving{animation:intro-leave var(--terminal-duration-enter) var(--terminal-ease-out) both}.terminal-intro__stack{width:min(100%,720px);min-height:112px;color:var(--terminal-text);letter-spacing:0;overflow-wrap:anywhere;text-align:center;place-items:center;font-size:80px;font-style:normal;font-weight:600;line-height:1;display:grid}.terminal-intro__stack span{opacity:0;transition:opacity .15s var(--terminal-ease-out), transform .21s var(--terminal-ease-out);will-change:opacity, transform;grid-area:1/1;transform:translateY(12px)scale(.98)}.terminal-intro__stack span.is-active{opacity:1;transform:translateY(0)scale(1)}.console{grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid}.console--ready{animation:console-ready var(--terminal-duration-enter) var(--terminal-ease-out) both}.terminal-transcript{min-width:0;min-height:0;padding:var(--terminal-space-lg) var(--terminal-space-lg) var(--terminal-space-xl);scrollbar-color:var(--terminal-rule-strong) transparent;scrollbar-width:thin;overflow-y:auto}.terminal-output{width:min(100%,900px);min-width:0;color:var(--terminal-text-soft);font-size:14px;line-height:1.7}.terminal-output+.terminal-output{margin-top:var(--terminal-space-xl);border-top:1px solid var(--terminal-rule);padding-top:var(--terminal-space-lg)}.command-output{animation:output-enter var(--terminal-duration-enter) var(--terminal-ease-out) both}.terminal-echo{min-width:0;margin-bottom:var(--terminal-space-md);font-size:var(--terminal-text-sm);gap:2px;display:grid}.terminal-echo__line{flex-wrap:wrap;align-items:baseline;min-width:0;display:flex}.prompt-user{color:var(--terminal-blue)}.prompt-at,.prompt-path,.prompt-tree{color:var(--terminal-text-dim)}.prompt-host{color:var(--terminal-amber)}.prompt-path{margin-right:var(--terminal-space-xs)}.terminal-echo strong{min-width:0;color:var(--terminal-text);overflow-wrap:anywhere;font-weight:400}.identity-status{justify-content:space-between;align-items:center;gap:var(--terminal-space-md);color:var(--terminal-text-dim);font-size:var(--terminal-text-xs);display:flex}.identity-status span:last-child{align-items:center;gap:var(--terminal-space-xs);color:var(--terminal-green);white-space:nowrap;display:flex}.welcome-output h1{margin:var(--terminal-space-lg) 0 var(--terminal-space-xs);color:var(--terminal-text);letter-spacing:0;font-size:30px;font-style:normal;font-weight:600;line-height:1.2}.welcome-output h1 span+span:before{content:" "}.welcome-role{margin:0 0 var(--terminal-space-md);color:var(--terminal-text-dim)}.welcome-copy{max-width:820px;margin:0}.welcome-hint{align-items:baseline;gap:var(--terminal-space-xs);max-width:850px;margin:var(--terminal-space-lg) 0 0;color:var(--terminal-text-dim);flex-wrap:wrap;display:flex}.welcome-hint span{color:var(--terminal-green)}.welcome-hint code{border:1px solid var(--terminal-rule);border-radius:var(--terminal-radius);background:color-mix(in srgb, var(--terminal-panel-raised) 84%, transparent);min-width:0;color:var(--terminal-text);font:inherit;overflow-wrap:anywhere;padding:3px 7px}.terminal-output h2{margin:0 0 var(--terminal-space-md);color:var(--terminal-text);font-size:var(--terminal-text-md);letter-spacing:0;font-style:normal;font-weight:600}.terminal-output h2:before{margin-right:var(--terminal-space-xs);color:var(--terminal-green);content:"##"}.terminal-output p{max-width:850px;margin:0 0 var(--terminal-space-sm)}.terminal-kv{gap:var(--terminal-space-xs);margin:var(--terminal-space-md) 0 0;display:grid}.terminal-kv>div{gap:var(--terminal-space-md);grid-template-columns:130px minmax(0,1fr);display:grid}.terminal-kv dt{color:var(--terminal-amber)}.terminal-kv dt:after{content:":"}.terminal-kv dd{min-width:0;color:var(--terminal-text);overflow-wrap:anywhere;margin:0}.terminal-kv a,.terminal-links a,.social-list a,.file-link{color:var(--terminal-blue)}.terminal-kv a:hover,.terminal-links a:hover,.social-list a:hover,.file-link:hover{color:var(--terminal-green)}.status-online:before{margin-right:var(--terminal-space-xs);color:var(--terminal-green);content:"●"}.terminal-project{padding:var(--terminal-space-md) 0;border-top:1px solid var(--terminal-rule)}.terminal-project:last-child{border-bottom:1px solid var(--terminal-rule)}.projects-toggle{border:1px solid var(--terminal-rule-strong);border-radius:var(--terminal-radius);color:var(--terminal-green);cursor:pointer;font:inherit;font-size:var(--terminal-text-xs);background:0 0;padding:8px 10px}.projects-toggle:hover,.projects-toggle:focus-visible{border-color:var(--terminal-green);color:var(--terminal-text)}.project-heading{gap:var(--terminal-space-sm);grid-template-columns:32px minmax(0,1fr) auto;align-items:baseline;display:grid}.project-heading b{color:var(--terminal-green);font-size:var(--terminal-text-xs);font-weight:400}.project-heading strong{min-width:0;color:var(--terminal-text);overflow-wrap:anywhere}.project-heading span,.project-role{color:var(--terminal-text-dim);font-size:var(--terminal-text-xs)}.project-role{margin:0 0 var(--terminal-space-xs) 44px!important}.stack-line span{color:var(--terminal-amber)}.terminal-links{gap:var(--terminal-space-md);flex-wrap:wrap;display:flex}.terminal-links a,.social-list a,.file-link{align-items:center;gap:var(--terminal-space-2xs);white-space:nowrap;display:inline-flex}.education-entry{gap:var(--terminal-space-2xs);display:grid}.education-entry>strong{color:var(--terminal-text)}.education-entry>span,.social-list small{color:var(--terminal-text-dim);font-size:var(--terminal-text-xs)}.file-link{width:max-content;min-height:40px;margin-top:var(--terminal-space-xs);border:1px solid var(--terminal-rule-strong);padding:0 var(--terminal-space-sm)}.social-list{gap:var(--terminal-space-xs);display:grid}.social-list>div{gap:var(--terminal-space-md);grid-template-columns:150px minmax(0,1fr) auto;align-items:center;display:grid}.social-list>div>span{color:var(--terminal-text)}.help-list{gap:var(--terminal-space-xs);display:grid}.help-list button{gap:var(--terminal-space-sm);cursor:pointer;text-align:left;background:0 0;grid-template-columns:160px minmax(0,1fr);align-items:center;min-height:36px;padding:0;display:grid}.help-list button span{color:var(--terminal-blue)}.help-list button span:before{margin-right:var(--terminal-space-2xs);color:var(--terminal-green);content:"$"}.help-list button small{color:var(--terminal-text-dim)}.command-error{gap:var(--terminal-space-xs);display:grid}.command-error strong{color:var(--terminal-red);overflow-wrap:anywhere;font-weight:400}.command-error button{color:var(--terminal-blue);cursor:pointer;background:0 0;padding:0}.ask-answer{white-space:pre-wrap;max-width:72ch}.ask-answer strong{color:var(--terminal-text);font-weight:600}.ask-answer a{color:var(--terminal-blue);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--terminal-blue) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--terminal-blue) 55%, transparent);text-underline-offset:3px}.ask-answer a:hover,.ask-answer a:focus-visible{color:var(--terminal-green)}.ask-answer.is-thinking{color:var(--terminal-text-dim)}.ask-answer.is-thinking:after{width:1ch;color:var(--terminal-green);content:"_";margin-left:1px;animation:.9s steps(2,end) infinite cursor-blink;display:inline-block}.terminal-prompt{border-top:1px solid var(--terminal-rule);background:var(--terminal-panel);min-width:0;padding:var(--terminal-space-sm) var(--terminal-space-lg) var(--terminal-space-md);overflow:hidden}.prompt-location{color:var(--terminal-text-dim);font-size:var(--terminal-text-xs);flex-wrap:wrap;align-items:baseline;display:flex}.prompt-input-row{margin-top:var(--terminal-space-2xs);grid-template-columns:44px minmax(0,1fr) 40px;align-items:center;display:grid}.prompt-input-row>span{color:var(--terminal-green)}.prompt-input-row input{width:100%;min-width:0;height:40px;caret-color:var(--terminal-green);font-size:var(--terminal-text-sm);background:0 0;border:0;outline:0}.prompt-input-row input::placeholder{color:var(--terminal-text-dim)}.prompt-input-row button{border:1px solid var(--terminal-rule-strong);border-radius:var(--terminal-radius);width:40px;height:40px;color:var(--terminal-text-soft);cursor:pointer;background:0 0;place-items:center;display:grid}.prompt-input-row button:disabled{cursor:wait;opacity:.55}.quick-commands{width:100%;min-width:0;margin-top:var(--terminal-space-xs);flex-wrap:wrap;gap:6px;display:flex}.quick-commands button{border:1px solid var(--terminal-rule);border-radius:var(--terminal-radius);min-height:34px;color:var(--terminal-text-dim);cursor:pointer;font-size:var(--terminal-text-xs);white-space:nowrap;background:0 0;padding:0 10px}.quick-commands .quick-command--ask{border-color:color-mix(in srgb, var(--terminal-green) 68%, var(--terminal-rule));background:color-mix(in srgb, var(--terminal-green) 10%, transparent);color:var(--terminal-green);box-shadow:0 0 0 1px color-mix(in srgb, var(--terminal-green) 18%, transparent);font-weight:700}.quick-commands button:before{margin-right:var(--terminal-space-2xs);color:var(--terminal-text-dim);content:"$"}.prompt-input-row button:hover,.prompt-input-row button:focus-visible,.quick-commands button:hover,.quick-commands button:focus-visible{border-color:var(--terminal-blue);color:var(--terminal-text)}@keyframes output-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-hold{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-leave{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.985)}}@keyframes console-ready{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cursor-blink{50%{opacity:0}}@keyframes ambient-drift{0%,to{transform:scale(1.08)translate(0,0)rotate(0)}33%{transform:scale(1.14)translate(-1.5%,1.8%)rotate(2deg)}66%{transform:scale(1.12)translate(1.8%,-1.2%)rotate(-1.5deg)}}@media (width<=700px){.hero-stage{min-height:100svh;padding:0}.terminal-site{border:0;border-radius:0;width:100%;height:100svh}.portfolio-sections{gap:var(--terminal-space-md);padding:var(--terminal-space-lg) var(--terminal-space-sm) var(--terminal-space-2xl)}.portfolio-section{scroll-margin-top:var(--terminal-space-sm)}.portfolio-section__body{padding:var(--terminal-space-md)}.terminal-header{padding:0 var(--terminal-space-md)}.terminal-transcript{padding:22px 18px 30px}.terminal-output{font-size:13px;line-height:1.78}.terminal-echo{margin-bottom:18px;font-size:13px}.terminal-intro__stack{min-height:72px;font-size:42px}.terminal-prompt{padding:var(--terminal-space-xs) var(--terminal-space-md) var(--terminal-space-sm)}.quick-commands{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.quick-commands::-webkit-scrollbar{display:none}.quick-commands button{min-height:40px}.identity-status{justify-content:start;gap:10px;font-size:10px;display:grid}.identity-status span:first-child{max-width:100%}.identity-status span:last-child{white-space:normal}.welcome-output h1{overflow-wrap:anywhere;margin:30px 0 16px;font-size:clamp(29px,9vw,36px);line-height:1.16}.welcome-output h1 span{display:block}.welcome-output h1 span+span:before{content:none}.welcome-role{color:var(--terminal-text-soft);margin-bottom:20px}.welcome-copy{line-height:1.86}.welcome-hint{border-inline-start:1px solid var(--terminal-rule-strong);gap:6px;margin-top:26px;padding-inline-start:12px;display:grid}.welcome-hint code{color:var(--terminal-text);background:0 0;border:0;padding:0;display:inline}}@media (width<=480px){.terminal-header{grid-template-columns:auto 1fr}.terminal-title{justify-self:end}.terminal-presence{display:none}.portfolio-section__header{grid-template-columns:auto minmax(0,1fr) auto}.terminal-transcript{padding-inline:16px}.terminal-output,.terminal-echo{font-size:12.5px}.welcome-output h1{font-size:clamp(27px,9vw,34px)}.terminal-kv>div{grid-template-columns:88px minmax(0,1fr)}.social-list>div{gap:var(--terminal-space-xs);grid-template-columns:minmax(0,1fr) auto}.social-list small{display:none}.project-heading{grid-template-columns:26px minmax(0,1fr)}.project-heading span{grid-column:2}.project-role{margin-left:38px!important}.help-list button{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
