*{margin:0;padding:0;box-sizing:border-box}:root{--desert:#c8873a;--sand:#e8c97a;--sky-deep:#1b2a3e;--sky-mid:#2e4a6b;--horizon:#f4895a;--cream:#f5edd6;--dark:#0d1117;--glass:rgba(15,22,35,.88);--glass-border:hsla(43,71%,69%,.18);--window-bar:rgba(20,30,45,.98);--taskbar:rgba(8,14,22,.97)}body,html{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}body{font-family:DM Sans,sans-serif;background:var(--sky-deep);cursor:default}#desktop{position:relative;width:100vw;height:100vh;overflow:hidden}.sky-bg{background:linear-gradient(180deg,#0a1628 0,#1b2a3e 30%,#2e4a6b 55%,#7a5c3a 72%,#c8873a 80%,#e8a060 88%,#f4c090 94%,#e8d5b0);z-index:0}.sky-bg,.stars{position:absolute;inset:0}.stars{z-index:1}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--d,3s) ease-in-out infinite var(--delay,0s)}@keyframes twinkle{0%,to{opacity:var(--op,.6)}50%{opacity:.1}}.dunes{position:absolute;bottom:48px;left:0;right:0;z-index:2}.jeep-wrap{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);z-index:10;animation:jeepBounce 4s ease-in-out infinite;cursor:pointer;transition:filter .3s}.jeep-wrap:hover{filter:drop-shadow(0 0 30px rgba(232,201,122,.6))}@keyframes jeepBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}.dust-particle{position:absolute;border-radius:50%;background:rgba(200,135,58,.4);animation:dustDrift var(--dur,3s) ease-out infinite var(--del,0s);pointer-events:none}@keyframes dustDrift{0%{transform:translate(0) scale(1);opacity:.6}to{transform:translate(var(--dx,-80px),var(--dy,-60px)) scale(3);opacity:0}}.welcome-bubble{bottom:200px;background:rgba(10,16,28,.95);border:1px solid hsla(43,71%,69%,.3);border-radius:12px;padding:12px 18px;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--sand);text-align:center;z-index:15;white-space:nowrap;animation:bubbleFloat 3s ease-in-out infinite,bubbleFade 6s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.welcome-bubble,.welcome-bubble:after{position:absolute;left:50%;transform:translateX(-50%)}.welcome-bubble:after{content:"";bottom:-8px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid hsla(43,71%,69%,.3)}@keyframes bubbleFloat{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}@keyframes bubbleFade{0%{opacity:1}70%{opacity:1}to{opacity:0;pointer-events:none}}.desktop-icons{position:absolute;top:20px;left:20px;gap:8px;z-index:50}.desktop-icons,.icon{display:flex;flex-direction:column}.icon{align-items:center;gap:4px;padding:8px;border-radius:8px;cursor:pointer;width:72px;transition:background .15s;border:1px solid transparent}.icon:hover{background:hsla(43,71%,69%,.12)}.icon.active{background:hsla(43,71%,69%,.2);border-color:hsla(43,71%,69%,.4)}.icon-img{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,rgba(20,30,45,.8),rgba(40,60,90,.8));border-radius:10px;border:1px solid hsla(43,71%,69%,.2);box-shadow:0 4px 12px rgba(0,0,0,.4)}.icon-label{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--cream);text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.8);line-height:1.3}.window{position:absolute;background:var(--glass);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.7),inset 0 0 0 1px hsla(0,0%,100%,.04);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:320px;min-height:200px;z-index:100;display:none;flex-direction:column;overflow:hidden}.window.open{display:flex;animation:windowOpen .25s cubic-bezier(.34,1.56,.64,1)}.window.focused{z-index:200;box-shadow:0 30px 100px rgba(0,0,0,.8),inset 0 0 0 1px hsla(43,71%,69%,.1)}@keyframes windowOpen{0%{transform:scale(.85) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes windowClose{to{transform:scale(.85) translateY(20px);opacity:0}}.win-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--window-bar);border-bottom:1px solid hsla(43,71%,69%,.1);cursor:-webkit-grab;cursor:grab;flex-shrink:0}.win-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.win-controls{display:flex;gap:6px;flex-shrink:0}.win-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;transition:filter .15s,transform .1s}.win-btn:hover{filter:brightness(1.3);transform:scale(1.1)}.win-btn.close{background:#ff5f57}.win-btn.minimize{background:#ffbd2e}.win-btn.maximize{background:#28ca40}.win-title{flex:1 1;font-family:IBM Plex Mono,monospace;font-size:11px;color:hsla(45,61%,90%,.7);text-align:center;letter-spacing:.05em}.win-icon-sm{font-size:13px}.win-body{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:20px;scrollbar-width:thin;scrollbar-color:hsla(43,71%,69%,.3) transparent}.win-body::-webkit-scrollbar{width:4px}.win-body::-webkit-scrollbar-thumb{background:hsla(43,71%,69%,.3);border-radius:2px}.resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;z-index:10}.resize-handle:after{content:"";position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-right:2px solid hsla(43,71%,69%,.3);border-bottom:2px solid hsla(43,71%,69%,.3);border-radius:1px}.taskbar{position:absolute;bottom:0;left:0;right:0;height:48px;background:var(--taskbar);border-top:1px solid hsla(43,71%,69%,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:0 16px;gap:8px;z-index:1000}.taskbar,.taskbar-start{display:flex;align-items:center}.taskbar-start{justify-content:center;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--desert),var(--sand));font-size:18px;cursor:pointer;transition:all .2s;flex-shrink:0;border:none}.taskbar-start:hover{transform:scale(1.1);box-shadow:0 0 20px hsla(43,71%,69%,.4)}.taskbar-items{display:flex;gap:6px;flex:1 1;overflow:hidden}.taskbar-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);cursor:pointer;transition:all .15s;font-family:IBM Plex Mono,monospace;font-size:10px;color:hsla(45,61%,90%,.6);white-space:nowrap;height:32px}.taskbar-btn:hover{background:hsla(43,71%,69%,.12);color:var(--sand)}.taskbar-btn.active{background:hsla(43,71%,69%,.15);border-color:hsla(43,71%,69%,.25);color:var(--sand)}.taskbar-clock{margin-left:auto;font-size:11px;color:hsla(45,61%,90%,.7);text-align:right;line-height:1.4;flex-shrink:0}.taskbar-clock,.toast{font-family:IBM Plex Mono,monospace}.toast{position:fixed;bottom:60px;right:16px;background:rgba(10,16,28,.95);border:1px solid hsla(43,71%,69%,.25);border-radius:8px;padding:10px 14px;font-size:10px;color:var(--cream);z-index:9999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:toastIn .3s ease,toastOut .3s 2.5s forwards;max-width:260px;pointer-events:none}@keyframes toastIn{0%{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toastOut{to{transform:translateX(110%);opacity:0}}.win-tag{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--horizon);text-transform:uppercase;letter-spacing:.2em;margin-bottom:14px}.win-section-title{font-family:Syne,sans-serif;font-weight:800;font-size:1.4rem;color:var(--sand);margin-bottom:16px;letter-spacing:-.02em;line-height:1.2}.profile-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.profile-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--sand);box-shadow:0 0 20px hsla(43,71%,69%,.3);flex-shrink:0;animation:photoGlow 4s ease-in-out infinite}@keyframes photoGlow{0%,to{box-shadow:0 0 20px hsla(43,71%,69%,.3)}50%{box-shadow:0 0 35px hsla(43,71%,69%,.6)}}.profile-name{font-family:Syne,sans-serif;font-weight:800;font-size:1.5rem;color:var(--cream);line-height:1;margin-bottom:4px}.profile-role{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--horizon);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.profile-bio{font-size:.82rem;color:hsla(45,61%,90%,.65);line-height:1.6}.info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:14px}.info-card{padding:10px;background:hsla(43,71%,69%,.05);border:1px solid hsla(43,71%,69%,.1);border-radius:6px;transition:all .2s}.info-card:hover{background:hsla(43,71%,69%,.1);border-color:hsla(43,71%,69%,.25)}.info-label{font-family:IBM Plex Mono,monospace;font-size:8px;color:var(--horizon);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}.info-val{font-size:.78rem;color:var(--cream);font-weight:500}.skill-group{margin-bottom:16px}.skill-group-title{font-family:IBM Plex Mono,monospace;font-size:9px;color:hsla(45,61%,90%,.4);text-transform:uppercase;letter-spacing:.2em;margin-bottom:8px;display:flex;align-items:center;gap:8px}.skill-group-title:after{content:"";flex:1 1;height:1px;background:hsla(43,71%,69%,.1)}.skill-tags{display:flex;flex-wrap:wrap;gap:5px}.skill-tag{padding:3px 9px;border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.05em;border:1px solid;transition:all .2s;cursor:default}.skill-tag:hover{transform:translateY(-1px);filter:brightness(1.2)}.st-orange{background:rgba(200,135,58,.12);border-color:rgba(200,135,58,.3);color:#e8a060}.st-blue{background:rgba(106,175,230,.1);border-color:rgba(106,175,230,.25);color:#6aafe6}.st-green{background:rgba(102,187,106,.1);border-color:rgba(102,187,106,.25);color:#81c784}.st-purple{background:rgba(179,136,255,.1);border-color:rgba(179,136,255,.25);color:#b388ff}.st-pink{background:rgba(244,143,177,.1);border-color:rgba(244,143,177,.25);color:#f48fb1}.exp-item{padding:14px;border:1px solid hsla(43,71%,69%,.1);border-radius:6px;margin-bottom:10px;background:hsla(0,0%,100%,.02);transition:all .2s;position:relative;overflow:hidden}.exp-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--horizon),var(--sand));border-radius:3px 0 0 3px}.exp-item:hover{background:hsla(43,71%,69%,.05);border-color:hsla(43,71%,69%,.25)}.exp-period{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--horizon);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}.exp-role{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;color:var(--cream);margin-bottom:2px}.exp-company{font-size:.78rem;color:var(--sand);margin-bottom:6px;font-weight:500}.exp-desc{font-size:.78rem;color:hsla(45,61%,90%,.55);line-height:1.6}.proj-card{border:1px solid hsla(43,71%,69%,.1);border-radius:8px;padding:14px;margin-bottom:10px;background:hsla(0,0%,100%,.02);transition:all .3s;cursor:pointer}.proj-card:hover{border-color:hsla(43,71%,69%,.3);background:hsla(43,71%,69%,.04);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.4)}.proj-num{font-family:IBM Plex Mono,monospace;font-size:9px;color:rgba(200,135,58,.5);letter-spacing:.1em;margin-bottom:4px}.proj-title{font-family:Syne,sans-serif;font-weight:700;font-size:.95rem;color:var(--cream);margin-bottom:5px}.proj-desc{font-size:.78rem;color:hsla(45,61%,90%,.55);line-height:1.6;margin-bottom:8px}.proj-stack{display:flex;flex-wrap:wrap;gap:4px}.edu-card{border:1px solid hsla(43,71%,69%,.1);border-radius:6px;padding:14px;margin-bottom:10px;background:hsla(0,0%,100%,.02);transition:all .2s}.edu-card:hover{background:hsla(43,71%,69%,.05);border-color:hsla(43,71%,69%,.25)}.edu-year{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--horizon);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.edu-deg{font-family:Syne,sans-serif;font-weight:700;font-size:.95rem;color:var(--cream);margin-bottom:3px}.edu-inst{font-size:.8rem;color:var(--sand);margin-bottom:5px}.edu-note{font-size:.75rem;color:hsla(45,61%,90%,.5);line-height:1.5}.res-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid hsla(43,71%,69%,.08);border-radius:6px;margin-bottom:8px;background:hsla(0,0%,100%,.02);transition:all .2s}.res-item:hover{background:hsla(43,71%,69%,.05);border-color:hsla(43,71%,69%,.2)}.res-num{font-family:IBM Plex Mono,monospace;font-size:1rem;color:rgba(200,135,58,.35);font-weight:700;min-width:1.5rem}.res-title{font-family:DM Sans,sans-serif;font-weight:500;font-size:.82rem;color:var(--cream);margin-bottom:4px;line-height:1.4}.res-meta{font-size:.72rem;color:hsla(45,61%,90%,.45)}.res-badge{padding:2px 8px;border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-pub{background:rgba(102,187,106,.1);border:1px solid rgba(102,187,106,.3);color:#81c784}.badge-conf{background:hsla(43,71%,69%,.1);border:1px solid hsla(43,71%,69%,.3);color:var(--sand)}.badge-wip{background:rgba(106,175,230,.1);border:1px solid rgba(106,175,230,.3);color:#6aafe6}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;border:1px solid hsla(43,71%,69%,.12);transition:all .3s;cursor:zoom-in;display:block}.gallery-img:hover{transform:scale(1.03);border-color:hsla(43,71%,69%,.4);box-shadow:0 8px 30px rgba(0,0,0,.5)}.contact-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid hsla(43,71%,69%,.1);border-radius:6px;margin-bottom:8px;background:hsla(0,0%,100%,.02);transition:all .2s;cursor:pointer}.contact-item:hover{background:hsla(43,71%,69%,.08);border-color:hsla(43,71%,69%,.3);transform:translateX(4px)}.contact-icon{font-size:20px}.contact-label{font-family:IBM Plex Mono,monospace;font-size:8px;color:var(--horizon);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}.contact-val{font-size:.85rem;color:var(--cream);font-weight:500}.about-full-img{width:100%;border-radius:6px;border:1px solid hsla(43,71%,69%,.15);margin-top:16px;display:block}