@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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-border-style:solid;--tw-outline-style:solid;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Manrope Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color:#eef0f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#090c12;--surface:#10141d;--surface-2:#151b27;--text:#eef0f7;--muted:#9da8bb;--line:#242c3b;--blue:#9cb4ff;--button:#bed0ff;--button-text:#102044;--cyan:#8fdbdf;--display:"Space Grotesk Variable", sans-serif;color-scheme:dark;background:#090c12;font-family:Manrope Variable,sans-serif}:root[data-theme=light]{--bg:#f4f5f8;--surface:#fff;--surface-2:#e9edf5;--text:#172033;--muted:#526078;--line:#d2d9e5;--blue:#3451ad;--button:#304fb2;--button-text:#fff;--cyan:#1a6972;background:var(--bg);color:var(--text);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{min-width:320px;margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{background:0 0;border:0}::selection{color:var(--bg);background:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}input{caret-color:var(--blue)}input::placeholder{color:var(--muted)}::-webkit-scrollbar{width:8px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#556078;border-radius:8px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500}h2{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(32px,3.4vw,47px);line-height:1.16}h3{letter-spacing:-.025em;font-size:25px}p{color:var(--muted);font-size:14px;line-height:1.9}svg{flex-shrink:0}button,a{transition:background .2s,color .2s,border-color .2s,transform .2s}button:hover,a:hover{color:var(--blue)}.small{font-size:12px}.muted{color:var(--muted)}.accent{color:var(--blue)}.large-copy{color:var(--text);letter-spacing:-.015em;font-size:clamp(19px,2vw,24px);line-height:1.65}.lead{font-size:20px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--button);color:var(--button-text);z-index:100;padding:14px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.scroll-progress{background:var(--blue);transform-origin:0;z-index:90;height:2px;position:fixed;top:0;left:0;right:0}.icon-button{border-radius:7px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-button:hover{background:var(--surface-2)}.status-dot{background:#8bd8b1;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:8px;display:inline-block}.button{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:13px 18px;font-size:11px;font-weight:650;display:inline-flex}.primary{background:var(--button);color:var(--button-text)}.primary:hover{color:#17233f;background:#d4dfff;transform:translateY(-2px)}.secondary{border:1px solid var(--line);background:var(--bg)}.secondary:hover{border-color:var(--blue);background:var(--surface)}.label-one{top:64%;left:1%}.label-two{top:35%;right:0}.core-fallback{perspective:700px;place-items:center;display:grid;position:absolute;inset:0}.core-fallback>div{aspect-ratio:1;border:1px solid #748fe9;border-radius:50%;width:66%;position:absolute;transform:rotateX(58deg)rotateY(-22deg)rotate(-20deg)}.core-fallback>div:nth-child(2){border-color:#526fba;width:62%;transform:rotateX(47deg)rotateY(43deg)rotate(28deg)}.core-fallback>div:nth-child(3){border-color:#44639d;width:73%;transform:rotateX(66deg)rotateY(-38deg)}.core-fallback>span{aspect-ratio:1;background:conic-gradient(from 25deg,#141d3e,#344d88,#11172e,#21325b,#4e64a5,#141d3e);border:1px solid #7b94da;border-radius:28%;width:35%;display:block;transform:rotate(-18deg);box-shadow:12px 20px 55px #162b7a35}.text-link,.text-button{color:var(--blue);flex-shrink:0;align-items:center;gap:9px;font-size:12px;display:inline-flex}.text-link:hover,.text-button:hover{color:var(--text)}.tags{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.tags span{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:5px 8px;font-size:9px}.case-link{color:var(--blue);align-items:center;gap:8px;margin-top:22px;font-size:11px;transition:gap .2s;display:flex}.project-visual{color:#dee7ff;background:#101a2d;place-items:center;width:100%;height:238px;transition:filter .3s;display:grid;position:relative;overflow:hidden}.illustration-label{letter-spacing:.12em;color:#a9b9d5;font-size:6px;position:absolute;bottom:12px;left:16px}.enterprise{background:radial-gradient(#264370,#111d34 65%,#101829)}.cloud-mark{background:#2b4e7b;border:1px solid #7295cb;border-radius:24px;place-items:center;width:93px;height:93px;display:grid;transform:rotate(-10deg)}.cloud-mark svg{color:#c4dbff;transform:rotate(10deg)}.visual-orbit{border:1px solid #5e80bd5c;border-radius:50%;width:340px;height:130px;position:absolute;transform:rotate(-22deg)}.orbit-b{width:300px;height:155px;transform:rotate(24deg)}.visual-node{background:#192b46;border:1px solid #486086;border-radius:5px;padding:7px 14px;font-size:10px;position:absolute}.vn-a{top:25%;left:20%}.vn-b{top:42%;right:17%}.vn-c{bottom:18%;left:30%}.food{background:#182b28}.menu-preview{color:#293e35;background:#e4e6d5;border-radius:10px 10px 0 0;width:70%;max-width:310px;margin-top:32px;padding:21px 23px;transform:rotate(-5deg)}.menu-preview>span{letter-spacing:.15em;font-size:8px;font-weight:700}.meal-line{align-items:center;gap:12px;margin-top:19px;display:flex}.meal-line i{background:radial-gradient(circle,#c2ad69 20%,#64784f 22%,#92a375 39%,#d7c8a3 41%,#f3eddb 65%,#a4aa92 69%);border-radius:50%;width:40px;height:40px;display:block}.meal-line:nth-of-type(2) i{filter:hue-rotate(330deg)}.meal-line strong{font-size:9px;display:block}.meal-line small{margin-top:3px;font-size:6px;display:block}.cart-strip{color:#e3eddb;background:#2e503c;justify-content:space-between;margin-top:18px;padding:9px;font-size:8px;display:flex}.food .illustration-label{color:#becfc6}.weather{background:#172e46}.weather-sun{background:linear-gradient(135deg,#f2d3a5,#e5ab6c);border-radius:50%;width:126px;height:126px;position:absolute;top:33px;right:65px;box-shadow:12px 19px 60px #e3b26b1c}.weather-label{z-index:1;position:absolute;top:33px;left:35px}.weather-label>span{color:#b9d3eb;font-size:9px}.weather-label strong{font-family:var(--display);letter-spacing:-.03em;margin-top:13px;font-size:34px;line-height:1.1;display:block}.weather-label>div{letter-spacing:.14em;margin-top:22px;font-size:6px}.weather-label>div span{margin:0 6px}.weather-lines{border:1px solid #547295;border-radius:50%;width:110%;height:150px;position:absolute;bottom:-90px;left:30px;transform:rotate(-14deg)}.attendance{background:#172a2e}.attendance-preview{width:240px}.attendance-preview>span{letter-spacing:.25em;font-size:9px}.attendance-grid{grid-template-columns:repeat(7,1fr);gap:9px;margin:18px 0;display:grid}.attendance-grid i{background:#72b0aa;border-radius:3px;height:16px}.attendance-grid .dim{background:#334a51}.attendance-preview strong{font-family:var(--display);font-size:22px;font-weight:500}.salesforce{background:radial-gradient(#30335c,#1b1d36)}.salesforce .cloud-mark{background:#444877;border-color:#9290cb}.slambook{background:#2a212e}.java-preview{font-family:var(--display);align-items:center;gap:23px;display:flex}.java-preview>span{color:#9d7aab;font-size:90px;font-weight:300}.java-preview>div{font-size:28px;line-height:1.2}.java-preview em{color:#bd9bc9;font-style:normal}.lab-intro{grid-template-columns:1fr 1fr;gap:90px;margin-bottom:40px;display:grid}.lab-intro h2{font-size:51px}.lab-intro h2 span{color:var(--blue)}.lab-badge{color:var(--blue);align-items:center;gap:8px;margin-top:22px;font-size:10px;display:inline-flex}.lab-intro>div>p+p{margin-top:15px}.lab-console{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.lab-toolbar,.lab-footer{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;font-size:10px;display:flex}.lab-toolbar>span{align-items:center;display:flex}.lab-toolbar .text-button{font-size:10px}.agent-pipeline{align-items:start;gap:5px;padding:35px 20px 25px;display:flex}.agent-pipeline button{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:13px;font-size:10px;display:flex;position:relative}.stage-symbol{border:1px solid var(--line);width:38px;height:38px;font-size:12px;font-family:var(--display);background:var(--bg);border-radius:11px;place-items:center;display:grid}.selected .stage-symbol{background:var(--button);border-color:var(--button);color:var(--button-text)}.agent-pipeline .selected{color:var(--blue)}.complete .stage-symbol{color:var(--cyan);border-color:#406e72}.stage-arrow{color:#647089;position:absolute;top:12px;left:calc(100% - 8px)}.stage-detail{grid-template-columns:1.4fr 1fr;gap:50px;min-height:245px;padding:35px 38px 40px;display:grid}.stage-detail h3{margin:9px 0 12px;font-size:24px}.stage-detail p{font-size:12px}.agent-output{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-self:center;min-height:115px;padding:25px}.agent-output>span:first-child{letter-spacing:.13em;color:var(--muted);margin-bottom:14px;font-size:8px;display:block}.agent-output code{color:var(--cyan);font:11px/1.8 Consolas,monospace}.output-cursor{background:var(--cyan);vertical-align:middle;width:6px;height:12px;margin-left:8px;display:inline-block}.lab-footer{border-bottom:0;border-top:1px solid var(--line);padding:10px 24px;font-size:9px}.separator{margin-inline:10px}.terminal-section{grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;display:grid}.terminal-section>div:first-child>p{margin:20px 0;font-size:13px}.terminal-section>div:first-child>span{font-size:10px}.terminal-section h2{font-size:35px}.terminal{color:#e3e9f4;background:#0d131e;border:1px solid #303b4d;border-radius:11px;min-width:0;overflow:hidden}.terminal-title{color:#a8b6cb;background:#151d2b;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;font:9px Consolas,monospace;display:flex}.terminal-lights{gap:5px;display:flex}.terminal-lights i{background:#87616a;border-radius:50%;width:6px;height:6px}.terminal-lights i:nth-child(2){background:#a09162}.terminal-lights i:nth-child(3){background:#648d77}.terminal-output{overflow-wrap:anywhere;height:230px;padding:23px 22px;font:11px/1.8 Consolas,monospace;overflow:auto}.terminal-entry+.terminal-entry{margin-top:18px}.terminal-command{color:#bbd2ff}.terminal-command>span{color:#80cfb5;margin-right:7px}.terminal-entry p{color:#aebbd0;white-space:pre-wrap;margin-top:9px;font:11px/1.8 Consolas,monospace}.terminal-entry a{color:#d6e1ff;margin-top:10px}.terminal-form{border-top:1px solid #263044;align-items:center;gap:10px;padding:12px 22px;font:12px Consolas,monospace;display:flex}.terminal-form label{color:#80cfb5}.terminal-form input{color:#e3e9f4;background:0 0;border:none;outline:none;width:100%;min-width:0;height:32px}.terminal-form:focus-within{box-shadow:inset 0 -2px var(--blue)}.terminal-form>button{color:#a6bbde;place-items:center;width:35px;height:35px;display:grid}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:30px;margin-top:85px;padding:28px 0;font-size:9px;display:flex}.modal{border:1px solid var(--line);background:var(--surface);width:min(570px,100% - 32px);max-width:100%;max-height:85dvh;color:var(--text);border-radius:14px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 90px #0007}.modal.wide{width:min(850px,100% - 32px)}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040711c9}.case-body{padding:32px}.case-body>span{font-size:11px}.case-body h2{margin:12px 0 8px;font-size:39px}.case-body h3{margin:25px 0 9px;font-size:20px}.case-body p{font-size:13px}.case-grid{grid-template-columns:1fr 1fr;gap:5px 35px;display:grid}.case-body>.button{margin-top:25px}.flow-diagram{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.flow-diagram>div{align-items:center;gap:10px;display:flex}.flow-diagram>div>span:first-child{border:1px solid var(--line);background:var(--bg);color:var(--blue);border-radius:6px;padding:11px;font-size:11px}.palette-input{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:20px;display:flex}.palette-input input{width:100%;color:var(--text);background:0 0;border:0;outline:none;font-size:14px}.palette-input:focus-within{border-color:var(--blue)}.palette-results{max-height:370px;padding:10px;overflow:auto}.palette-results>button{text-align:left;border-radius:6px;justify-content:space-between;gap:20px;width:100%;padding:13px;font-size:12px;display:flex}.palette-results>button.active{background:var(--surface-2);color:var(--blue)}.palette-results small{color:var(--muted);font-size:10px}.palette-results>p{padding:15px}.palette-footer{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:5px;padding:15px 20px;font-size:9px;display:flex}[data-theme=light] .status-dot{background:#267c56}@media(max-width:1150px){.label-one{left:5%}.label-two{right:-4%}.lab-intro{gap:60px}.terminal-section{gap:40px}.stage-detail{gap:30px}}@media(max-width:900px){.project-visual{height:210px}.visual-node.vn-a{left:10%}.visual-node.vn-b{right:8%}.weather-sun{right:30px}.weather-label{left:25px}.weather-label strong{font-size:30px}.menu-preview{width:80%;padding:20px}.lab-intro{gap:40px}.lab-intro h2{font-size:42px}.agent-pipeline button{font-size:8px}.stage-detail{grid-template-columns:1.2fr 1fr;gap:25px;padding:25px}.stage-detail h3{font-size:22px}.agent-output{padding:18px}.terminal-section{grid-template-columns:.9fr 1.1fr;gap:30px}.terminal-section h2{font-size:29px}footer{gap:20px;font-size:8px}}@media(max-width:650px){html{scroll-padding-top:25px}.icon-button{width:34px;height:38px}.core-fallback>div{width:62%;max-width:260px}.core-fallback>div:nth-child(2){width:55%;max-width:230px}.core-fallback>div:nth-child(3){width:67%;max-width:285px}.project-visual{height:230px}.tags span{font-size:9px}.menu-preview{max-width:270px}.large-copy{font-size:20px;line-height:1.65}.lab-intro{grid-template-columns:1fr;gap:28px;margin-bottom:25px}.lab-intro h2{font-size:42px}.lab-intro>div>p+p{font-size:12px}.lab-toolbar{flex-direction:column;align-items:flex-start;gap:13px;padding:15px;font-size:9px}.agent-pipeline{gap:7px;padding:24px 15px;overflow:auto}.agent-pipeline button{min-width:77px;font-size:8px}.stage-symbol{width:34px;height:34px}.stage-arrow{top:9px;left:calc(100% - 5px)}.stage-detail{grid-template-columns:1fr;gap:20px;min-height:330px;padding:5px 20px 25px}.stage-detail h3{font-size:23px}.stage-detail p{font-size:12px}.agent-output{min-height:90px;padding:18px}.lab-footer{gap:10px;padding:10px 15px;font-size:8px}.terminal-section{grid-template-columns:1fr;gap:28px}.terminal-section h2{font-size:32px}.terminal-output{height:230px}footer{grid-template-columns:1fr auto;gap:15px;margin-top:55px;padding-bottom:75px;font-size:8px;display:grid}footer>span:nth-child(2){grid-area:2/1/auto/-1}.case-body{padding:22px}.case-body h2{font-size:31px}.case-grid{grid-template-columns:1fr;gap:0}.case-body h3{font-size:19px}.case-body p{font-size:12px}.flow-diagram,.flow-diagram>div{gap:7px}.flow-diagram>div>span:first-child{padding:9px;font-size:9px}.palette-input{padding:17px}.palette-input input{font-size:12px}.palette-footer{font-size:8px;line-height:1.7}.palette-results>button{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.project-visual,#terminal,#lab,.scroll-progress{display:none!important}body{color:#000;background:#fff}p{color:#333}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-ease{syntax:"*";inherits:false}:root{--bg: #101014;--surface: #19191f;--surface-2: #24242d;--text: #f4f1eb;--muted: #a7a5b3;--line: #303039;--blue: #b9adff;--button: #c5baff;--button-text: #20173e;--cyan: #a9dcc6;background:var(--bg)}:root[data-theme=light]{--bg: #f7f4ee;--surface: #eeebe6;--surface-2: #e5e0eb;--text: #23202c;--muted: #625d6c;--line: #d7d1da;--blue: #6950a4;--button: #634795;--button-text: #fff;--cyan: #2f6b56;background:var(--bg)}.personal-page{overflow:clip}.personal-shell{width:min(1190px,calc(100% - 100px));margin-inline:auto}.personal-section{padding-block:100px}.personal-page h2{font-size:clamp(36px,4.2vw,57px);line-height:1.12;letter-spacing:-.04em}.personal-page h2>span{color:var(--blue)}.personal-page p{font-size:14px;line-height:1.85}.personal-page .button{font-size:12px;border-radius:9px;min-height:49px;padding:15px 22px}.personal-page .primary:hover{background:#d6cdff;color:#241941;transform:translateY(-3px)}.personal-header{height:95px;width:min(1320px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10}.personal-logo{font-family:var(--display);font-size:27px;letter-spacing:-.04em;font-weight:600;display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}.developer-mark{width:74px;height:44px;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.developer-brackets{stroke:var(--blue)}.developer-slash{stroke:var(--text)}.developer-cursor{stroke:var(--blue);transition:transform .2s ease}.personal-logo:hover .developer-mark{transform:translateY(-1px)}.personal-logo:hover .developer-cursor{transform:translate(2px)}.personal-logo span{color:var(--blue)}.personal-nav{display:flex;gap:32px;font-size:12px}.personal-nav a{display:flex;align-items:center;gap:5px}.personal-nav a svg{color:var(--blue)}.personal-controls{display:flex;align-items:center;gap:7px}.quick-toggle{font-size:10px;display:flex;align-items:center;gap:10px;margin-right:10px;color:var(--muted)}.mini-switch{display:block;width:27px;height:16px;background:var(--surface-2);border:1px solid #6b6577;border-radius:20px;position:relative}.mini-switch:before{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:#c3bdce;border-radius:50%;transition:transform .2s}.quick-toggle.active .mini-switch{background:var(--blue)}.quick-toggle.active .mini-switch:before{transform:translate(11px);background:var(--bg)}.personal-menu,.personal-mobile-nav{display:none}.personal-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-top:53px;position:relative}.personal-intro{padding-block:15px 55px;position:relative;z-index:2}.hello-line{font-size:21px;font-family:var(--display);display:flex;align-items:center;gap:16px;margin-bottom:14px}.hello-hand{font-size:31px;color:var(--blue);display:inline-block;animation:hello-spin 12s ease-in-out infinite}.personal-intro h1{font-family:var(--display);font-size:clamp(66px,7.7vw,107px);font-weight:500;letter-spacing:-.04em;line-height:.98}.personal-intro h1>span{color:var(--blue)}.role-line{display:flex;align-items:center;gap:8px;font-size:19px;font-family:var(--display);margin-top:30px;min-height:29px;white-space:nowrap}.role-prefix{color:var(--muted)}.changing-role{animation:role-enter .45s ease-out}.personal-intro>p{margin-top:22px;color:var(--muted);font-size:14px;line-height:1.85}.personal-intro>p strong{font-weight:500;color:var(--text)}.personal-hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px}.play-link{font-size:12px;display:flex;align-items:center;gap:10px}.play-link>span{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--blue)}.hero-socials{display:flex;gap:22px;align-items:center;color:var(--muted);margin-top:31px}.hero-socials>a{min-width:24px;min-height:30px;display:grid;place-items:center}.hero-socials>span{font-size:10px;display:flex;gap:9px;align-items:center;margin-left:10px}.hero-socials i{width:5px;height:5px;background:#b0d1b1;border-radius:50%}.portrait-stage{height:565px;position:relative;perspective:1100px;isolation:isolate}.portrait-frame{position:absolute;inset:0 22px 38px 26px;border:7px solid #e9e3d9;border-bottom-width:42px;border-radius:14px;overflow:hidden;transform:rotate(4deg) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .3s ease-out;box-shadow:10px 25px 45px #0003;background:#202840}.portrait-frame picture,.portrait-frame img{display:block;width:100%;height:100%}.portrait-frame img{object-fit:cover;object-position:50% 59%;transform:scale(1.18)}.portrait-caption{position:absolute;bottom:-35px;left:10px;right:10px;display:flex;justify-content:space-between;color:#39333b;font-size:8px}.portrait-frame{overflow:visible}.portrait-frame picture{overflow:hidden;border-radius:6px 6px 0 0}.portrait-orbit{position:absolute;inset:40px -20px 65px;border:1px solid #a194bb55;border-radius:50%;transform:rotate(-18deg);z-index:-1}.portrait-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--blue);top:15px;right:93px}.portrait-sticker{position:absolute;display:flex;align-items:center;gap:12px;padding:15px 19px;border-radius:10px;box-shadow:5px 14px 25px #0003;color:#252133;font-size:10px;line-height:1.6;z-index:3}.portrait-sticker strong{font-family:var(--display);font-size:17px;font-weight:500}.portrait-sticker:hover{color:#252133;filter:brightness(1.06)}.sticker-builder{left:-24px;bottom:90px;background:#c7b9f0;transform:rotate(-7deg);animation:sticker-float 6s ease-in-out infinite}.sticker-builder svg{width:31px;height:31px;stroke:#403154;fill:none;stroke-width:1.8}.sticker-curious{right:-23px;top:42px;background:#dbe5af;transform:rotate(9deg);animation:sticker-float 6s ease-in-out -3s infinite}.sticker-curious strong{font-size:20px}.portrait-note{position:absolute;bottom:-3px;right:25px;font-family:Georgia,serif;font-style:italic;font-size:16px;color:var(--muted);transform:rotate(-5deg);display:flex;align-items:center;gap:9px}.portrait-note svg{width:60px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.3;transform:rotate(-65deg)}.hero-footnote{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:60px;padding:23px 0;border-block:1px solid var(--line);margin-top:-15px}.hero-footnote>div{display:flex;align-items:center;gap:18px;max-width:600px;min-height:48px}.hero-footnote p{font-size:12px;line-height:1.7}.thought-star{font-size:35px;color:var(--blue)}.hero-footnote>a{font-size:10px;display:flex;gap:15px;align-items:center;flex-shrink:0;color:var(--muted)}.personal-section-title{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.personal-section-title>p,.personal-section-title>div{max-width:350px}.personal-section-title p{font-size:13px}.personal-section-title .small{font-size:10px;margin-top:8px}.personal-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.personal-project{min-width:0}.personal-project>button{padding:0;text-align:left;width:100%;display:block}.personal-project>button:hover{color:var(--text)}.personal-project .project-visual{height:235px;border-radius:13px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.personal-project>button:hover .project-visual{transform:translateY(-7px) rotate(-1deg)}.personal-project .visual-node{font-size:8px;padding:6px 10px}.personal-project .vn-a{left:12%}.personal-project .vn-b{right:10%}.personal-project .weather-sun{right:25px;width:95px;height:95px;top:40px}.personal-project .weather-label{left:24px}.personal-project .weather-label strong{font-size:30px}.personal-project .menu-preview{width:80%;padding:20px}.personal-project-copy{padding:23px 2px 0}.personal-project-copy>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.personal-project-copy>div>svg{color:var(--blue)}.personal-project-copy h3{font-size:24px;margin:10px 0 12px}.personal-project-copy p{font-size:12px;line-height:1.8}.personal-project-tags{display:flex;gap:12px;margin-top:18px;color:var(--blue);font-size:9px}.work-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:25px}.work-bottom .text-button,.work-bottom .text-link{font-size:11px}.rotate{transform:rotate(180deg)}.personal-about{border-top:1px solid var(--line);display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}.story-copy .story-lead{font-family:var(--display);font-size:23px;color:var(--text);line-height:1.5;margin-top:30px}.story-copy p{margin-top:19px;font-size:13px;max-width:440px}.story-copy .button{margin-top:30px}.story-details{padding-top:4px}.story-details h3{font-size:22px;margin-bottom:23px}.compact-journey>details{border-bottom:1px solid var(--line);padding:19px 0}.compact-journey summary{list-style:none;display:flex;align-items:start;gap:15px;cursor:pointer}.compact-journey summary::-webkit-details-marker,.credential-details summary::-webkit-details-marker{display:none}.journey-dot{width:7px;height:7px;border:1px solid var(--blue);border-radius:50%;margin-top:8px;flex-shrink:0}.compact-journey details[open] .journey-dot{background:var(--blue)}.compact-journey summary>span:nth-child(2){display:flex;flex-direction:column;gap:6px}.compact-journey summary strong{font-size:15px;font-weight:550}.compact-journey summary>span:nth-child(2)>span{font-size:10px;color:var(--muted)}.journey-date{font-size:9px;display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--muted);white-space:nowrap;padding-top:4px}.compact-journey details[open] .journey-date svg{transform:rotate(180deg)}.compact-journey details>p{font-size:11px;margin:15px 0 0 22px;line-height:1.85}.education-note{display:flex;gap:15px;padding-top:20px}.education-note strong{font-weight:550;font-size:13px}.education-note p{font-size:10px;line-height:1.7;margin-top:7px}.compact-skills{margin-top:38px}.compact-skills>h3{margin-bottom:17px}.skill-category-tabs{display:flex;gap:5px;flex-wrap:wrap}.skill-category-tabs button{font-size:9px;padding:8px 9px;min-height:34px;border-radius:5px;border:1px solid transparent;color:var(--muted)}.skill-category-tabs button[aria-pressed=true]{border-color:var(--line);background:var(--surface-2);color:var(--blue)}.toolkit-detail{margin-top:17px;min-height:130px}.toolkit-detail>.small{font-size:9px}.toolkit-detail .tags{margin-top:12px;gap:7px}.toolkit-detail .tags span{font-size:10px;border-color:var(--line)}.playground-section{background:var(--surface);border-block:1px solid var(--line)}.playground-tabs{display:flex;gap:6px;margin-bottom:22px}.playground-tabs button{padding:12px 18px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;border-radius:8px;border:1px solid transparent}.playground-tabs [aria-selected=true]{color:var(--text);background:var(--bg);border-color:var(--line)}.playground-tabs button:hover{color:var(--blue)}.playground-panel{min-height:400px}.playground-loading{height:400px;display:grid;place-items:center;color:var(--muted);font-size:13px}.bug-game{border:1px solid var(--line);background:var(--bg);border-radius:14px;overflow:hidden}.game-top{border-bottom:1px solid var(--line);padding:18px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.game-top>span{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.07em;color:var(--blue)}.game-top>div{display:flex;gap:25px;font:9px Consolas,monospace;color:var(--muted)}.game-top strong{font-size:14px;color:var(--text);font-weight:400;margin-left:8px;font-variant-numeric:tabular-nums}.game-start{display:flex;align-items:center;justify-content:center;gap:100px;padding:53px 35px 58px;min-height:360px}.game-start h3{font-size:38px;line-height:1.12}.game-start p{font-size:12px;margin-top:17px}.game-rules{display:flex;gap:18px;font-size:9px;color:var(--cyan);margin-top:18px}.game-start .button{margin-top:24px;font-size:11px;padding:12px 20px;min-height:43px}.bug-mascot{position:relative;width:150px;height:150px;background:#dce5ad;border-radius:32px;transform:rotate(-10deg);display:grid;place-items:center;color:#323b25;animation:bug-float 5s ease-in-out infinite;box-shadow:10px 20px 30px #0002}.bug-mascot>i{position:absolute;inset:-22px;border:1px dashed #adc38d55;border-radius:48px}.bug-mascot>i:last-child{inset:-50px;border-style:solid;opacity:.4;border-radius:70px}.game-bottom{border-top:1px solid var(--line);padding:14px 25px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px;min-height:47px}.game-bottom .text-button{font-size:10px}.game-round{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:32px;min-height:360px}.puzzle-code{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden;align-self:start}.puzzle-code>div:first-child{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:9px;border-bottom:1px solid var(--line);color:var(--muted)}.puzzle-code pre{font:12px/1.9 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:20px;color:var(--blue)}.test-output{padding:14px 17px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.test-output>span{font-size:8px;color:var(--muted);display:flex;gap:15px;align-items:baseline}.test-output code{font:10px/1.6 Consolas,monospace;color:var(--text);overflow-wrap:anywhere}.puzzle-answer h3{font-size:25px;line-height:1.2}.puzzle-answer>p{font-size:12px;margin:12px 0 18px}.answer-options{display:flex;flex-direction:column;gap:8px}.answer-options button{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);background:var(--surface);border-radius:7px;text-align:left;min-height:43px}.answer-options button>span{font:10px Consolas,monospace;color:var(--muted)}.answer-options code{font:11px/1.6 Consolas,monospace;overflow-wrap:anywhere}.answer-options button>svg{margin-left:auto;color:var(--cyan)}.answer-options button:hover:not(:disabled){border-color:var(--blue);background:var(--surface-2)}.answer-options .correct{border-color:#729e80;background:#1a3020;color:#c7eacb}.answer-options .incorrect{border-color:#b67979;background:#3b2229;color:#f6c1c1}.answer-options button:disabled:not(.correct):not(.incorrect){opacity:.55}.hint-row{margin-top:18px}.hint-row .text-button{font-size:10px}.hint-row p{font-size:11px;margin-top:12px}.answer-feedback{margin-top:18px}.answer-feedback>strong{font-size:13px;color:var(--cyan)}.answer-feedback p{font-size:11px;line-height:1.7;margin-top:8px}.answer-feedback .text-button{font-size:11px;margin-top:13px}.game-finished{padding:38px 25px 45px;text-align:center;min-height:350px}.game-finished>svg{color:var(--blue);margin-inline:auto}.game-finished h3{font-size:30px;margin-top:18px}.game-finished>strong{font-family:var(--display);font-size:50px;display:block;margin:15px 0;color:var(--blue)}.game-finished>strong span{font-size:22px;color:var(--muted)}.game-finished p{font-size:12px}.game-finished .button{margin-top:20px}.playground-panel .terminal{min-height:400px}.playground-panel .terminal-output{height:295px}.playground-panel .lab-console{background:var(--bg)}.orbit-play{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:35px 50px;min-height:400px}.orbit-play h3{font-size:32px}.orbit-play p{font-size:12px;margin-top:18px}.orbit-play .button{margin-top:23px;font-size:11px}.orbit-play .button:disabled{opacity:.6}.orbit-toy{height:320px;position:relative}.orbit-message{padding:25px;align-self:center}.personal-award{display:grid;grid-template-columns:.95fr 1.05fr;gap:110px;align-items:center}.award-photo-button{padding:10px 10px 0;background:#e8e1d6;border-radius:12px;transform:rotate(-3deg);box-shadow:10px 20px 35px #0002;color:#39313f;text-align:left;transition:transform .35s}.award-photo-button:hover{color:#39313f;transform:rotate(0)}.award-photo-button picture{display:block;height:420px;overflow:hidden;border-radius:5px}.award-photo-button img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.award-photo-button>span{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 10px;font:italic 16px Georgia,serif}.award-story h2{font-size:51px}.award-label{display:flex;align-items:center;gap:14px;margin-top:29px;color:var(--blue);font-size:16px;font-family:var(--display)}.award-label strong{display:block;font-family:Manrope Variable,sans-serif;font-size:10px;font-weight:400;color:var(--muted);margin-top:7px}.award-story>p{font-size:13px;margin-top:21px;max-width:430px}.credential-details{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.credential-details summary{display:flex;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-size:12px;color:var(--blue)}.credential-details[open] summary>svg{transform:rotate(180deg)}.credential-details ul{padding:0;list-style:none;margin:20px 0}.credential-details li{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.7;margin-bottom:13px}.credential-details li>svg{color:var(--blue);margin-top:2px}.credential-details>p{font-size:10px}.award-lightbox{width:100%;height:auto;display:block}.personal-contact{padding:80px 0 0;background:var(--surface);border-top:1px solid var(--line)}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-heading h2{font-size:clamp(43px,5.3vw,76px);line-height:1.1}.contact-heading p{font-size:13px;margin-top:22px}.big-contact-arrow{width:140px;height:140px;border-radius:50%;border:1px solid var(--blue);display:grid;place-items:center;color:var(--blue);transform:rotate(-8deg)}.big-contact-arrow:hover{color:var(--button-text);background:var(--button);transform:rotate(0)}.personal-email{display:flex;align-items:center;gap:14px;margin-top:38px}.personal-email>a{font-size:23px;letter-spacing:-.015em}.personal-email .small{font-size:10px;color:var(--blue)}.contact-lower{display:flex;justify-content:space-between;gap:30px;margin-top:25px}.contact-lower>div{display:flex;align-items:center;gap:30px}.contact-lower a{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.personal-footer{margin-top:65px;padding:25px 0;font-size:9px}.personal-footer>span:nth-child(2){display:flex;align-items:center;gap:7px}.personal-footer svg{color:var(--blue)}.footer-shortcut{display:flex;align-items:center;gap:5px}.footer-shortcut button{border:1px solid var(--line);border-radius:4px;padding:4px 6px;min-height:27px}.palette-launch{position:fixed;right:23px;bottom:23px;z-index:30;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:10px;box-shadow:0 8px 18px #0002}.quick-summary{padding:30px 0 45px;border-bottom:1px solid var(--line)}.quick-summary h2{font-size:30px}.quick-summary>p{max-width:850px;margin-top:15px}.quick-summary .button{margin-top:20px}.quick-summary .text-link{margin-left:25px}.quick-view .portrait-stage,.quick-view .hero-footnote,.quick-view .play-link,.quick-view #playground{display:none}.quick-view .personal-hero{display:block;padding-top:20px}.quick-view .personal-intro{padding-bottom:30px}.quick-view .personal-intro h1{font-size:55px}.quick-view .personal-intro h1 br{display:none}.quick-view .personal-intro h1 span:before{content:" "}.quick-view .hello-line{display:none}.quick-view .role-line{margin-top:20px}.quick-view .personal-intro>p{margin-top:15px}.quick-view .personal-section{padding-block:50px}.quick-view .personal-project .project-visual{display:none}.quick-view .personal-project{border:1px solid var(--line);border-radius:10px;padding:20px}.quick-view .personal-project-copy{padding:0}.quick-view .personal-award{gap:60px;grid-template-columns:.6fr 1fr}.quick-view .award-photo-button picture{height:240px}.quick-view .personal-section-title h2,.quick-view .story-copy h2,.quick-view .award-story h2{font-size:36px}.quick-view .personal-section-title h2 br{display:none}.quick-view .personal-section-title h2 span:before{content:" "}.quick-view .personal-about{gap:70px}.quick-view .story-copy .story-lead{margin-top:20px}.quick-view .personal-nav>a[href="#playground"]{display:none}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important}[data-motion=off] .portrait-frame{transform:rotate(4deg)!important}[data-theme=light] .portrait-orbit{border-color:#9e92ac66}[data-theme=light] .hero-socials i{background:#3f7c53}@keyframes hello-spin{0%,70%,to{transform:rotate(0)}85%{transform:rotate(180deg)}}@keyframes role-enter{0%{transform:translateY(8px);filter:blur(3px)}to{transform:translateY(0);filter:blur(0)}}@keyframes sticker-float{0%,to{translate:0 0}50%{translate:0 -9px}}@keyframes bug-float{0%,to{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-8px)}}@media(max-width:1100px){.personal-shell{width:calc(100% - 80px)}.personal-header{width:calc(100% - 60px);gap:20px}.personal-nav{gap:22px;font-size:11px}.personal-hero{gap:35px;padding-top:40px}.personal-intro h1{font-size:86px}.portrait-stage{height:500px}.portrait-frame{inset:0 15px 35px}.portrait-sticker{padding:12px 15px}.sticker-builder{left:-15px}.sticker-curious{right:-10px}.portrait-sticker strong{font-size:15px}.portrait-sticker>span{font-size:9px}.role-line{font-size:17px}.personal-project-grid{gap:20px}.personal-project .project-visual{height:205px}.personal-project-copy h3{font-size:22px}.personal-about{gap:60px}.personal-award{gap:65px}.award-photo-button picture{height:390px}.game-start{gap:80px}.personal-hero-actions{gap:18px}.personal-page .button{padding:14px 18px;font-size:11px}.play-link{font-size:11px}.personal-email>a{font-size:22px}}@media(max-width:850px){.personal-shell{width:calc(100% - 48px)}.personal-header{width:calc(100% - 48px);height:80px}.personal-nav{display:none}.personal-menu{display:inline-flex}.personal-mobile-nav{display:flex;position:absolute;top:72px;right:0;left:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 20px;flex-direction:column}.personal-mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:14px}.personal-hero{gap:28px;padding-top:35px}.personal-intro h1{font-size:70px}.hello-line{font-size:18px}.role-line{font-size:15px;margin-top:25px}.personal-intro>p{font-size:12px}.portrait-stage{height:445px}.portrait-frame{inset:15px 10px 30px}.sticker-curious{right:-8px;top:35px;padding:9px;gap:7px}.sticker-curious>svg:last-child{display:none}.sticker-curious strong{font-size:15px}.sticker-builder{left:-5px;bottom:70px;padding:10px;gap:8px}.sticker-builder svg{width:25px;height:25px}.portrait-note{font-size:12px;right:0}.portrait-note svg{width:40px}.personal-hero-actions{gap:14px}.personal-hero-actions .button{font-size:10px;padding:12px 14px;gap:10px}.play-link{font-size:10px;gap:7px}.play-link>span{width:26px;height:26px}.hero-socials{gap:18px;margin-top:25px}.hero-footnote{gap:30px;margin-top:-10px}.hero-footnote p{font-size:10px}.hero-footnote>a{font-size:9px}.personal-section{padding-block:70px}.personal-section-title{gap:30px}.personal-section-title h2{font-size:40px}.personal-section-title>p,.personal-section-title>div{max-width:260px}.personal-section-title p{font-size:11px}.personal-project-grid{gap:18px}.personal-project .project-visual{height:180px}.personal-project-copy h3{font-size:20px}.personal-project-copy p{font-size:11px}.personal-project-copy>div:first-child{font-size:8px}.personal-project-tags{gap:7px;font-size:8px}.personal-project .menu-preview{padding:13px;width:85%}.personal-project .meal-line{gap:7px}.personal-project .meal-line strong{font-size:7px}.personal-project .meal-line small{font-size:5px}.personal-project .weather-label{left:16px;top:25px}.personal-project .weather-label strong{font-size:24px}.personal-project .weather-sun{width:70px;height:70px;right:13px}.personal-project .weather-label>div{font-size:5px}.personal-project .visual-node{font-size:6px;padding:5px}.personal-project .cloud-mark{width:65px;height:65px;border-radius:16px}.personal-project .cloud-mark svg{width:30px}.personal-project .illustration-label{font-size:5px;left:10px}.personal-about{gap:40px}.story-copy h2{font-size:41px}.story-copy .story-lead{font-size:21px}.story-copy p{font-size:12px}.compact-journey summary{gap:10px}.journey-date{font-size:8px;gap:5px}.compact-journey summary strong{font-size:13px}.compact-journey summary>span:nth-child(2)>span{font-size:9px}.compact-journey details>p{font-size:10px;margin-left:17px}.story-details h3{font-size:21px}.personal-award{gap:45px}.award-photo-button picture{height:350px}.award-story h2{font-size:42px}.award-photo-button>span{font-size:13px}.award-label{font-size:14px}.award-story>p{font-size:12px}.game-round{padding:25px;gap:25px}.puzzle-code pre{font-size:10px;padding:16px}.puzzle-answer h3{font-size:22px}.answer-options code{font-size:10px}.game-start{gap:70px;padding:45px 25px}.bug-mascot{width:115px;height:115px}.bug-mascot>svg{width:45px}.game-start h3{font-size:32px}.game-start p{font-size:11px}.game-top{padding-inline:20px}.contact-heading h2{font-size:55px}.big-contact-arrow{width:110px;height:110px}.big-contact-arrow svg{width:55px}.orbit-play{padding:25px 30px}.orbit-play h3{font-size:27px}.orbit-play p{font-size:11px}.orbit-toy{height:280px}}@media(max-width:600px){.personal-shell{width:calc(100% - 40px)}.personal-header{width:calc(100% - 40px);height:75px;gap:14px}.personal-logo{font-size:25px}.personal-controls{gap:2px}.quick-toggle{font-size:8px;gap:6px;margin-right:4px;max-width:90px;text-align:left;line-height:1.5}.mini-switch{flex-shrink:0;width:24px;height:15px}.mini-switch:before{top:2px}.quick-toggle.active .mini-switch:before{transform:translate(8px)}.personal-controls .icon-button{width:31px}.motion-control{display:none}.personal-hero{display:flex;flex-direction:column;gap:0;padding-top:25px;align-items:stretch}.personal-intro{padding:0;z-index:2}.hello-line{font-size:17px;margin-bottom:14px;gap:12px}.hello-hand{font-size:25px}.personal-intro h1{font-size:clamp(62px,16vw,88px);line-height:.99;letter-spacing:-.04em}.role-line{font-size:16px;margin-top:21px;gap:7px}.personal-intro>p{font-size:12px;margin-top:15px;line-height:1.85}.personal-intro .desktop-break{display:none}.personal-hero-actions{margin-top:23px;gap:23px}.personal-hero-actions .button{font-size:11px;padding:13px 17px;min-height:46px;gap:12px}.play-link{font-size:11px;gap:9px}.play-link>span{width:29px;height:29px}.hero-socials{margin-top:20px;gap:20px}.hero-socials>span{font-size:9px}.portrait-stage{width:calc(100% - 25px);max-width:370px;height:420px;margin:35px auto 0}.portrait-frame{inset:0 15px 36px 10px;border-width:6px;border-bottom-width:34px;border-radius:11px}.portrait-frame img{object-position:50% 60%;transform:scale(1.13)}.portrait-caption{font-size:7px;bottom:-27px;left:7px;right:7px}.portrait-orbit{inset:27px -5px 65px}.portrait-sticker{gap:9px;border-radius:8px}.sticker-builder{left:-9px;bottom:80px;padding:12px 14px}.sticker-builder strong{font-size:16px}.sticker-builder svg{width:27px;height:27px}.sticker-curious{right:-6px;top:20px;padding:11px 13px}.sticker-curious strong{font-size:17px}.portrait-note{font-size:13px;bottom:0;right:3px}.portrait-note svg{width:45px}.hero-footnote{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:20px;padding:20px 0}.hero-footnote>div{gap:12px;min-height:50px}.hero-footnote p{font-size:11px}.thought-star{font-size:28px}.hero-footnote>a{align-self:flex-end;font-size:9px}.personal-section{padding-block:58px}.personal-section-title{display:block;margin-bottom:28px}.personal-section-title h2{font-size:36px}.personal-section-title>p,.personal-section-title>div{margin-top:19px;max-width:none}.personal-section-title p{font-size:12px;line-height:1.7}.personal-section-title .small{font-size:10px;margin-top:7px}.personal-project-grid{grid-template-columns:1fr;gap:35px}.personal-project .project-visual{height:220px}.personal-project-copy{padding:20px 1px 0}.personal-project-copy h3{font-size:25px;margin-top:9px}.personal-project-copy p{font-size:12px}.personal-project-copy>div:first-child{font-size:9px}.personal-project-tags{font-size:10px;gap:15px;margin-top:16px}.personal-project .cloud-mark{width:85px;height:85px;border-radius:20px}.personal-project .cloud-mark svg{width:35px}.personal-project .visual-node{font-size:9px;padding:7px 11px}.personal-project .vn-a{left:16%}.personal-project .vn-b{right:13%}.personal-project .menu-preview{width:75%;padding:20px;max-width:280px}.personal-project .meal-line strong{font-size:9px}.personal-project .meal-line small{font-size:6px}.personal-project .weather-label{left:28px;top:30px}.personal-project .weather-label strong{font-size:32px}.personal-project .weather-sun{width:110px;height:110px;right:38px;top:35px}.personal-project .weather-label>div{font-size:6px}.personal-project .illustration-label{font-size:6px;left:14px}.work-bottom{margin-top:29px;gap:15px;align-items:start}.work-bottom .text-link,.work-bottom .text-button{font-size:10px;gap:7px}.work-bottom .text-link>svg:first-child{display:none}.personal-about{grid-template-columns:1fr;gap:43px}.story-copy h2{font-size:37px}.story-copy .story-lead{font-size:23px;margin-top:25px}.story-copy p{font-size:13px;margin-top:17px}.story-copy .button{margin-top:23px;font-size:11px}.story-details{padding-top:0}.story-details h3{font-size:23px}.compact-journey summary{gap:12px}.compact-journey summary strong{font-size:14px}.compact-journey summary>span:nth-child(2)>span{font-size:10px}.journey-date{font-size:8px;padding-top:5px}.compact-journey details>p{font-size:11px;margin-left:19px}.compact-journey>details{padding:18px 0}.education-note{gap:12px}.education-note p{font-size:10px}.compact-skills{margin-top:30px}.skill-category-tabs button{font-size:10px;padding:8px 10px;min-height:36px}.toolkit-detail{min-height:120px}.toolkit-detail>.small{font-size:10px}.playground-tabs{gap:2px;margin-bottom:17px}.playground-tabs button{font-size:9px;gap:5px;padding:10px 8px;flex:1;justify-content:center;white-space:nowrap}.playground-tabs button svg{width:14px}.game-top{padding:15px;gap:12px}.game-top>span{font-size:9px;gap:6px}.game-top>div{font-size:8px;gap:14px}.game-top strong{font-size:12px;margin-left:5px}.game-start{flex-direction:column;gap:45px;text-align:center;padding:50px 20px 32px;min-height:460px}.bug-mascot{width:90px;height:90px;border-radius:23px}.bug-mascot>svg{width:42px}.bug-mascot>i{inset:-16px;border-radius:35px}.bug-mascot>i:last-child{inset:-30px;border-radius:47px}.game-start h3{font-size:33px}.game-start p{font-size:12px;margin-top:15px}.game-rules{justify-content:center;font-size:9px}.game-start .button{margin-top:20px;font-size:11px}.game-bottom{font-size:8px;padding:13px 15px;gap:10px}.game-bottom .text-button{font-size:9px}.game-round{grid-template-columns:1fr;padding:18px;gap:24px}.puzzle-code pre{font-size:11px;padding:16px;line-height:1.8}.puzzle-answer h3{font-size:23px}.puzzle-answer>p{font-size:12px}.answer-options code{font-size:10px}.answer-options button{min-height:46px;gap:10px;padding:12px 10px}.test-output code{font-size:9px}.test-output>span{font-size:7px;gap:12px}.hint-row{margin-top:17px}.answer-feedback p{font-size:12px}.answer-feedback>strong{font-size:14px}.game-finished h3{font-size:27px}.game-finished>strong{font-size:46px}.playground-panel .terminal-output{height:280px}.playground-panel .terminal{min-height:380px}.playground-panel .lab-console{min-height:400px}.orbit-play{grid-template-columns:1fr;padding:26px 24px 0;gap:0}.orbit-play h3{font-size:27px}.orbit-play p{font-size:12px;margin-top:14px}.orbit-play .button{font-size:10px;min-height:42px;padding:12px 15px;margin-top:20px}.orbit-toy{height:280px}.personal-award{display:flex;flex-direction:column-reverse;gap:35px}.award-story h2{font-size:39px}.award-label{font-size:16px;margin-top:25px}.award-label strong{font-size:10px}.award-story>p{font-size:13px}.credential-details{margin-top:22px;padding-top:18px}.credential-details summary{font-size:12px}.award-photo-button{width:calc(100% - 20px);padding:8px 8px 0;margin-inline:auto}.award-photo-button picture{height:auto;aspect-ratio:1.02}.award-photo-button img{object-position:50% 55%}.award-photo-button>span{font-size:14px;padding:16px 7px}.personal-contact{padding-top:55px}.contact-heading{gap:20px;align-items:start}.contact-heading h2{font-size:39px;max-width:310px}.contact-heading p{font-size:12px;margin-top:20px}.big-contact-arrow{display:none}.personal-email{gap:8px;margin-top:27px;flex-wrap:wrap}.personal-email>a{font-size:clamp(12px,3.75vw,18px);letter-spacing:-.02em}.personal-email>.small{width:100%;min-height:5px}.contact-lower{gap:22px;margin-top:20px;align-items:flex-start}.contact-lower>div{gap:15px;flex-wrap:wrap;max-width:250px}.contact-lower a{font-size:10px;gap:5px}.contact-lower>a{white-space:nowrap}.contact-lower .text-link{font-size:10px}.personal-footer{display:flex;flex-wrap:wrap;font-size:8px;gap:14px;margin-top:40px;padding:23px 0 70px}.personal-footer>span:nth-child(2){order:3;width:100%;gap:7px}.personal-footer>span:last-child{margin-left:auto}.palette-launch{right:15px;bottom:15px;padding:10px;font-size:9px}.quick-view .personal-intro h1{font-size:37px}.quick-view .personal-intro h1 br{display:block}.quick-view .personal-intro h1 span:before{content:""}.quick-view .personal-intro{padding-bottom:25px}.quick-view .personal-section{padding-block:35px}.quick-summary h2{font-size:27px}.quick-summary p{font-size:12px}.quick-summary .text-link{margin-left:20px;font-size:11px}.quick-view .personal-about{gap:35px}.quick-view .personal-award{gap:30px}.quick-view .award-photo-button{max-width:300px}.quick-view .personal-section-title h2{font-size:30px}.quick-view .personal-project-grid{gap:15px}.quick-view .personal-project{padding:20px}.quick-view .personal-project-copy h3{font-size:23px}.quick-view .personal-section-title>p{margin-top:14px}}@media(prefers-reduced-motion:reduce){.portrait-frame{transform:rotate(4deg)!important}.personal-page *{animation:none!important;transition:none!important}}.personal-intro h1>.hello-line{color:var(--text);letter-spacing:0;line-height:1.5}.mobile-motion-control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;border-top:1px solid var(--line);font-size:13px;text-align:left;color:var(--blue)}.mobile-motion-control:disabled{color:var(--muted)}.project-title-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;text-align:left;width:100%;font:inherit;letter-spacing:inherit;color:var(--text)}.project-title-button svg{color:var(--blue)}.personal-project:hover .project-visual{transform:translateY(-5px) rotate(-1deg)}.role-rotator{display:inline-grid;color:var(--blue)}.rotating-role{grid-area:1 / 1;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .4s ease,transform .4s ease,visibility .4s}.rotating-role.is-current{opacity:1;visibility:visible;transform:translateY(0)}.project-shell{isolation:isolate}.project-shell:before{content:"";position:absolute;inset:-10px;border-radius:18px;pointer-events:none;z-index:-1;background:radial-gradient(240px circle at var(--spot-x, 50%) var(--spot-y, 25%),color-mix(in srgb,var(--blue) 12%,transparent),transparent 85%);opacity:0;transition:opacity .25s ease}.project-shell:hover:before,.project-shell:focus-within:before{opacity:1}.project-preview{position:relative}.project-preview-button{position:absolute;inset:0;display:block;width:100%;padding:0;border-radius:13px;text-align:left}.preview-cue{position:absolute;right:14px;bottom:28px;display:inline-flex;gap:8px;align-items:center;padding:9px 12px;background:var(--button);color:var(--button-text);border-radius:7px;font-size:11px;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.project-preview-button:hover .preview-cue,.project-preview-button:focus-visible .preview-cue{opacity:1;transform:translateY(0)}.project-preview :is(.cloud-mark,.weather-sun,.menu-preview){transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-preview:hover .cloud-mark,.project-preview:focus-within .cloud-mark{transform:rotate(-4deg) scale(1.04)}.project-preview:hover .weather-sun,.project-preview:focus-within .weather-sun{transform:translate(-4px,-3px) scale(1.06)}.project-preview:hover .menu-preview,.project-preview:focus-within .menu-preview{transform:rotate(-2deg) translateY(-3px)}@media(hover:none){.preview-cue{opacity:1;transform:none}}[data-motion=off] .rotating-role{transition:none}[data-motion=off] .project-preview :is(.project-visual,.cloud-mark,.weather-sun,.menu-preview){transition:none;transform:none}@media(prefers-reduced-motion:reduce){.rotating-role{transition:none}.project-preview :is(.project-visual,.cloud-mark,.weather-sun,.menu-preview){transform:none}}.personal-header{position:sticky;top:0;height:78px;background:var(--bg);transition:background-color .25s,box-shadow .25s}.personal-header[data-scrolled]{box-shadow:0 12px 24px -20px #0009}.personal-nav a{min-height:44px;color:var(--muted);position:relative}.personal-nav a:hover,.personal-nav a[aria-current]{color:var(--text)}.personal-nav a[aria-current]:after{content:"";position:absolute;bottom:3px;left:0;width:18px;height:2px;background:var(--blue);border-radius:2px}.personal-controls .icon-button,.quick-toggle{min-height:44px}.personal-hero{padding-top:24px;gap:32px 48px}.personal-intro{padding-block:0 24px}.personal-intro h1{font-size:clamp(66px,6.7vw,96px)}.hello-line{font-size:18px;margin-bottom:10px}.role-line{margin-top:20px;font-size:16px;gap:12px;flex-wrap:wrap;white-space:normal}.role-prefix{color:var(--text);font-weight:550}.changing-role{color:var(--blue)}.personal-intro>p{margin-top:16px;max-width:51ch;font-size:13px;line-height:1.8}.availability{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:11px}.availability>span{width:6px;height:6px;background:#86c79f;border-radius:50%}.personal-hero-actions{gap:12px;margin-top:22px;flex-wrap:wrap}.hero-socials{margin-top:20px;gap:15px}.hero-socials>a{min-width:36px;min-height:36px;border-radius:7px}.hero-socials>a:hover{background:var(--surface-2)}.portrait-stage{height:480px}.portrait-frame{transform:rotate(3deg) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));box-shadow:9px 20px 35px #0003}.sticker-builder{left:-10px;bottom:60px}.sticker-curious{right:-10px;top:20px}.hero-footnote{padding-block:15px;margin-top:0}.hero-footnote>div{min-height:40px}.personal-hero-actions .button:active{transform:translateY(1px)}.project-source-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;min-height:36px;color:var(--blue);font-size:11px}.project-shell{position:relative;padding:0 0 8px;border-radius:13px}.project-title-button{min-height:36px}.project-shell:focus-within{outline:1px solid var(--line);outline-offset:10px}.recruiter-highlights{margin-top:24px;display:flex;gap:13px;align-items:center;color:var(--blue)}.recruiter-highlights p strong,.recruiter-highlights p span{display:block}.recruiter-highlights p strong{font-size:14px;color:var(--text);font-weight:550}.recruiter-highlights p span{font-size:11px}.recruiter-skill-summary{margin-top:20px;max-width:780px}.recruiter-skill-summary>strong{font-size:12px;font-weight:550}.recruiter-skill-summary p{font-size:13px;margin-top:6px}.quick-view main{display:flex;flex-direction:column}.quick-view #home{order:-4}.quick-view .quick-summary{order:-3}.quick-view #about{order:-2}.quick-view #work{order:-1}.quick-view .story-copy>p{display:none}.quick-view .story-copy .button{margin-top:22px}.quick-view .quick-summary .text-link{margin-top:16px}.quick-view .portrait-frame{transform:rotate(3deg)!important}.section-arrived{animation:section-arrive .6s cubic-bezier(.16,1,.3,1)}@keyframes section-arrive{0%{transform:translateY(14px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.personal-page[data-motion=on] .personal-intro{animation:hero-arrive .7s ease-out}.personal-page[data-motion=on] .personal-hero-actions{animation:hero-arrive .8s ease-out}@keyframes hero-arrive{0%{opacity:.85;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}[data-motion=off] .portrait-frame{transform:rotate(3deg)!important}@media(min-width:851px)and (max-height:800px){.personal-header{height:70px}.personal-hero{padding-top:16px;row-gap:18px}.personal-intro h1{font-size:clamp(66px,6.1vw,88px)}.portrait-stage{height:438px}.personal-intro{padding-bottom:12px}.personal-intro>p{font-size:12px}}@media(max-width:850px){.personal-header{height:74px}.personal-hero{gap:26px}.personal-intro h1{font-size:clamp(58px,8.2vw,70px)}.portrait-stage{height:430px}.role-line{flex-direction:column;align-items:flex-start;gap:4px;font-size:15px;min-height:47px}.personal-hero-actions .button{padding:12px;font-size:10px;gap:8px}.personal-mobile-nav a{min-height:44px}.personal-mobile-nav a[aria-current]{color:var(--blue)}}@media(max-width:600px){.personal-header{height:70px}.personal-hero{padding-top:22px;gap:0}.personal-intro h1{font-size:clamp(57px,16vw,82px)}.hello-line{font-size:17px}.personal-intro>p{font-size:13px;line-height:1.8}.personal-intro{padding-bottom:0}.role-line{margin-top:18px}.personal-hero-actions{gap:10px}.personal-hero-actions .button{padding:13px 14px;min-height:46px;font-size:11px}.portrait-stage{height:400px;margin-top:30px}.sticker-builder{left:-6px;bottom:65px}.sticker-curious{right:-4px;top:12px}.hero-footnote{margin-top:18px}.personal-controls .icon-button{min-width:34px}.skill-category-tabs button{min-height:40px}.quick-toggle{min-width:80px}.quick-summary>.text-link{margin-left:16px}}@media(max-width:350px){.personal-shell,.personal-header{width:calc(100% - 32px)}.personal-header{gap:6px}.personal-logo{font-size:23px}.personal-controls{gap:0}.personal-intro h1{font-size:56px}.personal-hero-actions .button{font-size:10px;padding:12px 10px;gap:6px}.hero-socials{gap:10px}.hero-socials>span{margin-left:0}.journey-date{white-space:normal;max-width:88px;text-align:right}.portrait-stage{height:365px}.playground-tabs button{font-size:8px;padding-inline:5px}}@media(prefers-reduced-motion:reduce){.portrait-frame{transform:rotate(3deg)!important}}
