:root{--bg-color:#000;--text-color:#fff;--text-muted:#fff9;--text-light:#ffffffbf;--border-color:#657b8340;--header-bg:#000000f2;--accent:#8c82ff;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,108px);--metric-fast:#16a34a;--metric-medium:#f97316;--metric-slow:#ef4444;--surface-card:#12121ce0;--surface-panel:#ffffff0d;--surface-float:#0f0f14d9;--surface-accent-soft:#8c82ff2e}[data-theme=light]{--bg-color:#fff;--text-color:#000;--text-muted:#0009;--text-light:#000000bf;--border-color:#657b8340;--header-bg:#fffffff2;--accent:#4f46e5;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,108px);--surface-card:#fffffff2;--surface-panel:#1118270f;--surface-float:#ffffffeb;--surface-accent-soft:#4f46e52e}[data-theme=solarized]{--bg-color:#fdf6e3;--text-color:#586e75;--text-muted:#586e75b3;--text-light:#586e758c;--border-color:#657b8340;--header-bg:#fdf6e3eb;--accent:#268bd2;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,108px);--surface-card:#fdf6e3e6;--surface-panel:#eee8d559;--surface-float:#fdf6e3eb;--surface-accent-soft:#268bd233}[data-theme=contrast]{--bg-color:#f3f4f6;--text-color:#111827;--text-muted:#111827a6;--text-light:#1118278c;--border-color:#657b8340;--header-bg:#f3f4f6f0;--accent:#ef4444;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,108px);--surface-card:#ffffffeb;--surface-panel:#11182714;--surface-float:#ffffffe6;--surface-accent-soft:#ef44442e}[data-theme=macdos]{--bg-color:#d2d7e1;--text-color:#102033;--text-muted:#102033ad;--text-light:#10203385;--border-color:#2a466e4d;--header-bg:#eff4fceb;--accent:#0a84ff;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,112px);--surface-card:#f6f9fff5;--surface-panel:#0a84ff24;--surface-float:#e9f0faf0;--surface-accent-soft:#0a84ff38;--metric-fast:#00c16a;--metric-medium:#ffb347;--metric-slow:#ff5c5c}[data-theme="???"]{--bg-color:#11001f;--text-color:#f9f871;--text-muted:#f9f871b3;--text-light:#f9f87199;--border-color:#ff00ff59;--header-bg:#06061ed9;--accent:#ff63d8;--section-spacing:64px;--container-side-padding:clamp(28px,8vw,112px);--surface-card:#11001feb;--surface-panel:#f9f8711a;--surface-float:#22003ed9;--surface-accent-soft:#ff63d84d}.quirky-backdrop{background-position:50%;background-repeat:no-repeat;background-size:clamp(260px,36vw,420px);opacity:1;z-index:-1}.quirky-backdrop,.quirky-overlay{inset:0;pointer-events:none;position:fixed}.quirky-overlay{z-index:900}.quirky-overlay-layer{background-position:50%;background-repeat:no-repeat;inset:0;position:absolute;z-index:0}.quirky-overlay-layer.soyjack{background-size:cover;filter:drop-shadow(0 0 28px rgba(255,248,113,.45));opacity:.9;z-index:1}*,body{color:#fff;color:var(--text-color)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}body,html[data-theme=macdos] body{background-color:#000;background-color:var(--bg-color)}html[data-theme=macdos] body{background-attachment:fixed;background-blend-mode:screen,multiply,normal;background-image:repeating-linear-gradient(0deg,#ffffff59,#ffffff59 1px,#0000 0,#0000 6px),repeating-linear-gradient(90deg,#10203314,#10203314 2px,#0000 0,#0000 8px),linear-gradient(135deg,#0a84ff38,#ffffffc7);font-family:Monaco,Menlo,Lucida Console,Courier New,monospace;letter-spacing:.01em}html{scroll-behavior:smooth}html[data-theme=macdos] .header{-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);background:linear-gradient(180deg,#fffffff2,#d7e1f0e6);border-bottom:1px solid #ffffffb3;box-shadow:0 12px 28px -18px #10203394,inset 0 -1px 0 #0a84ff47}html[data-theme=macdos] .logo-photo{border:2px solid #ffffffbf;border-radius:18px;box-shadow:inset 0 1px 0 #fffc,inset 0 -1px 0 #0a84ff40,0 6px 18px -12px #10203399}html[data-theme=macdos] .logo-text{letter-spacing:.08em;text-transform:uppercase}html[data-theme=macdos] nav a{font-weight:500;opacity:.86;text-shadow:0 1px 0 #ffffffa6}html[data-theme=macdos] nav a:hover{color:#8c82ff;color:var(--accent);opacity:1}html[data-theme=macdos] .theme-select{background:linear-gradient(180deg,#fffffff2,#d9e4f3b8);border-color:#4a6a9273;box-shadow:inset 0 1px 0 #ffffffbf,inset 0 -1px 0 #0a84ff2e;color:#fff;color:var(--text-color)}html[data-theme=macdos] .theme-select:hover{border-color:#0a84ff99}html[data-theme=macdos] .theme-select-arrow{color:#8c82ff;color:var(--accent)}html[data-theme=macdos] .progress-bar{background:linear-gradient(90deg,#0a84ff,#00ffa0);box-shadow:0 0 12px #0a84ff73}html[data-theme=macdos] .hero h1{text-shadow:0 2px 0 #ffffffb3,0 8px 24px #10203373}html[data-theme=macdos] .typing-caret{background:#00ffa0;box-shadow:0 0 6px #00ffa0a6}html[data-theme=macdos] .buttons{gap:16px}html[data-theme=macdos] .button.ghost{background:linear-gradient(180deg,#ffffffe6,#d7e1f099);border-color:#4a6a9280;box-shadow:inset 0 1px 0 #ffffffbf,inset 0 -1px 0 #0a84ff2e,0 10px 24px -20px #102033b3;color:#fff;color:var(--text-color)}html[data-theme=macdos] .button.ghost:hover{color:#012}html[data-theme=macdos] .tag{background:#fff6;border:1px solid #4a6a9273;box-shadow:inset 0 1px 0 #ffffffa6;color:#0a316d}html[data-theme=macdos] .tags .tag:first-child,html[data-theme=macdos] .tags .tag:nth-child(2),html[data-theme=macdos] .tags .tag:nth-child(3){border-color:#4a6a928c;color:#0a316d}html[data-theme=macdos] .project{background:linear-gradient(180deg,#fffffff2,#dde6f2eb);border-color:#4a6a9266;box-shadow:0 18px 34px -24px #102033b8,inset 0 1px 0 #ffffffb3}html[data-theme=macdos] .project:hover{background:linear-gradient(180deg,#fffffffa,#d0deeff0);border-color:#0a84ff99}html[data-theme=macdos] .project-header h3{letter-spacing:.04em;text-transform:uppercase}html[data-theme=macdos] .project-description{border-left:2px solid #0a84ff2e;list-style:square;padding-left:24px}html[data-theme=macdos] .project-links a{color:#0a316d;text-shadow:0 1px 0 #fff9}html[data-theme=macdos] .project-links a:hover{color:#8c82ff;color:var(--accent)}html[data-theme=macdos] .project-links button{background:linear-gradient(180deg,#ffffffeb,#d7e1f0ad);border-color:#4a6a9273;box-shadow:inset 0 1px 0 #ffffffbf,inset 0 -1px 0 #0a84ff2e,0 10px 24px -20px #102033b3;color:#0a316d}html[data-theme=macdos] .project-links button:hover{border-color:#0a84ff99;color:#012}html[data-theme=macdos] .now-playing-card,html[data-theme=macdos] .now-playing-overlay .now-playing-card{box-shadow:0 18px 34px -24px #102033b8,inset 0 1px 0 #ffffffb3}html[data-theme=macdos] .now-playing-art{background:linear-gradient(180deg,#fffc,#d7e1f080);border-color:#4a6a9273;border-radius:14px;box-shadow:inset 0 1px 0 #fff9}html[data-theme=macdos] .now-playing-progress{background:#10203324}.progress-bar{background:#8c82ff;background:var(--accent);height:2px;left:0;position:fixed;top:0;transition:width .1s ease;z-index:2001}.theme-toggle{background:none;border:1px solid #8c82ff;border:1px solid var(--accent);border-radius:999px;color:#8c82ff;color:var(--accent);cursor:pointer;font-size:12px;padding:8px 12px;text-transform:lowercase;transition:all .2s ease}.theme-toggle:hover{background:#8c82ff;background:var(--accent);color:#000;color:var(--bg-color)}.container{margin:0 auto;max-width:1200px;overflow:hidden;padding:100px clamp(28px,8vw,108px) 0;padding:100px var(--container-side-padding) 0}.header{background-color:#000000f2;background-color:var(--header-bg);justify-content:space-between;left:0;padding:20px clamp(28px,8vw,108px);padding:20px var(--container-side-padding);position:fixed;right:0;top:0;transition:background-color .3s ease,padding .3s ease;z-index:1000}.header,.header-right{align-items:center;display:flex}.header-right{gap:20px}.theme-select-wrapper{align-items:center;display:inline-flex;position:relative}.theme-select{-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #8c82ff;border:1px solid var(--accent);border-radius:999px;color:#8c82ff;color:var(--accent);cursor:pointer;font-size:12px;padding:6px 24px 6px 12px;text-transform:lowercase}.theme-select:focus{box-shadow:0 0 0 2px #8c82ff33;outline:none}.theme-select-arrow{color:#8c82ff;color:var(--accent);font-size:12px;pointer-events:none;position:absolute;right:12px}.logo{align-items:center;color:#fff;color:var(--text-color);display:inline-flex;font-size:24px;font-weight:700;gap:12px;text-decoration:none}.logo-photo{border:2px solid #657b8340;border:2px solid var(--border-color);border-radius:16px;height:64px;object-fit:cover;object-position:center 35%;transition:transform .2s ease,border-color .2s ease;width:64px}.logo-photo:hover{border-color:#8c82ff;border-color:var(--accent);transform:rotate(-2deg) scale(1.03)}.logo-text{align-items:flex-start;display:flex;flex-direction:column;margin-left:12px}.logo-time{color:#ffffffbf;color:var(--text-light);font-size:11px;font-weight:400;margin-top:2px;opacity:.7}nav a{color:#fff;color:var(--text-color);margin-left:20px;text-decoration:none;transition:opacity .2s ease}nav a:hover{opacity:.7}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:64px 20px;padding:var(--section-spacing) 20px}.hero h1{color:#fff;color:var(--text-color);font-size:80px;line-height:1.1;margin-bottom:30px;text-align:center;text-transform:none}.hero-subtitle{color:#fff9;color:var(--text-muted);font-size:20px;margin:0;text-align:center}.typing-caret{animation:caret-blink 1s steps(2,start) infinite;background:#8c82ff;background:var(--accent);display:inline-block;height:1.1em;margin-left:6px;vertical-align:text-bottom;width:2px}.typing-caret.hidden{animation:none;opacity:0}.hero-photo{display:flex;justify-content:center;margin:30px 0}.profile-photo{border:2px solid #657b8340;border:2px solid var(--border-color);border-radius:50%;height:150px;object-fit:cover;transition:transform .3s ease;width:150px}.profile-photo:hover{transform:scale(1.03)}.buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:40px}.now-playing-toggle{align-items:center;background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:999px;color:#ffffffbf;color:var(--text-light);cursor:pointer;display:inline-flex;justify-content:center;padding:12px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.now-playing-toggle:focus-visible,.now-playing-toggle:hover{box-shadow:0 12px 24px #00000038;outline:none;transform:translateY(-1px)}.now-playing-toggle.has-track{background:#0f0f14d9;background:var(--surface-float);color:#fff;color:var(--text-color)}.now-playing-toggle-art{align-items:center;background:#8c82ff2e;background:var(--surface-accent-soft);border-radius:999px;display:inline-flex;font-size:18px;height:40px;justify-content:center;width:40px}.now-playing-toggle-icon{font-size:20px}.now-playing-card{align-items:center;background:#12121ce0;background:var(--surface-card);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:18px;box-shadow:0 22px 44px #0000004d;display:flex;gap:18px;margin:0;max-width:min(420px,100%);padding:18px 22px;position:relative}.now-playing-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.now-playing-label{color:#fff9;color:var(--text-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.now-playing-title{color:#fff;color:var(--text-color);font-size:18px;font-weight:600;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.now-playing-title:hover{color:#8c82ff;color:var(--accent)}.now-playing-artist{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-playing-artist,.now-playing-empty{color:#ffffffbf;color:var(--text-light)}.now-playing-empty{font-size:16px}.now-playing-art{align-items:center;background:#8c82ff1f;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;width:64px}.now-playing-art img{height:100%;object-fit:cover;width:100%}.now-playing-art-fallback{color:#8c82ff;color:var(--accent);font-size:24px}.now-playing-progress{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden;position:relative;width:100%}[data-theme=light] .now-playing-progress{background:#00000014}.now-playing-progress-muted{opacity:.4}.now-playing-progress-bar{background:#8c82ff;background:var(--accent);border-radius:inherit;inset:0;position:absolute;transition:width .6s ease}.now-playing-times{color:#fff9;color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between}.now-playing-close{background:#0000;border:none;color:#fff9;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1;position:absolute;right:10px;top:10px}.now-playing-close:focus-visible,.now-playing-close:hover{color:#8c82ff;color:var(--accent);outline:none}.now-playing-overlay{bottom:24px;left:24px;position:fixed;z-index:2100}.now-playing-overlay .now-playing-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#12121ce0;background:var(--surface-card)}@media (max-width:768px){.now-playing-overlay{bottom:16px;left:16px;right:16px}}.button{border:1px solid #0000;border-radius:999px;cursor:pointer;font-size:16px;padding:14px 32px;text-align:center;text-decoration:none;transition:all .2s ease}.button.ghost{background:#0000;border-color:#8c82ff;border-color:var(--accent);color:#8c82ff;color:var(--accent)}.button.ghost:hover{background:#8c82ff;background:var(--accent);color:#000;color:var(--bg-color)}.button.ghost:disabled{cursor:not-allowed;opacity:.6}.about,.how,.time,.what{padding:64px 20px;padding:var(--section-spacing) 20px;text-align:center}.about h2,.how h2,.time h2,.what h2{color:#fff;color:var(--text-color);font-size:40px;line-height:1.2;margin-bottom:20px}.about p,.how p,.time p,.what p{color:#fff9;color:var(--text-muted);font-size:18px;line-height:1.6;margin:0 20px 30px}.tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px}.tag{border:1px dashed;border-radius:10px;color:#8c82ff;color:var(--accent);font-size:13px;letter-spacing:.02em;padding:10px 22px;text-transform:lowercase}.tags .tag:first-child{border-color:#f87171;color:#f87171}.tags .tag:nth-child(2){border-color:#5eead4;color:#5eead4}.tags .tag:nth-child(3){border-color:#38bdf8;color:#38bdf8}.projects{padding:60px 20px}.projects h2{color:#fff;color:var(--text-color);font-size:40px;margin-bottom:20px;text-align:center}.projects p{color:#fff9;color:var(--text-muted);font-size:18px;margin-bottom:50px;text-align:center}.ticker-container{display:flex;width:100%}.ticker-col{display:flex;flex:1 1;flex-direction:column;gap:40px;overflow:hidden}.project{background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:20px;padding:30px;transition:all .3s ease}.project:hover{background:#12121ce0;background:var(--surface-card);border-color:#8c82ff;border-color:var(--accent)}.project-content{gap:15px}.project-content,.project-header{display:flex;flex-direction:column}.project-header{align-items:flex-start;gap:4px}.project-header h3{color:#fff;color:var(--text-color);font-size:30px;margin:0;text-transform:none}.company,.duration{color:#fff9;color:var(--text-muted);font-size:14px;margin-top:5px}.project-header .company{text-transform:capitalize}.project-description{color:#ffffffbf;color:var(--text-light);display:flex;flex-direction:column;gap:8px;list-style:disc;margin:0;padding-left:22px;text-align:left}.project-description .text{color:inherit;line-height:1.5;margin:0}.project-description strong{color:#8c82ff;color:var(--accent)}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.tech-tag{background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:999px;color:#ffffffbf;color:var(--text-light);font-size:12px;padding:4px 10px}.project-links{display:flex;gap:15px;margin-top:15px}.project-links a{color:#8c82ff;color:var(--accent);font-size:14px;text-decoration:none;transition:color .2s ease}.project-links a:hover{color:#fff;color:var(--text-color)}.project-links button{background:none;border:none;color:#8c82ff;color:var(--accent);cursor:pointer;font-size:14px;padding:0;transition:color .2s ease}.project-links button:hover{color:#fff;color:var(--text-color)}.skills-grid{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:30px}.skill-item{background:#ffffff1a;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:20px;color:#ffffffbf;color:var(--text-light);font-size:14px;padding:8px 16px;transition:border-color .2s ease}.skill-item:hover{background:#ffffff2e;border-color:#8c82ff;border-color:var(--accent)}.timeline{display:flex;flex-direction:column;gap:24px}.timeline-dot{align-items:center;background:#ffffff05;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:999px;color:#fff9;color:var(--text-muted);cursor:pointer;display:inline-flex;gap:8px;padding:10px 18px;scroll-snap-align:center;transition:color .2s ease,border-color .2s ease,background .2s ease}.timeline-dot .dot{background:#0000;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:50%;height:10px;transition:background .2s ease,border-color .2s ease;width:10px}.timeline-dot .timeline-label{font-size:12px;letter-spacing:.04em;text-transform:none}.timeline-dot.active,.timeline-dot:hover{background:#8c82ff14;border-color:#8c82ff;border-color:var(--accent);color:#8c82ff;color:var(--accent)}.timeline-dot.active .dot{background:#8c82ff;background:var(--accent);border-color:#8c82ff;border-color:var(--accent)}.timeline-panel{background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:12px;text-align:left}.timeline-panel .project-content{align-items:flex-start;text-align:left;width:100%}.timeline-panel .project-description,.timeline-panel .project-header{width:100%}.timeline-panel .project-description .text{text-align:left}.timeline-controls{display:flex;gap:12px;justify-content:center;overflow-x:auto;padding:4px 6px;scroll-snap-type:x mandatory;scrollbar-width:thin}.timeline-controls::-webkit-scrollbar{height:4px}.timeline-controls::-webkit-scrollbar-thumb{background:#8c82ff4d;border-radius:999px}.contact-info{flex-direction:column;gap:18px;margin-top:40px}.contact-info,.contact-item{align-items:center;display:flex}.contact-item{gap:10px}.contact-item a{color:#8c82ff;color:var(--accent);text-decoration:none;transition:color .2s ease}.contact-item a:hover{color:#fff;color:var(--text-color)}.contact-grid{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:40px}.contact-form{background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:16px;gap:20px;padding:24px}.contact-form,.form-row{display:flex;flex-direction:column}.form-row{gap:8px;text-align:left}.form-row label{color:#fff9;color:var(--text-muted);font-size:12px}.form-row input,.form-row textarea{background:#0000;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:12px;color:#fff;color:var(--text-color);font-family:inherit;font-size:14px;padding:10px 14px}.form-row input:focus,.form-row textarea:focus{border-color:#8c82ff;border-color:var(--accent);outline:none}.contact-details{align-items:center;display:flex;flex-direction:column;gap:20px}.contact-details .contact-info{margin-top:0}.copy-button{align-items:center;background:#0000;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:999px;color:#8c82ff;color:var(--accent);cursor:pointer;display:inline-flex;font-size:13px;gap:8px;padding:8px 16px;transition:border-color .2s ease,color .2s ease}.copy-button:hover{border-color:#8c82ff;border-color:var(--accent);color:#fff;color:var(--text-color)}.footer{align-items:center;border-top:1px solid #657b8340;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:60px;padding:40px clamp(28px,8vw,108px);padding:40px var(--container-side-padding)}.footer-links a{color:#fff9;color:var(--text-muted);font-size:14px;margin-right:20px;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#8c82ff;color:var(--accent)}.footer-socials p{color:#fff9;color:var(--text-muted);font-size:14px;margin:0}.performance{padding:64px 0;padding:var(--section-spacing) 0;text-align:center}.performance h2{color:#fff;color:var(--text-color);font-size:40px;margin-bottom:20px;text-align:center}.performance p{color:#fff9;color:var(--text-muted);font-size:18px;margin-bottom:40px;text-align:center}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:30px}.metric-card{align-items:flex-start;background:#ffffff0d;background:var(--surface-panel);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:24px}.metric-card-header{align-items:center;display:flex;gap:8px}.metric-status-dot{border-radius:50%;box-shadow:0 0 0 1px #00000059;flex-shrink:0;height:10px;width:10px}.metric-status-dot.fast{background:#16a34a;background:var(--metric-fast)}.metric-status-dot.medium{background:#f97316;background:var(--metric-medium)}.metric-status-dot.slow{background:#ef4444;background:var(--metric-slow)}.metric-value{color:#fff;color:var(--text-color);font-size:26px;font-weight:600}.metric-label{color:#fff9;color:var(--text-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.metric-card p{color:#ffffffbf;color:var(--text-light);margin:0}.toast{background:#8c82ff;background:var(--accent);border-radius:999px;bottom:30px;color:#000;color:var(--bg-color);font-size:14px;opacity:0;padding:12px 20px;pointer-events:none;position:fixed;right:30px;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;z-index:4000}.toast.visible{opacity:1;transform:translateY(0)}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;display:flex;inset:0;justify-content:center;padding:30px;position:fixed;z-index:3000}.modal-card{background:#000;background:var(--bg-color);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:20px;display:flex;flex-direction:column;gap:24px;max-width:640px;padding:32px;position:relative;width:100%}.modal-close{align-items:center;background:none;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:50%;color:#fff9;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:16px;top:16px;width:32px}.modal-close:hover{border-color:#8c82ff;border-color:var(--accent);color:#8c82ff;color:var(--accent)}.modal-header h3{color:#fff;color:var(--text-color);margin:8px 0;text-transform:none}.modal-tag{color:#8c82ff;color:var(--accent);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.modal-summary{color:#ffffffbf;color:var(--text-light);line-height:1.5;margin:0}.modal-body{display:flex;flex-direction:column;gap:20px}.modal-section h4{color:#fff9;color:var(--text-muted);font-size:14px;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.modal-section ul{color:#ffffffbf;color:var(--text-light);line-height:1.5;margin:0;padding-left:18px}.modal-section li{margin-bottom:6px}.modal-metrics{display:flex;flex-wrap:wrap;gap:16px}.modal-metric{display:flex;flex-direction:column;gap:4px}.modal-metric .metric-label{color:#fff9;color:var(--text-muted);font-size:12px}.modal-metric .metric-value{color:#8c82ff;color:var(--accent);font-size:20px}.modal-stack{display:flex;flex-wrap:wrap;gap:8px}.modal-stack span{border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:999px;color:#fff9;color:var(--text-muted);font-size:12px;padding:4px 12px}.modal-footer{display:flex;gap:16px}.modal-footer a{color:#8c82ff;color:var(--accent);font-size:14px;text-decoration:none}@media (max-width:768px){.container,.footer,.header{padding-left:24px;padding-right:24px}.hero h1{font-size:50px}.header-right{gap:10px}.buttons{align-items:center}.buttons,.footer{flex-direction:column}.footer{gap:20px;text-align:center}.tags{align-items:center;flex-direction:column}nav{display:none}.contact-grid,.metrics-grid,.notes-grid{grid-template-columns:1fr}}@media (max-width:480px){.hero h1{font-size:36px}.about h2,.how h2,.projects h2,.time h2,.what h2{font-size:28px}.project{padding:20px}.modal-card{padding:24px}.toast{bottom:16px;left:16px;right:16px;text-align:center}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}.vim-search-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000;background:var(--bg-color);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:8px;bottom:20px;box-shadow:0 4px 12px #00000026;left:50%;padding:8px;position:fixed;transform:translateX(-50%);z-index:5000}.vim-search-input{align-items:center;display:flex;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;gap:4px}.vim-search-input span{color:#8c82ff;color:var(--accent);font-weight:700}.vim-search-input input{background:#0000;border:none;color:#fff;color:var(--text-color);font-family:inherit;font-size:inherit;min-width:200px;outline:none;padding:4px 0}.vim-search-input input::placeholder{color:#fff9;color:var(--text-muted);opacity:.6}.vim-search-highlight{background:#8c82ff;background:var(--accent);border-radius:2px;color:#000;color:var(--bg-color);font-weight:700;padding:1px 2px}.vim-keybindings-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000;background:var(--bg-color);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:8px;bottom:20px;box-shadow:0 4px 12px #00000026;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;max-width:200px;opacity:.9;padding:12px;position:fixed;right:20px;transition:opacity .2s ease;z-index:4500}.vim-keybindings-overlay:hover{opacity:1}.vim-keybindings-header{align-items:center;border-bottom:1px solid #657b8340;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.vim-title{color:#8c82ff;color:var(--accent);font-size:13px;font-weight:700}.vim-close-btn{align-items:center;background:none;border:none;border-radius:2px;color:#fff9;color:var(--text-muted);cursor:pointer;display:flex;font-size:16px;height:16px;justify-content:center;line-height:1;padding:0;transition:color .2s ease,background-color .2s ease;width:16px}.vim-close-btn:hover{background-color:#657b8340;background-color:var(--border-color);color:#fff;color:var(--text-color)}.vim-keybindings-content{display:flex;flex-direction:column;gap:6px}.vim-section{display:flex;flex-direction:column;gap:3px}.vim-keybind{align-items:center;display:flex;gap:8px;justify-content:space-between}.vim-key{background:#657b8340;background:var(--border-color);border-radius:3px;color:#8c82ff;color:var(--accent);flex-shrink:0;font-size:11px;font-weight:700;min-width:24px;padding:2px 4px;text-align:center}.vim-desc{color:#fff9;color:var(--text-muted);flex:1 1;font-size:11px;text-align:right}.vim-keybindings-overlay.minimized .vim-keybindings-content{display:none}.vim-keybindings-overlay.minimized{max-width:80px}@media (max-width:768px){.vim-keybindings-overlay{bottom:10px;font-size:11px;max-width:160px;right:10px}.vim-key{min-width:20px;padding:1px 3px}.vim-desc,.vim-key{font-size:10px}}.rainbow-text *{-webkit-text-fill-color:#0000;animation:rainbow-flow 2s ease-in-out infinite;background:linear-gradient(45deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3);-webkit-background-clip:text;background-clip:text;background-size:400% 400%}@keyframes rainbow-flow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.cursed-cursor,.cursed-cursor *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="24" font-size="24">%F0%9F%8D%86</text></svg>'),auto!important}.dance-mode{animation:dance-party 1s ease-in-out infinite}@keyframes dance-party{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(1deg) scale(1.01)}50%{transform:rotate(0deg) scale(1.02)}75%{transform:rotate(-1deg) scale(1.01)}}.dance-mode .hero-title{animation:text-dance .5s ease-in-out infinite}@keyframes text-dance{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.retro-mode{animation:retro-flicker .1s infinite;filter:sepia(100%) hue-rotate(200deg) saturate(2)}@keyframes retro-flicker{0%,98%{opacity:1}99%,to{opacity:.98}}.glitch-text *{animation:glitch .3s infinite}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.matrix-rain{background:#0000}.secret-unlocked{animation:rainbow-bg 2s ease infinite,bounce-in .5s ease-out;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7);background-size:400% 400%;border:3px solid #fff;border-radius:20px;box-shadow:0 0 30px #ffffff80;color:#fff;font-size:18px;font-weight:700;left:50%;padding:30px;position:fixed;text-align:center;text-shadow:2px 2px 4px #00000080;top:50%;transform:translate(-50%,-50%);z-index:9999}@keyframes rainbow-bg{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes bounce-in{0%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}.chaos-indicator{animation:rainbow-bg 1s ease infinite,chaos-shake .5s ease-in-out infinite;background:linear-gradient(45deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3);background-size:400% 400%;border:2px solid #fff;border-radius:25px;box-shadow:0 0 20px #ffffffb3;color:#fff;font-weight:700;left:50%;padding:10px 20px;position:fixed;text-shadow:2px 2px 4px #000c;top:20px;transform:translateX(-50%);z-index:9998}@keyframes chaos-shake{0%,to{transform:translateX(-50%) rotate(0deg)}25%{transform:translateX(-50%) rotate(1deg)}75%{transform:translateX(-50%) rotate(-1deg)}}.quirky-mode .button{transition:all .3s ease}.quirky-mode .button:hover{box-shadow:0 0 20px #8c82ff;box-shadow:0 0 20px var(--accent);transform:scale(1.1) rotate(5deg)}.quirky-mode .project:hover{transform:rotate(1deg);transition:transform .3s ease}.quirky-mode .hero-title{text-shadow:0 0 10px #8c82ff;text-shadow:0 0 10px var(--accent)}.quirky-mode .logo-photo{animation:quirky-pulse 2s ease-in-out infinite}@keyframes quirky-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.quirky-mode:before{animation:float-chaos 20s linear infinite;content:"🎪🎭🎨🎪🎭🎨🎪🎭🎨";font-size:50px;height:100%;left:0;opacity:.1;overflow:hidden;pointer-events:none;position:fixed;top:0;white-space:nowrap;width:100%;z-index:1}@keyframes float-chaos{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.quirky-mode::-webkit-scrollbar{width:12px}.quirky-mode::-webkit-scrollbar-track{background:linear-gradient(45deg,#ff6b6b,#4ecdc4)}.quirky-mode::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#45b7d1,#96ceb4);border-radius:6px}.quirky-mode::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#ffeaa7,#fd79a8)}.secret-unlocked{animation:rainbow-bg 2s ease infinite,bounce-in .5s ease-out,fade-out 1s ease-in 4s forwards}@keyframes fade-out{to{opacity:0;visibility:hidden}}.chaos-indicator{animation:rainbow-bg 1s ease infinite,chaos-shake .5s ease-in-out infinite,fade-out 1s ease-in 29s forwards}.quirky-mode .vim-keybindings-overlay{background:linear-gradient(135deg,#000,#ff69b41a);background:linear-gradient(135deg,var(--bg-color) 0,#ff69b41a 100%);border:2px solid #8c82ff;border:2px solid var(--accent);box-shadow:0 0 15px #ff69b44d}.quirky-mode .vim-key{animation:quirky-glow 2s ease-in-out infinite;background:linear-gradient(45deg,#8c82ff,#ff69b4);background:linear-gradient(45deg,var(--accent),#ff69b4);color:#fff}@keyframes quirky-glow{0%,to{box-shadow:0 0 5px #8c82ff;box-shadow:0 0 5px var(--accent)}50%{box-shadow:0 0 15px #ff69b4}}.quirky-control-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#000,#ff69b41a);background:linear-gradient(135deg,var(--bg-color) 0,#ff69b41a 100%);border:2px solid #8c82ff;border:2px solid var(--accent);border-radius:15px;box-shadow:0 0 20px #ff69b44d;max-width:200px;overflow:hidden;padding:15px;position:fixed;right:20px;top:100px;z-index:3500}.quirky-panel-header{animation:quirky-glow 2s ease-in-out infinite;color:#8c82ff;color:var(--accent);font-size:14px;font-weight:700;margin-bottom:10px;text-align:center}.quirky-controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:10px;overflow:hidden}.quirky-btn{align-items:center;background:#657b8340;background:var(--border-color);border:2px solid #8c82ff;border:2px solid var(--accent);border-radius:8px;cursor:pointer;display:flex;font-size:16px;justify-content:center;min-height:40px;padding:8px;transition:all .3s ease}.quirky-btn:hover{box-shadow:0 0 15px #8c82ff;box-shadow:0 0 15px var(--accent);transform:scale(1.05) rotate(2deg)}.quirky-btn.active,.quirky-btn:hover{background:#8c82ff;background:var(--accent)}.quirky-btn.active{animation:quirky-pulse 1s ease-in-out infinite;box-shadow:0 0 10px #8c82ff;box-shadow:0 0 10px var(--accent);color:#fff}.chaos-btn{animation:rainbow-bg 2s ease infinite;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1);background-size:200% 200%;color:#fff;font-weight:700;grid-column:span 3}.chaos-btn:hover{animation:rainbow-bg .5s ease infinite,chaos-shake .2s ease-in-out infinite;transform:scale(1.05)!important}.konami-hint{color:#fff9;color:var(--text-muted);font-size:10px;line-height:1.2;opacity:.8;text-align:center}@media (max-width:768px){.quirky-control-panel{max-width:150px;padding:10px;right:10px;top:90px}.quirky-controls{grid-template-columns:repeat(2,1fr)}.chaos-btn{grid-column:span 2}.quirky-btn{font-size:14px;min-height:35px;padding:6px}.konami-hint{font-size:9px}.quirky-mode .vim-keybindings-overlay{bottom:10px;left:10px;max-width:140px;right:auto}}.quirky-mode .progress-bar{animation:rainbow-flow 3s ease infinite;background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7);background-size:400% 100%}.quirky-mode .toast{animation:quirky-pulse 1s ease-in-out infinite;background:linear-gradient(45deg,#8c82ff,#ff69b4);background:linear-gradient(45deg,var(--accent),#ff69b4)}.quirky-mode:after{background:#000;background:var(--bg-color);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:15px;bottom:10px;color:#fff9;color:var(--text-muted);content:"Konami: " attr(data-konami-progress);font-size:12px;left:50%;opacity:0;padding:5px 10px;position:fixed;transform:translateX(-50%);transition:opacity .3s ease;z-index:3000}.quirky-mode[data-konami-progress]:not([data-konami-progress="0"]):after{opacity:1}.explosion-overlay{align-items:center;animation:explosion-flash .8s ease-in-out;background:radial-gradient(circle,#ff6400e6 0,#f00c 30%,#000000e6 100%);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.explosion-video{height:100%;object-fit:cover;opacity:.9;width:100%}.explosion-text{animation:explosion-text-shake .1s infinite;color:#f44;font-size:4rem;font-weight:700;left:50%;pointer-events:none;position:absolute;text-shadow:0 0 10px red,0 0 20px red,0 0 30px red,0 0 40px red;top:50%;transform:translate(-50%,-50%);z-index:10000}@keyframes explosion-flash{0%{background:radial-gradient(circle,#fff 0,#fff 100%);filter:brightness(3);transform:scale(.5)}5%{background:radial-gradient(circle,#ffc800 0,#ff6400e6 50%,#f00c 100%);filter:brightness(2);transform:scale(1.2)}15%{background:radial-gradient(circle,#ff6400e6 0,#f00c 30%,#640000e6 100%);filter:brightness(1.5);transform:scale(1.05)}30%{background:radial-gradient(circle,#ff3200cc 0,#c80000b3 40%,#320000e6 100%);filter:brightness(1.2);transform:scale(1)}to{background:radial-gradient(circle,#ff6400e6 0,#f00c 30%,#000000e6 100%);filter:brightness(1);transform:scale(1)}}@keyframes explosion-text-shake{0%,to{transform:translate(-50%,-50%) rotate(0deg)}25%{transform:translate(-48%,-52%) rotate(1deg)}50%{transform:translate(-52%,-48%) rotate(-1deg)}75%{transform:translate(-48%,-52%) rotate(1deg)}}@media (max-width:768px){.explosion-text{font-size:2.5rem}}.model-3d-viewer{background:#ffffff05;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:12px;margin:20px 0;overflow:hidden;transition:all .3s ease}.model-3d-viewer:hover{background:#ffffff0a;border-color:#8c82ff;border-color:var(--accent)}.model-3d-viewer.expanded{background:#000;background:var(--bg-color);border:2px solid #8c82ff;border:2px solid var(--accent);bottom:20px;box-shadow:0 20px 40px #0000004d;left:20px;position:fixed;right:20px;top:20px;z-index:2000}.model-3d-header{align-items:flex-start;background:#ffffff05;border-bottom:1px solid #657b8340;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px}.model-3d-info{flex:1 1}.model-3d-title{align-items:center;color:#fff;color:var(--text-color);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 8px}.model-3d-title:before{content:"";font-size:14px}.model-3d-description{color:#ffffffbf;color:var(--text-light);font-size:14px;line-height:1.4;margin:0}.model-3d-controls{display:flex;flex-shrink:0;gap:8px}.model-3d-btn{align-items:center;background:#0000;border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:6px;color:#fff9;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.model-3d-btn:hover{background:#8c82ff14;border-color:#8c82ff;border-color:var(--accent);color:#8c82ff;color:var(--accent);transform:translateY(-1px)}.model-3d-canvas-container{background:linear-gradient(135deg,#8c82ff08,#ffffff03);overflow:hidden;position:relative}.model-3d-instructions{background:#ffffff03;border-top:1px solid #657b8340;border-top:1px solid var(--border-color);color:#fff9;color:var(--text-muted);font-size:12px;padding:12px 16px;text-align:center}.model-loader{align-items:center;background:#000;background:var(--bg-color);border:1px solid #657b8340;border:1px solid var(--border-color);border-radius:12px;color:#fff;color:var(--text-color);display:flex;flex-direction:column;gap:16px;padding:20px}.model-loader-spinner{animation:model-spin 1s linear infinite;border:3px solid #657b8340;border-top:3px solid #8c82ff;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}.model-loader-text{color:#ffffffbf;color:var(--text-light);font-size:14px;text-align:center}@keyframes model-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.model-3d-viewer.expanded .model-3d-canvas-container{height:calc(100% - 120px)!important}.model-3d-viewer.expanded .model-3d-header{padding:20px}.model-3d-viewer.expanded .model-3d-title{font-size:18px}.model-3d-viewer.expanded .model-3d-description{font-size:16px}[data-theme=light] .model-3d-canvas-container{background:linear-gradient(135deg,#4f46e50d,#00000005)}[data-theme=solarized] .model-3d-canvas-container{background:linear-gradient(135deg,#268bd20d,#586e7505)}[data-theme="???"] .model-3d-canvas-container{background:linear-gradient(135deg,#ff63d814,#f9f87108)}@media (max-width:768px){.model-3d-viewer.expanded{bottom:10px;left:10px;right:10px;top:10px}.model-3d-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px}.model-3d-controls{align-self:flex-end}.model-3d-title{font-size:14px}.model-3d-description{font-size:13px}.model-3d-instructions{font-size:11px;padding:8px 12px}.model-3d-btn{padding:6px}}.model-3d-btn:focus,.model-3d-viewer:focus-within{outline:2px solid #8c82ff;outline:2px solid var(--accent);outline-offset:2px}.model-3d-canvas-container canvas{display:block;height:100%!important;width:100%!important}
/*# sourceMappingURL=main.e73b5371.css.map*/