@import "https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300&family=Playfair+Display:wght@700;900&display=swap";.desktop{background:var(--bg-desktop);width:100vw;height:100vh;position:relative;overflow:hidden}.desktop-texture{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff03 2px 4px);position:absolute;inset:0}.desktop-watermark{font-family:var(--font-display);color:#ffffff08;letter-spacing:.1em;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;z-index:0;font-size:120px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.desktop-icons{z-index:1;grid-template-columns:80px 80px;gap:24px;display:grid;position:absolute;top:40px;left:40px}.desktop-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-direction:column;align-items:center;gap:8px;padding:8px;transition:background .15s;display:flex}.desktop-icon:hover{background:#cc000014}.desktop-icon:hover .desktop-icon-img svg{filter:drop-shadow(0 0 6px #c009)}.desktop-icon-img{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.desktop-icon-img svg{width:40px;height:40px;transition:filter .15s}.desktop-icon-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);text-align:center;font-size:10px;font-weight:600;line-height:1.3}.desktop-icon:hover .desktop-icon-label{color:var(--accent-red)}.taskbar{height:var(--taskbar-height);border-top:1px solid var(--border);z-index:9999;background:#0d0d0d;align-items:center;gap:16px;padding:0 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.taskbar-logo{font-family:var(--font-display);color:var(--accent-red);letter-spacing:.1em;flex-shrink:0;font-size:14px;font-weight:700}.taskbar-windows{flex:1;gap:8px;display:flex}.taskbar-btn{border:1px solid var(--accent-red-dim);color:var(--text-secondary);font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#cc00001a;padding:4px 12px;font-size:10px;font-weight:600;transition:all .15s}.taskbar-btn:hover{color:var(--text-primary);background:#c003}.taskbar-clock{font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;font-size:12px}@media (width<=768px){.desktop-icons{gap:16px;top:32px;left:16px}.desktop-icon-label{font-size:8px}.window{max-height:85vh;width:95vw!important;top:60px!important;left:2.5vw!important}.taskbar{padding:0 10px}.taskbar-logo{font-size:11px}.taskbar-btn{padding:3px 8px;font-size:8px}.clock-widget{top:45%}.nowplaying-widget{top:58%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-ui);background:var(--bg-desktop);color:var(--text-primary);-webkit-font-smoothing:antialiased;cursor:crosshair}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-window)}::-webkit-scrollbar-thumb{background:var(--accent-red-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-red)}:root{--bg-desktop:#0a0a0a;--bg-window:#111;--bg-titlebar:#1a1a1a;--bg-titlebar-active:#1f0000;--accent-red:#c00;--accent-red-dim:#800;--accent-lime:#b5ea1e;--text-primary:#f0f0f0;--text-secondary:#888;--text-red:#c00;--border:#2a2a2a;--border-active:#c00;--font-ui:"Josefin Sans", sans-serif;--font-display:"Playfair Display", serif;--font-mono:"Courier New", Courier, monospace;--titlebar-height:36px;--taskbar-height:48px;--window-padding:24px;--window-shadow:0 8px 32px #000000d9, 0 0 0 1px var(--border);--window-shadow-active:0 12px 48px #000000e6, 0 0 0 1px var(--accent-red)}.about-window{flex-direction:column;gap:20px;padding-bottom:8px;display:flex}.about-top{align-items:flex-start;gap:20px;display:flex}.about-avatar-wrap{border:2px solid var(--accent-red);border-radius:50%;flex-shrink:0;width:100px;height:100px;overflow:hidden}.about-avatar{object-fit:cover;object-position:top center;width:100%;height:100%}.about-identity{flex-direction:column;gap:5px;padding-top:4px;display:flex}.about-name{font-family:var(--font-display);color:var(--text-primary);font-size:36px;font-weight:900;line-height:1}.about-role{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.about-contact-row{flex-direction:column;gap:5px;margin-top:4px;display:flex}.about-contact-item{font-family:var(--font-ui);color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;text-decoration:none;transition:color .15s;display:flex}.about-contact-item:hover{color:var(--accent-red)}.about-contact-icon{width:13px;height:13px;color:var(--accent-red);flex-shrink:0}.about-badges{margin-top:4px}.about-badge.open{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-lime);border:1px solid var(--accent-lime);border-radius:2px;padding:3px 10px;font-size:10px;font-weight:700}.about-divider{background:var(--border);height:1px}.about-section{flex-direction:column;gap:12px;display:flex}.about-section-label{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.1em;font-size:10px}.about-body-text{font-family:var(--font-ui);color:var(--text-secondary);font-size:13px;line-height:1.7}.about-hl{color:var(--accent-red);font-weight:600}.about-exp-list{flex-direction:column;gap:16px;display:flex}.about-exp-item{border-left:2px solid var(--accent-red);flex-direction:column;gap:4px;padding-left:12px;display:flex}.about-exp-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.about-exp-role{font-family:var(--font-ui);color:var(--text-primary);font-size:13px;font-weight:700}.about-exp-date{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;font-size:10px}.about-exp-company{font-family:var(--font-ui);color:var(--accent-red);letter-spacing:.05em;font-size:11px;font-weight:600}.about-exp-points{flex-direction:column;gap:3px;margin-top:4px;padding-left:14px;display:flex}.about-exp-points li{font-family:var(--font-ui);color:var(--text-secondary);font-size:12px;line-height:1.5}.about-stats{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.about-stat{background:var(--bg-window);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.about-stat-val{font-family:var(--font-display);color:var(--text-primary);font-size:24px;font-weight:900;line-height:1}.about-stat-val.lime{color:var(--accent-lime);font-size:18px}.about-stat-label{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:600}.about-interests{flex-direction:column;gap:8px;display:flex}.about-interest-item{align-items:center;gap:10px;display:flex}.about-interest-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.about-interest-icon svg{width:16px;height:16px}.about-interest-label{font-family:var(--font-ui);color:var(--text-secondary);font-size:13px}.about-actions{flex-wrap:wrap;gap:10px;display:flex}.about-btn-primary{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;background:var(--accent-red);color:#fff;border-radius:2px;padding:8px 20px;font-size:11px;font-weight:700;text-decoration:none;transition:background .15s}.about-btn-primary:hover{background:#f11}.about-btn-secondary{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border);background:0 0;border-radius:2px;padding:8px 20px;font-size:11px;font-weight:700;text-decoration:none;transition:all .15s}.about-btn-secondary:hover{border-color:var(--accent-red);color:var(--text-primary)}.window{background:var(--bg-window);border:1px solid var(--border);width:620px;min-height:200px;max-height:80vh;box-shadow:var(--window-shadow);flex-direction:column;transition:box-shadow .15s;animation:.15s windowOpen;display:flex;position:absolute}.mascot{z-index:1;cursor:pointer;flex-direction:column;align-items:center;width:110px;animation:3s ease-in-out infinite float;display:flex;position:absolute;bottom:56px;right:40px}.mascot-img{filter:drop-shadow(0 4px 16px #c006);width:100%;height:auto;transition:filter .2s,transform .2s}.mascot:hover .mascot-img{filter:drop-shadow(0 4px 24px #c00c);transform:scale(1.05)}.mascot-label{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.15em;text-transform:uppercase;margin-top:4px;font-size:9px}.mascot-bubble{border:1px solid var(--accent-red);color:var(--text-primary);font-family:var(--font-mono);z-index:999;white-space:normal;text-align:center;background:#1a1a1a;border-radius:4px;max-width:220px;padding:8px 12px;font-size:10px;line-height:1.4;animation:.2s bubbleIn;position:absolute;bottom:115px;right:0}.mascot-bubble:after{content:"";border-right:1px solid var(--accent-red);border-bottom:1px solid var(--accent-red);background:#1a1a1a;width:10px;height:10px;position:absolute;bottom:-6px;right:20px;transform:rotate(45deg)}.mascot-playing{font-family:var(--font-mono);color:var(--accent-lime);letter-spacing:.15em;font-size:9px;animation:.5s infinite alternate blink;position:absolute;bottom:115px;right:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.window{background:var(--bg-window);border:1px solid var(--border);width:620px;min-height:200px;box-shadow:var(--window-shadow);flex-direction:column;transition:box-shadow .15s;animation:.15s windowOpen;display:flex;position:absolute}.window:focus-within{border-color:var(--accent-red);box-shadow:var(--window-shadow-active)}@keyframes windowOpen{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.window-titlebar{height:var(--titlebar-height);background:var(--bg-titlebar);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.window-titlebar:active{cursor:grabbing}.window-title{font-family:var(--font-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.window-btn{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:12px;transition:color .1s}.window-btn.window-close:hover{color:var(--accent-red)}.window-content{padding:var(--window-padding);cursor:default;flex:1;overflow-y:auto}.projects-window{flex-direction:column;gap:20px;display:flex}.projects-label{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.12em;margin-bottom:6px;font-size:10px}.projects-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:38px;font-weight:900;line-height:1.1}.projects-title-line{background:var(--accent-red);width:48px;height:2px;margin-bottom:10px}.projects-subtitle{font-family:var(--font-ui);color:var(--text-secondary);font-size:13px}.projects-list{flex-direction:column;gap:0;display:flex}.project-item{border-bottom:1px solid var(--border);gap:16px;padding:18px 0;transition:background .15s;display:flex}.project-item:hover{background:#cc000008}.project-item:last-child{border-bottom:none}.project-rank{font-family:var(--font-display);color:var(--accent-red);min-width:36px;padding-top:2px;font-size:22px;font-weight:900}.project-body{flex-direction:column;flex:1;gap:6px;display:flex}.project-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-name-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-name{font-family:var(--font-ui);color:var(--text-primary);font-size:15px;font-weight:700}.project-you-are-here{font-family:var(--font-mono);color:var(--accent-lime);letter-spacing:.1em;font-size:9px}.project-year{font-family:var(--font-display);color:var(--text-primary);text-align:right;flex-shrink:0;font-size:16px;font-weight:900;line-height:1.1}.project-season{font-family:var(--font-ui);letter-spacing:.15em;color:var(--text-secondary);font-size:9px;font-weight:600}.project-desc{font-family:var(--font-ui);color:var(--text-secondary);font-size:12px;line-height:1.6}.project-stack{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.project-tag{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-red);border:1px solid var(--accent-red-dim);border-radius:2px;padding:2px 8px;font-size:10px;font-weight:600}.project-links{gap:12px;margin-top:4px;display:flex}.project-link{font-family:var(--font-ui);letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.project-link:hover{color:var(--accent-red)}.project-link-icon{width:13px;height:13px}.skills-window{flex-direction:column;gap:20px;display:flex}.skills-label{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.12em;margin-bottom:6px;font-size:10px}.skills-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:38px;font-weight:900;line-height:1.1}.skills-title-line{background:var(--accent-red);width:48px;height:2px}.skills-section{flex-direction:column;gap:10px;display:flex}.skills-category{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.1em;font-size:10px}.skills-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{font-family:var(--font-ui);letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;border-radius:2px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.skill-pill:hover{border-color:var(--accent-red);color:var(--text-primary);background:#cc00000f;transform:translateY(-2px)}.contact-window{flex-direction:column;gap:20px;display:flex}.contact-label{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.12em;margin-bottom:6px;font-size:10px}.contact-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:38px;font-weight:900;line-height:1.1}.contact-title-line{background:var(--accent-red);width:48px;height:2px;margin-bottom:10px}.contact-subtitle{font-family:var(--font-ui);color:var(--text-secondary);font-size:13px;line-height:1.6}.contact-list{flex-direction:column;gap:2px;display:flex}.contact-item{border:1px solid var(--border);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:all .15s;display:flex}.contact-item:hover{border-color:var(--accent-red);background:#cc00000a}.contact-item.no-link{cursor:default}.contact-item.no-link:hover{border-color:var(--border);background:0 0}.contact-item-icon{width:20px;height:20px;color:var(--accent-red);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-item-icon svg{width:20px;height:20px}.contact-item-body{flex-direction:column;flex:1;gap:2px;display:flex}.contact-item-label{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:700}.contact-item-value{font-family:var(--font-ui);color:var(--text-primary);font-size:13px}.contact-item-arrow{width:14px;height:14px;color:var(--text-secondary);flex-shrink:0;transition:color .15s,transform .15s}.contact-item:hover .contact-item-arrow{color:var(--accent-red);transform:translate(3px)}.contact-divider{background:var(--border);height:1px}.contact-availability{align-items:center;gap:12px;display:flex}.contact-avail-dot{background:var(--accent-lime);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.contact-avail-text{flex-direction:column;gap:2px;display:flex}.contact-avail-status{font-family:var(--font-ui);color:var(--accent-lime);font-size:13px;font-weight:700}.contact-avail-sub{font-family:var(--font-ui);color:var(--text-secondary);font-size:11px}.contact-footer{display:flex}.contact-btn-primary{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;background:var(--accent-red);color:#fff;border-radius:2px;align-items:center;gap:8px;padding:10px 24px;font-size:11px;font-weight:700;text-decoration:none;transition:background .15s;display:flex}.contact-mascot-wrap{justify-content:center;margin:8px 0;display:flex}.contact-mascot{filter:drop-shadow(0 4px 12px #cc00004d);width:120px;height:auto;animation:3s ease-in-out infinite float}.contact-btn-primary:hover{background:#f11}.radio-window{flex-direction:column;gap:20px;display:flex}.radio-label{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.12em;margin-bottom:6px;font-size:10px}.radio-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:38px;font-weight:900;line-height:1.1}.radio-title-line{background:var(--accent-red);width:48px;height:2px}.radio-terminal{border:1px solid var(--border);background:#080808;flex-direction:column;gap:14px;min-height:280px;padding:20px;display:flex;position:relative;overflow:hidden}.radio-scanlines{pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff04 2px 4px);position:absolute;inset:0}.radio-line{font-family:var(--font-mono);z-index:2;gap:0;font-size:12px;line-height:1.6;animation:.3s fadeInLine;display:flex;position:relative}@keyframes fadeInLine{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.radio-eng .radio-from{color:var(--accent-lime);flex-shrink:0;font-weight:700}.radio-driver .radio-from{color:var(--accent-red);flex-shrink:0;font-weight:700}.radio-sep{color:#444;margin:0 4px}.radio-eng span:last-child{color:#aaa}.radio-driver span:last-child{color:var(--text-primary)}.radio-cursor{color:var(--accent-lime);margin-left:1px;animation:.7s step-end infinite blink}.radio-end{font-family:var(--font-mono);color:#444;letter-spacing:.1em;z-index:2;margin-top:8px;font-size:11px;position:relative}.radio-status{align-items:center;gap:8px;display:flex}.radio-status-dot{background:var(--accent-lime);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.radio-status-text{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.1em;font-size:10px}.widget{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#0a0a0ad9;padding:16px 20px;position:absolute;right:32px}.clock-widget{text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;min-width:260px;top:50%;left:50%;right:auto;transform:translate(-50%,-60%)}.clock-time{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.02em;font-size:72px;font-weight:900;line-height:1}.clock-date{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-top:8px;font-size:13px;font-weight:600}.clock-location{font-family:var(--font-mono);color:var(--accent-red);letter-spacing:.1em;margin-top:6px;font-size:11px}.nowplaying-widget{text-align:center;min-width:240px;top:50%;left:50%;right:auto;transform:translate(-50%,40%)}.np-label{font-family:var(--font-mono);letter-spacing:.15em;color:var(--accent-red);margin-bottom:12px;font-size:9px}.np-track{align-items:center;gap:12px;margin-bottom:12px;display:flex}.np-disc{background:conic-gradient(#c00 0deg,#1a1a1a 60deg,#c00 120deg,#1a1a1a 180deg,#c00 240deg,#1a1a1a 300deg,#c00 360deg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;animation:3s linear infinite paused spin;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.np-disc-inner{background:var(--bg-window);border:1px solid var(--border);border-radius:50%;width:12px;height:12px}.np-info{flex:1;overflow:hidden}.np-title{font-family:var(--font-ui);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.np-artist{font-family:var(--font-ui);color:var(--text-secondary);margin-top:2px;font-size:10px}.np-progress-bar{background:var(--border);border-radius:1px;height:2px;margin-bottom:10px}.np-progress-fill{background:var(--accent-red);border-radius:1px;height:100%;transition:width .15s linear}.np-controls{justify-content:center;align-items:center;gap:16px;display:flex}.np-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;transition:color .15s}.np-btn:hover{color:var(--text-primary)}.np-play{font-size:14px;color:var(--accent-red)!important}.np-play:hover{color:#f33!important}
