@import "https://fonts.googleapis.com/css2?family=DM+Serif+Text:ital@0;1&display=swap";
@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;--spacing:.25rem;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 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}.static{position:static}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.hidden{display:none}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#0b0b0c;--bg-2:#0f0f11;--surface:#141416;--surface-2:#1a1a1d;--border:#222225;--border-2:#2a2a2e;--text:#ededee;--text-2:#8a8a90;--text-3:#55555a;--accent:#ff6f75;--accent-soft:#ff6f751f;--accent-glow:#ff6f7559;--ok:#6fd087;--scrollbar-track:#0b0b0c;--scrollbar-thumb:#7a2a2e;--scrollbar-thumb-hover:#f06a5f;--radius:18px;--radius-sm:10px;--ff-sans:"DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ff-serif:"DM Serif Text", Georgia, "Times New Roman", serif;--ff-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}@supports (color:lab(0% 0 0)){:root{--accent:lab(65.6354% 57.6157 26.2267);--accent-soft:lab(65.6354% 57.6157 26.2267/.12);--accent-glow:lab(65.6354% 57.6157 26.2267/.35);--ok:lab(76.2673% -42.0219 27.4338)}}*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}html,body{min-height:100%;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}::-webkit-scrollbar{width:10px;height:10px}:root::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar{width:10px;height:10px}body::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}:root::-webkit-scrollbar-track{background:var(--scrollbar-track)}html::-webkit-scrollbar-track{background:var(--scrollbar-track)}body::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}:root::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}:root::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}html::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}:root::-webkit-scrollbar-corner{background:0 0}html::-webkit-scrollbar-corner{background:0 0}body::-webkit-scrollbar-corner{background:0 0}body{background:var(--bg);color:var(--text);font-family:var(--ff-sans), Inter, system-ui, sans-serif;font-feature-settings:"ss01", "cv11";letter-spacing:-.005em;-webkit-font-smoothing:antialiased;line-height:1.5;position:relative;overflow-x:hidden}body.terminal-mode-body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}body.terminal-mode-body::-webkit-scrollbar{width:10px;height:10px}body.terminal-mode-body::-webkit-scrollbar-track{background:var(--scrollbar-track)}body.terminal-mode-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}body.terminal-mode-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body:before{content:"";mix-blend-mode:overlay;opacity:.35;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}a{color:inherit}.spotlight{pointer-events:none;z-index:2;position:fixed;inset:0}.shell{z-index:3;max-width:1240px;margin:0 auto;padding:28px 28px 80px;position:relative}.project-shell{max-width:1100px}.projects-shell{max-width:1180px}.nav{justify-content:space-between;align-items:center;padding:6px 4px 28px;display:flex}.portfolio-nav{display:block}.nav-main{justify-content:space-between;align-items:center;display:flex}.project-nav{padding-bottom:40px}.brand{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.02em;align-items:center;gap:10px;font-size:13px;text-decoration:none;display:flex}.dot{background:var(--accent);box-shadow:0 0 12px var(--accent-glow);border-radius:50%;width:8px;height:8px}.navlinks{gap:22px;display:flex}.navlinks.is-hidden{display:none}.nav-actions{align-items:center;gap:14px;display:flex}.navlinks a{color:var(--text-2);letter-spacing:.01em;font-size:13px;text-decoration:none;transition:color .2s}.navlinks a:hover,.projects-head .view:hover{color:var(--text)}.nav-terminal{aspect-ratio:1;border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:#ffffff05;border-radius:999px;justify-content:center;align-items:center;width:42px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.nav-menu-toggle{aspect-ratio:1;border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:#ffffff05;border-radius:999px;justify-content:center;align-items:center;width:40px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.nav-menu-toggle:hover,.nav-menu-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.nav-menu-toggle:hover{transform:translateY(-1px)}.mobile-nav-panel{display:none}.nav-terminal:hover,.nav-terminal[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.nav-terminal:hover{transform:translateY(-1px)}.portfolio-stage{position:relative}.terminal-mode{display:none}.bento{grid-template-columns:repeat(12,1fr);grid-auto-rows:110px;gap:14px;display:grid}.cell{background:linear-gradient(180deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--border);border-radius:var(--radius);isolation:isolate;padding:22px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.cell:before{border-radius:inherit;content:"";-webkit-mask-composite:xor;pointer-events:none;z-index:-1;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;background:linear-gradient(#ffffff0f,#0000 50%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.cell:after{background:radial-gradient(320px circle at var(--cx,-200px) var(--cy,-200px), var(--accent-soft), transparent 60%);border-radius:inherit;content:"";opacity:0;pointer-events:none;z-index:0;transition:opacity .35s;position:absolute;inset:0}.cell:hover{border-color:var(--border-2);box-shadow:0 20px 40px -20px #0009}.cell:hover:after{opacity:1}.cell>*{z-index:1;position:relative}.c-hero{grid-area:span 4/span 8}.c-status,.c-about,.c-stats{grid-area:span 3/span 4}.c-stack{grid-area:span 6/span 4}.c-projects{grid-area:span 4/span 8}.c-github{grid-area:span 4/span 4}.c-terminal{grid-area:span 3/span 7}.c-timeline{grid-area:span 5/span 5}.c-education{grid-area:span 3/span 12}.c-contact{grid-area:span 2/span 12}@media (min-width:1025px){.nav-menu-toggle{display:none}.portfolio-stage{perspective:1600px}.bento-face,.terminal-mode{backface-visibility:hidden;transform-style:preserve-3d;transition:opacity .55s,transform .7s cubic-bezier(.2,.8,.2,1)}.terminal-mode{opacity:0;pointer-events:none;width:100%;min-height:calc(100vh - 170px);display:block;position:absolute;inset:0;transform:rotateY(-180deg)scale(.98)}.portfolio-stage.is-terminal .bento-face{opacity:0;pointer-events:none;width:100%;position:absolute;top:0;transform:rotateY(180deg)scale(.98)}.portfolio-stage.is-terminal .terminal-mode{opacity:1;pointer-events:auto;position:relative;transform:rotateY(0)scale(1)}.bento{grid-template-areas:"hero hero hero hero hero hero hero hero status status status status""hero hero hero hero hero hero hero hero status status status status""hero hero hero hero hero hero hero hero about about about about""hero hero hero hero hero hero hero hero about about about about""stack stack stack stack stats stats stats stats about about about about""stack stack stack stack projects projects projects projects projects projects projects projects""stack stack stack stack projects projects projects projects projects projects projects projects""activity activity activity activity projects projects projects projects projects projects projects projects""activity activity activity activity terminal terminal terminal terminal terminal terminal terminal terminal""timeline timeline timeline timeline terminal terminal terminal terminal terminal terminal terminal terminal""timeline timeline timeline timeline terminal terminal terminal terminal terminal terminal terminal terminal""timeline timeline timeline timeline education education education education education education education education""timeline timeline timeline timeline education education education education education education education education""timeline timeline timeline timeline education education education education education education education education""contact contact contact contact contact contact contact contact contact contact contact contact""contact contact contact contact contact contact contact contact contact contact contact contact"}.c-hero{grid-area:hero}.c-status{grid-area:status}.c-about{grid-area:about}.c-stack{grid-area:stack}.c-stats{grid-area:stats}.c-projects{grid-area:projects}.c-github{grid-area:activity}.c-terminal{grid-area:terminal}.c-timeline{grid-area:timeline}.c-education{grid-area:education}.c-contact{grid-area:contact}}.label{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.label .bar{background:var(--text-3);width:14px;height:1px}.hero,.status,.projects,.gh,.term{flex-direction:column;height:100%;display:flex}.hero,.status{justify-content:flex-start}.hero{gap:clamp(64px,8vw,104px)}.hero-top,.projects-head,.gh-head{justify-content:space-between;align-items:center;display:flex}.hero-meta{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;font-size:11px}.hero-title{color:var(--text);font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.02em;flex-direction:column;gap:clamp(8px,.9vw,14px);margin:0;font-size:clamp(40px,4.6vw,62px);font-weight:400;line-height:1;display:flex}.hero-title-group{flex-direction:column;display:flex}.hero-title em,.status-msg em,.contact-h em,.p-title em{color:var(--text-2);font-style:italic}.hero-title em{color:var(--accent)}.hero-sub{color:var(--text-2);max-width:520px;margin-top:16px;font-size:14px;line-height:1.5}.hero-sub b,.about p strong,.p-body strong{color:var(--text);font-weight:500}.status-avail{border:1px solid var(--border-2);color:var(--text);font-family:var(--ff-mono), ui-monospace, monospace;background:#ffffff05;border-radius:999px;align-self:flex-start;align-items:center;gap:10px;margin-top:22px;padding:8px 12px;font-size:12px;display:inline-flex}.pulse{background:var(--ok);border-radius:50%;width:8px;height:8px}.status-msg{color:var(--text);font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.01em;margin-top:42px;font-size:28px;line-height:1.15}.status-meta{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;gap:7px;margin-top:auto;padding-top:34px;font-size:11px;display:grid}.status-meta .row,.p-kv .row{justify-content:space-between;display:flex}.status-meta b{color:var(--text-2);font-weight:400}.about p{color:var(--text-2);text-wrap:pretty;margin:18px 0 0;font-size:14.5px;line-height:1.6}.stack-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.stack-row{border-bottom:1px solid var(--border);grid-template-columns:92px 1fr;align-items:start;gap:14px;padding-bottom:12px;display:grid}.stack-row:last-child{border-bottom:0;padding-bottom:0}.stack-cat{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;padding-top:8px;font-size:10.5px}.stack-chips,.p-chips{flex-wrap:wrap;gap:6px;display:flex}.chip,.p-chip,.proj-tag{border:1px solid var(--border);color:var(--text);background:#ffffff04}.chip,.p-chip{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:7px 11px;font-size:12.5px;transition:border-color .2s,background .2s;display:inline-flex}.chip:hover{border-color:var(--border-2);background:#ffffff08}.sq{background:var(--text-3);border-radius:2px;width:7px;height:7px}.primary .sq{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff04;padding:14px 14px 12px}.stat-num,.gh-count{font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.02em;line-height:1}.stat-num{font-size:34px}.stat-num sup{color:var(--accent);font-family:var(--ff-mono), ui-monospace, monospace;vertical-align:super;margin-left:2px;font-size:12px;font-weight:500}.stat-lab{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:10.5px}.projects-head .view{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:11px;text-decoration:none}.project-list{border-top:1px solid var(--border);flex-direction:column;margin-top:18px;display:flex}.projects-view-all{background:var(--text);border:1px solid var(--text);color:var(--bg);font-family:var(--ff-mono), ui-monospace, monospace;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-top:18px;padding:10px 16px;font-size:12px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.projects-view-all:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);transform:translateY(-1px)}.project{border-bottom:1px solid var(--border);color:inherit;grid-template-columns:28px 1fr auto 18px;align-items:center;gap:16px;padding:14px 4px;text-decoration:none;display:grid}.project:hover{padding-left:10px}.p-next .nx:hover{color:var(--accent)}.proj-num{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.04em;font-size:11px}.proj-title{color:var(--text);letter-spacing:-.01em;font-size:16px}.proj-desc{color:var(--text-2);margin-top:2px;font-size:13px}.proj-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.proj-tag{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;border-radius:4px;padding:3px 7px;font-size:10.5px}.proj-arrow{color:var(--text-3);font-size:16px;transition:color .25s,transform .25s}.gh-head{align-items:baseline;margin-top:16px}.gh-count{font-size:40px}.gh-count small{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;margin-left:6px;font-size:11px}.gh-year{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;font-size:11px}.gh-grid{aspect-ratio:26/7;grid-template-columns:repeat(26,1fr);grid-auto-rows:1fr;gap:3px;margin-top:20px;display:grid}.gh-cell{border-radius:2px}.gh-legend{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;justify-content:space-between;align-items:center;margin-top:12px;font-size:10px;display:flex}.gh-scale{align-items:center;gap:3px;display:inline-flex}.gh-scale i{border-radius:2px;width:10px;height:10px;display:inline-block}.gh-repos{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;padding-top:14px;display:grid}.gh-repo-group{gap:8px;min-width:0;display:grid}.gh-repos-title{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.gh-repo{color:inherit;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;text-decoration:none;display:grid}.gh-repo-lang{border-radius:50%;width:8px;height:8px}.gh-repo-main{min-width:0;display:grid}.gh-repo-name{color:var(--text);font-size:13px}.gh-repo-desc,.gh-repo-empty,.gh-repo-meta{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;font-size:10.5px}.gh-repo-desc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.term{font-family:var(--ff-mono), ui-monospace, monospace;font-size:13px}.term-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:14px;display:flex}.term-dot{background:var(--border-2);border-radius:50%;width:10px;height:10px}.term-dot.r{background:#3a2a2c}.term-dot.y{background:#3a362a}.term-dot.g{background:#2a3a2c}.term-title{color:var(--text-3);letter-spacing:.06em;margin-left:8px;font-size:11px}.term-body{color:var(--text-2);flex:1;line-height:1.7;overflow:hidden}.term-body .u{color:var(--accent)}.term-body .c{color:var(--text)}.term-body .k{color:var(--text-3)}.term-cursor{background:var(--text);vertical-align:-2px;width:8px;height:14px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.terminal-mode-window{background:radial-gradient(circle at 18% 0%, var(--accent-soft), transparent 32%), linear-gradient(180deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--border);border-radius:var(--radius);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-direction:column;min-height:calc(100vh - 170px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px -45px #000000d9}.terminal-mode-window:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 0,#000 18%,#0000 72%);mask-image:radial-gradient(circle at 50% 0,#000 18%,#0000 72%)}.terminal-mode-bar{border-bottom:1px solid var(--border);z-index:1;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:54px;padding:0 18px;display:grid;position:relative}.term-window-controls{align-items:center;gap:8px;display:flex}.terminal-mode-title,.terminal-side,.terminal-console,.terminal-close{font-family:var(--ff-mono), ui-monospace, monospace}.terminal-mode-title{color:var(--text-3);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.terminal-close{border:1px solid var(--border);color:var(--text-2);cursor:pointer;letter-spacing:.06em;background:#ffffff05;border-radius:999px;padding:7px 11px;font-size:11px;transition:border-color .2s,color .2s}.terminal-close:hover{border-color:var(--accent);color:var(--accent)}.terminal-mode-layout{z-index:1;flex:1;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:0;display:grid;position:relative}.terminal-side{border-right:1px solid var(--border);color:var(--text-2);flex-direction:column;gap:20px;padding:22px 18px;font-size:12px;display:flex}.terminal-side-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.terminal-tree{gap:10px;display:grid}.terminal-tree a,.terminal-tree span{color:inherit;overflow-wrap:anywhere;min-width:0;text-decoration:none}.terminal-tree a:hover{color:var(--accent)}.terminal-tree a:before,.terminal-tree span:before{color:var(--text-3);content:"./"}.terminal-tree .terminal-route:before{content:""}.terminal-side-stat{border-top:1px solid var(--border);justify-content:space-between;margin-top:auto;padding-top:18px;display:flex}.terminal-side-stat span{color:var(--text-3)}.terminal-side-stat b{color:var(--text);font-weight:400}.terminal-console{color:var(--text-2);cursor:text;min-height:540px;max-height:calc(100vh - 225px);padding:22px;font-size:13px;line-height:1.65;overflow:auto}.terminal-mode,.terminal-mode *,.terminal-mode-window,.terminal-console{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.terminal-console{scrollbar-gutter:stable}.terminal-mode::-webkit-scrollbar{width:10px;height:10px}.terminal-mode ::-webkit-scrollbar{width:10px;height:10px}.terminal-mode-window::-webkit-scrollbar{width:10px;height:10px}.terminal-console::-webkit-scrollbar{width:10px;height:10px}.terminal-mode::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.terminal-mode ::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.terminal-mode-window::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.terminal-console::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.terminal-mode::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}.terminal-mode ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}.terminal-mode-window::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}.terminal-console::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:44px}.terminal-mode::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.terminal-mode ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.terminal-mode-window::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.terminal-console::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.terminal-mode::-webkit-scrollbar-corner{background:0 0}.terminal-mode ::-webkit-scrollbar-corner{background:0 0}.terminal-mode-window::-webkit-scrollbar-corner{background:0 0}.terminal-console::-webkit-scrollbar-corner{background:0 0}.terminal-scroll{min-height:100%}.tm-entry{margin-bottom:12px}.tm-command,.tm-form{align-items:baseline;gap:8px;min-width:0;display:flex}.tm-command{color:var(--text)}.tm-form input{caret-color:var(--accent);color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:60px;padding:0}.tm-prompt{color:var(--text);white-space:nowrap;flex:none}.tm-user,.tm-path,.tone-accent{color:var(--accent)}.tm-dim,.tone-dim{color:var(--text-3)}.tone-error{color:#f06a5f}.tone-success{color:var(--ok)}.tone-text{color:var(--text-2)}.tm-line{color:var(--text-2);overflow-wrap:anywhere;white-space:pre-wrap;text-decoration:none;display:block}a.tm-line:hover{color:var(--accent)}.tl-list{margin-top:20px;padding-left:22px;position:relative}.tl-list:before{background:var(--border);content:"";width:1px;position:absolute;top:6px;bottom:6px;left:5px}.tl-item{padding:0 0 22px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{background:var(--surface);border:1px solid var(--border-2);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:-22px}.tl-item.current:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent)}@supports (color:color-mix(in lab, red, red)){.tl-item.current:before{box-shadow:0 0 0 4px color-mix(in oklab, var(--accent), transparent 85%)}}.tl-year{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;font-size:11px}.tl-role{color:var(--text);letter-spacing:-.005em;margin-top:4px;font-size:15px}.tl-co,.tl-desc{color:var(--text-2)}.tl-desc{max-width:42ch;margin-top:6px;font-size:13px;line-height:1.55}.education{flex-direction:column;gap:20px;height:100%;display:flex}.education-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.education-note{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.education-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff04;grid-template-columns:112px 1fr;gap:18px;min-width:0;padding:18px;display:grid}.education-period{color:var(--accent);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:11px;line-height:1.45}.education-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.education-state{border:1px solid var(--border);color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;background:#ffffff05;border-radius:999px;flex:none;margin-top:4px;padding:6px 9px;font-size:10px;line-height:1}.education-state.current{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.education-state.current{border-color:color-mix(in oklab, var(--accent), transparent 45%)}}.education-state.current{color:var(--accent)}.education-body{min-width:0}.education-body h3{color:var(--text);font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.015em;margin:0;font-size:28px;font-weight:400;line-height:1.08}.education-school{color:var(--text);margin-top:8px;font-size:14px}.education-body p{color:var(--text-2);margin:10px 0 0;font-size:13.5px;line-height:1.55}.education-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.education-tag{border:1px solid var(--border);color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;border-radius:4px;padding:3px 7px;font-size:10.5px}.contact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;height:100%;padding:4px 8px;display:flex}.contact-left{flex:320px;min-width:0}.contact-h{font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.015em;margin-top:12px;font-size:clamp(28px,3vw,40px);line-height:1.1}.contact-sub{color:var(--text-2);margin-top:8px;font-size:14px}.contact-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:14px;display:flex}.socials{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.social,.back,.p-btn{border:1px solid var(--border);color:var(--text);font-family:var(--ff-mono), ui-monospace, monospace;background:#ffffff04;border-radius:999px;align-items:center;text-decoration:none;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.social{gap:10px;padding:12px 18px;font-size:13px}.social svg{flex-shrink:0}.social:hover,.back:hover,.p-btn:hover{border-color:var(--accent);color:var(--accent)}.social:hover{transform:translateY(-1px)}.social.primary,.p-btn.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.social.primary{padding:12px 20px}.social.primary:hover,.p-btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.social.icon{color:var(--text-2);justify-content:center;width:42px;height:42px;padding:0}.foot{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.04em;justify-content:space-between;margin-top:40px;font-size:11px;display:flex}.live-dot,.accent-text{color:var(--accent)}.back{color:var(--text-2);gap:8px;padding:8px 14px;font-size:12px}.p-header{border-bottom:1px solid var(--border);margin-bottom:36px;padding:10px 0 36px}.p-meta{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;align-items:center;gap:16px;font-size:11px;display:flex}.p-meta .divider{background:var(--text-3);width:20px;height:1px}.p-title{font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.02em;margin:22px 0 0;font-size:clamp(44px,6vw,78px);font-weight:400;line-height:1.02}.p-lede{color:var(--text-2);max-width:640px;margin-top:18px;font-size:17px;line-height:1.55}.p-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.p-btn{gap:8px;padding:10px 16px;font-size:12px}.preview{aspect-ratio:16/9;background:linear-gradient(135deg, #ffffff05, transparent 60%), radial-gradient(circle at 30% 30%, var(--accent-soft), transparent 55%), var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;justify-content:center;align-items:center;margin:0 0 48px;font-size:11px;display:flex;position:relative;overflow:hidden}.preview:before{content:"";background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.preview span{z-index:1;position:relative}.preview-media{background:linear-gradient(135deg, #ffffff09, transparent 56%), radial-gradient(circle at 24% 18%, var(--accent-soft), transparent 52%), #09090a;display:block;box-shadow:0 30px 80px -55px #000000e6}.preview-media:before{opacity:.55;z-index:2}.preview-media:after{content:"";pointer-events:none;z-index:3;background:linear-gradient(#0000000f,#0000 26%),radial-gradient(circle at 50% 12%,#ffffff14,#0000 35%),linear-gradient(90deg,#00000042,#0000 18% 82%,#00000042);position:absolute;inset:0}.preview-image-frame{z-index:1;position:absolute;inset:clamp(10px,1.4vw,18px);overflow:hidden}.preview-image{object-fit:contain;object-position:center;z-index:1}.preview-media figcaption{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;z-index:4;background:#0b0b0cbd;border:1px solid #ffffff14;border-radius:999px;padding:7px 11px;font-size:10px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.p-grid{grid-template-columns:200px 1fr;align-items:start;gap:48px 56px;display:grid}.p-section{border-bottom:1px solid var(--border);padding-bottom:36px}.p-section:last-child{border-bottom:0}.p-label{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;padding-top:4px;font-size:11px}.p-body{color:var(--text)}.p-body h3{font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.015em;margin:0 0 14px;font-size:28px;font-weight:400;line-height:1.15}.p-body h3:not(:first-child){margin-top:22px}.p-body p,.p-body li{color:var(--text-2);font-size:15px}.p-body p{text-wrap:pretty;margin:0 0 14px;line-height:1.65}.p-body ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.p-body li{padding-left:18px;line-height:1.55;position:relative}.p-body li:before{background:var(--accent);content:"";width:8px;height:1px;position:absolute;top:10px;left:0}.p-chip{font-family:var(--ff-mono), ui-monospace, monospace;padding:7px 12px;font-size:12px}.p-kv{font-family:var(--ff-mono), ui-monospace, monospace;gap:10px;font-size:12.5px;display:grid}.p-kv .row{border-bottom:1px solid var(--border);padding-bottom:10px}.p-kv .row:last-child{border-bottom:0;padding-bottom:0}.p-kv b{color:var(--text-3);font-weight:400}.p-next{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:56px;padding:28px 0 0;display:flex}.p-next .sm{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;font-size:11px}.p-next .nx{color:var(--text);font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.015em;font-size:34px;text-decoration:none;transition:color .2s}.p-next .arr{color:var(--accent);font-family:var(--ff-sans), system-ui, sans-serif;font-size:24px}.projects-page-header{border-bottom:1px solid var(--border);margin-bottom:34px;padding:10px 0 34px}.projects-page-title{font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.02em;margin:22px 0 0;font-size:clamp(46px,6vw,82px);font-weight:400;line-height:1.02}.projects-page-title em{color:var(--accent);font-style:italic}.projects-page-lede{color:var(--text-2);text-wrap:pretty;max-width:720px;margin:18px 0 0;font-size:17px;line-height:1.6}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.projects-grid-card{background:linear-gradient(180deg, #ffffff07, transparent 58%), var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;gap:26px;min-height:330px;padding:20px;text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden}.projects-grid-card:before{background:radial-gradient(260px circle at 20% 10%, var(--accent-soft), transparent 62%);content:"";opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.projects-grid-card:hover{border-color:var(--border-2);transform:translateY(-3px);box-shadow:0 24px 48px -28px #000000b8}.projects-grid-card:hover:before{opacity:1}.projects-grid-card>*{z-index:1;position:relative}.projects-grid-card-top,.projects-grid-card-bottom{color:var(--text-3);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;display:flex}.projects-grid-card h2{color:var(--text);font-family:var(--ff-serif), Georgia, serif;letter-spacing:-.015em;margin:0;font-size:31px;font-weight:400;line-height:1.08}.projects-grid-card p{color:var(--text-2);margin:12px 0 0;font-size:14px;line-height:1.55}.projects-grid-tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.projects-grid-tags span{border:1px solid var(--border);color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;background:#ffffff04;border-radius:4px;padding:4px 7px;font-size:10.5px}.projects-grid-card-bottom span:last-child{color:var(--accent)}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (min-width:1025px){.bento{grid-template-areas:none;grid-auto-rows:minmax(96px,auto)}.c-hero{grid-area:1/1/span 4/span 8}.c-status{grid-area:1/9/span 2/span 4}.c-about{grid-area:3/9/span 3/span 4}.c-stack{grid-area:5/1/span 4/span 4}.c-stats{grid-area:5/5/span 3/span 4;min-height:300px}.c-projects{grid-area:8/5/span 3/span 8}.c-github{grid-area:11/1/span 4/span 12;min-height:420px}.c-terminal{grid-area:15/5/span 3/span 8;min-height:320px}.c-timeline{grid-area:15/1/span 5/span 4}.c-education{grid-area:18/5/span 5/span 8;min-height:520px}.c-contact{grid-area:23/1/span 2/span 12}.c-education .education-list{grid-template-columns:1fr}.c-education .education-item{grid-template-columns:120px minmax(0,1fr)}}@media (min-width:721px) and (max-width:1024px){.nav-menu-toggle,.nav-terminal,.terminal-mode{display:none}.bento{grid-template-areas:"hero hero hero hero hero hero hero hero hero hero hero hero""hero hero hero hero hero hero hero hero hero hero hero hero""hero hero hero hero hero hero hero hero hero hero hero hero""hero hero hero hero hero hero hero hero hero hero hero hero""status status status status status status about about about about about about""status status status status status status about about about about about about""status status status status status status about about about about about about""status status status status status status about about about about about about""stack stack stack stack stack stack stats stats stats stats stats stats""stack stack stack stack stack stack stats stats stats stats stats stats""stack stack stack stack stack stack stats stats stats stats stats stats""stack stack stack stack stack stack stats stats stats stats stats stats""stack stack stack stack stack stack stats stats stats stats stats stats""projects projects projects projects projects projects projects projects projects projects projects projects""projects projects projects projects projects projects projects projects projects projects projects projects""projects projects projects projects projects projects projects projects projects projects projects projects""projects projects projects projects projects projects projects projects projects projects projects projects""activity activity activity activity activity activity activity activity activity activity activity activity""activity activity activity activity activity activity activity activity activity activity activity activity""activity activity activity activity activity activity activity activity activity activity activity activity""activity activity activity activity activity activity activity activity activity activity activity activity""activity activity activity activity activity activity activity activity activity activity activity activity""terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal""terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal""terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal terminal""timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline""timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline""timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline timeline""education education education education education education education education education education education education""education education education education education education education education education education education education""education education education education education education education education education education education education""education education education education education education education education education education education education""education education education education education education education education education education education education""contact contact contact contact contact contact contact contact contact contact contact contact";grid-auto-rows:minmax(88px,auto);gap:12px}.status-avail{margin-top:18px;padding:7px 10px;font-size:11px}.status-msg{margin-top:34px;font-size:26px}.status-meta{gap:6px;padding-top:22px;font-size:10px}.stack-list{gap:10px;margin-top:16px}.stack-row{grid-template-columns:86px minmax(0,1fr);gap:10px;padding-bottom:10px}.stack-cat{padding-top:7px;font-size:9.5px}.chip{padding:6px 9px;font-size:12px}.hero{gap:clamp(24px,3vw,44px)}.gh-head{margin-top:12px}.gh-grid{aspect-ratio:auto;height:140px;margin-top:14px}.gh-legend{margin-top:10px}.gh-repos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;padding-top:12px}.gh-repo{grid-template-columns:8px minmax(0,1fr);align-items:start}.gh-repo-meta{grid-column:2;margin-top:-5px}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.education-item{grid-template-columns:1fr;gap:12px;padding:16px}.education-title-row{flex-direction:column;gap:8px}.education-state{margin-top:0}.education-body h3{font-size:24px}.education-body p{font-size:13px}.education-tag{padding:3px 6px;font-size:10px}.c-contact{min-height:0}.contact{flex-direction:column;place-content:flex-start;align-items:flex-start;gap:18px;height:auto;padding:2px 4px}.contact-left{flex:0 auto}.contact-right{align-items:flex-start}.socials{justify-content:flex-start}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid-card{min-height:300px}.c-hero{grid-area:hero}.c-status{grid-area:status}.c-about{grid-area:about}.c-stack{grid-area:stack}.c-stats{grid-area:stats}.c-projects{grid-area:projects}.c-github{grid-area:activity}.c-terminal{grid-area:terminal}.c-timeline{grid-area:timeline}.c-education{grid-area:education}.c-contact{grid-area:contact}}@media (max-width:720px){.shell{padding:20px 16px 60px}.nav{padding-bottom:20px}.navlinks{display:none}.nav-actions{gap:10px}.nav-terminal{display:none}.mobile-nav-panel{background:linear-gradient(180deg, #ffffff06, transparent 55%), var(--surface);border:1px solid var(--border);opacity:0;pointer-events:none;border-radius:14px;gap:4px;max-height:0;margin-top:14px;padding:0 8px;transition:max-height .24s,opacity .2s,padding .24s,transform .24s;display:grid;overflow:hidden;transform:translateY(-6px)}.mobile-nav-panel.is-open{opacity:1;pointer-events:auto;max-height:260px;padding:8px;transform:translateY(0)}.mobile-nav-panel a{color:var(--text-2);font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;padding:11px 12px;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.mobile-nav-panel a:hover,.mobile-nav-panel a:focus-visible{color:var(--accent);background:#ffffff09;outline:none}.terminal-mode-window{border-radius:14px;min-height:calc(100vh - 140px)}.terminal-mode-bar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px}.terminal-mode-layout{grid-template-columns:1fr}.terminal-side{border-bottom:1px solid var(--border);border-right:0;display:none}.terminal-console{min-height:calc(100vh - 195px);max-height:calc(100vh - 195px);padding:16px;font-size:12px}.tm-command,.tm-form{flex-wrap:wrap;align-items:flex-start;gap:2px 8px}.tm-form input{flex-basis:100%;padding-left:0}.bento{grid-template-areas:none;grid-auto-rows:auto}.cell{min-height:0;padding:20px}.c-hero,.c-status,.c-about,.c-stack,.c-stats,.c-projects,.c-github,.c-terminal,.c-timeline,.c-education,.c-contact{grid-area:auto/span 12}.hero-title{font-size:clamp(40px,12vw,48px);line-height:1.02}.stack-row{grid-template-columns:1fr;gap:8px}.stack-cat{padding-top:0}.project{grid-template-columns:24px 1fr 16px}.project .proj-tags{display:none}.gh-grid{aspect-ratio:auto;grid-auto-rows:12px}.gh-head{flex-direction:column;align-items:flex-start;gap:6px}.gh-count{font-size:34px}.gh-repos{grid-template-columns:1fr}.gh-repo{grid-template-columns:8px minmax(0,1fr);align-items:start}.gh-repo-meta{grid-column:2;margin-top:-4px}.gh-repo-name{overflow-wrap:anywhere}.gh-repo-desc{white-space:normal}.contact{flex-direction:column;place-content:flex-start;align-items:flex-start;gap:18px;height:auto;padding:0}.contact-left{flex:0 auto}.education-head,.education-title-row,.education-item{align-items:flex-start}.education-list,.education-item{grid-template-columns:1fr}.education-head,.education-title-row{flex-direction:column}.contact-right{align-items:flex-start}.socials{justify-content:flex-start}.spotlight{display:none}.projects-page-title{font-size:46px}.projects-grid{grid-template-columns:1fr}.projects-grid-card{min-height:0}.foot,.p-next{flex-direction:column;align-items:flex-start}.p-meta{white-space:nowrap;flex-flow:row;align-items:center;gap:10px;overflow-x:auto}.p-meta .divider{flex:0 0 16px;width:16px}.project-shell .p-meta,.projects-shell .p-meta{flex-flow:row;align-items:center}.p-grid{grid-template-columns:1fr;gap:18px}.p-section{padding-bottom:30px}.p-title{font-size:46px}.p-next .nx{font-size:30px}}
