@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{--bg-primary:#030303;--bg-secondary:#0a0a0f;--bg-tertiary:#12121e;--accent:#5e6ad2;--accent-rgb:94, 106, 210;--accent-secondary:#c084fc;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#ffffff14;--card-shadow:0 4px 30px #00000080;--glow-strength:.15;--glow-color:#5e6ad259;--font-sans:"Outfit", "Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--card-bg-blur:blur(12px);--scrollbar-thumb:#334155;--transition-speed:.3s}[data-theme=light-elegant]{--bg-primary:#f8f6f2;--bg-secondary:#fff;--bg-tertiary:#f1ede4;--accent:#9a7b56;--accent-rgb:154, 123, 86;--accent-secondary:#c4b5a3;--text-primary:#1c1917;--text-secondary:#57534e;--border-color:#9a7b5626;--card-shadow:0 10px 30px #9a7b5614;--glow-strength:.08;--glow-color:#9a7b5626;--scrollbar-thumb:#cbd5e1}[data-theme=cyberpunk]{--bg-primary:#050505;--bg-secondary:#0f0515;--bg-tertiary:#200530;--accent:#f05;--accent-rgb:255, 0, 85;--accent-secondary:#0fc;--text-primary:#0fc;--text-secondary:#e2e8f0;--border-color:#f05;--card-shadow:0 0 10px #ff00554d, 0 0 20px #00ffcc1a;--glow-strength:.25;--glow-color:#f056;--scrollbar-thumb:#f05}[data-theme=glassmorphism]{--bg-primary:#0b071e;--bg-secondary:#ffffff08;--bg-tertiary:#ffffff0f;--accent:#f472b6;--accent-rgb:244, 114, 182;--accent-secondary:#38bdf8;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--border-color:#ffffff14;--card-shadow:0 8px 32px 0 #1f26875e;--glow-strength:.3;--glow-color:#f472b666;--card-bg-blur:blur(20px);--scrollbar-thumb:#ffffff1a}[data-theme=minimal-white]{--bg-primary:#fafafa;--bg-secondary:#fff;--bg-tertiary:#f4f4f5;--accent:#18181b;--accent-rgb:24, 24, 27;--accent-secondary:#71717a;--text-primary:#09090b;--text-secondary:#52525b;--border-color:#e4e4e7;--card-shadow:0 1px 3px #0000000d;--glow-strength:.03;--glow-color:#0000000d;--scrollbar-thumb:#d4d4d8}[data-theme=neon]{--bg-primary:#020617;--bg-secondary:#090d22;--bg-tertiary:#0f172a;--accent:#06b6d4;--accent-rgb:6, 182, 212;--accent-secondary:#10b981;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#06b6d433;--card-shadow:0 4px 20px #06b6d426;--glow-strength:.22;--glow-color:#06b6d466;--scrollbar-thumb:#0f172a}[data-theme=material-inspired]{--bg-primary:#1e1e2e;--bg-secondary:#252538;--bg-tertiary:#2a2b3d;--accent:#89b4fa;--accent-rgb:137, 180, 250;--accent-secondary:#a6e3a1;--text-primary:#cdd6f4;--text-secondary:#a6adc8;--border-color:#89b4fa26;--card-shadow:0 4px 15px #00000040;--glow-strength:.15;--glow-color:#89b4fa4d;--scrollbar-thumb:#313244}[data-theme=ocean]{--bg-primary:#071724;--bg-secondary:#0a2133;--bg-tertiary:#10324d;--accent:#0ea5e9;--accent-rgb:14, 165, 233;--accent-secondary:#2dd4bf;--text-primary:#f0f9ff;--text-secondary:#7dd3fc;--border-color:#0ea5e926;--card-shadow:0 4px 25px #07172499;--glow-strength:.18;--glow-color:#0ea5e959;--scrollbar-thumb:#1e293b}[data-theme=purple-aurora]{--bg-primary:#090214;--bg-secondary:#130924;--bg-tertiary:#1b0e33;--accent:#a855f7;--accent-rgb:168, 85, 247;--accent-secondary:#ec4899;--text-primary:#faf5ff;--text-secondary:#d8b4fe;--border-color:#a855f726;--card-shadow:0 8px 30px #a855f733;--glow-strength:.25;--glow-color:#a855f773;--scrollbar-thumb:#2e1065}[data-theme=terminal-hacker]{--bg-primary:#080a08;--bg-secondary:#0d120d;--bg-tertiary:#141b14;--accent:#22c55e;--accent-rgb:34, 197, 94;--accent-secondary:#15803d;--text-primary:#22c55e;--text-secondary:#86efac;--border-color:#22c55e;--card-shadow:0 0 10px #22c55e33;--glow-strength:.18;--glow-color:#22c55e59;--font-sans:"JetBrains Mono", "Courier New", monospace;--scrollbar-thumb:#15803d}[data-theme=developer-blue]{--bg-primary:#050b14;--bg-secondary:#0c1524;--bg-tertiary:#142136;--accent:#3b82f6;--accent-rgb:59, 130, 246;--accent-secondary:#60a5fa;--text-primary:#f0f5ff;--text-secondary:#93c5fd;--border-color:#3b82f626;--card-shadow:0 4px 20px #050b1499;--glow-strength:.16;--glow-color:#3b82f659;--scrollbar-thumb:#1e293b}[data-theme=sunset]{--bg-primary:#10060f;--bg-secondary:#180a17;--bg-tertiary:#271025;--accent:#f97316;--accent-rgb:249, 115, 22;--accent-secondary:#f43f5e;--text-primary:#fff7ed;--text-secondary:#fdba74;--border-color:#f9731626;--card-shadow:0 6px 20px #f9731626;--glow-strength:.2;--glow-color:#f9731666;--scrollbar-thumb:#431407}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);transition:background-color var(--transition-speed), color var(--transition-speed)}*{box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--bg-primary);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}p{color:var(--text-secondary);line-height:1.6}a{color:var(--accent);transition:color var(--transition-speed);text-decoration:none}a:hover{color:var(--accent-secondary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.glass-card{background:var(--bg-secondary);-webkit-backdrop-filter:var(--card-bg-blur);border:1px solid var(--border-color);box-shadow:var(--card-shadow);transition:border-color var(--transition-speed), box-shadow var(--transition-speed), transform var(--transition-speed);border-radius:16px}.glass-card:hover{border-color:rgba(var(--accent-rgb), .35);box-shadow:0 8px 30px rgba(var(--accent-rgb), .15)}.radial-glow-bg{pointer-events:none;z-index:0;background:radial-gradient(600px circle at var(--mouse-x,0px) var(--mouse-y,0px), var(--glow-color), transparent 80%);width:100vw;height:100vh;opacity:var(--glow-strength);transition:opacity .5s;position:fixed;top:0;left:0}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(var(--accent-rgb), .4);font-weight:600;font-family:var(--font-sans);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 6px 20px rgba(var(--accent-rgb), .5);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:border-color var(--transition-speed), background var(--transition-speed);font-weight:600;font-family:var(--font-sans);border-radius:12px;align-items:center;gap:8px;padding:12px 24px;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);background:rgba(var(--accent-rgb), .05)}::selection{background:rgba(var(--accent-rgb), .3);color:var(--text-primary)}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, rgba(var(--accent-rgb), .15) 37%, var(--bg-tertiary) 63%);background-size:400% 100%;border-radius:8px;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0%}}.navbar-container{z-index:100;width:90%;max-width:1000px;position:fixed;top:16px;left:50%;transform:translate(-50%)}.navbar-glass{background:rgba(var(--accent-rgb), .02);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:16px;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;box-shadow:0 4px 30px #00000026}.nav-logo{color:var(--text-primary);font-size:1.15rem;font-weight:800;font-family:var(--font-sans);align-items:center;gap:8px;display:flex}.nav-logo-icon{object-fit:contain;width:24px;height:24px;animation:15s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-text{background:linear-gradient(135deg, var(--text-primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.nav-desktop-links{gap:20px;display:flex}.nav-link{color:var(--text-secondary);padding:6px 4px;font-size:.95rem;font-weight:550;transition:color .25s;display:inline-block;position:relative}.piano-wrapper{gap:0;display:inline-flex}.piano-letter{transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .25s;display:inline-block}.nav-link:hover .piano-letter{animation:.4s ease-in-out piano-bounce;animation-delay:calc(var(--index) * 40ms);color:var(--accent)}@keyframes piano-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.nav-link.active{color:var(--accent)}.active-dot{background:var(--accent);width:4px;height:4px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.nav-actions{align-items:center;gap:16px;display:flex}.theme-toggle-wrapper{position:relative}.theme-menu-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,border-color .2s;display:flex}.theme-menu-btn:hover{border-color:var(--accent);transform:scale(1.05)}.theme-dropdown{z-index:120;width:320px;padding:16px;position:absolute;top:50px;right:0}.theme-dropdown-header{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:8px;font-size:.85rem;font-weight:700}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px;max-height:250px;padding-right:4px;display:grid;overflow-y:auto}.theme-chip-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-speed), background var(--transition-speed);border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:.85rem;font-weight:500;display:flex}.theme-chip-btn:hover,.theme-chip-btn.active{border-color:var(--accent);background:rgba(var(--accent-rgb), .05)}.color-indicator{border-radius:50%;flex-shrink:0;width:14px;height:14px}.theme-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.theme-selected-check{color:var(--accent);margin-left:auto}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;display:none}.mobile-drawer{z-index:110;pointer-events:auto;width:100%;padding:16px;position:absolute;top:75px;left:0}.mobile-drawer-links{flex-direction:column;gap:12px;display:flex}.mobile-link{color:var(--text-secondary);border-radius:8px;padding:8px 12px;font-size:1.05rem;font-weight:600}.mobile-link.active{background:rgba(var(--accent-rgb), .05);color:var(--accent);border-left:3px solid var(--accent)}@media (width<=768px){.nav-desktop-links{display:none}.mobile-menu-btn{display:flex}}.hero-section{align-items:center;min-height:95vh;padding:150px 0 100px;display:flex;position:relative}.hero-container{grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;display:grid}.hero-greeting{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:1.2rem;font-weight:600}.hero-name{background:linear-gradient(135deg, var(--text-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:16px;font-size:4rem;line-height:1.1}.hero-roles-box{color:var(--text-primary);align-items:center;gap:8px;height:40px;margin-bottom:24px;font-size:1.8rem;font-weight:650;display:flex}.role-carousel-wrapper{color:var(--accent);perspective:1000px;font-weight:700;display:inline-block;overflow:visible}.role-carousel-text{transform-style:preserve-3d;backface-visibility:hidden;display:inline-block}.hero-description{max-width:600px;margin-bottom:32px;font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:16px;margin-bottom:40px;display:flex}.hero-btn{justify-content:center;min-width:160px}.btn-arrow-icon{transition:transform .2s}.btn-primary:hover .btn-arrow-icon{transform:translate(4px)}.hero-socials{flex-wrap:wrap;gap:12px;display:flex}.social-badge-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.social-badge-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb), .05)}.hero-image-col{justify-content:center;display:flex;position:relative}.hero-image-wrapper{justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:relative}.hero-img-glow-ring{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));filter:blur(30px);opacity:.45;z-index:0;border-radius:38% 62% 63% 37%/41% 44% 56% 59%;width:110%;height:110%;animation:12s linear infinite blobby;position:absolute}.hero-avatar-frame{border:4px solid var(--border-color);width:270px;height:270px;box-shadow:var(--card-shadow);background:var(--bg-tertiary);z-index:1;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;animation:12s linear infinite blobby;position:relative;overflow:hidden}.hero-avatar-img{object-fit:cover;width:100%;height:100%}.hero-floating-badge{z-index:3;border-radius:9999px;align-items:center;gap:8px;padding:10px 16px;display:flex;position:absolute;bottom:10px;right:-20px}.floating-badge-dot{background:#10b981;border-radius:50%;width:10px;height:10px;animation:2s infinite blink;box-shadow:0 0 10px #10b981}@keyframes blink{0%,to{opacity:.4}50%{opacity:1}}.floating-badge-text{color:var(--text-primary);white-space:nowrap;font-size:.85rem;font-weight:750}.hero-layout-stack{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.hero-globe-card{width:280px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);background:var(--card-bg);border-radius:16px;flex-direction:column;align-items:center;padding:16px;display:flex}.globe-card-header{align-self:flex-start;align-items:center;gap:8px;margin-bottom:12px;display:flex}.globe-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%}.globe-dot.pulse{animation:2s infinite blink}.globe-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:700}.globe-container{justify-content:center;align-items:center;width:100%;height:240px;display:flex}.hero-separator{z-index:1;width:100%;line-height:0;position:absolute;bottom:0;left:0}.hero-separator svg{width:100%;height:60px;display:block}@keyframes blobby{0%,to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}33%{border-radius:50% 50% 30% 70%/50% 60% 40% 50%}66%{border-radius:60% 40%/40% 30% 70% 60%}}@media (width<=992px){.hero-container{text-align:center;grid-template-columns:1fr;gap:40px}.hero-text-col{order:2}.hero-image-col{order:1}.hero-description{margin-left:auto;margin-right:auto}.hero-actions,.hero-socials{justify-content:center}.hero-name{font-size:3rem}.hero-roles-box{justify-content:center}.hero-floating-badge{right:20px}}.section-header{text-align:center;max-width:700px;margin:0 auto 48px}.section-title{background:linear-gradient(135deg, var(--text-primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:12px;font-size:2.5rem}.title-total-duration{color:var(--accent);vertical-align:middle;letter-spacing:normal;-webkit-text-fill-color:var(--accent);margin-left:12px;font-size:1.25rem;font-weight:550;display:inline-block}.section-subtitle{font-size:1.05rem}.projects-section{background-color:var(--bg-secondary);padding:100px 0;position:relative}.projects-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding:16px 24px;display:flex}.search-box{flex-grow:1;max-width:500px;position:relative}.search-icon{color:var(--text-secondary);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:border-color var(--transition-speed);border-radius:12px;padding:12px 16px 12px 48px;font-size:.95rem}.search-input:focus{border-color:var(--accent);outline:none}.search-clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.sort-box{align-items:center;gap:12px;display:flex}.sort-icon{color:var(--text-secondary)}.sort-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);cursor:pointer;border-radius:12px;padding:12px 16px}.category-tabs-container{margin-bottom:40px;padding-bottom:8px;overflow-x:auto}.category-tabs{border-bottom:1px solid var(--border-color);gap:8px;width:max-content;display:flex}.category-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:12px 24px;font-size:1rem;font-weight:600;position:relative}.category-tab-btn.active{color:var(--accent)}.tab-underline{background:var(--accent);width:100%;height:2px;box-shadow:0 0 10px var(--accent);position:absolute;bottom:-1px;left:0}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.project-card{cursor:pointer;flex-direction:column;height:100%;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-4px)}.project-img-container{width:100%;height:180px;position:relative;overflow:hidden}.project-card-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-card-image{transform:scale(1.05)}.project-img-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.project-card:hover .project-img-overlay{opacity:1}.overlay-badge{color:#000;background:#fff;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:700;display:inline-flex}.project-badge{text-transform:uppercase;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:12px}.featured-badge{background:var(--accent);color:#fff;box-shadow:0 0 10px var(--accent);left:12px}.category-badge{color:#fff;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;right:12px}.project-card-body{flex-direction:column;flex-grow:1;padding:20px;display:flex}.project-card-date{color:var(--accent);margin-bottom:6px;font-size:.8rem;font-weight:600}.project-card-title{margin-bottom:10px;font-size:1.25rem}.project-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;height:4.8em;margin-bottom:20px;font-size:.95rem;display:-webkit-box;overflow:hidden}.project-tech-tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tech-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;padding:4px 8px;font-size:.75rem}.tech-chip-more{color:var(--accent);align-self:center;margin-left:4px;font-size:.75rem;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;display:flex;position:fixed;top:0;left:0}.project-modal{width:100%;max-width:850px;max-height:90vh;padding:0;position:relative;overflow-y:auto}.modal-close-btn{border:1px solid var(--border-color);color:#fff;cursor:pointer;z-index:10;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close-btn:hover{transform:scale(1.08)}.modal-banner-img{width:100%;height:280px;position:relative}.modal-banner-img img{object-fit:cover;width:100%;height:100%}.modal-banner-shading{background:linear-gradient(0deg, var(--bg-secondary) 15%, transparent 100%);width:100%;height:100%;position:absolute;top:0;left:0}.modal-title-overlay{position:absolute;bottom:20px;left:24px;right:24px}.modal-badge-cat{background:var(--accent);color:#fff;text-transform:uppercase;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700}.modal-title-overlay h2{margin:10px 0 4px;font-size:2.2rem}.modal-badge-date{color:var(--text-secondary);font-size:.9rem}.modal-body{padding:24px}.modal-details-grid{grid-template-columns:1.3fr .7fr;gap:32px;display:grid}.modal-details-grid h4{color:var(--accent);margin-bottom:12px;font-size:1.1rem}.modal-full-description{white-space:pre-line;margin-bottom:24px}.modal-tags{flex-wrap:wrap;gap:8px;display:flex}.modal-right-panel{border-left:1px solid var(--border-color);padding-left:32px}.modal-links-list{flex-direction:column;gap:12px;display:flex}.modal-link-btn{justify-content:center;width:100%;font-size:.95rem}@media (width<=768px){.modal-details-grid{grid-template-columns:1fr;gap:24px}.modal-right-panel{border-left:none;padding-left:0}.modal-title-overlay h2{font-size:1.6rem}.modal-banner-img{height:200px}}.skills-section{padding:100px 0}.skills-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px;padding:16px 24px;display:flex}.skills-search{flex-grow:1;max-width:400px;position:relative}.skills-search-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px 12px 48px;font-size:.95rem}.skills-search-input:focus{border-color:var(--accent);outline:none}.skills-filters{flex-wrap:wrap;gap:8px;display:flex}.skill-filter-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.skill-filter-btn:hover,.skill-filter-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb), .05)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.skill-card{padding:20px}.skill-card-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.skill-logo-box{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;justify-content:center;align-items:center;width:45px;height:45px;padding:8px;display:flex}.skill-logo-img{object-fit:contain;width:100%;height:100%}.skill-logo-fallback{color:var(--accent);font-size:1.2rem;font-weight:700}.skill-link-btn{color:var(--text-secondary);opacity:.6}.skill-link-btn:hover{opacity:1}.skill-card-middle{margin-bottom:16px}.skill-name{margin-bottom:4px;font-size:1.1rem}.skill-category-label{text-transform:uppercase;color:var(--accent);letter-spacing:.05em;font-size:.75rem;font-weight:600}.skill-progress-header{justify-content:space-between;margin-bottom:6px;font-size:.75rem;font-weight:600;display:flex}.progress-label{color:var(--text-secondary)}.progress-percentage{color:var(--accent)}.skill-progress-bar{background:var(--bg-tertiary);border-radius:9999px;width:100%;height:6px;overflow:hidden}.skill-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-secondary));border-radius:9999px;height:100%}.experience-section{background-color:var(--bg-secondary);padding:100px 0}.timeline-container{max-width:800px;margin:0 auto;padding:20px 0;position:relative}.timeline-spine{background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:20px}.timeline-item{margin-bottom:32px;padding-left:60px;position:relative}.timeline-icon-box{justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:12px;left:0}.timeline-icon-glow{background:var(--accent);filter:blur(6px);opacity:.35;border-radius:50%;width:100%;height:100%;position:absolute}.timeline-icon{background:var(--bg-tertiary);border:2px solid var(--accent);width:32px;height:32px;color:var(--accent);z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.timeline-card{overflow:hidden}.timeline-card-header{cursor:pointer;align-items:center;gap:16px;padding:20px;display:flex}.company-logo{object-fit:cover;border:1px solid var(--border-color);background:#fff;border-radius:8px;width:48px;height:48px}.company-logo-fallback{background:var(--bg-tertiary);border:1px solid var(--border-color);width:48px;height:48px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.timeline-info-col{flex-grow:1}.experience-role{margin-bottom:4px;font-size:1.25rem;font-weight:700}.experience-company{color:var(--text-secondary);margin-bottom:6px;font-size:1rem;font-weight:600}.experience-date-box{color:var(--accent);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.expand-arrow-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none}.timeline-card-body{border-top:1px solid var(--border-color);padding:20px}.experience-description{white-space:pre-line;margin-bottom:20px}.experience-skills{margin-bottom:20px}.experience-skills h5,.experience-attachment h5{color:var(--text-primary);margin-bottom:10px;font-size:.9rem;font-weight:700}.experience-skills-list{flex-wrap:wrap;gap:8px;display:flex}.attachment-btn{gap:8px}.education-section{padding:100px 0}.education-grid{grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:24px;display:grid}.education-card{padding:24px;position:relative;overflow:hidden}.education-badge-accent{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;border-radius:0 16px;padding:8px 12px;position:absolute;top:0;right:0}.education-card-header{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.education-logo-box{border:1px solid var(--border-color);background:#fff;border-radius:10px;flex-shrink:0;width:60px;height:60px;overflow:hidden}.education-logo-img{object-fit:contain;width:100%;height:100%}.education-logo-fallback{width:100%;height:100%;color:var(--accent);background:var(--bg-tertiary);justify-content:center;align-items:center;font-weight:700;display:flex}.education-degree{max-width:320px;margin-bottom:4px;font-size:1.2rem}.education-school{color:var(--text-secondary);margin-bottom:8px;font-size:.95rem}.education-meta-row{align-items:center;gap:12px;display:flex}.education-date{color:var(--accent);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.education-grade-badge{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .2);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:700}.education-card-body{border-top:1px solid var(--border-color);padding-top:16px}@media (width<=576px){.education-grid{grid-template-columns:1fr}.education-card-header{flex-direction:column}.education-badge-accent{border-radius:0 16px}}.achievements-section,.certifications-section{padding:80px 0}.achievements-grid,.certifications-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.achievement-card,.cert-card{align-items:flex-start;gap:16px;padding:24px;display:flex}.achievement-icon-box,.cert-badge-accent{background:rgba(var(--accent-rgb), .08);width:44px;height:44px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.achievement-highlight{color:var(--accent);margin-bottom:4px;font-size:1.5rem;font-weight:800;display:block}.achievement-title,.cert-title{margin-bottom:6px;font-size:1.1rem}.achievement-subtitle,.cert-issuer{color:var(--text-secondary);font-size:.9rem}.cert-meta-row{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.cert-date{color:var(--accent);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.cert-verify-btn{border-radius:6px;gap:4px;padding:6px 12px;font-size:.8rem}.timeline-section{background-color:var(--bg-secondary);padding:100px 0}.journey-timeline{max-width:900px;margin:0 auto;padding:40px 0;position:relative}.journey-timeline-spine{background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.journey-timeline-item{width:50%;padding:20px 40px;position:relative}.journey-timeline-item.left{text-align:right;left:0}.journey-timeline-item.right{text-align:left;left:50%}.journey-timeline-dot{background:var(--bg-tertiary);border:3px solid var(--accent);z-index:5;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:30px}.journey-timeline-dot span{color:var(--accent);font-size:.75rem;font-weight:750}.journey-timeline-item.left .journey-timeline-dot{right:-20px}.journey-timeline-item.right .journey-timeline-dot{left:-20px}.journey-timeline-card{padding:20px}.journey-card-year{color:var(--accent);margin-bottom:8px;font-size:1.1rem;font-weight:800;display:inline-block}@media (width<=768px){.journey-timeline-spine{left:20px;transform:none}.journey-timeline-item{width:100%;padding-left:50px;padding-right:0}.journey-timeline-item.left{text-align:left}.journey-timeline-item.right{left:0}.journey-timeline-item.left .journey-timeline-dot{left:0;right:auto}.journey-timeline-item.right .journey-timeline-dot{left:0}}.contact-section{padding:100px 0}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:32px;display:grid}.contact-info-card{height:100%;padding:32px}.contact-info-card h3{margin-bottom:12px;font-size:1.5rem}.contact-info-desc{margin-bottom:32px}.contact-details-list{flex-direction:column;gap:20px;display:flex}.contact-detail-item{align-items:center;gap:16px;display:flex}.contact-icon-frame{background:rgba(var(--accent-rgb), .06);width:44px;height:44px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.contact-text-box{flex-direction:column;display:flex}.contact-label{color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;font-weight:550}.contact-value{color:var(--text-primary);font-size:1rem;font-weight:600}.contact-form-card{padding:32px}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);transition:border-color var(--transition-speed);font-size:.95rem;font-family:var(--font-sans);border-radius:10px;padding:12px 16px}.form-input:focus{border-color:var(--accent);outline:none}.form-input.error{border-color:#ef4444}.form-textarea{resize:vertical}.error-text{color:#ef4444;font-size:.8rem;font-weight:650}.form-submit-btn{justify-content:center;margin-top:10px}.form-error-alert{color:#ef4444;background:#ef444414;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;display:flex}.form-success-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;display:flex}.success-icon{color:#10b981;margin-bottom:20px}.form-success-state h3{margin-bottom:12px;font-size:1.5rem}.form-success-state p{max-width:320px;margin-bottom:24px}@media (width<=768px){.contact-grid{grid-template-columns:1fr}}.footer-container{border-top:1px solid var(--border-color);background-color:var(--bg-primary);padding:40px 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-socials{gap:12px;display:flex}.social-icon-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,color .2s,border-color .2s;display:flex}.social-icon-btn:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.scroll-top-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,border-color .2s;display:flex}.scroll-top-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.loader-overlay{z-index:2000;background:#030303;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.loader-box{text-align:center;width:320px}.loader-icon-container{color:#5e6ad2;background:#5e6ad214;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:24px;display:inline-flex}.loader-title{letter-spacing:.02em;margin-bottom:16px;font-size:1.5rem}.loader-progress-track{background:#ffffff14;border-radius:9999px;width:200px;height:2px;margin:0 auto 16px;overflow:hidden}.loader-progress-fill{background:#5e6ad2;height:100%;box-shadow:0 0 8px #5e6ad2}.loader-stage-text{color:var(--text-secondary);font-size:.8rem;font-family:var(--font-mono)}.offline-toast{z-index:500;color:#ef4444;background:#ef44440f;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:10px;padding:12px 20px;display:flex;position:fixed;bottom:24px;right:24px}.offline-toast-icon{animation:2s infinite blink}.maintenance-screen-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.maintenance-card{text-align:center;max-width:480px;padding:48px}.maintenance-icon{color:var(--accent);margin-bottom:20px}.admin-login-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-login-card{border:1px solid var(--border-color);background:var(--card-bg);border-radius:24px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 40px #00000026}.login-header{text-align:center;margin-bottom:32px}.login-icon-bg{width:60px;height:60px;color:var(--accent);background:#9a7b561a;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.login-header h2{color:var(--text-primary);margin-bottom:8px;font-size:1.5rem;font-weight:700}.login-header p{color:var(--text-secondary);font-size:.85rem}.login-form .form-group{margin-bottom:20px}.login-form label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.input-with-icon{position:relative}.input-icon{color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-form input{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px 12px 42px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #9a7b5626}.login-error-box{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:.85rem;display:flex}.login-btn{border-radius:12px;width:100%;margin-top:10px;padding:14px;font-weight:600}.back-to-portfolio-link{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:.85rem;font-weight:550;text-decoration:none;transition:color .2s;display:block}.back-to-portfolio-link:hover{color:var(--accent)}.admin-dashboard-layout{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);display:flex}.admin-sidebar{border-right:1px solid var(--border-color);background:var(--card-bg);z-index:100;flex-direction:column;width:280px;min-height:100vh;padding:24px;display:flex;position:fixed;top:0;left:0}.sidebar-brand{align-items:center;gap:10px;margin-bottom:40px;display:flex}.brand-icon{color:var(--accent)}.sidebar-brand h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.sidebar-nav{flex-direction:column;flex-grow:1;gap:8px;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;transition:background .2s,color .2s;display:flex}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-item.active{color:var(--accent);background:#9a7b561a}.sidebar-badge{background:var(--accent);color:#fff;-webkit-text-fill-color:#fff;border-radius:9999px;margin-left:auto;padding:2px 8px;font-size:.75rem;font-weight:700}.sidebar-settings{border-top:1px solid var(--border-color);flex-direction:column;gap:16px;margin-top:auto;padding-top:24px;display:flex}.setting-card{background:var(--bg-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.setting-info{flex-direction:column;gap:2px;display:flex}.setting-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.status-indicator-text{font-size:.85rem;font-weight:700}.toggle-switch-btn{border:1px solid var(--border-color);cursor:pointer;background:#ffffff14;border-radius:9999px;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch-btn.active{background:var(--accent)}.switch-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch-btn.active .switch-knob{transform:translate(20px)}.btn-logout{border:1px solid var(--border-color);color:#ef4444;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.btn-logout:hover{background:#ef444414}.admin-main-viewport{flex-grow:1;width:calc(100% - 280px);margin-left:280px;padding:40px}.viewport-header{border:1px solid var(--border-color);background:var(--card-bg);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px 32px;display:flex}.header-title-box h1{margin-bottom:4px;font-size:1.5rem;font-weight:700}.header-title-box p{color:var(--text-secondary);font-size:.85rem}.btn-refresh-dashboard{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:border-color .2s,color .2s;display:flex}.btn-refresh-dashboard:hover{border-color:var(--accent);color:var(--accent)}.dashboard-loading-box{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.animate-spin{animation:1s linear infinite spin}.dashboard-content-grid{flex-direction:column;gap:32px;display:flex}.metrics-cards-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.metrics-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;align-items:center;gap:20px;padding:24px;display:flex}.metric-icon-bg{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.metric-icon-bg.views{color:#3b82f6;background:#3b82f61a}.metric-icon-bg.ips{color:#a855f7;background:#a855f71a}.metric-icon-bg.map{color:#10b981;background:#10b9811a}.metric-content{flex-direction:column;gap:4px;display:flex}.metric-label{color:var(--text-muted);text-transform:uppercase;font-size:.8rem;font-weight:600}.metric-value{color:var(--text-primary);font-size:1.75rem;font-weight:750}.analytics-split-row{grid-template-columns:3fr 2fr;gap:24px;display:grid}.radar-map-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;padding:24px;display:flex}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-header h3{font-size:1.05rem;font-weight:700}.panel-badge{color:var(--accent);background:#9a7b561a;border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:700}.radar-grid-container{aspect-ratio:2;border:1px solid var(--border-color);background:#0f1015;border-radius:16px;width:100%;position:relative;overflow:hidden}.radar-grid-backdrop{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:5% 10%;width:100%;height:100%;position:relative}.radar-circle{border:1px dashed #9a7b5626;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rc-1{aspect-ratio:1;width:30%}.rc-2{aspect-ratio:1;width:60%}.rc-3{aspect-ratio:1;width:90%}.radar-axis-h{border-top:1px dashed #9a7b5626;width:100%;height:1px;position:absolute;top:50%;left:0}.radar-axis-v{border-left:1px dashed #9a7b5626;width:1px;height:100%;position:absolute;top:0;left:50%}.radar-ping-point{z-index:5;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.ping-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;display:block;position:absolute;top:3px;left:3px}.ping-ring{border:1px solid #9a7b5666;border-radius:50%;width:24px;height:24px;animation:2s ease-out infinite ping-expand;display:block;position:absolute;top:-6px;left:-6px}@keyframes ping-expand{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.5)}}.radar-map-coords-labels{width:100%;color:var(--text-muted);justify-content:space-between;padding:0 16px;font-size:.65rem;display:flex;position:absolute;bottom:8px}.spread-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px}.spread-group{flex-direction:column;gap:16px;display:flex}.spread-group h4{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:8px;font-size:.8rem;font-weight:700}.spread-bar-row{align-items:center;gap:12px;font-size:.85rem;display:flex}.bar-label{width:60px;font-weight:600}.bar-track{background:#ffffff0d;border-radius:99px;flex-grow:1;height:6px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:99px;height:100%}.bar-value{text-align:right;width:80px;color:var(--text-secondary);font-weight:550}.logs-table-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px}.flex-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.flex-header h3{margin-bottom:4px;font-size:1.1rem;font-weight:700}.flex-header p{color:var(--text-secondary);font-size:.85rem}.btn-clear-logs{color:#ef4444;cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.btn-clear-logs:hover{background:#ef444426}.table-responsive-container{border:1px solid var(--border-color);border-radius:12px;width:100%;overflow-x:auto}.visitor-logs-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.visitor-logs-table th{background:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:14px 16px;font-weight:600}.visitor-logs-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:14px 16px}.visitor-logs-table tr:last-child td{border-bottom:none}.visitor-logs-table tr:hover td{background:#ffffff03}.time-cell{white-space:nowrap;color:var(--text-secondary);font-weight:550}.badge-stack,.network-info-stack,.geo-coordinates-stack{flex-direction:column;gap:4px;display:flex}.badge{text-transform:uppercase;border-radius:6px;width:fit-content;padding:2px 6px;font-size:.7rem;font-weight:600;display:inline-block}.badge-device{color:var(--accent);background:#9a7b561a}.badge-res{color:var(--text-secondary);background:#ffffff0d}.badge-network{color:#10b981;background:#10b9811a}.text-speed{color:var(--text-muted);font-size:.75rem}.geo-coords{font-size:.8rem;font-weight:550}.geo-accuracy{color:var(--text-muted);font-size:.7rem}.os-browser-cell{flex-direction:column;gap:2px;display:flex}.referrer-cell{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text-muted);overflow:hidden}.btn-action-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:color .2s,background .2s;display:flex}.btn-action-delete:hover{color:#ef4444;background:#ef444414}.empty-table-cell{text-align:center;color:var(--text-muted);font-style:italic;padding:40px!important}.messages-panel-wrapper{flex-direction:column;gap:24px;display:flex}.messages-header-row h2{margin-bottom:4px;font-size:1.3rem;font-weight:700}.messages-header-row p{color:var(--text-secondary);font-size:.85rem}.messages-cards-list{flex-direction:column;gap:16px;display:flex}.empty-messages-box{text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.empty-icon{color:var(--text-muted);margin-bottom:16px}.empty-messages-box h3{margin-bottom:8px;font-size:1.15rem;font-weight:700}.empty-messages-box p{color:var(--text-secondary);font-size:.85rem}.message-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;gap:16px;padding:24px;transition:border-color .2s,opacity .2s;display:flex}.message-card.unread{border-left:4px solid var(--accent)}.message-card.read{opacity:.75}.msg-card-header{justify-content:space-between;align-items:flex-start;display:flex}.sender-info{flex-direction:column;gap:4px;display:flex}.sender-name{color:var(--text-primary);font-size:1.05rem;font-weight:700}.sender-email{color:var(--text-secondary);font-size:.85rem}.msg-time{color:var(--text-muted);font-size:.75rem;font-weight:550}.msg-body{color:var(--text-primary);white-space:pre-wrap;background:#ffffff03;border:1px solid #ffffff08;border-radius:12px;padding:16px;font-size:.95rem;line-height:1.6}.msg-card-footer{gap:12px;margin-top:4px;display:flex}.btn-msg-toggle,.btn-msg-delete{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.btn-msg-toggle.read-btn{color:var(--accent);background:#9a7b561a;border:1px solid #9a7b5633}.btn-msg-toggle.read-btn:hover{background:#9a7b5633}.btn-msg-toggle.unread-btn{border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff0d}.btn-msg-toggle.unread-btn:hover{color:var(--text-primary);background:#ffffff1a}.btn-msg-delete{color:#ef4444;background:0 0;border:1px solid #ef444433}.btn-msg-delete:hover{background:#ef444414}@media (width<=992px){.admin-dashboard-layout{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;min-height:auto;padding:20px;position:relative}.sidebar-nav{flex-direction:row;gap:8px;margin-bottom:20px}.sidebar-settings{border-top:none;flex-direction:row;justify-content:space-between;align-items:center;padding-top:0}.admin-main-viewport{width:100%;margin-left:0;padding:20px}.analytics-split-row{grid-template-columns:1fr}}.geo-coords-link{color:var(--text-primary);align-items:center;gap:4px;font-size:.8rem;font-weight:550;text-decoration:none;transition:color .2s,opacity .2s;display:inline-flex}.geo-coords-link:hover{color:var(--accent);opacity:.9;text-decoration:underline}.project-count-summary{color:var(--text-secondary);text-align:center;letter-spacing:.01em;margin-bottom:32px;font-size:.9rem;font-weight:550}.hero-scroll-indicator{cursor:pointer;z-index:10;flex-direction:column;align-items:center;gap:8px;transition:opacity .3s;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.hero-scroll-indicator:hover{opacity:.8}.mouse-wheel-icon{border:2px solid var(--text-secondary);border-radius:20px;width:22px;height:36px;position:relative}.wheel-dot{background:var(--accent);border-radius:99px;width:4px;height:8px;animation:1.6s ease-in-out infinite wheel-scroll-bounce;position:absolute;top:6px;left:50%;transform:translate(-50%)}.scroll-indicator-text{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700}@keyframes wheel-scroll-bounce{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)}}.project-card,.skill-card,.timeline-card,.metrics-card,.message-card{transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s cubic-bezier(.25,.46,.45,.94),border-color .3s}.project-card:hover,.skill-card:hover,.metrics-card:hover{border-color:#9a7b5640;transform:translateY(-6px);box-shadow:0 12px 24px #00000026}.social-icon-btn,.skill-link-btn,.btn-primary,.btn-secondary,.btn-refresh-dashboard{transition:transform .2s cubic-bezier(.25,.46,.45,.94),box-shadow .2s,background .2s,color .2s}.social-icon-btn:hover,.skill-link-btn:hover{transform:scale(1.1)}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9a7b5633}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}.guestbook-section{background:var(--bg-primary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:80px 0;position:relative}.guestbook-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:40px;margin-top:40px;display:grid}@media (width<=991px){.guestbook-grid{grid-template-columns:1fr;gap:32px}}.guestbook-form-card{padding:30px}.guestbook-form-card h3{color:var(--text-primary);margin-bottom:6px;font-size:1.5rem;font-weight:700}.form-helper-text{color:var(--text-secondary);margin-bottom:24px;font-size:.85rem}.guestbook-form{flex-direction:column;gap:20px;display:flex}.guestbook-error-box{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;padding:12px;font-size:.85rem;font-weight:550}.guestbook-success-box{color:#10b981;text-align:center;background:#10b9811a;border:1px solid #10b98140;border-radius:8px;padding:12px;font-size:.85rem;font-weight:550}.char-counter{color:var(--text-muted);text-align:right;margin-top:4px;font-size:.75rem;font-weight:500}.emoji-picker-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px;display:grid}.emoji-selector-btn{border:1px solid var(--border-color);cursor:pointer;background:#ffffff08;border-radius:8px;justify-content:center;align-items:center;height:48px;font-size:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.emoji-selector-btn:hover{background:#ffffff14;transform:scale(1.08)}.emoji-selector-btn.active{border-color:var(--accent);background:#9a7b5626;transform:scale(1.12);box-shadow:0 0 12px #9a7b5640}.guestbook-submit-btn{justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px 28px;font-size:.95rem;font-weight:600;display:inline-flex}.guestbook-feed-col{flex-direction:column;gap:20px;display:flex}.guestbook-feed-header{color:var(--text-primary);align-items:center;gap:10px;display:flex}.guestbook-feed-header h4{font-size:1.25rem;font-weight:600}.guestbook-entries-scroll{flex-direction:column;gap:16px;max-height:480px;padding-right:8px;display:flex;overflow-y:auto}.guestbook-entries-scroll::-webkit-scrollbar{width:6px}.guestbook-entries-scroll::-webkit-scrollbar-track{background:0 0}.guestbook-entries-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:99px}.guestbook-entries-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.guestbook-entry-card{align-items:start;gap:16px;padding:20px;display:flex}.entry-avatar-box{border:1px solid var(--border-color);background:#ffffff08;border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.8rem;display:flex}.entry-content-box{flex-grow:1}.entry-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.entry-name{color:var(--text-primary);font-size:.95rem;font-weight:650}.entry-time{color:var(--text-muted);font-size:.75rem}.entry-message{color:var(--text-secondary);word-break:break-word;font-size:.9rem;line-height:1.5}.empty-feed-card{text-align:center;color:var(--text-secondary);padding:40px}.terminal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;box-sizing:border-box;background:#06070cd9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.terminal-window{background:#0d0f17;border:1px solid #9a7b564d;border-radius:12px;flex-direction:column;width:95%;max-width:900px;height:80vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #000c}.terminal-window-header{-webkit-user-select:none;user-select:none;background:#07080c;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.window-dots{gap:8px;display:flex}.window-dots .dot{cursor:pointer;border-radius:99px;width:12px;height:12px}.dot-close{background:#ef4444}.dot-minimize{background:#eab308}.dot-maximize{background:#22c55e}.window-title{color:var(--text-muted);align-items:center;gap:8px;font-family:monospace;font-size:.8rem;display:flex}.title-icon{color:var(--accent)}.window-btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;transition:color .2s;display:flex}.window-btn-close:hover{color:#ef4444}.terminal-screen{background:#06070a;flex-direction:column;flex-grow:1;padding:24px;font-family:Fira Code,Courier New,Courier,monospace;font-size:.9rem;line-height:1.6;display:flex;position:relative;overflow-y:auto}.crt-overlay{pointer-events:none;z-index:2;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px,linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/6px 100%;width:100%;height:100%;position:absolute;top:0;left:0}.terminal-history{z-index:1;flex-direction:column;flex-grow:1;gap:8px;margin-bottom:12px;display:flex;overflow-y:auto}.log-line{word-break:break-word;white-space:pre-wrap}.log-line.type-input{color:#fff}.log-line.type-output{color:#38bdf8}.log-line.type-success{color:#10b981;font-weight:700}.log-line.type-error{color:#ef4444}.terminal-input-row{z-index:1;border-top:1px solid #ffffff0d;align-items:center;gap:8px;padding-top:12px;display:flex}.terminal-prompt{color:#a855f7;flex-shrink:0;font-weight:650}.terminal-input-box{font-family:inherit;font-size:inherit;color:#fff;caret-color:#38bdf8;background:0 0;border:none;outline:none;flex-grow:1}.terminal-enter-hint{color:#fff3;align-items:center;gap:4px;font-size:.7rem;font-weight:600;display:flex}.social-github:hover{color:#24292e!important}[data-theme*=dark] .social-github:hover{color:#f0f6fc!important}.social-linkedin:hover{color:#0a66c2!important}.social-twitter:hover{color:#1da1f2!important}.social-instagram:hover{color:#e1306c!important}.social-telegram:hover{color:#08c!important}.social-facebook:hover{color:#1877f2!important}.failed-creds-box{background:#ef44440a;border:1px solid #ef44441f;border-radius:6px;flex-direction:column;gap:4px;padding:6px 10px;display:flex}.guestbook-admin-list,.failed-attempts-admin-list{margin-top:20px}.message-cell-text{font-family:inherit;font-size:.85rem}
