@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";:root{color:#f4f5f2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--mono:"IBM Plex Mono", "Cascadia Code", Consolas, monospace;--serif:"Instrument Serif", Georgia, serif;background:#090b0d;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #c8ff64}.desktop{--desktop-text:#f1f3ef;--desktop-muted:#f1f3ef9e;--bar-bg:#080a0cb8;--panel-bg:#0e1012e6;--panel-border:#ffffff24;--title-bg:#25272af5;--terminal-bg:#050708f5;--accent:#c8ff64;width:100%;height:100%;color:var(--desktop-text);isolation:isolate;background-color:#0b0d0f;transition:color .28s,background-color .5s;position:relative;overflow:hidden}.desktop:before{content:"";z-index:-5;background:linear-gradient(150deg,#03070a1f,#03070ac7),radial-gradient(circle at 77% 17%,#274d47 0,#0000 33%),radial-gradient(circle at 24% 78%,#243622 0,#0000 36%),linear-gradient(120deg,#11161b 0%,#17211f 48%,#080a0c 100%);transition:filter .6s,background .6s;position:absolute;inset:0}.desktop.wallpaper-1:before{background:linear-gradient(150deg,#07070a2e,#050508cc),radial-gradient(circle at 76% 18%,#553c6e 0,#0000 33%),radial-gradient(circle at 18% 77%,#263a60 0,#0000 38%),linear-gradient(120deg,#101119 0%,#252039 48%,#090a0f 100%)}.desktop.wallpaper-2:before{background:linear-gradient(150deg,#07050424,#050507c7),radial-gradient(circle at 74% 21%,#77472e 0,#0000 32%),radial-gradient(circle at 19% 76%,#4f3228 0,#0000 36%),linear-gradient(125deg,#17110f 0%,#38251d 46%,#090908 100%)}.theme-light{--desktop-text:#111312;--desktop-muted:#11131294;--bar-bg:#f5f6f1b8;--panel-bg:#f2f4eff0;--panel-border:#0000002b;--title-bg:#e2e4e0f7;--terminal-bg:#f6f7f2fa}.theme-light:before{filter:brightness(2.45)saturate(.42)contrast(.72)}.theme-light .wallpaper-grid{opacity:.1;filter:invert()}.theme-light .wallpaper-glow{opacity:.1}.wallpaper-glow{filter:blur(90px);opacity:.2;pointer-events:none;z-index:-4;border-radius:999px;transition:transform 10s ease-in-out,background .6s;position:absolute}.wallpaper-glow-one{background:#92f4bd;width:36vw;height:36vw;animation:12s ease-in-out infinite alternate float-glow;top:-15vw;right:2vw}.wallpaper-glow-two{background:#9e8bff;width:30vw;height:30vw;animation:16s ease-in-out infinite alternate-reverse float-glow;bottom:-15vw;left:-12vw}.wallpaper-grid{z-index:-3;opacity:.13;pointer-events:none;background-image:linear-gradient(#ffffff29 1px,#0000 1px),linear-gradient(90deg,#ffffff29 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:34px 0 0;-webkit-mask-image:linear-gradient(#0000,#000 25%,#0000 94%);mask-image:linear-gradient(#0000,#000 25%,#0000 94%)}.grain{z-index:9999;opacity:.035;pointer-events:none;background-image:repeating-radial-gradient(circle at 17% 23%,#ffffffb3 0 .35px,#0000 .5px 3px),repeating-radial-gradient(circle at 79% 68%,#ffffff8c 0 .3px,#0000 .5px 4px);background-size:37px 31px,43px 47px;position:absolute;inset:0}@keyframes float-glow{to{transform:translate(-8vw,8vh)scale(1.08)}}.system-bar{z-index:9000;background:var(--bar-bg);height:34px;color:var(--desktop-text);-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3);font-family:var(--mono);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:24px;padding:0 16px;font-size:11px;display:flex;position:absolute;inset:0 0 auto}.system-brand,.system-actions{align-items:center;gap:8px;display:flex}.system-brand strong{font-weight:600}.system-mark{background:0 0;border-radius:5px;place-items:center;width:19px;height:19px;display:grid;overflow:hidden}.system-mark img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.system-separator{color:var(--desktop-muted)}.system-actions{height:100%;color:var(--desktop-muted)}.system-status-item{place-items:center;min-width:21px;height:100%;display:grid;position:relative}.system-status-glyph{transition:color .15s,opacity .15s,transform .15s;display:block}.system-status-item:hover .system-status-glyph,.system-status-item:focus-within .system-status-glyph{color:var(--desktop-text);opacity:1;transform:translateY(-1px)}.system-status-button{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:25px;height:29px;padding:0;display:grid}.system-status-button:hover,.system-status-button:focus-visible,.music-status.is-playing .system-status-button{background:#ffffff1f}.theme-light .system-status-button:hover,.theme-light .system-status-button:focus-visible,.theme-light .music-status.is-playing .system-status-button{background:#00000013}.system-time{min-width:58px;color:var(--desktop-text);white-space:nowrap;font-size:11px;font-weight:500}.status-popover{z-index:10;color:#292a2c;-webkit-backdrop-filter:blur(24px)saturate(1.25);backdrop-filter:blur(24px)saturate(1.25);opacity:0;pointer-events:none;transform-origin:top;background:#f6f6f7f0;border:1px solid #ffffffbd;border-radius:8px;align-items:center;gap:9px;width:max-content;min-width:150px;min-height:43px;padding:7px 10px;transition:opacity .14s,transform .17s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-5px)scale(.97);box-shadow:0 11px 35px #00000040,0 1px 2px #00000024}.system-status-item:hover .status-popover,.system-status-item:focus-within .status-popover{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}.status-popover:before{content:"";height:9px;position:absolute;bottom:100%;left:0;right:0}.status-popover-right{transform-origin:100% 0;left:auto;right:-3px;transform:translateY(-5px)scale(.97)}.system-status-item:hover .status-popover-right,.system-status-item:focus-within .status-popover-right{transform:translateY(0)scale(1)}.status-popover-icon{color:#f4f4f5;background:#898a8e;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.status-popover-copy{flex:1;gap:1px;line-height:1.15;display:grid}.status-popover-copy strong{font-family:var(--mono);font-size:11px;font-weight:600}.status-popover-copy small{color:#77787b;font-family:var(--mono);font-size:8px}.status-value{color:#77787b;font-size:9px;font-weight:600}.music-popover{min-width:246px}.music-popover img{object-fit:cover;border-radius:4px;flex:none;width:29px;height:29px;box-shadow:0 1px 4px #0000003d}.music-waveform{flex:none;justify-content:center;align-items:center;gap:1.5px;width:40px;height:20px;display:flex}.music-waveform i{transform-origin:50%;background:#626468;border-radius:2px;width:2px;animation:.68s ease-in-out infinite alternate music-wave}.music-waveform i:nth-child(3n+1){animation-duration:.54s}.music-waveform i:nth-child(4n+2){animation-duration:.82s}.music-popover-control{color:#f5f5f6;cursor:pointer;background:#6f7175;border:0;border-radius:6px;flex:none;place-items:center;width:27px;height:27px;padding:0;transition:color .14s,background .14s,transform .14s;display:grid}.music-popover-control:hover{color:#fff;background:#292a2c;transform:scale(1.07)}.music-popover-control:active{transform:scale(.94)}.music-popover-control:focus-visible{outline-offset:2px;outline-color:#292a2c}@keyframes music-wave{0%{opacity:.58;transform:scaleY(.28)}to{opacity:1;transform:scaleY(1)}}.date-popover{justify-content:center;min-width:118px;min-height:35px;padding:7px 11px;font-weight:600}.desktop-icons{z-index:1;flex-direction:column;gap:10px;display:flex;position:absolute;top:58px;left:26px}.desktop-icon{color:#fff;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:7px;width:90px;padding:8px;transition:background .16s,border-color .16s,transform .16s;display:flex}.desktop-icon:hover,.desktop-icon.is-active{background:#ffffff17;border-color:#ffffff1f}.desktop-icon:active{transform:scale(.96)}.desktop-icon-tile{width:56px;height:56px;color:var(--accent);background:linear-gradient(145deg,#191d1ff5,#07090af7);border:1px solid #ffffff2e;border-radius:15px;place-items:center;display:grid;box-shadow:0 12px 30px #00000047,inset 0 1px #ffffff14}.desktop-icon:nth-child(2) .desktop-icon-tile{color:#89d1ff}.desktop-icon:nth-child(4) .desktop-icon-tile{color:#ffb76a}.desktop-icon-label{color:#fff;text-shadow:0 2px 5px #000;font-size:12px;font-weight:600}.window-shell{z-index:2;border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;flex-direction:column;min-width:520px;min-height:380px;display:flex;position:absolute;overflow:hidden;box-shadow:0 34px 90px #00000075,0 2px 8px #0000004d}.window-shell.is-maximized{border-radius:12px}.window-shell.is-snapped{border-radius:10px;min-width:0;min-height:0;transition:left .42s cubic-bezier(.22,1,.36,1),top .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1),border-radius .42s cubic-bezier(.22,1,.36,1)}.window-shell.is-snapped .window-titlebar{grid-template-columns:minmax(88px,.75fr) minmax(0,2fr) minmax(32px,.75fr)}.snap-preview{z-index:8400;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8ff6424;border:1px solid #c8ff64b8;border-radius:12px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 60px #0000003d}.window-shell.is-zooming{transition:left .46s cubic-bezier(.22,1,.36,1),top .46s cubic-bezier(.22,1,.36,1),width .46s cubic-bezier(.22,1,.36,1),height .46s cubic-bezier(.22,1,.36,1),border-radius .46s cubic-bezier(.22,1,.36,1)}.window-titlebar{z-index:10;border-bottom:1px solid var(--panel-border);background:var(--title-bg);height:48px;color:var(--desktop-text);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;flex:0 0 48px;grid-template-columns:150px 1fr 150px;align-items:center;padding:0 15px;display:grid;position:relative}.window-titlebar:active{cursor:grabbing}.traffic-lights{z-index:30;align-items:center;gap:8px;display:flex;position:relative}.traffic-light{cursor:pointer;border:0;border-radius:50%;width:12px;height:12px;padding:0;position:relative;box-shadow:inset 0 0 0 .5px #00000047}.traffic-light.close{background:#ff5f57}.traffic-light.minimize{background:#febc2e}.traffic-light.maximize{background:#28c840}.theme-light .snap-preview{background:#c8ff6433;border-color:#527800a6;box-shadow:inset 0 0 0 1px #ffffff7a,0 18px 50px #19211a2e}.traffic-lights:hover .traffic-light:after{content:"";background:#0000006b;border-radius:50%;position:absolute;inset:4px}.window-title{font-family:var(--mono);justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.titlebar-spacer{width:100%}.browser-toolbar{align-items:center;gap:8px;width:100%;display:flex}.browser-toolbar>button{width:27px;height:27px;color:var(--desktop-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.browser-toolbar>button:hover{background:#ffffff1a}.browser-toolbar>button.is-refreshing svg{animation:.6s cubic-bezier(.3,.7,.3,1) refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.url-bar{border:1px solid var(--panel-border);height:30px;color:var(--desktop-muted);font-family:var(--mono);background:#0000002e;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 11px;font-size:11px;display:flex}.window-content{flex:1;min-height:0}.terminal-content{background:var(--terminal-bg)}.browser-content{background:#101211}.resize-handle{z-index:20;cursor:nwse-resize;touch-action:none;width:22px;height:22px;position:absolute;bottom:0;right:0}.resize-handle:after{content:"";border-bottom:1px solid #ffffff59;border-right:1px solid #ffffff59;width:7px;height:7px;position:absolute;bottom:5px;right:5px}.is-manipulating-window,.is-manipulating-window *{-webkit-user-select:none!important;user-select:none!important}.terminal-app{color:#d9ddd7;height:100%;font-family:var(--mono);flex-direction:column;font-size:13px;line-height:1.55;display:flex}.terminal-scroll{scrollbar-width:thin;scrollbar-color:#363a37 transparent;flex:1;min-height:0;padding:24px 26px 18px;overflow:auto}.boot-sequence{color:#7c837d;min-height:72px;margin:4px 0 18px}.boot-sequence p{margin:0 0 2px}.boot-cursor{vertical-align:-.12em;background:var(--accent);width:6px;height:1em;margin-left:4px;animation:.62s step-end infinite boot-cursor-blink;display:inline-block}@keyframes boot-cursor-blink{50%{opacity:0}}.terminal-session-intro{will-change:transform, opacity, filter}.ascii-logo{color:var(--accent);text-shadow:0 0 28px #c8ff642b;margin:0 0 20px;font-size:clamp(6px,.72vw,11px);font-weight:600;line-height:1.14;overflow:hidden}.terminal-welcome{border:1px solid #4a4f49;border-left:2px solid var(--accent);background:#ffffff06;border-radius:5px;padding:12px 14px}.terminal-welcome p{margin:0}.terminal-welcome strong,.terminal-welcome b,.terminal-accent{color:var(--accent)}.terminal-welcome span{color:#747b75}.terminal-entries{flex-direction:column;gap:20px;margin-top:20px;display:flex}.terminal-command{color:#f1f3ef}.terminal-command span{color:#74dfff}.terminal-output{color:#aeb4ad;margin-top:8px}.terminal-output p{margin:0}.terminal-error{color:#ff8580}.ai-thinking{color:#7c837d;align-items:center;gap:5px;font-size:11px;display:flex}.ai-thinking span{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite alternate ai-pulse}.ai-thinking span:nth-child(2){animation-delay:.15s}.ai-thinking span:nth-child(3){margin-right:5px;animation-delay:.3s}@keyframes ai-pulse{0%{opacity:.28;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}.ai-response{background:#74dfff09;border:1px solid #343a35;border-left:2px solid #78dfff;border-radius:7px;max-width:680px;padding:13px 15px}.ai-label{color:#78dfff;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:600;display:block}.ai-response p{color:#b9c0b9;white-space:pre-wrap;line-height:1.65}.ai-response.ai-unavailable{background:#febc2e09;border-left-color:#febc2e}.ai-unavailable .ai-label{color:#febc2e}.terminal-prompt{background:#00000052;border-top:1px solid #303330;align-items:center;gap:9px;min-height:48px;padding:0 26px;display:flex}.terminal-input-area{flex-direction:column;margin-top:16px;display:flex;position:relative;overflow:visible}.terminal-prompt label{color:#74dfff;flex:none}.terminal-prompt input{color:#f4f5f2;min-width:0;caret-color:var(--accent);font-family:var(--mono);background:0 0;border:0;outline:0;flex:1;padding:0}.terminal-prompt input::placeholder{color:#565b57}.terminal-prompt input:disabled,.terminal-prompt button:disabled{cursor:wait;opacity:.68}.terminal-prompt button{color:#747a75;font-family:var(--mono);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px}.command-table{gap:1px;display:grid}.command-row{border-radius:4px;grid-template-columns:128px 1fr;gap:14px;padding:4px 6px;display:grid}.command-row:hover{background:#ffffff09}.command-table span{color:var(--accent)}.command-table p{color:#8c928c}.terminal-card{background:#ffffff06;border:1px solid #343834;border-radius:7px;max-width:600px;padding:13px 15px}.terminal-card-label{color:var(--accent);letter-spacing:.12em;margin-bottom:5px;font-size:10px;display:block}.terminal-card strong{color:#fff;margin-bottom:4px;display:block}.terminal-projects{gap:2px;display:grid}.terminal-projects a{color:#8f958f;border:1px solid #0000;border-radius:2px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:5px 0;text-decoration:none;display:grid}.terminal-projects a:hover{background:#ffffff08;border-color:#363a36}.terminal-project-icon{background:#080909;border:3px solid #1c1e1e;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;overflow:hidden;box-shadow:0 2px 8px #00000047}.terminal-project-icon img{object-fit:cover;width:100%;height:100%;display:block}.terminal-projects strong{color:#f1f3ef;align-items:center;gap:3px;font-size:12px;display:inline-flex}.terminal-projects small{font:inherit}.terminal-projects-panel{box-sizing:border-box;border:2px solid #aeb2ae;border-radius:3px;width:100%;max-width:none;padding:15px 13px 12px}.terminal-projects-panel>h3{color:#8ee6bd;margin-bottom:8px;font-size:12px}.terminal-skills{flex-wrap:wrap;gap:7px;display:flex}.terminal-skills span{color:#c8ccc7;border:1px solid #3b403b;border-radius:4px;padding:4px 8px}.terminal-links{gap:5px;display:grid}.terminal-links a{width:fit-content;color:var(--accent);gap:12px;text-decoration:none;display:flex}.terminal-links a span{color:#aeb4ad}.terminal-section{max-width:720px}.terminal-section h3,.terminal-section h4{color:#f1f3ef;letter-spacing:-.02em;margin:0 0 12px;font-size:14px}.terminal-section h4{color:#9da49d;letter-spacing:.08em;text-transform:uppercase;margin-top:20px;font-size:11px}.terminal-note{color:#747b75;font-size:11px;margin-top:14px!important}.terminal-about-card{background:#ffffff06;border:1px solid #343834;border-radius:6px;grid-template-columns:190px 1fr;gap:18px;max-width:730px;padding:14px;display:grid}.terminal-about-card img{object-fit:cover;object-position:center 32%;border:1px solid #3a403a;border-radius:4px;align-self:start;width:190px;height:190px}.terminal-about-card h3{color:#fff;margin:1px 0 7px;font-size:17px}.terminal-about-card p+p{margin-top:7px}.terminal-about-card small{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-top:11px;font-size:9px;display:block}.terminal-timeline{border-top:1px solid #343934;display:grid}.terminal-timeline>div{border-bottom:1px solid #2e332e;grid-template-columns:58px 160px 1fr;gap:14px;padding:11px 5px;display:grid}.terminal-timeline span{color:#717871;letter-spacing:.08em;font-size:9px}.terminal-timeline strong{color:var(--accent);font-size:11px}.terminal-timeline p{color:#969d96;font-size:11px}.terminal-experience-card{border-top:1px solid #343934;border-bottom:1px solid #343934;grid-template-columns:170px 1fr;gap:22px;padding:17px 5px;display:grid}.terminal-experience-date span,.terminal-experience-date small{display:block}.terminal-experience-date img{object-fit:cover;border:1px solid #343934;border-radius:4px;width:54px;height:54px;margin-bottom:12px;display:block}.terminal-experience-date span{color:var(--accent);font-size:10px}.terminal-experience-date small{color:#747b75;margin-top:5px;font-size:9px}.terminal-experience-copy>span{color:#858c85;font-size:10px}.terminal-experience-copy h4{color:#f1f3ef;letter-spacing:-.02em;text-transform:none;margin:4px 0 6px;font-size:13px}.terminal-experience-copy p{color:#858c85;margin-bottom:10px;font-size:10px}.terminal-experience-copy strong{color:#b8beb7;font-size:11px;font-weight:500;line-height:1.55}.terminal-skill-table{border:1px solid #343934;border-radius:5px;grid-template-columns:105px 1fr;gap:5px 16px;padding:12px;display:grid}.terminal-skill-table span{color:var(--accent)}.terminal-skill-table p{color:#929992}.terminal-language-table{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.terminal-language-table>div{border:1px solid #343934;border-radius:4px;padding:9px 10px}.terminal-language-table span,.terminal-language-table strong{display:block}.terminal-language-table span{color:#d4d8d2;font-size:11px}.terminal-language-table strong{color:var(--accent);margin-top:2px;font-size:9px;font-weight:500}.terminal-projects a>div{min-width:0}.terminal-projects a>div strong{display:inline-flex}.terminal-projects a>div small{color:#7e857e;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;line-height:1.4;display:block;overflow:hidden}.terminal-contact-cta{border:1px solid #43503c;border-left:2px solid var(--accent);background:linear-gradient(120deg,#c8ff640e,#74dfff06);border-radius:6px;max-width:650px;padding:18px}.terminal-contact-cta>span{color:var(--accent);letter-spacing:.12em;font-size:9px}.terminal-contact-cta h3{color:#fff;margin:7px 0 5px;font-size:19px}.terminal-contact-cta>p{color:#969d96}.terminal-email-button{border:1px solid var(--accent);background:var(--accent);color:#11150e;border-radius:4px;align-items:center;gap:9px;width:fit-content;margin:17px 0;padding:8px 11px;font-weight:700;text-decoration:none;display:flex}.terminal-contact-cta .terminal-links{grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 22px}.terminal-contact-cta .terminal-links a{display:block}.terminal-contact-cta .terminal-links a span{font-size:9px;display:block}.terminal-inline-icon{vertical-align:-2px;margin-right:6px}.terminal-live-panel{margin-top:20px}.slash-command-menu{z-index:20;box-shadow:none;overflow-anchor:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:0;padding:0;display:grid;position:relative}.slash-command-menu>button{color:#555b57;width:100%;min-height:24px;font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:0;padding:2px 12px;font-size:12px;line-height:1.35;display:grid}.slash-command-menu>button strong{color:#a6aca7;font-weight:500}.slash-command-menu>button.is-selected{color:#aeb3af;background:#25282a}.slash-command-menu>button.is-selected strong{color:#edf0ed}.testimonial-player{background:#ffffff06;border:1px solid #3a403a;border-radius:6px;max-width:680px;padding:17px}.testimonial-heading,.snake-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.testimonial-heading h3,.snake-header h3{color:#fff;margin:0;font-size:14px}.testimonial-heading span{color:var(--accent)}.testimonial-player blockquote{color:#b5bbb4;font-family:var(--serif);margin:18px 0;font-size:18px;line-height:1.45}.testimonial-player small,.snake-game>small{color:#737a73;font-size:9px}.snake-game{background:#090c0a;border:1px solid #3d443d;border-radius:6px;max-width:670px;padding:14px}.snake-header{margin-bottom:11px}.snake-header h3{align-items:center;gap:7px;display:flex}.snake-header strong{color:var(--accent);font-size:11px}.snake-board{aspect-ratio:5/3;background:#0d120e;border:1px solid #394139;grid-template-columns:repeat(20,1fr);margin-bottom:9px;display:grid;position:relative;overflow:hidden}.snake-board>span{border:1px solid #ffffff05}.snake-board>span.is-snake,.snake-board>span.is-head{background:#779f3c;border:0;border-radius:2px;margin:12%}.snake-board>span.is-head{background:var(--accent);box-shadow:0 0 12px #c8ff648c}.snake-board>span.is-food{background:#ff6868;border:0;border-radius:50%;margin:24%;box-shadow:0 0 10px #ff686899}.snake-overlay{color:#fff;letter-spacing:.05em;background:#050806b8;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.cv-viewer{background:#d9d9d6;flex-direction:column;height:100%;display:flex;position:relative}.cv-toolbar{color:#252825;min-height:46px;font-family:var(--mono);background:#f2f2ef;border-bottom:1px solid #b8bab6;justify-content:space-between;align-items:center;gap:20px;padding:0 15px;font-size:10px;display:flex}.cv-toolbar>div,.cv-toolbar a{align-items:center;gap:7px;display:flex}.cv-toolbar a{color:#fff;background:#1c211d;border-radius:4px;padding:6px 9px;text-decoration:none}.cv-preview-scroll{background:#cacbc7;flex:1;min-height:0;padding:28px;overflow:auto}.cv-document{color:#171b18;background:#f7f8f4;width:min(100%,820px);min-height:1040px;margin:0 auto;padding:clamp(34px,6vw,68px);box-shadow:0 18px 45px #191c192e}.cv-document-header{border-bottom:1px solid #d7dcd4;justify-content:space-between;align-items:start;gap:30px;padding-bottom:20px;display:flex}.cv-document-header h1{letter-spacing:-.055em;margin:0;font-size:clamp(35px,5vw,57px);line-height:.95}.cv-document-header p{color:#75a90c;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:10px 0 0;font-size:10px}.cv-document-header address{font-family:var(--mono);text-align:right;gap:5px;font-size:9px;font-style:normal;display:grid}.cv-document-header address a{color:#687068;text-decoration:none}.cv-document-section{margin-top:24px}.cv-document-section>h2{color:#75a90c;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;font-size:11px}.cv-document-section>p{margin:0;font-size:12px;line-height:1.65}.cv-experience-row{border-top:1px solid #d7dcd4;border-bottom:1px solid #d7dcd4;grid-template-columns:140px 1fr 1fr;gap:24px;padding:16px 0;display:grid}.cv-experience-row>div:first-child img{object-fit:cover;border:1px solid #d7dcd4;width:46px;height:46px;margin-bottom:9px;display:block}.cv-experience-row strong,.cv-experience-row small{display:block}.cv-experience-row strong,.cv-experience-row>div:first-child small,.cv-experience-row>div:nth-child(2) small{color:#687068;font-family:var(--mono);font-size:8px;font-weight:500}.cv-experience-row>div:first-child small{margin-top:3px}.cv-experience-row h3,.cv-project-list h3{margin:0;font-size:13px}.cv-experience-row>div:nth-child(2) p{margin:5px 0;font-size:10px}.cv-experience-row>p{color:#687068;margin:0;font-size:10px;line-height:1.55}.cv-project-list,.cv-skill-list{border-top:1px solid #d7dcd4}.cv-project-list>div{border-bottom:1px solid #d7dcd4;grid-template-columns:26px 150px 1fr;gap:14px;padding:11px 0;display:grid}.cv-project-list>div>span,.cv-project-list small,.cv-skill-list strong{color:#75a90c;font-family:var(--mono);text-transform:uppercase;font-size:8px}.cv-project-list p{color:#687068;margin:0;font-size:9px;line-height:1.5}.cv-skill-list>div{border-bottom:1px solid #d7dcd4;grid-template-columns:130px 1fr;gap:20px;padding:9px 0;font-size:10px;display:grid}.project-videos-app{color:#f2f4f1;background:#0b0d0f;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.project-videos-app.is-single-video .project-video-player{width:min(100%,900px);margin:0 auto}.project-videos-sidebar{background:#111416;border-right:1px solid #272b29;min-height:0;padding:19px 14px;overflow:auto}.project-videos-sidebar-heading{gap:5px;padding:0 6px 16px;display:grid}.project-videos-sidebar-heading>span{align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.project-videos-sidebar-heading>small{color:#767e78;font-family:var(--mono);text-transform:uppercase;font-size:9px}.project-video-list{gap:6px;display:grid}.project-video-list>button{color:#aab0ab;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px;transition:border-color .15s,background .15s,color .15s;display:grid}.project-video-list>button:hover{color:#f3f5f2;background:#ffffff0b}.project-video-list>button.is-active{color:#fff;background:#c8ff6413;border-color:#3a403b}.project-video-thumb{background:#f7f7f2;border:1px solid #343a36;border-radius:5px;width:52px;height:52px;position:relative;overflow:hidden}.project-video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-video-thumb i{color:#fff;background:#080a0be0;border-radius:50%;place-items:center;width:20px;height:20px;font-style:normal;display:grid;position:absolute;bottom:4px;right:4px}.project-video-list>button>span:last-child,.project-video-list strong,.project-video-list small{min-width:0;display:block}.project-video-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-video-list small{color:#747c76;font-family:var(--mono);margin-top:4px;font-size:8px}.project-video-player{min-width:0;min-height:0;padding:22px clamp(18px,3vw,32px) 30px;overflow:auto}.project-video-player-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.project-video-player-heading>div span,.project-video-player-heading>div strong{display:block}.project-video-player-heading>div span{color:#778079;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:8px}.project-video-player-heading>div strong{font-size:13px}.project-video-player-heading>a{color:#d9ddd8;font-family:var(--mono);border:1px solid #353b36;border-radius:4px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.project-video-player-heading>a:hover{background:#ffffff0b;border-color:#646d65}.project-video-embed{background:#050607;border:1px solid #303632;border-radius:5px;width:100%;min-height:360px;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000047}.project-video-embed iframe{background:#050607;border:0;width:100%;height:100%;position:absolute;inset:0}.project-video-embed.is-linkedin{aspect-ratio:504/399;width:min(100%,640px);min-height:0;margin-inline:auto}.project-video-meta{padding:20px 2px 0}.project-video-meta>span{color:var(--accent);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.project-video-meta h2{letter-spacing:-.04em;margin:7px 0 8px;font-size:clamp(22px,3vw,34px)}.project-video-meta>p{color:#969d97;max-width:680px;margin:0;font-size:11px;line-height:1.65}.project-video-meta>div{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.project-video-meta>div small{color:#b7bdb7;font-family:var(--mono);border:1px solid #343a36;border-radius:3px;padding:4px 7px;font-size:8px}.project-video-meta>em{color:#676e68;font-family:var(--mono);margin-top:13px;font-size:8px;font-style:normal;line-height:1.5;display:block}.web-portfolio{scroll-behavior:smooth;color:#171918;scrollbar-color:#9d9d96 #e5e3da;background:#f1f0e9;height:100%;position:relative;overflow:auto}.web-portfolio.is-loading{overflow:hidden}.web-portfolio-stage{min-height:100%}.web-portfolio.is-loading .web-portfolio-stage{pointer-events:none}.web-loader{z-index:20;color:#171918;font-family:var(--mono);background:#f1f0e9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.web-loader-ring{border:2px solid #17191829;border-top-color:#171918;border-radius:50%;width:23px;height:23px;animation:.62s linear infinite web-loader-spin}@keyframes web-loader-spin{to{transform:rotate(360deg)}}.web-nav{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f1f0e9d9;border-bottom:1px solid #1416151f;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(24px,5vw,72px);display:flex;position:sticky;top:0}.web-wordmark{color:#171918;letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;font-weight:700}.web-wordmark span{color:#6a870a}.web-nav nav{gap:26px;display:flex}.web-nav nav button{color:#515450;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:12px;font-weight:600}.web-nav nav button:hover{color:#171918}.web-page{overflow:hidden}.web-hero{flex-direction:column;justify-content:center;min-height:min(710px,100vh - 118px);padding:clamp(54px,9vw,120px) clamp(24px,7vw,104px) 50px;display:flex}.availability{color:#5e615c;width:fit-content;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #14161526;border-radius:999px;align-items:center;gap:9px;margin-bottom:60px;padding:7px 11px;font-size:9px;display:flex}.availability span{background:#7da000;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #7da0001f}.web-kicker{color:#777a74;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(10px,1.1vw,13px)}.web-hero h1{letter-spacing:-.075em;max-width:950px;margin:0;font-size:clamp(56px,9vw,128px);font-weight:500;line-height:.88}.web-hero h1 em,.about-statement h2 em,.work-heading h2 em,.web-contact h2 em{font-family:var(--serif);font-weight:400}.web-hero h1 em{color:#718d0d}.web-hero-footer{color:#555853;font-family:var(--mono);text-transform:uppercase;border-top:1px solid #14161529;justify-content:space-between;gap:24px;margin-top:70px;padding-top:17px;font-size:11px;line-height:1.6;display:flex}.web-hero-footer p{margin:0}.web-location{text-align:right}.web-about,.web-experience,.web-creative,.web-work,.web-contact{border-top:1px solid #14161524;padding:clamp(75px,10vw,140px) clamp(24px,7vw,104px)}.web-about{color:#f0f0e9;background:#191b1a}.section-index{color:#7c807b;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:70px;font-size:10px}.about-statement p{color:#888d87;font-family:var(--mono);text-transform:uppercase;margin:0 0 3px;font-size:11px}.about-intro{grid-template-columns:minmax(0,1fr) clamp(170px,19vw,250px);align-items:end;gap:clamp(38px,7vw,100px);display:grid}.about-portrait{margin:0}.about-portrait img{aspect-ratio:3/4;object-fit:cover;object-position:center 28%;filter:saturate(.82)contrast(1.03);border:1px solid #383b38;border-radius:4px;width:100%;display:block}.about-portrait figcaption{color:#737872;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:9px;font-size:9px}.about-statement h2,.work-heading h2,.web-contact h2{letter-spacing:-.065em;margin:0;font-size:clamp(45px,7.5vw,105px);font-weight:500;line-height:.94}.about-statement h2 em{color:var(--accent)}.about-copy{color:#a8ada6;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,70px);width:min(760px,78%);margin:80px 0 0 auto;font-size:clamp(16px,1.7vw,22px);line-height:1.55;display:grid}.about-copy p{margin:0}.capability-grid{background:#383b38;border:1px solid #383b38;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:76px;display:grid}.capability-grid>div{background:#191b1a;min-height:190px;padding:24px}.capability-grid span,.creative-label{color:#737872;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:9px;display:block}.capability-grid strong{color:#f0f0e9;margin-top:42px;font-size:18px;display:block}.capability-grid p{color:#858a84;max-width:280px;margin:11px 0 0;font-size:13px;line-height:1.55}.web-languages{border-top:1px solid #383b38;border-bottom:1px solid #383b38;justify-content:space-between;align-items:start;gap:30px;margin-top:70px;padding:20px 0;display:flex}.web-languages>span{color:#737872;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.web-languages>div{grid-template-columns:repeat(3,1fr);gap:1px;width:min(760px,78%);display:grid}.web-languages p{margin:0}.web-languages strong,.web-languages small{display:block}.web-languages strong{font-size:15px}.web-languages small{color:var(--accent);font-family:var(--mono);text-transform:uppercase;margin-top:4px;font-size:9px}.principles{background:#383b38;border-top:1px solid #383b38;border-bottom:1px solid #383b38;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:100px;display:grid}.principles>div{background:#191b1a;min-height:210px;padding:25px 24px}.principles span{color:#737872;font-family:var(--mono);margin-bottom:48px;font-size:10px;display:block}.principles strong{margin-bottom:10px;font-size:17px;display:block}.principles p{color:#858a84;max-width:260px;margin:0;font-size:13px;line-height:1.55}.web-experience{background:#e6e8df}.experience-heading{max-width:940px}.experience-heading>p{color:#747970;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:10px}.experience-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(42px,6.5vw,92px);font-weight:500;line-height:.96}.experience-heading h2 em{color:#718d0d;font-family:var(--serif);font-weight:400}.experience-entry{border-top:1px solid #14161533;border-bottom:1px solid #14161533;grid-template-columns:76px 160px minmax(250px,1fr) minmax(250px,.9fr);gap:clamp(24px,4vw,62px);margin-top:80px;padding:28px 0;display:grid}.experience-logo{object-fit:cover;border:1px solid #14161524;border-radius:4px;width:76px;height:76px}.experience-period span,.experience-period small{font-family:var(--mono);display:block}.experience-period span{color:#1c211d;font-size:10px}.experience-period small{color:#777b74;margin-top:7px;font-size:9px}.experience-role>span{color:#6c880c;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.experience-role h3{letter-spacing:-.04em;margin:8px 0 7px;font-size:clamp(23px,2.5vw,34px);line-height:1.05}.experience-role p,.experience-focus{color:#62675f;margin:0;font-size:12px;line-height:1.6}.experience-focus{max-width:420px;font-size:15px}.web-creative{color:#f3f3ec;background:#151716}.creative-heading{max-width:990px}.creative-heading>p{color:#878c86;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:10px}.creative-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(42px,6.5vw,92px);font-weight:500;line-height:.96}.creative-heading h2 em{color:#ff668d;font-family:var(--serif);font-weight:400}.video-work-card{border-top:1px solid #353936;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(32px,6vw,90px);margin-top:78px;padding-top:28px;display:grid}.video-work-preview{background:#202321;border:1px solid #383c39;border-radius:5px;min-width:0;padding:clamp(16px,3vw,28px);box-shadow:0 28px 80px #00000047}.video-frame{background:radial-gradient(circle at 70% 30%,#ff80a07a,#0000 25%),linear-gradient(135deg,#ff4774,#6b1d6d 55%,#171918);border-radius:3px;place-items:center;min-height:300px;display:grid;position:relative;overflow:hidden}.video-frame:before,.video-frame:after{content:"";border:1px solid #fff3;border-radius:50%;position:absolute}.video-frame:before{width:330px;height:330px;top:-145px;right:-105px}.video-frame:after{width:180px;height:180px;bottom:-85px;left:-65px}.video-frame img{aspect-ratio:1;object-fit:cover;border:1px solid #ffffff80;border-radius:15%;width:min(31%,150px);box-shadow:0 24px 60px #16091161}.video-play{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14161573;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;bottom:18px;right:18px}.edit-timeline{border-top:1px solid #383c39;border-bottom:1px solid #383c39;grid-template-columns:1.25fr .65fr 1fr .85fr;gap:4px;height:38px;margin-top:12px;padding:7px 0;display:grid;position:relative}.edit-timeline span{background:#ae315b;border-radius:2px}.edit-timeline span:nth-child(2){background:#75518f}.edit-timeline span:nth-child(3){background:#cb9d3d}.edit-timeline span:nth-child(4){background:#4d809b}.edit-timeline i{background:#ff668d;width:1px;position:absolute;top:2px;bottom:2px;left:58%;box-shadow:0 0 8px #ff668db3}.video-work-copy h3{letter-spacing:-.055em;margin:15px 0 16px;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:.98}.video-work-copy>p{color:#a7aca5;margin:0;font-size:15px;line-height:1.65}.creative-tools{flex-wrap:wrap;gap:7px;margin-top:26px;display:flex}.creative-tools small{color:#c7cbc5;font-family:var(--mono);border:1px solid #414541;border-radius:999px;padding:6px 9px;font-size:9px}.creative-links{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.creative-links a{color:#ffe5ec;font-family:var(--mono);border:1px solid #ff668d;border-radius:3px;align-items:center;gap:8px;padding:11px 13px;font-size:10px;text-decoration:none;transition:color .18s,background .18s,transform .18s;display:inline-flex}.creative-links a:hover{color:#171918;background:#ff668d;transform:translateY(-2px)}.web-work{background:#f1f0e9}.work-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px;display:flex}.work-heading h2{max-width:800px}.work-heading h2 em{color:#718d0d}.work-heading>span{color:#777a74;font-family:var(--mono);text-transform:uppercase;flex:none;font-size:10px}.project-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.project-card{color:#171918;background:#f8f7f1;border:1px solid #14161524;border-radius:4px;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;overflow:hidden}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px #1e221e1f}.project-card:first-child{grid-column:span 2}.project-visual{background:linear-gradient(130deg, color-mix(in srgb, var(--project-accent) 75%, #111 25%), #131515 75%);color:#fff;justify-content:space-between;align-items:flex-start;min-height:230px;padding:22px;display:flex;position:relative;overflow:hidden}.project-card:first-child .project-visual{min-height:320px}.project-visual:before,.project-visual:after{content:"";border:1px solid #ffffff3d;border-radius:50%;position:absolute}.project-visual:before{width:240px;height:240px;bottom:-110px;right:-45px}.project-visual:after{width:120px;height:120px;bottom:-52px;right:14px}.project-orbit{aspect-ratio:1;border:1px solid #ffffff3d;border-radius:50%;width:36%;transition:transform .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-orbit:before,.project-orbit:after{content:"";border:1px solid #ffffff4d;border-radius:50%;position:absolute;inset:18%}.project-orbit:after{background:var(--project-accent);box-shadow:0 0 45px color-mix(in srgb, var(--project-accent) 75%, transparent);border:0;inset:40%}.project-card:hover .project-orbit{transform:translate(-50%,-50%)scale(1.14)rotate(20deg)}.project-logo{z-index:1;aspect-ratio:1;object-fit:cover;background:#fbfaf7;border:1px solid #ffffff6b;border-radius:11%;width:min(48%,210px);transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 55px #0f111047}.project-card:hover .project-logo{transform:translate(-50%,-50%)scale(1.06)rotate(-2deg)}.project-code,.project-visual>svg{z-index:2;position:relative}.project-code{font-family:var(--mono);font-size:10px}.project-card-copy{padding:23px 24px 28px}.project-card-copy>span{color:#747873;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:9px}.project-card-copy h3{letter-spacing:-.045em;margin:9px 0 10px;font-size:clamp(27px,3vw,40px);font-weight:600}.project-card-copy p{color:#60645f;max-width:620px;margin:0;font-size:14px;line-height:1.55}.project-stack{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}.project-stack small{font-family:var(--mono);border:1px solid #14161524;border-radius:999px;padding:5px 8px;font-size:9px}.web-contact{background:#c8ff64;flex-direction:column;justify-content:center;min-height:620px;display:flex}.web-contact .section-index{color:#5f7a22}.web-contact>p{font-family:var(--mono);text-transform:uppercase;margin:0 0 20px;font-size:11px}.web-contact h2 em{color:#546f0c}.email-link{color:#171918;letter-spacing:-.04em;border-bottom:2px solid #171918;align-items:center;gap:18px;width:fit-content;margin-top:60px;padding-bottom:6px;font-size:clamp(21px,3vw,38px);font-weight:600;text-decoration:none;display:inline-flex}.email-link svg{transition:transform .18s}.email-link:hover svg{transform:translate(4px,-4px)}.web-footer{color:#aaafa8;font-family:var(--mono);background:#171918;justify-content:space-between;gap:30px;padding:30px clamp(24px,7vw,104px);font-size:10px;display:flex}.web-footer p{margin:0}.web-footer div{gap:20px;display:flex}.web-footer a{color:#d7dad4;align-items:center;gap:6px;text-decoration:none;display:flex}.desktop-hint{z-index:1;color:#ffffff9e;font-family:var(--mono);text-shadow:0 1px 4px #000;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:22px;left:24px}.desktop-hint strong{color:#fff}.hint-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #c8ff6421}.dock{z-index:8500;-webkit-backdrop-filter:blur(22px)saturate(1.35);backdrop-filter:blur(22px)saturate(1.35);background:#10121394;border:1px solid #ffffff26;border-radius:15px;align-items:center;gap:8px;padding:7px 9px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #0000003d}.dock-app,.dock-link{color:#fff;cursor:pointer;background:#ffffff12;border:0;border-radius:10px;place-items:center;width:38px;height:38px;padding:0;transition:transform .16s,background .16s;display:grid;position:relative}.dock-tooltip{color:#fff;width:max-content;font-family:var(--mono);letter-spacing:.02em;pointer-events:none;opacity:0;background:#0c0e0feb;border:1px solid #ffffff24;border-radius:7px;padding:6px 9px;font-size:9px;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%,5px)scale(.96);box-shadow:0 8px 22px #0000004d}.dock-tooltip:after{content:"";border:4px solid #0000;border-top-color:#0c0e0feb;position:absolute;top:100%;left:50%;transform:translate(-50%)}.dock-app:hover .dock-tooltip,.dock-link:hover .dock-tooltip,.dock-app:focus-visible .dock-tooltip,.dock-link:focus-visible .dock-tooltip{opacity:1;transform:translate(-50%)scale(1)}.dock-app:hover,.dock-link:hover{background:#ffffff26;transform:translateY(-3px)}.dock-app.is-open:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.dock-divider{background:#ffffff29;width:1px;height:28px;margin:0 2px}.theme-light .desktop-icon{color:#171a18}.theme-light .desktop-icon:hover,.theme-light .desktop-icon.is-active{background:#ffffff57;border-color:#11131221}.theme-light .desktop-icon-tile{color:#4b7100;background:linear-gradient(145deg,#fafbf7f5,#daded6f7);border-color:#1113122e;box-shadow:0 12px 30px #222a2329,inset 0 1px #fffc}.theme-light .desktop-icon:nth-child(2) .desktop-icon-tile{color:#1e6d99}.theme-light .desktop-icon:nth-child(4) .desktop-icon-tile{color:#a65300}.theme-light .desktop-icon-label{color:#171a18;text-shadow:0 1px 4px #ffffffe6}.theme-light .dock{background:#f1f4eda3;border-color:#1113122b;box-shadow:0 14px 35px #181f192b}.theme-light .dock-app,.theme-light .dock-link{color:#171a18;background:#11131214}.theme-light .dock-app:hover,.theme-light .dock-link:hover{background:#11131224}.theme-light .dock-divider{background:#11131233}.theme-light .project-videos-app{color:#171b18;background:#eef0ec}.theme-light .project-videos-sidebar{background:#f6f7f3;border-color:#c8cdc6}.theme-light .project-videos-sidebar-heading>small,.theme-light .project-video-list small,.theme-light .project-video-player-heading>div span,.theme-light .project-video-meta>em{color:#697169}.theme-light .project-video-list>button{color:#4e564f}.theme-light .project-video-list>button:hover{color:#171b18;background:#1113120b}.theme-light .project-video-list>button.is-active{color:#171b18;background:#53780014;border-color:#aeb7aa}.theme-light .project-video-player-heading>a,.theme-light .project-video-meta>div small{color:#3e463f;border-color:#bbc2b8}.theme-light .project-video-player-heading>a:hover{background:#1113120b;border-color:#8e988c}.theme-light .project-video-meta>p{color:#5f685f}.theme-light .desktop-hint{color:#111312ad;text-shadow:0 1px 4px #ffffffe6}.theme-light .desktop-hint strong{color:#171a18}.theme-light .terminal-app{color:#202620}.theme-light .boot-sequence,.theme-light .terminal-output{color:#687068}.theme-light .boot-sequence span,.theme-light .ascii-logo,.theme-light .terminal-welcome strong,.theme-light .terminal-welcome b,.theme-light .terminal-accent,.theme-light .command-table span,.theme-light .terminal-projects strong,.theme-light .terminal-links a{color:#527800}.theme-light .ascii-logo{text-shadow:0 0 28px #5278001f}.theme-light .terminal-welcome,.theme-light .terminal-card{background:#11131206;border-color:#afb7ad}.theme-light .terminal-welcome{border-left-color:#6b930e}.theme-light .terminal-welcome span,.theme-light .terminal-card-label,.theme-light .terminal-projects a>span{color:#6a7369}.theme-light .terminal-command,.theme-light .terminal-card strong{color:#171b17}.theme-light .terminal-command span,.theme-light .terminal-prompt label{color:#00728f}.theme-light .terminal-prompt{background:#11131209;border-top-color:#c4c9c1}.theme-light .terminal-prompt input{color:#171b17;caret-color:#527800}.theme-light .terminal-prompt input::placeholder,.theme-light .terminal-prompt button{color:#777e76}.theme-light .command-table p,.theme-light .terminal-projects small,.theme-light .terminal-links a span{color:#646c64}.theme-light .terminal-projects a:hover{background:#11131209;border-color:#bdc4ba}.theme-light .terminal-projects-panel{border-color:#727a72}.theme-light .terminal-projects-panel>h3{color:#287451}.theme-light .terminal-project-icon{background:#eceee9;border-color:#d5d9d3}.theme-light .terminal-skills span{color:#303730;border-color:#b8c0b6}.theme-light .ai-response{background:#007d9d09;border-color:#b7c3ba #b7c3ba #b7c3ba #007d9d}.theme-light .ai-label{color:#00728f}.theme-light .ai-response p,.theme-light .ai-thinking{color:#596259}.theme-light .ai-response.ai-unavailable{background:#a66d0009;border-left-color:#a66d00}.theme-light .ai-unavailable .ai-label{color:#8a5a00}.theme-light .terminal-section h3,.theme-light .terminal-section h4,.theme-light .terminal-about-card h3,.theme-light .terminal-contact-cta h3,.theme-light .testimonial-heading h3,.theme-light .snake-header h3{color:#171b17}.theme-light .terminal-about-card,.theme-light .terminal-skill-table,.theme-light .terminal-language-table>div,.theme-light .testimonial-player{background:#11131206;border-color:#b9c1b7}.theme-light .terminal-about-card img{border-color:#aeb8ab}.theme-light .terminal-about-card p,.theme-light .terminal-skill-table p,.theme-light .terminal-timeline p,.theme-light .terminal-projects a>div small,.theme-light .terminal-projects em,.theme-light .terminal-contact-cta>p,.theme-light .testimonial-player blockquote{color:#5f685f}.theme-light .terminal-timeline,.theme-light .terminal-timeline>div,.theme-light .terminal-experience-card{border-color:#bdc5ba}.theme-light .terminal-language-table span{color:#303730}.theme-light .terminal-experience-copy h4{color:#171b17}.theme-light .terminal-experience-copy>span,.theme-light .terminal-experience-copy p,.theme-light .terminal-experience-date small{color:#656d65}.theme-light .terminal-experience-date img{border-color:#bdc5ba}.theme-light .terminal-experience-copy strong{color:#3d463d}.theme-light .terminal-contact-cta{background:#52780009;border-color:#9faf91 #9faf91 #9faf91 #527800}.theme-light .terminal-email-button{color:#fff;background:#527800;border-color:#527800}.theme-light .slash-command-menu{box-shadow:none;background:0 0}.theme-light .slash-command-menu>button{color:#8a918a}.theme-light .slash-command-menu>button strong{color:#515851}.theme-light .slash-command-menu>button.is-selected{color:#202620;background:#dde1dd}.theme-light .slash-command-menu>button.is-selected strong{color:#151915}.theme-light .snake-game{border-color:#929c90}.theme-light .browser-toolbar>button:hover{background:#00000014}.theme-light .url-bar{background:#ffffff80}.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}@media (width<=1000px){.experience-entry{grid-template-columns:76px 160px minmax(0,1fr)}.experience-focus{grid-column:3}}@media (width<=800px){.snap-preview,.system-brand .system-separator,.system-brand .system-separator+span,.desktop-hint{display:none}.system-actions{gap:7px}.desktop-icons{top:58px;left:12px}.desktop-icon{width:76px}.desktop-icon-tile{width:52px;height:52px}.project-videos-app{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.project-videos-sidebar{border-bottom:1px solid #272b29;border-right:0;padding:11px 12px;overflow:visible}.project-videos-sidebar-heading{justify-content:space-between;align-items:center;padding:0 3px 9px;display:flex}.project-video-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-video-list>button{grid-template-columns:40px minmax(0,1fr);padding:6px}.project-video-thumb{width:40px;height:40px}.project-video-player{padding:16px 14px 26px}.project-video-embed{min-height:clamp(260px,52vw,360px)}.window-shell,.window-shell.is-maximized{border:0;border-radius:0;min-width:0;min-height:0;width:100%!important;height:calc(100dvh - 34px)!important;inset:34px 0 0!important}.window-titlebar{flex-basis:46px;grid-template-columns:88px 1fr 24px;height:46px;padding:0 11px}.window-title{font-size:10px}.traffic-lights{gap:7px}.traffic-light{width:11px;height:11px}.browser-toolbar{grid-column:span 2}.url-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terminal-scroll{padding:20px 16px 14px}.terminal-app{font-size:11px}.terminal-prompt{padding:0 16px;font-size:10px}.terminal-prompt button{display:none}.ascii-logo{font-size:clamp(5px,1.52vw,8px)}.terminal-projects a{grid-template-columns:40px minmax(0,1fr);gap:9px}.terminal-project-icon{width:36px;height:36px}.terminal-about-card{grid-template-columns:1fr}.terminal-about-card img{width:min(100%,320px);height:auto}.terminal-timeline>div{grid-template-columns:48px 1fr}.terminal-timeline p{grid-column:2}.terminal-experience-card,.experience-entry{grid-template-columns:1fr}.experience-entry{margin-top:50px}.experience-focus{grid-column:auto}.terminal-contact-cta .terminal-links,.terminal-language-table{grid-template-columns:1fr}.slash-command-menu>button{grid-template-columns:108px minmax(0,1fr);font-size:10px}.dock{bottom:10px}.web-nav{height:58px;padding:0 20px}.web-nav nav{gap:13px}.web-hero{min-height:640px;padding-top:68px}.availability{margin-bottom:42px}.web-hero h1{font-size:clamp(52px,16vw,84px)}.web-hero-footer{margin-top:48px}.section-index{margin-bottom:44px}.about-copy{grid-template-columns:1fr;width:100%;margin-top:50px}.about-intro{grid-template-columns:1fr}.about-portrait{width:min(75%,260px)}.web-languages,.cv-document-header{flex-direction:column}.web-languages>div{width:100%}.cv-document-header address{text-align:left}.cv-experience-row,.cv-project-list>div{grid-template-columns:1fr}.cv-skill-list>div{grid-template-columns:100px 1fr}.principles{grid-template-columns:1fr;margin-top:62px}.capability-grid{grid-template-columns:1fr;margin-top:58px}.capability-grid>div{min-height:160px}.capability-grid strong{margin-top:28px}.principles>div{min-height:170px}.principles span{margin-bottom:26px}.work-heading{flex-direction:column;align-items:flex-start;margin-bottom:42px}.video-work-card{grid-template-columns:1fr;margin-top:54px}.video-frame{min-height:240px}.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.project-card:first-child .project-visual,.project-visual{min-height:210px}.web-contact{min-height:550px}.web-footer,.web-footer div{flex-direction:column}}@media (width<=520px){.system-time{display:none}.system-bar{padding-inline:10px}.system-actions{gap:5px}.project-video-player-heading{flex-direction:column;align-items:flex-start;gap:10px}.project-video-player-heading>a{justify-content:center;width:100%}.web-nav nav button:nth-child(2){display:none}.web-hero-footer{flex-direction:column}.web-location{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
