@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:2rem;padding:0 2rem;height:65px;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background var(--transition)}.navbar .nav-brand{font-size:1.5rem;font-weight:700;letter-spacing:1px;margin-right:auto}.navbar .nav-links{display:flex;list-style:none;gap:2rem}.navbar .nav-links a{font-size:.95rem;font-weight:500;color:var(--text-secondary);padding-bottom:4px;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}.navbar .nav-links a:hover,.navbar .nav-links a.active{color:var(--text)}.navbar .dark-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:6px;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.navbar .dark-toggle:hover{background:var(--bg-secondary)}.navbar .hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--text);padding:4px}.navbar .mobile-menu{display:none}@media(max-width:640px){.navbar .nav-links{display:none}.navbar .hamburger{display:flex}.navbar .mobile-menu{display:flex;flex-direction:column;position:absolute;top:65px;left:0;right:0;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:1rem 2rem;gap:1rem}.navbar .mobile-menu a{font-size:1rem;font-weight:500;color:var(--text-secondary)}.navbar .mobile-menu a.active{color:var(--text)}}.base-layout{display:flex;flex-direction:column;min-height:100vh}.footer{text-align:center;padding:1.5rem;font-size:.85rem;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:auto}.home-page{display:flex;align-items:center;min-height:calc(100vh - 130px)}.home-content{display:flex;align-items:center;justify-content:space-between;gap:4rem;width:100%}@media(max-width:768px){.home-content{flex-direction:column-reverse;gap:2.5rem;text-align:center}}.home-text{flex:1;max-width:600px}.home-text .greeting{font-size:1.1rem;color:var(--text-secondary);margin-bottom:.5rem}.home-text .name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1;margin-bottom:.5rem;-webkit-background-clip:text;background-clip:text}.home-text .role{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400;color:var(--text-secondary);margin-bottom:2rem}.mini-bio{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:2.5rem}.mini-bio li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text-secondary)}.mini-bio li span:first-child{font-size:1.2rem}@media(max-width:768px){.mini-bio{align-items:center}}.home-cta{display:flex;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.home-cta{justify-content:center}}.home-cta .btn-primary{padding:.75rem 1.75rem;border-radius:10px;font-weight:600;font-size:.95rem;background:linear-gradient(135deg,#00ffa4,#a668ff);color:#000;transition:opacity .2s,transform .2s}.home-cta .btn-primary:hover{opacity:.85;transform:translateY(-2px)}.home-cta .btn-secondary{padding:.75rem 1.75rem;border-radius:10px;font-weight:600;font-size:.95rem;border:1.5px solid var(--border);color:var(--text);transition:background .2s,transform .2s}.home-cta .btn-secondary:hover{background:var(--bg-secondary);transform:translateY(-2px)}.portrait-wrapper{flex-shrink:0}.portrait-wrapper .portrait-ring{width:260px;height:260px;border-radius:50%;padding:4px;display:flex;align-items:center;justify-content:center}.portrait-wrapper .portrait-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg-secondary)}@media(max-width:768px){.portrait-wrapper .portrait-ring{width:180px;height:180px}}.about-page{padding-top:2rem}.about-page .page-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:3rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.about-grid{grid-template-columns:1fr}}.about-grid .about-skills{grid-column:1/-1}@media(max-width:768px){.about-grid .about-skills{grid-column:1}}.about-bio,.about-hobbies,.about-skills{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:var(--shadow)}.about-bio h2,.about-hobbies h2,.about-skills h2{font-size:1.2rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.about-bio p,.about-hobbies p,.about-skills p{color:var(--text-secondary);line-height:1.75;margin-bottom:1rem;font-size:.95rem}.about-bio p code,.about-hobbies p code,.about-skills p code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.85rem}.hobbies-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.hobbies-list li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text);cursor:default}.hobbies-list li .hobby-emoji{font-size:1.4rem;width:2rem;text-align:center}.skills-grid{display:flex;flex-wrap:wrap;gap:.65rem}.skills-grid .skill-badge{padding:.4rem 1rem;border-radius:999px;border:1.5px solid;font-size:.85rem;font-weight:500;color:var(--text);cursor:default;transition:transform .2s}.portfolio-page{padding-top:2rem}.portfolio-page .page-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:.75rem}.portfolio-page .portfolio-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:3rem}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem}@media(max-width:480px){.portfolio-grid{grid-template-columns:1fr}}.project-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow var(--transition)}.project-card:hover{box-shadow:0 12px 40px #00000026}.project-image{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-secondary)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-image:hover img{transform:scale(1.04)}.project-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.project-image-placeholder span{font-size:2.5rem}.project-image-placeholder p{font-size:.75rem;color:var(--text-secondary);text-align:center;padding:0 1rem;font-family:monospace}.project-info{padding:1.25rem 1.5rem}.project-info .project-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.project-links{display:flex;gap:.75rem;flex-wrap:wrap}.project-links .link-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;transition:opacity .2s,transform .2s}.project-links .link-btn:hover{opacity:.8;transform:translateY(-1px)}.project-links .link-btn.link-live{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text)}.project-links .link-btn.link-source{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.contact-page{padding-top:2rem;max-width:700px}.contact-page .page-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:1rem}.contact-page .contact-intro{color:var(--text-secondary);font-size:1rem;line-height:1.75;margin-bottom:2.5rem}.contact-page .contact-note{margin-top:2rem;font-size:.85rem;color:var(--text-secondary)}.contact-page .contact-note code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.socials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.social-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.75rem 1rem;border-radius:16px;border:1.5px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);cursor:pointer;transition:box-shadow var(--transition)}.social-card:hover{box-shadow:0 8px 32px #0000001f}.social-card .social-icon{font-size:2rem;color:var(--text);display:flex}.social-card .social-icon svg{font-size:2rem}.social-card .social-label{font-size:.9rem;font-weight:500;color:var(--text-secondary);text-transform:capitalize}.crypto-tools-page{padding-top:2rem;max-width:860px}.tools-header{margin-bottom:2.5rem}.tools-header h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;margin-bottom:.75rem;line-height:1.15}.tools-header .tools-subtitle{color:var(--text-secondary);font-size:.97rem;line-height:1.7;max-width:600px}.tool-tabs{display:flex;gap:.75rem;margin-bottom:1.75rem;flex-wrap:wrap}.tool-tab{position:relative;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border:1.5px solid var(--border);border-radius:14px;background:var(--card-bg);cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;overflow:hidden;text-align:left;flex:1;min-width:180px}.tool-tab:hover{border-color:var(--text-secondary);box-shadow:var(--shadow)}.tool-tab.active{border-color:transparent;box-shadow:0 0 0 2px #00ffa480}.tool-tab .tab-icon{font-size:1.4rem;display:flex;color:var(--text-secondary);flex-shrink:0}.tool-tab .tab-icon svg{font-size:1.4rem}.tool-tab .tab-text{display:flex;flex-direction:column;gap:.15rem}.tool-tab .tab-label{font-size:.9rem;font-weight:600;color:var(--text)}.tool-tab .tab-desc{font-size:.75rem;color:var(--text-secondary)}.tool-tab .tab-indicator{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 14px 14px}@media(max-width:600px){.tool-tab{flex:1 1 calc(50% - .375rem);min-width:140px}}.tool-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:2rem;box-shadow:var(--shadow);margin-bottom:1.5rem}@media(max-width:600px){.tool-panel{padding:1.25rem}}.tool-panel-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.tool-panel-header span.tool-panel-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--bg-secondary);color:var(--text);flex-shrink:0}.tool-panel-header span.tool-panel-icon svg{font-size:1.5rem}.tool-panel-header h2{font-size:1.2rem;font-weight:600;margin-bottom:.15rem}.tool-panel-header p{font-size:.82rem;color:var(--text-secondary)}.tool-body{display:flex;flex-direction:column;gap:1.25rem}.mode-toggle{display:flex;gap:.5rem}.mode-toggle .mode-btn{padding:.5rem 1.25rem;border-radius:8px;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s}.mode-toggle .mode-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.mode-toggle .mode-btn.active{border-color:transparent;color:#000;font-weight:600}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.input-group textarea,.input-group input[type=text]{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:.85rem 1rem;color:var(--text);font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .2s}.input-group textarea:focus,.input-group input[type=text]:focus{outline:none;border-color:var(--text-secondary)}.input-group textarea::placeholder,.input-group input[type=text]::placeholder{color:var(--text-secondary);opacity:.5}.shift-group .shift-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--border);outline:none;cursor:pointer;border:none;padding:0}.shift-group .shift-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#00ffa4;cursor:pointer;box-shadow:0 0 0 3px #00ffa440}.shift-group .shift-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.tool-btn{padding:.75rem 1.75rem;border:none;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;color:#000;align-self:flex-start;transition:opacity .2s,transform .2s}.tool-btn:hover:not(:disabled){opacity:.85;transform:translateY(-2px)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.outputs{display:flex;flex-direction:column;gap:.85rem}.output-box{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.output-box.error{border-color:#f55}.output-box .output-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.output-box .output-label{font-size:.78rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.output-box .output-value{padding:.85rem 1rem;font-size:.85rem;line-height:1.6;color:var(--text);word-break:break-all}.output-box .output-value.mono{font-family:Courier New,Courier,monospace;font-size:.82rem}.output-box .output-value.empty{color:var(--text-secondary);font-style:italic;font-family:inherit}.output-box .output-value.error-text{color:#f55}.copy-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s}.copy-btn:hover{background:var(--bg-secondary);color:var(--text)}.copy-btn.copied{color:#00ffa4;border-color:#00ffa4}.brute-force{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.brute-force summary{padding:.75rem 1rem;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:color .2s}.brute-force summary:hover{color:var(--text)}.brute-force .brute-force-list{max-height:280px;overflow-y:auto;border-top:1px solid var(--border)}.brute-force .brute-row{display:flex;align-items:center;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem}.brute-force .brute-row:last-child{border-bottom:none}.brute-force .brute-row:hover{background:var(--bg-secondary)}.brute-force .brute-row .brute-shift{font-weight:700;font-family:monospace;min-width:28px}.brute-force .brute-row .brute-text{flex:1;font-family:monospace;color:var(--text);word-break:break-all}.info-note{font-size:.85rem;color:var(--text-secondary);padding:.6rem 1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.privacy-note{font-size:.82rem;color:var(--text-secondary);padding:.85rem 1.1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;line-height:1.6}.certifications-page{padding-top:2rem}.cert-header{margin-bottom:2rem}.cert-header h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.cert-header .cert-subtitle{color:var(--text-secondary);font-size:.97rem;line-height:1.7;max-width:580px;margin-bottom:1.5rem}.cert-stats{display:flex;gap:1rem;flex-wrap:wrap}.cert-stats .stat-pill{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;min-width:80px}.cert-stats .stat-pill .stat-value{font-size:1.75rem;font-weight:700;line-height:1}.cert-stats .stat-pill .stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.cert-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.cert-filters .filter-btn{padding:.45rem 1.1rem;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.cert-filters .filter-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.cert-filters .filter-btn.active{font-weight:600}.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}@media(max-width:480px){.cert-grid{grid-template-columns:1fr}}.cert-card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;gap:1rem;transition:box-shadow .2s}.cert-card:hover{box-shadow:0 10px 40px #00000026}.cert-card:hover .cert-accent-bar{height:4px}.cert-card .cert-accent-bar{position:absolute;bottom:0;left:0;right:0;height:3px;transition:height .2s}.cert-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cert-card-top .cert-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.cert-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;border:1.5px solid;font-size:.75rem;font-weight:600}.cert-status-badge .status-dot{width:6px;height:6px;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.cert-body{flex:1}.cert-body .cert-name{font-size:1rem;font-weight:700;line-height:1.35;margin-bottom:.4rem;color:var(--text)}.cert-body .cert-issuer{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:.6rem}.cert-body .cert-desc{font-size:.83rem;color:var(--text-secondary);line-height:1.6}.cert-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border);gap:.5rem;flex-wrap:wrap}.cert-footer .cert-dates{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary)}.cert-footer .cert-dates svg{font-size:.9rem}.cert-footer .cert-links{display:flex;gap:.75rem}.cert-footer .cert-links .cert-link{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;font-weight:600;transition:opacity .2s}.cert-footer .cert-links .cert-link:hover{opacity:.7}.cert-footer .cert-links .cert-link svg{font-size:.8rem}.cert-note{font-size:.82rem;color:var(--text-secondary);padding:.85rem 1.1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;line-height:1.6}.cert-note code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.8rem}.timeline-page{padding-top:2rem;max-width:760px}.timeline-header{margin-bottom:2rem}.timeline-header h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.timeline-header .timeline-subtitle{color:var(--text-secondary);font-size:.97rem;line-height:1.7;max-width:560px}.timeline-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}.timeline-controls .filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s}.timeline-controls .filter-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.timeline-controls .filter-btn .filter-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.timeline-list{display:flex;flex-direction:column;gap:0;padding-left:1rem}.timeline-event{position:relative;display:flex;gap:1.5rem;padding-bottom:2rem}.timeline-event:last-child{padding-bottom:0}.timeline-line{position:absolute;left:18px;top:42px;bottom:0;width:2px;border-radius:1px}.timeline-dot{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;z-index:1;position:relative;transition:transform .2s}.timeline-dot svg{font-size:1.1rem}.timeline-event:hover .timeline-dot{transform:scale(1.1)}.timeline-card{flex:1;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.25rem;cursor:pointer;transition:box-shadow .2s,border-color .2s;-webkit-user-select:none;user-select:none}.timeline-card:hover{box-shadow:var(--shadow)}.timeline-card .tc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.timeline-card .tc-header .tc-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timeline-card .tc-header .tc-date{font-size:.78rem;font-weight:700;color:var(--text-secondary);font-family:monospace}.timeline-card .tc-header .tc-type-badge{font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;border:1px solid;text-transform:uppercase;letter-spacing:.04em}.timeline-card .tc-header .tc-expand-hint{font-size:.7rem;color:var(--text-secondary);opacity:.5}.timeline-card .tc-title{font-size:1rem;font-weight:700;margin-bottom:.2rem;color:var(--text)}.timeline-card .tc-subtitle{font-size:.83rem;color:var(--text-secondary)}.tc-details{overflow:hidden;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border)}.tc-details .tc-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.7;margin-bottom:.85rem}.tc-details .tc-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tc-details .tc-tags .tc-tag{font-size:.75rem;font-weight:500;padding:.25rem .7rem;border-radius:999px;border:1px solid;cursor:default}.timeline-note{margin-top:2rem;font-size:.82rem;color:var(--text-secondary);padding:.85rem 1.1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;line-height:1.6}.timeline-note code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.8rem}.blog-page{padding-top:2rem}.blog-header{margin-bottom:2rem}.blog-header h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.blog-header .blog-subtitle{color:var(--text-secondary);font-size:.97rem;line-height:1.7;max-width:580px}.blog-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.blog-tags .tag-btn{padding:.4rem 1rem;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s}.blog-tags .tag-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.blog-tags .tag-btn.active{font-weight:700}.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-bottom:1.5rem}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;margin-bottom:1.5rem}.article-card{display:flex;flex-direction:column;gap:.75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:box-shadow .2s}.article-card:hover{box-shadow:0 12px 40px #00000026}.article-card.featured{border-color:#00ffa440}.featured-badge{display:inline-flex;align-self:flex-start;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#000}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem}.article-tags .article-tag{font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.article-title{font-size:1.05rem;font-weight:700;line-height:1.4;color:var(--text);flex:0}.article-excerpt{font-size:.87rem;color:var(--text-secondary);line-height:1.65;flex:1}.article-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--border);margin-top:auto}.article-footer .article-meta{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.article-footer .article-meta svg{font-size:.9rem}.article-footer .article-read-link{margin-left:auto;display:inline-flex;align-items:center;gap:.2rem;font-size:.82rem;font-weight:700;transition:opacity .2s}.article-footer .article-read-link svg{font-size:.85rem}.article-footer .article-read-link:hover{opacity:.7}.show-more-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.show-more-wrap .show-more-btn{padding:.65rem 2rem;border-radius:999px;border:1.5px solid;background:transparent;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s}.show-more-wrap .show-more-btn:hover{opacity:.75}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.95rem}.blog-note{font-size:.82rem;color:var(--text-secondary);padding:.85rem 1.1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;line-height:1.6;margin-top:1rem}.blog-note code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-size:.8rem}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #ffffff;--bg-secondary: #f5f5f5;--text: #1a1a1a;--text-secondary: #555555;--border: #e0e0e0;--nav-bg: rgba(255,255,255,.85);--card-bg: #f9f9f9;--shadow: 0 4px 24px rgba(0,0,0,.08);--transition: .3s ease}body{font-family:Inter,sans-serif;background-color:var(--bg);color:var(--text);transition:background-color var(--transition),color var(--transition);min-height:100vh}body.dark{--bg: #0f0f0f;--bg-secondary: #1a1a1a;--text: #f0f0f0;--text-secondary: #aaaaaa;--border: #2a2a2a;--nav-bg: rgba(15,15,15,.85);--card-bg: #1a1a1a;--shadow: 0 4px 24px rgba(0,0,0,.4)}a{color:inherit;text-decoration:none}img{max-width:100%}.page-wrapper{min-height:calc(100vh - 70px);padding:2rem;max-width:1100px;margin:0 auto}
