*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,Poppins,sans-serif;transition:background-color .22s,color .22s}html{scroll-behavior:smooth}html,body{height:100%;overflow:hidden}:root{--primary:#38bdf8;--primary-hover:#0ea5e9;--primary-soft:#38bdf81f;--primary-soft-hover:#38bdf838;--primary-ink:#090d14;--bg-main:#050812;--bg-sidebar:var(--bg-main);--bg-card:#21262d;--bg-card-hover:#2a313c;--bg-elevated:#262c36;--bg-input:#121215;--bg-pill:#ffffff0a;--text-primary:#f8fafc;--text-body:#d1d5db;--text-secondary:#9ca3af;--border:#30363d;--border-hover:#484f58;--skeleton-1:#1f1f24;--skeleton-2:#27272d;--shimmer-highlight:#ffffff14;--shadow-card:0 8px 24px #00000047;--shadow-elevated:0 18px 42px #00000073;--glow:0 0 15px #38bdf840;--radius:18px;--radius-btn:14px;--radius-avatar:999px;--ease:all .25s cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--player-h:0px}a[href],button:not(:disabled),summary,select:not(:disabled),label[for],input[type=checkbox]:not(:disabled),input[type=radio]:not(:disabled),[role=button]:not([aria-disabled=true]),[role=tab]:not([aria-disabled=true]),[role=switch]:not([aria-disabled=true]){cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{cursor:not-allowed}:is(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}html,body,*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands{font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-style:normal;font-family:"Font Awesome 6 Free"!important}.fab,.fa-brands{font-weight:400;font-family:"Font Awesome 6 Brands"!important}.far,.fa-regular{font-weight:400;font-family:"Font Awesome 6 Free"!important}.fas,.fa-solid{font-weight:900;font-family:"Font Awesome 6 Free"!important}body.light-theme{--primary:#0369a1;--primary-hover:#075985;--primary-soft:#e0f2fe;--primary-soft-hover:#bae6fd;--primary-ink:#fff;--accent-mint:#047857;--accent-mint-soft:#d1fae5;--accent-warm:#b45309;--accent-warm-soft:#fef3c7;--accent-lavender:#6d28d9;--accent-lavender-soft:#ede9fe;--bg-main:#edf7fe;--bg-sidebar:#f2f9ff;--bg-card:#faf2df;--bg-card-hover:#f3ead2;--bg-elevated:#f6eed9;--bg-input:#f4ecda;--bg-pill:#e0f2fe;--text-primary:#0f172a;--text-body:#1e293b;--text-secondary:#475569;--border:#c8def2;--border-hover:#7dd3fc;--skeleton-1:#efe5cc;--skeleton-2:#e4d8bb;--shimmer-highlight:#0ea5e91a;--shadow-card:0 6px 20px #0284c714, 0 1px 3px #0f172a0a;--shadow-elevated:0 16px 36px #0284c724, 0 4px 12px #0f172a0d;background:var(--bg-main);color:var(--text-primary)}body.light-theme .app{background:var(--bg-main)}body.light-theme .app>.main-content{background:radial-gradient(circle at 10% 8%,#bae6fd94 0%,#0000 44%),radial-gradient(circle at 52% 24%,#fef3c785 0%,#0000 48%),radial-gradient(circle at 90% 84%,#a7f3d085 0%,#0000 46%),#edf7fe}body.light-theme .app>.sidebar{border-right-color:var(--border);background:linear-gradient(#f2f9ff 0%,#f8fcff 58%,#eefcf5 100%)}body.light-theme .sidebar-profile-name,body.light-theme .copyright-author,body.light-theme .nav-item:hover,body.light-theme .player-info h4{color:var(--text-primary)!important}body.light-theme .nav-item:hover,body.light-theme .nav-item:focus-visible{background:var(--primary-soft);border-color:#bae6fd}body.light-theme .nav-item.active{background:var(--bg-card);border-color:#bae6fd;box-shadow:0 6px 16px #0284c71a;color:var(--text-primary)!important}body.light-theme .lang-toggle-pill,body.light-theme .theme-toggle-pill{background:var(--bg-card);border-color:var(--border);box-shadow:0 2px 8px #0284c70f}body.light-theme .about-content-box,body.light-theme .player,body.light-theme .about-card-link:nth-child(3n+1) .about-card,body.light-theme .education-card:nth-child(odd),body.light-theme .project-grid-card:nth-child(3n+1){background:radial-gradient(circle at 95% 8%, #bae6fd5c 0%, transparent 46%), var(--bg-card)}body.light-theme .about-card-link:nth-child(3n+2) .about-card,body.light-theme .education-card:nth-child(2n),body.light-theme .project-grid-card:nth-child(3n+2){background:radial-gradient(circle at 95% 8%, #a7f3d05c 0%, transparent 46%), var(--bg-card)}body.light-theme .about-card-link:nth-child(3n+2) .about-card-icon{background:var(--accent-mint-soft);color:var(--accent-mint)}body.light-theme .about-card-link:nth-child(3n+3) .about-card,body.light-theme .project-grid-card:nth-child(3n+3){background:radial-gradient(circle at 95% 8%, #ddd6fe5c 0%, transparent 46%), var(--bg-card)}body.light-theme .about-card-link:nth-child(3n+3) .about-card-icon{background:var(--accent-lavender-soft);color:var(--accent-lavender)}body.light-theme .hero-cta-secondary{background:var(--bg-card);color:var(--primary);border-color:#bae6fd}body.light-theme .hero-cta-secondary:hover{background:var(--primary-soft);border-color:var(--primary)}body.light-theme .sidebar-avatar{background:var(--bg-card);border-color:#e6dec8;padding:2px}@keyframes pageSectionEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cardStaggerReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes eqBarBounce{0%,to{transform:scaleY(.32)}50%{transform:scaleY(1)}}.page-transition-enter{animation:pageSectionEnter .32s var(--ease-spring) both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-transition-enter,.project-grid-card,.contact-card,.education-card,.cv-download-box,.eq-bar{animation:none!important}}.app{background:var(--bg-main);grid-template-rows:100%;grid-template-columns:280px 1fr;gap:0;height:100dvh;max-height:100dvh;padding:0;display:grid;overflow:hidden}.app>.sidebar{background:var(--bg-sidebar);border:none;border-right:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;border-radius:0;flex-direction:column;grid-area:1/1;gap:10px;padding:24px 16px;transition:background-color .22s,border-color .22s;display:flex;position:relative;overflow-y:auto}.app>.sidebar::-webkit-scrollbar{width:0;height:0;display:none}.sidebar-backdrop,.logo{display:none}.nav-menu{flex-direction:column;gap:6px;margin-bottom:1px;list-style:none;display:flex}.nav-item{color:var(--text-secondary);border-radius:var(--radius-btn);background:0 0;border:1px solid #0000;align-items:center;padding:11px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .24s cubic-bezier(.4,0,.2,1),color .22s,border-color .24s,box-shadow .24s,transform .24s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.nav-item-icon{justify-content:center;align-items:center;width:20px;height:20px;margin-right:12px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .22s;display:flex}.nav-item-label{flex:1}.nav-item:hover,.nav-item:focus-visible{color:var(--text-primary);background:var(--bg-card-hover);transform:scale(1.025)}.nav-item:active{transform:scale(.985)}.nav-item:hover .nav-item-icon,.nav-item:focus-visible .nav-item-icon{color:var(--text-primary);transform:scale(1.2)rotate(8deg)}.nav-item.active{color:var(--text-primary);background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow-card);font-weight:600;animation:.26s cubic-bezier(.34,1.56,.64,1) navActivePop}.nav-item.active .nav-item-icon{color:var(--primary);transform:scale(1.1)}@keyframes navActivePop{0%{transform:scale(.97)}60%{transform:scale(1.025)}to{transform:scale(1)}}.verified-badge{color:#1d9bf0;vertical-align:middle;margin-left:6px;font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:.85;transform:translate(0)}}.playlist-section,.sidebar-footer{display:none}.app>.main-content{background:var(--bg-main);scrollbar-width:none;-ms-overflow-style:none;border:none;border-radius:0;grid-area:1/2;transition:background-color .22s;position:relative;overflow:hidden auto}.app>.main-content::-webkit-scrollbar{width:0;height:0;display:none}.menu-toggle{z-index:1001;background:var(--bg-card);width:44px;height:44px;color:var(--primary);border:1.5px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;transition:var(--ease);border-radius:10px;justify-content:center;align-items:center;font-size:16px;display:none;position:fixed;top:14px;left:14px;right:auto}.content-wrapper{padding:28px 36px 60px}.content-wrapper:has(#news){box-sizing:border-box;flex-direction:column;height:100dvh;padding:24px 32px 16px;display:flex}.content-wrapper:has(#news) #mainView{flex-direction:column;flex:1;min-height:0;display:flex}.section{margin-bottom:48px;scroll-margin-top:80px}.sidebar-profile{text-align:center;flex-direction:column;align-items:center;margin-bottom:4px;display:flex}.sidebar-avatar{border-radius:var(--radius-avatar);cursor:pointer;border:2px solid var(--border);width:90px;height:90px;box-shadow:var(--shadow-card);transition:transform .26s var(--ease-spring), border-color .22s ease, box-shadow .22s ease;background:0 0;margin-bottom:12px;padding:0;overflow:hidden}.sidebar-avatar:hover{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);transform:scale(1.05)}.sidebar-avatar:active{transform:scale(.98)}.sidebar-avatar img{object-fit:cover;width:100%;height:100%;display:block}.sidebar-profile-name{color:var(--text-primary);margin-bottom:2px;font-size:16px;font-weight:600}.sidebar-profile-username{color:var(--text-secondary);font-size:13px}.sidebar-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:1px;display:flex}.lang-toggle-pill,.theme-toggle-pill{background:var(--bg-card);border:1px solid var(--border);transition:var(--ease);border-radius:500px;align-items:center;gap:2px;padding:3px;display:flex}.lang-btn,.theme-btn{color:var(--text-secondary);cursor:pointer;transition:var(--ease);background:0 0;border:none;border-radius:500px;justify-content:center;align-items:center;gap:4px;min-height:28px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.theme-btn{padding:5px 9px}.lang-btn.active,.theme-btn.active{background:var(--primary-soft);color:var(--primary)}.lang-btn:hover:not(.active),.theme-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-pill)}.smart-assistant-btn{border:1.5px solid var(--primary);width:100%;color:var(--primary);border-radius:var(--radius-btn);cursor:pointer;transition:var(--ease);background:#22c55e14;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;display:flex}.smart-assistant-btn:hover{background:var(--primary);color:var(--primary-ink);transform:scale(1.02)}.sidebar-divider{border-top:1px solid var(--border);opacity:.75;width:100%;margin:2px 0}.sidebar-copyright{text-align:center;color:var(--text-secondary);letter-spacing:.02em;margin-top:auto;padding-top:16px;font-family:Inter,sans-serif;font-size:11px;line-height:1.6}.copyright-author{color:var(--text-secondary);font-weight:500}.spotify-toast{background:var(--primary);color:var(--primary-ink);border-radius:var(--radius-btn);z-index:1002;padding:12px 24px;font-size:14px;font-weight:600;animation:.25s cubic-bezier(.4,0,.2,1) slideIn;position:fixed;bottom:24px;right:24px}@keyframes slideIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-header h2{color:var(--text-primary);font-size:24px;font-weight:600}.about-header{margin-bottom:8px}.about-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:clamp(24px,3vw,28px);font-weight:600}.about-subtitle{color:var(--text-secondary);margin-bottom:6px;font-size:14px}.about-signature{font-family:inherit;color:var(--text-secondary)!important;font-size:14px!important;font-weight:600!important}.about-divider{border-top:1px solid var(--border);opacity:.85;margin:22px 0}.about-content-box{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;margin-top:16px;padding:30px}.see-all{color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:700;text-decoration:none}.see-all:hover{color:var(--text-primary);text-decoration:underline}.hero{border-radius:var(--radius) var(--radius) 0 0;margin:-16px -32px 48px;padding:80px 40px 60px;position:relative;overflow:hidden}.hero-bg{display:none}.hero-sub a{color:inherit;transition:var(--ease);font-weight:600;text-decoration:none}.hero-sub a:hover{text-decoration:underline}.hero:after{display:none}.hero-content{z-index:2;position:relative}.hero-tag{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:inline-flex}.hero-tag i{color:var(--primary);font-size:18px}.hero h4{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:500}.hero h1{letter-spacing:-2px;color:var(--text-primary);margin-bottom:24px;font-size:clamp(48px,8vw,96px);font-weight:800;line-height:1}.hero-description{color:var(--text-primary);margin-bottom:8px;font-size:16px}.highlight{color:inherit;font-weight:inherit}.hero-sub{color:var(--text-secondary);max-width:600px;margin-bottom:32px;font-size:14px}.hero-buttons{align-items:center;gap:16px;display:flex}.btn-primary{background:var(--primary-soft);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);cursor:pointer;transition:var(--ease);border-radius:10px;align-items:center;gap:8px;padding:13px 28px;font-size:14px;font-weight:700;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--primary-soft-hover);border-color:var(--primary);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border:2px solid var(--text-secondary);width:48px;height:48px;color:var(--text-secondary);cursor:pointer;transition:var(--ease);background:0 0;border-radius:50%;font-size:16px}.btn-secondary:hover{border-color:var(--text-primary);color:var(--text-primary);transform:scale(1.05)}.about-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:40px;display:grid}.about-card-link{color:inherit;flex-direction:column;height:100%;text-decoration:none;display:flex}.about-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--ease);cursor:pointer;flex-direction:column;flex:1;padding:24px;display:flex;position:relative}.about-card-link:hover .about-card{background:var(--bg-card-hover);transform:translateY(-6px)}.about-card-icon{background:var(--primary-soft);width:50px;height:50px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:22px;display:flex}.about-card h3{color:var(--text-primary);margin-bottom:10px;font-size:18px}.about-card p{color:var(--text-secondary);font-size:14px;line-height:1.6}.cv-download-container{justify-content:flex-start;width:100%;display:flex}.cv-download-box{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);width:100%;max-width:360px;animation:cardStaggerReveal .38s var(--ease-spring) 80ms both;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.cv-download-box:hover{border-color:var(--primary);background:var(--bg-card-hover);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.cv-download-box:active{transform:scale(.99)}.cv-download-left{align-items:center;gap:12px;display:flex}.cv-icon-wrapper{color:#ef4444;background:#ef44441f;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;transition:all .2s;display:flex}.cv-download-box:hover .cv-icon-wrapper{color:#fff;background:#ef4444;transform:scale(1.06)}.cv-details h4{color:var(--text-primary);margin:0 0 2px;font-size:13.5px;font-weight:600}.cv-details p{color:var(--text-secondary);margin:0;font-size:11.5px}.cv-download-btn-circle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.cv-download-box:hover .cv-download-btn-circle{border-color:var(--primary);background:var(--primary);color:var(--primary-ink);transform:translateY(1px)}.read-more{color:var(--primary);align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:600;transition:gap .2s;display:inline-flex}.about-card-link:hover .read-more{gap:12px}.read-more i{transition:transform .2s}.about-card-link:hover .read-more i{transform:translate(4px)}.skills-title{color:var(--text-primary);margin-bottom:16px;font-size:20px}.skills-items{flex-wrap:wrap;gap:12px;display:flex}.skill-badge{background:var(--bg-card);transition:var(--ease);cursor:pointer;color:var(--text-primary);border-radius:500px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;display:flex}.skill-badge:hover{background:var(--primary);color:var(--primary-ink);transform:translateY(-2px)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.project-card:hover{border-color:var(--primary)}.card-image{aspect-ratio:1;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.card-icon{color:#ffffffe6;font-size:50px}.play-btn{background:var(--primary);width:48px;height:48px;color:var(--primary-ink);cursor:pointer;opacity:0;border:none;border-radius:50%;font-size:16px;transition:all .3s;position:absolute;bottom:8px;right:8px;transform:translateY(8px)}.project-card:hover .play-btn{opacity:1;transform:translateY(0)}.play-btn:hover{background:var(--primary-hover);transform:scale(1.1)}.project-card h4{color:var(--text-primary);margin-bottom:6px;font-size:16px}.project-card p{color:var(--text-secondary);font-size:13px}.contact-wrapper{grid-template-columns:2fr 1fr;align-items:start;gap:32px;display:grid}.contact-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-group input,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);transition:var(--ease);resize:vertical;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:14px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.75}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.contact-form button{align-self:flex-start;margin-top:8px}.contact-sent-status{color:#22c55e;animation:fadeInUp .24s var(--ease-spring) both;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.social-links{background:var(--bg-card);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;height:fit-content;padding:20px;display:flex}.social-links h3{color:var(--text-primary);white-space:nowrap;margin:0;font-size:16px}.socials{gap:10px;display:flex}.socials a{background:var(--bg-elevated);width:40px;height:40px;color:var(--text-primary);transition:var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:inline-flex}.socials a:hover{background:var(--primary);color:var(--primary-ink);transform:translateY(-3px)}.hero-page{padding:44px 28px 36px;font-family:Inter,sans-serif}.hero-page-container{justify-content:space-between;align-items:center;gap:48px;max-width:1000px;display:flex}.hero-page-left{flex:1.35}.hero-page-right{flex:.65;justify-content:flex-end;align-items:center;display:flex}.hero-page-title{color:var(--text-primary);letter-spacing:-.025em;animation:fadeInUp .34s var(--ease-spring) both;margin-bottom:12px;font-size:clamp(30px,4.4vw,44px);font-weight:700;line-height:1.15}.hero-page-meta{color:var(--text-secondary);animation:fadeInUp .36s var(--ease-spring) 60ms both;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;font-size:14px;display:flex}.country-code{background:var(--bg-card)!important;color:var(--text-primary)!important;vertical-align:middle!important;border:1px solid var(--border)!important;border-radius:5px!important;align-items:center!important;margin-left:6px!important;padding:2px 7px!important;font-size:11px!important;font-weight:600!important;display:inline-flex!important}.meta-divider{color:var(--border)}.hero-page-content{max-width:64ch;animation:fadeInUp .38s var(--ease-spring) .11s both;flex-direction:column;gap:16px;display:flex}.hero-page-content p{color:var(--text-body);font-size:15px;font-weight:400;line-height:1.7}.hero-cta-row{animation:fadeInUp .4s var(--ease-spring) .16s both;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.hero-cta-primary{background:var(--primary);min-height:44px;color:var(--primary-ink);transition:var(--ease);box-shadow:var(--shadow-card);border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:700;display:inline-flex}.hero-cta-primary:hover{background:var(--primary-hover);transform:translateY(-2px)}.hero-cta-primary:active{transform:scale(.97)}.hero-cta-secondary{background:var(--bg-card);min-height:44px;color:var(--text-primary);border:1px solid var(--border);transition:var(--ease);border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:600;display:inline-flex}.hero-cta-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-card-hover);transform:translateY(-2px)}.hero-cta-secondary:active{transform:scale(.97)}.hero-photo-box{aspect-ratio:3/4;border-radius:var(--radius);width:260px;box-shadow:none;transition:transform .3s var(--ease-spring);animation:fadeInUp .42s var(--ease-spring) .1s both;background:0 0;border:none;overflow:hidden}.hero-photo-box:hover{transform:translateY(-4px)scale(1.02)}.hero-photo-box img{object-fit:cover;object-position:center top;transform-origin:bottom;width:100%;height:100%;transition:transform .42s var(--ease-spring);display:block}.hero-photo-box:hover img{transform:scale(1.04)}@media (width<=900px){.hero-page-container{flex-direction:column-reverse;align-items:flex-start;gap:28px}.hero-page{padding:20px 12px 32px}.hero-photo-box{width:200px}.hero-page-right{justify-content:flex-start}}.contact-page{padding:36px 28px;font-family:Inter,sans-serif}.contact-page-header h1{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:clamp(26px,3.5vw,32px);font-weight:700}.contact-page-header p{color:var(--text-secondary);font-size:15px}.contact-page-divider{border-top:1px dashed var(--border);margin:24px 0 28px}.contact-section-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:20px;font-size:18px;font-weight:600}.contact-grid-container{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.contact-card{transition:transform .26s var(--ease-spring), border-color .22s ease, box-shadow .24s ease;cursor:pointer;box-shadow:var(--shadow-card);animation:cardStaggerReveal .38s var(--ease-spring) both;border:1px solid #ffffff14;border-radius:14px;justify-content:space-between;align-items:center;padding:32px 34px;text-decoration:none;display:flex;position:relative;overflow:hidden}.contact-card:first-child{animation-delay:40ms}.contact-card:nth-child(2){animation-delay:90ms}.contact-card:nth-child(3){animation-delay:.14s}.contact-card:nth-child(4){animation-delay:.19s}.contact-card:hover{box-shadow:var(--shadow-elevated);border-color:#ffffff38;transform:translateY(-6px)}.contact-card:active{transform:translateY(-2px)scale(.99)}.contact-card-content{z-index:2;flex-direction:column;display:flex}.contact-card-content h3{color:#fff;margin-bottom:8px;font-size:22px;font-weight:700}.contact-card-content p{color:#ffffffe0;max-width:320px;margin-bottom:22px;font-size:14px;line-height:1.5}.contact-card-btn{transition:var(--ease);opacity:.9;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.contact-card-btn .arrow{transition:transform .2s}.contact-card:hover .contact-card-btn{opacity:1}.contact-card:hover .contact-card-btn .arrow{transform:translate(2px,-2px)}.contact-watermark{opacity:.09;color:#fff;pointer-events:none;z-index:1;transition:all .4s;position:absolute}.contact-card:hover .contact-watermark{opacity:.18}.card-gmail .contact-watermark{top:-50px;right:8%;transform:rotate(15deg)}.card-gmail:hover .contact-watermark{transform:scale(1.08)rotate(5deg)}.card-instagram .contact-watermark{bottom:-40px;left:-30px;transform:rotate(-25deg)}.card-instagram:hover .contact-watermark{transform:scale(1.08)rotate(-15deg)}.card-linkedin .contact-watermark{bottom:-50px;right:-20px;transform:rotate(12deg)}.card-linkedin:hover .contact-watermark{transform:scale(1.08)rotate(22deg)}.card-github .contact-watermark{bottom:-70px;right:25%;transform:rotate(-10deg)}.card-github:hover .contact-watermark{transform:scale(1.08)rotate(-5deg)}.contact-card-icon{color:#ffffffd9;transition:var(--ease);z-index:2;justify-content:center;align-items:center;display:flex}.contact-card:hover .contact-card-icon{color:#fff;transform:scale(1.08)rotate(3deg)}.card-gmail{background:linear-gradient(135deg,#c21919,#8c1010)}.btn-gmail{color:#991b1b;background:#fee2e2}.btn-gmail:hover{background:#fecaca}.card-instagram{background:linear-gradient(135deg,#cc2366,#e6683c)}.btn-instagram{color:#9f1239;background:#ffe4e6}.btn-instagram:hover{background:#fecdd3}.card-linkedin{background:linear-gradient(135deg,#0077b5,#004b73)}.btn-linkedin{color:#0369a1;background:#e0f2fe}.btn-linkedin:hover{background:#bae6fd}.card-github{background:linear-gradient(135deg,#1b222d,#0d1117)}.btn-github{color:#3730a3;background:#e0e7ff}.btn-github:hover{background:#c7d2fe}.contact-form-section{margin-top:44px}.contact-form-section .contact-form{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);max-width:1000px;padding:32px}@media (width<=960px){.contact-grid-container{grid-template-columns:1fr}}@media (width<=768px){.contact-page{padding:20px 12px 32px}.contact-card{padding:24px}.contact-card-icon{display:none}.contact-form-section .contact-form{padding:20px}}.skills-divider{border-top:1px solid var(--border);opacity:.85;margin:28px 0 22px}.skills-title{color:var(--text-primary);letter-spacing:-.015em;align-items:center;gap:8px;margin-bottom:6px;font-size:22px;font-weight:700;display:flex}.code-bracket{color:var(--primary);font-family:monospace;font-weight:700}.skills-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:15px}.skills-filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filter-pill{background:var(--bg-card);color:var(--text-body);border:1px solid var(--border);cursor:pointer;border-radius:500px;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .22s,border-color .22s,color .22s,box-shadow .22s,transform .24s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.filter-pill:hover,.filter-pill:focus-visible{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-primary);box-shadow:var(--shadow-card);transform:scale(1.04)translateY(-1px)}.filter-pill:active{transform:scale(.97)}.filter-pill.active{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 38%, transparent);animation:.26s cubic-bezier(.34,1.56,.64,1) navActivePop}.pill-count{background:var(--bg-pill);color:var(--text-secondary);border-radius:500px;padding:1px 7px;font-size:11px;font-weight:600;transition:transform .24s cubic-bezier(.34,1.56,.64,1),background-color .22s,color .22s}.filter-pill:hover .pill-count,.filter-pill:focus-visible .pill-count{transform:scale(1.1)}.filter-pill.active .pill-count{background:var(--primary-soft-hover);color:var(--primary);opacity:1}.skills-grid{perspective:1000px;flex-wrap:wrap;gap:9px;display:flex}.skill-badge{background:var(--bg-card);background:color-mix(in srgb, var(--skill-color) 10%, var(--bg-card));color:var(--text-primary);border:1px solid var(--border);border-color:color-mix(in srgb, var(--skill-color) 28%, var(--border));cursor:default;opacity:1;transform-style:preserve-3d;border-radius:500px;align-items:center;gap:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .24s,border-color .24s,box-shadow .24s,transform .25s cubic-bezier(.34,1.56,.64,1);animation:.45s cubic-bezier(.34,1.56,.64,1) backwards badgeZoomToFront;display:inline-flex}.skill-badge:hover{background:color-mix(in srgb, var(--skill-color) 18%, var(--bg-card));border-color:var(--skill-color);box-shadow:var(--shadow-card);transform:translateY(-3px)scale(1.04)}.skill-badge:hover .skill-icon{transform:scale(1.22)rotate(8deg)}.skill-badge:first-child{animation-delay:0s}.skill-badge:nth-child(2){animation-delay:20ms}.skill-badge:nth-child(3){animation-delay:40ms}.skill-badge:nth-child(4){animation-delay:60ms}.skill-badge:nth-child(5){animation-delay:80ms}.skill-badge:nth-child(6){animation-delay:.1s}.skill-badge:nth-child(7){animation-delay:.12s}.skill-badge:nth-child(8){animation-delay:.14s}.skill-badge:nth-child(9){animation-delay:.16s}.skill-badge:nth-child(10){animation-delay:.18s}.skill-badge:nth-child(11){animation-delay:.2s}@keyframes badgeZoomToFront{0%{opacity:0;transform:translateY(15px)translateZ(-150px)scale(.6)rotateX(10deg)}to{opacity:1;transform:translateY(0)translateZ(0)scale(1)rotateX(0)}}.skill-icon{justify-content:center;align-items:center;font-size:18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.skill-name{color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.skills-3d-stage{background:var(--bg-main);width:100%;height:560px;box-shadow:none;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:20px;margin-bottom:20px;position:relative;overflow:hidden}body.light-theme .skills-3d-stage{border-color:var(--border);background:var(--bg-card);box-shadow:0 14px 36px #0f172a14}.skills-3d-canvas-host{cursor:grab;touch-action:pan-y;width:100%;height:100%}.skills-3d-canvas-host.dragging{cursor:grabbing}.skills-3d-hud-top{pointer-events:none;z-index:2;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;left:14px;right:14px}.skills-3d-hud-group{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.skills-3d-hud-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,background-color .2s,color .2s;display:inline-flex;box-shadow:0 4px 14px #0000001f}.skills-3d-hud-btn:hover{border-color:var(--primary);transform:translateY(-2px)scale(1.03)}.skills-3d-hud-btn:active{transform:translateY(0)scale(.98)}.skills-3d-hud-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.skills-3d-music-btn.playing{border-color:#38bdf88c}.skills-3d-music-title{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.skills-3d-music-mode{color:#818cf8;background:#818cf829;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}body.light-theme .skills-3d-music-mode{color:#4338ca;background:#4f46e51f}.skills-3d-music-eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.skills-3d-music-eq span{background:var(--primary);transform-origin:bottom;border-radius:2px;width:2.5px;height:100%;animation:.9s ease-in-out infinite alternate skillsEqPulse}.skills-3d-music-eq span:nth-child(2){animation-delay:.2s}.skills-3d-music-eq span:nth-child(3){animation-delay:.4s}@keyframes skillsEqPulse{0%{transform:scaleY(.32)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.skills-3d-music-eq span{animation:none;transform:scaleY(.7)}.skills-3d-track-bar-fill{transition:none}}.skills-3d-roster-wrap{position:relative}.skills-3d-roster-chevron{opacity:.8;font-size:10px;transition:transform .18s}.skills-3d-roster-chevron.open{transform:rotate(180deg)}.skills-3d-roster-panel:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.skills-3d-roster-panel{background:var(--bg-card);border:1px solid var(--border);z-index:5;border-radius:14px;width:268px;max-width:calc(100vw - 48px);animation:.18s cubic-bezier(.22,1,.36,1) badgeZoomToFront;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 28px #00000038}.skills-3d-roster-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.skills-3d-roster-title{color:var(--text-primary);font-size:12px;font-weight:700}.skills-3d-roster-close{width:26px;height:26px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:12px;transition:background-color .15s,color .15s;display:inline-flex}.skills-3d-roster-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.skills-3d-roster-empty{text-align:center;color:var(--text-secondary);padding:18px 14px;font-size:12px}.skills-3d-roster-list{flex-direction:column;gap:2px;max-height:280px;padding:6px;list-style:none;display:flex;overflow-y:auto}.skills-3d-roster-item{width:100%;color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:flex}.skills-3d-roster-item:hover{background:var(--bg-card-hover)}.skills-3d-roster-item:active{transform:scale(.99)}.skills-3d-roster-item.selected{background:var(--primary-soft);border-color:var(--primary)}.skills-3d-roster-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;font-size:15px;display:inline-flex}.skills-3d-roster-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.skills-3d-roster-lead{color:#f59e0b;flex-shrink:0;font-size:11px}.skills-3d-roster-cat{color:var(--text-secondary);flex-shrink:0;font-size:11px;font-weight:500}@media (prefers-reduced-motion:reduce){.skills-3d-roster-panel,.skills-3d-roster-chevron,.skills-3d-roster-item,.skills-3d-roster-close{transition:none;animation:none}}.skills-3d-active-card{background:var(--bg-card);border:1px solid var(--border);z-index:2;border-radius:14px;flex-direction:column;gap:8px;width:min(300px,100% - 28px);max-width:calc(100% - 28px);padding:10px 14px;animation:.24s cubic-bezier(.34,1.56,.64,1) badgeZoomToFront;display:flex;position:absolute;bottom:38px;left:14px;box-shadow:0 8px 24px #00000024}.skills-3d-active-top{align-items:center;gap:11px;display:flex}.skills-3d-track-box{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:7px;display:flex}.skills-3d-track-row{align-items:center;gap:9px;display:flex}.skills-3d-track-cover{object-fit:cover;border:1px solid var(--border);border-radius:7px;flex-shrink:0;width:34px;height:34px}.skills-3d-track-info{flex-direction:column;flex:1;min-width:0;display:flex}.skills-3d-track-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.skills-3d-track-artist{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.skills-3d-track-play{border:1px solid var(--border);background:var(--bg-secondary);width:28px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;transition:border-color .18s,transform .18s,color .18s;display:inline-flex}.skills-3d-track-play:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.06)}.skills-3d-track-progress-row{align-items:center;gap:8px;display:flex}.skills-3d-track-bar{background:var(--border);border-radius:999px;flex:1;height:4px;overflow:hidden}.skills-3d-track-bar-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .22s linear}.skills-3d-track-time{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;font-size:10px}.skills-3d-active-icon{justify-content:center;align-items:center;font-size:20px;display:flex}.skills-3d-active-meta{flex-direction:column;gap:2px;display:flex}.skills-3d-active-name{color:var(--text-primary);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.skills-3d-active-cats{color:var(--text-secondary);font-size:11px}.skills-3d-hint{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);pointer-events:none;z-index:2;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:500;position:absolute;bottom:38px;right:14px}.skills-3d-warning-note{text-align:center;color:#f8fafc;text-shadow:0 1px 2px #020617f5,0 0 8px #020617cc;pointer-events:none;z-index:2;margin:0;font-size:12px;font-weight:500;line-height:1.4;position:absolute;bottom:10px;left:16px;right:16px}.skills-3d-loading{border:1px solid var(--border);background:var(--bg-card);height:560px;color:var(--text-secondary);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;font-size:14px;display:flex}@media (width<=768px){.skills-filters{gap:8px}.filter-pill{padding:7px 13px;font-size:12px}.skill-badge{padding:8px 14px;font-size:13px}.skills-3d-stage,.skills-3d-loading{border-radius:16px;height:420px}.skills-3d-hint{display:none}.skills-3d-active-card{bottom:50px}.skills-3d-warning-note{font-size:11px;line-height:1.35;bottom:10px;left:12px;right:12px}.skills-3d-hud-top{gap:6px;top:10px;left:10px;right:10px}.skills-3d-hud-group{gap:6px}.skills-3d-hud-group:first-child{flex:1;min-width:0}.skills-3d-hud-btn{padding:5px 9px;font-size:11px}.skills-3d-roster-trigger,.skills-3d-music-btn{gap:5px;min-height:38px;padding:0 10px}.skills-3d-music-btn{min-width:0;max-width:100%}.skills-3d-music-title{min-width:0;max-width:104px;font-size:11px}.skills-3d-roster-wrap{flex-shrink:0}.skills-3d-track-play,.skills-3d-roster-close{min-width:44px;min-height:44px}.skills-3d-roster-panel{width:250px;max-width:calc(100vw - 44px);left:auto;right:0}.skills-3d-roster-list{max-height:220px}.skills-3d-roster-item{min-height:44px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.education-section{margin-top:24px;font-family:Inter,sans-serif}.education-section-title{color:var(--text-primary);letter-spacing:-.015em;align-items:center;gap:10px;margin-bottom:6px;font-size:22px;font-weight:600;display:flex}.education-section-title i{color:var(--primary)}.education-section-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.education-list{flex-direction:column;gap:16px;display:flex}.education-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:border-color .22s ease, transform .24s var(--ease-spring), box-shadow .24s ease;animation:cardStaggerReveal .38s var(--ease-spring) both;border-radius:14px;align-items:center;gap:20px;padding:22px 26px;display:flex}.education-card:first-child{animation-delay:80ms}.education-card:nth-child(2){animation-delay:.15s}.education-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.education-logo{width:60px;height:60px;transition:transform .24s var(--ease-spring);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.education-card:hover .education-logo{transform:scale(1.05)}.logo-itera{color:#fff;background:linear-gradient(135deg,#1e3a8a,#3b82f6)}.logo-sman3{color:#fff;background:linear-gradient(135deg,#065f46,#10b981)}.education-info h3{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:6px;font-size:17.5px;font-weight:600}.education-details{color:var(--text-body);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:14px;display:flex}.education-details span{color:var(--border);font-size:12px}.education-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.education-meta span{color:var(--border);font-size:12px}@media (width<=768px){.education-card{gap:14px;padding:16px 18px}.education-logo{width:52px;height:52px;font-size:20px}.education-info h3{font-size:16px}.education-details,.education-meta{font-size:13px}}.dashboard-grid-layout{flex-direction:column;gap:28px;max-width:860px;margin:0 auto;display:flex}.wakatime-section{width:100%;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:16px;padding:0;display:flex}.wakatime-section.loading{min-height:100px;color:var(--text-secondary);flex-direction:row;justify-content:center;align-items:center;gap:10px;font-size:13.5px}.wakatime-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:2px;display:flex}.wakatime-header-left{flex-direction:column;gap:4px;display:flex}.wakatime-title{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;margin:0;font-size:18.5px;font-weight:700;display:flex}.wakatime-logo-badge{color:var(--primary);justify-content:center;align-items:center;font-size:18px;display:inline-flex}.wakatime-subtitle{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.wakatime-header-right{align-items:center;gap:10px;display:flex}.wakatime-last-update{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;border-radius:8px;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.wakatime-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.wakatime-stat-box{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;justify-content:center;gap:6px;padding:16px 20px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.wakatime-stat-box:hover{border-color:#6366f159;transform:translateY(-1px)}.wakatime-stat-box.full-width{grid-column:1/-1}.wakatime-stat-label{color:var(--text-secondary);letter-spacing:-.01em;font-size:12.5px;font-weight:500}.wakatime-stat-value{color:var(--text-primary);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.wakatime-stat-value.accent{color:var(--primary)}.wakatime-stat-value.placeholder{color:var(--text-secondary);font-size:14px;font-weight:500}.wakatime-stat-value-status{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.wakatime-status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.wakatime-status-dot.active{background:#22c55e;animation:2s cubic-bezier(.4,0,.6,1) infinite wakaPulseRing;box-shadow:0 0 #22c55e99}.wakatime-status-dot.idle{background:#94a3b8}@keyframes wakaPulseRing{0%{box-shadow:0 0 #22c55e99}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.wakatime-project-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.wakatime-project-primary-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:500}.wakatime-sub-projects{color:var(--text-secondary);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:11.5px;line-height:1.4}.wakatime-sub-projects-label{opacity:.8}.wakatime-ai-badge{color:#818cf8;background:#6366f11f;border:1px solid #6366f147;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}body.light-theme .wakatime-ai-badge{color:#4f46e5;background:#4f46e514;border-color:#4f46e538}.wakatime-languages-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.wakatime-lang-row{flex-direction:column;gap:4px;display:flex}.wakatime-lang-info{justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;display:flex}.wakatime-lang-name{color:var(--text-primary)}.wakatime-lang-time{color:var(--text-secondary);font-size:11.5px}.wakatime-lang-bar-bg{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;width:100%;height:6px;overflow:hidden}.wakatime-lang-bar-fill{background:linear-gradient(90deg, var(--primary), #818cf8);border-radius:999px;height:100%;transition:width .4s}@media (width<=680px){.wakatime-grid{grid-template-columns:1fr;gap:10px}.wakatime-title{font-size:17px}.wakatime-stat-box{padding:14px 16px}.wakatime-stat-value{font-size:15px}}@media (prefers-reduced-motion:reduce){.wakatime-status-dot.active{animation:none}}.github-contrib-section{flex-direction:column;gap:12px;display:flex}.github-contrib-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.github-contrib-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.github-contrib-profile-link{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);transition:border-color .18s ease, color .18s ease, transform .18s var(--ease-spring);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.github-contrib-profile-link:hover{color:var(--text-primary);border-color:var(--primary);transform:translateY(-1px)}.github-contrib-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.github-contrib-scroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.github-contrib-scroll::-webkit-scrollbar{width:0;height:0;display:none}.github-contrib-matrix{grid-template-columns:28px 1fr;gap:6px 8px;min-width:max-content;display:grid}.github-contrib-months{grid-column:2;grid-auto-columns:11.5px;grid-auto-flow:column;align-items:end;column-gap:3.5px;height:15px;display:grid}.github-contrib-month{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:500;line-height:1}.github-contrib-weekdays{color:var(--text-secondary);grid-area:2/1;grid-template-rows:repeat(7,11.5px);row-gap:3.5px;font-size:10.5px;line-height:11.5px;display:grid}.github-contrib-weekdays span:first-child{grid-row:2}.github-contrib-weekdays span:nth-child(2){grid-row:4}.github-contrib-weekdays span:nth-child(3){grid-row:6}.github-contrib-weeks{grid-area:2/2;gap:3.5px;display:flex}.github-contrib-week{grid-template-rows:repeat(7,11.5px);row-gap:3.5px;display:grid}.github-contrib-cell{background:#21262d;border:1px solid #ffffff0a;border-radius:3.5px;width:11.5px;height:11.5px;transition:transform .12s,outline-color .12s}.github-contrib-weeks .github-contrib-cell:not(.empty-pad){cursor:pointer}.github-contrib-weeks .github-contrib-cell:not(.empty-pad):hover,.github-contrib-weeks .github-contrib-cell.active{outline:1.5px solid var(--text-primary);outline-offset:1px;transform:scale(1.22)}.github-contrib-cell.empty-pad{pointer-events:none;background:0 0;border-color:#0000}.github-contrib-cell[data-level="1"]{background:#0e4429;border-color:#ffffff0a}.github-contrib-cell[data-level="2"]{background:#006d32;border-color:#ffffff0a}.github-contrib-cell[data-level="3"]{background:#26a641;border-color:#ffffff0f}.github-contrib-cell[data-level="4"]{background:#39d353;border-color:#ffffff14}body.light-theme .github-contrib-cell{background:#00000013;border-color:#0000000a}body.light-theme .github-contrib-cell[data-level="1"]{background:#9be9a8;border-color:#1b1f230f}body.light-theme .github-contrib-cell[data-level="2"]{background:#40c463;border-color:#1b1f230f}body.light-theme .github-contrib-cell[data-level="3"]{background:#30a14e;border-color:#1b1f230f}body.light-theme .github-contrib-cell[data-level="4"]{background:#216e39;border-color:#1b1f230f}.github-contrib-footer{border-top:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:6px;display:flex}.github-contrib-inspect{color:var(--text-secondary);font-size:12px}.github-contrib-legend{color:var(--text-secondary);align-items:center;gap:4px;font-size:11px;display:inline-flex}.github-contrib-status{min-height:128px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;font-size:13.5px;display:flex}.github-contrib-error{flex-wrap:wrap}.github-contrib-retry{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:border-color .18s,background-color .18s}.github-contrib-retry:hover{border-color:var(--primary);background:var(--bg-card-hover)}@media (width<=768px){.github-contrib-card{padding:14px}.github-contrib-profile-link,.github-contrib-retry{min-height:44px}}@media (prefers-reduced-motion:reduce){.github-contrib-profile-link,.github-contrib-cell,.github-contrib-retry,.github-activity-more-btn{transition:none}}.github-activity-section{flex-direction:column;gap:12px;margin-top:8px;display:flex}.github-activity-card{flex-direction:column;gap:18px;padding:0;display:flex}.github-activity-month{flex-direction:column;gap:14px;display:flex}.github-activity-month-heading{color:var(--text-primary);align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.github-activity-month-line{background:var(--border);flex:1;height:1px}.github-activity-empty{color:var(--text-secondary);margin:0;padding:6px 0 6px 14px;font-size:13px}.github-activity-timeline{flex-direction:column;gap:18px;padding-left:14px;display:flex;position:relative}.github-activity-item{align-items:flex-start;gap:14px;display:flex;position:relative}.github-activity-item:not(:last-child):before{content:"";background:var(--border);border-radius:999px;width:2px;position:absolute;top:33px;bottom:-13px;left:13px}.github-activity-badge{z-index:1;width:28px;height:28px;box-shadow:none;color:var(--text-secondary);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:color .15s,transform .15s;display:flex;position:relative}.github-activity-item:hover .github-activity-badge{color:var(--primary);transform:scale(1.1)}.github-activity-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding-top:3px;display:flex}.github-activity-summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.github-activity-item-title{color:var(--text-primary);font-size:13.5px;font-weight:600;line-height:1.4}.github-activity-date{color:var(--text-secondary);white-space:nowrap;font-size:12px}.github-activity-repo-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.github-activity-repo-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.github-activity-repo-meta{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.github-activity-repo-link{color:var(--primary);word-break:break-word;align-items:center;gap:7px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.github-activity-repo-link:hover{text-decoration:underline}.github-activity-commit-count{color:var(--text-secondary);white-space:nowrap;font-size:12px}.github-activity-progress{background:#ffffff14;border-radius:999px;flex-shrink:0;width:112px;height:7px;overflow:hidden}body.light-theme .github-activity-progress{background:#0f172a14}.github-activity-progress-fill{background:#2da44e;border-radius:999px;height:100%;display:block}.github-activity-created-repo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.github-activity-created-meta{align-items:center;gap:12px;display:inline-flex}.github-activity-lang{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.github-activity-lang-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.github-activity-more-btn{width:auto;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:color .18s,background-color .18s;display:inline-flex}.github-activity-more-btn:hover:not(:disabled){color:var(--primary);background:var(--bg-card)}.github-activity-more-btn:disabled{opacity:.6;cursor:wait}@media (width<=768px){.github-activity-card{padding:14px}.github-activity-timeline{padding-left:4px}.github-activity-timeline:before{left:17px}.github-activity-progress{width:72px}}.player{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);z-index:5;height:auto;box-shadow:var(--shadow-card);transition:var(--ease);flex-direction:column;gap:11px;padding:14px;display:flex;position:relative;bottom:auto;left:auto;right:auto}.player:hover{border-color:var(--border-hover)}.player.is-playing{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.player:before{display:none}.player-top-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.player-left{flex:1;align-items:center;gap:12px;display:flex;overflow:hidden}.player-cover{border:1px solid var(--border);border-radius:10px;flex-shrink:0;width:44px;height:44px;position:relative;overflow:hidden}.player-cover img{object-fit:cover;width:100%;height:100%;transition:transform .32s var(--ease-spring);display:block}.player:hover .player-cover img{transform:scale(1.06)}.player-eq-bars{pointer-events:none;background:#0000006b;justify-content:center;align-items:flex-end;gap:3px;padding-bottom:8px;display:flex;position:absolute;inset:0}.player-eq-bars span{transform-origin:bottom;background:#38bdf8;border-radius:999px;width:3px;height:14px;animation:.7s ease-in-out infinite eqBarBounce}.player-eq-bars span:nth-child(2){height:18px;animation-delay:.18s}.player-eq-bars span:nth-child(3){height:12px;animation-delay:.34s}.player-info{text-align:left;overflow:hidden}.player-info h4{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.player-info p{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.like-btn{color:var(--text-secondary);cursor:pointer;transition:var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;font-size:16px;display:inline-flex}.like-btn:hover{color:var(--text-primary);transform:scale(1.12)}.like-btn:active{transform:scale(.92)}.like-btn.liked{color:var(--primary)}.player-controls-row{justify-content:center;align-items:center;gap:14px;margin:2px 0;display:flex}.player-controls-row button{color:var(--text-secondary);cursor:pointer;width:30px;height:30px;transition:var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.player-controls-row button:hover{color:var(--text-primary);background:var(--bg-pill);transform:scale(1.08)}.player-controls-row button:active{transform:scale(.94)}.player-controls-row button.play-pause{border-radius:var(--radius-avatar);width:34px;height:34px;box-shadow:var(--shadow-card);background:var(--text-primary)!important;color:var(--bg-main)!important;font-size:12px!important}.player-controls-row button.play-pause:hover{transform:scale(1.08);background:var(--primary)!important;color:var(--primary-ink)!important}.player-progress-row{align-items:center;gap:8px;width:100%;display:flex}.player-progress-row span{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center;min-width:30px;font-family:Inter,monospace;font-size:11px}.progress-bar{background:var(--border);cursor:pointer;border-radius:999px;flex:1;height:4px;transition:height .15s;position:relative;overflow:visible}.progress-bar:hover{height:6px}.progress-bar:after{content:"";position:absolute;inset:-8px 0}.progress-fill{background:var(--text-primary);border-radius:999px;width:0%;height:100%;transition:width .1s linear,background-color .18s;position:relative}.progress-bar:hover .progress-fill{background:var(--primary)}.player-volume-row{justify-content:flex-end;align-items:center;gap:8px;width:100%;padding-top:2px;display:flex}.player-volume-row button{color:var(--text-secondary);cursor:pointer;transition:var(--ease);background:0 0;border:none;border-radius:6px;padding:4px;font-size:12px}.player-volume-row button:hover{color:var(--text-primary)}.volume-bar{background:var(--border);cursor:pointer;border-radius:999px;width:72px;height:4px;position:relative}.volume-bar:after{content:"";position:absolute;inset:-8px 0}.volume-fill{background:var(--text-primary);border-radius:999px;height:100%;transition:background-color .18s}.volume-bar:hover .volume-fill{background:var(--primary)}#badgeCover.spinning{animation:10s linear infinite fa-spin}.sidebar-auth{flex-direction:column;gap:8px;margin:8px 0;padding:0 16px;display:flex}.auth-login-buttons{flex-direction:column;gap:8px;display:flex}.auth-btn{color:#fff;cursor:pointer;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.auth-btn:active{transform:scale(.98)}.google-btn{background:#e21f26}.google-btn:hover{background:#c8181e;transform:translateY(-1px)}.github-btn{background:#24292e}.github-btn:hover{background:#2f363d;transform:translateY(-1px)}.auth-user-info{align-items:center;gap:10px;display:flex}.auth-user-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;width:34px;height:34px}.auth-user-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.auth-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.auth-logout-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:11px;transition:color .2s;display:flex}.auth-logout-btn:hover{color:#ef4444}.post-form-container{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:760px;box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:24px;padding:24px}.post-form-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:18px;font-weight:600;display:flex}.post-form{flex-direction:column;gap:16px;display:flex}.post-form-group{flex-direction:column;gap:6px;display:flex}.post-form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.post-input,.post-textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.post-input:focus,.post-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.post-textarea{resize:vertical;min-height:80px}.post-submit-btn-row{justify-content:flex-end;gap:12px;display:flex}.post-cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.post-cancel-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.post-submit-btn{background:var(--primary);color:var(--primary-ink);cursor:pointer;opacity:.95;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.post-submit-btn:hover{opacity:1;transform:translateY(-1px)}.post-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.post-list-container{flex-direction:column;gap:16px;display:flex}.post-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:760px;padding:24px;transition:border-color .2s,transform .2s;display:flex}.post-card:hover{border-color:#ffffff1f}.post-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.post-card-user{align-items:center;gap:10px;display:flex}.post-card-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;width:32px;height:32px}.post-card-meta{flex-direction:column;gap:2px;display:flex}.post-card-author{color:var(--text-primary);font-size:13px;font-weight:600}.post-card-date{color:var(--text-secondary);font-size:11px}.post-owner-actions{gap:8px;display:flex}.post-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:12px;transition:all .2s}.post-edit-btn:hover{color:var(--primary);background:#38bdf814}.post-delete-btn:hover{color:#ef4444;background:#ef444414}.post-card-body h4{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-size:18px;font-weight:600}.post-card-body p{color:var(--text-body);font-size:14px;line-height:1.6}.post-tech-badges{flex-wrap:wrap;gap:6px;display:flex}.post-tech-tag{background:var(--bg-pill);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.post-card-footer{justify-content:flex-end;margin-top:4px;display:flex}.post-link-btn{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--primary);background:#38bdf808;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.post-link-btn:hover{background:var(--primary);color:var(--primary-ink)}.auth-notice-card{background:var(--bg-card);border:1px dashed var(--border);text-align:center;color:var(--text-secondary);width:100%;max-width:760px;box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:30px;display:flex}.auth-notice-icon{color:var(--primary);opacity:.8;font-size:24px}.auth-notice-card p{margin-bottom:4px;font-size:14px}.post-spinner{animation:1s linear infinite post-spin}@keyframes post-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.post-error-alert{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.post-actions-bar{border-top:1px solid var(--border);align-items:center;gap:16px;margin-top:8px;padding-top:12px;display:flex}.post-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:color .2s;display:flex}.post-action-btn:hover{color:var(--text-primary)}.post-action-btn.like-btn.active{color:#ef4444}.post-comments-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;display:flex}.comments-list{flex-direction:column;gap:10px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.comments-list::-webkit-scrollbar{width:4px}.comments-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.comment-item{align-items:flex-start;gap:10px;display:flex}.comment-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:24px;height:24px}.comment-content{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 12px}.comment-author{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700;display:block}.comment-text{color:var(--text-body);font-size:13px;line-height:1.4}.comment-form{gap:8px;margin-top:4px;display:flex}.comment-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.comment-input:focus{border-color:var(--primary)}.comment-send-btn{background:var(--primary);color:var(--primary-ink);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .2s,transform .15s;display:flex}.comment-send-btn:hover{opacity:.9}.project-feed-wrapper{width:100%;max-width:1000px;margin-top:16px}.project-filters-container{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-label{color:var(--text-secondary);letter-spacing:.5px;min-width:70px;font-size:11px;font-weight:700}.filter-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-pill-btn{background:var(--bg-card);border:1px solid var(--border);min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:20px;outline:none;padding:7px 16px;font-size:12px;font-weight:600;transition:all .2s}.filter-pill-btn:hover{border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}.filter-pill-btn.active{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 35%, transparent);color:var(--primary)}.projects-grid-layout{grid-template-columns:repeat(auto-fill,minmax(300px,350px));justify-content:center;gap:20px;width:100%;max-width:760px;margin:0 auto;display:grid}@media (width<=768px){.projects-grid-layout{grid-template-columns:minmax(0,350px)}}.project-grid-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:transform .26s var(--ease-spring), border-color .22s ease, box-shadow .24s ease;border-radius:16px;flex-direction:column;width:100%;max-width:350px;display:flex;overflow:hidden}.project-grid-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.project-card-image-wrapper{background:var(--bg-input);border-bottom:1px solid var(--border);width:100%;height:220px;position:relative;overflow:hidden}.project-card-image{object-fit:cover;width:100%;height:100%;transition:transform .38s var(--ease-spring);display:block}.project-grid-card:hover .project-card-image{transform:scale(1.03)}.placeholder-svg-mockup{width:100%;height:100%;display:block}.project-card-placeholder{background:linear-gradient(135deg,#18181b,#09090b);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.placeholder-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.placeholder-icon-animate{color:var(--primary);font-size:32px;animation:2s ease-in-out infinite placeholder-pulse}.placeholder-text{color:var(--text-secondary);letter-spacing:.05em;font-size:13px;font-weight:600}@keyframes placeholder-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.card-top-right-badges{z-index:6;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex;position:absolute;top:12px;right:12px}.featured-ribbon-badge{color:#000;letter-spacing:.02em;white-space:nowrap;background:#eab308;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:flex;box-shadow:0 4px 12px #00000059}.project-card-image-wrapper>.featured-ribbon-badge{position:absolute;top:12px;right:12px}.project-timeline-badge{-webkit-backdrop-filter:blur(8px);color:#e2e8f0;text-shadow:0 1px 3px #000000e6;white-space:nowrap;background:#0000006b;border:1px solid #94a3b84d;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 12px;display:flex;box-shadow:0 4px 14px #0000004d}.timeline-date-text{color:#fff;letter-spacing:.02em;font-size:11px;font-weight:600;line-height:1.2}.timeline-status-subtext{letter-spacing:.04em;align-items:center;gap:5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.project-timeline-badge.ongoing{background:#04120a73}.project-timeline-badge.ongoing .timeline-status-subtext{color:#4ade80}.project-timeline-badge.ongoing .timeline-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s infinite timeline-pulse;display:inline-block;box-shadow:0 0 8px #22c55e}@keyframes timeline-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}.project-timeline-badge.completed{background:#0c121c73}.project-timeline-badge.completed .timeline-status-subtext{color:#cbd5e1}.project-timeline-badge.completed .timeline-dot{background:#94a3b8;border-radius:50%;width:5px;height:5px;display:inline-block}.timeline-section-card{border:1px solid var(--border);background:#ffffff05;border-radius:12px;padding:16px}.timeline-picker-container{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.timeline-picker-field{flex-direction:column;flex:1;gap:6px;min-width:140px;display:flex}.timeline-picker-field.status-field{flex:0 150px;min-width:120px}.picker-sublabel{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;height:20px;margin:0;font-size:11px;font-weight:600;display:flex}.timeline-arrow-separator{color:var(--text-secondary);opacity:.6;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:42px;margin-top:26px;font-size:14px;display:flex}.timeline-date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;box-sizing:border-box;width:100%;height:42px;margin:0!important}.timeline-present-pill-active{box-sizing:border-box;color:#86efac;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#22c55e1f;border:1px solid #22c55e59;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;padding:0 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.timeline-present-pill-active:hover{background:#22c55e33;border-color:#22c55e8c}.timeline-present-pill-active .timeline-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite timeline-pulse;box-shadow:0 0 8px #22c55e}.timeline-live-preview{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;margin-top:14px;padding:10px 16px;display:flex}.timeline-live-preview .preview-label{color:var(--text-secondary);font-size:12px;font-weight:600}.timeline-preset-pill{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;padding:3px 10px;font-size:11px;transition:all .15s}.timeline-preset-pill:hover{color:#fff;border-color:var(--primary);background:#ffffff1f}.project-card-details{flex-direction:column;flex:1;padding:20px;display:flex}.project-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-title-row h4{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.project-card-desc{color:var(--text-secondary);flex:1;margin-bottom:16px;font-size:14px;line-height:1.5}.project-tech-icons-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.tech-logo-icon{align-items:center;font-size:20px;transition:transform .2s;display:flex}.tech-logo-icon:hover{transform:scale(1.2)}.tech-logo-text{background:var(--bg-pill);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.project-card-actions-row{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.reaction-pill-btn{background:var(--bg-pill);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:20px;outline:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.reaction-pill-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-hover)}.reaction-pill-btn:active{transform:scale(.95)}.reaction-pill-btn.active{color:#ef4444;background:#ef44440d;border-color:#ef44444d}.card-visit-link-btn{color:var(--primary);background:#38bdf81f;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.card-visit-link-btn:hover{color:var(--primary);background:#38bdf838;border-color:#0000}.card-admin-actions{gap:8px;display:flex}.card-admin-btn{cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;transition:color .2s}.card-admin-btn.edit-btn{color:var(--text-secondary)}.card-admin-btn.edit-btn:hover{color:var(--primary)}.card-admin-btn.delete-btn{color:var(--text-secondary)}.card-admin-btn.delete-btn:hover{color:#ef4444}.post-form-row{margin-bottom:0}.post-select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.post-select:focus{border-color:var(--primary)}.searchable-dropdown-container{width:100%;position:relative}.searchable-dropdown-menu{background:var(--bg-card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-elevated);z-index:100;border-radius:12px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.dropdown-options-list{max-height:200px;padding:8px 0;overflow-y:auto}.dropdown-options-list::-webkit-scrollbar{width:6px}.dropdown-options-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dropdown-option-item{cursor:pointer;align-items:center;padding:10px 16px;transition:background .2s;display:flex}.dropdown-option-item:hover{background:#ffffff0a}.tech-option-pill{background:var(--bg-pill);border:1px solid var(--border);color:var(--text-primary);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.dropdown-no-results{color:var(--text-secondary);text-align:center;padding:14px 16px;font-size:13px}.dropdown-footer{border-top:1px solid var(--border);background:var(--bg-input);justify-content:flex-end;padding:10px 16px;display:flex}.dropdown-footer i{color:var(--text-secondary);cursor:pointer;font-size:12px;transition:color .2s}.dropdown-footer i:hover{color:var(--primary)}.selected-tech-tags-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.selected-tag-capsule{background:var(--primary-soft);border:1px solid var(--primary);color:var(--text-primary);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.tag-capsule-icon{align-items:center;font-size:14px;display:flex}.remove-tag-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 0 0 4px;font-size:16px;line-height:1;transition:color .2s;display:flex}.remove-tag-btn:hover{color:#ef4444}.projects-slider-layout{scrollbar-width:none;-ms-overflow-style:none;gap:20px;width:100%;padding:10px 4px 20px;display:flex;overflow-x:auto}.projects-slider-layout::-webkit-scrollbar{display:none}.projects-slider-layout .project-grid-card{flex:0 0 min(350px,82vw);width:min(350px,82vw);max-width:min(350px,82vw)}.slider-outer-wrapper{width:100%;position:relative}.slider-nav-btn{background:var(--bg-card);border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;z-index:10;opacity:0;box-shadow:var(--shadow-card);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slider-outer-wrapper:hover .slider-nav-btn,.slider-outer-wrapper:focus-within .slider-nav-btn{opacity:1}.slider-nav-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);transform:translateY(-50%)scale(1.08)}.slider-nav-btn.left{left:-20px}.slider-nav-btn.right{right:-20px}@media (width<=768px){.slider-nav-btn{display:none}}.slider-scrollbar-track{background:var(--border);border-radius:4px;width:120px;height:4px;margin:16px auto 0;position:relative;overflow:hidden}.slider-scrollbar-thumb{background:var(--primary);opacity:.7;border-radius:4px;height:100%;transition:left .1s ease-out,width .1s ease-out;position:absolute;top:0}.reaction-add-btn{border:1px dashed var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.reaction-add-btn:hover{border-color:var(--primary);color:var(--primary);background:#38bdf80d}.reaction-emoji-picker-inline{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;margin-top:14px;padding:12px 16px;animation:.2s ease-out forwards slideDownFade}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.picker-inline-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.picker-inline-header span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.picker-inline-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:11px;transition:color .15s}.picker-inline-close-btn:hover{color:#fff}.picker-inline-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.picker-inline-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:18px;transition:all .15s;display:flex}.picker-inline-emoji-btn:hover{background:#ffffff0f;transform:scale(1.15)}.picker-inline-emoji-btn.active{background:#38bdf826}.reaction-login-tooltip{color:#000;white-space:nowrap;z-index:110;background:#fff;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:600;animation:.2s forwards fadeInUpTooltip;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 12px #0000004d}.reaction-login-tooltip:after{content:"";border:5px solid #0000;border-top-color:#fff;position:absolute;top:100%;left:12px}@keyframes fadeInUpTooltip{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.skeleton-card{pointer-events:none;border:1px solid var(--border)}.skeleton-image{background:var(--skeleton-1);border-top-left-radius:12px;border-top-right-radius:12px;width:100%;height:200px}.skeleton-title{background:var(--skeleton-2);border-radius:4px;width:60%;height:18px;margin-top:8px;margin-bottom:12px}.skeleton-text{background:var(--skeleton-1);border-radius:4px;width:100%;height:12px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-tech-row{gap:8px;margin-top:14px;margin-bottom:14px;display:flex}.skeleton-tech-icon{background:var(--skeleton-1);border-radius:4px;width:24px;height:24px}.skeleton-actions-row{border-top:1px solid var(--border);gap:12px;margin-top:14px;padding-top:14px;display:flex}.skeleton-action-btn{background:var(--skeleton-1);border-radius:20px;width:60px;height:28px}.skeleton-pill{background:var(--skeleton-1);border-radius:20px;width:70px;height:30px;display:inline-block}.shimmer{position:relative;overflow:hidden}.shimmer:after{background-image:linear-gradient(90deg, transparent 0%, var(--bg-pill) 20%, var(--shimmer-highlight) 60%, transparent 100%);content:"";animation:1.6s infinite shimmerAnim;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmerAnim{to{transform:translate(100%)}}#news.section{box-sizing:border-box;flex-direction:column;height:calc(100dvh - 48px);max-height:calc(100dvh - 48px);margin-bottom:0;display:flex;overflow:hidden}#news .about-header{flex-shrink:0;margin-bottom:0}#news .about-divider{flex-shrink:0;margin:16px 0 0}.chat-container{background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;min-height:0;font-family:Inter,sans-serif;display:flex;position:relative;overflow:hidden}.chat-messages-list{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 4px 16px;display:flex;overflow-y:auto}.chat-message-item{max-width:85%;animation:fadeInUp .26s var(--ease-spring) both;align-self:flex-start;align-items:flex-start;gap:12px;display:flex}.chat-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.chat-message-content{flex-direction:column;gap:4px;display:flex}.chat-message-header{align-items:center;gap:8px;display:flex}.chat-sender-name{color:var(--text-primary);font-size:13px;font-weight:600}.chat-sender-badge{background:var(--primary-soft);color:var(--primary);text-transform:uppercase;border-radius:50px;padding:1px 6px;font-size:9px;font-weight:700}.chat-timestamp{color:var(--text-secondary);font-size:10px}.chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-body);white-space:pre-wrap;box-shadow:var(--shadow-card);border-radius:4px 16px 16px;padding:10px 16px;font-size:14px;line-height:1.5;position:relative}.chat-bubble-container:hover .chat-action-delete{opacity:1}.chat-action-delete{color:#ef4444;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:opacity .2s,background-color .2s,color .2s;display:flex}.chat-action-delete:hover{color:#f87171;background:#ef444414}.chat-input-area{border-top:1px solid var(--border);background:0 0;flex-shrink:0;padding:16px 0 4px}.chat-input-form{align-items:center;gap:12px;display:flex}.chat-input-field{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:10px 18px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.chat-input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.chat-send-btn{width:38px;height:38px;color:var(--primary);cursor:pointer;background:#38bdf81f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:background-color .2s,transform .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:#38bdf838;transform:scale(1.04)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-read-only-notice{text-align:center;color:var(--text-secondary);font-size:12px;font-style:italic}.chat-attach-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.chat-attach-btn:hover:not(:disabled){color:#fff;background:#ffffff1a;border-color:#fff3}.chat-bubble-image{cursor:pointer;border-radius:8px;max-width:100%;max-height:250px;margin-bottom:6px;transition:opacity .2s;display:block}.chat-bubble-image:hover{opacity:.9}.chat-file-attachment{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:12px;margin-bottom:6px;padding:10px 14px;text-decoration:none;transition:background-color .2s;display:flex}.chat-file-attachment:hover{background:#ffffff14}.chat-file-icon{color:var(--primary);font-size:20px}.chat-file-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:500;overflow:hidden}.chat-file-download{color:var(--text-secondary);margin-left:auto;font-size:12px}.chat-attachment-preview-bar{border-top:1px solid var(--border);background:0 0;flex-shrink:0;align-items:center;gap:14px;max-width:100%;padding:10px 4px;display:flex;overflow-x:auto}.chat-preview-thumbnail-wrapper{border-radius:8px;flex-shrink:0;width:62px;height:62px;position:relative;overflow:visible}.chat-preview-thumbnail{object-fit:cover;background:#18181b;border:1px solid #ffffff26;border-radius:8px;width:100%;height:100%;display:block}.chat-preview-file-card{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;display:flex;position:relative}.chat-preview-close-btn{color:#fff;cursor:pointer;z-index:10;background:#ef4444;border:2px solid #111;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;transition:transform .15s,background-color .15s;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 5px #0009}.chat-preview-close-btn:hover{background:#dc2626;transform:scale(1.15)}.chat-preview-info{color:#e4e4e7;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12px;overflow:hidden}.chat-lightbox{-webkit-backdrop-filter:blur(12px);z-index:9999;background:#000000b3;flex-direction:column;width:100vw;height:100vh;font-family:Inter,sans-serif;display:flex;position:fixed;top:0;left:0}.chat-lightbox-header{background:#121212cc;border-bottom:1px solid #ffffff0d;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex}.chat-lightbox-back-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .2s;display:flex}.chat-lightbox-back-btn:hover{background:#ffffff1a}.chat-lightbox-sender{align-items:center;gap:10px;display:flex}.chat-lightbox-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.chat-lightbox-info{flex-direction:column;display:flex}.chat-lightbox-name{color:#fff;font-size:14px;font-weight:600}.chat-lightbox-time{color:var(--text-secondary);font-size:11px}.chat-lightbox-content{flex:1;justify-content:center;align-items:center;padding:40px;display:flex;overflow:hidden}.chat-lightbox-image{object-fit:contain;border-radius:4px;max-width:90%;max-height:90%;animation:.25s cubic-bezier(.4,0,.2,1) zoomIn;box-shadow:0 10px 30px #00000080}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#news.section{margin-bottom:0}.chat-bubble-container{align-items:center;gap:8px;max-width:100%;display:flex;position:relative}.chat-reaction-action-container{display:inline-block;position:relative}.chat-reaction-trigger-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:opacity .2s,background-color .2s,color .2s;display:flex}.chat-bubble-container:hover .chat-reaction-trigger-btn,.chat-reaction-action-container:focus-within .chat-reaction-trigger-btn,.chat-reaction-trigger-btn.active{opacity:1}.chat-reaction-trigger-btn:hover{background:var(--bg-pill);color:var(--text-primary)}.chat-floating-emoji-picker{z-index:1000;background:var(--bg-elevated);border:1px solid var(--border);width:280px;box-shadow:var(--shadow-elevated);border-radius:12px;margin-top:0;padding:12px;animation:.25s ease-out forwards fadeInUpTooltip;display:block;position:absolute;top:calc(100% + 6px);left:-10px}.photo-dropzone{border:2px dashed var(--border);background:var(--bg-pill);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;transition:border-color .2s,background .2s,transform .15s;display:flex}.photo-dropzone.dragging{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.008)}.dropzone-icon{color:var(--primary);font-size:30px}.dropzone-text-group{flex-direction:column;gap:4px;display:flex}.dropzone-title{color:var(--text-primary);font-size:13px;font-weight:600}.dropzone-subtitle{color:var(--text-secondary);font-size:11px}.form-photos-preview-strip{scrollbar-width:thin;scrollbar-color:var(--border) transparent;align-items:center;gap:12px;padding:8px 4px 12px;display:flex;overflow-x:auto}.form-photos-preview-strip::-webkit-scrollbar{height:6px}.form-photos-preview-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.form-photo-thumbnail-card{border:1px solid var(--border);width:124px;height:94px;transition:var(--ease);background:#161616;border-radius:8px;flex-shrink:0;position:relative;overflow:hidden}.form-photo-thumbnail-card.is-cover{border:2px solid var(--primary);box-shadow:0 0 14px #38bdf840}.form-photo-thumbnail-card:hover{border-color:var(--primary);transform:translateY(-2px)}.form-photo-thumbnail-card img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumbnail-order-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;z-index:2;background:#000c;border:1px solid #ffffff1a;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:4px;left:4px}.photo-thumbnail-order-badge.cover-badge{background:var(--primary);color:#000;border-color:var(--primary)}.photo-make-cover-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e2e8f0;cursor:pointer;z-index:2;background:#000000d9;border:1px solid #fff3;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:700;transition:all .15s;position:absolute;bottom:4px;left:4px}.photo-make-cover-btn:hover{background:var(--primary);color:#000;border-color:var(--primary)}.form-photo-add-more-card{width:124px;height:94px;color:var(--text-secondary);cursor:pointer;background:#ffffff04;border:2px dashed #fff3;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.form-photo-add-more-card i{font-size:16px}.form-photo-add-more-card:hover{border-color:var(--primary);color:var(--primary);background:#38bdf80f;transform:translateY(-2px)}.form-photo-actions-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#000000bf;border:1px solid #ffffff1a;border-radius:6px;gap:4px;padding:2px;display:flex;position:absolute;top:4px;right:4px}.photo-action-btn{color:#e5e7eb;cursor:pointer;width:22px;height:22px;transition:var(--ease);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:11px;display:flex}.photo-action-btn:hover{color:#fff;background:#fff3}.photo-action-btn.delete:hover{color:#fff;background:#ef4444}.photo-pile-container{-webkit-user-select:none;user-select:none;position:relative}.photo-pile-layer{pointer-events:none;background:#18181b;border:1px solid #ffffff1f;border-radius:4px;transition:transform .3s,opacity .3s;position:absolute;inset:0}.photo-pile-layer.layer-1{opacity:.85;z-index:0;transform:rotate(-1.5deg)scale(.98);box-shadow:0 4px 12px #0006}.photo-pile-layer.layer-2{opacity:.6;z-index:-1;transform:rotate(2deg)scale(.96);box-shadow:0 6px 16px #00000080}.project-grid-card:hover .photo-pile-layer.layer-1,.chat-bubble:hover .photo-pile-layer.layer-1{opacity:.95;transform:rotate(-3deg)translate(-2px,-2px)scale(.98)}.project-grid-card:hover .photo-pile-layer.layer-2,.chat-bubble:hover .photo-pile-layer.layer-2{opacity:.8;transform:rotate(3.5deg)translate(2px,-3px)scale(.96)}.project-card-image.photo-fade-in{z-index:1;animation:.2s ease-out fadeInPhoto;position:relative}@keyframes fadeInPhoto{0%{opacity:.4;filter:blur(2px)}to{opacity:1;filter:blur()}}.photo-pile-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:5;letter-spacing:.02em;background:#000000b8;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 10px #0000004d}.photo-pile-badge i{color:var(--primary);font-size:11px}.photo-pile-nav-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:6;opacity:0;background:#000000a6;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;transition:opacity .2s,background .2s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.photo-pile-container:hover .photo-pile-nav-btn{opacity:1}.photo-pile-nav-btn.prev{left:10px}.photo-pile-nav-btn.next{right:10px}.photo-pile-nav-btn:hover{background:var(--primary);color:#000;border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.photo-pile-dots-container{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border:1px solid #ffffff1a;border-radius:12px;gap:5px;padding:3px 8px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.photo-pile-dot{cursor:pointer;background:#fff6;border-radius:50%;width:6px;height:6px;transition:all .2s}.photo-pile-dot:hover{background:#fffc;transform:scale(1.2)}.photo-pile-dot.active{background:var(--primary);border-radius:4px;width:14px}@media (hover:none){.photo-pile-nav-btn{opacity:.85}}.image-modal{-webkit-backdrop-filter:blur(14px);z-index:999999;background:#000000eb;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeInModal;display:flex;position:fixed;top:0;left:0}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.image-modal-top-bar{z-index:1004;background:linear-gradient(#000000e0 0%,#00000073 70%,#0000 100%);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex;position:absolute;top:0;left:0;right:0}.image-modal-header-info{flex-direction:column;gap:3px;min-width:0;display:flex}.image-modal-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700;overflow:hidden}.image-modal-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px;font-weight:600}.image-modal-top-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.image-modal-close{color:#fff;cursor:pointer;z-index:1004;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:26px;line-height:1;transition:all .2s;display:flex}.image-modal-close:hover{color:var(--primary);background:#ffffff40;transform:scale(1.08)}.image-modal-content{object-fit:contain;border-radius:10px;max-width:90vw;max-height:72vh;animation:.2s ease-out zoomInImage;display:block;box-shadow:0 16px 54px #000000e6}@keyframes zoomInImage{0%{opacity:.5;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.image-modal-counter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#121216d9;border:1px solid #ffffff2e;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.image-modal-counter i{color:var(--primary)}.image-modal-nav-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:1003;background:#141418cc;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-modal-nav-btn.prev{left:24px}.image-modal-nav-btn.next{right:24px}.image-modal-nav-btn:hover{background:var(--primary);color:#000;border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.image-modal-img-container{justify-content:center;align-items:center;max-width:90vw;max-height:74vh;margin-top:20px;margin-bottom:50px;display:flex}.image-modal-bottom-gallery{z-index:1004;max-width:92vw;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.image-modal-thumbs-strip{-webkit-backdrop-filter:blur(16px);scrollbar-width:thin;scrollbar-color:#fff3 transparent;background:#0e0e12e0;border:1px solid #ffffff26;border-radius:14px;gap:10px;max-width:88vw;padding:8px 14px;display:flex;overflow-x:auto;box-shadow:0 8px 32px #000000b3}.image-modal-thumbs-strip::-webkit-scrollbar{height:4px}.image-modal-thumbs-strip::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.image-modal-thumb-item{opacity:.55;cursor:pointer;background:#000;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:68px;height:48px;padding:0;transition:all .2s;position:relative;overflow:hidden}.image-modal-thumb-item:hover{opacity:.95;transform:translateY(-2px)}.image-modal-thumb-item.active{opacity:1;border-color:var(--primary);transform:scale(1.08);box-shadow:0 4px 16px #38bdf873}.image-modal-thumb-item img{object-fit:cover;width:100%;height:100%;display:block}.image-modal-thumb-index{color:#fff;text-shadow:0 1px 2px #000000e6;font-size:9px;font-weight:700;position:absolute;bottom:2px;right:4px}.image-modal-dots{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1003;background:#000000b3;border:1px solid #ffffff26;border-radius:20px;gap:8px;padding:6px 14px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.image-modal-dot{cursor:pointer;background:#ffffff59;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.image-modal-dot:hover{background:#fffc}.image-modal-dot.active{background:var(--primary);border-radius:4px;width:20px}.comment-attached-img-container{border:1px solid var(--border);cursor:pointer;background:#181818;border-radius:8px;max-width:180px;max-height:120px;margin-top:8px;transition:transform .2s,border-color .2s;overflow:hidden}.comment-attached-img-container:hover{border-color:var(--primary);transform:scale(1.02)}.comment-attached-img-container img{object-fit:cover;width:100%;height:100%;display:block}.comment-preview-attached-box{border:1px solid var(--primary);background:#181818;border-radius:6px;width:70px;height:52px;margin-bottom:8px;position:relative;overflow:hidden;box-shadow:0 4px 10px #0006}.comment-preview-attached-box img{object-fit:cover;width:100%;height:100%;display:block}.comment-preview-remove-btn{color:#ef4444;cursor:pointer;background:#000000bf;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;transition:background .15s;display:flex;position:absolute;top:2px;right:2px}.comment-preview-remove-btn:hover{color:#fff;background:#ef4444}.comment-attach-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-btn);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;transition:all .2s;display:flex}.comment-attach-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}@media (width<=1200px){.app{grid-template-columns:248px 1fr}.content-wrapper{padding:24px 28px 56px}}@media (width<=1024px){.hero-page-container{gap:32px}.hero-photo-box{width:225px}}@media (width<=768px){.app{grid-template-columns:1fr;gap:0;padding:0}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);z-index:998;opacity:0;pointer-events:none;background:#0000008c;border:none;padding:0;transition:opacity .22s;display:block;position:fixed;inset:0}.sidebar-backdrop.active{opacity:1;pointer-events:auto}.app>.sidebar{z-index:999;width:min(290px,84vw);box-shadow:var(--shadow-elevated);border-radius:0;transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app>.sidebar.active{transform:translate(0)}.menu-toggle{background:var(--bg-card);width:44px;height:44px;color:var(--primary);border:1.5px solid var(--border);cursor:pointer;transition:var(--ease);border-radius:10px;justify-content:center;align-items:center;display:flex}.menu-toggle:hover{background:var(--primary-soft);border-color:var(--primary);transform:scale(1.04)}.menu-toggle:active{transform:scale(.95)}.navbar{padding:16px 12px}.search-bar{margin:0 8px}.upgrade-btn{padding:8px 16px;font-size:12px}.content-wrapper{padding:68px 16px 40px}.content-wrapper:has(#news){height:100dvh;padding:64px 12px 12px}.hero{margin:-16px -8px 32px;padding:60px 16px 32px}.hero h1{font-size:32px}.contact-wrapper{grid-template-columns:1fr}.player{width:100%;padding:12px}.welcome-content h1{font-size:20px!important}.welcome-content p{font-size:18px!important}#enterBtn{padding:12px 20px!important;font-size:11px!important}#skipBtn{font-size:16px!important}}@media (width<=480px){.projects-grid{grid-template-columns:1fr}.hero h1{font-size:28px}.hero-buttons{flex-wrap:wrap}.hero-cta-row{width:100%}.hero-cta-primary,.hero-cta-secondary{flex:auto;justify-content:center}.welcome-content h1{font-size:16px!important}}
