*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg:#080808;--surface:#121214;--surface-2:#1a1a1d;--surface-card:rgba(22,22,26,.75);--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.18);--text:#f0eee8;--text-muted:#8c8c93;--text-mid:#a09a90;--accent:#c8f04e;--accent-contrast:#080808;--accent-dim:rgba(200,240,78,.08);--accent-dim2:rgba(200,240,78,.16);--glass-bg:rgba(18,18,22,.72);--glass-header:rgba(18,18,22,.88);--window-shadow:0 28px 70px rgba(0,0,0,.55),0 0 0 1px var(--border),0 1px 0 hsla(0,0%,100%,.12) inset;--dock-bg:rgba(22,22,28,.62);--dock-border:hsla(0,0%,100%,.14);--dock-shadow:0 20px 45px rgba(0,0,0,.45),0 0 1px hsla(0,0%,100%,.18) inset;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--wallpaper-filter:brightness(0.72) contrast(1.08) saturate(1.15)}[data-theme=light]{--bg:#f4f4f6;--surface:#fff;--surface-2:#eaeaef;--surface-card:hsla(0,0%,100%,.9);--border:rgba(0,0,0,.09);--border-hover:rgba(0,0,0,.2);--text:#161618;--text-muted:#646468;--text-mid:#444448;--accent:#2e6800;--accent-contrast:#fff;--accent-dim:rgba(46,104,0,.08);--accent-dim2:rgba(46,104,0,.16);--glass-bg:hsla(0,0%,100%,.82);--glass-header:rgba(245,245,247,.94);--window-shadow:0 24px 60px rgba(0,0,0,.12),0 0 0 1px var(--border),0 1px 0 hsla(0,0%,100%,.8) inset;--dock-bg:hsla(0,0%,100%,.72);--dock-border:hsla(0,0%,100%,.5);--dock-shadow:0 16px 36px rgba(0,0,0,.12),0 0 1px hsla(0,0%,100%,.85) inset;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--wallpaper-filter:brightness(0.96) contrast(1.02) saturate(1.05)}html{scroll-behavior:smooth}body,html{height:100%}body{width:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}body:has(.desktop-container){overflow:hidden;height:100vh;height:100dvh;position:fixed;inset:0}body{cursor:default}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}::selection{background:var(--accent);color:#080808}.desktop-container{position:relative;width:100vw;height:calc(100vh - 42px);height:calc(100dvh - 42px);overflow:hidden;z-index:10;margin-top:42px}.desktop-bg{position:absolute;inset:0;width:100%;height:100%;background:var(--bg);background-size:cover;background-position:50%;z-index:-2}.desktop-wallpaper-container{overflow:hidden}.desktop-wallpaper-container,.desktop-wallpaper-img{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.desktop-wallpaper-img{object-fit:cover;object-position:center;filter:var(--wallpaper-filter);transform:scale(1.02);opacity:.92;transition:opacity .5s ease,filter .5s ease}.desktop-grid-overlay{position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.02) 1.2px,transparent 0);background-size:30px 30px;pointer-events:none;z-index:0}.os-window{position:absolute;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%);border:1px solid var(--border);border-radius:14px;box-shadow:var(--window-shadow);overflow:hidden;display:flex;flex-direction:column;color:var(--text);z-index:10}.os-window-header{height:40px;background:var(--glass-header);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;position:relative;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.os-window-header:active{cursor:-webkit-grabbing;cursor:grabbing}.os-window-controls{display:flex;gap:8px;position:absolute;left:16px;z-index:10}.os-window-control-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;padding:0;transition:filter .2s;display:flex;align-items:center;justify-content:center}.os-window-control-btn:hover{filter:brightness(.8)}.os-window-control-close{background:#ff5f56}.os-window-control-minimize{background:#ffbd2e}.os-window-control-maximize{background:#27c93f}.os-window-control-icon{opacity:0;transition:opacity .15s ease-in-out;pointer-events:none;display:block}.os-window-controls:hover .os-window-control-icon{opacity:1}.os-window-title{width:100%;text-align:center;font-size:13px;font-weight:500;color:var(--text-muted);pointer-events:none;font-family:var(--font-body);letter-spacing:.01em}.os-window-body{flex:1 1;overflow:hidden;position:relative;padding:24px;display:flex;flex-direction:column}@media (max-width:768px){.os-window-body{overflow-y:auto;overflow-x:hidden;display:block}}.active-windows-bar{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:999}.active-window-pill{padding:6px 12px;background:rgba(22,22,24,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.06);border-radius:100px;font-size:11px;color:#a1a1aa;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.active-window-pill.active{background:rgba(200,240,78,.15);border-color:rgba(200,240,78,.4);color:var(--accent)}.active-window-pill:hover{color:#fff;border-color:hsla(0,0%,100%,.2)}.tab-close-btn{background:transparent;border:none;color:#a1a1aa;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;opacity:0;transition:opacity .2s,background-color .2s,color .2s;margin-left:6px}.active-window-pill:hover .tab-close-btn{opacity:1}.tab-close-btn:hover{background-color:hsla(0,0%,100%,.1);color:#fff}.active-window-pill.active .tab-close-btn:hover{background-color:rgba(200,240,78,.2);color:var(--accent)}.about-sidebar{border-right:1px solid hsla(0,0%,100%,.06)}.about-tab-btn{width:100%;padding:10px 14px;border-radius:8px;text-align:left;background:transparent;color:#a1a1aa;border:none;cursor:pointer;font-size:14px;transition:all .2s ease}.about-tab-btn:hover{background:hsla(0,0%,100%,.03);color:#fff}.about-tab-btn.active{background:hsla(0,0%,100%,.06);color:var(--accent);font-weight:500}.warning-dialog{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;color:#e4e4e7}.warning-btn{background:#3b82f6;color:#fff;padding:8px 20px;border-radius:6px;font-size:13px;border:none;cursor:pointer;font-weight:500;transition:background .2s}.warning-btn:hover{background:#2563eb}.d-flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.flex-1{flex:1 1}.desktop-grid{position:absolute;inset:0;padding:40px 32px 32px;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;justify-content:flex-start;gap:32px 48px;max-height:80vh;z-index:10;pointer-events:none}.desktop-grid,.desktop-shortcut{display:flex;flex-direction:column}.desktop-shortcut{align-items:center;gap:6px;cursor:pointer;pointer-events:auto;width:96px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shortcut-icon-wrapper{position:relative;width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.03);transition:transform .2s ease,background-color .2s ease;overflow:hidden}.desktop-shortcut:hover .shortcut-icon-wrapper{background-color:hsla(0,0%,100%,.08);transform:translateY(-2px)}.shortcut-icon-img{width:100%;height:100%;object-fit:cover}.shortcut-label{font-size:11px;font-weight:500;color:#fff;text-align:center;font-family:var(--font-body);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;width:100%;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.8);background:rgba(0,0,0,.25);padding:2px 8px;border-radius:6px;border:1px solid hsla(0,0%,100%,.05);opacity:.8;transition:all .2s ease}.desktop-shortcut:hover .shortcut-label{opacity:1;background:rgba(0,0,0,.5)}.desktop-dock-wrapper{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000}.os-dock-separator{width:1px;height:38px;align-self:center;background:var(--dock-border);margin:0 4px;opacity:.75;border-radius:1px;flex-shrink:0}.dock-icon-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:0;border:none;box-shadow:none}.about-layout{display:flex;height:100%;min-height:400px}.about-sidebar{width:25%;padding-right:16px;border-right:1px solid var(--border);gap:8px;flex-shrink:0}.about-content,.about-sidebar{display:flex;flex-direction:column}.about-content{width:75%;padding-left:24px;overflow-y:auto;height:100%;gap:24px}.about-content-section{display:flex;flex-direction:column;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0}.stat-value{font-size:20px;font-weight:700;color:var(--accent)}.stat-label{font-size:11px;color:var(--text-muted);font-weight:500}.philosophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.philosophy-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.philosophy-num{font-size:10px;color:var(--accent);font-family:monospace;font-weight:700}.philosophy-title{font-size:12px;font-weight:600;color:var(--text)}.philosophy-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.timeline-container{display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--border);padding-left:16px;margin-left:8px}.timeline-item{position:relative}.timeline-dot{position:absolute;left:-21px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.timeline-date{font-size:10px;color:var(--accent);font-family:monospace}.timeline-role{font-size:14px;font-weight:600;color:var(--text);margin-top:2px}.timeline-company{font-size:12px;color:var(--text-mid);font-weight:500}.timeline-points{list-style-type:disc;padding-left:16px;margin-top:8px;font-size:12px;color:var(--text);display:flex;flex-direction:column;gap:4px}.education-container{display:flex;flex-direction:column;gap:16px}.education-item{display:flex;justify-content:space-between;align-items:flex-start}.education-degree{font-size:14px;font-weight:600;color:#e5e7eb}.education-school{font-size:12px;color:#9ca3af}.education-gpa{font-size:11px;color:var(--accent);margin-top:4px;font-family:monospace}.education-date{font-size:12px;color:#6b7280;font-family:monospace}.certifications-list{display:flex;flex-direction:column;gap:8px}.certification-item{font-size:12px;color:#9ca3af;display:flex;align-items:center;gap:8px}.cert-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.skills-container{gap:16px}.skills-container,.skills-group{display:flex;flex-direction:column}.skills-group{background:hsla(0,0%,100%,.01);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;padding:16px;gap:12px}.skills-group-title{font-size:12px;font-weight:600;color:#9ca3af}.skills-tag-list{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{font-size:12px;padding:4px 12px;border-radius:100px;border:1px solid hsla(0,0%,100%,.05);background:hsla(0,0%,100%,.02);color:#9ca3af;transition:all .2s ease}.skill-tag.featured{background:rgba(200,240,78,.1);border-color:rgba(200,240,78,.3);color:var(--accent);font-weight:500}.interests-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.interest-card{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.interest-title{font-size:14px;font-weight:600;color:#e5e7eb}.interest-desc{font-size:12px;color:#6b7280;line-height:1.5}.projects-layout{display:flex;flex-direction:column;gap:24px;height:100%}.projects-filter-bar{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid hsla(0,0%,100%,.05);padding-bottom:16px}.filter-btn{font-size:12px;padding:6px 12px;border-radius:100px;border:1px solid hsla(0,0%,100%,.1);background:transparent;color:#9ca3af;cursor:pointer;transition:all .2s ease}.filter-btn:hover{color:#fff;border-color:hsla(0,0%,100%,.2)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#080808;font-weight:600}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;flex:1 1;overflow-y:auto;padding-right:4px}.project-card{background:#131315;border:1px solid hsla(0,0%,100%,.05);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:hsla(0,0%,100%,.1);transform:translateY(-2px)}.project-card-image-wrapper{aspect-ratio:16/9;background:#1e1e21;position:relative;overflow:hidden}.project-card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-card-image{transform:scale(1.05)}.project-card-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.project-card:hover .project-card-overlay{opacity:1}.project-open-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#080808;background:var(--accent);padding:6px 12px;border-radius:8px}.project-card-info{padding:16px;display:flex;flex-direction:column;gap:8px}.project-card-title{font-size:14px;font-weight:600;color:var(--text);transition:color .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card:hover .project-card-title{color:var(--accent)}.project-card-desc{font-size:11px;color:var(--text-mid);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.project-card-tag{font-size:9px;padding:2px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-mid)}.project-detail-layout{display:flex;flex-direction:column;gap:24px}.project-back-btn{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent);background:transparent;border:none;cursor:pointer;width:-moz-fit-content;width:fit-content}.project-back-btn:hover{text-decoration:underline}.project-detail-title{font-size:24px;font-weight:700;color:#fff;letter-spacing:-.02em}.project-detail-grid{display:grid;grid-template-columns:7fr 5fr;grid-gap:24px;gap:24px;align-items:start}.project-detail-preview{background:#161618;border:1px solid hsla(0,0%,100%,.05);border-radius:12px;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px rgba(0,0,0,.3)}.project-detail-img{width:100%;height:100%;object-fit:cover}.project-detail-info-col{display:flex;flex-direction:column;gap:24px}.project-detail-section{display:flex;flex-direction:column;gap:8px}.project-detail-section-title{font-size:12px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.1em}.project-detail-desc{font-size:14px;color:#9ca3af;line-height:1.6;font-weight:300}.project-detail-links{display:flex;flex-direction:column;gap:8px}.project-launch-btn,.project-source-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:12px;padding:8px 16px;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .2s ease;width:100%;box-sizing:border-box;white-space:nowrap}.project-launch-btn{background:var(--accent);color:#080808;border:none}.project-launch-btn:hover{background-color:#b0d641}.project-source-btn{background:hsla(0,0%,100%,.04);color:#fff;border:1px solid hsla(0,0%,100%,.05)}.project-source-btn:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.1)}svg.h-4,svg.w-4{width:16px!important;height:16px!important}svg.h-8,svg.w-8{width:32px!important;height:32px!important}svg.h-10,svg.w-10{width:40px!important;height:40px!important}svg.h-12,svg.w-12{width:48px!important;height:48px!important}.contact-layout{gap:24px;max-width:560px;margin:0 auto}.contact-header,.contact-layout{display:flex;flex-direction:column}.contact-header{gap:4px}.contact-title{font-size:20px;font-weight:700;color:var(--text)}.contact-to-field{font-size:12px;color:var(--text-muted)}.contact-success-card{background:var(--accent-dim);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.contact-success-title{font-size:14px;font-weight:600;color:var(--text)}.contact-success-desc{font-size:12px;color:var(--text-mid);max-width:384px;line-height:1.5}.contact-reset-btn{font-size:12px;font-weight:600;color:var(--accent);background:transparent;border:none;cursor:pointer}.contact-reset-btn:hover{text-decoration:underline}.contact-form{gap:16px}.contact-form,.contact-form-group{display:flex;flex-direction:column}.contact-form-group{gap:6px}.contact-label{font-size:11px;font-weight:600;color:var(--text-mid);text-transform:uppercase;letter-spacing:.05em}.contact-input,.contact-textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 16px;font-size:14px;color:var(--text);outline:none;font-family:var(--font-body);transition:border-color .2s ease}.contact-input:focus,.contact-textarea:focus{border-color:var(--accent)}.contact-textarea{resize:none;line-height:1.5}.contact-submit-btn{background:var(--accent);color:var(--accent-contrast);font-weight:700;font-size:12px;padding:12px 24px;border-radius:12px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;transition:filter .2s ease}.contact-submit-btn:hover{filter:brightness(1.1)}.contact-socials-section{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px}.contact-socials-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.contact-socials-row{display:flex;gap:8px;flex-wrap:wrap}.contact-social-link{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 16px;font-size:12px;color:var(--text);text-decoration:none;transition:background-color .2s ease}.contact-social-link:hover{background:var(--border-hover)}.contact-social-icon{font-family:monospace;font-weight:700;color:var(--accent);font-size:12px}.trash-layout{display:flex;flex-direction:column;gap:16px;height:100%}.trash-title{font-size:16px;font-weight:700;color:#fff}.trash-desc{font-size:12px;color:#6b7280}.trash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:16px;gap:16px;padding:16px 0;flex:1 1;overflow-y:auto}.trash-file-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;border-radius:12px;background:hsla(0,0%,100%,.01);border:1px solid hsla(0,0%,100%,.05);cursor:pointer;transition:all .3s ease}.trash-file-card:hover{border-color:hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.02)}.trash-file-icon-wrapper{transition:transform .3s ease}.trash-file-card:hover .trash-file-icon-wrapper{transform:scale(1.05)}.trash-file-name{font-size:12px;color:#9ca3af;text-align:center;font-weight:500;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.trash-file-card:hover .trash-file-name{color:#fff}.trash-viewer-layout{display:flex;flex-direction:column;gap:16px;height:100%}.trash-viewer-header{display:flex;flex-direction:column;gap:4px}.trash-viewer-title{font-size:16px;font-weight:700;color:#fff}.trash-viewer-type{font-size:10px;color:#6b7280;font-family:monospace;font-weight:500}.trash-viewer-box{flex:1 1;background:#161618;border:1px solid hsla(0,0%,100%,.05);border-radius:12px;padding:16px;overflow:auto}.trash-viewer-code{font-size:12px;font-family:monospace;color:#9ca3af;line-height:1.5;text-align:left;white-space:pre-wrap;-webkit-user-select:text;-moz-user-select:text;user-select:text}@media (max-width:768px){.about-layout{flex-direction:column}.about-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:16px;margin-bottom:16px}.about-content{width:100%;padding-left:0;max-height:none}.project-detail-grid{grid-template-columns:1fr}.os-window{max-width:calc(100vw - 16px)!important;left:8px!important}}@media (max-width:640px){.projects-grid,.trash-grid,.trash-viewer-box{max-height:none!important;overflow-y:visible!important}.os-dock-container{gap:6px!important;padding:6px 10px!important;max-width:calc(100vw - 20px)!important;overflow-x:auto!important}.desktop-scroll-hint{display:none!important}.desktop-grid{gap:16px 20px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}