:root{--bg: #0c0f14;--bg-elevated: #13171f;--bg-card: #161b24;--text: #e6e9ef;--text-muted: #8b92a0;--accent: #22c4b8;--accent-dim: rgba(34, 196, 184, .15);--accent-glow: rgba(34, 196, 184, .25);--border: rgba(255, 255, 255, .06);--radius: 12px;--radius-lg: 20px;--font: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--header-h: 72px;--container: min(1120px, 92vw)}[data-theme=light]{--bg: #f8edeb;--bg-elevated: #fae1dd;--bg-card: #ece4db;--text: #2d2a28;--text-muted: #6b6360;--accent: #0d9488;--accent-dim: rgba(41, 109, 103, .15);--accent-glow: rgba(13, 148, 136, .2);--border: rgba(254, 197, 187, .6)}[data-theme=light] .header{background:#f8edebf2;border-bottom-color:#fcd5cecc}[data-theme=light] .header.is-scrolled{background:#fae1ddfa}[data-theme=light] .nav-toggle span{background:var(--text)}[data-theme=light] .hero-bg{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(34,196,184,.45),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(34,196,184,.18),transparent),radial-gradient(ellipse 40% 30% at 0% 80%,rgba(34,196,184,.14),transparent)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:17px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}ul{list-style:none;padding:0;margin:0}.container{width:var(--container);margin:0 auto;padding:0 24px}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-main{flex:1}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);background:#0c0f14d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background .2s,border-color .2s}.header.is-scrolled{background:#0c0f14f2;border-bottom-color:#ffffff14}.nav{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.nav-logo:before,.nav-logo:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:28px;margin-left:-1px;margin-top:-14px;border-radius:1px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scroll-pulse 2s ease-in-out infinite;pointer-events:none}.nav-logo:before{transform:rotate(45deg)}.nav-logo:after{transform:rotate(-45deg)}.nav-logo-text{position:relative;z-index:1;font-family:"Belanosima",var(--font);font-weight:800;font-size:2rem;letter-spacing:.05em;background:linear-gradient(135deg,var(--accent) 0%,#5eead4 50%,var(--text) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-logo:hover .nav-logo-text{background:linear-gradient(135deg,#5eead4 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-logo:hover{text-decoration:none}.nav-menu{display:flex;flex-wrap:nowrap;align-items:center;gap:20px}.nav-menu li{white-space:nowrap}.nav-menu li.nav-group-start{margin-left:8px;padding-left:16px;border-left:1px solid var(--border)}.nav-menu a{color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .2s}.nav-menu a:hover{color:var(--text);text-decoration:none}.nav-item-theme{display:flex;align-items:center;margin-left:12px}.nav-theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted);font-size:1.2rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.nav-theme-toggle:hover{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-dim)}.nav-item-login{margin-left:12px;padding-left:12px;border-left:1px solid var(--border)}.nav-login{display:inline-block;padding:8px 16px;font-size:.9rem;font-weight:500;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);transition:color .2s,background .2s,border-color .2s}.nav-login:hover{color:var(--bg);background:var(--accent);text-decoration:none}.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{width:24px;height:2px;background:var(--text);border-radius:1px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:var(--header-h);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--accent-glow),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(34,196,184,.08),transparent),radial-gradient(ellipse 40% 30% at 0% 80%,rgba(34,196,184,.06),transparent);pointer-events:none}.hero-inner{position:relative;z-index:1;width:var(--container);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:48px}.hero-content{max-width:560px}.hero-photo-circle{flex-shrink:0;width:280px;height:280px;border-radius:50%;overflow:hidden;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 20px var(--accent-glow),0 0 40px #22c4b859,0 0 60px #22c4b833,inset 0 0 20px #22c4b80f}.hero-photo-circle img{width:100%;height:100%;object-fit:cover;display:block}.hero-content{position:relative;z-index:1}.hero-label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;opacity:.9}.hero-title{font-size:clamp(2.75rem,8vw,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 20px}.hero-subtitle{font-size:1.2rem;color:var(--text-muted);max-width:520px;margin:0 0 12px}.hero-location{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);margin-bottom:32px}.hero-cta{display:flex;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-family:var(--font);font-size:.95rem;font-weight:600;border-radius:var(--radius);transition:transform .2s,box-shadow .2s}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{box-shadow:0 8px 24px var(--accent-glow)}.btn-ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);border-radius:1px;animation:scroll-pulse 2s ease-in-out infinite}@keyframes scroll-pulse{0%,to{opacity:.4;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}.section{padding:100px 0;border-bottom:1px solid var(--border);transition:transform .3s ease}.section:hover{transform:translateY(-6px)}.section:last-of-type{border-bottom:none}.section-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.02em;margin:0 0 48px;color:var(--text)}.about-grid{display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:start}.about-text .lead{font-size:1.15rem;color:var(--text-muted);margin:0 0 20px}.about-text p{margin:0 0 16px;color:var(--text-muted)}.about-text strong{color:var(--text)}.about-highlights{display:flex;flex-direction:column;gap:24px}.stat{padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--accent);margin-bottom:4px}.stat-label{font-size:.9rem;color:var(--text-muted)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.services-grid li{padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;color:var(--text-muted);transition:border-color .2s,color .2s}.services-grid li:hover{border-color:var(--accent-dim);color:var(--text)}.timeline{position:relative;padding-left:28px;border-left:2px solid var(--border);margin-left:8px}.timeline-item{position:relative;padding-bottom:40px}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-34px;top:6px;width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--bg),0 0 20px var(--accent-glow)}.timeline-content h3{font-size:1.2rem;font-weight:600;margin:0 0 4px}.timeline-role{font-size:.9rem;color:var(--accent);margin:0 0 8px}.timeline-desc{color:var(--text-muted);margin:0 0 8px;font-size:.95rem}.timeline-degree{font-size:.9rem;color:var(--accent);margin:0 0 4px}.timeline-date{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);display:block;margin-bottom:4px}.timeline-grade{font-size:.85rem;color:var(--text-muted);margin:0 0 6px}.timeline-meta{font-size:.85rem;color:var(--text-muted);margin:0 0 10px}.timeline-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.timeline-skill{font-size:.75rem;padding:4px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;color:var(--text-muted)}.experience-toggle-wrap{display:flex;justify-content:center;margin-top:32px}.experience-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;padding:12px 20px;cursor:pointer;color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.experience-toggle:hover{color:var(--accent)}.experience-toggle-text{pointer-events:none}.experience-toggle-line{width:1px;height:32px;background:linear-gradient(to bottom,var(--accent),transparent);border-radius:1px;animation:scroll-pulse 2s ease-in-out infinite}.education-timeline{position:relative;padding-left:28px;border-left:2px solid var(--border);margin-left:8px}.education-item{position:relative;padding-bottom:36px}.education-item:last-child{padding-bottom:0}.education-marker{position:absolute;left:-34px;top:6px;width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--bg),0 0 20px var(--accent-glow)}.education-content h3{font-size:1.2rem;font-weight:600;margin:0 0 6px}.education-degree{font-size:.95rem;color:var(--accent);margin:0 0 4px}.education-date{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:2px}.education-grade{font-size:.85rem;color:var(--text-muted);margin:0 0 4px}.education-meta{font-size:.85rem;color:var(--text-muted);margin:0}.skills-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:stretch}.activity-block{padding:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:520px;max-height:560px}.activity-block-title{font-size:1.1rem;font-weight:600;margin:0 0 4px;color:var(--accent)}.activity-block-desc{font-size:.85rem;color:var(--text-muted);margin:0 0 20px}.skill-level-list{list-style:none;padding:0;margin:0}.activity-list-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:6px}.activity-list-scroll::-webkit-scrollbar{width:6px}.activity-list-scroll::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:3px}.activity-list-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.activity-list-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.skill-level-item{margin-bottom:18px}.skill-level-item:last-child{margin-bottom:0}.skill-level-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.skill-level-name{font-size:.9rem;font-weight:500;color:var(--text)}.skill-level-percent,.skill-level-hours{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.skill-level-track{height:10px;background:var(--bg-elevated);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.skill-level-bar{height:100%;background:var(--accent);border-radius:999px;min-width:4px;transition:width .5s ease-out}.skill-level-bar.activity-bar{background:linear-gradient(90deg,var(--accent),rgba(34,196,184,.7))}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.card{padding:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s,transform .2s}.card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.card h3{font-size:1.1rem;font-weight:600;margin:0 0 12px}.card p{color:var(--text-muted);font-size:.95rem;margin:0 0 12px}.card-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.cert-card{padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s}.cert-card:hover{border-color:var(--accent-dim)}.cert-card.highlight{border-color:var(--accent-dim);background:var(--accent-dim)}.cert-issuer{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:8px}.cert-card h3{font-size:1.05rem;margin:0 0 4px}.cert-date{font-size:.85rem;color:var(--text-muted)}.cert-card p{font-size:.9rem;color:var(--text-muted);margin:8px 0 0}.lang-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.lang-list li{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}.lang-name{font-weight:500}.lang-level{color:var(--text-muted);font-size:.85rem}.contact-intro{color:var(--text-muted);max-width:480px;margin:0 0 32px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.contact-icons{display:flex;gap:12px}.contact-icon-link{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);transition:color .2s,border-color .2s}.contact-icon-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.contact-icon{width:28px;height:28px}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-label{font-size:.9rem;font-weight:500;color:var(--text-muted);display:block;margin-bottom:-8px}.contact-input{width:100%;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:1rem;transition:border-color .2s}.contact-input::placeholder{color:var(--text-muted);opacity:.8}.contact-input:focus{outline:none;border-color:var(--accent)}.contact-input:disabled{opacity:.7;cursor:not-allowed}.contact-textarea{min-height:120px;resize:vertical}.contact-submit{margin-top:8px;align-self:flex-start}.contact-status{font-size:.9rem;margin:0}.contact-status--success{color:var(--accent)}.contact-status--error{color:#e57373}.reviews-intro{color:var(--text-muted);max-width:520px;margin:0 0 24px}.reviews-actions{margin-bottom:40px}.reviews-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto}.reviews-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;box-shadow:0 20px 40px #0000004d}.reviews-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.reviews-modal-title{margin:0;font-size:1.25rem;font-weight:600}.reviews-modal-close{width:36px;height:36px;padding:0;border:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}.reviews-modal-close:hover{color:var(--text);border-color:var(--accent)}.reviews-form{display:flex;flex-direction:column;gap:16px}.reviews-label{font-size:.9rem;font-weight:500;color:var(--text-muted);display:block;margin-bottom:-8px}.reviews-label--inline{margin-bottom:0;margin-right:8px}.reviews-input{width:100%;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:1rem;transition:border-color .2s}.reviews-input::placeholder{color:var(--text-muted);opacity:.8}.reviews-input:focus{outline:none;border-color:var(--accent)}.reviews-textarea{min-height:100px;resize:vertical}.reviews-rating-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reviews-stars{display:inline-flex;gap:4px}.reviews-star{background:none;border:none;padding:0;font-size:1.6rem;line-height:1;color:var(--border);cursor:pointer;transition:color .2s,transform .15s}.reviews-star:hover:not(:disabled){color:var(--accent);transform:scale(1.1)}.reviews-star--filled{color:var(--accent)}.reviews-star:disabled{cursor:default}.reviews-photo-row{display:flex;flex-direction:column;gap:8px}.reviews-photo-input-wrap{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}.reviews-photo-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.reviews-photo-label{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,color .2s}.reviews-photo-label:hover{border-color:var(--accent);color:var(--accent)}.reviews-photo-label:has(input:disabled){opacity:.7;cursor:not-allowed}.reviews-photo-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-muted)}.reviews-photo-label:hover .reviews-photo-icon{color:var(--accent)}.reviews-photo-icon svg{width:24px;height:24px}.reviews-photo-label-text{font-size:.95rem;color:var(--text-muted)}.reviews-photo-label:hover .reviews-photo-label-text{color:var(--accent)}.reviews-photo-preview-wrap{position:relative;flex-shrink:0}.reviews-photo-preview{width:64px;height:64px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border)}.reviews-photo-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}.reviews-photo-remove:hover{color:var(--text);border-color:var(--accent)}.reviews-photo-hint{font-size:.8rem;color:var(--text-muted)}.reviews-submit{align-self:flex-start;margin-top:8px}.reviews-status{font-size:.9rem;margin:0}.reviews-status--success{color:var(--accent)}.reviews-status--error{color:#e57373}.reviews-list-title{font-size:1.1rem;font-weight:600;margin:0 0 16px;color:var(--text)}.reviews-empty{color:var(--text-muted);font-size:.95rem;margin:0}.reviews-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.reviews-card{padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.reviews-card-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.reviews-card-photo{width:48px;height:48px;object-fit:cover;border-radius:50%;flex-shrink:0}.reviews-card-head{flex:1;min-width:0}.reviews-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:4px}.reviews-card-name{font-weight:600;color:var(--text)}.reviews-card-meta{margin:0;font-size:.85rem;color:var(--text-muted)}.reviews-card-text{margin:0 0 10px;font-size:.95rem;line-height:1.5;color:var(--text);white-space:pre-wrap}.reviews-card-date{font-size:.85rem;color:var(--text-muted)}.blog-loading{margin:0;color:var(--text-muted)}.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px}.blog-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden;transition:border-color .2s}.blog-card:hover{border-color:var(--accent-dim)}.blog-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.blog-card-link:hover{text-decoration:none}.blog-card-link:hover .blog-card-title{color:var(--accent)}.blog-card-image{aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-elevated);flex-shrink:0}.blog-card-image img{width:100%;height:100%;object-fit:cover}.blog-card-body{padding:14px;flex:1;display:flex;flex-direction:column;min-width:0}.blog-card-title{margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.blog-card-excerpt{margin:0 0 8px;font-size:.875rem;color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.blog-card-date{font-size:.8rem;color:var(--text-muted)}.blog-back{display:inline-flex;align-items:center;gap:8px;margin-top:0;margin-bottom:24px;padding:10px 16px;font-size:.95rem;font-weight:500;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);transition:color .2s,border-color .2s,background .2s}.blog-back:hover{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-dim);text-decoration:none}.blog-back-bottom{margin-top:40px;margin-bottom:0}.blog-post-section{padding:calc(var(--header-h) + 40px) 0 12px}.blog-post-section .container{max-width:1100px}.share-buttons{display:flex;align-items:center;gap:12px;margin:24px 0;padding:16px 0;border-top:1px solid var(--border)}.share-label{font-size:.9rem;color:var(--text-muted)}.share-links{display:flex;gap:8px}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted);font-size:.9rem;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.share-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.share-copy{cursor:pointer;font-family:inherit}.blog-comments-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.blog-comments-disabled{color:var(--text-muted);margin:0 0 16px}.blog-rating-block{margin-bottom:28px}.blog-comments-title{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--text)}.star-rating{display:flex;gap:4px;margin-bottom:8px}.star-rating .star{background:none;border:none;padding:0;cursor:pointer;font-size:1.5rem;color:var(--border);transition:color .2s}.star-rating .star.filled{color:var(--accent)}.star-rating .star:hover:not(:disabled){color:var(--accent)}.blog-avg-rating{font-size:.85rem;color:var(--text-muted)}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(20px);padding:12px 20px;border-radius:var(--radius);font-size:.9rem;font-weight:500;z-index:1000;animation:toast-in .35s ease-out forwards;box-shadow:0 8px 24px #00000040}.toast.toast-success{background:var(--bg-card);border:1px solid var(--accent-dim);color:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast.toast-exit{animation:toast-out .3s ease-in forwards}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-12px)}}.comment-error{padding:12px;margin-bottom:16px;border-radius:var(--radius);background:#ff5c7a26;border:1px solid rgba(255,92,122,.4);color:#ff5c7a;font-size:.9rem}.comment-form,.comment-reply-form{margin-bottom:24px}.comment-form .comment-input,.comment-reply-form .comment-input,.comment-form .comment-textarea,.comment-reply-form .comment-textarea{display:block;width:100%;margin-bottom:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-family:inherit;font-size:1rem}.comment-form .comment-textarea,.comment-reply-form .comment-textarea{resize:vertical;min-height:80px}.comment-form-actions{display:flex;gap:10px}.comments-list{display:flex;flex-direction:column;gap:16px}.comments-empty{color:var(--text-muted);font-size:.95rem;margin:0}.comment-item{padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.comment-reply{border-left:3px solid var(--accent-dim)}.comment-header{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.comment-author{font-weight:600;color:var(--accent);font-size:.95rem}.comment-date{font-size:.8rem;color:var(--text-muted)}.comment-content{margin:0 0 10px;font-size:.95rem;color:var(--text);line-height:1.5}.comment-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.comment-react{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .2s}.comment-react:hover,.comment-react.active{color:var(--accent)}.comment-reply-btn,.comment-mention-btn{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .2s}.comment-reply-btn:hover,.comment-mention-btn:hover{color:var(--accent)}.comment-reply-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.footer{padding:16px 0;border-top:1px solid var(--border);text-align:center}.footer-inner{display:flex;align-items:center;justify-content:center}.footer p{margin:0;font-size:.9rem;color:var(--text-muted)}.footer-login{font-size:.9rem;color:var(--text-muted);transition:color .2s}.footer-login:hover{color:var(--accent);text-decoration:none}.dashboard-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.dashboard-topbar{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0c0f14f2;border-bottom:1px solid var(--border)}.dashboard-logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-weight:700;font-size:1.1rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,color .2s}.dashboard-logo:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.dashboard-logo-text{letter-spacing:-.02em}.dashboard-logout-btn{padding:8px 18px;font-size:.9rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color .2s,border-color .2s}.dashboard-logout-btn:hover{color:var(--accent);border-color:var(--accent)}.dashboard-menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer}.dashboard-menu-btn span{display:block;height:2px;background:currentColor;border-radius:1px}.dashboard-body{flex:1;display:flex;min-height:0}.dashboard-sidebar-overlay{display:none}.dashboard-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border);transition:width .25s ease}.dashboard-sidebar:not(.is-open){width:64px}.dashboard-sidebar-toggle{flex-shrink:0;height:48px;padding:0 16px;display:flex;align-items:center;justify-content:flex-end;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color .2s}.dashboard-sidebar:not(.is-open) .dashboard-sidebar-toggle{justify-content:center}.dashboard-sidebar-toggle:hover{color:var(--accent)}.dashboard-sidebar-toggle-icon{font-size:1.25rem;line-height:1}.dashboard-sidebar-nav{flex:1;padding:12px 0;display:flex;flex-direction:column;gap:4px}.dashboard-sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--text-muted);font-size:.95rem;font-weight:500;transition:color .2s,background .2s;text-decoration:none}.dashboard-sidebar-link:hover{color:var(--text);background:var(--accent-dim)}.dashboard-sidebar-link.active{color:var(--accent);background:var(--accent-dim)}.dashboard-sidebar-icon{flex-shrink:0;width:24px;text-align:center;font-size:1rem}.dashboard-sidebar:not(.is-open) .dashboard-sidebar-label{display:none}.dashboard-sidebar:not(.is-open) .dashboard-sidebar-link{padding-left:16px;justify-content:center}.dashboard-main{flex:1;overflow-y:auto;padding:24px}.dashboard .section-title{margin-bottom:24px}.dashboard-stats{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;margin-bottom:24px}.dashboard-stat-card{padding:16px 20px;min-width:0;flex:1 1 0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px}.dashboard-stat-value{font-size:1.4rem;font-weight:600;color:var(--text)}.dashboard-stat-label{font-size:.82rem;color:var(--text-muted)}.dashboard-card{padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:640px}.dashboard-card-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text)}.dashboard-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media(max-width:720px){.dashboard-charts-row{grid-template-columns:1fr}}.dashboard-chart-card{max-width:none;margin-bottom:0}.dashboard-chart{width:100%}.dashboard-chart-placeholder{height:260px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.95rem}.dashboard-table-card{max-width:none;margin-bottom:24px}.dashboard-table-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.dashboard-table-header .dashboard-card-title{margin:0}.dashboard-table-search{padding:10px 16px;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:var(--font);transition:border-color .2s}.dashboard-table-search::placeholder{color:var(--text-muted)}.dashboard-table-search:focus{outline:none;border-color:var(--accent)}.dashboard-table-wrap{overflow-x:auto;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.dashboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.dashboard-table th,.dashboard-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.dashboard-table thead{position:sticky;top:0;z-index:1}.dashboard-table thead th{background:var(--bg-elevated);font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:12px 16px;box-shadow:0 1px 0 var(--border)}.dashboard-table-th{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;width:100%;transition:color .2s}.dashboard-table-th:hover{color:var(--accent)}.dashboard-table-sort{opacity:.7;font-size:.75em}.dashboard-table-empty-cell{text-align:center;color:var(--text-muted);padding:24px}.dashboard-table td{color:var(--text)}.dashboard-table-row{cursor:pointer;transition:background .15s}.dashboard-table-row:hover{background:var(--accent-dim)}.dashboard-table-message{max-width:200px;color:var(--text-muted)}.dashboard-table-empty{margin:0;color:var(--text-muted);font-size:.95rem}.dashboard-table-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.dashboard-table-pagination-info{font-size:.9rem;color:var(--text-muted)}.dashboard-table-pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.dashboard-table-pagination-size{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-muted)}.dashboard-table-page-size-select{padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:var(--font);cursor:pointer}.dashboard-table-page-size-select:focus{outline:none;border-color:var(--accent)}.dashboard-table-pagination-buttons{display:flex;align-items:center;gap:12px}.dashboard-table-page-btn{padding:6px 14px;font-size:.9rem;font-weight:500;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color .2s,border-color .2s}.dashboard-table-page-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.dashboard-table-page-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-table-page-num{font-size:.9rem;color:var(--text-muted)}.dashboard-badge{display:inline-block;padding:2px 8px;font-size:.8rem;font-weight:500;border-radius:6px}.dashboard-badge--success{background:var(--accent-dim);color:var(--accent)}.dashboard-badge--muted{background:var(--border);color:var(--text-muted)}.dashboard-modal-photo-wrap{margin-bottom:16px}.dashboard-modal-photo{width:64px;height:64px;object-fit:cover;border-radius:50%;border:1px solid var(--border)}.dashboard-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto}.dashboard-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;box-shadow:0 20px 40px #0000004d}.dashboard-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dashboard-modal-title{margin:0;font-size:1.2rem;font-weight:600}.dashboard-modal-close{width:36px;height:36px;padding:0;border:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}.dashboard-modal-close:hover{color:var(--text);border-color:var(--accent)}.dashboard-modal-body{margin:0}.dashboard-modal-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;align-items:baseline}.dashboard-modal-dl dt{grid-column:1;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dashboard-modal-dl dd{margin:0;grid-column:2;color:var(--text);font-size:.95rem}.dashboard-modal-dl dd a{color:var(--accent)}.dashboard-modal-dl .dashboard-modal-message{grid-column:1 / -1;white-space:pre-wrap;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:4px}@media(max-width:900px){.dashboard-menu-btn{display:flex}.dashboard-topbar{padding:0 16px}.dashboard-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-h);background:#0006;z-index:99;transition:opacity .2s}.dashboard-sidebar{position:fixed;left:0;top:var(--header-h);bottom:0;width:260px;max-width:85vw;z-index:100;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 20px #0003}.dashboard-sidebar.is-mobile-open{transform:translate(0)}.dashboard-sidebar:not(.is-open){width:260px;max-width:85vw}.dashboard-sidebar:not(.is-open) .dashboard-sidebar-label{display:block}.dashboard-sidebar:not(.is-open) .dashboard-sidebar-link{justify-content:flex-start;padding-left:16px}.dashboard-main{padding:16px;width:100%}.dashboard .container{padding-left:16px;padding-right:16px}.dashboard .section-title{font-size:1.5rem;margin-bottom:20px}.dashboard-stats{gap:10px;margin-bottom:20px}.dashboard-stat-card{padding:12px 14px}.dashboard-stat-value{font-size:1.2rem}.dashboard-stat-label{font-size:.75rem}.dashboard-card{padding:16px}.dashboard-chart-placeholder{height:220px}.dashboard-table-header{flex-direction:column;align-items:stretch;gap:12px}.dashboard-table-search{min-width:0;width:100%}.dashboard-table th,.dashboard-table td{padding:10px 12px;font-size:.85rem}.dashboard-table-message{max-width:120px}.dashboard-table-pagination{flex-direction:column;align-items:stretch;gap:12px;margin-top:12px;padding-top:12px}.dashboard-table-pagination-controls{flex-wrap:wrap;justify-content:space-between}.dashboard-modal-overlay{padding:24px 16px 16px;align-items:flex-start}.dashboard-modal{max-width:none;padding:20px}.dashboard-modal-dl{grid-template-columns:1fr}.dashboard-modal-dl dd{grid-column:1}}@media(max-width:560px){.dashboard-stats{flex-wrap:wrap}.dashboard-stat-card{flex:1 1 calc(33.333% - 8px);min-width:80px}.dashboard-logout-btn{padding:6px 12px;font-size:.85rem}}@media(max-width:400px){.dashboard-stat-card{flex:1 1 100%}}.dashboard-breakdown{max-width:480px;margin-bottom:24px}.dashboard-breakdown-list{list-style:none;margin:0;padding:0}.dashboard-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.dashboard-breakdown-item:last-child{border-bottom:none}.dashboard-breakdown-label{font-size:.95rem;color:var(--text)}.dashboard-breakdown-count{font-size:.95rem;font-weight:500;color:var(--accent)}.dashboard-welcome{margin:0;color:var(--text-muted);font-size:1rem}.dashboard-loading{margin:0;color:var(--text-muted)}.login-card{max-width:400px;margin:0 auto;padding:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.login-intro{color:var(--text-muted);margin:0 0 24px;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:16px}.login-submit{margin-top:8px}.login-message{font-size:.9rem;margin:0}.login-message--error{color:#e57373}@media(max-width:900px){.hero-inner{flex-direction:column;text-align:center}.hero-content{max-width:none}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-photo-circle{width:220px;height:220px}.about-grid{grid-template-columns:1fr}.nav-menu{position:fixed;top:var(--header-h);right:0;width:280px;height:calc(100vh - var(--header-h));background:var(--bg-elevated);border-left:1px solid var(--border);flex-direction:column;align-items:stretch;padding:24px;gap:8px;transform:translate(100%);transition:transform .25s}.nav-menu li.nav-group-start{margin-left:0;padding-left:0;border-left:none;padding-top:12px;margin-top:4px;border-top:1px solid var(--border)}.nav-menu li.nav-group-start:first-child{padding-top:0;margin-top:0;border-top:none}.nav-menu.is-open{transform:translate(0)}.nav-toggle{display:flex}}@media(max-width:600px){.section{padding:64px 0}.hero-photo-circle{width:200px;height:200px}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.cards,.certs-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:stretch}}
