.os-icon-snake{background:linear-gradient(145deg,#c5e895,#77ac58);color:#243b22}.snake-app{flex:1;min-height:0;overflow:auto;container-type:size;padding:20px;background:#17191b;color:#dce8d4;color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.snake-header{max-width:440px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.snake-label{color:#93a88c;font-size:.75rem;letter-spacing:.09em}.snake-header h1{font-family:CP437,ui-monospace,monospace;font-size:2rem;line-height:1;margin-top:6px}.snake-scores{display:flex;gap:22px;text-align:right}.snake-scores dt{font-size:.75rem;color:#9dad98;margin-bottom:3px}.snake-scores dd{color:#cbefa6;font-size:1.4rem;line-height:1.1;font-variant-numeric:tabular-nums}.snake-board{width:min(100%,390px);aspect-ratio:1;position:relative;margin:0 auto;border:1px solid #465540;border-radius:8px;overflow:hidden;box-shadow:0 0 0 5px #20251f}.snake-board:focus-visible{outline-color:#cbefa6;outline-offset:6px}.snake-board svg{display:block;width:100%;height:100%}.snake-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center;background:#0e1912eb}.snake-overlay h2{color:#d9f2ba;font-family:CP437,ui-monospace,monospace;font-size:clamp(2rem,5vw,3rem);line-height:1}.snake-overlay p{max-width:245px;margin:12px 0 20px;color:#b2c3a9;font-size:.875rem;line-height:1.6}.snake-start{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #d0efa9;border-radius:6px;background:#c1e897;color:#22351b;font-size:.875rem;font-weight:650}.snake-start:hover{background:#d4f4af}.snake-controls{max-width:400px;margin:18px auto 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.snake-actions{display:flex;flex-direction:column;gap:6px}.snake-actions button{min-height:40px;display:inline-flex;align-items:center;gap:9px;color:#becbb6;padding:6px 10px;border:1px solid #424a3e;border-radius:6px;font-size:.875rem;background:#22271f}.snake-actions button:hover:not(:disabled),.snake-direction:hover:not(:disabled){background:#34422b;border-color:#9eba87}.snake-app button:disabled{opacity:.4}.snake-app button:focus-visible{outline-color:#cbefa6}.snake-dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.snake-direction{display:flex;align-items:center;justify-content:center;background:#283023;border:1px solid #53604a;color:#d1e3c3;border-radius:7px}.snake-up{grid-column:2}.snake-left{grid-column:1;grid-row:2}.snake-down{grid-column:2;grid-row:2}.snake-right{grid-column:3;grid-row:2}.snake-help{margin:15px auto 0;max-width:440px;text-align:center;color:#9cad93;font-size:.75rem;line-height:1.7}@supports (height: 1cqh){.snake-board{width:min(100%,390px,max(160px,calc(100cqh - 240px)))}}@media(max-width:639px){.snake-app{padding:16px}.snake-header{margin-bottom:16px}.snake-label{letter-spacing:.02em}.snake-scores{gap:12px}.snake-scores dd{font-size:1.125rem}.snake-overlay p{margin:10px 0 12px}.snake-dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}.snake-help{font-size:.75rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-\[1\.4px\]{left:1.4px}.right-24{right:6rem}.z-10{z-index:10}.z-20{z-index:20}.z-\[1\]{z-index:1}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.flex{display:flex}.hidden{display:none}.h-14{height:3.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[80\%\]{height:80%}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.w-14{width:3.5rem}.w-16{width:4rem}.w-24{width:6rem}.w-5{width:1.25rem}.w-\[70\%\]{width:70%}.w-full{width:100%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-scale-x-125{--tw-scale-x: -1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-purple-200\/60{border-color:#e9d5ff99}.border-b-neutral-500{--tw-border-opacity: 1;border-bottom-color:rgb(115 115 115 / var(--tw-border-opacity, 1))}.border-l-neutral-400{--tw-border-opacity: 1;border-left-color:rgb(163 163 163 / var(--tw-border-opacity, 1))}.border-r-neutral-500{--tw-border-opacity: 1;border-right-color:rgb(115 115 115 / var(--tw-border-opacity, 1))}.border-t-gray-300{--tw-border-opacity: 1;border-top-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-purple-300\/20{background-color:#d8b4fe33}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pl-1{padding-left:.25rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pr-1{padding-right:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-linux{font-family:CP437,monospace}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-200{--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-rose-800{--tw-text-opacity: 1;color:rgb(159 18 57 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);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)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));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)}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:CP437;src:url(/assets/PerfectDOSVGA437-DdISv4LV.ttf) format("truetype");font-display:swap}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f1f8;background:#201328;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface: #faf9fc;--ink: #271e31;--muted: #6b6174;--accent: #b43b17;--line: #e7e2eb;--topbar-height: 44px;--dock-width: 76px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid #e65b2b;outline-offset:4px}::-moz-selection{background:#ffdacb;color:#391e20}::selection{background:#ffdacb;color:#391e20}.portfolio-os,.desktop{height:100vh;height:100dvh;overflow:hidden}.desktop{display:flex;flex-direction:column}[data-desktop-root],[data-desktop-topbar],[data-desktop-dock],[data-window-drag-handle]{-moz-user-select:none;user-select:none;-webkit-user-select:none}[data-window-content-selectable]{-moz-user-select:text;user-select:text;-webkit-user-select:text}.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600}.button-primary,.button-secondary{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:44px;padding:.75rem 1.1rem;border-radius:10px;font-size:.875rem;font-weight:600;transition:background .15s,transform .15s}.button-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.button-primary:hover{background:#922f12;transform:translateY(-1px)}.button-secondary{background:#fff;color:var(--ink);border:1px solid #d5cddd}.button-secondary:hover{background:#f1edf5}.boot-screen{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#101015;color:#cccbd3;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.boot-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:12px 28px;border-bottom:1px solid #ffffff12;font-size:.75rem;letter-spacing:.08em;color:#9694a5}.boot-topline>span:first-child{display:flex;align-items:center;gap:10px}.boot-topline svg{color:#df8d6d}.boot-console{width:min(100%,900px);margin-inline:auto;padding:clamp(22px,5vh,54px) 28px;overflow-y:auto;overscroll-behavior:contain}.boot-kicker{color:#aaa6b9;font-size:.875rem;line-height:1.7}.boot-screen h1{font-family:CP437,ui-monospace,monospace;font-size:clamp(2.8rem,6vw,4.7rem);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:#eeedf2;margin:10px 0}.boot-title-dot{color:#d99b7f}.boot-version{color:#8c899c;font-size:.8125rem;margin-bottom:28px}.boot-output{min-height:176px;font-size:.875rem;line-height:22px}.boot-line{display:grid;grid-template-columns:65px 1fr;gap:8px}.boot-line>span:first-child{color:#777384;white-space:nowrap}.boot-line b{color:#91c5a2;font-weight:400}.boot-login{min-height:116px;margin-top:24px;font-size:.875rem;line-height:1.7}.boot-user{color:#91c5a2}.boot-identity{margin:8px 0;color:#e4e1eb}.boot-identity>span{color:#a9a3b8}.boot-cursor{color:#d99b7f;animation:terminal-cursor 1s steps(1) infinite}.boot-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:12px 28px max(12px,env(safe-area-inset-bottom));border-top:1px solid #ffffff12;background:#131219;color:#a9a4b9;font-size:.875rem}.boot-enter{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 16px;border-radius:6px;border:1px solid #655869;color:#f0e8e5;background:#2c222b}.boot-enter:hover{border-color:#d99b7f;background:#3c2c31}@keyframes terminal-cursor{50%{opacity:0}}.topbar{height:var(--topbar-height);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.1rem;background:#1d1427;border-bottom:1px solid #ffffff12;position:relative;z-index:2;font-size:.875rem}.topbar-brand{display:flex;align-items:center;gap:.65rem;background:transparent;min-height:36px;font-weight:650}.topbar-brand svg{color:#ff956f}.topbar-right{display:flex;gap:1.5rem;align-items:center;color:#d6cddd}.topbar-label{font-family:ui-monospace,monospace;color:#a89bb5;font-size:.75rem}.desktop-surface{position:relative;flex:1;min-height:0;isolation:isolate;background:#382046}.desktop-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2}.desktop-wallpaper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.desktop-surface:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#1a142a80,#33184730);pointer-events:none;z-index:-1}.desktop-shortcuts{position:absolute;left:92px;top:22px;right:16px;bottom:16px;display:flex;flex-flow:column wrap;align-content:flex-start;gap:10px;pointer-events:none;z-index:2}.desktop-shortcut{position:relative;width:88px;min-height:90px;flex-shrink:0;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:7px;border-radius:12px;background:transparent;color:#fff;font-size:.875rem;text-shadow:0 1px 4px #0008;pointer-events:auto;touch-action:none;cursor:grab}.desktop-shortcut:hover{background:#ffffff16}.desktop-shortcut[data-dragging=true]{z-index:1;cursor:grabbing;background:#ffffff20}.desktop-signature{position:absolute;right:28px;bottom:22px;text-align:right;pointer-events:none;color:#ffffffb3;font-size:.75rem;line-height:1.8}.desktop-signature strong{display:block;color:#ffffffe0;font-weight:500}.dock{position:fixed;top:var(--topbar-height);bottom:0;left:0;width:var(--dock-width);z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;background:#21162b70;border-right:1px solid #ffffff14;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.dock-apps{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;overflow-y:auto}.dock-button{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:14px;background:transparent;color:#fff;transition:background .15s,transform .15s}.dock-button:hover,.dock-button[data-focused=true]{background:#ffffff1f}.dock-button:hover{transform:translateY(-2px)}.dock-button[data-open=true]:after{content:"";position:absolute;left:0;top:calc(50% - 3px);width:4px;height:6px;border-radius:3px;background:#fd9c72}.dock-home{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:12px}.os-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:25%;box-shadow:inset 0 1px #ffffff50,0 3px 8px #170d2726}.os-icon-browser{background:linear-gradient(145deg,#fd9450,#d94d2b);color:#fff}.os-icon-projects{background:linear-gradient(145deg,#b494ed,#7450b2);color:#fff}.os-icon-files,.os-icon-generic{background:linear-gradient(145deg,#ffd879,#e5a62e);color:#785218}.os-icon-pdf{background:linear-gradient(145deg,#fff,#e5e1ec);color:#bb3b40}.os-icon-github{background:#292331;color:#fff}.os-icon-linkedin{background:#0a66c2;color:#fff}.os-window{position:fixed;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);color:var(--ink);border:1px solid #ffffff30;border-radius:15px;box-shadow:0 30px 90px #150d3260,0 5px 20px #13092430;color-scheme:light}.os-window:focus{outline:none}.window-chrome{min-height:46px;display:flex;align-items:center;background:#2c2236;color:#e4dce9;padding:0 8px 0 16px;flex-shrink:0}.window-drag{flex:1;align-self:stretch;display:flex;align-items:center;gap:9px;font-size:.875rem;min-width:0;cursor:grab;touch-action:none}.window-drag:active{cursor:grabbing}.window-drag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-controls{display:flex;align-items:center;gap:2px}.window-control{width:36px;height:36px;background:transparent;color:#e3dce9;border-radius:9px;display:flex;align-items:center;justify-content:center}.window-control:hover{background:#ffffff18}.window-control-close:hover{background:#c7442c;color:#fff}.browser-toolbar{display:flex;align-items:center;gap:6px;min-height:50px;padding:7px 14px;background:#f0edf4;border-bottom:1px solid var(--line);flex-shrink:0}.toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:#766880;background:transparent}.toolbar-button:hover{background:#e2dce9}.browser-address{display:flex;align-items:center;gap:9px;min-width:0;flex:1;height:33px;padding:0 12px;border:1px solid #e0d9e8;background:#faf9fc;border-radius:8px;color:#75687f;font-family:ui-monospace,monospace;font-size:.75rem}.browser-address span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-content{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}.portfolio-page{min-height:100%;background:var(--surface)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:23px 34px;border-bottom:1px solid var(--line)}.page-header h1{font-size:1.5rem;font-weight:650;letter-spacing:-.035em}.page-header p{font-size:.875rem;color:var(--muted);margin-top:3px}.page-body{padding:28px 34px}.page-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 34px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.welcome-page{overflow:hidden}.welcome-nav{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:25px 34px 0}.welcome-nav .eyebrow{color:#796987}.welcome-nav a{font-size:.875rem;display:inline-flex;gap:6px;align-items:center;color:var(--muted)}.welcome-hero{padding:35px 34px 32px}.welcome-intro{display:flex;gap:9px;align-items:center;font-size:.875rem;color:#75627e;margin-bottom:17px}.welcome-intro svg{color:var(--accent)}.welcome-hero h1{font-size:clamp(2.5rem,4.8vw,4.1rem);font-weight:650;line-height:1.04;letter-spacing:-.065em;margin-bottom:18px}.welcome-hero h1 span{color:#897298;display:block}.welcome-bio{max-width:570px;color:#685d73;font-size:1rem;line-height:1.75}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.work-preview{border-top:1px solid var(--line);padding:24px 34px 28px;background:#f3f0f7}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:17px}.section-heading h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#756482}.text-action{font-size:.875rem;color:#765d87;background:transparent;display:inline-flex;gap:7px;align-items:center;min-height:32px}.text-action:hover{color:var(--accent)}.work-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.work-preview-link{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:17px;border:1px solid #e3dce9;background:#ffffff9c;border-radius:12px;min-width:0}.work-preview-link:hover{border-color:#a88abb;background:#fff}.work-preview-link>svg{color:#9164b2}.work-preview-link strong{font-size:.9375rem;font-weight:600}.work-preview-link span{font-size:.75rem;line-height:1.5;color:var(--muted)}.welcome-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 34px;font-size:.75rem;color:var(--muted)}.social-links{display:flex;gap:18px}.social-links a{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:.875rem}.social-links a:hover{color:var(--accent)}.projects-list{display:flex;flex-direction:column;gap:20px}.project-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:#83728f}.project-number{font:.75rem ui-monospace,monospace}.project-card h2{font-size:1.35rem;font-weight:650;letter-spacing:-.03em;margin-bottom:9px}.project-card p,.project-card li{color:var(--muted);font-size:1rem;line-height:1.7}.project-stack{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.project-stack span{font:.75rem ui-monospace,monospace;color:#766183;background:#f3eff7;padding:5px 9px;border-radius:5px}.project-links{display:flex;justify-content:space-between;align-items:center;gap:1rem}.project-links a{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:.875rem;min-height:36px;font-weight:550}.project-links a:hover{text-decoration:underline}.project-card details{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.project-card summary{cursor:pointer;color:#6c577a;font-size:.875rem;padding:4px 0}.project-card details ul{padding-left:20px;margin-top:10px}.resume-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.resume-note{font-size:.875rem;color:var(--muted);margin-bottom:20px;line-height:1.65}.resume-frame{width:100%;height:70vh;min-height:400px;border:1px solid var(--line);border-radius:10px;background:#fff}.files-layout{display:flex;min-height:0;flex:1}.files-sidebar{width:170px;flex-shrink:0;padding:22px 12px;background:#f0edf4;border-right:1px solid var(--line)}.files-sidebar .eyebrow{color:#877592;margin:0 10px 16px}.files-sidebar button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 10px;border-radius:8px;font-size:.875rem;color:#6a5778;background:transparent;text-align:left}.files-sidebar button:hover,.files-sidebar button[aria-current=page]{background:#e3d9ed;color:#614579}.files-main{flex:1;min-width:0;padding:24px;overflow:auto}.files-main h2{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.files-main>p{margin:7px 0 22px;color:var(--muted);font-size:.875rem}.file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:12px}.file-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:125px;padding:18px 8px;color:#665571;font-size:.875rem}.file-item:hover{background:#f4eef9;border-color:#b9a4cc}.skip-link{position:fixed;left:100px;top:-70px;background:#fff;color:var(--ink);padding:12px 16px;border-radius:0 0 8px 8px;z-index:2147483647}.skip-link:focus{top:0}@media(max-width:639px){:root{--topbar-height: 44px;--dock-width: 0px}.topbar{padding:0 13px}.topbar-label{display:none}.topbar-right{gap:0;font-size:.75rem}.desktop-shortcuts{left:18px;top:16px;right:18px;bottom:calc(90px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,88px);grid-auto-rows:max-content;align-content:start;gap:8px}.desktop-signature{bottom:96px;right:20px}.dock{top:auto;bottom:0;width:100%;height:calc(74px + env(safe-area-inset-bottom,0px));flex-direction:row;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-right:0;border-top:1px solid #ffffff20;gap:6px}.dock-apps{flex-direction:row;justify-content:center;gap:4px;overflow-x:auto;overflow-y:hidden}.dock-button{width:44px;height:48px;border-radius:12px}.dock-button[data-open=true]:after{top:auto;bottom:0;left:calc(50% - 3px);width:6px;height:3px}.dock-home{display:none}.os-window{border-radius:13px}.window-chrome{padding-left:12px}.window-control{width:40px;height:40px}.browser-toolbar{padding:6px 9px;min-height:46px}.welcome-nav{padding:22px 22px 0}.welcome-nav>a{font-size:.75rem}.welcome-hero{padding:26px 22px}.welcome-hero h1{font-size:2.6rem}.welcome-bio{font-size:1rem}.welcome-actions>*{flex:1;white-space:nowrap}.work-preview{padding:21px 22px}.work-preview-grid{grid-template-columns:1fr;gap:9px}.work-preview-link{display:grid;grid-template-columns:24px 1fr;-moz-column-gap:12px;column-gap:12px;row-gap:2px;padding:13px}.work-preview-link>svg{grid-row:span 2;align-self:center}.welcome-footer,.page-footer{padding:16px 22px}.welcome-footer>span{display:none}.page-header{padding:23px 22px}.page-body{padding:22px}.project-card{padding:19px}.project-meta .eyebrow{font-size:.75rem;letter-spacing:.07em}.files-sidebar{width:54px;padding:20px 6px}.files-sidebar .eyebrow,.files-sidebar button span{display:none}.files-sidebar button{justify-content:center;padding:8px}.files-main{padding:20px 15px}.skip-link{left:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.topbar-replay{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border-radius:6px;background:transparent;color:#c8bed2;font-size:.875rem}.topbar-replay:hover{background:#ffffff12;color:#fff}.experience-preview{border-top:1px solid var(--line);padding:24px 34px 28px}.experience-item+.experience-item{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.experience-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 20px}.experience-heading h3{font-weight:650;font-size:1.125rem;letter-spacing:-.025em}.experience-heading>span{color:var(--muted);font-size:.75rem;font-family:ui-monospace,monospace}.experience-role{color:#7c588e;font-size:.875rem;margin-top:3px}.experience-summary{color:var(--muted);font-size:1rem;line-height:1.7;margin-top:10px}.experience-stack{font-family:ui-monospace,monospace;color:#776781;font-size:.75rem;line-height:1.8;margin-top:10px}.social-links{flex-wrap:wrap}@media(max-width:639px){.boot-topline{min-height:46px;padding:10px 18px}.boot-console{padding:22px 18px}.boot-kicker{font-size:.75rem}.boot-version{font-size:.75rem;margin-bottom:22px}.boot-line{grid-template-columns:55px 1fr;gap:5px}.boot-footer{padding-left:18px;padding-right:18px}.boot-footer>span{font-size:.75rem}.topbar-replay>span{display:none}.experience-preview{padding:22px}}.hover\:no-underline:hover{text-decoration-line:none}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);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)}@media(min-width:768px){.md\:w-\[80\%\]{width:80%}}
