:root{--bg-primary: #3d4232;--bg-secondary: #454b38;--bg-tertiary: #353a2b;--bg-card: #3a4030;--bg-hover: #4e5540;--border: #5a6148;--border-light: #6b7356;--accent: #c8b84a;--accent-hover: #d9c95a;--accent-dim: rgba(200, 184, 74, .15);--text-primary: #d4d0b8;--text-secondary: #a8a48c;--text-muted: #7a7660;--text-accent: #c8b84a;--btn-bg: #4e5540;--btn-border: #6b7356;--btn-text: #c8b84a;--btn-hover-bg: #5a6148;--nav-bg: #2e3226;--tag-bg: #2e3226;--tag-border: #5a6148;--shadow: rgba(0,0,0,.4);--live: #e05c2a;--green: #6aaa5a;--noise-opacity: .03}[data-theme=light]{--bg-primary: #f0ede0;--bg-secondary: #e8e4d4;--bg-tertiary: #f8f5e8;--bg-card: #ede9d8;--bg-hover: #e0dbc8;--border: #c8c0a0;--border-light: #b8b098;--accent: #7a6418;--accent-hover: #8a7420;--accent-dim: rgba(122, 100, 24, .1);--text-primary: #2a2818;--text-secondary: #5a5440;--text-muted: #8a8470;--text-accent: #7a6418;--btn-bg: #ddd8c0;--btn-border: #b8b098;--btn-text: #5a4a10;--btn-hover-bg: #ccc8b0;--nav-bg: #d8d4c0;--tag-bg: #e8e4d0;--tag-border: #c0b898;--shadow: rgba(0,0,0,.15);--live: #c04818;--green: #4a8838;--noise-opacity: .02}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:IBM Plex Sans,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color .3s,color .3s;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:var(--noise-opacity);pointer-events:none;z-index:9999}h1,h2,h3{font-family:Teko,sans-serif;letter-spacing:.05em;text-transform:uppercase}code,pre,.mono{font-family:IBM Plex Mono,monospace}a{color:inherit}#root{display:flex;flex-direction:column;min-height:100vh}.page-content{flex:1;padding:24px 20px;max-width:960px;margin:0 auto;width:100%}.navbar{background:var(--nav-bg);border-bottom:2px solid var(--border);display:flex;align-items:center;padding:0 16px;height:44px;position:sticky;top:0;z-index:100;gap:4px;transition:box-shadow .2s}.navbar-brand{font-family:Teko,sans-serif;font-size:1.3rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-right:8px;white-space:nowrap;text-decoration:none}.navbar-brand:hover{color:var(--accent-hover)}.nav-tabs{display:flex;gap:2px;align-items:center;flex:1}.nav-tab{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-secondary);padding:4px 12px;font-family:IBM Plex Mono,monospace;font-size:.72rem;cursor:pointer;text-decoration:none;transition:all .15s;display:flex;align-items:center;gap:5px;height:28px;white-space:nowrap}.nav-tab:hover{background:var(--btn-hover-bg);color:var(--text-primary);border-color:var(--border-light)}.nav-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.navbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.theme-toggle{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-secondary);padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:.72rem;cursor:pointer;height:28px;transition:all .15s}.theme-toggle:hover{background:var(--btn-hover-bg);color:var(--accent);border-color:var(--accent)}.burger-btn{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px;z-index:201}.burger-btn span{display:block;width:22px;height:2px;background:var(--text-secondary);transition:all .3s}.burger-btn.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);background:var(--accent)}.burger-btn.open span:nth-child(2){opacity:0}.burger-btn.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);background:var(--accent)}.mobile-menu{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--nav-bg);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px 40px;animation:fadeIn .2s ease}.mobile-menu.open{display:flex}.mobile-menu .nav-tab{font-size:1.1rem;padding:12px 32px;height:auto;width:100%;max-width:300px;justify-content:center}.mobile-menu .theme-toggle{font-size:1rem;padding:10px 24px;height:auto;width:100%;max-width:300px}.btn{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-text);padding:6px 16px;font-family:IBM Plex Mono,monospace;font-size:.8rem;cursor:pointer;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--btn-hover-bg);border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:var(--accent);color:var(--bg-primary)}.btn-sm{padding:3px 10px;font-size:.72rem}.card{background:var(--bg-card);border:1px solid var(--border);padding:16px;transition:border-color .2s}.card:hover{border-color:var(--border-light)}.page-header{margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border)}.page-header h1{font-size:2.5rem;color:var(--accent);line-height:1}.page-header p{color:var(--text-secondary);font-size:.85rem;margin-top:4px;font-family:IBM Plex Mono,monospace}.home-hero{text-align:center;padding:60px 20px 40px;display:flex;flex-direction:column;align-items:center;gap:12px}.home-hero .avatar{width:96px;height:96px;border:2px solid var(--accent);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:2.5rem;box-shadow:0 0 20px var(--accent-dim)}.home-hero h1{font-size:3.5rem;color:var(--accent);line-height:1}.home-hero .tagline{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--text-muted);max-width:480px}.home-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border);padding:16px;text-align:center;transition:border-color .2s}.stat-card:hover{border-color:var(--accent)}.stat-card .num{font-family:Teko,sans-serif;font-size:2.2rem;color:var(--accent);line-height:1}.stat-card .label{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--text-muted);margin-top:2px;text-transform:uppercase}.home-activity{margin-top:24px}.section-title{font-family:Teko,sans-serif;font-size:1.4rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.explore-card{background:var(--bg-card);border:1px solid var(--border);padding:14px;transition:border-color .15s,background .15s;cursor:pointer}.explore-card:hover{border-color:var(--accent);background:var(--bg-hover)}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px}.about-sidebar{display:flex;flex-direction:column;gap:12px}.about-avatar{width:100%;aspect-ratio:1;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:4rem;transition:border-color .2s}.about-avatar:hover{border-color:var(--accent)}.info-row{display:flex;justify-content:space-between;font-size:.8rem;padding:5px 0;border-bottom:1px solid var(--border);font-family:IBM Plex Mono,monospace}.info-row:last-child{border-bottom:none}.info-row .key{color:var(--text-muted)}.info-row .val{color:var(--text-primary)}.about-content h2{font-size:1.5rem;color:var(--accent);margin-bottom:8px}.about-content p{font-size:.88rem;color:var(--text-secondary);line-height:1.7;margin-bottom:12px}.about-content p:last-child{margin-bottom:0}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--text-secondary);padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.tag.accent{border-color:var(--accent);color:var(--accent)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.badge-card{background:var(--bg-card);border:1px solid var(--border);padding:20px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .2s,transform .2s;cursor:default}.badge-card:hover{border-color:var(--accent);transform:translateY(-2px)}.badge-icon{font-size:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border)}.badge-name{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--text-primary);font-weight:500}.badge-desc{font-size:.68rem;color:var(--text-muted);line-height:1.4}.badge-card.locked{opacity:.4}.badge-card.locked .badge-icon{filter:grayscale(1)}.repos-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.github-input-row{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.input-field{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:.8rem;flex:1;min-width:180px;transition:border-color .15s}.input-field:focus{outline:none;border-color:var(--accent)}.input-field::placeholder{color:var(--text-muted)}.repos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.repo-card{background:var(--bg-card);border:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}.repo-card:hover{border-color:var(--accent)}.repo-name{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--accent);text-decoration:none;font-weight:500}.repo-name:hover{text-decoration:underline}.repo-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.5;flex:1}.repo-meta{display:flex;gap:12px;font-family:IBM Plex Mono,monospace;font-size:.7rem;color:var(--text-muted);flex-wrap:wrap}.repo-lang{display:flex;align-items:center;gap:4px}.lang-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.image-thumb{overflow:hidden;border:1px solid var(--border);cursor:pointer;position:relative;background:var(--bg-card);transition:border-color .2s}.image-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s,filter .3s;filter:brightness(.9) saturate(.85)}.image-thumb:hover{border-color:var(--accent)}.image-thumb:hover img{transform:scale(1.05);filter:brightness(1) saturate(1)}.image-thumb .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.image-thumb:hover .overlay{opacity:1}.overlay span{font-size:1.5rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.lightbox-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox-img{max-width:88vw;max-height:78vh;object-fit:contain;border:1px solid var(--border)}.lightbox-controls{display:flex;gap:8px;align-items:center}.lightbox-counter{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--text-muted);min-width:60px;text-align:center}.lb-close{position:absolute;top:-40px;right:0;background:none;border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .15s}.lb-close:hover{border-color:var(--accent);color:var(--accent)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--nav-bg);border-top:2px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:12px;z-index:500;flex-wrap:wrap;animation:slideUp .3s ease}.cookie-banner p{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--text-secondary);flex:1;min-width:200px}.cookie-banner .actions{display:flex;gap:8px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border);padding:24px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto}.modal h2{font-size:1.6rem;color:var(--accent);margin-bottom:16px}.cookie-option{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.cookie-option:last-of-type{border-bottom:none}.cookie-option-info h3{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--text-primary);margin-bottom:2px;text-transform:none;letter-spacing:0}.cookie-option-info p{font-size:.75rem;color:var(--text-muted);line-height:1.5}.toggle{position:relative;width:36px;height:20px;flex-shrink:0;margin-top:2px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;transition:all .2s}.toggle input:checked+.toggle-slider{background:var(--accent-dim);border-color:var(--accent)}.toggle-slider:before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:var(--text-muted);transition:all .2s}.toggle input:checked+.toggle-slider:before{transform:translate(16px);background:var(--accent)}.toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.footer{background:var(--nav-bg);border-top:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer p{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--text-muted)}.footer a{color:var(--text-muted);text-decoration:none}.footer a:hover{color:var(--accent)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:12px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.8rem}.loader{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.8rem}.error-state{background:var(--bg-card);border:1px solid var(--live);padding:12px 16px;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--live);margin-bottom:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .35s ease forwards}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media (max-width: 768px){.nav-tabs{display:none}.burger-btn{display:flex}.about-grid{grid-template-columns:1fr}.home-stats{grid-template-columns:repeat(2,1fr)}.page-content{padding:16px 14px}.home-hero{padding:40px 10px 24px}.home-hero h1{font-size:2.5rem}.repos-grid{grid-template-columns:1fr}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.cookie-banner{flex-direction:column;align-items:flex-start}.footer{flex-direction:column;text-align:center}}@media (max-width: 480px){.home-stats{grid-template-columns:repeat(2,1fr)}.home-hero h1{font-size:2rem}}[dir=rtl] .navbar-brand{margin-right:0;margin-left:8px}[dir=rtl] .navbar-right{margin-left:0;margin-right:auto}[dir=rtl] .nav-tabs{margin-right:0}[dir=rtl] .home-hero{direction:rtl}[dir=rtl] .footer{flex-direction:row-reverse}[dir=rtl] .cookie-banner{direction:rtl}[dir=rtl] .modal{direction:rtl;text-align:right}[dir=rtl] .info-row,[dir=rtl] .about-sidebar{direction:rtl}[dir=rtl] .page-header{direction:rtl;text-align:right}[dir=rtl] .badge-card{direction:rtl}[dir=rtl] .repo-card{direction:rtl;text-align:right}[dir=rtl] .repo-meta{flex-direction:row-reverse}[dir=rtl] .repo-meta span:last-child{margin-left:0;margin-right:auto}[dir=rtl] .stat-card{direction:rtl}[dir=rtl] body{font-family:IBM Plex Sans,Segoe UI,Tahoma,sans-serif}[dir=rtl] .navbar-right>div:first-child{order:2}.btn svg,.nav-tab svg,.theme-toggle svg{flex-shrink:0;vertical-align:middle}.blog-card{background:var(--bg-card);border:1px solid var(--border);padding:16px 18px;display:flex;align-items:flex-start;gap:14px;transition:border-color .2s,transform .15s;cursor:pointer}.blog-card:hover{border-color:var(--accent);transform:translate(3px)}[dir=rtl] .blog-card:hover{transform:translate(-3px)}.blog-nav-card{background:var(--bg-card);border:1px solid var(--border);padding:14px 16px;transition:border-color .2s;cursor:pointer;height:100%}.blog-nav-card:hover{border-color:var(--accent)}.blog-content{line-height:1.75}.blog-content>*+*{margin-top:6px}.section-title{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.blog-html-content{line-height:1.75}.blog-html-content h2{font-family:Teko,sans-serif;font-size:1.6rem;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-top:28px;margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:6px}.blog-html-content h3{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--text-primary);text-transform:none;letter-spacing:0;margin-top:20px;margin-bottom:8px}.blog-html-content p{font-size:.9rem;color:var(--text-secondary);line-height:1.75;margin:10px 0}.blog-html-content ul,.blog-html-content ol{margin:10px 0;padding-left:22px;display:flex;flex-direction:column;gap:5px}.blog-html-content li{font-size:.88rem;color:var(--text-secondary);line-height:1.65}.blog-html-content pre{background:var(--bg-tertiary);border:1px solid var(--border);padding:14px 16px;margin:16px 0;overflow-x:auto;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--text-secondary);line-height:1.6}.blog-html-content code{font-family:IBM Plex Mono,monospace;font-size:.82em;background:var(--bg-tertiary);border:1px solid var(--border);padding:1px 5px;color:var(--accent)}.blog-html-content pre code{background:none;border:none;padding:0;color:var(--text-secondary)}.blog-html-content blockquote{border-left:3px solid var(--accent);margin:14px 0;padding:8px 16px;background:var(--accent-dim);color:var(--text-secondary);font-style:italic;font-size:.9rem;line-height:1.6}.blog-html-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.blog-html-content a:hover{color:var(--accent-hover)}.blog-html-content strong{color:var(--text-primary);font-weight:600}.blog-html-content em{font-style:italic;color:var(--text-secondary)}.blog-html-content img{max-width:100%;border:1px solid var(--border);margin:12px 0}.blog-html-content hr{border:none;border-top:1px solid var(--border);margin:24px 0}
