@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f.p.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.inter_61db3155-module__MWCb_q__className{font-family:Inter,Segoe UI,Arial,sans-serif;font-style:normal}.inter_61db3155-module__MWCb_q__variable{--font-sans:"Inter", Segoe UI, Arial, sans-serif}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.p.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_68a03b7b-module__9Z6CUG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_68a03b7b-module__9Z6CUG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.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}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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:#fafafa;--surface:#fff;--surface-2:#f1f3f5;--panel:#eceff2;--text:#0d1421;--muted:#697383;--quiet:#a5acb7;--line:#dfe3e8;--accent:#216bff;--accent-soft:#eaf1ff;--shadow:0 18px 44px #131e3114;--radius-control:999px;--radius-shell:36px;--radius-card:26px;--radius-media:22px;--radius-compact:16px}.dark{--bg:#0b0d10;--surface:#111419;--surface-2:#171b21;--panel:#1c2128;--text:#f1f3f5;--muted:#929aa6;--quiet:#5d6470;--line:#272c34;--accent:#4b84ff;--accent-soft:#122348;--shadow:0 20px 54px #0000004d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), "Inter Fallback", "Segoe UI", Arial, sans-serif;margin:0;font-size:16px;font-weight:480;transition:color .25s,background .25s}html[data-locale=ja] body{font-family:var(--font-sans), "Noto Sans JP", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif}html[data-locale=ja] .hero h1{font-size:clamp(51px,6.8vw,92px)}html[data-locale=ja] .hero-role-rotator{font-size:clamp(40px,5.3vw,72px)}html[data-locale=ja] .career-intro h2{font-size:clamp(43px,5.3vw,68px)}html[data-locale=ja] .github-story-intro h2{font-size:clamp(42px,4.9vw,65px)}html[data-locale=ja] .section-title-row h1,html[data-locale=ja] .section-title-row h2{font-size:clamp(44px,5.45vw,72px)}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.scroll-progress{background:var(--accent);transform-origin:0;z-index:100;height:2px;position:fixed;inset:0 0 auto}.site-header{z-index:50;border-radius:var(--radius-control);width:min(1180px,100% - 48px);height:74px;box-shadow:none;background:0 0;border:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;margin:8px auto 0;padding:0;transition:width .28s,height .28s,padding .28s,background .28s,border-color .28s,box-shadow .28s;display:grid;position:sticky;top:8px}.site-header.is-scrolled{border-color:var(--line);width:calc(100% - 24px);height:72px;padding:0 20px}@supports (color:color-mix(in lab, red, red)){.site-header.is-scrolled{border-color:color-mix(in srgb, var(--line) 65%, transparent)}}.site-header.is-scrolled{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.site-header.is-scrolled{background:color-mix(in srgb, var(--bg) 68%, transparent)}}.site-header.is-scrolled{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);box-shadow:0 12px 42px #07142614}.brand{align-items:center;gap:10px;font-size:14px;font-weight:680;display:flex}.site-header .brand{justify-self:start}.brand-avatar,.inline-avatar{border:1px solid var(--line);background:var(--surface);color:var(--accent);font-family:var(--font-mono);place-items:center;font-weight:700;display:inline-grid}.brand-avatar{border-color:#2a9df4;border-radius:50%;width:38px;height:38px;font-size:10px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.brand-avatar{border-color:color-mix(in srgb, #2a9df4 55%, var(--line))}}.brand-avatar img,.inline-avatar img{object-fit:cover;width:100%;height:100%;display:block}.brand-avatar img{object-position:36% 43%;transform:scale(1.18)}.site-header nav{border:1px solid var(--line);gap:4px;padding:5px;display:flex}@supports (color:color-mix(in lab, red, red)){.site-header nav{border:1px solid color-mix(in srgb, var(--line) 62%, transparent)}}.site-header nav{border-radius:var(--radius-control);background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.site-header nav{background:color-mix(in srgb, var(--surface-2) 58%, transparent)}}.site-header:not(.is-scrolled) nav{background:var(--bg);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.site-header:not(.is-scrolled) nav{background:color-mix(in srgb, var(--bg) 78%, transparent)}}.site-header nav a{border-radius:var(--radius-control);color:var(--muted);padding:10px 17px;font-size:14px;font-weight:600;transition:all .18s}.site-header nav a:hover,.site-header nav a.active{color:var(--text);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.site-header nav a:hover,.site-header nav a.active{background:color-mix(in srgb, var(--surface) 78%, transparent)}}.site-header nav a:hover,.site-header nav a.active{box-shadow:0 3px 12px #0000000e}.header-actions{justify-self:end;align-items:center;gap:4px;display:flex}.theme-toggle{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.theme-toggle span{place-items:center;display:grid}.theme-toggle:hover,.language-select-trigger:hover{background:var(--surface-2)}.language-select{position:relative}.language-select-trigger{border-radius:var(--radius-control);min-width:58px;height:42px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding-inline:11px;font-size:12px;font-weight:680;transition:color .18s,background .18s;display:inline-flex}.language-select-trigger:hover,.language-select-trigger[aria-expanded=true]{color:var(--text)}.language-flag{object-fit:cover;border:1px solid var(--line);flex:none;width:24px;height:16px;display:block}@supports (color:color-mix(in lab, red, red)){.language-flag{border:1px solid color-mix(in srgb, var(--line) 80%, transparent)}}.language-flag{border-radius:4px;box-shadow:0 1px 3px #0714261f}.language-select-trigger .lucide-chevron-down{transition:transform .18s}.language-select-trigger .lucide-chevron-down.is-open{transform:rotate(180deg)}.language-select-menu{z-index:80;border:1px solid var(--line);gap:3px;width:164px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}@supports (color:color-mix(in lab, red, red)){.language-select-menu{border:1px solid color-mix(in srgb, var(--line) 78%, transparent)}}.language-select-menu{border-radius:var(--radius-compact);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.language-select-menu{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.language-select-menu{-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);transform-origin:100% 0;box-shadow:0 18px 42px #07142629}.language-select-menu button{min-height:42px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:30px 1fr 18px;align-items:center;gap:8px;padding:7px 9px;display:grid}.language-select-menu button:hover,.language-select-menu button[aria-selected=true]{color:var(--text);background:var(--surface-2)}.language-select-menu button>b{font-size:13px;font-weight:650}.language-select-menu button>svg{color:var(--accent)}.mobile-menu-trigger,.mobile-menu-layer{display:none}.home-page{--ohana-blue:#2a9df4;--ohana-cyan:#7ddcff;--ohana-violet:#8b5cf6;background:var(--bg)}.hero{isolation:isolate;align-items:flex-start;min-height:max(100svh - 82px,760px);padding-block:clamp(66px,8.5vh,88px) 150px;display:flex;position:relative;overflow:hidden}.hero-grid{pointer-events:none;opacity:.56;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:72px 72px;position:absolute;inset:10% 0 14% 28%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 74%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 74%,#0000)}.hero-copy{z-index:2;width:min(100%,1020px);max-width:1020px;position:relative}.hero-kicker{border:1px solid var(--line);background:var(--surface);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:9px;margin-bottom:28px;padding:9px 13px;font-size:13px;font-weight:580;display:flex;box-shadow:0 6px 20px #0000000d}.status-dot,.status-current i,.repo-bar em span{background:#20c86a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #20c86a1a}.hero h1{font-family:var(--font-sans), "Inter Fallback", "Segoe UI", Arial, sans-serif;letter-spacing:-.055em;margin:0;font-size:clamp(58px,7.7vw,105px);font-weight:620;line-height:.98}.inline-avatar{border-width:2px;border-color:var(--accent);width:1.08em;height:1.08em;margin-inline:.05em .08em;transform:translateY(.13em)rotate(-2deg)}@supports (color:color-mix(in lab, red, red)){.inline-avatar{border-color:color-mix(in srgb, var(--accent) 28%, var(--line))}}.inline-avatar{letter-spacing:0;vertical-align:baseline;background:0 0;border:none;border-radius:.22em;overflow:hidden}.inline-avatar img{object-position:35% 43%;transform:scale(1.18)}.hero-name{white-space:nowrap}.hero-role-rotator{width:100%;min-height:clamp(156px,13vw,184px);font-family:var(--font-sans), "Inter Fallback", "Segoe UI", Arial, sans-serif;letter-spacing:-.05em;margin:18px 0 26px;font-size:clamp(46px,6vw,82px);font-weight:590;line-height:1.02;position:relative}.hero-role-lead-line{color:var(--quiet);white-space:nowrap;align-items:baseline;gap:.22em;display:flex}.hero-role-static{flex:none}.hero-role-stage{min-height:1.02em;color:var(--accent);margin-top:6px;position:relative}.hero-role-label{z-index:0;white-space:nowrap;will-change:opacity, transform;font-weight:630;display:block;position:absolute;inset:0 auto auto 0}.hero-role-label:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--ohana-cyan), var(--accent), var(--ohana-violet));opacity:.28;border-radius:999px;height:.12em;position:absolute;bottom:.02em;left:1%;right:-1%;transform:rotate(-.6deg)}.hero-copy>p{max-width:630px;color:var(--muted);margin:0;font-size:18px;font-weight:500;line-height:1.65}.hero-actions{gap:10px;margin-top:28px;display:flex}.tech-marquee{z-index:3;border-block:1px solid var(--line);background:var(--bg);grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;min-height:72px;display:grid;position:absolute;bottom:50px;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.tech-marquee{background:color-mix(in srgb, var(--bg) 80%, transparent)}}.tech-marquee{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tech-marquee-label{color:var(--muted);font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.11em;font-weight:700}.tech-marquee-viewport{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.tech-marquee-track{will-change:transform;align-items:center;width:max-content;animation:34s linear infinite tech-marquee;display:flex}.tech-marquee-group{align-items:center;gap:11px;padding-right:11px;display:flex}.tech-marquee-item{border:1px solid var(--tech-color);align-items:center;gap:10px;min-width:132px;height:48px;padding:6px 12px 6px 7px;display:flex}@supports (color:color-mix(in lab, red, red)){.tech-marquee-item{border:1px solid color-mix(in srgb, var(--tech-color) 34%, var(--line))}}.tech-marquee-item{border-radius:var(--radius-control);background:var(--tech-color)}@supports (color:color-mix(in lab, red, red)){.tech-marquee-item{background:color-mix(in srgb, var(--tech-color) 9%, var(--surface))}}.tech-marquee-item{box-shadow:0 2px 8px var(--tech-color)}@supports (color:color-mix(in lab, red, red)){.tech-marquee-item{box-shadow:0 2px 8px color-mix(in srgb, var(--tech-color) 12%, transparent)}}.tech-marquee-item>span{background:var(--tech-color);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:6px;display:grid}@supports (color:color-mix(in lab, red, red)){.tech-marquee-item>span{background:color-mix(in srgb, var(--tech-color) 19%, var(--surface))}}.tech-marquee-item img{object-fit:contain;width:100%;height:100%;display:block}.tech-marquee-item b{font:12px var(--font-mono);white-space:nowrap;font-weight:720}@keyframes tech-marquee{to{transform:translate(-50%)}}.button{border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:13px;font-weight:650;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--bg);background:var(--text);border-color:var(--text);box-shadow:var(--shadow)}.button.ghost{color:var(--text);background:var(--surface)}.github-button-icon{object-fit:contain;width:17px;height:17px;display:block}.dark .github-button-icon{filter:invert()}.button.light{color:#0d1421;background:#fff;border-color:#fff}.hero-foot{color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;display:flex;position:absolute;inset:auto 0 14px}.home-story-layout{grid-template-columns:188px minmax(0,1320px);justify-content:center;align-items:start;gap:26px;width:min(1540px,100% - 48px);margin:24px auto 0;display:grid}.home-story-content{gap:34px;min-width:0;display:grid}.story-nav{z-index:15;border-left:1px solid var(--line);align-self:start;gap:3px;margin-top:68px;padding:0 0 0 18px;display:grid;position:sticky;top:104px}.story-nav>span{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.13em;margin-bottom:15px;font-weight:700}.story-nav a{border-radius:var(--radius-control);min-height:48px;color:var(--muted);grid-template-columns:28px 1fr;align-content:center;align-items:center;padding:5px 10px;transition:all .2s;display:grid;position:relative}.story-nav a i{border:1px solid var(--quiet);background:var(--bg);border-radius:50%;width:9px;height:9px;transition:all .2s;position:absolute;top:calc(50% - 4px);left:-23px}.story-nav a small{color:inherit;font:9px/1 var(--font-mono);letter-spacing:.08em}.story-nav a b{grid-column:2;font-size:13px;font-weight:590;line-height:1}.story-nav a:hover,.story-nav a[aria-current=location]{color:var(--text);background:var(--surface-2)}.story-nav a[aria-current=location] i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.career-story{isolation:isolate;border:1px solid #2a9df4;width:100%;padding:105px clamp(24px,5vw,74px) 128px;scroll-margin-top:100px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.career-story{border:1px solid color-mix(in srgb, #2a9df4 20%, var(--line))}}.career-story{border-radius:var(--radius-shell);background:linear-gradient(145deg, var(--surface-2), var(--surface))}@supports (color:color-mix(in lab, red, red)){.career-story{background:linear-gradient(145deg, color-mix(in srgb, var(--surface-2) 90%, #dff3ff), color-mix(in srgb, var(--surface) 92%, #d8eaff))}}.career-story:before{content:"";z-index:-2;pointer-events:none;background:var(--career-background-image) center / cover no-repeat;opacity:.52;filter:saturate(.82)contrast(.98);position:absolute;inset:0}.career-story:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(135deg,#f4faffb8,#ebf6ff8c 48%,#f1edffa8);position:absolute;inset:0}.dark .career-story{background:#0b1729}.dark .career-story:before{opacity:.42;filter:saturate(.78)brightness(.74)contrast(1.06)}.dark .career-story:after{background:linear-gradient(135deg,#081424c7,#0b172999 48%,#16122dc2)}.career-intro{margin-bottom:78px}.career-intro>div{grid-template-columns:1.45fr .75fr;align-items:end;gap:80px;padding-top:28px;display:grid}.career-intro h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(49px,6vw,78px);font-weight:680;line-height:.98}.career-intro p{max-width:390px;color:var(--muted);margin:0 0 5px;font-size:17px;font-weight:500;line-height:1.7}.career-timeline{max-width:1060px;margin-inline:auto;padding-block:18px;position:relative}.career-line{background:linear-gradient(to bottom, transparent, var(--accent) 7%, var(--line) 93%, transparent);transform-origin:top;width:1px;position:absolute;top:0;bottom:0;left:calc(50% - .5px)}.career-event{outline:none;width:50%;min-height:285px;position:relative}.career-event-left{text-align:right;padding:0 62px 54px 0}.career-event-right{margin-left:50%;padding:0 0 54px 62px}.career-dot{border:3px solid var(--bg);background:var(--accent);width:13px;height:13px;box-shadow:0 0 0 1px var(--accent), 0 0 0 8px var(--accent-soft);border-radius:50%;position:absolute;top:24px}.career-event-left .career-dot{right:-6px}.career-event-right .career-dot{left:-7px}.career-card{border-radius:var(--radius-card);background:linear-gradient(145deg, var(--surface), var(--surface-2));border:1px solid #2a9df440;width:100%;padding:28px}@supports (color:color-mix(in lab, red, red)){.career-card{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 86%, transparent), color-mix(in srgb, var(--surface-2) 82%, transparent))}}.career-card{-webkit-backdrop-filter:blur(15px)saturate(115%);backdrop-filter:blur(15px)saturate(115%);color:var(--text);text-align:inherit;cursor:pointer;transition:transform .24s,border-color .24s,box-shadow .24s;box-shadow:0 18px 45px #07142617}.dark .career-card{background:linear-gradient(145deg,#102b4de0,#17203fe6);border-color:#7ddcff38}.career-event:hover .career-card,.career-card:focus-visible{border-color:var(--accent);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.career-event:hover .career-card,.career-card:focus-visible{border-color:color-mix(in srgb, var(--accent) 54%, var(--line))}}.career-event:hover .career-card,.career-card:focus-visible{box-shadow:0 24px 62px #0714262e}.career-card-meta{color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;align-items:center;gap:15px;display:flex}.career-card-meta time{color:var(--accent);font-weight:700}.career-card h3{letter-spacing:-.035em;margin:24px 0 12px;font-size:26px;font-weight:680;line-height:1.12}.career-card h3 small{color:var(--ohana-blue);letter-spacing:0;margin-top:7px;font-size:13px;font-weight:670;display:block}.career-card p{color:var(--muted);margin:0;font-size:15px;font-weight:500;line-height:1.65}.career-stack{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.career-event-left .career-stack{justify-content:flex-end}.career-stack>span{border-radius:var(--radius-control);font:9px var(--font-mono);padding:6px 10px;font-weight:700}.career-open{color:var(--ohana-blue);align-items:center;gap:7px;margin-top:22px;font-size:12px;font-weight:700;display:inline-flex}.github-story{--github-bg:#f6f8fa;--github-surface:#fff;--github-surface-muted:#eef1f4;--github-text:#1f2328;--github-muted:#59636e;--github-line:#d1d9e0;--github-empty:#ebedf0;--github-empty-border:#d8dee4;--github-icon:#1a7f37;--github-glow:#2ea04317;--github-card-shadow:0 30px 80px #1f23281c;border:1px solid var(--github-line);border-radius:var(--radius-shell);background:radial-gradient(circle at 88% 14%, var(--github-glow), transparent 24%), var(--github-bg);min-height:760px;color:var(--github-text);padding:92px clamp(24px,5vw,72px) 98px;scroll-margin-top:100px;position:relative;overflow:hidden}.dark .github-story{--github-bg:#0d1117;--github-surface:#161b22e0;--github-surface-muted:#21262d;--github-text:#f0f6fc;--github-muted:#8b949e;--github-line:#30363d;--github-empty:#21262d;--github-empty-border:#f0f6fc0a;--github-icon:#3fb950;--github-glow:#2ea04324;--github-card-shadow:0 30px 80px #00000047}.github-story-intro{margin-bottom:58px}.github-story .section-label{border-color:var(--github-line);color:var(--github-muted)}.github-story-intro>div{grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;padding-top:27px;display:grid}.github-story-intro h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(48px,5.5vw,74px);font-weight:680;line-height:.98}.github-story-intro p{color:var(--github-muted);margin:0;font-size:16px;font-weight:500;line-height:1.72}.github-activity-card{border:1px solid var(--github-line);border-radius:var(--radius-card);background:var(--github-surface);box-shadow:var(--github-card-shadow);overflow:hidden}.github-profile-row{border-bottom:1px solid var(--github-line);justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:16px 20px;display:flex}.github-profile{align-items:center;gap:13px;display:flex}.github-profile img{object-fit:cover;border:1px solid var(--github-line);border-radius:50%;width:48px;height:48px;display:block}.github-profile div{gap:3px;display:grid}.github-profile span{color:var(--github-muted);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.github-profile strong{font:14px var(--font-mono)}.github-profile-row>a{border:1px solid var(--github-line);border-radius:var(--radius-control);background:var(--github-surface-muted);align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:650;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.github-profile-row>a:hover{border-color:var(--github-icon);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.github-profile-row>a:hover{border-color:color-mix(in srgb, var(--github-icon) 42%, var(--github-line))}}.github-metrics{border-bottom:1px solid var(--github-line);grid-template-columns:repeat(3,1fr);display:grid}.github-metrics>span{border-right:1px solid var(--github-line);min-height:78px;color:var(--github-muted);justify-content:center;align-items:center;gap:8px;padding:15px;font-size:12px;font-weight:560;display:flex}.github-metrics>span:last-child{border-right:0}.github-metrics svg{color:var(--github-icon)}.github-metrics b{color:var(--github-text);font:15px var(--font-mono)}.contribution-panel{padding:24px 24px 21px}.contribution-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.contribution-heading strong{font-size:14px}.contribution-heading span{color:var(--github-muted);font:9px var(--font-mono)}.contribution-months{color:var(--github-muted);font:8px var(--font-mono);justify-content:space-around;padding:0 8px 8px 26px;display:flex}.contribution-scroll{padding-bottom:4px;overflow-x:auto}.contribution-grid{justify-content:space-between;gap:4px;width:max-content;min-width:100%;display:flex}.contribution-week{gap:4px;display:grid}.contribution-day{border:1px solid var(--github-empty-border);background:var(--github-empty);border-radius:3px;width:11px;height:11px;display:block}.contribution-day.outside{opacity:.22}.contribution-day.level-1,.contribution-note i:nth-child(2){background:#0e4429}.contribution-day.level-2,.contribution-note i:nth-child(3){background:#006d32}.contribution-day.level-3,.contribution-note i:nth-child(4){background:#26a641}.contribution-day.level-4,.contribution-note i:nth-child(5){background:#39d353}.contribution-note{color:var(--github-muted);font:8px var(--font-mono);justify-content:space-between;align-items:center;margin-top:13px;display:flex}.contribution-note span{align-items:center;gap:4px;display:flex}.contribution-note i{background:var(--github-empty);border-radius:2px;width:10px;height:10px;display:block}.route-page{min-height:calc(100svh - 200px)}.page-section{padding-block:92px 120px}.section{padding-block:120px}.section-intro{margin-bottom:42px}.section-label{border-bottom:1px solid var(--line);color:var(--muted);font:12px var(--font-mono);text-transform:uppercase;letter-spacing:.11em;padding-bottom:13px;font-weight:600}.section-title-row{grid-template-columns:1.7fr .8fr;align-items:end;gap:80px;padding-top:27px;display:grid}.projects-intro .section-title-row{padding-top:0}.section-title-row h1,.section-title-row h2{letter-spacing:-.055em;max-width:790px;margin:0;font-size:clamp(50px,6.2vw,82px);font-weight:650;line-height:.99}.section-summary{justify-self:end;max-width:380px}.projects-hero-feature{isolation:isolate;border-radius:var(--radius-shell);background:var(--surface);height:clamp(500px,40vh,660px);min-height:480px;color:var(--text);align-items:flex-end;margin-bottom:44px;transition:background .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 18px 50px #0000000f,0 4px 16px #00000008;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.projects-hero-feature:before{content:"";z-index:3;pointer-events:none;border-radius:inherit;border:1px solid var(--line);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff6}.projects-hero-media{z-index:-2;pointer-events:none;position:absolute;inset:0}.projects-hero-media video{object-fit:cover;object-position:center;filter:saturate(1.25)brightness(1.28)contrast(1.02);width:100%;height:100%;transition:filter .25s;display:block}.projects-hero-overlay{z-index:-1;pointer-events:none;background:linear-gradient(135deg,#ffffffc7 0%,#ffffff61 48%,#ffffffd1 100%);transition:background .25s;position:absolute;inset:0}.projects-hero-content{z-index:2;grid-template-columns:1.5fr 1fr;align-items:flex-end;gap:clamp(32px,5vw,75px);width:100%;padding:clamp(42px,6vw,68px);display:grid}.projects-hero-content h1{color:#0d1421;letter-spacing:-.058em;text-wrap:balance;text-shadow:none;margin:0;font-size:clamp(44px,5.4vw,78px);font-weight:700;line-height:.96}.projects-hero-content p{color:#0d1421;text-wrap:balance;opacity:.95;text-shadow:none;margin:0;font-size:clamp(15px,1.35vw,18.5px);font-weight:600;line-height:1.65}.dark .projects-hero-feature{color:#fff;background:#080d16;box-shadow:0 28px 75px #00000059}.dark .projects-hero-feature:before{border-color:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff0d}.dark .projects-hero-media video{filter:saturate(1.1)brightness(.88)}.dark .projects-hero-overlay{background:linear-gradient(135deg,#030912d1 0%,#0309125c 52%,#030912c7 100%)}.dark .projects-hero-content h1{color:#fff;text-shadow:0 4px 24px #0009}.dark .projects-hero-content p{color:#ffffffeb;text-shadow:0 2px 16px #0009}.repository-meta,.shelf-stats{border-block:1px solid var(--line);min-height:49px;color:var(--muted);align-items:center;gap:21px;margin-bottom:42px;padding:0 3px;font-size:12px;font-weight:560;display:flex}.repository-meta i{background:var(--quiet);border-radius:50%;width:3px;height:3px}.repository-meta b,.shelf-stats b{color:var(--text)}.repository-github-link{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-weight:650;display:inline-flex}.repository-github-link img{object-fit:contain;width:16px;height:16px;display:block}.repository-github-short{display:none}.dark .repository-github-link img{filter:invert()}.project-repository-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 24px;display:flex}.project-repository-heading h2{letter-spacing:-.025em;margin:0 0 7px;font-size:20px}.project-repository-heading>div:first-child>span{color:var(--muted);font-size:12px;font-weight:560}.project-filter{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-2);align-items:center;gap:3px;padding:4px;display:inline-flex}.project-filter button{border-radius:var(--radius-control);min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 16px;font-size:12px;font-weight:650;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.project-filter button:hover{color:var(--text)}.project-filter button.is-active{background:var(--surface);color:var(--text);box-shadow:0 3px 12px #0c162614}.project-filter button span{color:var(--muted);font:10px var(--font-mono)}.project-empty{border:1px dashed var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:210px;color:var(--muted);text-align:center;place-items:center;margin:0;padding:30px;font-size:14px;font-weight:560;display:grid}.project-list{--project-preview-height:455px;gap:24px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.repo-bar{border-bottom:1px solid var(--line);min-height:48px;color:var(--muted);font:11px var(--font-mono);align-items:center;gap:9px;padding:0 14px;font-weight:550;display:flex}.repo-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:7px;place-items:center;display:grid}.repo-bar b{color:var(--text)}.repo-bar small{border:1px solid var(--line);border-radius:999px;padding:3px 6px;font-size:9px}.repo-bar>i{flex:1}.repo-bar em{align-items:center;gap:7px;font-size:9px;font-style:normal;display:flex}.repo-bar em span{width:6px;height:6px;box-shadow:none}.project-body{height:var(--project-preview-height);grid-template-columns:.9fr 1.1fr;min-height:0;display:grid}.project-copy{flex-direction:column;align-items:flex-start;padding:42px 38px 29px;display:flex}.eyebrow{color:var(--accent);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-weight:650}.project-copy h3{letter-spacing:-.055em;margin:20px 0 13px;font-size:clamp(38px,4vw,55px);line-height:.96}.project-copy>p{max-width:440px;color:var(--muted);margin:0;font-size:15px;font-weight:500;line-height:1.65}.tag-row{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.tag-row>span{border-radius:var(--radius-control);background:var(--surface-2);color:var(--muted);font:9px var(--font-mono);padding:6px 10px;font-weight:600}.tech-pill{color:#344258;background:#e8eef8;border:1px solid #0000;align-items:center;gap:7px;display:inline-flex;font-family:var(--font-mono)!important;font-weight:700!important}.tech-pill-icon{object-fit:contain;flex:none;width:14px;height:14px;display:block}.tech-next-js .tech-pill-icon,.tech-express .tech-pill-icon{filter:invert()}.tag-row .tech-pill,.career-stack .tech-pill,.profile-aside .tech-pill{color:#344258}.tech-javascript{color:#2f2b00!important;background:#f7df1e!important;border-color:#d5bf00!important}.tech-typescript{color:#fff!important;background:#3178c6!important;border-color:#4d91d7!important}.tech-react,.tech-react-native{color:#08788f!important;background:#d9f8ff!important;border-color:#61dafb!important}.tech-next-js{color:#fff!important;background:#0f172a!important;border-color:#334155!important}.tech-node-js{color:#236b25!important;background:#e1f3de!important;border-color:#68a063!important}.tech-shopify{color:#466800!important;background:#eaf4cf!important;border-color:#95bf47!important}.tech-liquid{color:#006d68!important;background:#e0f7f6!important;border-color:#47c1bf!important}.tech-mysql{color:#005f73!important;background:#d9f2f6!important;border-color:#168ca5!important}.tech-mongodb{color:#176c2d!important;background:#ddf4e3!important;border-color:#47a248!important}.tech-java{color:#9b3f00!important;background:#fff0df!important;border-color:#e76f00!important}.tech-c,.tech-cpp,.tech-c-plus-plus{color:#004482!important;background:#e6f2fc!important;border-color:#5c8dbc!important}.tech-rest-api,.tech-api-testing{color:#2349b8!important;background:#e6edff!important;border-color:#7094ff!important}.tech-graphql{color:#9d174d!important;background:#fdf2f8!important;border-color:#f43f5e!important}.tech-swagger{color:#15803d!important;background:#f0fdf4!important;border-color:#22c55e!important}.tech-postman{color:#c2410c!important;background:#fff7ed!important;border-color:#f97316!important}.tech-git{color:#a92a16!important;background:#ffe4df!important;border-color:#f05032!important}.tech-remix{color:#312e81!important;background:#eef2ff!important;border-color:#818cf8!important}.tech-tailwind-css{color:#0369a1!important;background:#e0f2fe!important;border-color:#38bdf8!important}.tech-bootstrap{color:#6b21a8!important;background:#f3e8ff!important;border-color:#a855f7!important}.tech-ant-design{color:#1d4ed8!important;background:#eff6ff!important;border-color:#1677ff!important}.tech-shadcn-ui{color:#fff!important;background:#0f172a!important;border-color:#334155!important}.tech-codex{color:#18181b!important;background:#f4f4f5!important;border-color:#71717a!important}.tech-gemini{color:#0284c7!important;background:#e0f2fe!important;border-color:#38bdf8!important}.tech-github-copilot,.tech-copilot{color:#5b21b6!important;background:#f5f3ff!important;border-color:#8b5cf6!important}.tech-vs-code{color:#1d4ed8!important;background:#eff6ff!important;border-color:#007acc!important}.tech-cursor{color:#fff!important;background:#0f172a!important;border-color:#334155!important}.tech-antigravity{color:#7e22ce!important;background:#fdf2f8!important;border-color:#c084fc!important}.tech-express{color:#fff!important;background:#0f172a!important;border-color:#334155!important}.tech-nestjs{color:#9f1239!important;background:#fff1f2!important;border-color:#e11d48!important}.tech-spring-boot{color:#1b5e20!important;background:#e8f5e9!important;border-color:#4caf50!important}.tech-microsoft-sql-server{color:#991b1b!important;background:#fef2f2!important;border-color:#f87171!important}.tech-jira{color:#1e40af!important;background:#eff6ff!important;border-color:#3b82f6!important}.tech-trello{color:#1d4ed8!important;background:#eff6ff!important;border-color:#3b82f6!important}.tech-figma{color:#9f1239!important;background:#fdf2f8!important;border-color:#fb7185!important}.tech-bpmn{color:#075985!important;background:#e0f2fe!important;border-color:#38bdf8!important}.tech-uml{color:#0369a1!important;background:#f0f9ff!important;border-color:#0284c7!important}.tech-visual-paradigm{color:#991b1b!important;background:#fef2f2!important;border-color:#ef4444!important}.tech-draw-io{color:#854d0e!important;background:#fffbe6!important;border-color:#eab308!important}.tech-voiceflow{color:#5337b7!important;background:#e9e4ff!important;border-color:#8b72e8!important}.tech-testing,.tech-test-cases{color:#795400!important;background:#fff0c9!important;border-color:#e4b134!important}.tech-ui-ux,.tech-ux{color:#9c286b!important;background:#ffe2f2!important;border-color:#ec78b9!important}.tech-cms{color:#126e5b!important;background:#dff6f1!important;border-color:#55bba4!important}.project-actions{align-items:center;gap:18px;margin-top:auto;display:flex}.project-actions>a{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.project-source-icon{object-fit:contain;width:13px;height:13px}.dark .project-source-icon{filter:invert()}.project-footnote{border-top:1px solid var(--line);width:100%;color:var(--muted);font:9px var(--font-mono);align-items:center;gap:7px;margin-top:20px;padding-top:13px;display:flex}.project-footnote b{color:var(--muted);margin-left:auto;font-weight:400}.language{background:#4285f4;border-radius:50%;width:7px;height:7px}.language-violet{background:#8b5cf6}.language-amber{background:#e9b536}.language-green{background:#7ab55c}.project-preview{color:#fff;background:#0a0d12;flex-direction:column;height:100%;min-height:0;margin:0;padding:17px;display:flex;overflow:hidden}.preview-bar{color:#697281;background:#080a0e;border:1px solid #242a34;border-radius:9px 9px 0 0;align-items:center;gap:10px;height:39px;padding:0 12px;display:flex}.preview-bar>div{gap:5px;display:flex}.preview-bar i{background:#ff5f57;border-radius:50%;width:7px;height:7px}.preview-bar i:nth-child(2){background:#febc2e}.preview-bar i:nth-child(3){background:#28c840}.preview-bar span{text-align:center;font:8px var(--font-mono);flex:1}.preview-bar b{font-size:10px}.project-preview-media{background:var(--project-media-background);border:1px solid #242a34;border-top:0;border-radius:0 0 12px 12px;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.project-preview-media img{object-fit:contain;width:100%;height:100%;min-height:0;transition:transform .55s cubic-bezier(.22,1,.36,1);display:block}.project-card:hover .project-preview-media img{transform:scale(1.025)}.code-ui-split{--code-ui-split-height:clamp(480px, 48vw, 620px);border:1px solid var(--line);border-radius:var(--radius-card);background:#080b10;margin:72px 0 70px;overflow:hidden;box-shadow:0 20px 60px #02071024}.code-ui-split__layout{height:var(--code-ui-split-height);min-height:420px;display:grid;position:relative}.code-ui-split__code-panel,.code-ui-split__preview-panel{min-width:0;min-height:0;overflow:hidden}.code-ui-split__code-panel{color:#cbd5e1;background:#0c1119;flex-direction:column;display:flex}.code-ui-split__panel-bar{color:#8491a4;min-height:43px;font:9px var(--font-mono);white-space:nowrap;border-bottom:1px solid #202b3a;align-items:center;gap:8px;padding:0 14px;display:flex}.code-ui-split__window-dots{flex:none;align-items:center;gap:5px;display:inline-flex}.code-ui-split__window-dots i{background:#ff5f57;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 2px #ff5f5712}.code-ui-split__window-dots i:nth-child(2){background:#febc2e;box-shadow:0 0 0 2px #febc2e12}.code-ui-split__window-dots i:nth-child(3){background:#28c840;box-shadow:0 0 0 2px #28c84012}.code-ui-split__editor{scrollbar-width:none;-ms-overflow-style:none;counter-reset:code-line;color:#a8b5c7;min-height:0;font:10px/1.65 var(--font-mono);tab-size:2;background:linear-gradient(90deg,#101723 0 39px,#0c1119 39px);flex:1;margin:0;padding:24px 20px 30px 52px;overflow:auto}.code-ui-split__editor::-webkit-scrollbar{width:0;height:0;display:none}.code-ui-split__line{white-space:pre;min-width:max-content;display:block;position:relative}.code-ui-split__line:before{color:#536174;content:counter(code-line);counter-increment:code-line;text-align:right;-webkit-user-select:none;user-select:none;width:24px;position:absolute;right:calc(100% + 17px)}.code-ui-split__keyword{color:#c084fc}.code-ui-split__string{color:#86efac}.code-ui-split__preview-panel{background:#10151c;padding:0;position:relative}.code-ui-split__preview-stage{isolation:isolate;background:#0b1017;border:0;border-radius:0;width:100%;height:100%;position:relative;overflow:hidden}.code-ui-split__preview-nav{z-index:3;-webkit-backdrop-filter:blur(12px)saturate(125%);backdrop-filter:blur(12px)saturate(125%);background:0 0;border:1px solid #ffffff2e;border-radius:999px;width:clamp(40px,28%,260px);height:34px;padding:0;position:absolute;top:18px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 28px #02070e24}.code-ui-split__preview-title{z-index:3;color:#fff;letter-spacing:-.055em;text-shadow:0 10px 34px #02070e6b;text-wrap:balance;pointer-events:none;gap:0;margin:0;font-size:clamp(38px,6.2vw,88px);font-weight:500;line-height:.86;display:grid;position:absolute;top:clamp(68px,9vw,110px);left:clamp(22px,5vw,64px)}.code-ui-split__preview-title span{display:block}.code-ui-split__preview-title-serif{letter-spacing:-.065em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:500}.code-ui-split__preview-title-sans{font-family:var(--font-sans), "Inter Fallback", sans-serif;letter-spacing:-.07em;font-size:.94em;font-style:normal;font-weight:620}.code-ui-split__image{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.code-ui-split__image--reveal{z-index:1;opacity:var(--spotlight-opacity);-webkit-mask-image:radial-gradient(circle 216px at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000f5 37%, #00000094 63%, transparent 100%);-webkit-mask-image:radial-gradient(circle 216px at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000f5 37%, #00000094 63%, transparent 100%);-webkit-mask-image:radial-gradient(circle 216px at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000f5 37%, #00000094 63%, transparent 100%);mask-image:radial-gradient(circle 216px at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000f5 37%, #00000094 63%, transparent 100%);-webkit-mask-image:radial-gradient(circle 216px at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000f5 37%, #00000094 63%, transparent 100%)}.code-ui-split__divider{inset:0 auto 0 calc(var(--split-position) - 15px);z-index:4;pointer-events:none;width:30px;position:absolute}.code-ui-split__divider-hit-area{cursor:col-resize;pointer-events:auto;touch-action:none;background:0 0;border:0;width:30px;padding:0;position:absolute;inset:0}.code-ui-split__divider-hit-area:focus-visible{outline-offset:-2px;outline:2px solid #5eead4}.code-ui-split__divider-line{pointer-events:none;background:#95dcffe6;width:1px;display:block;position:absolute;inset:0 auto 0 14px;box-shadow:0 0 5px #75ccfff2,0 0 16px #439eff85,0 0 30px #439eff38}.dark .code-ui-split{box-shadow:0 28px 75px #00000047}.code-ui-split__preview-panel,.code-ui-split__code-panel{contain:layout paint}.panel-section{background:var(--surface);border-block:1px solid var(--line)}.professional-links{flex-wrap:wrap;gap:9px;margin:-6px 0 30px;display:flex}.professional-links a{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);font:10px var(--font-mono);align-items:center;gap:7px;padding:10px 12px;font-weight:650;transition:all .18s;display:inline-flex}.professional-links a:hover{color:var(--text);border-color:#2a9df4;transform:translateY(-2px)}.professional-links .social-link-icon{object-fit:contain;flex:none;width:14px;height:14px;display:block}.dark .professional-links .social-link-icon{filter:brightness(0)invert()}.profile-strip{border-block:1px solid var(--line);color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:center;padding:15px 0;font-weight:600;display:flex}.profile-strip i{background:var(--quiet);border-radius:50%;width:3px;height:3px}.resume-layout{grid-template-columns:1.45fr .55fr;gap:85px;margin-top:54px;display:grid}.list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.list-heading h3{margin:0;font-size:21px}.list-heading span{color:var(--muted);font:10px var(--font-mono)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:115px 1fr;gap:25px;padding:29px 0;display:grid}.experience-row time{color:var(--muted);font:10px var(--font-mono);padding-top:4px}.experience-row h4{letter-spacing:-.03em;margin:0;font-size:20px}.experience-row div>span{color:var(--accent);margin-top:4px;font-size:13px;font-weight:620;display:inline-block}.experience-row p{max-width:560px;color:var(--muted);margin:13px 0 0;font-size:14px;font-weight:500;line-height:1.68}.experience-stack{margin-top:15px}.profile-aside{flex-direction:column;gap:36px;display:flex}.profile-aside>div{border-bottom:1px solid var(--line);padding-bottom:31px}.aside-label{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-weight:650}.profile-aside ul{grid-template-columns:1fr 1fr;gap:12px 16px;margin:18px 0 0;padding:0;list-style:none;display:grid}.profile-aside li{font-size:12px;font-weight:560}.profile-aside li.tech-pill{border-radius:var(--radius-control);min-height:38px;padding:8px 12px;font-size:10px}.capability-list .tech-pill-icon{width:16px;height:16px}.language-credential-list{grid-template-columns:1fr 1fr}.certification-list{grid-template-columns:1fr!important}.language-credential{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);align-items:center;gap:9px;min-height:38px;padding:7px 10px;display:flex}.language-credential img{object-fit:cover;border:1px solid var(--line);flex:none;width:25px;height:17px;display:block}@supports (color:color-mix(in lab, red, red)){.language-credential img{border:1px solid color-mix(in srgb, var(--line) 82%, #74839a)}}.language-credential img{border-radius:5px;box-shadow:0 1px 3px #0a14231f}.language-credential span{font:10px var(--font-mono);font-weight:700}.certification-list li{border:1px solid var(--accent);min-height:48px}@supports (color:color-mix(in lab, red, red)){.certification-list li{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--line))}}.certification-list li{border-radius:var(--radius-control);background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.certification-list li{background:color-mix(in srgb, var(--accent-soft) 35%, transparent)}}.certification-list li{line-height:1.35;overflow:hidden}.certification-list a,.certification-list .certificate-content{min-height:inherit;grid-template-columns:28px 1fr 14px;align-items:center;gap:9px;padding:8px;transition:color .18s,background .18s;display:grid}.certification-list a:hover,.certification-list a:focus-visible{color:var(--accent);background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.certification-list a:hover,.certification-list a:focus-visible{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}}.certification-list .certificate-state-icon{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;padding:4px}.certificate-copy{flex-direction:column;gap:3px;display:flex}.certificate-copy b{font-weight:620}.certificate-copy small{color:#a26100;font:8px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:750}.certification-list li.is-in-progress{border-color:#f59e0b}@supports (color:color-mix(in lab, red, red)){.certification-list li.is-in-progress{border-color:color-mix(in srgb, #f59e0b 40%, var(--line))}}.certification-list li.is-in-progress{background:#fff3cf}@supports (color:color-mix(in lab, red, red)){.certification-list li.is-in-progress{background:color-mix(in srgb, #fff3cf 55%, var(--surface))}}.dark .certification-list li.is-in-progress{background:#5f3d05}@supports (color:color-mix(in lab, red, red)){.dark .certification-list li.is-in-progress{background:color-mix(in srgb, #5f3d05 34%, var(--surface))}}.certification-list .is-in-progress .certificate-state-icon{color:#d18400;background:#f59e0b2e}.certification-list .certificate-link-icon{color:currentColor;opacity:.55;background:0 0;border-radius:0;width:13px;height:13px;padding:0}.profile-aside .aside-label{color:var(--text);font:13px var(--font-mono);text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px;font-weight:750;display:block}.profile-aside h4{margin:12px 0 5px;font-size:17px}.profile-aside p{color:var(--muted);margin:0;font-size:13px}.profile-aside small{color:var(--muted);font:9px var(--font-mono)}.education-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.education-gpa-badge{background:var(--accent-soft);border-radius:5px;align-items:center;padding:2px 7px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.education-gpa-badge{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}}.education-gpa-badge{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.education-gpa-badge{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line))}}.education-gpa-badge{color:var(--accent);font:9.5px var(--font-mono);letter-spacing:.03em;font-weight:700}.skills-block{flex-direction:column;gap:26px;margin-top:14px;display:flex}.major-skill-groups,.supporting-skill-groups{flex-direction:column;gap:24px;display:flex}.skill-category-group{flex-direction:column;gap:0;display:flex}.skill-category-title{color:var(--muted);font:9.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.88;margin:0 0 5px;font-weight:700}.skill-category-group ul.capability-list{margin-top:3px}.supporting-grid{grid-template-columns:1fr 1fr;gap:24px 20px;display:grid}.supporting-grid .full-width-group{grid-column:1/-1}.download-button{align-self:flex-start}.books-page{--book-shell-radius:var(--radius-card);--book-cover-radius:10px}.books-intro{margin-bottom:48px}.books-intro .section-title-row{grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);gap:70px}.books-intro .section-title-row h1{letter-spacing:-.058em;max-width:900px;font-size:clamp(54px,5.6vw,78px);font-weight:690;line-height:.97}.books-intro .section-summary p{font-size:16px;font-style:italic;font-weight:540;line-height:1.72}.shelf-stats{gap:0;margin-bottom:54px}.shelf-stats span{border-right:1px solid var(--line);padding:0 25px;font-weight:580}.shelf-stats span:first-child{padding-left:0}.shelf-stats span:last-child{border-right:0}.shelf-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:15px;display:flex}.shelf-heading h3{letter-spacing:-.04em;margin:0;font-size:29px;font-weight:680;line-height:1.05}.shelf-heading p{color:var(--muted);margin:7px 0 0;font-size:14px;font-weight:540;line-height:1.5}.shelf-heading>span{color:var(--muted);font:10px var(--font-mono);font-weight:620}.shelf-heading.compact{margin-top:82px}.featured-book{grid-template-columns:1.08fr .92fr;gap:70px;padding-top:34px;display:grid}.book-stage{border:1px solid var(--line);place-items:center;min-height:456px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.book-stage{border:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}.book-stage{border-radius:var(--book-shell-radius);background:radial-gradient(circle at 32% 28%, #ffb45a1f, transparent 38%), linear-gradient(145deg, var(--surface), var(--surface-2))}@supports (color:color-mix(in lab, red, red)){.book-stage{background:radial-gradient(circle at 32% 28%, #ffb45a1f, transparent 38%), linear-gradient(145deg, color-mix(in srgb, var(--surface) 78%, transparent), var(--surface-2))}}.book-cover,.mini-cover{background:#dfe3e8;display:block;overflow:hidden;box-shadow:0 18px 42px #00000040}.book-cover{border-radius:var(--book-cover-radius);width:250px;height:365px;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s;transform:perspective(800px)rotateY(-5deg)}.book-stage:hover .book-cover{transform:perspective(800px)rotateY(-2deg)translateY(-5px);box-shadow:0 28px 58px #0000004d}.book-cover img,.mini-cover img{object-fit:cover;width:100%;height:100%;display:block}.book-cover.atomic,.mini-cover.atomic{background:#f4ead2}.book-cover.spending img,.mini-cover.spending img{object-position:50% 58%;transform:scale(1.34)}.book-cover.ocean img,.mini-cover.ocean img{object-position:left center}.featured-book-copy{align-self:center;max-width:470px}.book-status-badge{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:fit-content;min-height:32px;color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.075em;align-items:center;gap:9px;padding:7px 12px;font-weight:720;display:inline-flex;box-shadow:0 8px 22px #0a14230f}.status-current{color:#168a4b}@supports (color:color-mix(in lab, red, red)){.status-current{color:color-mix(in srgb, #168a4b 82%, var(--text))}}.status-current{border-color:#20c86a}@supports (color:color-mix(in lab, red, red)){.status-current{border-color:color-mix(in srgb, #20c86a 28%, var(--line))}}.status-queue{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.status-queue{border-color:color-mix(in srgb, var(--accent) 28%, var(--line))}}.status-queue{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.status-queue{background:color-mix(in srgb, var(--accent-soft) 50%, var(--surface))}}.status-queue:before,.status-read:before{content:"";opacity:.8;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-read{color:var(--muted);background:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.status-read{background:color-mix(in srgb, var(--surface-2) 68%, var(--surface))}}.featured-book-copy h3{letter-spacing:-.055em;margin:22px 0 7px;font-size:49px;font-weight:670;line-height:1.02}.featured-book-copy h4{color:var(--muted);margin:0;font-size:15px;font-weight:560}.book-rule{border-top:1px solid var(--line);margin:28px 0}.featured-book-copy blockquote{margin:0 0 18px;font-size:20px;font-style:italic;font-weight:540;line-height:1.55}.featured-book-copy>p{color:var(--muted);margin-bottom:0;font-size:15px;font-weight:520;line-height:1.72}.book-grid{grid-template-columns:repeat(3,1fr);gap:16px;padding-top:26px;display:grid}.book-grid.queue-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}.book-card{border:1px solid var(--line);border-radius:var(--book-shell-radius);background:var(--surface);grid-template-columns:96px 1fr;gap:18px;padding:17px;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;overflow:hidden;box-shadow:0 12px 32px #0a142309}.book-card:hover{border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.book-card:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}}.book-card:hover{box-shadow:0 18px 38px #0a142313}.book-card.queue-card{grid-column:1;max-width:680px}.mini-cover{border-radius:var(--book-cover-radius);width:96px;height:145px}.book-card h3{letter-spacing:-.03em;margin:15px 0 7px;font-size:18px;font-weight:650;line-height:1.18}.book-card p{color:var(--muted);margin:0;font-size:13px;font-weight:510;line-height:1.58}.photo-page-section{padding-top:68px}.photo-runtime-state{border:1px solid var(--line);border-radius:var(--radius-shell);background:var(--surface);text-align:center;align-content:center;place-items:center;gap:16px;min-height:min(680px,72svh);padding:32px;display:grid}.photo-runtime-state strong{letter-spacing:-.045em;font-size:clamp(26px,4vw,46px)}.photo-runtime-state p{max-width:480px;color:var(--muted);margin:0;font-size:15px;font-weight:550;line-height:1.65}.photo-runtime-loading>span{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite photo-loading-spin}@keyframes photo-loading-spin{to{transform:rotate(360deg)}}.photo-feature{border-radius:var(--radius-shell);color:#fff;background:#111820;height:min(680px,72svh);min-height:520px;margin:0;position:relative;overflow:hidden;box-shadow:0 24px 70px #040e1a29}.photo-feature:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#030b1438 0%,#030b140a 42%,#030b14c7 100%);position:absolute;inset:0}.photo-feature-media{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.photo-feature-media img{object-fit:cover;object-position:center 44%;filter:saturate(.88)contrast(1.02);width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .35s;display:block}.photo-feature:hover .photo-feature-media img,.photo-feature-media:focus-visible img{filter:saturate()contrast(1.02);transform:scale(1.018)}.photo-feature-media:focus-visible{outline-offset:-6px;outline:3px solid #ffffffeb}.photo-feature-copy{z-index:2;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:13px;display:flex;position:absolute;inset:30px 34px 34px}.photo-feature-copy h1{color:#fff;letter-spacing:-.058em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(40px,4.8vw,68px);font-weight:680;line-height:.94}.photo-feature-copy p{color:#ffffffe6;text-wrap:balance;max-width:560px;margin:0;font-size:clamp(14px,1.25vw,17px);font-weight:560;line-height:1.45}.photo-marquee{gap:16px;width:calc(100vw - 12px);margin-top:76px;margin-left:calc(50% - 50vw + 6px);padding-block:2px 10px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.photo-marquee-row{overflow:hidden}.photo-marquee-track{will-change:transform;width:max-content;animation:marquee-left var(--photo-duration,88s) linear infinite;display:flex}.photo-marquee-row.marquee-right .photo-marquee-track{animation-name:marquee-right}.photo-marquee-group{gap:16px;padding-right:16px;display:flex}.photo-card{text-align:left;cursor:zoom-in;background:0 0;border:0;flex:none;width:clamp(280px,26vw,430px);padding:0}.photo-card>img{aspect-ratio:1.55;object-fit:cover;border-radius:var(--radius-media);filter:saturate(.8);width:100%;transition:all .35s;display:block}.photo-card:hover>img,.photo-card:focus-visible>img{filter:saturate();transform:translateY(-3px);box-shadow:0 16px 34px #00000024}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.topic-row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:12px;display:flex}.topic-row button{border-radius:var(--radius-control);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 15px;font-size:12px;font-weight:600;transition:all .18s}.topic-row button:hover{color:var(--text);background:var(--surface-2)}.topic-row button.active{background:var(--text);color:var(--bg);box-shadow:var(--shadow)}.topic-row b{font:9px var(--font-mono);margin-left:5px;font-weight:500}.featured-note{border-bottom:1px solid var(--line);grid-template-columns:1.2fr .8fr;align-items:center;gap:45px;padding:55px 0 65px;display:grid}.note-visual{border-radius:var(--radius-card);background:#0e3c69;min-height:390px;padding:28px}.note-window{color:#657080;background:#0a1018;border-radius:8px 8px 0 0;align-items:center;height:36px;padding:0 12px;display:flex}.note-window>span{gap:4px;display:flex}.note-window i{background:#ff5f57;border-radius:50%;width:6px;height:6px}.note-window i:nth-child(2){background:#febc2e}.note-window i:nth-child(3){background:#28c840}.note-window small{text-align:center;font:7px var(--font-mono);flex:1}.note-paper{color:#0d1421;background:#e9edf2;flex-direction:column;min-height:300px;padding:36px;display:flex}.note-paper small{font:7px var(--font-mono);color:#5d6775}.note-paper strong{letter-spacing:-.05em;margin-top:48px;font-size:33px;line-height:1.02}.note-paper em{color:#216bff;font-style:normal}.note-paper>span{background:#216bff;width:40px;height:4px;margin-top:auto}.post-meta{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:9px;font-weight:550;display:flex}.post-meta span{color:var(--accent)}.post-meta i{background:var(--quiet);border-radius:50%;width:3px;height:3px}.note-copy h3{letter-spacing:-.055em;margin:20px 0 14px;font-size:clamp(35px,4vw,53px);line-height:1.02}.note-copy p{color:var(--muted);margin:0;font-size:15px;font-weight:500;line-height:1.68}.note-copy>a{color:var(--accent);align-items:center;gap:8px;margin-top:28px;font-size:12px;font-weight:600;display:inline-flex}.latest-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:60px 0 16px;display:flex}.latest-heading h3{margin:0;font-size:21px}.latest-heading span{color:var(--muted);font:9px var(--font-mono)}.post-list article{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr 25px;align-items:start;gap:28px;padding:28px 0;transition:transform .2s;display:grid}.post-list>a:hover article{transform:translate(5px)}.post-list time{color:var(--muted);font:9px var(--font-mono);padding-top:4px}.post-list h3{letter-spacing:-.035em;margin:10px 0 7px;font-size:24px}.post-list p{color:var(--muted);margin:0;font-size:13px;font-weight:500;line-height:1.6}.post-list>article>svg{margin-top:20px}.contact{--contact-bg:#eaf5ff;--contact-bg-soft:#d8edff;--contact-text:#0b1a2d;--contact-muted:#53677e;--contact-line:#1a7bcc40;--contact-ring:#1f76be38;border:1px solid var(--contact-line);border-radius:var(--radius-shell);background:linear-gradient(135deg, var(--contact-bg), var(--contact-bg-soft));min-height:520px;color:var(--contact-text);flex-direction:column;justify-content:center;align-items:flex-start;margin-top:110px;padding:80px;display:flex;position:relative;overflow:hidden}.dark .contact{--contact-bg:#0d1421;--contact-bg-soft:#101b2c;--contact-text:#fff;--contact-muted:#aeb6c2;--contact-line:#ffffff14;--contact-ring:#ffffff2e}.contact:after{content:"";border:1px solid var(--contact-ring);width:440px;height:440px;box-shadow:0 0 0 52px var(--contact-ring), 0 0 0 104px var(--contact-ring);border-radius:50%;position:absolute;right:-80px}@supports (color:color-mix(in lab, red, red)){.contact:after{box-shadow:0 0 0 52px color-mix(in srgb, var(--contact-ring) 15%, transparent), 0 0 0 104px color-mix(in srgb, var(--contact-ring) 10%, transparent)}}.contact>:not(.contact-stitch-orbit){z-index:2;position:relative}.contact .eyebrow{color:#1877d2}.dark .contact .eyebrow{color:#409cff}.contact h2{letter-spacing:-.065em;max-width:760px;margin:22px 0 20px;font-size:clamp(54px,7vw,90px);line-height:.94}.contact p{max-width:500px;color:var(--contact-muted);margin:0 0 30px;font-size:14px;line-height:1.6}.contact-via{border:1px solid var(--contact-line);border-radius:var(--radius-control);background:var(--contact-bg);align-items:center;gap:14px;padding:6px 7px 6px 17px;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-via{background:color-mix(in srgb, var(--contact-bg) 64%, white)}}.contact-via{box-shadow:0 9px 24px #1347741a}.dark .contact-via{box-shadow:none;background:#ffffff0e}.contact-via>span{color:var(--contact-text);white-space:nowrap;font-size:12px;font-weight:680}.contact-socials{align-items:center;gap:5px;display:flex}.contact-socials a{border:1px solid var(--contact-line);background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;transition:transform .18s,border-color .18s;display:grid}.contact-socials a:hover,.contact-socials a:focus-visible{border-color:#2a9df4;transform:translateY(-2px)}.contact-socials img{opacity:.78;width:14px;height:14px}.contact-stitch-orbit{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:440px;height:440px;position:absolute;top:50%;right:-80px;transform:translateY(-50%)}.contact-stitch{object-fit:contain;filter:drop-shadow(0 16px 22px #15426c33);width:clamp(175px,21vw,285px);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.site-footer{min-height:110px;color:var(--muted);font:10px var(--font-mono);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.footer-avatar{object-fit:cover;border:1px solid var(--line);background:var(--surface);border-radius:50%;grid-column:1;width:42px;height:42px;display:block}.footer-copyright{color:var(--muted);grid-column:2;font-weight:600}.footer-actions{grid-column:3;justify-self:end;align-items:center;gap:18px;display:flex}.footer-socials{align-items:center;gap:7px;display:flex}.footer-socials a{border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:36px;height:36px;transition:transform .18s,border-color .18s,background .18s;display:grid}.footer-socials a:hover,.footer-socials a:focus-visible{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.footer-socials a:hover,.footer-socials a:focus-visible{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}}.footer-socials a:hover,.footer-socials a:focus-visible{background:var(--surface-2)}.footer-socials img{opacity:.72;width:15px;height:15px}.dark .footer-socials img{filter:invert()}.footer-back-home{white-space:nowrap}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020408cc;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.project-modal{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);width:min(650px,100%);box-shadow:var(--shadow);padding:46px;position:relative}.modal-close{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:17px;right:17px}.project-modal h2{letter-spacing:-.055em;margin:20px 0 14px;font-size:50px}.project-modal p{color:var(--muted);line-height:1.7}.project-modal>strong{border-radius:var(--radius-compact);background:var(--accent-soft);color:var(--accent);margin-top:28px;padding:19px;font-size:20px;display:block}.career-modal{background:linear-gradient(145deg, var(--surface), var(--surface-2));border-color:#2a9df44d}@supports (color:color-mix(in lab, red, red)){.career-modal{background:linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--surface-2) 85%, #d9ecff))}}.dark .career-modal{background:linear-gradient(145deg,#0f1d31,#151b2f)}.career-modal h2{margin-bottom:7px}.career-modal h3{color:#2a9df4;margin:0 0 22px;font-size:18px}.career-modal ul{color:var(--muted);gap:10px;margin:22px 0 0;padding-left:20px;font-size:14px;line-height:1.6;display:grid}.photo-lightbox figure{max-width:min(1100px,90vw);margin:0}.photo-lightbox figure img{border-radius:var(--radius-media);max-width:100%;max-height:78vh;display:block}.photo-lightbox .modal-close{color:#fff;background:#11151b;border-color:#2b313a}.article-page{width:min(850px,100% - 40px);margin-inline:auto}.article-nav{border-bottom:1px solid var(--line);height:90px;color:var(--muted);font:10px var(--font-mono);justify-content:space-between;align-items:center;font-weight:600;display:flex}.article-nav a{align-items:center;gap:8px;display:flex}.article-page>article{padding:105px 0 75px}.article-meta{color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:10px;font-weight:600;display:flex}.article-meta span{color:var(--accent)}.article-meta i{background:var(--muted);border-radius:50%;width:3px;height:3px}.article-prose h1{letter-spacing:-.065em;margin:26px 0 38px;font-size:clamp(52px,8vw,82px);font-weight:630;line-height:.98}.article-prose h2{letter-spacing:-.04em;margin:65px 0 17px;font-size:31px}.article-prose p{max-width:720px;color:var(--text);margin:0 0 24px}@supports (color:color-mix(in lab, red, red)){.article-prose p{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.article-prose p{font-size:17px;line-height:1.85}.article-prose pre{border:1px solid var(--line);border-radius:var(--radius-media);color:#dce5f6;font:12px/1.7 var(--font-mono);background:#0c1017;margin:34px 0;padding:24px;overflow-x:auto}.article-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:36px 0 65px;font-size:12px;display:flex}.article-footer a{color:var(--accent)}@media (max-width:1180px){.home-story-layout{grid-template-columns:1fr;gap:14px;width:min(1320px,100% - 24px)}.story-nav{border:1px solid var(--line);align-items:center;gap:5px;margin:0 12px;padding:8px;display:flex;top:88px}@supports (color:color-mix(in lab, red, red)){.story-nav{border:1px solid color-mix(in srgb, var(--line) 70%, transparent)}}.story-nav{border-radius:var(--radius-control);background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.story-nav{background:color-mix(in srgb, var(--bg) 75%, transparent)}}.story-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.story-nav>span{margin:0 9px 0 3px}.story-nav a{grid-template-columns:24px 1fr;min-height:42px;padding:4px 11px}.story-nav a i{display:none}}@media (max-width:900px){.site-header{grid-template-columns:auto 1fr auto;padding-inline:14px}.site-header nav{justify-self:center}.site-header nav a{padding-inline:11px;font-size:12px}.section-title-row,.project-body,.resume-layout,.featured-book,.featured-note{grid-template-columns:1fr}.books-intro .section-title-row{grid-template-columns:1fr;gap:24px}.books-intro .section-summary{justify-self:start;max-width:620px}.project-list{--project-preview-height:390px}.project-body{height:auto}.career-intro>div{grid-template-columns:1fr;gap:25px}.career-intro p{max-width:600px}.github-story-intro>div{grid-template-columns:1fr;gap:24px}.github-story-intro p{max-width:620px}.github-metrics{grid-template-columns:1fr}.github-metrics>span{border-right:0;border-bottom:1px solid var(--github-line);justify-content:flex-start}.github-metrics>span:last-child{border-bottom:0}.section-title-row{gap:24px}.section-summary{justify-self:start}.contact-stitch{width:220px}.project-preview{height:var(--project-preview-height);order:-1}.project-copy{min-height:400px}.resume-layout{gap:60px}.book-grid,.book-grid.queue-grid{grid-template-columns:1fr}.featured-note{gap:28px}.projects-hero-content{grid-template-columns:1fr;gap:20px;padding:36px 30px}}@media (max-width:720px){.code-ui-split{--code-ui-split-height:min(76svh, 540px);margin-bottom:54px;display:none}.code-ui-split__layout{min-height:410px}.code-ui-split__panel-bar{gap:6px;min-height:37px;padding-inline:9px;font-size:8px}.code-ui-split__editor{background:linear-gradient(90deg,#101723 0 28px,#0c1119 28px);padding:18px 10px 22px 35px;font-size:8px;line-height:1.58}.code-ui-split__line:before{width:18px;right:calc(100% + 9px)}.code-ui-split__preview-panel{padding:0}.code-ui-split__preview-nav{width:min(180px,100% - 16px);height:28px;top:12px}.code-ui-split__preview-title{font-size:clamp(28px,8vw,46px);top:72px;left:16px}.site-header{grid-template-columns:auto 1fr auto}.site-header .main-navigation{display:none}.mobile-menu-trigger{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:42px;height:42px;transition:color .18s,background .18s;display:grid}.mobile-menu-trigger:hover,.mobile-menu-trigger[aria-expanded=true]{background:var(--surface-2)}.mobile-menu-layer{z-index:100;display:block;position:fixed;inset:0}.mobile-menu-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#05090f7a;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-menu-panel{width:min(82vw,360px);height:100%;padding:max(22px, env(safe-area-inset-top)) 22px 28px;border-left:1px solid var(--line);flex-direction:column;display:flex;position:absolute;inset:0 0 0 auto}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel{border-left:1px solid color-mix(in srgb, var(--line) 78%, transparent)}}.mobile-menu-panel{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.mobile-menu-panel{-webkit-backdrop-filter:blur(26px)saturate(135%);backdrop-filter:blur(26px)saturate(135%);box-shadow:-24px 0 70px #050c182e}.mobile-menu-close{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:50%;align-self:flex-end;place-items:center;width:44px;height:44px;display:grid}.mobile-menu-panel nav{gap:7px;margin-top:54px;display:grid}.mobile-menu-panel nav a{border-radius:var(--radius-control);min-height:64px;color:var(--muted);letter-spacing:-.025em;align-items:center;padding:0 20px;font-size:23px;font-weight:580;transition:color .18s,background .18s;display:flex}.mobile-menu-panel nav a:hover,.mobile-menu-panel nav a.active{color:var(--text);background:var(--surface-2)}.mobile-menu-home{border-top:1px solid var(--line);justify-content:flex-start;align-items:center;margin-top:auto;padding-top:20px;display:flex}}@media (max-width:620px){.shell{width:min(100% - 28px,1180px)}.site-header{border-radius:var(--radius-control);width:calc(100% - 16px);height:64px;margin-top:8px;padding-inline:9px;top:8px}.site-header.is-scrolled{width:calc(100% - 16px);height:64px;padding-inline:9px}.brand-avatar{width:34px;height:34px}.site-header .brand-name{display:none}.site-header .brand{gap:0}.theme-toggle,.mobile-menu-trigger{width:34px;height:34px}.header-actions{gap:1px}.language-select-trigger{gap:0;width:38px;min-width:38px;height:34px;padding:0}.language-select-trigger .lucide-chevron-down{display:none}.language-flag{width:22px;height:15px}.hero{flex-direction:column;min-height:auto;padding-block:70px 48px}.hero-grid{inset:15% -30% 10% 15%}.hero h1{font-size:clamp(50px,15vw,70px)}.hero-role-rotator{min-height:176px;margin-block:18px 24px;font-size:clamp(39px,12vw,56px)}.hero-role-stage{min-height:2.04em}.hero-role-label{white-space:normal;max-width:100%}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-foot{display:none}.tech-marquee{border-block:1px solid var(--line);background:var(--bg);flex:none;grid-template-columns:1fr;gap:10px;width:100%;min-width:0;margin-top:54px;padding-block:16px 14px;position:relative;bottom:auto;left:auto;right:auto}@supports (color:color-mix(in lab, red, red)){.tech-marquee{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.tech-marquee{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tech-marquee-label{padding-inline:2px}.tech-marquee-viewport{align-items:center;width:100%;min-height:61px;margin:0;padding-block:8px;display:flex}.tech-marquee-item{min-width:122px;height:45px}.tech-marquee-item>span{width:31px;height:31px}.career-story{padding-block:84px 100px}.career-intro{margin-bottom:52px}.career-intro h2{font-size:47px}.career-intro p{font-size:16px}.career-timeline{padding-left:14px}.career-line{left:13px}.career-event,.career-event-right{text-align:left;width:100%;min-height:0;margin-left:0;padding:0 0 42px 44px}.career-event-left .career-dot,.career-event-right .career-dot{left:-7px;right:auto}.career-event-left .career-stack{justify-content:flex-start}.career-card{padding:23px}.career-card-meta{flex-direction:column;align-items:flex-start;gap:6px}.career-card h3{font-size:23px}.home-story-layout{width:calc(100% - 16px)}.story-nav{margin-inline:0;top:78px;overflow-x:auto}.story-nav>span{display:none}.story-nav a{min-width:max-content}.github-story{border-radius:var(--radius-card);min-height:0;padding:74px 20px 76px}.github-story-intro{margin-bottom:42px}.github-story-intro h2{font-size:44px}.github-profile-row{flex-direction:column;align-items:flex-start}.contribution-panel{padding-inline:14px}.contribution-heading{flex-direction:column;align-items:flex-start;gap:7px}.contribution-months,.contribution-grid{min-width:520px}.page-section{padding-block:72px 92px}.section{padding-block:88px}.section-title-row h1,.section-title-row h2{font-size:46px}.books-intro{margin-bottom:38px}.books-intro .section-title-row h1{font-size:clamp(43px,13vw,54px);line-height:.99}.projects-hero-feature{border-radius:var(--radius-card);min-height:330px;margin-bottom:28px}.projects-hero-content{gap:14px;padding:26px 20px}.projects-hero-content h1{font-size:clamp(34px,9.5vw,48px)}.projects-hero-content p{font-size:14px;line-height:1.6}.repository-meta{white-space:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;min-height:0;padding-block:10px;display:grid;overflow:visible}.repository-meta>a,.repository-meta>span{overflow-wrap:anywhere;align-items:center;min-width:0;min-height:46px;padding:7px 8px;line-height:1.35;display:flex}.repository-meta>span{align-items:baseline;gap:5px}.repository-meta>span b{white-space:nowrap;flex:none}.repository-meta>i{display:none}.project-repository-heading{flex-direction:column;align-items:flex-start}.project-card{border-radius:var(--radius-media)}.repo-bar{font-size:9px}.repo-bar small{display:none}.project-list{--project-preview-height:310px}.project-preview{padding:10px}.project-copy{min-height:390px;padding:32px 24px 24px}.project-copy h3{font-size:43px}.project-actions{margin-top:18px}.profile-strip{white-space:nowrap;gap:10px;overflow-x:auto}.experience-row{grid-template-columns:1fr;gap:8px}.shelf-stats{white-space:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-height:0;padding-block:10px;display:grid;overflow:visible}.shelf-stats span{border-right:1px solid var(--line);align-items:baseline;gap:5px;min-height:42px;padding:8px 10px;line-height:1.35;display:flex}.shelf-stats span:first-child{padding-left:10px}.shelf-stats span:nth-child(2n){border-right:0}.book-stage{min-height:400px}.book-cover{width:225px;height:330px}.shelf-heading h3{font-size:26px}.featured-book{gap:34px}.featured-book-copy h3{font-size:40px}.book-card{grid-template-columns:86px 1fr}.mini-cover{width:86px;height:132px}.photo-page-section{padding-top:42px}.photo-feature{border-radius:var(--radius-card);height:68svh;min-height:500px}.photo-feature-copy{gap:9px;inset:18px 18px 22px}.photo-feature-copy h1{letter-spacing:-.058em;max-width:92%;font-size:clamp(35px,10.5vw,48px);line-height:.95}.photo-feature-copy p{max-width:90%;font-size:13px}.photo-marquee{gap:12px;margin-top:52px}.photo-marquee-group{gap:12px;padding-right:12px}.photo-card{width:min(74vw,340px)}.note-visual{min-height:320px;padding:15px}.note-paper{min-height:250px;padding:25px}.note-paper strong{margin-top:38px;font-size:28px}.post-list article{grid-template-columns:1fr 20px;gap:15px}.post-list time{display:none}.contact{justify-content:flex-start;width:100%;min-height:660px;margin-block:55px;padding:38px 20px 270px}.contact:after{width:300px;height:300px;box-shadow:0 0 0 34px var(--contact-ring), 0 0 0 68px var(--contact-ring);top:auto;bottom:-26px;right:50%;transform:translate(50%)}@supports (color:color-mix(in lab, red, red)){.contact:after{box-shadow:0 0 0 34px color-mix(in srgb, var(--contact-ring) 15%, transparent), 0 0 0 68px color-mix(in srgb, var(--contact-ring) 10%, transparent)}}.contact h2{max-width:100%;margin-block:17px 16px;font-size:clamp(40px,12.5vw,50px);line-height:.96}.contact p{margin-bottom:23px;font-size:13.5px;line-height:1.55}.contact-via{border-radius:var(--radius-compact);flex-direction:column;align-items:stretch;gap:10px;width:100%;padding:12px}.contact-socials{grid-template-columns:repeat(6,1fr);gap:5px;width:100%;max-width:100%;display:grid}.contact-socials a{justify-self:center;width:100%;max-width:38px}.contact-stitch-orbit{width:300px;height:300px;top:auto;bottom:-26px;right:50%;transform:translate(50%)}.contact-stitch{width:155px}.site-footer{grid-template-columns:1fr;gap:18px;padding-block:28px}.footer-avatar{grid-area:1/1;justify-self:center}.footer-actions{flex-wrap:wrap;grid-area:2/1;justify-content:center;justify-self:center;gap:14px}.footer-copyright{grid-area:3/1;justify-self:center}.footer-socials{gap:5px}.footer-socials a{width:34px;height:34px}.project-modal{padding:45px 24px 28px}.project-modal h2{font-size:40px}}@media (max-width:420px){.repository-github-full{display:none}.repository-github-short{display:inline}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.photo-marquee-track{animation:none!important}.photo-marquee-group[aria-hidden=true]{display:none}.tech-marquee-track{animation:none!important}.tech-marquee-group[aria-hidden=true]{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
