@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";:root{--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--bg-primary: #131313;--bg-secondary: #111111;--bg-terminal: #0e0e0e;--bg-darker: #0c0c0c;--border-color: #222222;--border-active: #ffffff;--border-green: #15803d;--border-red: #b91c1c;--text-primary: #e2e2e2;--text-muted: #808080;--text-white: #ffffff;--text-black: #000000;--green: #22c55e;--red: #ef4444;--gray-dark: #333333;--gray-light: #555555;--transition-fast: .2s ease;--transition-medium: .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}button{background:none;border:none;font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gray-dark)}::-webkit-scrollbar-thumb:hover{background:var(--gray-light)}::selection{background-color:#ffffff26;color:var(--text-white)}.bg-grid-pattern{background-size:50px 50px;background-image:linear-gradient(to right,rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.015) 1px,transparent 1px)}.animate-blink{animation:blink-anim 1s step-end infinite}@keyframes blink-anim{0%,to{opacity:1}50%{opacity:0}}.hidden{display:none!important}.app-root{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;position:relative;overflow-x:hidden;max-width:100vw}.app-main{flex:1;display:flex;flex-direction:column}.terminal-link-box{background-color:var(--bg-darker);border-top:1px solid var(--border-color);padding:8px 24px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.connection-status{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background-color:var(--green);border-radius:50%}.btn-terminal-footer-hint{transition:color var(--transition-fast)}.btn-terminal-footer-hint:hover{color:var(--text-white)}.navbar{border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);position:sticky;top:0;z-index:50;padding:12px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}@media(min-width:768px){.navbar{padding:16px 48px;flex-wrap:nowrap}}.navbar-logo{font-family:var(--font-mono);font-size:13px;letter-spacing:.05em;color:var(--text-white);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:opacity var(--transition-fast)}@media(min-width:768px){.navbar-logo{font-size:14px}}.navbar-logo:hover{opacity:.8}.navbar-logo-blink{width:8px;height:16px;background-color:var(--text-white);display:inline-block}.navbar-menu-desktop{display:none}@media(min-width:768px){.navbar-menu-desktop{display:flex;align-items:center;gap:40px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}}.navbar-mobile-controls{display:flex;align-items:center;gap:10px}@media(min-width:768px){.navbar-mobile-controls{display:none}}.nav-hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);background-color:#111;color:var(--text-muted);transition:all var(--transition-fast)}.nav-hamburger:hover{border-color:var(--text-white);color:var(--text-white)}.navbar-mobile-menu{width:100%;border-top:1px solid var(--border-color);background-color:var(--bg-primary);display:flex;flex-direction:column;padding:8px 0 12px;order:3}.mobile-nav-link{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;text-align:left;padding:12px 16px;width:100%;border-bottom:1px solid rgba(255,255,255,.04);transition:all var(--transition-fast);display:block}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--text-white);background-color:#ffffff08}.nav-link{text-transform:uppercase;letter-spacing:.1em;transition:color var(--transition-fast);position:relative;padding:4px 0}.nav-link:hover{color:var(--text-white)}.nav-link.active{color:var(--text-white);font-weight:500}.nav-link-underline{position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--text-white)}.nav-link-resume{border:1px solid rgba(255,255,255,.2);padding:8px 16px;text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-fast)}.nav-link-resume:hover{border-color:var(--text-white);color:var(--text-white)}.nav-link-resume.active{border-color:var(--text-white);color:var(--text-white);background-color:#ffffff0d}.nav-link-terminal-toggle{padding:8px;border:1px solid var(--border-color);background-color:#111;color:var(--text-muted);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.nav-link-terminal-toggle:hover{border-color:var(--text-white);color:var(--text-white)}.nav-link-blog{border:1px solid rgba(255,255,255,.35);padding:6px 14px;text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-fast);font-family:var(--font-mono);font-size:12px;color:var(--text-white);background-color:#ffffff0a;box-shadow:0 0 10px #ffffff0f}.nav-link-blog a{color:inherit;text-decoration:none;display:block}.nav-link-blog:hover{border-color:var(--text-white);background-color:#ffffff1a;box-shadow:0 0 18px #ffffff1f;color:var(--text-white)}.app-footer{border-top:1px solid var(--border-color);background-color:var(--bg-primary);padding:24px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:16px;font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}@media(min-width:768px){.app-footer{flex-direction:row;padding:24px 48px;font-size:12px}}.footer-links{display:flex;gap:24px;letter-spacing:.1em}.footer-links a{text-transform:uppercase;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--text-white)}.home-section{flex:1;background-color:var(--bg-primary);padding:32px 16px;max-width:1200px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:48px}@media(min-width:640px){.home-section{padding:48px 24px;gap:64px}}@media(min-width:768px){.home-section{padding:96px 48px;gap:96px}}.hero-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;max-width:768px;margin:0 auto}.hero-avatar-wrapper{position:relative}.hero-avatar-blur{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(to right,#ffffff1a,#ffffff4d);border-radius:50%;filter:blur(4px);opacity:.3;transition:opacity var(--transition-medium)}.hero-avatar-wrapper:hover .hero-avatar-blur{opacity:.7}.hero-avatar-inner{position:relative;display:flex;flex-direction:column;align-items:center}.avatar-border-box{width:128px;height:128px;border-radius:50%;border:1px solid rgba(255,255,255,.4);padding:4px;background-color:var(--text-black);overflow:hidden;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.avatar-border-box{width:160px;height:160px}}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;transform:scale(1.05);transition:transform var(--transition-medium)}.avatar-border-box:hover .avatar-img{transform:scale(1.15)}.avatar-badge{position:absolute;bottom:-12px;background-color:var(--text-white);color:var(--text-black);font-size:9px;font-family:var(--font-mono);font-weight:700;letter-spacing:.1em;padding:4px 12px;border:1px solid var(--text-black);box-shadow:0 10px 15px -3px #0000004d}@media(min-width:768px){.avatar-badge{font-size:10px}}.hero-text-block{display:flex;flex-direction:column;gap:16px;margin-top:16px}.hero-heading{font-size:30px;font-weight:700;color:var(--text-white);letter-spacing:-.025em;line-height:1.1;-webkit-user-select:text;user-select:text}@media(min-width:640px){.hero-heading{font-size:48px}}@media(min-width:768px){.hero-heading{font-size:64px}}.hero-heading-gray{color:var(--text-muted)}.hero-subtext{font-size:12px;color:var(--text-muted);max-width:640px;margin:8px auto 0;line-height:1.6}@media(min-width:640px){.hero-subtext{font-size:14px}}@media(min-width:768px){.hero-subtext{font-size:16px}}.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:8px;font-family:var(--font-mono);font-size:12px}.hero-btn-primary{border:1px solid var(--text-white);padding:12px 24px;background-color:var(--text-white);color:var(--text-black);transition:all var(--transition-fast);display:flex;align-items:center;gap:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.hero-btn-primary:hover{background-color:transparent;color:var(--text-white)}.hero-btn-secondary{border:1px solid rgba(255,255,255,.2);padding:12px 24px;color:var(--text-white);transition:all var(--transition-fast);display:flex;align-items:center;gap:8px;letter-spacing:.1em;text-transform:uppercase}.hero-btn-secondary:hover{border-color:var(--text-white);background-color:#ffffff0d}.tech-stack-section{display:flex;flex-direction:column;gap:32px}.section-label-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.section-label{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);letter-spacing:.15em}.tech-stack-grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.tech-stack-grid{grid-template-columns:repeat(3,1fr)}}.tech-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:24px;display:flex;flex-direction:column;gap:24px}.tech-card-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-family:var(--font-mono);color:var(--text-muted)}.tech-card-title{font-size:18px;font-weight:700;color:var(--text-white);margin-bottom:16px;letter-spacing:.05em}.tech-card-list{list-style:none;display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.tech-card-list li{display:flex;align-items:center;gap:8px;transition:color var(--transition-fast);cursor:default}.tech-card-list li:hover{color:var(--text-white)}.bullet-square{width:6px;height:6px;background-color:var(--text-white)}.ctf-section{display:flex;flex-direction:column;gap:32px}.ctf-grid{display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:1024px){.ctf-grid{grid-template-columns:repeat(12,1fr)}}.ctf-info-col{display:flex;flex-direction:column;gap:32px}@media(min-width:1024px){.ctf-info-col{grid-column:span 7}}.ctf-achievement-card{display:flex;gap:16px;border-left:2px solid var(--text-white);padding:8px 0 8px 16px;transition:background-color var(--transition-fast);cursor:pointer;overflow:hidden;word-wrap:break-word}@media(min-width:640px){.ctf-achievement-card{padding:8px 0 8px 24px}}.ctf-achievement-card:hover{background-color:#ffffff05}.ctf-card-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.05em;display:block;margin-bottom:4px}.ctf-card-heading{font-size:16px;font-weight:700;color:var(--text-white);letter-spacing:-.015em;word-break:break-word}@media(min-width:640px){.ctf-card-heading{font-size:20px}}@media(min-width:768px){.ctf-card-heading{font-size:24px}}.ctf-card-desc{font-size:12px;color:var(--text-muted);margin-top:8px;line-height:1.6}@media(min-width:640px){.ctf-card-desc{font-size:14px}}.ctf-dashboard-col{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:24px;display:flex;flex-direction:column;gap:32px;justify-content:space-between;position:relative}@media(min-width:1024px){.ctf-dashboard-col{grid-column:span 5}}.dashboard-header-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(34,34,34,.6);padding-bottom:16px}.dashboard-section-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.1em;display:flex;align-items:center;gap:4px}.dashboard-status-label{font-family:var(--font-mono);font-size:10px;color:var(--text-white);display:flex;align-items:center;gap:8px;letter-spacing:.1em}.ping-dot{width:6px;height:6px;background-color:var(--green);border-radius:50%;animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.streak-block-wrapper{display:flex;flex-direction:column;gap:12px}.streak-row{display:flex;align-items:flex-end;justify-content:space-between;height:80px;padding:0 8px}.streak-day-cell{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;margin-right:2px}.streak-visual-box{width:100%;height:48px;border:1px solid var(--border-color);background-color:transparent;transition:border-color var(--transition-fast);cursor:pointer}.streak-visual-box.active{background-color:var(--text-white);border-color:var(--text-white)}.streak-visual-box:not(.active):hover{border-color:#444}.streak-day-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.streak-tooltip-box{height:24px;background-color:#ffffff05;border:1px solid var(--border-color);padding:0 12px;display:flex;align-items:center}.streak-tooltip-text{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-divider-block{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(34,34,34,.6);padding-top:16px}.activity-terminal-trigger{font-family:var(--font-mono);font-size:12px;color:var(--text-white);background-color:#0006;padding:8px;border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:6px;cursor:pointer;transition:color var(--transition-fast)}.activity-terminal-trigger:hover{color:var(--green)}.activity-cursor-blink{width:6px;height:12px;background-color:var(--text-white);animation:blink-anim 1s step-end infinite}.dashboard-uptime-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(34,34,34,.6);padding-top:16px}.uptime-value{font-weight:700;font-size:18px;color:var(--text-white)}.profile-section{display:flex;flex-direction:column;gap:32px}.profile-bio-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:32px;display:flex;flex-direction:column;gap:20px;position:relative}.profile-bio-index{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.1em}.profile-bio-text{font-size:13px;color:var(--text-muted);line-height:1.85;max-width:860px}@media(min-width:640px){.profile-bio-text{font-size:14px}}@media(min-width:768px){.profile-bio-text{font-size:15px}}.profile-bio-highlight{color:var(--text-white);font-weight:600}.projects-section{flex:1;background-color:var(--bg-primary);padding:32px 16px;max-width:1200px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:32px}@media(min-width:640px){.projects-section{padding:48px 24px;gap:48px}}@media(min-width:768px){.projects-section{padding:96px 48px;gap:48px}}.live-preview{position:relative;width:100%;overflow:hidden;background:#000;border:1px solid var(--border-color)}.iframe-scaler{position:absolute;top:0;left:0;transform-origin:top left;pointer-events:none}.preview-iframe{width:100%;height:100%;border:none;display:block}.projects-header{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-color);padding-bottom:24px}.projects-heading{font-size:30px;font-weight:700;color:var(--text-white);letter-spacing:-.025em}@media(min-width:768px){.projects-heading{font-size:40px}}.projects-subtext{font-size:12px;color:var(--text-muted);max-width:576px;line-height:1.6;margin-top:4px}@media(min-width:640px){.projects-subtext{font-size:14px}}.projects-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}@media(min-width:1024px){.projects-grid{grid-template-columns:repeat(12,1fr)}}.projects-list-col{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}@media(min-width:768px){.projects-list-col{max-height:70vh}}.projects-list-col::-webkit-scrollbar{width:4px}.projects-list-col::-webkit-scrollbar-track{background:transparent}.projects-list-col::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:2px}.projects-list-col::-webkit-scrollbar-thumb:hover{background-color:#ffffff59}@media(min-width:1024px){.projects-list-col{grid-column:span 5}}.catalog-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.15em;display:block;margin-bottom:4px}.project-card{border:1px solid var(--border-color);padding:20px;cursor:pointer;transition:all var(--transition-fast);background-color:var(--bg-secondary);color:var(--text-primary)}.project-card:hover{border-color:#ffffff80}.project-card.active{background-color:var(--text-white);color:var(--text-black);border-color:var(--text-white);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.project-card-header{display:flex;justify-content:space-between;align-items:start}.project-card-tag{font-family:var(--font-mono);font-size:9px;padding:2px 8px;border:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase}.project-card.active .project-card-tag{border-color:var(--text-black);color:var(--text-black);background-color:#0000000d}.project-card-lang{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.project-card.active .project-card-lang{color:var(--text-black)}.project-card-title{font-size:18px;font-weight:700;margin-top:12px;margin-bottom:4px;letter-spacing:.025em}.project-card-desc{font-size:12px;line-height:1.6;color:var(--text-muted)}.project-card.active .project-card-desc{color:#000c;font-weight:500}.project-detail-panel{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:24px;display:flex;flex-direction:column;gap:24px}@media(min-width:1024px){.project-detail-panel{grid-column:span 7}}.detail-header-block{display:flex;flex-direction:column;gap:16px;border-bottom:1px solid var(--border-color);padding-bottom:24px}.detail-header-top-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.detail-title{font-size:24px;font-weight:700;color:var(--text-white);letter-spacing:.025em}.detail-actions-row{display:flex;align-items:center;gap:12px;font-size:12px;font-family:var(--font-mono)}.detail-github-btn{border:1px solid var(--border-color);padding:6px 12px;color:var(--text-muted);transition:all var(--transition-fast);display:flex;align-items:center;gap:6px}.detail-github-btn:hover{border-color:var(--text-white);color:var(--text-white)}.detail-exec-btn{padding:6px 16px;display:flex;align-items:center;gap:6px;font-weight:700;transition:all var(--transition-fast);border:1px solid var(--text-white);background-color:var(--text-white);color:var(--text-black)}.detail-exec-btn:not(:disabled):hover{background-color:transparent;color:var(--text-white)}.detail-exec-btn:disabled{border-color:#ffffff26;background-color:#ffffff0d;color:var(--gray-light);cursor:not-allowed}.detail-long-desc{font-size:12px;color:var(--text-muted);line-height:1.6;-webkit-user-select:text;user-select:text}@media(min-width:640px){.detail-long-desc{font-size:14px}}.detail-tech-chips-wrapper{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.chip-lang{font-family:var(--font-mono);font-size:10px;color:var(--text-white);border:1px solid rgba(255,255,255,.2);background-color:#ffffff0d;padding:2px 10px}.chip-tool{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);border:1px solid var(--border-color);padding:2px 10px}.detail-console-container{display:flex;flex-direction:column;gap:8px}.console-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.1em;display:flex;align-items:center;gap:4px}.console-buffer{background-color:var(--bg-terminal);border:1px solid var(--border-color);padding:16px;font-family:var(--font-mono);font-size:11px;line-height:1.6;height:260px;overflow-y:auto;-webkit-user-select:text;user-select:text;display:flex;flex-direction:column;justify-content:space-between}.console-logs-area{display:flex;flex-direction:column;gap:6px}.console-log-default{color:var(--text-primary)}.console-log-danger{color:var(--red);font-weight:700;background-color:#b91c1c33;padding:0 4px;border-left:2px solid var(--red)}.console-log-success{color:var(--green)}.console-log-command{color:var(--text-white);font-weight:600}.console-log-system{color:var(--text-muted)}.console-loading-indicator{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.console-loading-dot{width:6px;height:6px;background-color:var(--text-white);border-radius:50%;animation:ping 1s infinite}.console-bottom-bar{border-top:1px solid rgba(34,34,34,.6);padding-top:8px;font-size:10px;color:var(--text-muted);display:flex;justify-content:space-between;align-items:center}.console-clear-btn{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;transition:color var(--transition-fast)}.console-clear-btn:hover{color:var(--text-white)}.resume-section{flex:1;background-color:var(--bg-primary);padding:48px 24px;max-width:896px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:48px}@media(min-width:768px){.resume-section{padding:96px 48px}}.resume-action-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:24px}.resume-action-title-box{display:flex;flex-direction:column;gap:4px}.btn-print-cv{border:1px solid var(--text-white);padding:8px 16px;background-color:var(--text-white);color:var(--text-black);transition:all var(--transition-fast);font-family:var(--font-mono);font-size:12px;display:flex;align-items:center;gap:8px;font-weight:700;text-transform:uppercase}.btn-print-cv:hover{background-color:transparent;color:var(--text-white)}.resume-body{display:flex;flex-direction:column;gap:40px}.resume-head-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:24px;display:flex;flex-direction:column;gap:24px}@media(min-width:768px){.resume-head-card{flex-direction:row;justify-content:space-between}}.resume-name-title-box{display:flex;flex-direction:column;gap:8px}.resume-name{font-size:30px;font-weight:700;color:var(--text-white);letter-spacing:-.025em;line-height:1}.resume-subtitle{font-family:var(--font-mono);font-size:12px;color:var(--text-white);letter-spacing:.05em;text-transform:uppercase}.resume-brief-desc{font-size:12px;color:var(--text-muted);max-width:448px;line-height:1.6;margin-top:4px}.resume-contacts-box{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:8px;justify-content:center}.resume-contact-item{display:flex;align-items:center;gap:8px}.resume-contact-item a{transition:color var(--transition-fast)}.resume-contact-item a:hover,.resume-contact-icon{color:var(--text-white)}.resume-contact-bold{font-weight:700}.resume-block-category{display:flex;flex-direction:column;gap:16px}.resume-category-header{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-color);padding-bottom:4px}.resume-category-icon{color:var(--text-white)}.resume-category-title{font-size:14px;font-weight:700;color:var(--text-white);letter-spacing:.1em;text-transform:uppercase}.resume-timeline-list{display:flex;flex-direction:column;gap:16px}.resume-timeline-job{border:1px solid var(--border-color);background-color:#1116;padding-bottom:16px}.job-collapsible-header{display:flex;justify-content:space-between;align-items:start;padding:16px;cursor:pointer;transition:background-color var(--transition-fast)}.job-collapsible-header:hover{background-color:#ffffff05}.job-role-title{font-size:16px;font-weight:700;color:var(--text-white)}.job-org-label{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.job-meta-side{display:flex;align-items:center;gap:12px}.job-period-tag{font-family:var(--font-mono);font-size:12px;color:var(--text-white);background-color:#ffffff0d;border:1px solid rgba(255,255,255,.15);padding:2px 10px}.job-chevron-icon{color:var(--text-muted)}.job-details-expand-box{padding:0 16px 16px;font-size:12px;color:var(--text-muted);line-height:1.6;display:flex;flex-direction:column;gap:12px}.job-details-expand-box.hidden{display:none}.job-desc-italic{font-style:italic}.job-bullets-list{padding-left:16px;list-style-type:disc;display:flex;flex-direction:column;gap:6px}.job-tech-stack-chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.job-tech-chip{font-family:var(--font-mono);font-size:9px;border:1px solid var(--border-color);padding:2px 8px;color:var(--text-white)}.education-card{border:1px solid var(--border-color);background-color:#1113;padding:16px}.education-header-row{display:flex;justify-content:space-between;align-items:start;gap:16px}.edu-degree-title{font-size:16px;font-weight:700;color:var(--text-white)}.edu-school-label{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.edu-period-tag{font-family:var(--font-mono);font-size:12px;color:var(--text-white);background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:2px 10px;flex-shrink:0}.edu-desc{font-size:12px;color:var(--text-muted);margin-top:12px;line-height:1.6}.certs-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.certs-grid{grid-template-columns:repeat(3,1fr)}}.cert-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);padding:16px;display:flex;flex-direction:column;justify-content:space-between}.cert-name-label{font-size:12px;font-weight:700;color:var(--text-white);line-height:1.35}.cert-issuer-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);display:block;margin-top:4px}.cert-status-tag{font-family:var(--font-mono);font-size:9px;color:var(--text-white);border:1px solid rgba(255,255,255,.2);background-color:#ffffff0d;padding:2px 8px;margin-top:16px;align-self:flex-start;text-transform:uppercase}.cert-card.clickable{cursor:pointer;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.cert-card.clickable:hover{border-color:var(--border-active);box-shadow:0 0 12px #ffffff0d;transform:translateY(-2px)}.cert-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cert-view-icon{color:var(--text-muted);transition:color var(--transition-fast)}.cert-card.clickable:hover .cert-view-icon{color:var(--green)}.pdf-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease-out}.pdf-modal-container{background-color:var(--bg-terminal);border:1px solid var(--border-color);width:100%;max-width:960px;height:85vh;display:flex;flex-direction:column;box-shadow:0 0 30px #00000080,0 0 1px 1px #ffffff0d;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1)}.pdf-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.pdf-modal-title{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-white);letter-spacing:.1em}.pdf-modal-icon{color:var(--green)}.pdf-modal-actions{display:flex;align-items:center;gap:12px}.pdf-modal-btn{color:var(--text-muted);transition:color var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:4px}.pdf-modal-btn:hover{color:var(--text-white);transform:scale(1.08)}.pdf-modal-btn.close:hover{color:var(--red)}.pdf-modal-body{flex:1;background-color:#1a1a1a;position:relative;overflow:hidden}.pdf-iframe{width:100%;height:100%;border:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:640px){.pdf-modal-overlay{padding:12px}.pdf-modal-container{height:90vh}}.terminal-panel{position:fixed;bottom:0;left:0;width:100%;z-index:50;background-color:var(--bg-terminal);border-top-width:2px;border-top-style:solid;border-top-color:var(--border-active);font-family:var(--font-mono);display:flex;flex-direction:column;transition:all var(--transition-medium);height:350px}.terminal-panel.maximized{height:90vh}.terminal-panel.sudo-unlocked{border-top-color:var(--green)}.terminal-title-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background-color:var(--bg-secondary);color:var(--text-white);border-bottom:1px solid var(--border-color)}.terminal-title-bar.sudo-unlocked{background-color:#15803d26;color:var(--green);border-bottom-color:#15803d66}.terminal-title-left{display:flex;align-items:center;gap:8px;font-size:12px}.terminal-title-icon{color:var(--text-muted)}.terminal-title-bar.sudo-unlocked .terminal-title-icon{color:var(--green)}.terminal-title-text{font-weight:600;letter-spacing:.05em}.terminal-sudo-tag{font-size:9px;background-color:var(--green);color:var(--text-black);padding:2px 6px;text-transform:uppercase;font-weight:700;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.terminal-title-actions{display:flex;align-items:center;gap:16px}.terminal-action-btn{color:var(--text-muted);transition:color var(--transition-fast)}.terminal-action-btn:hover{color:var(--text-white)}.terminal-action-btn-close:hover{color:var(--red)}.terminal-buffer{flex:1;overflow-y:auto;padding:16px;font-size:12px;display:flex;flex-direction:column;gap:8px;-webkit-user-select:text;user-select:text}.terminal-history-item{white-space:pre-line;line-height:1.625}.terminal-prompt-row{display:flex;align-items:center;gap:8px}.terminal-prompt-prefix{color:var(--text-white)}.terminal-panel.sudo-unlocked .terminal-prompt-prefix{color:var(--green)}.terminal-prompt-input-echo{color:var(--text-primary)}.terminal-output-text{margin-top:4px;padding-left:8px}.terminal-history-item.system .terminal-output-text{color:#d1d5db}.terminal-panel.sudo-unlocked .terminal-history-item.system .terminal-output-text{color:#86efac}.terminal-history-item.error .terminal-output-text{color:var(--red)}.terminal-history-item.success .terminal-output-text{color:var(--text-white);font-weight:500}.terminal-panel.sudo-unlocked .terminal-history-item.success .terminal-output-text{color:var(--green)}.terminal-input-line{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--border-color);background-color:var(--bg-darker)}.terminal-input-line.sudo-unlocked{background-color:#15803d0d;border-top-color:#15803d66}.terminal-input-prefix{font-size:12px;color:var(--text-white)}.terminal-panel.sudo-unlocked .terminal-input-prefix{color:var(--green)}.terminal-input-field{flex:1;background:transparent;font-size:12px;color:var(--text-white);outline:none;border:none;caret-color:var(--text-white);padding:0;font-family:var(--font-mono)}.terminal-enter-hint{font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:4px;font-family:var(--font-mono)}@media print{body{background-color:var(--text-white)!important;color:var(--text-black)!important}.app-root{background-color:var(--text-white)!important;color:var(--text-black)!important;padding:0!important;margin:0!important;box-shadow:none!important}.navbar,.app-footer,.terminal-panel,.terminal-link-box,.resume-action-bar{display:none!important}.resume-section{background-color:var(--text-white)!important;color:var(--text-black)!important;padding:0!important;margin:0!important;max-width:100%!important}.resume-body{gap:32px}.resume-head-card{border:none!important;background-color:transparent!important;padding:0!important}.resume-name,.resume-subtitle{color:var(--text-black)!important}.resume-brief-desc{color:#374151!important}.resume-contacts-box,.resume-contact-icon,.resume-contact-item a{color:var(--text-black)!important}.resume-category-header{border-bottom-color:var(--text-black)!important}.resume-category-icon,.resume-category-title{color:var(--text-black)!important}.resume-timeline-job{background-color:transparent!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid #e5e7eb!important;padding-bottom:16px!important}.resume-timeline-job:last-child{border-bottom:none!important}.job-collapsible-header{cursor:default!important;padding:8px 0!important}.job-collapsible-header:hover{background-color:transparent!important}.job-role-title{color:var(--text-black)!important}.job-org-label{color:#374151!important}.job-period-tag{color:var(--text-black)!important;border-color:var(--text-black)!important;background-color:transparent!important}.job-chevron-icon{display:none!important}.job-details-expand-box{display:block!important;padding:0!important;color:#374151!important}.job-bullets-list li{color:var(--text-black)!important}.job-tech-stack-chips{display:none!important}.education-card{border:none!important;padding:0!important;background-color:transparent!important}.edu-degree-title{color:var(--text-black)!important}.edu-school-label{color:#374151!important}.edu-period-tag{color:var(--text-black)!important;border-color:var(--text-black)!important;background-color:transparent!important}.edu-desc{color:#374151!important}.certs-grid{grid-template-columns:1fr!important;gap:8px!important}.cert-card{border:none!important;padding:0!important;background-color:transparent!important}.cert-name-label{color:var(--text-black)!important}.cert-issuer-label{color:#374151!important}.cert-status-tag{color:var(--text-black)!important;border-color:var(--text-black)!important;background-color:transparent!important}}
