:root{--bg-base:#0c0d0e;--bg-surface:#121417;--bg-elevated:#181b20;--bg-glass:#121417d9;--border-subtle:#ffffff14;--border-medium:#ffffff26;--border-focus:#e5a93c80;--text-primary:#f3f4f6;--text-secondary:#949aa6;--text-muted:#5a606d;--accent:#e5a93c;--accent-hover:#f5b74c;--accent-subtle:#e5a93c1f;--accent-border:#e5a93c59;--status-green:#10b981;--status-green-glow:#10b98140;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--font-serif:"Instrument Serif",Georgia,serif;--container-max:980px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.16,1,.3,1)}[data-theme=light]{--bg-base:#faf8f5;--bg-surface:#fff;--bg-elevated:#f0ebe1;--bg-glass:#ffffffe6;--border-subtle:#00000014;--border-medium:#00000029;--border-focus:#c4831680;--text-primary:#121315;--text-secondary:#575c66;--text-muted:#8c92a0;--accent:#c48316;--accent-hover:#a86c0c;--accent-subtle:#c483161a;--accent-border:#c4831659;--status-green:#059669;--status-green-glow:#05966933}[data-mode=personal]{--bg-base:#090a0d;--bg-surface:#101216;--bg-elevated:#16181e;--bg-glass:#101216e0;--accent:#ff6b00;--accent-hover:#ff8533;--accent-subtle:#ff6b0024;--accent-border:#ff6b0061;--border-focus:#ff6b0080}[data-theme=light][data-mode=personal]{--bg-base:#f4f0e8;--bg-surface:#fcfaf5;--bg-elevated:#ebe3d3;--bg-glass:#fcfaf5eb;--accent:#e65c00;--accent-hover:#cc5200;--accent-subtle:#e65c001f;--accent-border:#e65c0061;--border-focus:#e65c0080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:light dark;scrollbar-width:none;-ms-overflow-style:none}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;-ms-overflow-style:none;font-size:15px;line-height:1.65;transition:background-color .65s cubic-bezier(.22,1,.36,1),color .35s;overflow-x:hidden}::-webkit-scrollbar{background:0 0;width:0;display:none}a{color:inherit;text-decoration:none}button{cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;border:none;font-family:inherit}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.site-header{z-index:100;background-color:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand-badge{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.brand-symbol{color:var(--accent);font-size:1.1rem}.brand-dot{color:var(--accent)}.nav-links{align-items:center;gap:20px;display:flex}.nav-link{font-family:var(--font-mono);color:var(--text-secondary);transition:color var(--transition-fast);letter-spacing:.04em;font-size:.78rem;font-weight:500}.nav-num{color:var(--text-muted);font-size:.72rem}.nav-link:hover{color:var(--accent)}.header-actions{align-items:center;gap:14px;display:flex}.status-pill{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:8px;padding:4px 10px;font-size:.7rem;font-weight:600;display:flex}.status-dot{background:var(--status-green);width:7px;height:7px;box-shadow:0 0 8px var(--status-green-glow);border-radius:50%;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.theme-toggle{z-index:999;border-radius:var(--radius-md);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),transform .2s ease,opacity .18s ease,visibility .18s ease;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:flex;position:fixed;top:20px;right:24px}body.skills-modal-open .theme-toggle{opacity:0;visibility:hidden;pointer-events:none}.theme-toggle:hover{color:var(--accent);transform:translateY(-1px)}.theme-toggle:active{transform:scale(.94)}[data-theme=light] .theme-toggle{color:var(--text-secondary)}[data-theme=light] .theme-toggle:hover{color:var(--accent)}.sun-icon{width:19px;height:19px;animation:.3s cubic-bezier(.16,1,.3,1) themeIconSwap;display:block}.moon-icon{width:19px;height:19px;animation:.3s cubic-bezier(.16,1,.3,1) themeIconSwap;display:none}[data-theme=light] .sun-icon{display:none}[data-theme=light] .moon-icon{display:block}@keyframes themeIconSwap{0%{opacity:0;transform:rotate(-35deg)scale(.75)}to{opacity:1;transform:rotate(0)scale(1)}}@media (width<=640px){.theme-toggle{width:40px;height:40px;top:16px;right:16px}}.hero-section{border-bottom:1px solid var(--border-subtle);padding:90px 0 75px;position:relative;overflow:visible}.hero-art{pointer-events:none;user-select:none;z-index:0;opacity:.38;contain:strict;justify-content:center;align-items:flex-start;width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}[data-theme=light] .hero-art{opacity:.32}.hero-art pre{font-family:var(--font-mono);letter-spacing:0;color:var(--accent);text-align:center;white-space:pre;-webkit-font-smoothing:none;contain:layout paint;font-size:10px;line-height:11px;transition:color .65s cubic-bezier(.22,1,.36,1)}.hero-content{z-index:1;position:relative}.hero-centered-layout{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-avatar-wrapper{margin-bottom:20px}.hero-avatar-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;outline:none;padding:0;display:inline-block;position:relative}.hero-avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-avatar-img{object-fit:cover;border:2px solid var(--accent-border);width:88px;height:88px;box-shadow:0 8px 30px #0006,0 0 15px var(--accent-subtle);border-radius:50%;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .65s cubic-bezier(.22,1,.36,1),box-shadow .65s cubic-bezier(.22,1,.36,1)}.hero-avatar-btn:hover .hero-avatar-img{border-color:var(--accent);box-shadow:0 10px 35px #00000073,0 0 22px var(--accent-subtle);transform:scale(1.05)}.hero-avatar-btn:active .hero-avatar-img{transform:scale(.97)}[data-mode=personal] .hero-avatar-img{border-color:var(--accent);box-shadow:0 8px 30px #00000080,0 0 24px var(--accent-subtle)}.mode-view,.portfolio-view,.personal-view{opacity:1;transform:none}.personal-headline{letter-spacing:-.025em;color:var(--text-primary);max-width:820px;margin:0 auto 18px;font-size:clamp(2rem,4.8vw,3.2rem);font-weight:600;line-height:1.18}.personal-subtext{color:var(--text-secondary);max-width:650px;margin:0 auto;font-size:1.02rem;font-style:italic;line-height:1.75}.personal-back-wrapper{justify-content:center;margin-top:32px;display:flex}.back-to-portfolio-btn{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;font-weight:500;display:inline-flex}.back-to-portfolio-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-subtle);transform:translateY(-1px)}.back-to-portfolio-btn:active{transform:translateY(0)scale(.97)}.back-to-portfolio-btn svg{transition:transform var(--transition-fast)}.back-to-portfolio-btn:hover svg{transform:translate(-3px)}.portfolio-sections-wrap{will-change:opacity,transform;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.personal-sections-wrap{will-change:opacity,transform;width:100%;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}html[data-mode=personal]{scroll-snap-type:y proximity}[data-mode=personal] .hero-section{scroll-snap-align:start;scroll-snap-stop:normal;box-sizing:border-box;border-bottom:none;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:60px 0;display:flex}.personal-story-scene{text-align:center;scroll-snap-align:start;scroll-snap-stop:normal;border-top:1px solid var(--border-subtle);box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:60px 24px;display:flex}.personal-scene-headline{letter-spacing:-.025em;color:var(--text-primary);margin-bottom:16px;font-size:clamp(2.2rem,5.2vw,3.4rem);font-weight:600;line-height:1.18}.personal-scene-subtext{color:var(--text-secondary);max-width:600px;font-size:1.05rem;font-style:italic;line-height:1.7}.personal-bye-title{letter-spacing:-.035em;font-size:clamp(3rem,7vw,4.8rem)}.personal-meme-wrap{justify-content:center;align-items:center;margin-bottom:24px;display:flex}.personal-zoom-wrap{margin-bottom:0;overflow:visible}.personal-zoom-scroll-track{border-top:1px solid var(--border-subtle);box-sizing:border-box;height:220dvh;padding:0;display:block;position:relative}.personal-zoom-sticky-frame{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.personal-meme-img{border-radius:var(--radius-md);border:1px solid var(--border-subtle);object-fit:contain;width:100%;max-width:220px;height:auto;display:block;box-shadow:0 14px 40px #00000080}.personal-suspicious-zoom-img{transform-origin:50%;will-change:transform;max-width:220px;display:block;transform:scale(1);box-shadow:0 16px 45px #0009}.personal-story-scene-content{opacity:0;filter:blur(8px);will-change:opacity,filter,transform;transition:opacity .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.personal-story-scene.is-scene-visible .personal-story-scene-content{opacity:1;filter:blur();transform:translateY(0)}.personal-stack-track{border-top:1px solid var(--border-subtle);box-sizing:border-box;height:340dvh;position:relative}.personal-stack-sticky-frame{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:36px;height:100dvh;padding:40px 24px;display:flex;position:sticky;top:0}.personal-stack-detail-wrapper{justify-content:center;align-items:center;width:100%;max-width:720px;min-height:110px;display:flex;position:relative}.personal-stack-below-card{opacity:0;filter:blur(10px);pointer-events:none;will-change:opacity,transform,filter;width:100%;max-width:720px;margin:0 auto;transition:opacity .55s cubic-bezier(.16,1,.3,1),filter .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;right:0;transform:translateY(24px)}.personal-stack-below-card.is-active{opacity:1;filter:blur();pointer-events:auto;transform:translateY(0)}.personal-stack-base-card{width:100%;max-width:720px;transition:opacity .6s,transform .6s}.personal-utang-track{height:220dvh}.personal-utang-content{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;max-width:840px;display:flex}.personal-utang-setup{font-size:clamp(2rem,4.8vw,3.2rem);line-height:1.25}.personal-utang-punchline{opacity:0;filter:blur(10px);will-change:opacity,transform,filter;font-size:clamp(2.2rem,5.2vw,3.5rem);transition:opacity .55s cubic-bezier(.16,1,.3,1),filter .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transform:translateY(28px)scale(.96)}.personal-utang-punchline.is-active{opacity:1;filter:blur();transform:translateY(0)scale(1)}@media (width<=640px){.personal-stack-sticky-frame{gap:28px}}@media (prefers-reduced-motion:reduce){.personal-story-scene-content,.personal-stack-below-card,.personal-utang-punchline{opacity:1;filter:none;transition:none;transform:none}}.personal-music-scene{box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:60px 24px;display:flex}.personal-music-layout{justify-content:space-between;align-items:center;gap:64px;width:100%;max-width:960px;margin:0 auto;display:flex}.personal-music-left{text-align:left;flex:1}.personal-music-title{margin:0;font-size:clamp(2.4rem,5.2vw,3.8rem);line-height:1.18}.personal-music-right{flex:1;justify-content:center;display:flex;position:relative}.personal-player-card{background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;max-width:360px;box-shadow:0 20px 50px #000000a6,0 0 30px var(--accent-subtle);box-sizing:border-box;text-align:center;border-radius:24px;flex-direction:column;align-items:center;padding:32px 28px 26px;display:flex;position:relative}.player-disc-wrap{justify-content:center;align-items:center;width:130px;height:130px;margin-bottom:16px;display:flex;position:relative}.player-vinyl-disc{background:radial-gradient(circle,#222228 0%,#121215 65%,#08080a 100%);border:3px solid #ff6b0066;border-radius:50%;justify-content:center;align-items:center;width:124px;height:124px;display:flex;position:relative;box-shadow:0 8px 25px #000000b3}.player-vinyl-disc.is-spinning{animation:6s linear infinite vinylSpin}@keyframes vinylSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-vinyl-center{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex;box-shadow:inset 0 0 6px #00000080}.player-visualizer-bars{justify-content:center;align-items:flex-end;gap:5px;height:16px;margin-bottom:16px;display:flex}.eq-bar{background:var(--accent);border-radius:2px;width:3.5px;height:6px;animation:.7s ease-in-out infinite alternate eqBounce}.eq-bar:first-child{height:10px;animation-delay:.1s}.eq-bar:nth-child(2){height:16px;animation-delay:.3s}.eq-bar:nth-child(3){height:12px;animation-delay:50ms}.eq-bar:nth-child(4){height:18px;animation-delay:.25s}.eq-bar:nth-child(5){height:8px;animation-delay:.4s}@keyframes eqBounce{0%{opacity:.7;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1.3)}}.player-info-wrap{margin-bottom:18px}.player-track-name{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:1.25rem;font-weight:600}.player-artist-name{color:var(--text-secondary);font-size:.92rem;font-style:italic}.player-progress-bar-wrap{background:#ffffff1a;border-radius:3px;width:100%;height:5px;margin-bottom:22px;overflow:hidden}.player-progress-fill{background:var(--accent);border-radius:3px;width:0%;height:100%;transition:width .15s linear}.player-controls-row{justify-content:center;align-items:center;gap:20px;width:100%;display:flex}.player-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:transform .15s,color .15s;display:flex}.player-btn:hover{color:var(--accent);transform:scale(1.12)}.player-btn-main{background:var(--accent);color:#000;width:48px;height:48px;box-shadow:0 4px 15px #ff6b0066}.player-btn-main:hover{color:#000;background:#ff8533;transform:scale(1.08)}.player-prank-bubble{color:#000;opacity:0;pointer-events:none;white-space:nowrap;z-index:10;background:#ff6b00;border-radius:14px;padding:6px 16px;font-size:.92rem;font-weight:700;transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:-18px;left:50%;transform:translate(-50%)translateY(0)scale(.85);box-shadow:0 8px 24px #0009}.player-prank-bubble.show{opacity:1;transform:translate(-50%)translateY(-10px)scale(1)}@media (width<=768px){.personal-music-layout{text-align:center;flex-direction:column;gap:36px}.personal-music-left{text-align:center}}.personal-essay-section{border-top:1px solid var(--border-subtle);box-sizing:border-box;padding:120px 24px 180px;position:relative}.personal-essay-container{max-width:1280px;margin:0 auto}.personal-essay-header{text-align:center;margin-bottom:64px}.personal-essay-title{letter-spacing:-.03em;color:var(--text-primary);margin:14px 0;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:600;line-height:1.15}.personal-essay-subtitle{color:var(--text-secondary);font-size:1.12rem;font-style:italic}.personal-essay-columns{columns:3;column-rule:1px solid var(--border-subtle);color:var(--text-secondary);text-align:left;column-gap:48px;font-size:1.05rem;line-height:1.78}.personal-essay-columns p{break-inside:avoid;margin-bottom:1.25rem}.personal-essay-columns strong{color:var(--text-primary)}.personal-essay-columns code{font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:.9em}.essay-code-line{text-align:center;margin:1.5rem 0}.essay-code-line code{background:var(--bg-surface);border:1px solid var(--accent-border);color:var(--accent);border-radius:6px;padding:6px 14px;font-size:1rem;box-shadow:0 4px 12px #0006}.essay-quote{background:var(--bg-surface);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm)var(--radius-sm)0;color:var(--text-primary);break-inside:avoid;margin:1.5rem 0;padding:12px 18px;font-style:italic}.essay-ellipsis{text-align:center;letter-spacing:.3em;color:var(--accent);margin:2rem 0;font-size:1.5rem}.personal-achievement-card{background:var(--bg-surface);border:1px solid var(--accent-border);border-radius:var(--radius-lg);box-shadow:0 12px 30px #0009,0 0 25px var(--accent-subtle);text-align:center;break-inside:avoid;margin:2.5rem 0;padding:24px}.achievement-header{justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.achievement-icon{font-size:1.6rem}.achievement-badge{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:.78rem;font-weight:700}.achievement-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-size:1.25rem;font-weight:700}.achievement-desc{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin-bottom:14px!important}.achievement-stats{color:var(--text-secondary);border-top:1px solid var(--border-subtle);justify-content:center;gap:20px;padding-top:12px;font-size:.88rem;display:flex}.essay-skip-modal{z-index:100000;box-sizing:border-box;opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:20px;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.essay-skip-modal.is-open{opacity:1;pointer-events:auto}.essay-skip-modal-backdrop{-webkit-backdrop-filter:blur(10px);background:#000000c7;position:absolute;inset:0}.essay-skip-modal-dialog{background:var(--bg-surface);border:1px solid var(--accent-border);width:100%;max-width:420px;box-shadow:0 24px 60px #000000d9,0 0 40px var(--accent-subtle);text-align:center;box-sizing:border-box;border-radius:24px;padding:34px 28px 28px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:relative;transform:scale(.85)translateY(24px)}.essay-skip-modal.is-open .essay-skip-modal-dialog{transform:scale(1)translateY(0)}.essay-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px 10px;font-size:1.1rem;transition:color .2s,transform .2s;position:absolute;top:14px;right:14px}.essay-modal-close:hover{color:var(--accent);transform:scale(1.15)}.essay-modal-icon{margin-bottom:12px;font-size:2.4rem;animation:2s ease-in-out infinite modalIconBounce}@keyframes modalIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.essay-modal-title{color:var(--text-primary);letter-spacing:-.015em;margin-bottom:8px;font-size:1.55rem;font-weight:700}.essay-modal-text{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin-bottom:24px!important}.essay-modal-actions{flex-direction:column;gap:10px;display:flex}.essay-modal-skip-btn{background:var(--accent);color:#000;font-family:var(--font-mono);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.92rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex;box-shadow:0 6px 20px #ff6b0066}.essay-modal-skip-btn:hover{background:#ff8533;transform:scale(1.03)}.essay-modal-cancel-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:10px 20px;font-size:.85rem;transition:color .2s,border-color .2s}.essay-modal-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.personal-outro-scene{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:60px 24px;display:flex}.essay-farewell-wrap{flex-direction:column;align-items:center;gap:14px;max-width:620px;display:flex}.essay-farewell-text{color:var(--text-primary);font-size:clamp(1.1rem,2.2vw,1.35rem);font-weight:500;margin:0!important}.essay-bye-btn{letter-spacing:-.035em;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px 24px;font-family:inherit;font-size:clamp(3.2rem,7vw,4.8rem);font-weight:700;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),text-shadow .2s cubic-bezier(.16,1,.3,1)}.essay-bye-btn:hover{color:var(--accent);text-shadow:0 0 35px #ff6b0080;transform:scale(1.08)}.essay-bye-btn:active{transform:scale(.96)}.essay-farewell-subtext{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin:0!important}@media (width<=1100px){.personal-essay-columns{columns:2;column-gap:36px}}@media (width<=767px){.personal-essay-section{padding:80px 20px 120px}.personal-essay-columns{columns:1}.achievement-stats{flex-direction:column;gap:6px}}.site-footer{transition:opacity .35s cubic-bezier(.16,1,.3,1)}.hero-identity-row{justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.hero-role-badge{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:600}.mono-prefix{opacity:.6}.hero-headline{letter-spacing:-.025em;color:var(--text-primary);max-width:820px;margin:0 auto 18px;font-size:clamp(2rem,4.8vw,3.2rem);font-weight:600;line-height:1.18}.editorial-accent{font-family:var(--font-serif);color:var(--accent);padding:0 4px;font-style:italic;font-weight:400}.hero-subtext{color:var(--text-secondary);max-width:650px;margin:0 auto;font-size:1.02rem;line-height:1.75}.btn{font-family:var(--font-mono);border-radius:var(--radius-sm);transition:all var(--transition-fast);letter-spacing:.02em;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--accent);color:#0c0d0e;border:1px solid var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-ghost:hover{background-color:var(--bg-elevated);border-color:var(--border-medium);transform:translateY(-1px)}.project-preview-status{font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.02em;color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:default;white-space:nowrap;background-color:#0000;justify-content:center;align-items:center;padding:9px 18px;font-size:.82rem;font-weight:600;display:inline-flex}.section-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:48px 0 20px;display:flex}.section-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.skills-modal-trigger,button.skills-modal-trigger{all:unset;color:var(--text-muted);box-shadow:none;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;transition:color var(--transition-fast);background:0 0;border:none;outline:none;margin:0;padding:0;font-size:.72rem;font-weight:600;display:inline-block}.skills-modal-trigger:hover,button.skills-modal-trigger:hover{color:var(--accent);box-shadow:none;background:0 0;border:none;outline:none}.skills-modal-trigger:focus,.skills-modal-trigger:active,button.skills-modal-trigger:focus,button.skills-modal-trigger:active{box-shadow:none;background:0 0;border:none;outline:none}.skills-modal-trigger:focus-visible,button.skills-modal-trigger:focus-visible{outline:1px solid var(--border-focus);outline-offset:3px;border-radius:2px}.accent-bullet{color:var(--accent);font-size:.65rem}.section-hint{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:.72rem;font-weight:500}.workstation-frame{-webkit-backdrop-filter:blur(2.5px);border-radius:var(--radius-lg);background:#0c0e1240;border:1px solid #ffffff14;margin-bottom:24px;overflow:hidden;box-shadow:0 16px 40px #00000059,0 0 1px #e5a93c26}[data-theme=light] .workstation-frame{background:#ffffff73;border:1px solid #00000014}.workstation-nav{background:#080a0e33;border-bottom:1px solid #ffffff0f;justify-content:flex-start;align-items:center;padding:12px 18px;display:flex}[data-theme=light] .workstation-nav{background:#f0ece459;border-bottom:1px solid #0000000f}.workstation-tabs{white-space:nowrap;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;min-width:0;display:flex;overflow:auto hidden}.workstation-tabs::-webkit-scrollbar{display:none}.project-tab{font-family:var(--font-mono);color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;cursor:grab;transition:all var(--transition-fast);background:#12161c4d;border:1px solid #ffffff14;flex:none;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.workstation-tabs.is-dragging,.workstation-tabs.is-dragging .project-tab{scroll-behavior:auto;cursor:grabbing;user-select:none}[data-theme=light] .project-tab{background:#ffffff8c;border:1px solid #0000000f}.project-tab .tab-index{color:var(--accent);font-size:.76rem;font-weight:700}.project-tab:hover{color:var(--text-primary);border-color:var(--accent-border);background:#1a202a80}[data-theme=light] .project-tab:hover{background:#f0ebe1cc}.project-tab.active{color:var(--accent);border-color:var(--accent);background:#e5a93c1f;font-weight:600;box-shadow:0 0 12px #e5a93c2e}.workstation-content{min-height:270px;padding:24px 28px}.project-showcase-view{grid-template-columns:1.15fr .95fr;align-items:center;gap:28px;animation:.12s ease-out projectFadeIn;display:grid}@keyframes projectFadeIn{0%{opacity:0}to{opacity:1}}.project-details-col{flex-direction:column;display:flex}.showcase-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-size:1.25rem;font-weight:700;line-height:1.3}.showcase-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.88rem;line-height:1.55}.showcase-meta-list{border-radius:var(--radius-md);background:#080a0e40;border:1px solid #ffffff0f;flex-direction:column;gap:6px;margin-bottom:18px;padding:10px 14px;display:flex}[data-theme=light] .showcase-meta-list{background:#f0ece466;border:1px solid #0000000f}.showcase-meta-item{font-family:var(--font-mono);align-items:baseline;gap:8px;font-size:.78rem;display:flex}.meta-item-label{color:var(--accent);min-width:92px;font-size:.72rem;font-weight:600}.meta-item-value{color:var(--text-primary);font-weight:500}.showcase-actions{align-items:center;gap:12px;display:flex}.project-visual-col{flex-direction:column;display:flex}.blueprint-window{color:inherit;font:inherit;text-align:left;border-radius:var(--radius-md);background:#08090b59;border:1px solid #ffffff1a;width:100%;height:270px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000059}[data-theme=light] .blueprint-window{background:#f0ece466;border:1px solid #00000014}.blueprint-preview-wrap{background:0 0;width:100%;height:100%;overflow:hidden}.blueprint-preview-img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.blueprint-window.is-placeholder{cursor:default}.project-preview-placeholder{width:100%;height:100%;color:var(--text-secondary);background:linear-gradient(#e5a93c0a 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#e5a93c0a 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle,#e5a93c1a,#0000 62%);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.project-preview-mark{border:1px solid var(--accent-border);border-radius:var(--radius-md);width:68px;height:68px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;place-items:center;font-size:1.15rem;font-weight:700;display:grid;box-shadow:0 0 24px #e5a93c14}.project-preview-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.blueprint-window{touch-action:pan-y;cursor:pointer;user-select:none}.blueprint-gallery-count{border-radius:var(--radius-full);color:#fff;font-family:var(--font-mono);backdrop-filter:blur(8px);background:#050608c7;border:1px solid #ffffff38;padding:5px 9px;font-size:.72rem;line-height:1;position:absolute;bottom:12px;right:12px}.blueprint-nav-btn{z-index:6;border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);opacity:.85;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#0a0c10a6;border:none;outline:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000073}.blueprint-nav-btn:hover{opacity:1;color:var(--accent);background:#0a0c10e6;transform:translateY(-50%)scale(1.08)}.blueprint-nav-btn:active{transform:translateY(-50%)scale(.94)}.blueprint-nav-btn:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.blueprint-nav-prev{left:10px}.blueprint-nav-next{right:10px}[data-theme=light] .blueprint-nav-btn{color:var(--text-primary);background:#ffffffbf;box-shadow:0 4px 12px #0000001f}[data-theme=light] .blueprint-nav-btn:hover{color:var(--accent);background:#fffffff2}@media (width<=768px){.hero-art{opacity:.12}.workstation-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 14px;overflow-x:auto}.workstation-nav::-webkit-scrollbar{display:none}.workstation-tabs{gap:8px}.project-tab{padding:7px 14px;font-size:.76rem}.workstation-content{min-height:auto;padding:18px 16px}.project-showcase-view{flex-direction:column;gap:16px;display:flex}.project-details-col{order:1}.showcase-title{margin-bottom:6px;font-size:1.15rem}.showcase-desc{margin-bottom:12px;font-size:.85rem;line-height:1.5}.showcase-meta-list{margin-bottom:14px;padding:10px 12px}.showcase-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-bottom:2px;display:grid}.showcase-actions .btn{justify-content:center;width:100%;padding:8px 10px;font-size:.78rem}.project-visual-col{order:2;width:100%}.blueprint-window{aspect-ratio:16/10;width:100%;height:auto;max-height:220px}.blueprint-preview-wrap{width:100%;height:100%}.blueprint-preview-img{object-fit:cover;object-position:top center;width:100%;height:100%}}.skills-section{position:relative;overflow:hidden}.skills-railboard{cursor:grab;user-select:none;touch-action:pan-y;flex-direction:column;gap:8px;width:100%;padding:6px 0;display:flex;position:relative;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000000d 12px,#0003 28px,#00000080 48px,#000c 72px,#000 96px calc(100% - 96px),#000c calc(100% - 72px),#00000080 calc(100% - 48px),#0003 calc(100% - 28px),#0000000d calc(100% - 12px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#0000000d 12px,#0003 28px,#00000080 48px,#000c 72px,#000 96px calc(100% - 96px),#000c calc(100% - 72px),#00000080 calc(100% - 48px),#0003 calc(100% - 28px),#0000000d calc(100% - 12px),#0000 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skills-railboard.is-dragging{cursor:grabbing}.skills-viewport{width:100%;margin:-6px 0;padding:6px 0;position:relative;overflow:hidden}.skills-track{will-change:transform;gap:0;width:max-content;display:flex}.skills-track-group{flex-shrink:0;gap:14px;padding-right:14px;display:flex}.skill-card{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:default;user-select:none;opacity:.65;background:#1214176b;flex-shrink:0;align-items:center;gap:14px;padding:9px 18px;transition:background .2s,border-color .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 14px #0003}[data-theme=light] .skill-card{background:#ffffff85;box-shadow:0 4px 14px #0000000d}.skill-card:hover{border-color:var(--skill-color,var(--accent));opacity:1;background:#181b20d9;box-shadow:0 4px 20px #0000004d,0 0 16px #e5a93c1f}[data-theme=light] .skill-card:hover{background:#f0ebe1d9}.skill-icon{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--skill-color,var(--accent));background:#0a0b0d80;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.skill-icon svg{opacity:.72;transition:opacity .2s}[data-theme=light] .skill-icon{background:#faf8f5b3}.skill-card:hover .skill-icon{border-color:var(--skill-color,var(--accent))}.skill-card:hover .skill-icon svg{opacity:.9}.skill-content{flex-direction:column;gap:3px;display:flex}.skill-name{font-family:var(--font-sans);color:var(--text-primary);font-size:.88rem;font-weight:600;line-height:1.2}.skill-meta{align-items:center;display:flex}.skill-desc{color:var(--text-secondary);font-size:.76rem;line-height:1.3}@media (width<=1180px),(hover:none) and (pointer:coarse){.skills-railboard{isolation:isolate;-webkit-clip-path:inset(0 3px);clip-path:inset(0 3px);-webkit-transform:none;transform:none;-webkit-mask-image:none;mask-image:none}.skills-viewport{--fade-width:clamp(48px,18%,88px);--edge-fade:linear-gradient(to right,transparent 6px,#00000026 calc(var(--fade-width)*.3),#0009 calc(var(--fade-width)*.65),black var(--fade-width),black calc(100% - var(--fade-width)),#0009 calc(100% - var(--fade-width)*.65),#00000026 calc(100% - var(--fade-width)*.3),transparent calc(100% - 6px));-webkit-mask-image:var(--edge-fade);mask-image:var(--edge-fade);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skills-railboard .skill-card{backdrop-filter:none}.skills-railboard .skill-card:hover{border-color:var(--border-subtle);opacity:.65;background:#1214176b;box-shadow:0 4px 14px #0003}[data-theme=light] .skills-railboard .skill-card:hover{background:#ffffff85;box-shadow:0 4px 14px #0000000d}.skills-railboard .skill-card:hover .skill-icon{border-color:var(--border-subtle)}.skills-railboard .skill-card:hover .skill-icon svg{opacity:.72}}@media (width<=768px){.skill-card{gap:10px;padding:10px 14px}.skill-icon{width:34px;height:34px}.skill-icon svg{width:18px;height:18px}.skill-name{font-size:.82rem}.skill-desc{font-size:.7rem}}.about-layout{width:100%;display:block}.about-bio{width:100%}.about-lead{color:var(--text-primary);text-align:justify;margin-bottom:14px;font-size:1.05rem;font-weight:500;line-height:1.65}.about-body{color:var(--text-secondary);text-align:justify;margin-bottom:14px;font-size:.94rem;line-height:1.75}.meta-val{color:var(--text-primary);font-weight:500}.journey-section{padding:10px 0 30px;position:relative}.timeline-container{max-width:680px;margin:10px 0 20px}.timeline-track{padding-left:20px;position:relative}.timeline-track:before{content:"";background:var(--border-medium);width:1px;position:absolute;top:6px;bottom:6px;left:3px}.timeline-item{padding-bottom:28px;position:relative}.timeline-item:last-child{padding-bottom:8px}.timeline-dot-wrapper{justify-content:center;align-items:center;width:7px;height:7px;display:flex;position:absolute;top:5px;left:-20px}.timeline-dot{background:var(--accent);width:7px;height:7px;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border-radius:50%;box-shadow:0 0 8px #e5a93c80}.timeline-item:hover .timeline-dot{transform:scale(1.3);box-shadow:0 0 12px #e5a93ccc}.timeline-content{flex-direction:column;gap:3px;display:flex}.timeline-year{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:.74rem;font-weight:600}.timeline-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:600;line-height:1.35}.timeline-title-secondary{font-size:.96rem;font-weight:500}.timeline-dot-secondary{opacity:.75;box-shadow:0 0 4px #e5a93c4d}.timeline-subtitle{color:var(--text-secondary);font-size:.88rem;line-height:1.45}.contact-section{text-align:center;padding:80px 0 60px;position:relative}.section-header-center{justify-content:center;padding:0 0 24px}.contact-content-centered{text-align:center;flex-direction:column;align-items:center;max-width:680px;margin:0 auto;display:flex}.contact-headline{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:16px;font-size:clamp(1.8rem,4.2vw,2.6rem);font-weight:600;line-height:1.25}.contact-subtext{color:var(--text-secondary);max-width:520px;margin:0 auto 28px;font-size:1.02rem;line-height:1.65}.contact-action-wrapper{margin-bottom:32px}.contact-email-btn{padding:11px 26px;font-size:.86rem;box-shadow:0 4px 20px #e5a93c33}.contact-email-btn:hover{box-shadow:0 6px 26px #e5a93c52}.contact-social-row{justify-content:center;align-items:center;gap:20px;display:flex}.contact-social-icon{width:36px;height:36px;color:var(--text-muted);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast),transform .2s cubic-bezier(.16,1,.3,1);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:6px;text-decoration:none;display:inline-flex}.contact-social-icon:hover{color:var(--accent);box-shadow:none;background:0 0;border:none;outline:none;transform:scale(1.18)}.contact-social-icon:active{transform:scale(1.05)}.contact-social-icon svg{display:block}.site-footer{border-top:1px solid var(--border-subtle);font-family:var(--font-mono);color:var(--text-muted);margin-top:40px;padding:24px 0;font-size:.76rem}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-left{align-items:center;display:flex}.footer-copyright{color:var(--text-muted);letter-spacing:.02em;font-weight:500}.back-to-top{color:var(--text-muted);letter-spacing:.02em;cursor:pointer;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.back-to-top:hover{color:var(--accent)}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:12px}}.toast{z-index:1000;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);opacity:0;pointer-events:none;align-items:center;gap:10px;padding:10px 18px;font-size:.78rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 10px 25px #0000004d}.toast.show{opacity:1;transform:translateY(0)}.toast-icon{color:var(--accent);font-weight:700}body.fullscreen-open main,body.fullscreen-open .site-header,body.fullscreen-open .site-footer,body.skills-modal-open main,body.skills-modal-open .site-header,body.skills-modal-open .site-footer{opacity:0;pointer-events:none;transform:scale(.985)}main,.site-header,.site-footer{will-change:opacity,transform;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}body.fullscreen-open .hero-art,body.skills-modal-open .hero-art{opacity:.58}.hero-art{transition:opacity .4s cubic-bezier(.16,1,.3,1)}.fullscreen-viewer{z-index:99999;opacity:0;visibility:hidden;pointer-events:none;cursor:zoom-out;touch-action:pan-y;justify-content:center;align-items:center;padding:24px;transition:opacity .38s cubic-bezier(.16,1,.3,1),visibility .38s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.fullscreen-viewer.is-active{opacity:1;visibility:visible;pointer-events:auto}.fullscreen-viewer-backdrop{-webkit-backdrop-filter:blur(1.5px);cursor:zoom-out;background:#00000040;transition:opacity .38s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}[data-theme=light] .fullscreen-viewer-backdrop{background:#f0ece44d}.fullscreen-viewer-img{z-index:1;object-fit:contain;border-radius:var(--radius-md);cursor:zoom-out;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border:1px solid #e5a93c59;outline:none;width:auto;max-width:90vw;height:auto;max-height:88vh;transition:transform .38s cubic-bezier(.16,1,.3,1);position:relative;transform:scale(.93);box-shadow:0 30px 80px #000000a6,0 0 35px #e5a93c26}.fullscreen-viewer.is-active .fullscreen-viewer-img{transform:scale(1)}.fullscreen-nav-btn{z-index:100001;border-radius:var(--radius-full);width:46px;height:46px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(12px);opacity:.88;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;background:#0a0c10b8;border:none;outline:none;justify-content:center;align-items:center;display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 8px 24px #0000008c}.fullscreen-nav-btn:hover{opacity:1;color:var(--accent);background:#0a0c10f2;transform:translateY(-50%)scale(1.1)}.fullscreen-nav-btn:active{transform:translateY(-50%)scale(.94)}.fullscreen-nav-btn:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.fullscreen-nav-prev{left:28px}.fullscreen-nav-next{right:28px}.fullscreen-gallery-count{z-index:100001;border-radius:var(--radius-full);color:#fff;font-family:var(--font-mono);-webkit-backdrop-filter:blur(10px);background:#050608d1;border:none;padding:6px 12px;font-size:.76rem;line-height:1;position:fixed;bottom:24px;right:28px;box-shadow:0 4px 16px #0006}[data-theme=light] .fullscreen-nav-btn{color:var(--text-primary);background:#fffc;box-shadow:0 6px 18px #00000026}[data-theme=light] .fullscreen-nav-btn:hover{color:var(--accent);background:#fffffffa}[data-theme=light] .fullscreen-gallery-count{color:#121315;background:#ffffffd9;box-shadow:0 4px 12px #0000001a}@media (width<=768px){.fullscreen-viewer{padding:16px}.fullscreen-viewer-img{max-width:94vw;max-height:85vh}.fullscreen-nav-btn{width:38px;height:38px}.fullscreen-nav-prev{left:12px}.fullscreen-nav-next{right:12px}.fullscreen-gallery-count{bottom:16px;right:16px}}.skills-modal{z-index:99999;opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,visibility;justify-content:center;align-items:center;padding:16px;transition:opacity .38s cubic-bezier(.16,1,.3,1),visibility .38s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.skills-modal.is-active{opacity:1;visibility:visible;pointer-events:auto}.skills-modal-backdrop{opacity:0;cursor:pointer;background:#0000000f;transition:opacity .38s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.skills-modal.is-active .skills-modal-backdrop{opacity:1}[data-theme=light] .skills-modal-backdrop{background:#f0ece414}.skills-modal-card{z-index:1;-webkit-backdrop-filter:blur(1px);opacity:0;will-change:transform,opacity;background:radial-gradient(#080a0e42 0%,#080a0e29 68%,#080a0e14 91%,#0000 100%);border:0;border-radius:32px;flex-direction:column;width:100%;max-width:1000px;max-height:92vh;transition:opacity .38s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:scale(.93)translateY(24px);box-shadow:0 28px 90px #00000014}[data-theme=light] .skills-modal-card{-webkit-backdrop-filter:blur(1px);background:radial-gradient(#ffffff45 0%,#f8f6f22b 68%,#f8f6f214 91%,#0000 100%);border:0;box-shadow:0 24px 70px #0000000f}.skills-modal.is-active .skills-modal-card{opacity:1;transform:scale(1)translateY(0)}.skills-modal-header{background:0 0;border-bottom:0;justify-content:space-between;align-items:center;padding:10px 18px 6px;display:flex}[data-theme=light] .skills-modal-header{background:0 0;border-bottom:0}.skills-modal-tag{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:700}.skills-modal-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;opacity:.9;font-size:1.15rem;font-weight:600;line-height:1.2}.skills-modal-title-short{display:none}.skills-modal-close{font-family:var(--font-mono);color:var(--text-secondary);border-radius:var(--radius-full);box-shadow:none;opacity:.68;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition-fast);background:#080a0e14;border:1px solid #ffffff14;outline:none;align-items:center;gap:5px;padding:5px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.skills-modal-close:focus{outline:none}.skills-modal-close:hover{color:var(--accent);opacity:1;background:#e5a93c0f;border-color:#e5a93c59;outline:none;transform:none}.skills-modal-close:focus-visible{color:var(--text-primary);opacity:.82;outline-offset:3px;background:#080a0e1a;border-color:#e5a93c38;outline:1px solid #e5a93c73}[data-theme=light] .skills-modal-close{background:#ffffff1f;border-color:#00000014}.skills-modal-body{flex-direction:column;gap:0;max-height:calc(92vh - 72px);padding:8px 18px 18px;display:flex;overflow-y:auto}.skills-modal-body::-webkit-scrollbar{width:6px}.skills-modal-body::-webkit-scrollbar-track{background:0 0}.skills-modal-body::-webkit-scrollbar-thumb{background:#e5a93c59;border-radius:3px}.modal-category-section{flex-direction:column;gap:14px;display:flex}.modal-category-head{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}[data-theme=light] .modal-category-head{border-bottom:1px solid #00000014}.modal-category-title-wrap{align-items:center;gap:10px;display:flex}.modal-category-indicator{background:var(--cat-color,var(--accent));width:8px;height:8px;box-shadow:0 0 8px var(--cat-color,var(--accent));border-radius:50%}.modal-category-name{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;font-size:.92rem;font-weight:700}.modal-category-badge{font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff1f;padding:2px 8px;font-size:.7rem;font-weight:600}.modal-skills-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:12px;display:grid}.modal-skill-card{border-radius:var(--radius-md);user-select:none;background:#0e111833;border:1px solid #ffffff1a;align-items:center;gap:12px;padding:12px 14px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}[data-theme=light] .modal-skill-card{background:#f8f6f259;border:1px solid #00000014}.modal-skill-card:hover{border-color:var(--skill-color,var(--accent));background:#e5a93c14;transform:none;box-shadow:0 4px 16px #00000040}.modal-skill-card:active,.modal-skill-card:focus{outline:none;transform:none}[data-theme=light] .modal-skill-card:hover{background:#f0ebe199;box-shadow:0 4px 14px #0000000f}.modal-skill-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--skill-color,var(--accent));background:#0a0b0e59;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}[data-theme=light] .modal-skill-icon{background:#faf8f580;border:1px solid #00000014}.modal-skill-card:hover .modal-skill-icon{border-color:var(--skill-color,var(--accent))}.modal-skill-info{flex-direction:column;gap:2px;display:flex;overflow:hidden}.modal-skill-name{font-family:var(--font-sans);color:var(--text-primary);font-size:.86rem;font-weight:600;line-height:1.2}.modal-skill-sub{color:var(--text-secondary);font-size:.72rem;line-height:1.3}.skill-map{isolation:isolate;flex-shrink:0;min-height:1840px;position:relative}.skill-connections{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.skill-connection{stroke:var(--border-medium);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.32;transition:stroke .22s,opacity .22s,filter .22s}.skill-connection.is-supporting{stroke-dasharray:2 5;opacity:.16}.skill-connection.is-dimmed{opacity:.08}.skill-connection.is-active{stroke:var(--accent);opacity:.78;filter:drop-shadow(0 0 3px #e5a93c57)}.skill-map-label{z-index:1;font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);opacity:.72;white-space:nowrap;font-size:.68rem;font-weight:700;position:absolute}.skill-map-label-web{top:0;left:0}.skill-map-label-systems{top:680px;left:0}.skill-map-label-network{top:1170px;left:0}.skill-map-label-tools{opacity:.56;top:1535px;left:0}.skill-node.modal-skill-card{top:var(--y);left:var(--x);z-index:2;width:var(--node-width,190px);cursor:default;opacity:1;gap:10px;min-width:0;max-width:none;padding:10px 12px;transition:opacity .22s,background .22s,border-color .22s,box-shadow .22s,transform .22s;position:absolute}.skill-node[data-skill=html-css],.skill-node[data-skill=networking]{--node-width:200px}.skill-node[data-skill=github],.skill-node[data-skill=xampp],.skill-node[data-skill=dns]{--node-width:210px}.skill-node[data-skill=pc-troubleshooting],.skill-node[data-skill=windows]{--node-width:220px}.skill-node[data-skill=software-troubleshooting]{--node-width:230px}.skill-node[data-skill=printer]{--node-width:225px}.skill-node[data-skill=node],.skill-node[data-skill=php]{--node-width:180px}.skill-node[data-skill=mysql],.skill-node[data-skill=cloud-vm],.skill-node[data-skill=virtual-machines],.skill-node[data-skill=cctv]{--node-width:190px}.skill-node[data-skill=linux]{--node-width:185px}.skill-node[data-skill=github],.skill-node[data-skill=dns],.skill-node[data-skill=cloud-vm]{left:auto;right:0}.skill-node[data-skill=networking]{left:auto;right:18px}.skill-node .modal-skill-icon{width:34px;height:34px}.skill-node .modal-skill-icon svg{width:19px;height:19px}.skill-node .modal-skill-info{overflow:visible}.skill-node .modal-skill-name{white-space:nowrap;font-size:.82rem}.skill-node .modal-skill-sub{max-width:168px;font-size:.68rem}.skill-node.is-tool-node{opacity:.86;gap:8px;padding:8px 10px}.skill-node.is-tool-node .modal-skill-icon{width:30px;height:30px}.skill-node.is-tool-node .modal-skill-icon svg{width:16px;height:16px}.skill-node.is-tool-node .modal-skill-name{font-size:.76rem}.skill-node.is-tool-node .modal-skill-sub{max-width:130px;font-size:.62rem}.skill-node.is-dimmed{opacity:.4}.skill-node.is-related{opacity:.9;background:#e5a93c0d;border-color:#e5a93c6b}.skill-node.is-active,.skill-node:hover,.skill-node:focus-visible{opacity:1;border-color:var(--skill-color,var(--accent));background:#e5a93c1a;outline:none;transform:translateY(-1px);box-shadow:0 5px 18px #00000047,0 0 12px #e5a93c14}.skill-node.is-active .modal-skill-icon,.skill-node:focus-visible .modal-skill-icon{border-color:var(--skill-color,var(--accent))}[data-theme=light] .skill-node.is-related{background:#e5a93c14}[data-theme=light] .skill-node.is-active,[data-theme=light] .skill-node:hover,[data-theme=light] .skill-node:focus-visible{background:#f0ebe1c7;box-shadow:0 5px 16px #00000014}.skills-modal-footer{background:#080a0e40;border-top:1px solid #e5a93c33;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}[data-theme=light] .skills-modal-footer{background:#f8f6f299;border-top:1px solid #0000000f}.modal-footer-status{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;align-items:center;gap:8px;font-size:.72rem;font-weight:600;display:flex}.status-indicator-dot{background:#10b981;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #10b981}.modal-close-action{padding:6px 14px;font-size:.75rem}@media (width>=1181px){.skills-modal{padding:12px 16px}.skills-modal-card{-webkit-backdrop-filter:blur(.5px);max-width:1540px;max-height:96vh;box-shadow:none;background:radial-gradient(at 50% 45%,#080a0e1f 0%,#080a0e0b 62%,#0000 88%);border-radius:0;overflow:visible}[data-theme=light] .skills-modal-card{-webkit-backdrop-filter:blur(.5px);box-shadow:none;background:radial-gradient(at 50% 45%,#ffffff24 0%,#f8f6f20d 62%,#0000 88%)}.skills-modal-header{padding:6px 18px 2px}.skills-modal-body{scrollbar-width:none;max-height:calc(96vh - 52px);padding:4px 18px 10px;-webkit-mask-image:linear-gradient(#0000 0,#000 2% 98%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 2% 98%,#0000 100%)}.skills-modal-body::-webkit-scrollbar{display:none}.skill-map{min-height:1260px}.skill-map-label-web{top:0;left:0}.skill-map-label-systems{top:485px;left:0}.skill-map-label-network{top:485px;left:67%}.skill-map-label-tools{top:935px;left:0}.skill-node[data-skill=github],.skill-node[data-skill=dns],.skill-node[data-skill=cloud-vm],.skill-node[data-skill=networking]{right:auto;left:var(--x)}.skill-node[data-skill=html-css]{--x:1.5%!important;--y:50px!important}.skill-node[data-skill=javascript]{--x:21.5%!important;--y:25px!important}.skill-node[data-skill=browser-devtools]{--x:40.5%!important;--y:100px!important}.skill-node[data-skill=node]{--x:62%!important;--y:30px!important}.skill-node[data-skill=github]{--x:80%!important;--y:80px!important}.skill-node[data-skill=debugging]{--x:3%!important;--y:160px!important}.skill-node[data-skill=system-testing]{--x:21%!important;--y:205px!important}.skill-node[data-skill=rest-api]{--x:42%!important;--y:190px!important}.skill-node[data-skill=api-integration]{--x:62%!important;--y:170px!important}.skill-node[data-skill=authentication]{--x:78%!important;--y:260px!important}.skill-node[data-skill=php]{--x:1.5%!important;--y:300px!important}.skill-node[data-skill=mysql]{--x:24%!important;--y:300px!important}.skill-node[data-skill=xampp]{--x:18%!important;--y:405px!important}.skill-node[data-skill=database-design]{--x:45%!important;--y:385px!important}.skill-node[data-skill=deployment]{--x:74%!important;--y:365px!important}.skill-node[data-skill=software-troubleshooting]{--x:1.5%!important;--y:530px!important}.skill-node[data-skill=pc-troubleshooting]{--x:20%!important;--y:620px!important}.skill-node[data-skill=hardware-troubleshooting]{--x:41%!important;--y:520px!important}.skill-node[data-skill=bios-uefi]{--x:43%!important;--y:610px!important}.skill-node[data-skill=windows]{--x:1.5%!important;--y:710px!important}.skill-node[data-skill=os-installation]{--x:23%!important;--y:710px!important}.skill-node[data-skill=disk-partitioning]{--x:44%!important;--y:720px!important}.skill-node[data-skill=virtual-machines]{--x:1.5%!important;--y:800px!important}.skill-node[data-skill=linux]{--x:22%!important;--y:815px!important}.skill-node[data-skill=printer]{--x:43%!important;--y:805px!important}.skill-node[data-skill=cctv]{--x:45%!important;--y:895px!important}.skill-node[data-skill=network-troubleshooting]{--x:67%!important;--y:520px!important}.skill-node[data-skill=dns]{--x:80%!important;--y:610px!important}.skill-node[data-skill=networking]{--x:67%!important;--y:700px!important}.skill-node[data-skill=ip-configuration]{--x:80%!important;--y:790px!important}.skill-node[data-skill=ssl-https]{--x:65%!important;--y:880px!important}.skill-node[data-skill=cloud-vm]{--x:80%!important;--y:970px!important}.skill-node[data-skill=ssh-basics]{--x:65%!important;--y:1060px!important}.skill-node[data-skill=vscode]{--x:1.5%!important;--y:990px!important}.skill-node[data-skill=command-prompt]{--x:31%!important;--y:985px!important}.skill-node[data-skill=phpmyadmin]{--x:16%!important;--y:1075px!important}.skill-node[data-skill=powershell]{--x:45%!important;--y:1060px!important}.skill-node[data-skill=linux-terminal]{--x:1.5%!important;--y:1160px!important}.skill-node[data-skill=gcp]{--x:22%!important;--y:1155px!important}.skill-node[data-skill=aws-ec2]{--x:45%!important;--y:1155px!important}}@media (width<=1180px){.skills-modal{padding:12px}.skills-modal-card{max-height:94vh}.skills-modal-body{gap:0;max-height:calc(94vh - 58px);padding:8px 12px 18px}.modal-skills-grid{grid-template-columns:1fr}.skill-map{min-height:3970px;display:block}.skill-map-label{margin:0;position:absolute;left:0}.skill-map-label-web{top:0}.skill-map-label-systems{top:1490px}.skill-map-label-network{top:2610px}.skill-map-label-tools{top:3360px}.skill-node.modal-skill-card{top:var(--mobile-y);width:min(var(--node-width,190px),calc(100% - 8px));min-width:0;max-width:none;transform:translateX(var(--mobile-shift,0));background:#0e1118ad;position:absolute;left:0;right:auto}.skill-node.modal-skill-card:hover,.skill-node.modal-skill-card:focus-visible,.skill-node.modal-skill-card.is-active{transform:translateX(var(--mobile-shift,0))translateY(-1px)}.skill-node .modal-skill-name{white-space:nowrap}.skill-node .modal-skill-sub{max-width:168px}[data-theme=light] .skill-node.modal-skill-card{background:#f8f6f2c7}.skill-connection.is-cross-cluster,.skill-connection.is-mobile-hidden{display:none}.skill-connection.is-cross-cluster.is-mobile-visible{display:block}.skill-node[data-skill=javascript],.skill-node[data-skill=node],.skill-node[data-skill=php],.skill-node[data-skill=github],.skill-node[data-skill=pc-troubleshooting],.skill-node[data-skill=windows],.skill-node[data-skill=virtual-machines],.skill-node[data-skill=networking],.skill-node[data-skill=cloud-vm],.skill-node[data-mobile-align=center]{--mobile-shift:-50%;left:50%;right:auto}.skill-node[data-skill=linux],.skill-node[data-skill=cctv],.skill-node[data-mobile-align=right]{--mobile-shift:0;left:auto;right:0}.skill-node[data-skill=javascript]{--mobile-y:36px}.skill-node[data-skill=html-css]{--mobile-y:130px}.skill-node[data-skill=node]{--mobile-y:506px}.skill-node[data-skill=github]{--mobile-y:1352px}.skill-node[data-skill=php]{--mobile-y:882px}.skill-node[data-skill=mysql]{--mobile-y:976px}.skill-node[data-skill=xampp]{--mobile-y:1164px}.skill-node[data-skill=software-troubleshooting]{--mobile-y:1530px}.skill-node[data-skill=pc-troubleshooting]{--mobile-y:1624px}.skill-node[data-skill=windows]{--mobile-y:1906px}.skill-node[data-skill=virtual-machines]{--mobile-y:2188px}.skill-node[data-skill=linux]{--mobile-y:2282px}.skill-node[data-skill=printer]{--mobile-y:2376px}.skill-node[data-skill=cctv]{--mobile-y:2470px}.skill-node[data-skill=dns]{--mobile-y:2932px}.skill-node[data-skill=networking]{--mobile-y:2650px}.skill-node[data-skill=cloud-vm]{--mobile-y:3120px}.skills-modal-title-full,.skills-modal-close .close-label{display:none}.skills-modal-title-short{display:inline}.skills-modal-close{padding:5px}.skills-modal-header,.skills-modal-footer{padding:10px 12px}}@media (width>=769px) and (width<=1180px){.skills-modal-title-full,.skills-modal-close .close-label{display:inline}.skills-modal-title-short{display:none}.skills-modal-close{padding:5px 9px}}@media (width<=480px){.skills-modal-title{font-size:1rem}}@media (width<=768px){.hero-profile-layout{flex-direction:column;align-items:flex-start;gap:24px}.nav-links,.hero-dither{display:none}.project-row{grid-template-columns:1fr;gap:12px}.project-actions{justify-content:flex-start}.about-layout,.contact-card{grid-template-columns:1fr;gap:24px}.contact-links-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}:where(button,a[href],[role=button],[tabindex]:not([tabindex="-1"])){-webkit-tap-highlight-color:transparent}:where(button,a[href],[role=button],[tabindex]:not([tabindex="-1"])):focus{outline:none}:where(button,a[href],[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:1px solid var(--border-focus);outline-offset:3px}@media (width>=769px){.hero-art pre{filter:blur(.45px)}}@media (width>=769px){.hero-art pre{filter:blur(.8px)}}