/* macOS desktop shell. Content and the Matrix landing remain in style.css. */
:root{--font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Menlo,Consolas,monospace}
html[data-theme=paper]{--bg:#f1f1f5;--panel:#fafafcee;--bar:#f2f2f4;--text:#25252a;--muted:#74747e;--line:#00000014;--accent:#007aff;--accent-soft:#007aff0c;--shadow:#142b4535;--glass:#eeedf3ae;--sidebar:#e6e5ecb8;color-scheme:light}
html[data-theme=ink]{--bg:#212126;--panel:#29292eed;--bar:#303036;--text:#f2f2f7;--muted:#a3a3af;--line:#ffffff15;--accent:#62a9ff;--accent-soft:#62a9ff14;--shadow:#0008;--glass:#24242caa;--sidebar:#26262eb8;color-scheme:dark}
html[data-theme=sepia]{--bg:#f2e9db;--panel:#fcf7efeF;--bar:#f3ebdf;--text:#42382c;--muted:#90806d;--line:#49301818;--accent:#a56535;--accent-soft:#a5653510;--shadow:#49301835;--glass:#efdfc6ad;--sidebar:#eee1cbb8;color-scheme:light}
html[data-theme=green]{--bg:#14251b;--panel:#17281fed;--bar:#1e3025;--text:#e0f1e5;--muted:#98b5a1;--line:#9fc9aa20;--accent:#82dba0;--accent-soft:#82dba010;--shadow:#0008;--glass:#152a20aa;--sidebar:#193326b8;color-scheme:dark}
body{background:#479c63;font-family:var(--font);min-height:100dvh;-webkit-font-smoothing:antialiased}
.macintosh-wallpaper{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#479c63;perspective:1600px}
.spectrum-color{position:absolute;inset:0;background:#479c63;animation:macintosh-spectrum 84s linear infinite}
.retro-perspective{position:absolute;inset:-15%;transform-style:preserve-3d;transform:rotateX(18deg) rotateY(-22deg) rotateZ(-13deg);animation:macintosh-camera 36s ease-in-out infinite alternate;mix-blend-mode:screen}
.retro-scene{position:absolute;left:50%;top:50%;width:max(125vw,1050px);height:auto;max-width:none;transform:translate(-50%,-50%);filter:invert(1);image-rendering:pixelated;mix-blend-mode:screen;opacity:0;animation:macintosh-scene 72s linear infinite}
.retro-scene:nth-child(2){animation-delay:-54s}.retro-scene:nth-child(3){animation-delay:-36s}.retro-scene:nth-child(4){animation-delay:-18s}
.spectrum-shading{position:absolute;inset:0;background:linear-gradient(130deg,#ffffff12,transparent 50%,#10202635);transition:background .4s}
html[data-theme=ink] .spectrum-shading,html[data-theme=green] .spectrum-shading{background:linear-gradient(130deg,#09131b70,#09131ba0)}
.wallpaper-preference{display:flex;align-items:center;gap:16px;padding:10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.menu-dropdown .wallpaper-preference button{padding:5px 8px;width:auto;margin-left:auto;border:1px solid var(--line);font-size:10px;color:var(--text)}.wallpaper-preference button:disabled{opacity:.5;cursor:default}
html[data-wallpaper-motion=paused] .macintosh-wallpaper *{animation-play-state:paused}
@keyframes macintosh-spectrum{0%,12%{background:#479c63}16.666%,28.666%{background:#c4aa3d}33.333%,45.333%{background:#ce813d}50%,62%{background:#bb5860}66.666%,78.666%{background:#8c65ad}83.333%,95.333%{background:#477fbb}100%{background:#479c63}}
@keyframes macintosh-camera{from{transform:translate3d(-3%,-4%,0) rotateX(18deg) rotateY(-22deg) rotateZ(-13deg) scale(1.05)}to{transform:translate3d(4%,5%,0) rotateX(24deg) rotateY(-16deg) rotateZ(-10deg) scale(1.16)}}
@keyframes macintosh-scene{0%{opacity:0}3%,22%{opacity:.36}25%,100%{opacity:0}}
button,input,select{font-family:var(--font)}
.menubar{height:32px;padding:0 20px;gap:22px;background:var(--glass);border:0;box-shadow:0 1px 0 #ffffff12;backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);color:var(--text)}
.brand{gap:20px;font-size:13px;font-weight:650}.apple-symbol{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:22px;line-height:1;letter-spacing:0}
.mac-menus{display:flex;align-items:center;gap:4px;height:100%}.mac-menu{position:relative;height:100%}.mac-menu summary{list-style:none;cursor:pointer;height:100%;display:flex;align-items:center;padding:0 10px;font-size:12px;user-select:none}.mac-menu summary::-webkit-details-marker{display:none}.mac-menu summary:hover,.mac-menu[open] summary{background:#88888820;border-radius:4px}
.menu-dropdown{position:absolute;left:0;top:36px;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:0 12px 38px #0003;backdrop-filter:blur(24px);z-index:1100}.menu-dropdown button{display:block;width:100%;padding:8px 10px;border-radius:5px;text-align:left;font-size:12px}.menu-dropdown button:hover{background:var(--accent);color:#fff}
.menu-dropdown.preferences{display:flex;flex-direction:column;gap:0}.preferences label{display:flex;justify-content:space-between;gap:20px;width:100%;padding:10px;font-family:var(--font);font-size:12px;color:var(--text)}.preferences select{font-size:12px;color:var(--text);max-width:100px}
.menu-right{gap:18px}.mac-status svg{height:16px;width:16px}.search-button{font-size:11px;color:var(--text);gap:6px}.search-button svg{width:14px;height:14px}.search-button kbd,.search-button>span:nth-child(2){display:none}#clock{font:11px var(--font);white-space:nowrap}
#desktop{height:calc(100dvh - 32px);background:none;isolation:isolate;z-index:1}
.desktop-heading{left:28px;right:28px;top:24px;color:#fff}.desktop-heading .tiny-label{font-size:9px;color:#fff9;letter-spacing:2px}.desktop-hint{font-size:11px;color:#fff9}.wallpaper,.desktop-note{display:none}
#desktop-icons{left:auto;right:24px;top:70px;grid-template-columns:repeat(2,88px);gap:16px 8px;z-index:2}
.desktop-file{width:88px;gap:8px;border-radius:7px;padding:8px 3px}.desktop-file:hover{background:#ffffff20;border-color:#ffffff35}.desktop-file small{font:11px/1.3 var(--font);color:#fff;text-shadow:0 1px 3px #0008;max-width:86px;overflow-wrap:normal}.desktop-file:hover small{color:#fff}
.app-icon{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border:1px solid #fff5;border-radius:13px;color:#fff;box-shadow:inset 0 1px 1px #ffffff70,0 3px 8px #0002;background:linear-gradient(150deg,#67bdff,#1479e7)}
.app-icon svg{width:29px;height:29px;stroke-width:1.6;filter:drop-shadow(0 1px 1px #0001)}
.file-image{width:54px;height:54px;border-radius:13px;color:#fff}.file-image svg{width:30px;height:30px}
.app-finder{background:linear-gradient(90deg,#3a9cfa 50%,#c9e9ff 50%);color:#124872}.app-finder svg{width:38px;height:38px;stroke-width:1.4}
.app-about{background:linear-gradient(150deg,#ffcc74,#f58f35)}.app-projects{background:linear-gradient(150deg,#78d5ff,#248cfa)}.app-skills{background:linear-gradient(150deg,#be94ff,#7850e5)}.app-experience{background:linear-gradient(150deg,#f5d276,#e2a344)}.app-services{background:linear-gradient(150deg,#68dcbc,#23a387)}.app-contact{background:linear-gradient(150deg,#79caff,#297bef)}.app-terminal{background:linear-gradient(150deg,#3e444c,#141820)}.app-settings{background:linear-gradient(150deg,#c1c6d0,#858d9b)}
.window{display:flex;flex-direction:column;left:calc(50% - 435px);top:88px;width:850px;max-height:calc(100% - 210px);border:1px solid #ffffff60;border-radius:13px;background:var(--panel);box-shadow:0 24px 70px var(--shadow),0 0 0 1px #00000010;backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px);overflow:hidden;outline:none}
.window-active{box-shadow:0 28px 80px var(--shadow),0 0 0 1px #00000018}.window:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.window-bar{height:52px;min-height:52px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--bar);position:relative;display:grid;grid-template-columns:86px 1fr 86px;gap:10px;z-index:2}
.window-title{justify-content:center;color:var(--text);font:600 13px var(--font);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.window-title svg{width:16px;height:16px;color:var(--muted)}.window-bar-detail{font-size:10px;color:var(--muted);text-align:right}
.window-actions{gap:8px;align-items:center}.window-actions button{width:12px;height:12px;min-width:12px;padding:0;border-radius:50%;border:1px solid #00000012;font:12px/10px var(--font);position:relative;color:#352019;display:grid;place-items:center}
.window-actions button[data-action=close],.window-actions button[data-action=close]:hover{background:#ff5f57;color:#5a1512}.window-actions button[data-action=minimize],.window-actions button[data-action=minimize]:hover{background:#febc2e;color:#735001}.window-actions button[data-action=maximize],.window-actions button[data-action=maximize]:hover{background:#28c840;color:#075c14}.window-actions button span{opacity:0}.window-actions:hover button span,.window-actions button:focus-visible span{opacity:1}.window:not(.window-active) .window-actions button{filter:saturate(.45)}
.finder-layout{display:flex;min-height:0;flex:1;overflow:hidden}.finder-sidebar{width:166px;flex-shrink:0;background:var(--sidebar);padding:22px 10px 18px;display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--line);overflow:auto}
.sidebar-heading{font-size:10px;font-weight:600;color:var(--muted);padding:0 10px 8px}.sidebar-item{display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;padding:8px 10px;border-radius:6px;white-space:nowrap}.sidebar-item svg{width:16px;height:16px;color:var(--accent)}.sidebar-item:hover{background:#88888815}.sidebar-item.selected{background:#88888820}.sidebar-location{margin-top:22px}.sidebar-footer{margin-top:auto;padding:28px 10px 0;font-size:9px;color:var(--muted);line-height:1.5}
.welcome-content{padding:30px 34px 0;flex:1;min-width:0;overflow:auto;max-height:calc(100dvh - 244px)}
.welcome-topline .tiny-label{font-size:8px}.pill{font:10px var(--font);border:0;background:var(--accent-soft);padding:7px 10px;color:var(--accent)}.status-dot{width:5px;height:5px}
.intro{margin-top:30px;gap:18px}.avatar{width:72px;height:72px;border-radius:18px;border:1px solid var(--line)}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:38px;font-weight:650;letter-spacing:-1.7px}.accent{color:var(--accent)}#profile-role{font-size:11px;line-height:1.6}
.bio{font-size:14px;line-height:1.85;margin:23px 0 20px}.intro-links{gap:17px}.intro-links a{font:11px var(--font);gap:5px;color:var(--accent)}.welcome-line{margin:24px 0 20px}.quick-links{gap:12px;margin:14px 0 26px}.quick-links button{border:1px solid var(--line);border-radius:9px;padding:17px 13px;background:var(--bg);gap:10px}.quick-links strong{font-size:11px;font-weight:600}.quick-links small{font-size:9px}.quick-icon svg{width:19px;height:19px}.welcome-footer{font-size:7px;padding:16px 0}
.desktop-bottom{bottom:100px;left:28px;right:28px;font:10px var(--font);color:#ffffffb5}.desktop-bottom>span{background:none}
.content-window{width:850px;left:calc(50% - 405px);top:108px}.window-content{min-width:0;flex:1;padding:28px 30px;max-height:calc(100dvh - 274px);overflow:auto;line-height:1.8}.window-content h2{font-size:28px;font-weight:650;letter-spacing:-.8px;margin:8px 0 20px}.window-content h3{font-weight:600;font-size:14px}.window-content p{font-size:12px}.window-content .tiny-label{font-size:8px}
.skill{font:10px var(--mono);color:var(--accent);background:var(--accent-soft);border-color:transparent;border-radius:6px;padding:7px 10px}.project-card{border-radius:9px;background:var(--bg);padding:20px}.project-controls input,.project-controls select{border-radius:7px;font-family:var(--font)}.project-count{font-size:9px!important}.projects-grid{gap:12px}.projects-grid .project-card{background:var(--bg)}.projects-grid .skill{font-size:9px;padding:5px 7px}.projects-window{width:min(1060px,calc(100% - 260px));left:calc(50% - min(530px,(100% - 260px)/2));top:72px}.projects-window .window-content{max-height:calc(100dvh - 240px)}
.project-repository{font-size:8px}.project-links a{font-family:var(--font);font-size:11px}.section-button{background:var(--accent);color:#fff;border-color:transparent;border-radius:7px;font:12px var(--font)}.section-button:hover{background:var(--accent);filter:brightness(1.1)}.contact-link{border-radius:9px;padding:13px;background:var(--bg)}.contact-link small{font-size:10px}.contact-location{font-size:11px!important}
.window.minimized{display:none}.window.maximized{inset:12px 12px 100px!important;width:calc(100% - 24px)!important;height:calc(100% - 112px)!important;max-height:none}.window.maximized .finder-layout{flex:1;min-height:0}.window.maximized .window-content,.window.maximized .welcome-content{max-height:none}.window.maximized .welcome-content{max-width:800px;padding:32px 40px 0}.window.maximized .welcome-topline{margin-top:0}
.terminal-window{width:580px;height:400px;left:auto;right:230px;top:auto;bottom:130px;max-height:calc(100% - 170px)}.terminal-window .window-bar{min-height:40px;height:40px;grid-template-columns:86px 1fr 86px}.terminal-window .terminal-content{height:calc(100% - 40px);padding:18px 20px;background:var(--bg)}.terminal-output p{font:11px/1.8 var(--mono)}.terminal-window .terminal-form input,.terminal-window .terminal-form span{font-family:var(--mono)}.terminal-window.maximized{max-height:none}.terminal-window.maximized .terminal-content{max-height:none}
.taskbar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);height:76px;padding:0;border:0;background:none;width:max-content;max-width:calc(100% - 24px);z-index:1000;gap:0}
.dock{display:flex;align-items:center;gap:10px;height:76px;padding:8px 10px 6px;border:1px solid #ffffff70;border-radius:22px;background:var(--glass);box-shadow:0 12px 38px #0003;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}#dock-apps{display:flex;align-items:center;gap:10px}
.dock-item{padding:0 0 7px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:60px;transition:transform .18s ease;transform-origin:50% 100%;border-radius:14px}.dock-item:hover,.dock-item:focus-visible{transform:translateY(-7px) scale(1.12);z-index:2}.dock-item .app-icon{width:52px;height:52px}.dock-dot{position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:var(--text);opacity:0}.dock-item.running .dock-dot{opacity:.55}.dock-item.active .dock-dot{opacity:1}.dock-tooltip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%);padding:6px 10px;font-size:11px;white-space:nowrap;border:1px solid #ffffff50;border-radius:6px;background:var(--panel);box-shadow:0 3px 10px #0002;opacity:0;pointer-events:none;transition:opacity .15s}.dock-item:hover .dock-tooltip,.dock-item:focus-visible .dock-tooltip{opacity:1}.dock-divider{height:44px;width:1px;background:var(--line);margin:0 2px}
dialog{width:610px;top:18%;border-radius:14px;border:1px solid #ffffff60;background:var(--panel);backdrop-filter:blur(35px);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#0002;backdrop-filter:blur(3px)}.search-input-row{padding:20px 22px}.search-input-row input{font-size:21px;font-weight:400}.search-input-row svg{width:22px;height:22px}.search-result{font-size:13px;padding:14px}.search-result:hover,.search-result:focus-visible{background:var(--accent);color:#fff}.search-result span:last-child{font:10px var(--font)}.search-footer{font:10px var(--font);letter-spacing:0;padding:12px 20px}#toast{bottom:110px}
.boot-screen{font-family:var(--font)}.boot-editor-bar i:nth-child(1){background:#ff5f57}.boot-editor-bar i:nth-child(2){background:#febc2e}.boot-editor-bar i:nth-child(3){background:#28c840}.boot-editor-bar i{width:9px;height:9px}.boot-brand{font-size:11px;letter-spacing:0}
html.boot-ready .taskbar{animation:dock-reveal .7s ease both}@keyframes dock-reveal{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:1450px){.welcome-window{top:105px;width:880px;left:calc(50% - 450px)}.welcome-content{padding:34px 38px 0}.intro{margin-top:32px}.bio{margin-top:25px;margin-bottom:22px}.quick-links{margin-bottom:28px}}
@media(max-width:1150px){.window{left:24px;width:calc(100% - 240px);top:78px}.content-window{left:36px;top:95px}.projects-window{left:24px;width:calc(100% - 240px);top:70px}.finder-sidebar{width:144px}.welcome-content{padding:25px 25px 0}.window-content{padding:25px}.projects-grid{grid-template-columns:1fr}.terminal-window{left:auto;right:210px;top:auto;width:500px;bottom:120px}h1{font-size:33px}.quick-links{grid-template-columns:1fr}.quick-links button{padding:12px}.welcome-footer>span:last-child{display:none}}
@media(max-width:900px) and (min-width:761px){#desktop-icons{right:10px;grid-template-columns:80px}.desktop-file{width:80px;gap:4px;padding:4px 2px}.file-image{width:42px;height:42px}.window,.projects-window{width:calc(100% - 140px)}.finder-sidebar{width:130px}.terminal-window{width:500px;right:105px}.desktop-heading .desktop-hint{display:none}.quick-links{grid-template-columns:1fr 1fr}.quick-links small{display:none}}
@media(max-width:760px){.menubar{height:32px;padding:0 12px;gap:12px}.brand{gap:10px;font-size:11px}#brand-name{display:inline}.apple-symbol{font-size:19px}.mac-menus{gap:0}.mac-menu summary{padding:0 7px;font-size:10px}.mac-menu:nth-child(3){display:none}.menu-right{gap:10px}.mac-status{display:none}#clock{font-size:9px;max-width:102px;overflow:hidden;text-overflow:ellipsis}.menu-dropdown{left:-50px;min-width:210px}
 #desktop{height:calc(100dvh - 32px)}.desktop-heading{top:18px;left:18px;right:18px}.desktop-hint{display:none}#desktop-icons{left:12px;right:12px;top:43px;display:flex;gap:3px}.desktop-file{flex:1;min-width:0;width:auto;padding:5px 1px;gap:6px}.file-image{width:35px;height:35px;border-radius:9px}.file-image svg{width:21px;height:21px}.desktop-file small{font-size:7px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .window,.content-window,.projects-window{left:12px;right:auto;top:129px;width:calc(100% - 24px);max-height:calc(100% - 231px);border-radius:11px;overflow:hidden}.window-bar{height:44px;min-height:44px;padding:0 13px;grid-template-columns:64px 1fr 44px;gap:6px;position:relative}.window-title{font-size:11px}.window-title svg{display:none}.window-bar-detail{font-size:8px}.window-actions{gap:7px}.window-actions button{width:11px;height:11px;min-width:11px}.finder-sidebar{display:none}.finder-layout{display:block;overflow:auto;min-height:0;flex:1}.welcome-content,.window-content,.projects-window .window-content{max-height:none;padding:22px;overflow:visible}.welcome-content{padding-bottom:0}.welcome-topline .tiny-label{font-size:7px}.pill{font-size:8px;padding:6px 8px}.intro{gap:14px;margin-top:24px}.avatar{width:55px;height:55px;border-radius:14px}h1{font-size:29px;letter-spacing:-1.2px}#profile-role{font-size:10px;line-height:1.6}.bio{font-size:12px;line-height:1.8;margin-top:20px}.intro-links{gap:15px}.intro-links a{font-size:10px}.welcome-line{margin:20px 0}.quick-links{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.quick-links button{padding:12px 9px;gap:8px}.quick-links strong{font-size:10px}.quick-links small{font-size:8px}.welcome-footer{font-size:6px}.welcome-footer>span:last-child{display:none}
 .desktop-bottom{bottom:95px;left:18px;right:18px;font-size:8px}.desktop-bottom>span:last-child{display:none}.taskbar{height:60px;bottom:10px;max-width:calc(100% - 16px)}.dock{height:60px;padding:6px 7px 4px;border-radius:17px;gap:6px}#dock-apps{gap:6px}.dock-item{height:47px;padding-bottom:6px}.dock-item .app-icon{width:32px;height:32px;border-radius:9px}.app-icon svg{width:22px;height:22px}.app-finder svg{width:27px;height:27px}.dock-dot{width:3px;height:3px}.dock-divider{height:31px;margin:0;width:1px}.dock-tooltip{font-size:9px;bottom:calc(100% + 10px)}.dock-item:hover{transform:translateY(-5px) scale(1.05)}
 .window-content h2{font-size:24px}.window-content h3{font-size:13px}.window-content p{font-size:12px}.projects-grid{grid-template-columns:1fr}.project-controls{gap:8px}.project-controls input,.project-controls select{font-size:10px}.project-controls select{max-width:115px}.terminal-window{left:12px;right:auto;top:129px;bottom:auto;width:calc(100% - 24px);height:330px;max-height:calc(100% - 231px)}.terminal-window .terminal-content{height:calc(100% - 40px);overflow:hidden;padding:14px 16px}.terminal-output p{font-size:10px}.window.maximized{inset:10px 10px 87px!important;width:calc(100% - 20px)!important;height:calc(100% - 97px)!important;max-height:none}.window.maximized .welcome-content{padding:25px 22px 0}.search-input-row input{font-size:18px}dialog{top:14%}
}
@media(max-width:360px){.dock{gap:4px}#dock-apps{gap:4px}.dock-item .app-icon{width:28px;height:28px}.mac-menu summary{padding:0 5px}#clock{max-width:78px}.menu-right{gap:8px}}
@media(max-width:760px){.retro-scene{width:max(180vw,800px)}.retro-perspective{inset:-25%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.retro-scene:first-child{opacity:.28}}
