@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{font-family:IBM Plex Mono,monospace;color:#8ee88e;background:#050805;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable}:root[data-theme=desktop]{background:#126f73}:root[data-theme=hiring]{background:#e7e4dc}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:transparent}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}a,button{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent,#39ff14);outline-offset:4px}::-moz-selection{color:var(--bg);background:var(--accent)}::selection{color:var(--bg);background:var(--accent)}img{display:block;max-width:100%}svg{flex-shrink:0}a svg,button svg{pointer-events:none}input{caret-color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:var(--rule,#4f8957) var(--bg,#050805)}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{line-height:1.75}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.pixel-icon{width:22px;height:22px}.app{--bg:#050805;--panel:#0b140d;--ink:#8ee88e;--accent:#39ff14;--muted:#80bf87;--rule:#4f8957;color:var(--ink);background:var(--bg);min-height:100svh}.skip-link{position:fixed;top:8px;left:8px;padding:16px;z-index:20;color:var(--bg);background:var(--accent);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.portfolio-shell{max-width:1440px;padding:20px 32px 100px;margin:auto}.system-bar{display:flex;flex-wrap:wrap;align-items:center;gap:24px;min-height:60px;border:1px solid var(--rule);padding:6px 14px}.home-control{border:0;display:inline-flex;align-items:center;gap:12px;font-size:12px;padding:8px 0;margin-right:auto;min-height:44px}.theme-switch{display:inline-flex;padding:3px;border:1px solid var(--rule);gap:3px}.theme-switch button{border:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:7px 12px;font-size:12px}.theme-switch button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.theme-switch button:not([aria-pressed=true]):hover{background:var(--rule)}.theme-terminal .theme-switch button:not([aria-pressed=true]):hover{background:var(--panel);color:var(--ink);box-shadow:inset 0 -2px var(--accent)}.theme-switch .pixel-icon{width:18px;height:18px}.sound-toggle{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;font-size:12px;padding:10px 0;white-space:nowrap}.screensaver-motion-toggle{min-height:44px;padding:8px;border:1px solid var(--rule)}.screensaver-delay,.screensaver-motion-toggle{font:11px/1.3 IBM Plex Mono,monospace;white-space:nowrap}.screensaver-delay{display:inline-flex;align-items:center;gap:8px}.screensaver-delay select{min-height:44px;padding:8px;border:1px solid var(--rule);border-radius:0;font:inherit;color:var(--ink);background:var(--bg);cursor:pointer}.theme-desktop .screensaver-delay select{background:var(--panel);border:2px solid;border-color:#727774 #fafaf4 #fafaf4 #727774}.theme-desktop .screensaver-motion-toggle{background:var(--panel);border:2px solid;border-color:#fafaf4 #727774 #727774 #fafaf4}.terminal-cursor{opacity:.65}.identity-bottom{display:flex;gap:24px;font-size:12px;color:var(--muted)}.identity-bottom>span{margin-right:auto}.identity-bottom a{display:flex;align-items:center;gap:7px}.identity-bottom svg{width:14px;height:14px}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.directory{border:1px solid var(--rule);padding-bottom:18px;min-width:0}.directory-heading{margin:0 0 14px;padding:14px 20px;border-bottom:1px solid var(--rule);font:400 27px VT323,monospace;text-transform:uppercase;letter-spacing:.08em}.directory>button{display:flex;gap:14px;align-items:center;width:calc(100% - 20px);border:0;margin:4px 10px;padding:15px 12px;text-align:left;font-size:13px}.directory>button[aria-current]{color:var(--bg);background:var(--accent)}.directory>button:hover:not([aria-current]){background:var(--panel);color:var(--accent)}.nav-chevron{margin-left:auto;font-size:23px;line-height:1}.directory-note{margin:30px 20px 0;border-top:1px solid var(--rule);padding-top:22px;font-size:11px;color:var(--muted)}.portfolio-window{border:1px solid var(--rule);min-width:0}.window-titlebar{padding:13px 18px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.window-titlebar>span{display:flex;align-items:center;gap:10px;font:400 26px VT323,monospace;text-transform:uppercase;letter-spacing:.05em}.window-location{gap:12px;padding:11px 20px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.project-directory,.window-location{display:flex;border-bottom:1px solid var(--rule);flex-wrap:wrap}.project-directory{gap:5px;padding:12px 18px}.project-directory-label{display:none}.project-directory button{border:1px solid transparent;padding:9px 10px;text-align:left;color:var(--muted);font-size:10px;line-height:1.5}.project-directory button[aria-current]{border-color:var(--rule);color:var(--ink);background:var(--panel)}.project-directory button:hover{border-color:var(--accent);color:var(--ink)}.project-directory button>svg{display:none}main{min-width:0}main:focus{outline:none}.project-detail{padding:28px 32px 24px}.project-detail h2{font:400 clamp(32px,3.5vw,50px)/1 VT323,monospace;color:var(--accent);margin:0 0 14px;overflow-wrap:anywhere}.project-subtitle{font:400 26px/1.1 VT323,monospace;margin-bottom:9px}.project-category{font-size:10px;color:var(--muted);margin-bottom:25px}.terminal-art{width:100%;height:auto;max-height:205px;-o-object-fit:contain;object-fit:contain;margin:12px 0 26px;image-rendering:auto}.project-description{max-width:70ch;font-size:13px;margin-bottom:24px}.project-actions{display:flex;flex-wrap:wrap;gap:12px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--accent);padding:13px 18px;text-decoration:none;min-height:46px;font-size:12px;line-height:1.5;color:var(--bg);background:var(--accent)}.action-button:hover{color:var(--ink);background:var(--panel);text-decoration:none}.action-button.secondary{background:transparent;color:var(--ink)}.action-button svg{width:17px;height:17px}.project-tags,.skill-list{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;padding:0;font-size:10px;color:var(--muted);margin:22px 0}.project-tags li:before{content:"/ "}.project-notes{border-top:1px solid var(--rule);padding-top:14px;font-size:11px;color:var(--muted)}summary{cursor:pointer;padding:6px 0}.project-notes p{margin-top:12px;max-width:70ch}.research-brief{margin-top:32px;padding-top:24px;border-top:1px solid var(--rule);text-align:left}.research-eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.research-brief h3{margin:0 0 24px;font:400 30px/1.1 VT323,monospace;color:var(--ink)}.research-method{margin:0}.research-method>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,2fr);gap:12px 22px;padding:16px 0;border-top:1px solid var(--rule)}.research-method dt{font-size:11px;color:var(--accent)}.research-method dd{margin:0;font-size:12px;line-height:1.8;max-width:70ch}.runtime-evidence{border-top:1px solid var(--rule);margin-top:20px;padding-top:24px}.runtime-evidence h4{margin:0 0 20px;font-size:12px;font-weight:500;line-height:1.7}.evidence-scenario{margin:0 0 24px;font-size:12px;line-height:1.8;max-width:70ch}.evidence-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 24px}.evidence-counts>div{display:flex;flex-direction:column;gap:9px}.evidence-counts dt{font-size:10px;line-height:1.6;color:var(--muted)}.evidence-counts dd{margin:0;font:400 32px/1 VT323,monospace;color:var(--ink)}.evidence-limit{font-size:11px;line-height:1.8;max-width:75ch;color:var(--muted)}.research-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}.research-links>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:11px;overflow-wrap:anywhere}.research-links svg{flex-shrink:0;width:16px;height:16px}@media (max-width:540px){.research-method>div{grid-template-columns:minmax(0,1fr);gap:8px}.evidence-counts{grid-template-columns:minmax(0,1fr);gap:15px}.evidence-counts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}}.window-status{flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:10px 18px;font-size:10px;line-height:1.6;color:var(--muted)}.taskbar,.window-status{display:flex;border-top:1px solid var(--rule)}.taskbar{position:fixed;z-index:4;bottom:0;left:0;right:0;align-items:center;gap:18px;min-height:60px;padding:7px 32px;background:var(--bg)}.start-button,.taskbar-active{display:none}.command-line{position:relative;display:flex;gap:10px;align-items:center;width:min(680px,100%);font:400 22px VT323,monospace}.command-line input{background:none;border:0;color:var(--ink);width:100%;min-width:0;padding:7px 4px}.command-line input::-moz-placeholder{color:var(--muted);opacity:1}.command-line input::placeholder{color:var(--muted);opacity:1}.command-line button{border:0;padding:8px}.command-reply{position:absolute;z-index:5;bottom:calc(100% + 12px);left:0;right:0;padding:12px 16px;border:1px solid var(--rule);background:var(--panel);color:var(--ink);font:12px/1.6 IBM Plex Mono,monospace;overflow-wrap:anywhere;box-shadow:3px 5px 12px #001b1533}.taskbar-spacer{flex:1}.desktop-project-icon{display:none}.text-content{padding:32px}.text-content h2{font:400 clamp(32px,4vw,48px)/1.1 VT323,monospace;color:var(--accent);margin-bottom:30px}.text-content h3{font-size:17px;margin:32px 0 14px}.text-content li,.text-content p{font-size:13px;max-width:70ch;line-height:1.8}.text-content a:not(.action-button){display:inline-flex;gap:9px;align-items:center;overflow-wrap:anywhere}.text-content a svg{width:18px;height:18px}.about-layout{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:28px;align-items:start}.about-layout>img{width:100%;height:auto;filter:saturate(.65);border:1px solid var(--rule)}.about-layout h3{margin-top:0}.experience-list article{display:flex;align-items:start;gap:20px;padding:24px 0;border-top:1px solid var(--rule)}.experience-list article>svg{width:32px;height:32px;margin-top:4px}.experience-list article h3{margin:0 0 15px}.experience-list article p{margin:5px 0}.strong-line{font-weight:500}.certification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.certification-list article{padding:24px 0;border-top:1px solid var(--rule)}.certificate-image{padding:18px;background:#fff;width:125px;height:125px;display:grid;place-items:center}.certificate-image img{max-height:95px;max-width:95px;-o-object-fit:contain;object-fit:contain}.certificate-symbol{background:transparent;border:1px solid var(--rule)}.certificate-symbol .pixel-icon{width:64px;height:64px}.text-content .certificate-metadata{margin:4px 0 0;overflow-wrap:anywhere}.certification-list h3{font-size:14px;line-height:1.7;margin:18px 0 0}.contact-list{margin-top:34px}.contact-list>a{display:grid!important;grid-template-columns:22px minmax(0,1fr) 22px;gap:6px 16px;align-items:center;border-top:1px solid var(--rule);width:100%;padding:24px 0;text-decoration:none}.contact-list>a>.pixel-icon{grid-column:3;grid-row:1}.contact-list>a>.pixel-icon:first-child{grid-column:1}.contact-list>a>span:not(.sr-only){grid-column:2;grid-row:1;color:var(--muted);font-size:11px;line-height:22px}.contact-list strong{grid-column:2;grid-row:2;min-width:0;display:block;color:var(--ink);font-size:16px;line-height:1.6;overflow-wrap:anywhere}.contact-list a:hover strong{text-decoration:underline;text-underline-offset:.2em}.theme-desktop{--bg:#126f73;--panel:#d4d4cf;--ink:#172327;--accent:#102b70;--muted:#3b494d;--rule:#8a9492;background:var(--bg);font-family:Tahoma,Verdana,sans-serif}.theme-desktop .portfolio-shell{max-width:1560px;padding:18px 36px 88px}.theme-desktop .system-bar{background:var(--panel);border:2px solid;box-shadow:3px 4px 9px #00262945}.theme-desktop .theme-switch{border:0;padding:0}.theme-desktop .theme-switch button{border:2px solid;border-color:#fafaf4 #727774 #727774 #fafaf4}.theme-desktop .theme-switch button[aria-pressed=true]{color:#fff;background:#102b70;border-color:#071334 #d3d8ed #d3d8ed #071334}.theme-desktop .theme-switch button:not([aria-pressed=true]):hover{background:#f0f0e9}.theme-desktop .workspace{grid-template-columns:112px minmax(0,1fr);gap:28px}.theme-desktop .directory{border:0;padding:0}.theme-desktop .directory-heading,.theme-desktop .directory-note,.theme-desktop .nav-chevron{display:none}.theme-desktop .directory>button{color:#fff;display:flex;flex-direction:column;gap:9px;width:100%;margin:0 0 20px;padding:8px 4px;text-align:center;font-size:12px;text-shadow:1px 1px 2px #01393b}.theme-desktop .directory>button>svg{color:#ffe3a0;fill:#efd185;stroke:#243b3c;width:40px;height:40px;filter:drop-shadow(2px 3px 1px #013e41)}.theme-desktop .directory>button[aria-current]{color:#fff;background:#0d456466;outline:1px dotted #d8f2e8;outline-offset:-1px}.theme-desktop .directory>button:hover:not([aria-current]){background:#0d456455;color:#fff}.theme-desktop .directory>button:focus-visible{outline:2px solid #fff;outline-offset:-2px;background:#102b70}.theme-desktop .skip-link{color:#fff;background:#102b70}.theme-desktop .portfolio-window{border:3px solid;border-color:#fafaf4 #727774 #727774 #fafaf4;background:var(--panel);box-shadow:7px 10px 20px #00333566}.theme-desktop .window-titlebar{padding:5px 7px;border:0;background:#102b70;color:#fff}.theme-desktop .window-titlebar>span{font:700 16px Tahoma,Verdana,sans-serif;text-transform:none;letter-spacing:0}.theme-desktop .window-titlebar>span>svg{color:#f4df99;fill:#debf72}.theme-desktop .window-location{margin:8px;padding:9px 11px;background:#f8f8f2;border:2px solid;border-color:#858d89 #fafaf4 #fafaf4 #858d89;font-size:11px;color:#344345}.theme-desktop .window-content.has-projects{display:grid;grid-template-columns:225px minmax(0,1fr)}.theme-desktop .project-directory{display:flex;flex-direction:column;align-items:stretch;gap:1px;padding:18px 9px;border:0;border-right:1px solid #8b9491;background:#eeeee8;margin:0 0 0 8px}.theme-desktop .project-directory-label{display:flex;gap:10px;align-items:center;margin-bottom:12px;font-size:14px;padding:0 3px}.theme-desktop .project-directory button{display:flex;align-items:center;gap:9px;font:12px/1.5 Tahoma,Verdana,sans-serif;padding:11px 6px;color:#172327;min-width:0}.theme-desktop .project-directory button>span{overflow-wrap:anywhere}.theme-desktop .project-directory svg{display:block;color:#635426;fill:#f4dc88;width:22px;height:22px}.theme-desktop .project-directory button[aria-current]{background:#c1d5cb;color:#152e28;border-color:#aec6ba}.theme-desktop .project-directory button:hover{background:#dce7de}.theme-desktop .project-detail{text-align:center;padding:26px 30px 30px}.theme-desktop .desktop-project-icon{display:block;margin:8px auto 23px;width:94px;height:94px}.theme-desktop .desktop-project-icon>svg{width:94px;height:94px;fill:#efdb8d;color:#66552e;filter:drop-shadow(5px 6px 3px #717c7745)}.theme-desktop .project-detail h2{color:#182522;font-size:clamp(30px,3vw,46px)}.theme-desktop .project-subtitle{font-size:26px}.theme-desktop .project-category{color:#465550}.theme-desktop .terminal-art{display:none}.theme-desktop .project-description{margin:24px auto;font:14px/1.7 Tahoma,Verdana,sans-serif;border-top:1px solid #919a94;padding-top:22px}.theme-desktop .project-actions,.theme-desktop .project-tags{justify-content:center}.theme-desktop .action-button{color:#172327;background:#dddfd7;border:2px solid;border-color:#fafaf4 #727774 #727774 #fafaf4;font-size:12px}.theme-desktop .action-button:hover{background:#eef0e7}.theme-desktop .action-button:active{border-color:#727774 #fafaf4 #fafaf4 #727774}.theme-desktop .project-notes{text-align:left;color:#3b494d}.theme-desktop .project-tags{font-size:11px}.theme-desktop .window-status{margin:8px 8px 6px;padding:6px 8px;border:1px solid;border-color:#8b9491 #fafaf4 #fafaf4 #8b9491}.theme-desktop .taskbar{background:#d4d4cf;border-top:2px solid #fafaf4;padding:7px 12px;color:#172327;min-height:52px;gap:9px}.theme-desktop .start-button{display:flex;gap:7px;align-items:center;border:2px solid;border-color:#fafaf4 #727774 #727774 #fafaf4;font-weight:700;padding:8px 12px}.theme-desktop .command-line{display:none}.theme-desktop .taskbar-active{display:flex;align-items:center;gap:10px;background:#e4e6dd;border:2px solid;border-color:#727774 #fafaf4 #fafaf4 #727774;padding:9px 20px;font-size:12px;min-width:180px}.theme-desktop .text-content h2{color:#182522}.theme-desktop .text-content li,.theme-desktop .text-content p{font-family:Tahoma,Verdana,sans-serif;font-size:14px}.theme-desktop .text-content h3{font-size:17px}.theme-desktop .contact-list strong{color:#172327}@media (prefers-reduced-motion:no-preference){.portfolio-shell{animation:monitor-arrive .22s cubic-bezier(.16,1,.3,1)}@keyframes monitor-arrive{0%{opacity:0}to{opacity:1}}}@media (max-width:1100px){.portfolio-shell,.theme-desktop .portfolio-shell{padding-left:20px;padding-right:20px}.workspace{grid-template-columns:190px minmax(0,1fr);gap:14px}.directory>button{gap:10px;font-size:11px}.theme-desktop .workspace{grid-template-columns:86px minmax(0,1fr);gap:18px}.theme-desktop .window-content.has-projects{grid-template-columns:180px minmax(0,1fr)}.project-detail,.theme-desktop .project-detail{padding:25px 23px}.system-name{display:none}.project-actions{gap:10px}.action-button{padding:12px 14px}}@media (max-width:760px){.portfolio-shell,.theme-desktop .portfolio-shell{padding:12px 12px 88px}.system-bar{gap:10px;padding:6px 8px;flex-wrap:wrap}.home-control{gap:7px;min-height:44px}.system-bar .home-control>span{font-size:11px}.system-bar .sound-toggle span{display:none}.sound-toggle{padding:10px 4px}.theme-switch button{font-size:11px;padding:6px 9px}.theme-switch{margin-left:auto}.theme-switch .pixel-icon{width:15px;height:15px}.identity-bottom{font-size:10px;gap:15px;flex-wrap:wrap}.identity-bottom>span{width:100%}.theme-desktop .workspace,.workspace{display:flex;flex-direction:column;gap:14px}.directory,.theme-desktop .directory{display:flex;width:100%;overflow-x:auto;padding:5px;gap:5px}.directory-heading,.directory-note,.nav-chevron{display:none}.directory>button,.theme-desktop .directory>button{width:auto;min-width:76px;margin:0;padding:10px 8px;gap:8px;display:flex;flex-direction:column;font-size:10px;text-align:center}.directory>button>svg,.theme-desktop .directory>button>svg{width:25px;height:25px}.portfolio-window{width:100%}.window-location{padding:10px 12px;gap:7px;font-size:9px}.project-directory{padding:9px;gap:2px;flex-wrap:nowrap;overflow-x:auto}.project-directory button{flex-shrink:0;font-size:10px}.theme-desktop .window-content.has-projects{display:block}.theme-desktop .project-directory{flex-direction:row;margin:0 8px;padding:8px 3px;border-right:0;border-bottom:1px solid var(--rule)}.theme-desktop .project-directory-label{display:none}.theme-desktop .project-directory button{font-size:11px;gap:5px}.theme-desktop .project-directory button svg{width:18px;height:18px}.project-detail,.text-content,.theme-desktop .project-detail{padding:25px 19px}.project-detail h2{font-size:36px}.project-subtitle{font-size:24px}.project-description{font-size:12px}.theme-desktop .desktop-project-icon,.theme-desktop .desktop-project-icon>svg{width:72px;height:72px}.taskbar{padding:7px 13px;gap:10px}.command-line{font-size:19px;gap:5px}.theme-desktop .taskbar-active{min-width:0;padding:9px 10px;font-size:10px}.theme-desktop .taskbar-active svg{display:none}.theme-desktop .start-button{padding:8px;font-size:11px}.about-layout{grid-template-columns:1fr}.about-layout>img{max-width:170px}.text-content h2{font-size:36px}.text-content li,.text-content p{font-size:12px}.contact-list strong{font-size:13px}}@media (max-width:380px){.theme-switch button{padding:6px;font-size:10px}.theme-switch button>svg{display:none}.taskbar .command-line{max-width:100%}.theme-desktop .taskbar-active{display:none}.certification-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:is(.theme-terminal,.theme-desktop,.theme-hiring) .portfolio-shell{max-width:none;margin:auto;padding:18px 36px 88px}:is(.theme-terminal,.theme-desktop,.theme-hiring) .system-bar{min-height:60px;padding:6px 14px;border-width:2px;gap:24px}:is(.theme-terminal,.theme-desktop,.theme-hiring) .home-control,:is(.theme-terminal,.theme-desktop,.theme-hiring) .sound-toggle,:is(.theme-terminal,.theme-desktop,.theme-hiring) .theme-switch button{font:12px/1.3 IBM Plex Mono,monospace;min-height:44px}:is(.theme-terminal,.theme-desktop,.theme-hiring) .theme-switch{border:0;padding:0;gap:3px}:is(.theme-terminal,.theme-desktop,.theme-hiring) .theme-switch button{border-width:2px;border-style:solid;padding:7px 12px}.theme-hiring .theme-switch button,.theme-terminal .theme-switch button{border-color:transparent}.theme-hiring .theme-switch button[aria-pressed=true],.theme-terminal .theme-switch button[aria-pressed=true]{border-color:var(--accent)}:is(.theme-terminal,.theme-desktop,.theme-hiring) .sound-toggle{border-width:2px}.portfolio-identity{margin:0 0 8px;padding:26px 15px 24px;text-align:left}.portfolio-identity h1{margin:0;font:400 clamp(36px,4.6vw,64px)/1 VT323,monospace;letter-spacing:.09em}.portfolio-identity>p{margin:8px 0 18px;font:400 22px/1.2 VT323,monospace;letter-spacing:.13em}.portfolio-identity .identity-bottom{font:12px/1.5 IBM Plex Mono,monospace}.portfolio-identity .terminal-cursor{display:inline-block;width:1ch}.theme-terminal .portfolio-identity h1{color:var(--accent)}.theme-desktop .portfolio-identity,.theme-desktop .portfolio-identity .identity-bottom{color:#d8f2e8}.theme-desktop .portfolio-identity .terminal-cursor{visibility:hidden}:is(.theme-terminal,.theme-desktop) .workspace{display:grid;grid-template-columns:112px minmax(0,1fr);gap:28px;align-items:start}:is(.theme-terminal,.theme-desktop) .directory{display:flex;flex-direction:column;gap:4px;border:0;padding:0}:is(.theme-terminal,.theme-desktop) .directory-heading,:is(.theme-terminal,.theme-desktop) .directory-note,:is(.theme-terminal,.theme-desktop) .nav-chevron{display:none}:is(.theme-terminal,.theme-desktop) .directory>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;min-height:80px;margin:0;padding:9px 2px;font:11px/1.3 IBM Plex Mono,monospace;text-align:center}:is(.theme-terminal,.theme-desktop) .directory>button>svg{width:32px;height:32px}:is(.theme-terminal,.theme-desktop) .portfolio-window{display:grid;grid-template-rows:36px 44px minmax(0,1fr) 40px;height:max(460px,calc(100svh - 300px));min-height:0;border-width:3px}:is(.theme-terminal,.theme-desktop) .window-titlebar{height:36px;min-height:0;margin:0;padding:6px 8px;border:0}:is(.theme-terminal,.theme-desktop) .window-location{height:44px;min-height:0;align-items:center;flex-wrap:nowrap;margin:0;padding:8px 12px;border-width:2px;font:11px/1.3 IBM Plex Mono,monospace;white-space:nowrap;overflow:hidden}:is(.theme-terminal,.theme-desktop) .window-location>span{flex-shrink:0}:is(.theme-terminal,.theme-desktop) .window-location>span:last-child{min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}:is(.theme-terminal,.theme-desktop) .window-content{min-width:0;min-height:0;overflow:hidden}:is(.theme-terminal,.theme-desktop) .window-content.has-projects{display:grid;grid-template-columns:225px minmax(0,1fr)}:is(.theme-terminal,.theme-desktop) main{min-width:0;min-height:0;height:100%;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}:is(.theme-terminal,.theme-desktop) main>.project-detail,:is(.theme-terminal,.theme-desktop) main>.text-content{padding:26px 30px 30px}:is(.theme-terminal,.theme-desktop) .project-directory{display:flex;flex-direction:column;flex-wrap:nowrap;gap:1px;min-width:0;min-height:0;margin:0;padding:14px 10px;overflow:auto;border-width:0 1px 0 0}:is(.theme-terminal,.theme-desktop) .project-directory-label{display:flex;gap:10px;margin-bottom:12px;padding:0 3px}:is(.theme-terminal,.theme-desktop) .project-directory button{display:flex;flex:0 0 auto;align-items:center;gap:9px;width:100%;min-height:44px;padding:11px 6px;border:0;text-align:left}:is(.theme-terminal,.theme-desktop) .project-directory button>svg{display:block}:is(.theme-terminal,.theme-desktop) .project-directory button>span{min-width:0;overflow-wrap:anywhere}:is(.theme-terminal,.theme-desktop) .window-status{height:40px;min-height:0;align-items:center;flex-wrap:nowrap;margin:0;padding:4px 10px;border-width:1px;font:10px/1.2 IBM Plex Mono,monospace;white-space:nowrap;overflow:hidden}:is(.theme-terminal,.theme-desktop) .window-status>:first-child{flex-shrink:0}:is(.theme-terminal,.theme-desktop) .taskbar{height:58px;min-height:58px;padding:7px 12px;border-top-width:2px}@media (max-width:1100px){:is(.theme-terminal,.theme-desktop,.theme-hiring) .portfolio-shell{padding-inline:20px}:is(.theme-terminal,.theme-desktop) .workspace{gap:18px}:is(.theme-terminal,.theme-desktop) .window-content.has-projects{grid-template-columns:180px minmax(0,1fr)}:is(.theme-terminal,.theme-desktop) main>.project-detail,:is(.theme-terminal,.theme-desktop) main>.text-content{padding:25px 23px}}@media (max-width:760px){:is(.theme-terminal,.theme-desktop,.theme-hiring) .portfolio-shell{padding:12px 12px 88px}:is(.theme-terminal,.theme-desktop,.theme-hiring) .system-bar{gap:10px;padding:6px 8px;flex-wrap:wrap}.portfolio-identity{padding:24px 5px}.portfolio-identity .identity-bottom{font-size:10px}:is(.theme-terminal,.theme-desktop) .workspace{grid-template-columns:1fr;gap:14px}:is(.theme-terminal,.theme-desktop) .directory{flex-direction:row;gap:5px;overflow-x:auto;padding:5px}:is(.theme-terminal,.theme-desktop) .directory>button{flex:0 0 auto;width:auto;min-width:76px;min-height:70px;padding:10px 8px;font-size:10px}:is(.theme-terminal,.theme-desktop) .directory>button>svg{width:25px;height:25px}:is(.theme-terminal,.theme-desktop) .portfolio-window{height:max(420px,calc(100svh - 340px))}:is(.theme-terminal,.theme-desktop) .window-content.has-projects{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}:is(.theme-terminal,.theme-desktop) .project-directory{flex-direction:row;gap:5px;padding:8px 9px;overflow-x:auto;border-width:0 0 1px}:is(.theme-terminal,.theme-desktop) .project-directory button{width:auto;padding:10px 6px;white-space:nowrap}:is(.theme-terminal,.theme-desktop) .project-directory-label{display:none}:is(.theme-terminal,.theme-desktop) main>.project-detail,:is(.theme-terminal,.theme-desktop) main>.text-content{padding:25px 19px}}@media (max-width:380px){:is(.theme-terminal,.theme-desktop,.theme-hiring) .sound-toggle,:is(.theme-terminal,.theme-desktop,.theme-hiring) .theme-switch button{font-size:10px}}:is(.theme-terminal,.theme-desktop){position:relative;isolation:isolate}:is(.theme-terminal,.theme-desktop):before{content:"";position:fixed;z-index:-1;inset:auto 0 0;height:clamp(260px,38svh,480px);border-top:1px solid #bfa384;background:linear-gradient(180deg,#9c7b59,#b39069 70%,#89674b);pointer-events:none}.retro-desk{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,75vw) minmax(0,1fr);align-items:end;gap:12px;padding-bottom:120px}.retro-desk .retro-monitor{grid-column:2;grid-row:1;min-width:0;z-index:1}.desk-prop{position:fixed;bottom:-24px;display:block;width:clamp(360px,30vw,600px);height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.desk-stationery{left:calc(clamp(120px, 11vw, 220px)*-1)}.desk-coffee{right:calc(clamp(80px, 7vw, 140px)*-1);aspect-ratio:4/3}.coffee-mug{width:100%;height:100%;clip-path:inset(27.3% 0 0)}.coffee-steam{position:absolute;inset:0;background:url(/art/desk-coffee.webp) 50%/100% 100% no-repeat;clip-path:inset(0 0 72.7%);transform-origin:50% 27.3%;opacity:.65}.coffee-steam-two{opacity:0}.desk-coffee.is-animated .coffee-steam{animation:coffee-steam-rise 6s ease-in-out infinite}.desk-coffee.is-animated .coffee-steam-two{animation-delay:-3s}@keyframes coffee-steam-rise{0%{opacity:0;transform:translate(-.5%,1%) scale(.92,.86)}18%{opacity:.55}65%{opacity:.3}to{opacity:0;transform:translate(1.8%,-8%) scale(1.16)}}.theme-terminal:before{background:linear-gradient(180deg,#42382e,#574739 70%,#372c23);border-color:#6d5a47}.theme-terminal .desk-prop{filter:brightness(.8) saturate(.75)}@media (max-width:1099px){.retro-desk{grid-template-columns:1fr 1fr;gap:0;padding-bottom:24px}.retro-desk .retro-monitor{grid-column:1/-1}.desk-prop{position:static;grid-row:2;width:min(300px,100%);margin-top:64px}.desk-stationery{grid-column:1;justify-self:start}.desk-coffee{grid-column:2;justify-self:end;position:relative;inset:auto}}@media (max-width:600px){.desk-prop{width:min(220px,100%)}}.retro-monitor{--case:#1b2821;--case-edge:#42594a;--case-light:#5b7061;--case-shadow:#0b120e;position:relative;isolation:isolate;margin-top:24px;padding:28px 28px 0;border:2px solid;border-color:var(--case-light) var(--case-shadow) var(--case-shadow) var(--case-light);border-radius:22px;background:linear-gradient(145deg,var(--case-light) -30%,var(--case) 28%,var(--case) 72%,var(--case-shadow) 130%);box-shadow:7px 9px 0 var(--case-shadow),14px 28px 38px #001b1555}.retro-monitor:before{bottom:-34px;width:22%;height:40px;background:linear-gradient(90deg,var(--case-shadow),var(--case) 28%,var(--case) 72%,var(--case-edge))}.retro-monitor:after,.retro-monitor:before{content:"";position:absolute;z-index:-1;left:50%;transform:translateX(-50%);border:1px solid var(--case-shadow);pointer-events:none}.retro-monitor:after{bottom:-52px;width:46%;height:24px;border-top-color:var(--case-light);border-radius:50% 50% 8px 8px;background:linear-gradient(var(--case-edge),var(--case) 55%,var(--case-shadow));box-shadow:0 9px 12px #001b1544}.monitor-screen{border:12px solid;border-color:var(--case-shadow) var(--case-edge) var(--case-edge) var(--case-shadow);border-radius:12px;padding:0 16px;background:var(--bg);box-shadow:0 1px 0 var(--case-light),inset 0 3px 6px #001b1580;overflow:clip}.monitor-chin{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.monitor-vents{width:112px;height:9px;background:repeating-linear-gradient(90deg,var(--case-shadow) 0 3px,transparent 3px 8px);opacity:.65}.monitor-indicator{width:9px;height:9px;border-radius:50%;border:1px solid var(--case-shadow);background:#39ff14}.theme-desktop .retro-monitor{--case:#d3cdbb;--case-edge:#eee9db;--case-light:#f7f2e6;--case-shadow:#777464;border-radius:42px 42px 28px 28px}.theme-desktop .monitor-screen{border-radius:20px}.theme-desktop .monitor-indicator{background:#55934b}.retro-monitor .portfolio-window{height:clamp(320px,calc(100svh - 590px),640px)}.retro-monitor .taskbar{position:static;width:calc(100% + 32px);margin:18px -16px 0}@media (min-width:761px){.retro-monitor .portfolio-identity{padding:16px 15px 14px}.retro-monitor .portfolio-identity h1{font-size:clamp(36px,4.2vw,56px)}.retro-monitor .portfolio-identity>p{margin-bottom:12px}.retro-monitor .directory>button{min-height:64px;gap:6px}.retro-monitor .directory>button>svg{width:24px;height:24px}}@media (max-width:760px){.retro-monitor{margin-top:16px;padding:12px 12px 0;box-shadow:4px 6px 0 var(--case-shadow),8px 16px 24px #001b1544}.monitor-screen{padding:0 8px;border-width:6px}.monitor-chin{height:42px;padding-inline:8px}.monitor-vents{width:80px;height:7px}.retro-monitor .portfolio-window{height:max(380px,calc(100svh - 580px))}.retro-monitor .taskbar{width:calc(100% + 16px);margin-inline:-8px}.retro-monitor .taskbar-active{min-width:0;overflow:hidden;white-space:nowrap}}.room-backdrop{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:linear-gradient(110deg,#706e64,#484c46 58%,#323933)}.room-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#11170f33,transparent 55%,#181c1766)}.room-window{position:absolute;top:-36px;left:-24px;width:46vw;height:66svh;border:solid #77796c;border-width:14px 14px 22px;background:repeating-linear-gradient(180deg,#81877a 0,#979b8b 3px,#7b8175 6px,#666e61 22px,#4c5649 25px,#88917f 28px);box-shadow:inset 5px 4px 16px #1f2a2455,8px 14px 26px #1b241e55;transform:rotate(-1deg)}.room-window:before{content:"";position:absolute;inset:0 18%;border-inline:3px solid #5e685a99;box-shadow:2px 0 3px #293b2922}.room-window:after{content:"";position:absolute;right:10px;top:0;width:2px;height:85%;background:#aaa58c;box-shadow:2px 2px 3px #26302566}.theme-terminal .room-backdrop{filter:brightness(.48) saturate(.5)}:is(.theme-terminal,.theme-desktop) .system-bar{position:relative;z-index:2}.theme-terminal .system-bar{background:var(--bg)}.theme-desktop .system-bar{background:#d4d4cf;color:#172327;border-color:#fafaf4 #727774 #727774 #fafaf4}.theme-desktop .system-bar .theme-switch button[aria-pressed=true]{color:#172327;background:#f4f4ee;border-color:#727774 #fafaf4 #fafaf4 #727774}.desk-foreground{--hardware:#d3cdbb;--key-top:#e9e4d7;--key-edge:#aaa38f;position:fixed;bottom:0;left:0;right:0;height:100px;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.desk-keyboard{position:absolute;top:16px;left:50%;width:min(660px,48vw);height:190px;padding:16px 18px;border:2px solid #b7b09e;border-top-color:#f1ecdf;border-radius:12px 12px 20px 20px;background:linear-gradient(165deg,#e7e1d2,var(--hardware) 60%,#aaa18d);box-shadow:8px 14px 18px #241c1455;transform:translateX(-56%) perspective(700px) rotateX(22deg);transform-origin:top}.keyboard-row{display:flex;gap:5px;margin-bottom:10px}.keyboard-row span{flex:1;height:34px;min-width:0;padding:5px 2px;border:1px solid #9f9886;border-top-color:#faf5e8;border-bottom:5px solid var(--key-edge);border-radius:4px;color:#514e42;background:linear-gradient(110deg,var(--key-top),#dcd5c4);box-shadow:1px 2px 2px #4e453e55;font:10px/1 Tahoma,sans-serif;text-align:center}.keyboard-functions{gap:8px}.keyboard-functions span{height:24px;font-size:9px}.keyboard-functions span:first-child{margin-right:16px}.keyboard-row:not(.keyboard-functions) span:last-child{flex:2;font-size:8px}.desk-mouse{position:absolute;top:24px;left:calc(50% + min(355px, 27vw));width:92px;height:142px;border:1px solid #aaa18e;border-radius:46% 46% 42% 42%;background:linear-gradient(110deg,#eee8d9,var(--hardware) 48%,#aaa38f);box-shadow:8px 12px 16px #241c1455;transform:rotate(-12deg)}.desk-mouse:before{content:"";position:absolute;width:4px;height:40px;top:-40px;left:48%;border-radius:50% 50% 0 0;background:#8f8877;box-shadow:2px 0 2px #28241955}.desk-mouse:after{content:"";top:2px;left:49%;width:1px;height:50px}.desk-mouse span,.desk-mouse:after{position:absolute;background:#99917e}.desk-mouse span{top:51px;left:3px;right:3px;height:1px}.theme-terminal .desk-foreground{filter:brightness(.7) saturate(.65)}@media (max-width:1099px){.room-window{width:64vw}.desk-foreground{position:relative;grid-column:1/-1;height:84px;margin-top:20px}.desk-keyboard{width:66%}.desk-mouse{left:84%}}@media (max-width:600px){.desk-keyboard{padding:12px 8px;width:74%;left:44%}.keyboard-row{gap:2px}.keyboard-functions{gap:3px}.keyboard-functions span:first-child{margin-right:3px}.keyboard-row span{font-size:7px}.keyboard-functions span,.keyboard-row:not(.keyboard-functions) span:last-child{font-size:6px}.desk-mouse{width:56px;height:104px;left:82%}}@media screen and (min-width:1100px) and (min-height:650px){:root:is([data-theme=terminal],[data-theme=desktop]){overflow:hidden}:is(.theme-terminal,.theme-desktop){height:100svh;overflow:hidden}:is(.theme-terminal,.theme-desktop) .portfolio-shell{height:100%;display:flex;flex-direction:column;gap:24px;padding-bottom:88px}:is(.theme-terminal,.theme-desktop) .system-bar{flex-shrink:0}.retro-desk{flex:1;min-height:0;padding-bottom:0;align-items:stretch}.retro-desk .retro-monitor{height:100%;min-height:0;margin-top:0;display:flex;flex-direction:column}.retro-monitor .monitor-screen{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}.retro-monitor .monitor-chin,.retro-monitor .portfolio-identity,.retro-monitor .taskbar{flex-shrink:0}.retro-monitor .workspace{flex:1 0 280px;min-height:280px;align-items:stretch}.retro-monitor .portfolio-window{height:100%}.retro-monitor .directory{min-height:0;overflow:auto;padding:4px;overscroll-behavior:contain}.retro-monitor .directory>button{flex-shrink:0}.retro-monitor .project-directory{overscroll-behavior:contain}.retro-monitor:before{bottom:-14px;height:20px}.retro-monitor:after{bottom:-24px;height:14px;box-shadow:0 5px 8px #001b1533}.desk-keyboard{top:46px;padding-top:6px}.keyboard-row{margin-bottom:6px}.keyboard-row span{height:24px;padding-top:3px;border-bottom-width:3px}.keyboard-functions span{height:18px}.desk-mouse{top:52px}.desk-mouse:before{top:-20px;height:20px}}.retro-screensaver{position:absolute;z-index:4;inset:40px 40px 76px;overflow:hidden;border:0;border-radius:2px;padding:0;color:#8ee88e;background:#050805;cursor:default}.retro-screensaver canvas{display:block;width:100%;height:100%}.retro-screensaver>span{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);width:-moz-max-content;width:max-content;padding:8px 12px;border:1px solid #4f8957;background:#050805;font:12px/1.6 IBM Plex Mono,monospace}.pipes-screensaver{background:#050505}.pipes-screensaver>span{background:#d4d4cf;color:#172327;border:2px solid;border-color:#fafaf4 #727774 #727774 #fafaf4;font-family:Tahoma,Verdana,sans-serif}.cracked-glass-screensaver{background:#080d16ed;color:#f0f5fc;cursor:pointer}.cracked-glass{display:block;width:100%;height:100%}.glass-shards{fill:#b6dcff;fill-opacity:.055}.glass-fractures{stroke:#02050a;stroke-width:2.4}.glass-fractures,.glass-glints{fill:none;stroke-linejoin:bevel}.glass-glints{stroke:#d5eafa;stroke-opacity:.75;stroke-width:.75}.glass-impact{fill:#e3f3ff;fill-opacity:.7}.cracked-glass-screensaver>span{color:#f0f5fc;background:#101923;border-color:#6e849a;white-space:normal;text-align:center}.paper-fly{position:absolute;z-index:2;top:var(--fly-top,132px);right:18px;width:74px;height:82px;transform:rotate(-24deg);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(2px 3px 1px #30291d44)}.paper-fly svg{display:block;width:100%;height:100%}.paper-fly .fly-wing-left{transform-origin:46px 49px}.paper-fly .fly-wing-right{transform-origin:54px 49px}.paper-fly .fly-leg-left{transform-origin:44px 46px}.paper-fly .fly-leg-right{transform-origin:56px 46px}.paper-fly.is-animated .fly-wing-left{animation:fly-wing-left 6s linear infinite}.paper-fly.is-animated .fly-wing-right{animation:fly-wing-right 6s linear infinite}.paper-fly.is-animated .fly-leg-left{animation:fly-groom-left 6s ease-in-out infinite}.paper-fly.is-animated .fly-leg-right{animation:fly-groom-right 6s ease-in-out infinite}@keyframes fly-wing-left{0%,12%,16%,20%,72%,76%,8%,80%,84%,to{transform:rotate(0deg) scaleX(1)}10%,14%,18%,74%,78%,82%{transform:rotate(18deg) scaleX(.4)}}@keyframes fly-wing-right{0%,12%,16%,20%,72%,76%,8%,80%,84%,to{transform:rotate(0deg) scaleX(1)}10%,14%,18%,74%,78%,82%{transform:rotate(-18deg) scaleX(.4)}}@keyframes fly-groom-left{0%,24%,68%,to{transform:rotate(0deg)}30%,40%,50%,60%{transform:rotate(26deg)}35%,45%,55%,65%{transform:rotate(8deg)}}@keyframes fly-groom-right{0%,24%,68%,to{transform:rotate(0deg)}30%,40%,50%,60%{transform:rotate(-26deg)}35%,45%,55%,65%{transform:rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.paper-fly.is-animated :is(.fly-wing-left,.fly-wing-right,.fly-leg-left,.fly-leg-right){animation-duration:6s!important}.desk-coffee.is-animated .coffee-steam{animation-duration:6s!important}}@media (max-width:760px){.retro-screensaver{inset:18px 18px 48px}.retro-screensaver>span{font-size:10px;bottom:10px}}.hiring-device{display:contents}.theme-hiring{--bg:#e7e4dc;--panel:#d4d4cf;--ink:#172327;--accent:#102b70;--muted:#3b494d;--rule:#8a9492;font-family:Tahoma,Verdana,sans-serif}.theme-hiring .theme-switch{border:0;margin:0}.theme-hiring .theme-switch button:not([aria-pressed=true]):hover{background:var(--panel)}.hiring-main{position:relative;isolation:isolate;overflow:clip;max-width:1200px;margin:32px auto 0;padding:clamp(24px,4vw,56px);background:#fff9ee;border:1px solid #d8cfbe;box-shadow:5px 10px 24px #17232718}.hiring-main:before{content:"";position:absolute;z-index:-1;top:10px;right:12px;width:540px;height:540px;background:url(/art/hiring-coffee-stain.webp) 50%/contain no-repeat;opacity:.18;transform:rotate(-15deg);pointer-events:none}.hiring-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;padding-bottom:36px}.hiring-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.1;margin-bottom:18px}.hiring-main .hiring-target{font-size:18px;color:var(--accent);margin-bottom:18px}.hiring-intro p:last-child{max-width:65ch;margin-bottom:0}.hiring-actions{display:flex;flex-direction:column;gap:12px;align-self:center}.hiring-actions .action-button{font-size:14px}.hiring-print{border:0;padding:12px;min-height:44px;text-decoration:underline;text-underline-offset:.25em}.hiring-print:hover{color:var(--accent)}.hiring-main h2{font-size:26px;line-height:1.3;margin:0 0 24px}.hiring-main h3{font-size:18px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}.hiring-main p{font-size:14px}.hiring-projects{border-top:2px solid var(--accent);padding-top:28px}.hiring-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 36px;padding:24px 0;border-top:1px solid var(--rule)}.hiring-project:first-of-type{padding-top:0;border-top:0}.hiring-project p{margin-bottom:14px;max-width:70ch}.hiring-evidence,.hiring-project .hiring-project-type{color:var(--muted)}.hiring-links{display:flex;flex-wrap:wrap;gap:8px 24px}.hiring-bottom a,.hiring-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.hiring-bottom svg,.hiring-links svg{width:16px;height:16px}.hiring-bottom{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px;padding-top:32px;border-top:2px solid var(--accent)}.hiring-credentials{list-style:none;margin:0;padding:0}.hiring-credentials li{margin:0 0 18px;font-size:14px;line-height:1.6;-moz-column-break-inside:avoid;break-inside:avoid}.hiring-credentials span,.hiring-credentials strong{display:block;overflow-wrap:anywhere}.hiring-credentials span{color:var(--muted)}.hiring-bottom address{display:flex;flex-direction:column;align-items:flex-start;font-style:normal;overflow-wrap:anywhere}.hiring-contact-note{margin-top:20px;max-width:40ch;color:var(--muted)}.hiring-resume{display:none}.hiring-resume.is-open{display:block;border-top:2px solid var(--accent);padding-top:32px;margin-top:40px}.hiring-resume-controls{margin-bottom:24px}.hiring-resume h3{margin-top:28px;border-top:1px solid var(--rule);padding-top:18px}.hiring-resume h4{margin:18px 0 8px}.hiring-resume header p{overflow-wrap:anywhere}.hiring-resume .experience-list article{-moz-column-break-inside:avoid;break-inside:avoid}@media (max-width:900px){.app .system-bar{flex-wrap:wrap;gap:10px}.app .theme-switch{order:3;width:100%;margin:0}.app .theme-switch button{flex:1;padding-inline:6px}.hiring-intro{grid-template-columns:1fr}.hiring-actions{flex-direction:row;flex-wrap:wrap}}@media (max-width:600px){.app .theme-switch button{font-size:11px;gap:4px}.app .theme-switch button>svg{display:none}.hiring-main{padding:24px 20px;margin-top:24px}.hiring-main:before{width:420px;height:420px;opacity:.16}.hiring-bottom,.hiring-project{grid-template-columns:1fr;gap:12px}.hiring-bottom{gap:32px}.hiring-project{padding-block:24px}}@media screen and (max-width:760px){.desk-foreground,.desk-prop,.room-backdrop,:is(.theme-terminal,.theme-desktop):before{display:none}:is(.theme-terminal,.theme-desktop){background:var(--bg)}:is(.theme-terminal,.theme-desktop,.theme-hiring) .portfolio-shell{padding:12px 10px max(24px,env(safe-area-inset-bottom))}:is(.theme-terminal,.theme-desktop,.theme-hiring) .system-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.app .home-control{margin:0;min-width:0}.app .sound-toggle{grid-column:2;grid-row:1;padding-inline:4px}.app .theme-switch{grid-column:1/-1;grid-row:2;order:0;min-width:0}.app .theme-switch button{padding-inline:4px;font-size:11px}.app .theme-switch button>svg{display:none}.screensaver-motion-toggle{grid-column:1;grid-row:3;align-self:end;padding:8px 4px;font-size:10px}.screensaver-delay{grid-column:2;grid-row:3;flex-direction:column;align-items:stretch;gap:4px;font-size:10px}.screensaver-delay select{width:100%;min-width:0;max-width:none;padding:6px;font-size:16px}.retro-desk{display:block;padding:0}:is(.theme-terminal,.theme-desktop,.theme-hiring) .mobile-device{position:relative;display:flex;flex-direction:column;isolation:isolate;width:100%;max-width:480px;height:clamp(660px,calc(100svh - 80px),900px);margin:16px auto 0;padding:26px 10px 22px;min-width:0;border:2px solid;border-color:#707772 #202925 #101612 #5b655e;border-radius:38px;background:linear-gradient(110deg,#3b443f,#111814 30%,#232c26 90%,#59625b);box-shadow:4px 8px 16px #10181255}:is(.theme-terminal,.theme-desktop,.theme-hiring) .mobile-device:before{content:"";position:absolute;z-index:1;top:10px;bottom:auto;left:50%;width:48px;height:4px;transform:translateX(-50%);pointer-events:none;border:1px solid #444c46;border-radius:8px;background:#080e0a;box-shadow:none}:is(.theme-terminal,.theme-desktop,.theme-hiring) .mobile-device:after{content:"";position:absolute;z-index:1;top:auto;bottom:8px;left:50%;width:76px;height:4px;transform:translateX(-50%);pointer-events:none;border:0;border-radius:8px;background:#9fa9a1;box-shadow:none}.mobile-device .monitor-chin{display:none}.mobile-device .monitor-screen{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 6px;border:0;border-radius:24px;overflow:auto;overscroll-behavior:contain;box-shadow:none}.mobile-device .portfolio-identity{flex-shrink:0;padding:18px 8px 8px;margin-bottom:4px}.mobile-device .portfolio-identity h1{font-size:clamp(26px,7.4vw,36px);letter-spacing:.035em}.mobile-device .portfolio-identity>p{font-size:17px;letter-spacing:.06em;margin:8px 0}.mobile-device .identity-bottom{flex-wrap:wrap;gap:0 16px;font-size:11px}.mobile-device .identity-bottom>span{flex-basis:100%}.mobile-device .identity-bottom a{min-height:44px}.mobile-device .workspace{flex:1 0 370px;min-height:370px;grid-template-rows:66px minmax(0,1fr);gap:8px}.mobile-device .directory{padding:3px;min-height:0}.mobile-device .directory>button{min-height:58px;min-width:72px;padding:6px}.mobile-device .portfolio-window{height:100%;min-height:0}.mobile-device .taskbar{flex-shrink:0;width:calc(100% + 12px);margin:8px -6px 0}.mobile-device .command-line input{font-size:16px}.mobile-device .retro-screensaver{inset:26px 10px 22px;border-radius:24px}.mobile-device .hiring-main{flex:1;min-height:0;margin:0;padding:24px 18px;max-width:none;border:0;border-radius:24px;overflow-y:auto;overscroll-behavior:contain;box-shadow:none}.mobile-device .hiring-intro h1{font-size:30px}.mobile-device .hiring-main h2{font-size:24px}.app .theme-switch button{flex:1;font-size:12px}.theme-terminal .mobile-device .monitor-screen{display:block;background:var(--bg);padding:0 12px}.theme-terminal .mobile-device .portfolio-identity{padding:22px 0 12px}.theme-terminal .mobile-device .identity-bottom{font-size:12px;line-height:1.7}.theme-terminal .mobile-device .workspace{display:block;min-height:0}.theme-terminal .mobile-device .directory{display:block;padding:0;overflow:visible}.phone-navigation{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;color:var(--muted);font-size:12px}.phone-navigation select{width:100%;min-width:0;min-height:48px;padding:10px 8px;border:1px solid var(--rule);border-radius:4px;color:var(--ink);background:var(--panel);font:16px/1.5 IBM Plex Mono,monospace}.theme-terminal .mobile-device .portfolio-window{display:block;height:auto;border:0}.theme-terminal .mobile-device :is(.window-titlebar,.window-location,.window-status){display:none}.theme-terminal .mobile-device .window-content{display:block;overflow:visible}.theme-terminal .mobile-device .project-directory{display:block;padding:16px 0 0;overflow:visible;border:0}.theme-terminal .mobile-device main{height:auto;overflow:visible;scrollbar-gutter:auto}.theme-terminal .mobile-device main>:is(.project-detail,.text-content){padding:28px 0}.theme-terminal .mobile-device :is(.project-description,.text-content p,.research-intro,.research-method dd){font-size:16px;line-height:1.75}.theme-terminal .mobile-device :is(.project-category,.project-tags,.skill-list,.project-notes,.evidence-limit,.research-links>a,.evidence-counts dt){font-size:12px}.theme-terminal .mobile-device .project-actions{flex-direction:column}.theme-terminal .mobile-device .action-button{width:100%;font-size:13px}.theme-terminal .mobile-device .taskbar{width:100%;height:auto;margin:0;padding:12px 0}.theme-terminal .mobile-device .command-line{width:100%;min-width:0}.theme-terminal .mobile-device .command-line input{min-width:0}}@media print{.paper-fly,.retro-screensaver{display:none!important}.app,.portfolio-shell,.portfolio-window,.text-content,:root,body{background:#fff!important;color:#000!important}.portfolio-shell,.theme-desktop .portfolio-shell{padding:0;max-width:none}.directory,.portfolio-identity,.project-directory,.skip-link,.system-bar,.taskbar,.window-location,.window-status,.window-titlebar{display:none!important}.monitor-screen,.retro-monitor{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff;overflow:visible}.retro-monitor:after,.retro-monitor:before{display:none}.retro-desk{display:block;padding:0}.desk-foreground,.desk-prop,.room-backdrop,:is(.theme-terminal,.theme-desktop):before{display:none!important}.monitor-chin{display:none}.hiring-resume-controls,.theme-hiring .hiring-overview{display:none!important}.theme-hiring .hiring-resume{display:block!important;border:0;padding:0;margin:0}.theme-hiring .hiring-main{overflow:visible;padding:0;margin:0;max-width:none;border:0;box-shadow:none;background:#fff!important}.hiring-main:before{display:none!important}.theme-hiring .hiring-resume h2,.theme-hiring .hiring-resume h3,.theme-hiring .hiring-resume h4{-moz-column-break-after:avoid;break-after:avoid}.theme-hiring .hiring-resume article{-moz-column-break-inside:avoid;break-inside:avoid}.theme-desktop .workspace,.window-content,.workspace{display:block!important}.portfolio-window{border:0!important;box-shadow:none!important}.text-content{padding:0}.text-content h2{color:#000!important}.experience-list article{-moz-column-break-inside:avoid;break-inside:avoid}.portfolio-shell:after{display:none}:is(.theme-terminal,.theme-desktop) .portfolio-window{display:block;height:auto;min-height:0}:is(.theme-terminal,.theme-desktop) .window-content,:is(.theme-terminal,.theme-desktop) main{height:auto;min-height:0;max-height:none;overflow:visible}:is(.theme-terminal,.theme-desktop,.theme-hiring) .portfolio-shell{padding:0;max-width:none}:is(.theme-terminal,.theme-desktop) main>.text-content{padding:0}}@media (forced-colors:active){.paper-fly{display:none}.retro-screensaver,.retro-screensaver>span{background:Canvas;color:CanvasText;border-color:CanvasText}.retro-screensaver canvas{visibility:hidden}.theme-terminal{--bg:Canvas;--panel:Canvas;--ink:CanvasText;--accent:Highlight;--muted:CanvasText;--rule:CanvasText}.theme-terminal ::-moz-selection{color:HighlightText;background:Highlight}.theme-terminal ::selection{color:HighlightText;background:Highlight}.desk-foreground,.room-backdrop,.theme-terminal .desk-prop,.theme-terminal:before{display:none}}