:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.navbar{z-index:100;background-color:#0d0d0d;border-bottom:1px solid #222;width:100%;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:18px 24px;display:flex}.navbar-logo{color:#fff;letter-spacing:-.5px;font-size:1.25rem;font-weight:700;text-decoration:none}.navbar-logo span{color:#6c63ff}.navbar-menu{align-items:center;gap:28px;display:flex}.navbar-menu a{color:#888;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar-menu a:hover{color:#fff}.navbar-linkedin{color:#ccc;border:1px solid #333;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.navbar-linkedin:hover{color:#fff;background-color:#171717;border-color:#555}@media (width<=600px){.navbar-container{padding:14px 20px}.navbar-menu{gap:16px}.navbar-menu a{font-size:.85rem}.navbar-linkedin{padding:6px 12px;font-size:.8rem}}.footer{background-color:#0d0d0d;border-top:1px solid #222;margin-top:80px}.footer-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:48px 24px;display:flex}.footer-brand h2{color:#fff;margin-bottom:8px;font-size:1.5rem}.footer-brand h2 span{color:#6c63ff}.footer-brand p{color:#888;font-size:.9rem}.footer-links{gap:24px;display:flex}.footer-links a{color:#aaa;font-size:.9rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;border-top:1px solid #222;padding:20px 24px}.footer-bottom p{color:#666;font-size:.8rem}@media (width<=768px){.footer-container{text-align:center;flex-direction:column;gap:24px}.footer-links{gap:18px}}.post-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000d}.post-card:hover{border-color:#6366f1;transform:translateY(-4px);box-shadow:0 10px 15px -3px #00000014}.post-card-content{padding:24px}.post-card-category{color:#6366f1;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.75rem;font-weight:700;display:inline-block}.post-card-title{color:#0f172a;margin-bottom:12px;font-size:1.25rem;font-weight:700;line-height:1.4}.post-card-description{color:#475569;margin-bottom:24px;font-size:.95rem;line-height:1.6}.post-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.post-card-meta{color:#64748b;gap:8px;font-size:.8rem;display:flex}.post-card-link{color:#0f172a;white-space:nowrap;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s}.post-card-link:hover{color:#6366f1}@media (width<=600px){.post-card-content{padding:20px}.post-card-footer{flex-direction:column;align-items:flex-start}}.home{color:#ccc;min-height:100vh}.hero{max-width:1200px;margin:0 auto;padding:60px 24px 40px}.hero-content{max-width:800px}.hero-label,.section-label{color:#aaa;letter-spacing:1px;text-transform:uppercase;font-size:.8rem;font-weight:600}.hero h1{color:#424242c7;letter-spacing:-2px;margin-top:12px;margin-bottom:16px;font-size:clamp(2.8rem,6vw,5rem);line-height:1.05}.hero p{color:#707070;max-width:680px;margin-bottom:24px;font-size:1.05rem;line-height:1.8}.hero-actions{gap:14px;display:flex}.hero-button{border-radius:6px;padding:10px 18px;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-block}.hero-button.primary{color:#1a1a1a;background-color:#8f8e8e}.hero-button.primary:hover{background-color:#cacaca}.hero-button.secondary{color:#818080;border:1px solid #333}.hero-button.secondary:hover{color:#fff;background-color:#171717}.learning,.latest-posts{max-width:1200px;margin:0 auto;padding:40px 24px}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.section-header h2{color:#696868;margin-top:6px;font-size:2rem}.learning-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.learning-card{background-color:#111;border:1px solid #222;border-radius:10px;padding:24px}.learning-card span{margin-bottom:16px;font-size:1.8rem;display:block}.learning-card h3{color:#ddd;margin-bottom:8px;font-size:1.1rem}.learning-card p{color:#888;font-size:.9rem;line-height:1.6}.latest-posts{padding-bottom:60px}.view-all{color:#aaa;font-size:.9rem;text-decoration:none}.view-all:hover{color:#e5e5e5}@media (width<=900px){.learning-grid{grid-template-columns:repeat(2,1fr)}.posts-grid{grid-template-columns:1fr}}@media (width<=600px){.hero{padding:40px 20px}.hero h1{letter-spacing:-1px}.hero-actions{flex-direction:column;align-items:stretch}.hero-button{text-align:center}.learning,.latest-posts{padding:30px 20px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.learning-grid{grid-template-columns:1fr}}.blog-container{color:#0f172a;background-color:#fff;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.blog-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:3.5rem;display:flex}.blog-badge{color:#6366f1;text-transform:uppercase;letter-spacing:.05em;background-color:#6366f11f;border-radius:9999px;margin-bottom:1rem;padding:.3rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.blog-title{color:#0f172a;margin:0 0 1rem;font-size:2.4rem;font-weight:800;line-height:1.25}.blog-description{color:#64748b;max-width:640px;margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.search-box{width:100%;max-width:560px;margin-bottom:1.5rem}.search-input{color:#0f172a;background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:.85rem 1.2rem;font-size:.95rem;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d}.search-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.category-filters{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.filter-btn{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #0000;border-radius:20px;padding:.45rem .95rem;font-size:.875rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:#0f172a;background-color:#e2e8f0}.filter-btn.active{color:#fff;background-color:#6366f1}.posts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.empty-state{text-align:center;color:#64748b;padding:4rem 1rem}.empty-state h3{color:#334155;margin-bottom:.5rem;font-size:1.2rem}.post-container{max-width:820px;margin:0 auto;padding:3rem 1.5rem 6rem}.post-loading{text-align:center;color:#64748b;padding:5rem 1rem}.post-header{margin-bottom:2rem}.post-meta-top{color:#64748b;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:flex}.post-category{color:#6366f1;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.post-dot{color:#cbd5e1}.post-title{color:#0f172a;margin:0 0 1.5rem;font-size:2.5rem;font-weight:800;line-height:1.25}.post-context-card{color:#334155;background-color:#f8fafc;border-left:4px solid #6366f1;border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:1.25rem 1.5rem;font-size:1rem;line-height:1.6}.post-context-card strong{color:#0f172a}.post-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag-chip{color:#475569;background-color:#f1f5f9;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:500}.post-divider{border:none;border-top:1px solid #e2e8f0;margin:2.5rem 0}.post-body{color:#334155;font-size:1.1rem;line-height:1.8}.post-body h2{color:#0f172a;border-bottom:1px solid #f1f5f9;margin:2.5rem 0 1rem;padding-bottom:.4rem;font-size:1.6rem;font-weight:700}.post-body p{margin-bottom:1.5rem}.post-body ul,.post-body ol{margin-bottom:1.5rem;padding-left:1.5rem}.post-body li{margin-bottom:.5rem}.post-body code{color:#0f172a;background-color:#f1f5f9;border-radius:4px;padding:.2em .4em;font-family:Fira Code,Consolas,monospace;font-size:.9em}.post-body pre{color:#f8fafc;background-color:#0f172a;border-radius:10px;margin:1.5rem 0;padding:1.25rem;font-size:.92rem;line-height:1.6;overflow-x:auto}.post-body pre code{color:inherit;background-color:#0000;padding:0}.about-container{color:#1e293b;background-color:#fff;max-width:1000px;min-height:calc(100vh - 160px);margin:0 auto;padding:60px 24px 80px}.about-header{margin-bottom:40px}.about-header .section-label{color:#6366f1;letter-spacing:1px;text-transform:uppercase;font-size:.8rem;font-weight:600}.about-header h1{color:#0f172a;letter-spacing:-1.5px;margin-top:12px;margin-bottom:16px;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.1}.about-intro{color:#64748b;max-width:720px;font-size:1.05rem;line-height:1.7}.about-content{flex-direction:column;gap:28px;display:flex}.about-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:28px}.about-card h2{color:#0f172a;margin-bottom:14px;font-size:1.4rem}.about-card p{color:#475569;margin-bottom:12px;font-size:.95rem;line-height:1.6}.about-card p:last-child{margin-bottom:0}.about-card p strong{color:#0f172a}.about-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.about-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:24px}.about-box h3{color:#6366f1;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:1rem;font-weight:600}.about-box ul{color:#475569;margin:0;padding-left:20px}.about-box li{margin-bottom:8px;font-size:.9rem;line-height:1.5}@media (width<=768px){.about-container{padding:40px 20px 60px}.about-grid{grid-template-columns:1fr}}.projects-section{color:#f3f4f6;max-width:1200px;margin:0 auto;padding:4rem 1.5rem}.projects-container{flex-direction:column;gap:2.5rem;display:flex}.projects-header{text-align:center}.section-subtitle{text-transform:uppercase;letter-spacing:.1em;color:#3b82f6;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.section-title{color:#6b6b6b;font-size:2.25rem;font-weight:700}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.project-card{background:#111827;border:1px solid #1f2937;border-radius:12px;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.project-card:hover{border-color:#374151;transform:translateY(-4px);box-shadow:0 10px 25px -5px #00000080}.project-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.project-icon-box{background:#1f2937;border-radius:8px;justify-content:center;align-items:center;padding:.75rem;font-size:1.25rem;display:flex}.project-type-icon.blue{color:#3b82f6}.project-type-icon.red{color:#ef4444}.project-type-icon.green{color:#10b981}.project-category{color:#9ca3af;text-transform:uppercase;background:#1f2937;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.project-title{color:#f9fafb;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.project-description{color:#9ca3af;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.grafana-toggle-area{margin-bottom:1.25rem}.btn-toggle-grafana{color:#60a5fa;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-toggle-grafana:hover,.btn-toggle-grafana.active{color:#fff;background:#2563eb;border-color:#3b82f6}.grafana-wrapper{background:#000;border:1px solid #374151;border-radius:8px;margin-top:.75rem;overflow:hidden}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.project-tag-pill{color:#e5e7eb;background:#1f2937;border:1px solid #374151;border-radius:4px;padding:.25rem .6rem;font-size:.75rem}.project-actions{flex-direction:column;gap:.5rem;display:flex}.actions-row{gap:.5rem;display:flex}.btn-action{border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-web{color:#fff;background:#2563eb}.btn-web:hover{background:#1d4ed8}.btn-docs{color:#f3f4f6;background:#374151}.btn-docs:hover{background:#4b5563}.btn-github{color:#f3f4f6;background:#1f2937;border:1px solid #374151}.btn-github:hover{color:#fff;background:#374151}@media (width<=640px){.projects-section{padding:2rem 1rem}.projects-grid{grid-template-columns:1fr}.actions-row{flex-direction:column}}
