@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300&family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");@import url("https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.css");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--void:#09090d;--base:#0e0e14;--surface:#13131b;--lift:#1a1a25;--overlay:#21212f;--rim:#2a2a3d;--rim2:#35354d;--ink:#f0ede8;--ink-2:#a09cba;--ink-3:#5e5a7a;--ink-4:#3a3752;--accent:#00c896;--accent-dim:#00835f;--accent-muted:rgba(0,200,150,.08);--accent-glow:rgba(0,200,150,.15);--accent-border:rgba(0,200,150,.25);--red:#f87171;--amber:#fbbf24;--blue:#60a5fa;--purple:#a78bfa;--green:#34d399;--font-display:"Fraunces",Georgia,serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px}html{font-size:15px}body,html{overscroll-behavior:none;overscroll-behavior-y:none;padding-bottom:env(safe-area-inset-bottom);background:var(--void);color:var(--ink);font-family:var(--font-body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-muted);color:var(--accent)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--overlay);border-radius:3px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.2;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none;transition:opacity .15s}a:hover{opacity:.75}button{cursor:pointer;border:none;font-family:var(--font-body);font-size:13px;font-weight:500;border-radius:var(--r-md);padding:9px 18px;display:inline-flex;align-items:center;gap:7px;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap}button:disabled{opacity:.35;cursor:not-allowed;transform:none!important}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary{background:var(--accent);color:#071a13;font-weight:600;box-shadow:0 0 0 1px var(--accent-dim),0 4px 20px var(--accent-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 0 0 1px var(--accent),0 6px 30px rgba(0,200,150,.3)}.btn-secondary{background:var(--lift);color:var(--ink);border:1px solid var(--rim)}.btn-secondary:hover:not(:disabled){background:var(--overlay);border-color:var(--rim2)}.btn-ghost{background:transparent;color:var(--ink-2);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--lift);color:var(--ink);border-color:var(--rim)}.btn-danger{background:hsla(0,91%,71%,.12);color:var(--red);border:1px solid hsla(0,91%,71%,.2)}input,select,textarea{background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-body);font-size:14px;padding:10px 14px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--ink-3)}.card{border:1px solid var(--rim);border-radius:var(--r-lg);padding:20px}.card,.card-raised{background:var(--surface)}.card-raised{border:1px solid var(--rim);border-radius:var(--r-xl);padding:28px;box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.03)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:600}.badge-green{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.2)}.badge-red{background:hsla(0,91%,71%,.1);color:var(--red);border:1px solid hsla(0,91%,71%,.2)}.badge-amber{background:rgba(251,191,36,.1);color:var(--amber);border:1px solid rgba(251,191,36,.2)}.badge-blue{background:rgba(96,165,250,.1);color:var(--blue);border:1px solid rgba(96,165,250,.2)}.badge-accent{background:var(--accent-muted);color:var(--accent);border:1px solid var(--accent-border)}.badge-gray{background:var(--lift);color:var(--ink-2);border:1px solid var(--rim)}.badge-purple{background:rgba(167,139,250,.1);color:var(--purple);border:1px solid rgba(167,139,250,.2)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--void)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.form-error{font-size:12px;color:var(--red);margin-top:5px;display:flex;align-items:center;gap:5px}.form-hint{font-size:12px;color:var(--ink-3);margin-top:4px}.progress-track{background:var(--lift);border-radius:100px;overflow:hidden;height:3px}.progress-fill{height:100%;border-radius:100px;background:var(--accent);transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--accent-glow)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:fadeUp .22s cubic-bezier(.4,0,.2,1)}.katex{font-size:1em!important}.katex-display{margin:14px 0;overflow-x:auto}.svg-math-wrap{margin:16px 0;background:#0d0d14;border:1px solid var(--rim);border-radius:var(--r-lg);padding:20px;display:flex;justify-content:center;overflow-x:auto}.svg-math-wrap svg{max-width:100%;height:auto;display:block}.svg-math-wrap svg text{font-family:var(--font-body)}.msg-content{font-size:14px;line-height:1.75}.msg-content p{margin-bottom:10px}.msg-content p:last-child{margin-bottom:0}.msg-content strong{font-weight:600;color:var(--ink)}.msg-content code{border:1px solid var(--rim);border-radius:4px;padding:1px 6px;font-size:12px;color:var(--accent)}.msg-content code,.msg-content pre{background:var(--overlay);font-family:var(--font-mono)}.msg-content pre{border:1px solid var(--rim);padding:14px 16px;overflow-x:auto;margin:10px 0}.msg-content pre,.nav-item{border-radius:var(--r-md);font-size:13px}.nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--ink-2);cursor:pointer;transition:all .12s;border:1px solid transparent;width:100%;background:none;font-family:var(--font-body);font-weight:400;transform:none!important}.nav-item:hover{background:var(--lift);color:var(--ink);border-color:var(--rim)}.nav-item.active{background:var(--lift);color:var(--accent);border-color:var(--accent-border)}.stat-card{background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-lg);padding:20px 22px}.stat-value{font-family:var(--font-display);font-size:32px;font-weight:300;line-height:1;margin-bottom:4px}.stat-label{font-size:11px;color:var(--ink-3);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.gap{background:var(--red);box-shadow:0 0 4px hsla(0,91%,71%,.4)}.status-dot.developing{background:var(--amber);box-shadow:0 0 4px rgba(251,191,36,.4)}.status-dot.functional{background:var(--blue);box-shadow:0 0 4px rgba(96,165,250,.4)}.status-dot.mastered{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.status-dot.unknown{background:var(--rim2)}.consolidation-box{background:linear-gradient(135deg,rgba(0,200,150,.04),rgba(96,165,250,.04));border:1px solid var(--accent-border);border-radius:var(--r-lg);padding:20px 24px;font-family:var(--font-mono);font-size:12.5px;line-height:1.9;white-space:pre-wrap;color:var(--ink-2)}.mesh-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 40% at 15% 10%,rgba(0,200,150,.05) 0,transparent 60%),radial-gradient(ellipse 50% 50% at 85% 85%,rgba(96,165,250,.03) 0,transparent 60%)}.logo-mark{display:flex;align-items:center;gap:10px}.logo-text{font-family:var(--font-display);font-weight:300;font-size:16px;letter-spacing:-.02em;white-space:nowrap}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:64px;border-bottom:1px solid var(--rim);background:rgba(9,9,13,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.landing-nav-links{display:flex;align-items:center;gap:8px}.landing-hero{max-width:700px;margin:0 auto;padding:96px 48px 72px;text-align:center}.landing-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:32px;padding:5px 14px 5px 5px;background:var(--surface);border:1px solid var(--rim);border-radius:100px}.landing-h1{font-size:clamp(36px,7vw,62px);font-family:var(--font-display);font-weight:300;line-height:1.1;letter-spacing:-.03em;margin-bottom:24px}.landing-subtitle{font-size:16px;color:var(--ink-2);line-height:1.75;margin:0 auto 40px;max-width:500px}.landing-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-formula{display:flex;justify-content:center;padding:0 24px 64px;overflow-x:auto}.landing-section{max-width:860px;margin:0 auto;padding:0 48px 72px}.landing-section-last{padding-bottom:96px}.landing-section-label{font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:20px}.landing-subjects{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.subject-pill{display:flex;align-items:center;gap:10px;padding:9px 18px;background:var(--surface);border:1px solid var(--rim);border-radius:100px}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0;gap:0;border:1px solid var(--rim);border-radius:16px;overflow:hidden}.feature-card{padding:32px;background:var(--surface)}.feature-card-left{border-right:1px solid var(--rim)}.feature-card-top{border-bottom:1px solid var(--rim)}.feature-icon-wrap{width:38px;height:38px;background:var(--lift);border:1px solid var(--rim);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.landing-final-cta{background:var(--surface);border:1px solid var(--rim);border-radius:20px;padding:56px 48px;position:relative;overflow:hidden;text-align:center}.landing-final-h2{font-size:clamp(26px,4vw,38px);font-weight:300;margin-bottom:16px}.landing-footer{border-top:1px solid var(--rim);padding:24px 48px}.landing-footer,.pricing-nav{display:flex;align-items:center;justify-content:space-between}.pricing-nav{padding:0 48px;height:64px;border-bottom:1px solid var(--rim);background:rgba(9,9,13,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.pricing-nav-links{display:flex;gap:8px}.pricing-grid{max-width:920px;margin:0 auto;padding:0 32px 80px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;align-items:start}.dashboard-sidebar{width:232px;background:var(--base);border-right:1px solid var(--rim);transition:transform .32s cubic-bezier(.4,0,.2,1)}.dashboard-sidebar,.hamburger-btn{display:flex;flex-direction:column;flex-shrink:0}.hamburger-btn{position:relative;justify-content:center;align-items:center;width:36px;height:36px;background:none;border:none;cursor:pointer;border-radius:8px}.hamburger-btn span{display:block;position:absolute;width:18px;height:2px;background:var(--accent);border-radius:2px;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .35s ease;transform-origin:center;left:50%;margin-left:-9px}.hamburger-btn span:first-child{transform:translateY(-6px)}.hamburger-btn span:nth-child(2){transform:translateY(0)}.hamburger-btn span:nth-child(3){transform:translateY(6px)}.hamburger-btn.open span:first-child{transform:translateY(0) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.open span:nth-child(3){transform:translateY(0) rotate(-45deg)}@media (min-width:769px){.hamburger-btn{display:none}}.sidebar-overlay{display:none}.symbols-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}@media (max-width:768px){.landing-nav{padding:0 16px;height:56px}.logo-text{font-size:13px}.landing-nav-ghost{display:none!important}.landing-hero{padding:56px 20px 40px}.landing-badge{flex-wrap:wrap;justify-content:center;text-align:center;max-width:260px}.landing-subtitle{font-size:14px}.landing-cta-buttons{flex-direction:column;align-items:stretch;padding:0 20px}.landing-cta-buttons a{width:100%}.landing-cta-buttons button{width:100%;justify-content:center}.landing-formula{font-size:11px}.landing-formula,.landing-section{padding:0 16px 40px}.landing-section-last{padding-bottom:56px}.landing-subjects{flex-direction:column}.subject-pill{justify-content:space-between}.features-grid{grid-template-columns:1fr}.feature-card{padding:24px}.feature-card-left{border-right:none}.feature-card:not(:last-child){border-bottom:1px solid var(--rim)}.landing-final-cta{padding:32px 20px}.landing-footer{padding:20px 16px;flex-direction:column;gap:10px;text-align:center}.pricing-nav{padding:0 16px;height:56px}.pricing-nav-links a:first-child{display:none}.pricing-grid{grid-template-columns:1fr;padding:0 16px 60px}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:99}.dashboard-sidebar{position:fixed;top:0;left:0;height:100dvh;width:280px;z-index:100;transform:translateX(-100%);overflow-y:auto;transition:transform .32s cubic-bezier(.4,0,.2,1)}.dashboard-sidebar.sidebar-open{transform:translateX(0)}.symbols-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.symbols-bar::-webkit-scrollbar{display:none}.symbols-bar button{flex-shrink:0}textarea{font-size:16px!important}}.hamburger-btn,.nav-item,a,button,input,textarea{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@supports (padding-bottom:env(safe-area-inset-bottom)){.dashboard-input-area{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}}