@import url(https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&display=swap);.navbar{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:var(--nav-bg);border-bottom:1px solid transparent;left:0;position:fixed;right:0;top:0;transition:border-color .3s,background .3s,-webkit-backdrop-filter .3s;transition:border-color .3s,backdrop-filter .3s,background .3s;transition:border-color .3s,backdrop-filter .3s,background .3s,-webkit-backdrop-filter .3s;z-index:1000}.navbar--scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--nav-bg);border-color:var(--border)}.navbar__inner{align-items:center;display:flex;gap:24px;height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 24px}.navbar__brand{flex-shrink:0;text-decoration:none}.navbar__brand-text{font-size:18px;font-weight:600;letter-spacing:.5px}.navbar__links{align-items:center;display:flex;flex:1 1;gap:4px;justify-content:center}.navbar__link-wrapper{text-decoration:none}.navbar__link{border-right:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:inline-block;font-family:Fira Code,monospace;font-size:14px;padding:8px 16px;position:relative;transition:color .2s}.navbar__link:first-child{border-left:1px solid var(--border)}.navbar__link--active,.navbar__link:hover{color:var(--text-primary)}.navbar__link-underline{background:var(--accent-cyan);border-radius:1px;bottom:-1px;height:2px;left:0;position:absolute;right:0}.navbar__actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.navbar__theme-btn{align-items:center;background:var(--bg-secondary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s;width:36px}.navbar__theme-btn:hover{background:var(--border)}.navbar__resume-btn{align-items:center;border:1px solid var(--accent-cyan);border-radius:6px;color:var(--accent-cyan);display:flex;font-family:Fira Code,monospace;font-size:13px;padding:8px 16px;text-decoration:none;transition:background .2s,color .2s}.navbar__resume-btn:hover{background:var(--accent-cyan);color:var(--bg-primary)}.navbar__hamburger{align-items:center;background:var(--bg-secondary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:none;height:36px;justify-content:center;width:36px}.navbar__progress{background:linear-gradient(90deg,var(--accent-cyan),var(--accent-purple));bottom:0;height:2px;left:0;position:absolute;right:0;-webkit-transform-origin:left;transform-origin:left}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;left:0;padding:16px 24px;position:fixed;right:0;top:64px;z-index:999}.mobile-menu__link{border-radius:8px;color:var(--text-muted);display:block;font-family:Fira Code,monospace;font-size:15px;padding:12px 16px;text-decoration:none;transition:color .2s,background .2s}.mobile-menu__link--active,.mobile-menu__link:hover{background:var(--glow-cyan);color:var(--accent-cyan)}.navbar__download-menu{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);min-width:220px;padding:8px;position:absolute;right:0;top:calc(100% + 10px);z-index:1200}.navbar__download{position:relative}.navbar__download-item{border-radius:8px;color:var(--text-muted);display:block;font-size:12px;padding:10px 12px;text-decoration:none;transition:color .2s,background .2s}.navbar__download-item:hover{background:var(--glow-cyan);color:var(--accent-cyan)}.mobile-menu__download-toggle{align-items:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;margin-top:8px;padding:12px 16px;width:100%}.mobile-menu__download-list{display:flex;flex-direction:column;gap:6px;margin-top:6px;overflow:hidden}.mobile-menu__resume{align-items:center;border:1px solid var(--accent-cyan);border-radius:8px;color:var(--accent-cyan);display:flex;font-family:Fira Code,monospace;font-size:14px;justify-content:center;margin-top:0;padding:12px 16px;text-decoration:none;width:100%}@media (max-width:768px){.navbar__links,.navbar__resume-btn{display:none}.navbar__hamburger{display:flex}}.footer{background:var(--bg-primary);border-top:1px solid var(--border);position:relative;z-index:10}.footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:16px 32px}.footer__logo{font-size:16px;font-weight:700;text-decoration:none}.footer__copy{font-size:12px;gap:6px}.footer__copy,.footer__socials{align-items:center;display:flex}.footer__socials{gap:12px}.footer__social{align-items:center;color:var(--text-muted);display:flex;text-decoration:none;transition:color .2s}.footer__social:hover{color:var(--accent-cyan)}.footer__github-label{color:var(--text-muted);font-size:12px;margin-left:4px}@media (max-width:600px){.footer__inner{justify-content:center;text-align:center}.footer__github-label{display:none}}.home{display:flex;min-height:100vh;overflow:hidden;padding:80px 0 40px}.home,.home__inner{align-items:center;position:relative}.home__inner{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;padding:0 40px;width:100%;z-index:1}.orb{border-radius:50%;pointer-events:none;position:absolute;z-index:0}.orb--1{-webkit-animation:float 8s ease-in-out infinite;animation:float 8s ease-in-out infinite}.orb--2{-webkit-animation:floatReverse 10s ease-in-out infinite;animation:floatReverse 10s ease-in-out infinite}.orb--3{-webkit-animation:float 12s ease-in-out 2s infinite;animation:float 12s ease-in-out 2s infinite}.home__content{display:flex;flex-direction:column;gap:20px}.home__greeting{font-size:16px;letter-spacing:1px}.home__name{color:var(--text-primary);font-size:clamp(40px,6vw,72px);font-weight:800;letter-spacing:-2px;line-height:1.1}.home__name--accent{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--accent-cyan) 0,var(--accent-purple) 100%);-webkit-background-clip:text;background-clip:text}.home__typewriter{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:inline-flex;font-size:clamp(16px,2.5vw,22px);gap:4px;padding:12px 16px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.home__bio{color:var(--text-secondary);font-size:16px;line-height:1.7;max-width:520px}.home__github{font-size:14px;padding:10px 0}.home__github a:hover{text-decoration:underline}.home__ctas{display:flex;flex-wrap:wrap;gap:16px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Fira Code,monospace;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.btn--primary{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));box-shadow:0 4px 20px var(--glow-cyan);color:var(--bg-primary);font-weight:600}.btn--primary:hover{box-shadow:0 6px 30px var(--glow-cyan)}.btn--outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn--outline:hover{background:var(--glow-cyan);border-color:var(--accent-cyan);color:var(--accent-cyan)}.home__socials{display:flex;gap:16px}.home__social-link{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);display:flex;height:44px;justify-content:center;text-decoration:none;transition:color .2s,border-color .2s,background .2s;width:44px}.home__social-link:hover{background:var(--glow-cyan);border-color:var(--accent-cyan);color:var(--accent-cyan)}.home__visual{align-items:center;display:flex;flex-direction:column;gap:32px;position:relative}.home__photo-wrapper{height:300px;position:relative;width:300px}.home__photo{border:3px solid var(--border);border-radius:50%;height:100%;object-fit:cover;position:relative;width:100%;z-index:1}.home__photo-ring{-webkit-animation:spin-slow 8s linear infinite;animation:spin-slow 8s linear infinite;background:conic-gradient(var(--accent-cyan),var(--accent-purple),var(--accent-cyan));border-radius:50%;inset:-8px;position:absolute;z-index:0}.home__photo-ring:before{background:var(--bg-primary);border-radius:50%;content:"";inset:4px;position:absolute}.home__photo-glow{-webkit-animation:pulse-glow 3s ease-in-out infinite;animation:pulse-glow 3s ease-in-out infinite;background:radial-gradient(circle,var(--glow-cyan) 0,transparent 70%);border-radius:50%;inset:-20px;position:absolute;z-index:0}.home__badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-secondary);border:1px solid;border-radius:20px;font-family:Fira Code,monospace;font-size:12px;font-weight:600;padding:8px 14px;position:absolute;white-space:nowrap;z-index:2}.hero__code-window{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:380px;overflow:hidden;width:100%}.code-window__header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;gap:8px;padding:12px 16px}.dot{border-radius:50%;height:12px;width:12px}.dot--red{background:#ff5f57}.dot--yellow{background:#ffbd2e}.dot--green{background:#28c840}.code-window__title{color:var(--text-muted);font-family:Fira Code,monospace;font-size:12px;margin-left:8px}.code-window__body{font-family:Fira Code,monospace;font-size:13px;line-height:1.8;padding:16px}.code-line{display:flex;gap:4px}.code-line--cursor:after{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite;color:var(--accent-cyan);content:"█"}.ln{color:#3b4d61;min-width:16px;text-align:right;-webkit-user-select:none;-ms-user-select:none;user-select:none}.kw{color:#4d5bce}.fn{color:#43d9ad}.op{color:var(--text-muted)}.br{color:#e5c07b}.str{color:#43d9ad}.prop{color:#81a1c1}.home__scroll-indicator{align-items:flex-start;border:2px solid var(--border);border-radius:12px;bottom:32px;display:flex;height:40px;justify-content:center;left:50%;padding-top:6px;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:24px}.home__scroll-dot{background:var(--accent-cyan);border-radius:2px;height:8px;width:4px}@media (max-width:900px){.home__inner{gap:40px;grid-template-columns:1fr;padding:0 24px;text-align:center}.home__content{align-items:center}.home__bio,.home__github{text-align:left}.home__github{font-size:12px;word-break:break-all}.home__visual{order:-1}.home__photo-wrapper{height:200px;width:200px}.home__badge{font-size:10px;padding:6px 10px}.hero__code-window{max-width:320px}.home__scroll-indicator{display:none}}.about-page{border-top:1px solid var(--border);display:flex;margin-top:64px;min-height:calc(100vh - 64px)}.about-page__sidebar{background:var(--bg-primary);border-right:1px solid var(--border);flex-shrink:0;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:64px;width:220px}.about-sidebar__section{border-bottom:1px solid var(--border)}.about-sidebar__toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:12px 16px;transition:background .2s,color .2s;width:100%}.about-sidebar__toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.about-sidebar__children{overflow:hidden;padding:4px 0 8px}.about-sidebar__file{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:8px;padding:8px 16px 8px 32px}.about-sidebar__link{color:var(--text-muted);font-size:11px;text-decoration:none;transition:color .2s;word-break:break-all}.about-sidebar__link:hover{color:var(--accent-cyan)}.about-page__main{border-right:1px solid var(--border);display:flex;flex:1 1;flex-direction:column;min-width:0}.about-page__tabs{background:var(--bg-primary);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.about-page__tab{align-items:center;background:none;border:none;border-right:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:14px 20px;position:relative;transition:color .2s,background .2s;white-space:nowrap}.about-page__tab--active,.about-page__tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.about-page__tab-indicator{background:var(--accent-cyan);border-radius:1px 1px 0 0;bottom:0;height:2px;left:0;position:absolute;right:0}.about-page__content{flex:1 1;overflow-y:auto;padding:32px}.about-bio{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-family:Fira Code,monospace;font-size:14px;line-height:1.8;margin-bottom:28px;padding:16px}.skills-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skill-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;transition:border-color .2s}.skill-item:hover{border-color:var(--accent-purple)}.skill-item__header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.skill-item__icon{display:flex;font-size:18px}.skill-item__name{color:var(--text-primary);flex:1 1;font-size:13px}.skill-item__level{color:var(--text-muted);font-size:11px}.skill-item__bar-bg{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.skill-item__bar{border-radius:2px;height:100%;opacity:.85}.timeline{padding-left:32px;position:relative}.timeline:before{background:linear-gradient(to bottom,var(--accent-cyan),var(--accent-purple));border-radius:1px;bottom:0;content:"";left:8px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:40px;position:relative}.timeline-item__dot{background:var(--accent-cyan);border:3px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 2px var(--accent-cyan);height:14px;left:-28px;position:absolute;top:6px;width:14px}.timeline-item__content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;transition:border-color .2s,box-shadow .2s}.timeline-item__content:hover{border-color:var(--accent-cyan);box-shadow:0 4px 20px var(--glow-cyan)}.timeline-item__header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px}.timeline-item__type{background:var(--glow-cyan);border:1px solid var(--accent-cyan);border-radius:20px;color:var(--accent-cyan);font-size:11px;padding:3px 10px}.timeline-item__period{color:var(--text-muted);font-size:12px}.timeline-item__role{color:var(--text-primary);font-size:18px;font-weight:700;margin-bottom:4px}.timeline-item__company{font-family:Fira Code,monospace;font-size:14px;margin-bottom:12px}.timeline-item__desc{color:var(--text-secondary);font-size:14px;line-height:1.7;margin-bottom:14px}.timeline-item__tags{display:flex;flex-wrap:wrap;gap:8px}.timeline-item__tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:11px;padding:3px 10px}.cert-carousel{max-width:600px}.cert-carousel__header{align-items:center;color:var(--text-muted);display:flex;font-size:14px;margin-bottom:20px}.cert-carousel__track{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;height:340px;overflow:hidden;position:relative}.cert-carousel__img{height:100%;object-fit:contain;width:100%}.cert-carousel__controls{gap:16px;margin-top:16px}.cert-carousel__btn,.cert-carousel__controls{align-items:center;display:flex;justify-content:center}.cert-carousel__btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:20px;height:36px;transition:background .2s,border-color .2s;width:36px}.cert-carousel__btn:hover{background:var(--border);border-color:var(--accent-cyan)}.cert-carousel__dots{display:flex;gap:8px}.cert-carousel__dot{background:var(--border);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s,-webkit-transform .2s;transition:background .2s,transform .2s;transition:background .2s,transform .2s,-webkit-transform .2s;width:8px}.cert-carousel__dot--active{background:var(--accent-cyan);-webkit-transform:scale(1.3);transform:scale(1.3)}.about-page__info{background:var(--bg-primary);flex-shrink:0;overflow-y:auto;width:300px}.about-info__tab-header{font-size:13px;padding:14px 16px}.about-info__code,.about-info__tab-header{border-bottom:1px solid var(--border);color:var(--text-muted)}.about-info__code{font-family:Fira Code,monospace;font-size:12px;line-height:1.9;padding:16px}.about-info__line{display:flex;gap:12px}.about-info__interests{padding:16px}.about-info__interests-title{margin-bottom:12px}.about-info__interests-title,.interest-tag{align-items:center;color:var(--text-muted);display:flex;font-size:12px}.interest-tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;gap:8px;margin-bottom:8px;padding:8px 12px;transition:border-color .2s,color .2s}.interest-tag:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}@media (max-width:1100px){.about-page__info{display:none}}@media (max-width:768px){.about-page{flex-direction:column}.about-page__sidebar{border-bottom:1px solid var(--border);border-right:none;height:auto;position:static;width:100%}.about-page__content{padding:20px 16px}}.projects-page{border-top:1px solid var(--border);display:flex;margin-top:64px;min-height:calc(100vh - 64px)}.projects-page__sidebar{background:var(--bg-primary);border-right:1px solid var(--border);flex-shrink:0;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:64px;width:220px}.projects-page__sidebar-toggle{align-items:center;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:14px 16px;transition:background .2s;width:100%}.projects-page__sidebar-toggle:hover{background:var(--bg-secondary)}.projects-page__filter-list{overflow:hidden;padding:8px 0}.projects-page__filter-btn{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 20px;text-align:left;transition:color .2s,background .2s;width:100%}.projects-page__filter-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.projects-page__filter-btn--active{color:var(--accent-cyan)}.filter-dot{border-radius:50%;flex-shrink:0;height:8px;transition:background .2s;width:8px}.filter-count{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:11px;margin-left:auto;padding:1px 7px}.projects-page__content{flex:1 1;overflow-y:auto;padding:24px 32px}.projects-page__header{border-bottom:1px solid var(--border);font-size:14px;margin-bottom:28px;padding-bottom:20px}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.proj-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,box-shadow .2s}.proj-card:hover{border-color:var(--accent-purple);box-shadow:0 8px 32px rgba(77,91,206,.15)}.proj-card__image-wrapper{background:var(--bg-secondary);height:180px;overflow:hidden;position:relative}.proj-card__image{height:100%;object-fit:cover;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;width:100%}.proj-card:hover .proj-card__image{-webkit-transform:scale(1.06);transform:scale(1.06)}.proj-card__overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(1,22,39,.85);display:flex;inset:0;justify-content:center;position:absolute}.proj-card__overlay-actions{display:flex;gap:12px}.proj-card__overlay-btn{align-items:center;background:var(--accent-cyan);border-radius:8px;color:var(--bg-primary);display:flex;font-family:Fira Code,monospace;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.proj-card__overlay-btn--outline{background:transparent;border:1px solid var(--accent-cyan);color:var(--accent-cyan)}.proj-card__lang-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;bottom:10px;color:var(--text-muted);display:flex;font-family:Fira Code,monospace;font-size:11px;gap:6px;padding:4px 10px;position:absolute;right:10px}.proj-card__icon{align-items:center;display:flex;font-size:14px}.proj-card__body{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:20px}.proj-card__header{align-items:center;display:flex;justify-content:space-between}.proj-card__number{color:var(--accent-purple);font-size:12px}.proj-card__private{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);display:flex;font-size:11px;gap:4px;padding:2px 8px}.proj-card__name{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.3}.proj-card__desc{color:var(--text-muted);flex:1 1;font-size:12px;line-height:1.6}.proj-card__footer{border-top:1px solid var(--border);margin-top:8px;padding-top:12px}.proj-card__link{align-items:center;color:var(--accent-cyan);display:inline-flex;font-family:Fira Code,monospace;font-size:13px;gap:6px;text-decoration:none;transition:gap .2s}.proj-card__link:hover{gap:10px}.proj-card__no-link{color:var(--text-muted);font-family:Fira Code,monospace;font-size:12px}@media (max-width:768px){.projects-page{flex-direction:column}.projects-page__sidebar{border-bottom:1px solid var(--border);border-right:none;height:auto;position:static;width:100%}.projects-page__content{padding:20px 16px}.projects-grid{grid-template-columns:1fr}}.contact-page{border-top:1px solid var(--border);display:flex;margin-top:64px;min-height:calc(100vh - 64px)}.contact-page__sidebar{background:var(--bg-primary);border-right:1px solid var(--border);flex-shrink:0;width:220px}.contact-sidebar__title{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:16px}.contact-sidebar__links{padding:12px 0}.contact-sidebar__link{align-items:center;border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;font-size:12px;gap:12px;padding:12px 20px;text-decoration:none;transition:color .2s,background .2s;word-break:break-all}.contact-sidebar__link:hover{background:var(--bg-secondary)}.contact-page__form-area{align-items:flex-start;border-right:1px solid var(--border);display:flex;flex:1 1;justify-content:center;padding:40px 32px}.contact-form-wrapper{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;max-width:500px;overflow:hidden;width:100%}.contact-form-header{border-bottom:1px solid var(--border)}.contact-form{display:flex;flex-direction:column;gap:20px;padding:28px}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__label{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:6px}.contact-form__input,.contact-form__textarea{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:Fira Code,monospace;font-size:13px;outline:none;padding:12px 14px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.contact-form__input:focus,.contact-form__textarea:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--glow-cyan)}.contact-form__input::-webkit-input-placeholder,.contact-form__textarea::-webkit-input-placeholder{color:var(--text-muted);opacity:.5}.contact-form__input:-ms-input-placeholder,.contact-form__textarea:-ms-input-placeholder{color:var(--text-muted);opacity:.5}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--text-muted);opacity:.5}.contact-form__hint{color:var(--text-muted);font-size:12px;margin-bottom:8px}.contact-btn{align-items:center;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));border:none;border-radius:8px;color:var(--bg-primary);cursor:pointer;display:inline-flex;font-family:Fira Code,monospace;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:opacity .2s;width:100%}.contact-btn--disabled{background:var(--bg-card);color:var(--text-muted);cursor:not-allowed;opacity:.5}.contact-btn__loading{-webkit-animation:pulse-glow 1s ease-in-out infinite;animation:pulse-glow 1s ease-in-out infinite}.contact-success{align-items:center;display:flex;flex-direction:column;gap:16px;padding:48px 28px;text-align:center}.contact-success__icon{font-size:48px}.contact-success__title{color:var(--text-primary);font-size:28px;font-weight:700}.contact-success__text{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:8px}.contact-page__preview{flex-shrink:0;padding:40px 24px;width:380px}.contact-code-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-family:Fira Code,monospace;font-size:12px;overflow:hidden}.contact-code-preview__body{line-height:1.9;padding:16px}.contact-code-preview__text{word-break:break-all}@media (max-width:1100px){.contact-page__preview{display:none}}@media (max-width:768px){.contact-page{flex-direction:column}.contact-page__sidebar{border-bottom:1px solid var(--border);border-right:none;width:100%}.contact-page__form-area{border-right:none;padding:24px 16px}}.blog-page{margin-top:64px;min-height:calc(100vh - 64px);padding:60px 40px}.blog-page__inner{display:flex;flex-direction:column;gap:48px;margin:0 auto;max-width:900px}.blog-header__eyebrow{font-size:14px;margin-bottom:12px}.blog-header__title{color:var(--text-primary);font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-1px;margin-bottom:16px}.blog-header__accent{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;background-clip:text}.blog-header__subtitle{color:var(--text-secondary);font-size:16px;line-height:1.7;max-width:600px;padding-bottom:16px}.blog-coming-soon{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-family:Fira Code,monospace;font-size:13px;max-width:420px;overflow:hidden}.blog-coming-soon__body{line-height:2;padding:16px}.blog-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.blog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:24px;transition:border-color .2s,box-shadow .2s}.blog-card:hover{border-color:var(--accent-purple);box-shadow:0 8px 32px rgba(77,91,206,.12)}.blog-card__tags{display:flex;flex-wrap:wrap;gap:8px}.blog-card__tag{align-items:center;background:var(--glow-purple);border:1px solid var(--accent-purple);border-radius:20px;color:var(--accent-purple);display:inline-flex;font-size:11px;gap:4px;padding:3px 10px}.blog-card__title{color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.4}.blog-card__excerpt{color:var(--text-muted);flex:1 1;font-size:13px;line-height:1.7}.blog-card__meta{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;padding-top:12px}.blog-card__meta-item{align-items:center;color:var(--text-muted);display:inline-flex;font-size:11px;gap:4px}.blog-card__status{color:var(--accent-yellow);font-size:11px}.blog-card__read{align-items:center;color:var(--accent-cyan);display:inline-flex;font-size:11px;gap:4px;margin-left:auto;opacity:.7}.blog-primary-btn,.blog-secondary-btn{align-items:center;border:1px solid var(--border);border-radius:8px;display:inline-flex;font-size:12px;gap:8px;padding:10px 14px;text-decoration:none}.blog-primary-btn{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--bg-primary);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.blog-secondary-btn{background:var(--bg-secondary);color:var(--text-primary)}.blog-danger-btn{background:rgba(178,58,72,.12);border:1px solid #b23a48;border-radius:8px;color:#ff9aa5;font-size:12px;gap:8px;justify-content:center;padding:10px 14px;text-decoration:none;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.blog-card__actions,.blog-danger-btn{align-items:center;display:inline-flex}.blog-card__actions{gap:12px;margin-left:auto}.blog-card__link{align-items:center;color:var(--accent-cyan);display:inline-flex;gap:4px;text-decoration:none}.blog-card__link--edit{color:var(--accent-yellow)}.blog-detail__top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.blog-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:24px}.blog-detail__title{color:var(--text-primary);font-size:clamp(24px,4vw,40px)}.blog-detail__meta{color:var(--text-muted);display:flex;font-size:12px;gap:18px}.blog-detail__meta span{align-items:center;display:inline-flex;gap:6px}.blog-detail__excerpt{color:var(--text-secondary);font-size:15px;line-height:1.8}.blog-detail__content{color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;line-height:1.8}.blog-detail__paragraph{white-space:pre-wrap}.blog-detail__code-block{background:#081523;border:1px solid var(--border);border-radius:12px;overflow:hidden}.blog-detail__code-header{align-items:center;background:hsla(0,0%,100%,.03);border-bottom:1px solid var(--border);color:var(--accent-cyan);display:flex;font-size:12px;min-height:40px;padding:0 14px;text-transform:lowercase}.blog-detail__code-pre{margin:0;overflow-x:auto;padding:16px}.blog-detail__code-pre code{color:#d6e4ff;display:block;font-family:Fira Code,monospace;font-size:13px;line-height:1.7;white-space:pre}.blog-form-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px}.blog-form{gap:16px;margin-top:20px}.blog-form,.blog-form__label{display:flex;flex-direction:column}.blog-form__label{color:var(--text-muted);font-size:12px;gap:8px}.blog-form__input,.blog-form__textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;width:100%}.blog-form__textarea{resize:vertical}.blog-form__grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.blog-empty{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:24px}.blog-empty--stack{align-items:flex-start;flex-direction:column}.blog-empty__hint{color:var(--text-muted);line-height:1.7}.blog-empty__hint code{color:var(--accent-cyan)}.blog-card__image{height:180px}.blog-card__image,.blog-detail__image{border:1px solid var(--border);border-radius:10px;object-fit:cover;width:100%}.blog-detail__image{max-height:420px}.blog-form__preview{border:1px solid var(--border);border-radius:10px;max-height:260px;object-fit:cover;width:100%}.blog-admin-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px}.blog-comments{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:14px;padding:20px}.blog-comments__title{color:var(--text-primary);font-size:20px}.blog-comments__form,.blog-comments__list{display:flex;flex-direction:column;gap:10px}.blog-comment-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);padding:12px}.blog-comment-card__meta{color:var(--text-muted);display:flex;font-size:12px;gap:10px;justify-content:space-between;margin-bottom:8px}.blog-detail__strong{color:var(--text-primary);font-weight:700}.blog-detail__italics{color:var(--text-primary);font-style:italic}.blog-detail__inline-code{background:rgba(67,217,173,.12);border:1px solid rgba(67,217,173,.22);border-radius:6px;color:var(--accent-cyan);display:inline-block;font-family:Fira Code,monospace;font-size:.92em;padding:1px 6px}.blog-detail__list{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:22px}.blog-detail__list-item{color:var(--text-secondary);line-height:1.8}@media (max-width:768px){.blog-page{padding:40px 16px}.blog-form__grid,.blog-grid{grid-template-columns:1fr}.blog-empty{align-items:flex-start;flex-direction:column}}:root{--bg-primary:#011627;--bg-secondary:#0a2540;--bg-card:#0d2137;--bg-card-hover:#112a47;--border:#1e2d3d;--accent-cyan:#43d9ad;--accent-purple:#4d5bce;--accent-coral:#e99287;--accent-yellow:#e5c07b;--text-primary:#e5e9f0;--text-muted:#607b96;--text-secondary:#abb2bf;--scrollbar-thumb:#1e2d3d;--nav-bg:rgba(1,22,39,.85);--glow-cyan:rgba(67,217,173,.15);--glow-purple:rgba(77,91,206,.15)}[data-theme=light]{--bg-primary:#f0f4f8;--bg-secondary:#e2eaf4;--bg-card:#fff;--bg-card-hover:#eef3fa;--border:#c5d3e0;--accent-cyan:#00875a;--accent-purple:#3b4fbf;--accent-coral:#c0392b;--accent-yellow:#b7860b;--text-primary:#1a202c;--text-muted:#4a5568;--text-secondary:#2d3748;--scrollbar-thumb:#c5d3e0;--nav-bg:rgba(240,244,248,.9);--glow-cyan:rgba(0,135,90,.08);--glow-purple:rgba(59,79,191,.08)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#011627;background-color:var(--bg-primary);color:#e5e9f0;color:var(--text-primary);font-family:Inter,sans-serif;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#011627;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e2d3d;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#607b96;background:var(--text-muted)}a{color:inherit;text-decoration:none}.mono{font-family:Fira Code,monospace}.section-padding{padding:80px 0}.cursor-glow{background:radial-gradient(circle,rgba(67,217,173,.15) 0,transparent 70%);background:radial-gradient(circle,var(--glow-cyan) 0,transparent 70%);border-radius:50%;height:500px;pointer-events:none;position:fixed;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:opacity .3s ease;width:500px;z-index:0}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}50%{-webkit-transform:translateY(-20px) scale(1.05);transform:translateY(-20px) scale(1.05)}}@keyframes float{0%,to{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}50%{-webkit-transform:translateY(-20px) scale(1.05);transform:translateY(-20px) scale(1.05)}}@-webkit-keyframes floatReverse{0%,to{-webkit-transform:translateY(0) scale(1.05);transform:translateY(0) scale(1.05)}50%{-webkit-transform:translateY(20px) scale(1);transform:translateY(20px) scale(1)}}@keyframes floatReverse{0%,to{-webkit-transform:translateY(0) scale(1.05);transform:translateY(0) scale(1.05)}50%{-webkit-transform:translateY(20px) scale(1);transform:translateY(20px) scale(1)}}@-webkit-keyframes spin-slow{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-slow{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes pulse-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes pulse-glow{0%,to{opacity:.5}50%{opacity:1}}@-webkit-keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink:after{-webkit-animation:blink 1s step-end infinite;animation:blink 1s step-end infinite;content:"_"}.highlight{font-weight:700;text-decoration:underline}
/*# sourceMappingURL=main.a80238cf.css.map*/