@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.h-full{height:100%}.min-h-full{min-height:100%}.scroll-smooth{scroll-behavior:smooth}.bg-white{background-color:var(--color-white)}.font-sans{font-family:var(--font-sans)}.text-black{color:var(--color-black)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}.selection\:bg-black ::selection,.selection\:bg-black::selection{background-color:var(--color-black)}.selection\:text-white ::selection,.selection\:text-white::selection{color:var(--color-white)}}:root{--paper:#f4f0e8;--sheet:#fffaf0;--ink:#161616;--muted:#69645a;--soft:#e4ddd0;--line:#cfc5b4;--green:#1d7c5b;--coral:#e35d3f;--blue:#315fbd;--yellow:#f2bd4b;--code:#10120f;--code-soft:#191d18;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}body{background:linear-gradient(90deg, #1616160b 1px, transparent 1px), linear-gradient(#1616160a 1px, transparent 1px), radial-gradient(circle at 14% 8%, #e35d3f24, transparent 24rem), radial-gradient(circle at 90% 4%, #1d7c5b1f, transparent 22rem), var(--paper);min-height:100vh;font-family:var(--font-sans);background-size:32px 32px,32px 32px,auto,auto,auto;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}::selection{background:var(--ink);color:var(--sheet)}.workspace-shell{width:min(calc(100% - 28px), var(--max));margin:0 auto;padding:14px 0 34px}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf0db;border:1px solid #16161629;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px;display:grid;position:sticky;top:12px;box-shadow:0 12px 38px #16161614}.mark,.resume-button,.tab-list a,.primary-link,.quiet-link,.contact-links a,.restore-button,.profile-closed-card button,.terminal-form button,.terminal-suggestions button{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:850;transition:transform .16s,box-shadow .16s,background .16s,color .16s;display:inline-flex}.mark{border:1px solid var(--ink);background:var(--ink);min-width:58px;color:var(--sheet);padding:0 10px}.tab-list{justify-content:center;gap:4px;display:flex}.tab-list a{color:var(--muted);padding:0 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.tab-list a:hover{background:var(--soft);color:var(--ink)}.resume-button{border:1px solid var(--line);background:var(--sheet);padding:0 13px}.resume-button:hover,.primary-link:hover,.quiet-link:hover,.contact-links a:hover,.restore-button:hover,.profile-closed-card button:hover,.terminal-form button:hover,.terminal-suggestions button:hover{box-shadow:4px 4px 0 var(--ink);transform:translateY(-2px)}.hero{min-height:calc(100svh - 78px);padding:12px 0 52px;display:block;position:relative}.mobile-home{display:none}.file-tree,.hero-ide,.desk-card,.work-card,.project-file,.skill-terminal,.log-card,.terminal-panel,.contact-card{border:1px solid var(--ink);background:var(--sheet);border-radius:10px;box-shadow:8px 8px #16161614}.hero-ide{background:#fffaf0e6;height:clamp(610px,100svh - 92px,760px);overflow:hidden}.ide-interaction-note{z-index:2;min-width:132px;color:var(--ink);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:900;position:absolute;top:2px;right:clamp(28px,5vw,64px)}.ide-interaction-note>span{border:1px solid var(--ink);background:var(--yellow);border-radius:5px;padding:5px 7px;display:inline-flex}.ide-interaction-note>i{border-bottom:2px solid #1616169e;border-left:2px solid #1616169e;border-radius:0 0 0 34px;width:72px;height:35px;position:absolute;top:27px;right:13px}.ide-interaction-note>i:after{content:"";border-bottom:2px solid #1616169e;border-right:2px solid #1616169e;width:8px;height:8px;position:absolute;bottom:-5px;right:-5px;transform:rotate(45deg)}.closed-window-card{border:1px solid var(--ink);background:linear-gradient(135deg, #e35d3f1a, transparent 42%), var(--sheet);border-radius:10px;min-height:min(610px,100svh - 150px);padding:clamp(28px,6vw,70px);box-shadow:8px 8px #16161614}.closed-window-card h1{letter-spacing:0;max-width:740px;margin:0;font-size:clamp(3rem,7vw,6rem);font-weight:950;line-height:.9}.restore-button,.profile-closed-card button{border:1px solid var(--ink);background:var(--ink);width:fit-content;color:var(--sheet);margin-top:26px;padding:0 14px}.ide-titlebar{border-bottom:1px solid var(--ink);background:var(--code-soft);color:#d9d5c9;align-items:center;gap:10px;min-height:42px;padding:0 14px;display:flex}.ide-titlebar p,.ide-titlebar span{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:850}.ide-titlebar span{color:#9da89a;margin-left:auto}.ide-tab-strip{border-bottom:1px solid var(--ink);background:#e5ddcf;gap:1px;min-height:38px;padding-left:14px;display:flex;overflow-x:auto}.ide-tab-strip button{min-width:118px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-right:1px solid #16161624;align-items:center;gap:7px;padding:0 13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:850;display:inline-flex}.ide-tab-strip button:hover{color:var(--ink);background:#fffaf073}.ide-tab-strip .active-tab{background:var(--sheet);color:var(--ink)}.ide-tab-strip .deleted-tab{color:#69645a9e;text-decoration:line-through}.tab-close{color:#69645ac2;border-radius:5px;place-items:center;width:18px;height:18px;margin-left:auto;display:grid}.tab-close:hover,.tab-close:focus-visible{color:var(--ink);background:#1616161a;outline:0}.ide-layout{grid-template-columns:190px minmax(0,1fr) 330px;align-items:stretch;gap:0;height:calc(100% - 110px);min-height:0;display:grid}.hero-ide.tree-collapsed .ide-layout{grid-template-columns:62px minmax(0,1fr) 330px}.file-tree{border:0;border-right:1px solid var(--ink);min-height:0;box-shadow:none;background:#f1eadc;border-radius:0;align-self:stretch;padding:14px;overflow:auto}.tree-title,.file-tree a,.tree-link,.section-label,.path-line{align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:850;display:flex}.tree-title{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-bottom:10px;display:grid}.tree-section-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:950}.tree-title span{min-width:0}.tree-collapse,.tree-link{color:inherit;background:0 0;border:0}.tree-collapse{border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.tree-collapse:hover{background:var(--soft)}.file-tree a,.tree-link{width:100%;min-height:34px;color:var(--muted);cursor:pointer;text-align:left;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;display:flex}.file-tree a:hover,.tree-link:hover,.tree-folder.open{background:var(--soft);color:var(--ink)}.file-tree .active-file,.tree-link.active-file{border:1px solid var(--line);background:var(--sheet);color:var(--ink)}.file-tree .deleted-file,.tree-link.deleted-file{color:#69645a94;text-decoration:line-through}.file-tree .deleted-file svg,.tree-link.deleted-file svg{opacity:.52}.tree-children{border-left:1px solid #16161629;gap:2px;margin:2px 0 6px 17px;padding-left:8px;display:grid}.tree-children a{min-height:30px;font-size:.72rem}.tree-disclosure{color:#69645ab8;margin-left:auto;transition:transform .16s}.tree-folder.open .tree-disclosure{transform:rotate(180deg)}.hero-ide.tree-collapsed .file-tree{padding-inline:10px}.hero-ide.tree-collapsed .tree-title{grid-template-columns:1fr;justify-items:center}.hero-ide.tree-collapsed .tree-title span,.hero-ide.tree-collapsed .file-tree a span,.hero-ide.tree-collapsed .tree-link span,.hero-ide.tree-collapsed .tree-children{display:none}.hero-ide.tree-collapsed .file-tree a,.hero-ide.tree-collapsed .tree-link{justify-content:center;padding:0}.hero-copy{border-right:1px solid var(--ink);flex-direction:column;justify-content:stretch;min-width:0;min-height:0;padding:0;display:flex}.editor-breadcrumb{min-height:38px;color:var(--muted);border-bottom:1px solid #1616161f;padding:11px 16px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;font-weight:850}.editor-body{flex:1;grid-template-columns:48px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.line-gutter{color:#69645a9e;text-align:center;background:#e4ddd06b;border-right:1px solid #1616161a;align-content:center;gap:9px;padding:clamp(28px,5vw,56px) 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:850;display:grid;overflow:hidden}.editor-body.code-body .line-gutter{align-content:start;gap:0;padding:57px 0 18px}.editor-body.code-body .line-gutter span{min-height:1.62em}.editor-content{flex-direction:column;justify-content:flex-start;min-height:0;padding:clamp(28px,5vw,56px);display:flex;overflow:auto}.editor-body:not(.code-body) .editor-content{padding:clamp(24px,3vw,34px) clamp(24px,3vw,34px) clamp(36px,4vw,52px);overflow:hidden}.editor-body:not(.code-body) .line-gutter{align-content:start;gap:8px;padding:clamp(28px,3vw,38px) 0}.editor-content.code-active{justify-content:flex-start;padding:0;overflow:auto}.code-file-view{background:#fffaf0;height:100%;min-height:0;overflow:auto}.code-file-header{min-height:38px;color:var(--muted);border-bottom:1px solid #1616161a;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:900;display:flex}.code-file-header b{color:#69645ab8;font-size:.66rem}.code-file-view pre{color:#2f2c27;white-space:pre-wrap;min-height:0;margin:0;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.72rem,1vw,.84rem);font-weight:720;line-height:1.62}.deleted-editor-state{align-content:center;min-height:100%;padding:clamp(28px,5vw,56px);display:grid}.deleted-editor-state h1{margin:0;font-size:clamp(2.5rem,5.2vw,4.4rem);font-weight:950;line-height:.96}.path-line{border:1px solid var(--line);width:fit-content;color:var(--green);background:#fffaf0b8;border-radius:7px;margin:0 0 18px;padding:8px 10px}.hero h1{letter-spacing:0;max-width:650px;margin:0;font-size:clamp(2.55rem,4.1vw,3.95rem);font-weight:950;line-height:1.01}.hero h1 span{color:#414036}.intro-copy{color:#39362f;max-width:700px;margin:18px 0 0;font-size:clamp(.98rem,1.2vw,1.08rem);font-weight:620;line-height:1.58}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.primary-link,.quiet-link{border:1px solid var(--ink);padding:0 16px}.primary-link{background:var(--ink);color:var(--sheet)}.quiet-link{background:var(--sheet);color:var(--ink)}.desk-card{min-height:0;box-shadow:none;background:#fffaf094;border:0;border-radius:0;padding:14px;position:relative;overflow:auto}.profile-window{border:1px solid var(--ink);background:var(--code);border-radius:9px;overflow:hidden}.panel-bar{background:var(--code-soft);color:#d9d5c9;border-bottom:1px solid #fffaf026;align-items:center;gap:10px;min-height:38px;padding:0 12px;display:flex}.panel-bar p{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:850}.traffic-lights{gap:6px;display:flex}.traffic-lights span,.traffic-lights button{background:var(--coral);border:0;border-radius:50%;width:10px;height:10px;padding:0}.traffic-lights span:nth-child(n+2),.traffic-lights button:nth-child(n+2){display:none}.window-controls button{transition:transform .14s,box-shadow .14s}.window-controls button:hover{transform:scale(1.28);box-shadow:0 0 0 3px #fffaf029}.portrait-wrap{aspect-ratio:4/5;position:relative}.portrait-wrap img{object-fit:cover;object-position:50% 23%;filter:saturate(.9)contrast(1.04)}.sticky-note{background:#ffe7a3;border:1px solid #967338;border-radius:7px;width:min(250px,100% - 36px);padding:15px;position:absolute;bottom:18px;right:18px;transform:rotate(-1.5deg);box-shadow:6px 6px #1616161f}.sticky-note p{color:#372d19;margin:0;font-size:.9rem;font-weight:750;line-height:1.45}.profile-closed-card{border:1px solid var(--ink);background:linear-gradient(135deg, #f2bd4b47, transparent 52%), var(--sheet);border-radius:9px;align-content:center;min-height:410px;padding:22px;display:grid}.profile-closed-card p{border:1px solid var(--line);width:fit-content;color:var(--green);border-radius:7px;margin:0 0 12px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:900}.profile-closed-card strong{max-width:260px;color:var(--ink);font-size:1.2rem;line-height:1.35}.editor-section{border-top:1px solid var(--line);padding:clamp(56px,9vw,104px) 0}.editor-section#work{padding:clamp(42px,6vw,72px) 0}.section-label{width:fit-content;color:var(--green);margin:0 0 18px}.section-heading{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(22px,5vw,70px);margin-bottom:clamp(28px,5vw,50px);display:grid}.section-heading h2,.contact-card h2{letter-spacing:0;margin:0;font-size:clamp(2.2rem,5vw,4.75rem);font-weight:950;line-height:.96}.section-heading p,.contact-card p{color:#4a463f;margin:0;font-size:clamp(1rem,1.4vw,1.12rem);font-weight:620;line-height:1.7}.work-list{gap:clamp(18px,3.4vw,32px);padding:18px 0 6px;display:grid;position:relative}.work-list:before{display:none}.work-card{width:min(900px,90%);min-height:auto;box-shadow:none;background:0 0;border:0;grid-template-columns:86px minmax(0,1fr);gap:18px;padding:0;scroll-margin-top:105px;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:visible}.work-card:nth-child(odd){justify-self:start}.work-card:nth-child(2n){justify-self:end}.ide-statusbar{border-top:1px solid var(--ink);background:var(--green);min-height:30px;color:var(--sheet);flex-wrap:wrap;align-items:center;gap:14px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:850;display:flex}.ide-statusbar span:last-child{margin-left:auto}.ide-context-menu{z-index:140;border:1px solid var(--ink);background:var(--sheet);border-radius:8px;width:210px;padding:7px;position:fixed;box-shadow:8px 8px #16161629}.ide-context-menu p,.ide-context-menu span,.ide-context-menu button{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ide-context-menu p{color:var(--ink);margin:0;padding:7px 8px 3px;font-size:.78rem;font-weight:950}.ide-context-menu>span{color:var(--muted);padding:0 8px 7px;font-size:.68rem;font-weight:800;line-height:1.35;display:block}.ide-context-menu button{width:100%;min-height:34px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:.75rem;font-weight:900;display:flex}.ide-context-menu button:hover{background:var(--ink);color:var(--sheet)}.empty-site-card{border:1px solid var(--ink);background:linear-gradient(135deg, #e35d3f1f, transparent 38%), var(--sheet);border-radius:10px;margin:0 0 clamp(56px,9vw,104px);padding:clamp(28px,5vw,48px);box-shadow:8px 8px #16161614}.empty-site-card p{border:1px solid var(--line);width:fit-content;color:var(--coral);border-radius:7px;margin:0 0 12px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:950}.empty-site-card h2{max-width:760px;margin:0;font-size:clamp(2.3rem,5vw,4.8rem);font-weight:950;line-height:.96}.empty-site-card>span{color:#4a463f;max-width:720px;margin-top:18px;font-size:clamp(1rem,1.4vw,1.12rem);font-weight:650;line-height:1.7;display:block}.work-card:before{content:"";border-bottom:2px dashed #16161633;border-left:2px dashed #16161633;border-radius:0 0 0 34px;width:clamp(62px,10vw,128px);position:absolute;top:72px;bottom:-30px;left:42px}.work-card:last-child:before{display:none}.work-card:after{content:"";border-top:2px solid #16161657;border-right:2px solid #16161657;width:9px;height:9px;position:absolute;bottom:-35px;left:calc(38px + clamp(62px,10vw,128px));transform:rotate(45deg)}.work-card:nth-child(2n):before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 142 300' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M140 0V126C140 146 124 162 104 162H48C30 162 16 176 16 194V284' stroke='%23161616' stroke-opacity='.22' stroke-width='2' stroke-linecap='butt' stroke-linejoin='round' stroke-dasharray='3 4'/%3E%3Cpath d='M8 278L16 288L24 278' stroke='%23161616' stroke-opacity='.38' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;border:0;border-radius:0;width:clamp(76px,11vw,142px);height:auto;inset:72px auto -30px calc(48px - clamp(76px,11vw,142px))}.work-card:nth-child(2n):after,.work-card:last-child:after{display:none}.work-card:hover{transform:translateY(-4px)}.work-stem{align-content:start;justify-items:center;gap:8px;padding-top:16px;display:grid}.work-stem>span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:950}.work-icon{z-index:1;border:1px solid var(--ink);background:var(--ink);width:58px;height:58px;color:var(--sheet);box-shadow:5px 5px 0 var(--yellow);border-radius:12px;place-items:center;display:grid;position:relative}.work-content{border:1px solid var(--ink);background:linear-gradient(90deg, #1d7c5b1a, transparent 42%), var(--sheet);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(168px,226px);gap:0 18px;padding:clamp(18px,2.4vw,24px);display:grid;position:relative;box-shadow:8px 8px #16161614}.work-content:before{border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--sheet);content:"";width:16px;height:16px;position:absolute;top:18px;left:-9px;transform:rotate(45deg)}.work-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.work-title,.company-line,.work-content>p,.work-bullets{grid-column:1}.work-title h3{max-width:720px;margin:0;font-size:clamp(1.28rem,2.35vw,1.9rem);font-weight:950}.work-title span,.company-line,.work-bullets{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.work-title span{border:1px solid var(--ink);background:var(--yellow);width:fit-content;color:var(--ink);white-space:nowrap;border-radius:7px;padding:6px 8px;font-size:.74rem;font-weight:900}.work-visual{background:linear-gradient(135deg, #fffaf0eb, #e4ddd0a3), var(--sheet);border:1px solid #16161629;border-radius:9px;grid-area:1/2/span 5;align-self:stretch;min-height:168px;position:relative;overflow:hidden}.work-visual img{object-fit:contain;object-position:center;padding:20px}.work-visual.cover img{object-fit:cover;padding:0}.work-visual.wide-logo{align-self:stretch;min-height:168px}.work-visual.wide-logo img{padding:24px}.work-visual.compact-logo img{padding:40px 32px}.company-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:5px 0 10px;font-size:.84rem;font-weight:850;display:flex}.company-line span{align-items:center;gap:5px;display:inline-flex}.work-card p{color:#38352f;max-width:820px;margin:0;font-size:clamp(.95rem,1.18vw,1.04rem);font-weight:620;line-height:1.65}.work-bullets{color:var(--muted);border-top:1px solid #1616161f;gap:8px;margin:12px 0 0;padding:12px 0 0;font-size:.8rem;font-weight:800;line-height:1.58;list-style:none;display:grid}.work-bullets li{padding-left:22px;position:relative}.work-bullets li:before{border:1px solid var(--ink);background:var(--yellow);width:8px;height:8px;box-shadow:2px 2px 0 var(--green);content:"";border-radius:2px;position:absolute;top:.62em;left:0;transform:rotate(45deg)}.project-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.project-file{transition:transform .16s,box-shadow .16s;overflow:hidden}.project-file:hover{transform:translateY(-4px);box-shadow:8px 8px #1d7c5b38}.project-image{aspect-ratio:15/8;border-bottom:1px solid var(--ink);background:#fff;display:block;position:relative;overflow:hidden}.project-image img{object-fit:contain;object-position:center}.project-file:hover img{transform:none}.project-body{padding:18px}.project-body>p{color:var(--green);margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:900}.project-body h3{margin:0 0 12px;font-size:clamp(1.45rem,2.7vw,2rem);font-weight:950}.project-body>span{color:#46433b;font-size:.96rem;font-weight:620;line-height:1.6;display:block}.stack-row{flex-wrap:wrap;gap:7px;margin:18px 0 14px;display:flex}.stack-row b{border:1px solid var(--line);color:#3d3930;background:#f7f0e2;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:.73rem;font-weight:850;display:inline-flex}.project-body a{min-height:42px;color:var(--green);align-items:center;gap:8px;font-weight:950;display:inline-flex}.project-more{justify-content:center;margin-top:24px;display:flex}.project-more a{border:1px solid var(--ink);background:var(--ink);min-height:46px;color:var(--sheet);border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-weight:900;transition:transform .16s,box-shadow .16s;display:inline-flex}.project-more a:hover{box-shadow:4px 4px 0 var(--yellow);transform:translateY(-2px)}.split-section{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(24px,5vw,70px);display:grid}.split-section .section-heading{margin-bottom:0;display:block}.split-section .section-heading p{margin-top:18px}.skill-terminal,.terminal-panel{background:var(--code);color:#e8e4d8}.skill-terminal{padding:22px}.skill-line{border-bottom:1px solid #fffaf01a;grid-template-columns:92px 1fr;gap:16px;padding:11px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:grid}.skill-line:last-child{border-bottom:0}.skill-line span{color:var(--yellow);font-size:.8rem;font-weight:900}.skill-line p{color:#d9d5c9;margin:0;font-size:.86rem;font-weight:750;line-height:1.55}.log-card{padding:24px}.log-card svg{color:var(--green)}.log-card p{color:#403d35;margin:14px 0 0;font-weight:650;line-height:1.65}.terminal-panel{margin:18px 0 clamp(56px,9vw,104px);scroll-margin-top:110px;overflow:hidden}.editor-section#work .terminal-panel{margin:0 0 clamp(22px,4vw,34px)}.terminal-panel .panel-bar{border-bottom-color:#fffaf024}.panel-pill{color:#a8b8a8;border:1px solid #fffaf02e;border-radius:999px;margin-left:auto;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:900}.terminal-output{overscroll-behavior:contain;scrollbar-color:#fffaf052 transparent;align-content:start;gap:10px;height:clamp(172px,24svh,246px);min-height:0;padding:20px;display:grid;overflow-y:auto}.terminal-output pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;font-weight:750;line-height:1.55}.terminal-output .user{color:var(--yellow)}.terminal-output .system{color:#d9d5c9}.terminal-output .error{color:#ffb7a6}.terminal-form{background:#0b0d0b;border:1px solid #fffaf029;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 20px 16px;padding:8px;display:grid}.terminal-form span{color:var(--yellow);padding-left:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:950}.terminal-form input{color:#fffaf0;background:0 0;border:0;outline:0;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.terminal-form button,.terminal-suggestions button{min-height:42px;color:var(--ink);background:#f7f0e2;border:1px solid #fffaf033}.terminal-form button{padding:0 12px}.terminal-form button:disabled,.terminal-suggestions button:disabled{cursor:wait;opacity:.62;box-shadow:none;transform:none}.terminal-suggestions{flex-wrap:wrap;gap:8px;padding:0 20px 20px;display:flex}.terminal-suggestions button{padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem}.contact-card{background:var(--ink);color:var(--sheet);grid-template-columns:1fr auto;align-items:end;gap:28px;padding:clamp(24px,5vw,42px);display:grid}.contact-card .section-label,.contact-card p{color:#d8d0c1}.contact-card h2{max-width:740px;margin-bottom:16px}.contact-links{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.contact-links a{color:var(--sheet);background:#fffaf014;border:1px solid #fffaf038;padding:0 14px}.app-loader{z-index:100;--launch-icon-size:58px;--launch-icon-pop-size:66px;--launch-icon-radius:17px;--launch-icon-y:calc(100svh - 84px);color:#10120f;background:linear-gradient(135deg,#ffffff47,#0000 38%),linear-gradient(225deg,#10120f1f,#0000 44%),radial-gradient(circle at 18% 20%,#fffaf033,#0000 20rem),linear-gradient(160deg,#8d9597 0%,#b4b4ac 48%,#d7d1c3 100%);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow:hidden}.desktop-menubar{z-index:5;-webkit-backdrop-filter:blur(22px)saturate(1.05);backdrop-filter:blur(22px)saturate(1.05);background:#f2efe78a;border-bottom:1px solid #ffffff38;justify-content:space-between;align-items:center;gap:18px;min-height:30px;padding:0 16px;font-size:.78rem;font-weight:760;display:flex;position:relative;box-shadow:0 1px #10120f14}.menubar-left,.menubar-right{align-items:center;gap:15px;min-width:0;display:flex}.menubar-left span,.menubar-left strong,.menubar-right span{white-space:nowrap}.menubar-mark{color:#fffaf0;background:#10120fd6;border-radius:7px;place-items:center;width:22px;height:22px;font-size:.64rem;font-weight:950;display:grid}.desktop-stage{z-index:2;width:min(100% - 48px,1160px);min-height:0;margin:0 auto;padding:clamp(34px,6vh,70px) 0 clamp(112px,17vh,150px);display:block;position:relative}.desktop-image-stack{z-index:1;pointer-events:none;width:clamp(760px,68vw,980px);height:clamp(440px,39vw,560px);position:absolute;top:clamp(34px,7vh,58px);left:50%;transform:translate(-48%)}.desktop-image{background:#1819183d;border:1px solid #ffffff47;border-radius:12px;position:absolute;overflow:hidden;box-shadow:0 28px 70px #10120f3d}.desktop-image img{object-fit:contain;object-position:center}.minecraft-image{aspect-ratio:1710/1018;opacity:.92;width:62%;top:0;left:clamp(78px,9vw,126px)}.vscode-image{z-index:2;aspect-ratio:2938/1736;width:68%;top:clamp(82px,10vw,116px);right:clamp(24px,4vw,58px)}.desktop-widget{-webkit-backdrop-filter:blur(24px)saturate(1.02);backdrop-filter:blur(24px)saturate(1.02);background:#f4f0e86b;border:1px solid #ffffff52;border-radius:18px;width:min(270px,100%);margin-top:clamp(20px,8vh,84px);padding:18px;box-shadow:0 24px 70px #10120f29}.desktop-widget div{color:#10120fb3;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.72rem;font-weight:900;display:flex}.desktop-widget strong{font-size:clamp(1.45rem,2.7vw,2rem);font-weight:950;line-height:.98;display:block}.desktop-widget p{color:#10120fad;margin:12px 0 0;font-size:.9rem;font-weight:650;line-height:1.48}.desktop-files{z-index:3;gap:18px;display:grid;position:fixed;top:clamp(52px,9vh,92px);right:clamp(10px,1.6vw,22px)}.desktop-file{color:#fffaf0eb;text-align:center;text-shadow:0 1px 6px #10120f57;justify-items:center;gap:7px;width:86px;display:grid}.desktop-file svg{-webkit-backdrop-filter:blur(16px)saturate();backdrop-filter:blur(16px)saturate();background:#1819184d;border:1px solid #ffffff47;border-radius:14px;width:52px;height:52px;padding:8px;box-shadow:0 16px 34px #10120f26}.desktop-file span{font-size:.74rem;font-weight:800}.dock{z-index:7;-webkit-backdrop-filter:blur(26px)saturate(1.02);backdrop-filter:blur(26px)saturate(1.02);background:#f4f0e852;border:1px solid #ffffff47;border-radius:28px;justify-content:center;align-items:end;gap:10px;height:82px;padding:10px 13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 24px 80px #10120f40}.app-loader.opening .dock{animation:1.86s forwards dockDrop}.dock-app{border-radius:var(--launch-icon-radius);color:#fffaf0eb;background:linear-gradient(145deg,#1c1d1be0,#484a46e0);border:1px solid #ffffff4d;place-items:center;width:58px;height:58px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:inset 0 1px #ffffff29,0 12px 34px #10120f3d}.dock-icon{gap:2px;padding:5px 0 4px;animation:5.2s ease-in-out 2.2s infinite both dockIconCue}.dock-placeholder{background:#1c1d1b57;box-shadow:inset 0 1px #ffffff1f,0 12px 34px #10120f29}.dock-app:hover,.dock-app:focus-visible{outline:0;animation-play-state:paused;transform:translateY(-6px)scale(1.04);box-shadow:inset 0 1px #ffffff2e,0 22px 54px #10120f4d}.dock-icon:disabled{cursor:default}.app-loader.opening .dock-icon{animation:1.55s cubic-bezier(.2,.85,.2,1) forwards dockIconLaunch}.dock-icon span{letter-spacing:0;font-size:.62rem;font-weight:950;line-height:1}.launch-surface{left:50%;top:var(--launch-icon-y);z-index:4;width:var(--launch-icon-size);height:var(--launch-icon-size);border-radius:var(--launch-icon-radius);background:radial-gradient(circle at 50% 28%, #ffffff47, transparent 3.8rem), var(--paper);opacity:0;transform-origin:50%;border:1px solid #fffaf08f;position:fixed;transform:translate(-50%,-50%);box-shadow:0 22px 80px #fffaf02e}.app-loader.opening .launch-surface{animation:1.82s cubic-bezier(.18,.9,.22,1) forwards appExpand}.app-loader.opening .desktop-widget,.app-loader.opening .desktop-files,.app-loader.opening .desktop-menubar{animation:1.2s forwards desktopFadeBack}.launch-label{z-index:5;color:#fffaf0;text-align:center;text-shadow:0 1px 8px #10120f66;opacity:0;max-width:min(100vw - 24px,460px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:850;animation:.42s 2.2s forwards launchHintIn;position:fixed;bottom:6px;left:50%;transform:translate(-50%)translateY(6px)}.app-loader.opening .launch-label{animation:1.2s forwards labelFade}@keyframes dockIconCue{0%,70%,to{transform:translateY(0)}74%{transform:translateY(-18px)}78%{transform:translateY(0)}82%{transform:translateY(-10px)}86%{transform:translateY(0)}}@keyframes dockIconLaunch{0%{transform:translateY(0)scale(1)}18%{transform:translateY(-18px)scale(1.06)}34%{transform:translateY(-9px)scale(1.02)}52%{opacity:1;transform:translateY(-118px)scale(1.28)}70%,to{opacity:0;transform:translateY(-118px)scale(1.36)}}@keyframes appExpand{0%,46%{width:var(--launch-icon-size);height:var(--launch-icon-size);top:var(--launch-icon-y);border-radius:var(--launch-icon-radius);opacity:0;transform:translate(-50%,-50%)}55%{width:var(--launch-icon-pop-size);height:var(--launch-icon-pop-size);top:var(--launch-icon-y);opacity:1;transform:translate(-50%,-50%)}82%,to{opacity:1;border-radius:40px;width:220vmax;height:220vmax;top:50%;transform:translate(-50%,-50%)}}@keyframes desktopFadeBack{0%,45%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(14px)scale(.985)}}@keyframes dockDrop{0%,55%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(34px)}}@keyframes labelFade{0%,32%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-14px)}}@keyframes launchHintIn{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes loaderExit{0%,88%{opacity:1;pointer-events:auto}to{opacity:0;pointer-events:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.dock-icon{animation:none}.app-loader.opening{opacity:0;pointer-events:none}}.boot-loader{color:#f4efe5;perspective:none;background:#111210;place-items:center;display:grid}.boot-loader:before,.boot-loader:after{content:none}.boot-stage{z-index:2;aspect-ratio:16/10;perspective:1100px;width:clamp(240px,34vw,440px);transform-style:preserve-3d;position:relative}.boot-slab{opacity:0;transform-origin:50%;transform-style:preserve-3d;will-change:transform, opacity;background:#191a17;border:1px solid #f4efe580;border-radius:7px;position:absolute;inset:0;overflow:hidden;transform:translate3d(0,44px,-480px)rotateX(68deg)rotate(-6deg)scale(.78);box-shadow:14px 18px #00000042}.boot-toolbar{border-bottom:1px solid #f4efe52b;align-items:center;gap:6px;height:13%;min-height:25px;padding:0 10px;display:flex}.boot-toolbar span{border:1px solid #f4efe58a;border-radius:50%;width:6px;height:6px}.boot-toolbar i{background:#f4efe529;width:28%;height:3px;margin-left:auto}.boot-editor{grid-template-columns:22% 1fr;height:87%;display:grid}.boot-rail{border-right:1px solid #f4efe524;align-content:start;gap:10px;padding:18px 12px;display:grid}.boot-rail span{background:#f4efe529;width:100%;height:3px}.boot-rail span:nth-child(2){background:#c8ef72;width:68%}.boot-lines{align-content:center;gap:clamp(10px,1.4vw,17px);padding:12%;display:grid}.boot-lines span{background:#f4efe538;width:76%;height:4px}.boot-lines span:first-child{background:#c8ef72;width:42%}.boot-lines span:nth-child(2){width:88%}.boot-lines span:nth-child(3){width:64%}.boot-lines span:nth-child(4){width:79%}.boot-lines span:nth-child(5){width:51%}.boot-cursor{opacity:0;background:#c8ef72;width:7px;height:16px;position:absolute;bottom:15%;right:12%}.boot-shadow{opacity:0;will-change:transform, opacity;background:#00000094;height:2px;position:absolute;bottom:-34px;left:15%;right:15%;transform:scaleX(.5)}.boot-caption{z-index:3;color:#f4efe59e;letter-spacing:.12em;text-align:center;text-transform:uppercase;opacity:0;gap:10px;width:min(240px,100vw - 48px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.67rem;font-weight:750;display:grid;position:absolute;bottom:clamp(34px,7vh,68px);left:50%;transform:translate(-50%)translateY(5px)}.boot-caption i{background:#f4efe52e;height:1px;display:block;position:relative;overflow:hidden}.boot-caption i:after{content:"";transform-origin:0;background:#c8ef72;position:absolute;inset:0;transform:scaleX(0)}.boot-wipe{z-index:20;opacity:0;pointer-events:none;will-change:transform, opacity, border-radius;background:#fffaf0;border-radius:32px;width:100vw;height:100vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.02)}.boot-loader.opening{animation:1.47s linear forwards bootLoaderExit}.boot-loader.opening .boot-slab{animation:.92s cubic-bezier(.2,.76,.2,1) both bootSlabIn}.boot-loader.opening .boot-stage{animation:.3s .9s forwards bootStageOut}.boot-loader.opening .boot-shadow{animation:.76s ease-out .12s both bootShadowIn}.boot-loader.opening .boot-cursor{animation:.46s step-end .52s both bootCursor}.boot-loader.opening .boot-caption{animation:1s both bootCaption}.boot-loader.opening .boot-caption i:after{animation:.9s cubic-bezier(.45,0,.2,1) 80ms both bootProgress}.boot-loader.opening .boot-wipe{animation:.52s cubic-bezier(.76,0,.24,1) .87s both bootWipe}@keyframes bootSlabIn{0%{opacity:0;transform:translate3d(0,44px,-480px)rotateX(68deg)rotate(-6deg)scale(.78)}18%{opacity:1}68%{opacity:1;transform:translateY(-5px)rotateX(38deg)rotate(-2deg)scale(.97)}to{opacity:1;transform:translate(0)rotateX(0)rotate(0)scale(1)}}@keyframes bootStageOut{to{opacity:0;transform:translate(-50%,-50%)scale(1.035)}}@keyframes bootShadowIn{0%{opacity:0;transform:scaleX(.5)}70%{opacity:.65;transform:scaleX(1)}to{opacity:.35;transform:scaleX(.92)}}@keyframes bootCursor{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes bootCaption{0%{opacity:0;transform:translate(-50%)translateY(5px)}22%,72%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-4px)}}@keyframes bootProgress{to{transform:scaleX(1)}}@keyframes bootWipe{0%{opacity:0;border-radius:32px;transform:translate(-50%,-50%)scale(.02)}12%{opacity:1}to{opacity:1;border-radius:0;transform:translate(-50%,-50%)scale(1.06)}}@keyframes bootLoaderExit{0%,95%{opacity:1;pointer-events:auto}to{opacity:0;pointer-events:none}}@media (max-width:600px){.boot-stage{width:min(78vw,360px)}.boot-slab{box-shadow:9px 12px #00000047}.boot-caption{bottom:7vh}}@media (prefers-reduced-motion:reduce){.boot-loader.opening{opacity:0;pointer-events:none}.boot-loader.opening .boot-slab,.boot-loader.opening .boot-stage,.boot-loader.opening .boot-shadow,.boot-loader.opening .boot-cursor,.boot-loader.opening .boot-caption,.boot-loader.opening .boot-caption i:after,.boot-loader.opening .boot-wipe{animation:none}}@media (max-width:1080px){.desktop-stage{width:min(100% - 40px,920px)}.hero-ide{height:clamp(640px,100svh - 92px,780px)}.ide-layout{grid-template-columns:170px 1fr}.hero-ide.tree-collapsed .ide-layout{grid-template-columns:62px 1fr}.desk-card{border-top:1px solid var(--ink);border-left:0;grid-column:2;max-width:440px;min-height:420px}.project-grid{grid-template-columns:1fr}.project-file{grid-template-columns:minmax(250px,.8fr) 1fr;display:grid}}@media (max-width:820px){.app-loader{--launch-icon-size:52px;--launch-icon-pop-size:60px;--launch-icon-radius:15px;--launch-icon-y:calc(100svh - 70px)}.desktop-menubar{padding-inline:10px}.menubar-left{gap:10px}.menubar-left span:nth-of-type(n+4),.menubar-right svg,.desktop-image-stack,.desktop-files{display:none}.desktop-stage{width:min(100% - 28px,560px);padding-bottom:118px}.desktop-widget{max-width:310px;margin:20px auto 0}.dock{border-radius:24px;gap:8px;height:74px;padding:9px 10px;bottom:18px}.dock-app{border-radius:15px;width:52px;height:52px}.launch-label{font-size:.7rem;bottom:4px}.workspace-shell{width:min(calc(100% - 22px), var(--max))}.topbar{grid-template-columns:1fr auto}.tab-list{order:3;grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.tab-list a{white-space:nowrap}.hero{min-height:auto;padding:28px 0 44px}.mobile-home{gap:22px;display:grid}.hero-ide,.closed-window-card,.ide-interaction-note{display:none}.mobile-portrait{aspect-ratio:4/5;border:1px solid var(--ink);background:var(--sheet);border-radius:10px;width:100%;max-width:420px;margin:0 auto;position:relative;overflow:hidden;box-shadow:8px 8px #16161614}.mobile-portrait img{object-fit:cover;object-position:50% 23%}.mobile-home-copy{align-content:start;display:grid}.ide-layout{grid-template-columns:1fr;height:calc(100% - 110px);min-height:0}.hero-ide.tree-collapsed .ide-layout{grid-template-columns:1fr}.file-tree{display:none}.hero-copy{border-right:0;padding:0}.hero h1{font-size:clamp(2.55rem,11vw,3.45rem)}.hero-actions,.contact-links{grid-template-columns:1fr}.primary-link,.quiet-link{width:100%}.desk-card{border-top:1px solid var(--ink);grid-column:auto;max-width:none;min-height:0}.profile-window{max-width:250px}.desk-card{align-items:stretch;gap:12px;display:flex}.sticky-note{flex:1;width:auto;position:relative;bottom:auto;right:auto;transform:rotate(-1deg)}.section-heading,.split-section,.contact-card{grid-template-columns:1fr}.work-list{grid-template-columns:1fr;padding-left:0}.work-list:before{width:140px;left:28px;transform:none}.work-card:nth-child(2n):before{background:0 0;border-bottom:2px dashed #16161633;border-left:2px dashed #16161633;border-right:0;border-radius:0 0 0 34px;width:clamp(62px,10vw,128px);height:auto;inset:72px auto -30px 42px}.work-card:nth-child(2n):after{inset:auto auto -35px calc(38px + clamp(62px,10vw,128px));transform:rotate(45deg)}.work-card,.work-card:nth-child(odd),.work-card:nth-child(2n){justify-self:stretch;width:100%}.work-content{grid-template-columns:1fr}.work-title,.company-line,.work-content>p,.work-bullets,.work-visual{grid-column:1}.work-visual{order:-1;grid-row:auto;min-height:170px;margin-bottom:18px}.work-visual.compact-logo img{padding:18px 24px}.project-file{display:block}}@media (max-width:560px){.app-loader{--launch-icon-size:45px;--launch-icon-pop-size:53px;--launch-icon-radius:13px;--launch-icon-y:calc(100svh - 63px)}.menubar-left span:nth-of-type(n+2),.menubar-right{display:none}.desktop-stage{padding-top:34px}.desktop-widget{max-width:280px}.dock-app{border-radius:13px;width:45px;height:45px}.dock-app svg{width:23px;height:23px}.dock-icon span{font-size:.55rem}body{background-size:24px 24px}.resume-button{padding:0 10px}.hero h1{font-size:clamp(2.25rem,11vw,3.05rem)}.intro-copy{font-size:1rem;line-height:1.62}.desk-card{display:block}.profile-window{max-width:none}.portrait-wrap{aspect-ratio:16/11}.sticky-note{margin-top:12px}.work-card{grid-template-columns:56px minmax(0,1fr);gap:12px}.work-card:before,.work-card:nth-child(2n):before{left:27px}.work-card:nth-child(2n):after{left:calc(23px + clamp(62px,10vw,128px))}.work-stem{padding-top:18px}.work-stem>span{font-size:.68rem}.work-icon{width:46px;height:46px;box-shadow:4px 4px 0 var(--yellow);border-radius:10px}.work-content{padding:18px}.work-visual{min-height:142px}.work-content:before{width:12px;height:12px;left:-7px}.work-title{display:grid}.work-title span{white-space:normal}.skill-line{grid-template-columns:1fr;gap:4px}.terminal-output{height:230px;min-height:0;padding:16px}.terminal-form{margin-inline:16px}.contact-links{display:grid}}.app-loader{--intro-rotate-x:0deg;--intro-rotate-y:0deg;--intro-shift-x:0px;--intro-shift-y:0px;z-index:100;isolation:isolate;color:#f5f0e7;perspective:1400px;background:#08090b;place-items:center;min-height:100svh;display:grid;position:fixed;inset:0;overflow:hidden}.app-loader:before,.app-loader:after{z-index:8;content:"";pointer-events:none;border-style:solid;border-color:#f5f0e773;width:10px;height:10px;position:absolute}.app-loader:before{border-width:1px 0 0 1px;top:22px;left:22px}.app-loader:after{border-width:0 1px 1px 0;bottom:22px;right:22px}.intro-aurora{z-index:-3;filter:blur(34px)saturate(1.25);transform:translate3d(var(--intro-shift-x), var(--intro-shift-y), 0) rotate(-8deg);background:radial-gradient(circle at 36% 44%,#a3ff3c2b,#0000 19%),radial-gradient(circle at 64% 52%,#8148ff38,#0000 24%),radial-gradient(circle at 52% 28%,#ff51901a,#0000 18%);transition:transform .5s cubic-bezier(.2,.8,.2,1);animation:9s ease-in-out infinite alternate introAurora;position:absolute;inset:-30%}.intro-grid{z-index:-2;transform-origin:top;background-image:linear-gradient(#f5f0e713 1px,#0000 1px),linear-gradient(90deg,#f5f0e713 1px,#0000 1px);background-size:54px 54px;height:86vh;animation:7s linear infinite introGridDrift;position:absolute;bottom:-46vh;left:-18vw;right:-18vw;transform:rotateX(67deg)translateZ(-80px);-webkit-mask-image:linear-gradient(#0000 4%,#000 48%,#0000 96%);mask-image:linear-gradient(#0000 4%,#000 48%,#0000 96%)}.intro-header,.intro-footer{z-index:9;letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;gap:24px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.62rem,.8vw,.74rem);font-weight:750;display:flex;position:absolute;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px)}.intro-header{color:#f5f0e7b8;top:clamp(22px,4vh,42px)}.intro-header span:last-child{color:#b9ff5a}.intro-footer{color:#f5f0e773;bottom:clamp(22px,4vh,40px)}.identity-trigger{z-index:4;width:min(94vw,1240px);min-height:min(76svh,780px);color:inherit;cursor:crosshair;perspective:1200px;background:0 0;border:0;outline:0;place-items:center;padding:0;display:grid;position:relative}.identity-trigger:focus-visible .intro-cta{outline-offset:7px;outline:2px solid #b9ff5a}.identity-trigger:disabled{cursor:wait}.identity-scene{aspect-ratio:1;width:clamp(320px,42vw,600px);transform:translate(-50%, -50%) rotateX(var(--intro-rotate-x)) rotateY(var(--intro-rotate-y));transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:50%}.orbit{transform-style:preserve-3d;border:1px solid #f5f0e738;border-radius:50%;position:absolute;inset:11%}.orbit:before{border-radius:inherit;content:"";border:1px dashed #b9ff5a33;position:absolute;inset:9%}.orbit-one{animation:12s linear infinite orbitOne;transform:rotateX(66deg)rotate(12deg)}.orbit-two{border-color:#9268ff61;animation:9s linear infinite reverse orbitTwo;inset:21%;transform:rotateY(72deg)rotateX(18deg)}.orbit i{background:#b9ff5a;border:1px solid #08090bb3;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;box-shadow:0 0 22px #b9ff5ae6}.orbit i:first-child{transform:translate(-50%,-50%)translate(clamp(115px,17vw,244px))}.orbit i:nth-child(2){transform:translate(-50%,-50%)rotate(122deg)translate(clamp(115px,17vw,244px))}.orbit i:nth-child(3){transform:translate(-50%,-50%)rotate(236deg)translate(clamp(115px,17vw,244px))}.orbit-two i:first-child{background:#a27cff;transform:translate(-50%,-50%)translate(clamp(70px,11.5vw,148px));box-shadow:0 0 22px #a27cffe6}.orbit-two i:nth-child(2){background:#f4f0e7;transform:translate(-50%,-50%)rotate(180deg)translate(clamp(70px,11.5vw,148px))}.identity-core{width:clamp(86px,9vw,124px);height:clamp(86px,9vw,124px);transform-style:preserve-3d;animation:5.4s ease-in-out infinite coreFloat;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(-54px)rotateX(-16deg)rotateY(34deg)}.core-face{color:#f5f0e7a3;letter-spacing:-.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f0e70b;border:1px solid #f5f0e76b;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1rem,1.7vw,1.4rem);font-weight:900;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 34px #b9ff5a0d}.core-front{transform:translateZ(clamp(43px,4.5vw,62px))}.core-back{transform:rotateY(180deg)translateZ(clamp(43px,4.5vw,62px))}.core-left{transform:rotateY(-90deg)translateZ(clamp(43px,4.5vw,62px))}.core-right{transform:rotateY(90deg)translateZ(clamp(43px,4.5vw,62px))}.core-top{transform:rotateX(90deg)translateZ(clamp(43px,4.5vw,62px))}.core-bottom{transform:rotateX(-90deg)translateZ(clamp(43px,4.5vw,62px))}.identity-copy{z-index:3;transform-style:preserve-3d;justify-items:center;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;transform:translateZ(110px)}.identity-kicker,.identity-surname{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.identity-kicker{color:#b9ff5a;letter-spacing:.36em;margin-bottom:clamp(20px,3vh,34px);font-size:clamp(.64rem,.85vw,.78rem)}.identity-name{perspective:900px;transform-style:preserve-3d;justify-content:center;display:flex}.identity-letter{color:#f5f0e7;letter-spacing:-.095em;text-shadow:1px 1px #b9ff5a80,2px 2px #b9ff5a57,5px 5px #7f4dff4d,12px 16px 30px #000000a6;transform-style:preserve-3d;animation:letterArrive .9s cubic-bezier(.15, .8, .2, 1) calc(70ms * var(--letter)) both;font-size:clamp(5rem,16.7vw,13.5rem);font-weight:950;line-height:.7;display:block;transform:translateZ(0)}.identity-letter:nth-child(2){transform:translateZ(22px)rotateX(-2deg)}.identity-letter:nth-child(3){transform:translateZ(42px)rotateX(2deg)}.identity-letter:nth-child(4){transform:translateZ(42px)rotateX(-2deg)}.identity-letter:nth-child(5){transform:translateZ(22px)rotateX(2deg)}.identity-surname{color:#f5f0e785;letter-spacing:clamp(.5em,1.3vw,1.15em);text-indent:1em;margin-top:clamp(24px,4vh,42px);font-size:clamp(.7rem,1.2vw,.96rem)}.intro-cta{z-index:10;color:#f5f0e7;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08090b9e;border:1px solid #f5f0e747;border-radius:999px;align-items:center;gap:10px;min-height:42px;padding:0 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:800;transition:border-color .18s,background .18s,color .18s,transform .18s;animation:2.4s ease-in-out infinite ctaBreathe;display:inline-flex;position:absolute;bottom:clamp(28px,7vh,68px);left:50%;transform:translate(-50%);box-shadow:0 16px 42px #0000004d}.identity-trigger:hover .intro-cta{color:#08090b;background:#b9ff5a;border-color:#b9ff5a;transform:translate(-50%)translateY(-3px)}.intro-portal{z-index:20;opacity:0;pointer-events:none;background:#fffaf0;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1);box-shadow:0 0 80px 20px #b9ff5a33}.app-loader.opening{animation:1.88s forwards identityLoaderExit}.app-loader.opening .identity-scene{animation:1.25s cubic-bezier(.25,.9,.15,1) forwards identitySceneLaunch}.app-loader.opening .identity-letter{animation:letterLaunch .86s cubic-bezier(.2, .9, .2, 1) calc(22ms * var(--letter)) forwards}.app-loader.opening .identity-kicker,.app-loader.opening .identity-surname,.app-loader.opening .intro-cta,.app-loader.opening .intro-header,.app-loader.opening .intro-footer{animation:.52s forwards introChromeOut}.app-loader.opening .intro-portal{animation:1.12s cubic-bezier(.76,0,.24,1) .66s forwards portalOpen}@keyframes letterArrive{0%{opacity:0;filter:blur(9px);transform:translateY(70px)rotateX(-70deg)translateZ(-180px)}to{opacity:1;filter:blur()}}@keyframes orbitOne{to{transform:rotateX(66deg)rotate(372deg)}}@keyframes orbitTwo{to{transform:rotateY(72deg)rotateX(378deg)}}@keyframes coreFloat{0%,to{transform:translate(-50%,-50%)translateZ(-54px)rotateX(-16deg)rotateY(34deg)}50%{transform:translate(-50%,calc(-50% - 14px))translateZ(-22px)rotateX(12deg)rotateY(204deg)}}@keyframes introAurora{0%{opacity:.75}to{opacity:1}}@keyframes introGridDrift{to{background-position:0 54px,54px 0}}@keyframes ctaBreathe{50%{box-shadow:0 16px 42px #0000004d,0 0 0 7px #b9ff5a0b}}@keyframes letterLaunch{0%{opacity:1}48%{color:#b9ff5a;filter:blur();transform:translateZ(140px)scale(1.03)}to{opacity:0;filter:blur(8px);transform:translateZ(700px)scale(2.3)}}@keyframes identitySceneLaunch{55%{opacity:1;transform:translate(-50%,-50%)rotateX(34deg)rotateY(190deg)scale(.54)}to{opacity:0;transform:translate(-50%,-50%)rotateX(70deg)rotateY(420deg)scale(.08)}}@keyframes introChromeOut{to{opacity:0;transform:translateY(-10px)}}@keyframes portalOpen{0%{opacity:0;transform:translate(-50%,-50%)scale(1)}10%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)scale(340)}}@keyframes identityLoaderExit{0%,91%{opacity:1;pointer-events:auto}to{opacity:0;pointer-events:none}}@media (max-width:700px){.intro-header,.intro-footer{left:20px;right:20px}.intro-header span:last-child,.intro-footer span:last-child{display:none}.identity-trigger{width:100vw;min-height:82svh}.identity-scene{width:min(104vw,440px)}.identity-kicker{margin-bottom:24px}.identity-letter{letter-spacing:-.115em;font-size:clamp(4.6rem,20.8vw,7rem)}.identity-surname{margin-top:28px}.intro-cta{bottom:max(24px,5vh)}}@media (prefers-reduced-motion:reduce){.identity-scene{transform:translate(-50%,-50%)}.intro-aurora,.intro-grid,.orbit,.identity-core,.identity-letter,.intro-cta{animation:none}.app-loader.opening{opacity:0;pointer-events:none}}.app-loader.boot-loader{color:#f4efe5;perspective:none;background:#111210;grid-template:1fr/1fr;place-items:center;display:grid}.app-loader.boot-loader .boot-stage{grid-area:unset;place-self:unset;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-loader.boot-loader:before,.app-loader.boot-loader:after{content:none}.app-loader.boot-loader.opening{animation:1.47s linear forwards bootLoaderExit}@media (prefers-reduced-motion:reduce){.app-loader.boot-loader.opening{opacity:0;pointer-events:none}}@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}
