:root{color:#17324d;background:#f4f7fb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:.45rem;padding:.65rem .9rem;background:#1677c8;color:#fff}button:disabled{opacity:.65;cursor:wait}input{width:100%;padding:.65rem;margin-top:.35rem;border:1px solid #b9c7d6;border-radius:.35rem}label{display:grid;gap:.25rem}.centered{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{max-width:42rem;width:100%;background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 8px 30px #17324d1a;display:grid;gap:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:15rem 1fr}aside{padding:1.5rem;background:#12355b;color:#fff;display:flex;flex-direction:column;gap:2rem}nav{display:grid;gap:.5rem}nav a{color:#dbeeff;text-decoration:none;padding:.5rem;border-radius:.35rem}nav a.active{background:#ffffff20}aside button{margin-top:auto;background:#ffffff20}.app-shell>main{padding:1.5rem}header{display:flex;justify-content:flex-end;margin-bottom:1.5rem;color:#52677c}@media(max-width:700px){.app-shell{grid-template-columns:1fr}aside{gap:1rem}nav{grid-template-columns:repeat(4,auto);overflow-x:auto}aside button{margin-top:0}}.landing-page{min-height:100vh;display:flex;flex-direction:column;color:#17324d;background:#f8fafc}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2.5rem;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}.landing-brand{display:flex;align-items:center;gap:.5rem;font-size:1.35rem;color:#12355b}.landing-brand span{color:#1677c8;font-weight:400}.brand-logo{width:2.25rem;height:2.25rem;background:#e0f2fe;color:#0284c7;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.landing-links{display:flex;gap:.5rem;align-items:center}.nav-tab{background:transparent;color:#475569;border:none;padding:.5rem .85rem;font-weight:500;border-radius:.375rem;transition:all .2s}.nav-tab:hover,.nav-tab.active{background:#e2e8f0;color:#0f172a}.btn-get-started{background:#1677c8;color:#fff;padding:.6rem 1.2rem;border-radius:.375rem;text-decoration:none;font-weight:600;transition:background .2s}.btn-get-started:hover{background:#0ea5e9}.hero-section{display:grid;grid-template-columns:1.2fr .9fr;gap:3rem;padding:4rem 2.5rem 3rem;max-width:1200px;margin:0 auto;width:100%;align-items:center}.hero-content{display:flex;flex-direction:column;gap:1.25rem}.badge-pill{align-self:flex-start;background:#e0f2fe;color:#0369a1;padding:.35rem .85rem;border-radius:9999px;font-size:.85rem;font-weight:600}.hero-title{font-size:2.85rem;line-height:1.15;color:#0f172a;margin:0;font-weight:800;letter-spacing:-.02em}.hero-title span{color:#1677c8}.hero-subtitle{font-size:1.15rem;line-height:1.6;color:#475569;margin:0}.hero-stats{display:flex;gap:2rem;margin-top:1rem;border-top:1px solid #e2e8f0;padding-top:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-number{font-size:1.75rem;font-weight:800;color:#12355b}.stat-label{font-size:.85rem;color:#64748b;font-weight:500}.auth-hero-card{max-width:28rem;width:100%;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 10px 30px #12355b14;background:#fff;padding:2rem}.auth-hero-card h2{margin:0 0 .25rem;font-size:1.4rem;color:#0f172a}.auth-card-desc{font-size:.85rem;color:#64748b;margin:0 0 1.25rem}.oauth-buttons-container{display:flex;flex-direction:column;gap:.75rem}.oauth-button{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.65rem 1rem;border-radius:.375rem;text-decoration:none;font-weight:500;font-size:.95rem;transition:transform .1s,opacity .2s}.oauth-button:hover{transform:translateY(-1px)}.google-btn{background:#fff;border:1px solid #cbd5e1;color:#1e293b}.github-btn{background:#0f172a;color:#fff}.divider-text{text-align:center;margin:1.25rem 0;color:#94a3b8;font-size:.85rem;position:relative}.divider-text:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0;z-index:0}.divider-text span{position:relative;background:#fff;padding:0 .5rem;z-index:1}.email-signin-form{display:flex;flex-direction:column;gap:.85rem}.email-signin-form input{border:1px solid #cbd5e1;padding:.7rem;border-radius:.375rem}.btn-submit{background:#1677c8;font-weight:600;padding:.75rem;font-size:.95rem}.btn-submit:hover{background:#0284c7}.auth-alert{padding:.6rem;background:#fef2f2;color:#991b1b;border-radius:.375rem;font-size:.85rem;border:1px solid #fecaca}.modules-explorer-section{padding:4rem 2.5rem;max-width:1200px;margin:0 auto;width:100%}.section-header{text-align:center;max-width:44rem;margin:0 auto 3rem}.section-header h2{font-size:2.2rem;color:#0f172a;margin-bottom:.75rem}.section-header p{font-size:1.1rem;color:#64748b;margin:0}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.module-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.75rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease-in-out}.module-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #12355b14;border-color:#cbd5e1}.module-card.highlight{border-color:#1677c8;box-shadow:0 0 0 2px #1677c820}.module-icon{width:3rem;height:3rem;border-radius:.6rem;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.module-card h3{margin:0;font-size:1.25rem;color:#0f172a}.module-card p{font-size:.95rem;color:#64748b;line-height:1.5;margin:0}.module-feature-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;color:#334155}.docs-preview-section{background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:4rem 2.5rem}.docs-container{max-width:1000px;margin:0 auto}.docs-badge{display:inline-block;background:#f0fdf4;color:#166534;padding:.35rem .8rem;border-radius:9999px;font-size:.85rem;font-weight:600;margin-bottom:.75rem}.docs-tabs{display:flex;gap:.5rem;margin:2rem 0 1.5rem;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem;overflow-x:auto}.doc-tab-btn{background:transparent;border:none;padding:.6rem 1rem;color:#64748b;font-weight:600;cursor:pointer;border-radius:.375rem}.doc-tab-btn.active{background:#12355b;color:#fff}.doc-content-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}.doc-content-panel h3{margin:0;color:#0f172a;font-size:1.3rem}.doc-content-panel p{color:#475569;line-height:1.6;margin:0}.spec-table{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.spec-row{display:grid;grid-template-columns:14rem 1fr;gap:1rem;background:#fff;padding:.85rem 1rem;border-radius:.375rem;border:1px solid #e2e8f0;font-size:.95rem}.spec-row strong{color:#12355b}.spec-row span{color:#334155}.landing-footer{background:#0f172a;color:#94a3b8;padding:3rem 2.5rem 2rem}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1e293b;padding-bottom:2rem}.footer-content strong{color:#fff;font-size:1.25rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:#94a3b8;text-decoration:none;font-size:.95rem;transition:color .2s}.footer-links a:hover{color:#38bdf8}.footer-copy{max-width:1200px;margin:1.5rem auto 0;font-size:.85rem;text-align:center}@media(max-width:900px){.hero-section{grid-template-columns:1fr;padding:2rem 1.5rem}.landing-nav{padding:1rem 1.5rem}.landing-links{display:none}.spec-row{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:1.5rem;text-align:center}}.legal-container{max-width:860px;margin:3rem auto;padding:0 1.5rem 4rem;width:100%}.legal-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2.5rem;box-shadow:0 4px 20px #12355b0d}.legal-card h1{margin-top:0;font-size:2rem;color:#0f172a}.legal-updated{color:#64748b;font-size:.9rem;margin-bottom:2rem;border-bottom:1px solid #f1f5f9;padding-bottom:.75rem}.legal-card section{margin-bottom:2rem}.legal-card h2{font-size:1.25rem;color:#1e293b;margin-bottom:.5rem}.legal-card p{color:#475569;line-height:1.65;margin:.5rem 0}.legal-card ul{color:#475569;line-height:1.65;padding-left:1.5rem}.legal-card a{color:#1677c8;text-decoration:none;font-weight:500}.legal-card a:hover{text-decoration:underline}
