:root{--brand-primary:#0b00f5;--brand-accent:#030077;--brand-success-accent:#2ef4da;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-surface:#ffffff;--color-surface-muted:#f9fafb;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-success:#15803d;--color-success-bg:#f0fdf4;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px rgba(16,24,40,0.06);--shadow-md:0 4px 12px rgba(16,24,40,0.08);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}body{margin:0;background:var(--color-surface-muted)}main{max-width:860px;margin:0 auto;padding:var(--space-8) var(--space-6) 4rem}main.wide{max-width:1080px}h1{font-size:1.85rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:0 0 var(--space-6)}h2{font-size:1.3rem;line-height:1.3;margin:var(--space-8) 0 var(--space-3)}h2,h3{font-weight:600}h3{font-size:1.05rem;line-height:1.35;margin:var(--space-6) 0 var(--space-2)}ol,p,ul{margin:0 0 var(--space-4)}ol,ul{padding-left:1.5rem}li{margin-bottom:.35rem}figure{margin:var(--space-6) 0}figcaption{font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-2)}a{color:var(--brand-primary)}.app-header{justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header,.app-header__brand{display:flex;align-items:center}.app-header__brand{gap:var(--space-3);font-weight:700;font-size:1.05rem;color:var(--color-text);text-decoration:none}.app-header__logo{height:28px;width:auto;display:block}.app-header__logo-fallback{height:28px;width:28px;border-radius:var(--radius-sm);background:var(--brand-primary)}.app-nav{display:flex;gap:var(--space-4);flex-wrap:wrap}.app-nav a{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:500;padding:var(--space-2) 0}.app-nav a:hover{color:var(--color-text)}.app-header__actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.app-header__sign-out{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:.85rem;color:var(--color-text-muted);cursor:pointer}.app-header__sign-out:hover{color:var(--color-text);border-color:var(--color-text-muted)}.progress-bar{height:8px;width:100%;border-radius:var(--radius-sm);background:var(--color-surface-muted);overflow:hidden;margin:var(--space-2) 0}.progress-bar__fill{height:100%;background:var(--brand-primary);border-radius:var(--radius-sm);transition:width .2s ease}.progress-bar__label{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-3) 0}.module-list{list-style:none;padding:0;margin:0}.module-list__item{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.module-list__item:last-child{border-bottom:none}.module-list__locked{color:var(--color-text-muted)}.module-page-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-6)}.card h2,.card h3{margin-top:0}[data-block-type=callout]{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--brand-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0}[data-block-type=callout][data-style=warning]{border-left-color:var(--color-danger)}[data-block-type=callout][data-style=tip]{border-left-color:var(--color-success)}.tabs-block{margin:var(--space-6) 0}.tabs-block__tablist{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.tabs-block__tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:var(--space-3) var(--space-4);font-weight:500;color:var(--color-text-muted);cursor:pointer}.tabs-block__tab:hover{background:var(--color-surface-muted);color:var(--color-text)}.tabs-block__tab[data-active=true]{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tabs-block__panel{padding:var(--space-4) var(--space-2)}.accordion-block{margin:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-2)}.accordion-block__section{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.accordion-block__header{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--color-surface);border:none;border-radius:0;padding:var(--space-3) var(--space-4);font-weight:600;text-align:left;cursor:pointer}.accordion-block__section[data-open=true] .accordion-block__header{background:var(--color-surface-muted)}.accordion-block__icon{color:var(--brand-primary);font-weight:700}.accordion-block__body{padding:var(--space-4);border-top:1px solid var(--color-border)}.quiz-mcq-block__result{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-success);background:var(--color-success-bg)}.quiz-mcq-block__result[data-correct=false]{border-color:var(--color-danger);background:var(--color-danger-bg)}.quiz-mcq-block__result-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-weight:700;color:#ffffff;background:var(--color-success)}.quiz-mcq-block__result[data-correct=false] .quiz-mcq-block__result-icon{background:var(--color-danger)}.quiz-mcq-block__explanation{margin:var(--space-2) 0 0;color:var(--color-text-muted)}[data-card-match-mode-toggle=true],[data-card-sort-mode-toggle=true]{display:flex;gap:var(--space-2);margin:var(--space-3) 0}[data-card-match-mode-toggle=true] button,[data-card-sort-mode-toggle=true] button{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:.85rem;background:var(--color-surface-muted);border:1px solid var(--color-border)}[data-card-match-mode-toggle=true] button[data-active=true],[data-card-sort-mode-toggle=true] button[data-active=true]{background:var(--brand-primary);border-color:var(--brand-primary);color:#ffffff}[data-card-sort-tray=true]{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);margin:var(--space-3) 0;border:1px dashed var(--color-border);border-radius:var(--radius-md);min-height:3rem}[data-card-sort-draggable=true]{cursor:-webkit-grab;cursor:grab;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-sm)}[data-card-sort-draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}[data-card-sort-categories=true]{display:flex;flex-wrap:wrap;gap:var(--space-4)}[data-card-sort-category-dropzone=true]{flex:1 1 200px;border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);min-height:6rem}[data-card-sort-category-dropzone=true][data-drag-active]{border-color:var(--brand-primary);background:var(--color-surface-muted)}[data-card-match-columns=true] button[draggable=true]{cursor:-webkit-grab;cursor:grab}[data-card-match-columns=true] button[data-drag-active]{outline:2px dashed var(--brand-primary);outline-offset:2px}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4);font-size:.9rem;font-weight:500;color:var(--color-text)}.field-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.field-row>.field{flex:1 1 160px}input,select,textarea{font:inherit;font-size:.95rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-primary);outline-offset:1px}input[type=color]{padding:var(--space-1);height:2.4rem;width:4rem}.btn,button{font:inherit;font-size:.9rem;font-weight:600;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2)}.btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--color-surface-muted)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#ffffff}.btn-primary:hover:not(:disabled){filter:brightness(.88)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.btn-ghost{background:transparent;border-color:var(--brand-primary);color:var(--brand-primary)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--brand-primary) 8%,white)}table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-surface)}td,th{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border)}th{font-weight:600;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}tbody tr:last-child td{border-bottom:none}.status-pill{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:var(--color-surface-muted);color:var(--color-text-muted)}.status-pill[data-status=active],.status-pill[data-status=paid]{background:var(--color-success-bg);color:var(--color-success)}.status-pill[data-status=pending]{background:#fffbeb;color:#92400e}.status-pill[data-status=disabled],.status-pill[data-status=failed]{background:var(--color-danger-bg);color:var(--color-danger)}.error-message{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid #fecaca;border-radius:var(--radius-sm)}.error-message,.success-message{padding:var(--space-3) var(--space-4);font-size:.9rem}.success-message{color:var(--color-success);background:var(--color-success-bg);border:1px solid #bbf7d0;border-radius:var(--radius-sm)}.empty-state{color:var(--color-text-muted);font-size:.9rem}[aria-label="Live preview"]{padding:var(--space-6);margin-bottom:var(--space-8)}[aria-label="Live preview"],[data-block-editor-row]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}[data-block-editor-row]{padding:var(--space-4);margin-bottom:var(--space-4)}[aria-label="Add block"],[aria-label="Block editing controls"] h2{margin-top:var(--space-6)}@media (max-width:1024px){table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (max-width:640px){main{padding:var(--space-6) var(--space-4) 3rem}main.wide{max-width:100%}h1{font-size:1.5rem;margin:0 0 var(--space-4)}h2{font-size:1.15rem}.app-header{flex-wrap:wrap;padding:var(--space-3) var(--space-4)}.app-nav{gap:var(--space-3);width:100%}.app-header__actions{width:100%;justify-content:space-between}.card{padding:var(--space-4)}.field-row>.field{flex-basis:100%}.module-page-nav{flex-wrap:wrap}.module-page-nav>*{flex:1 1 100%}}.sidebar-shell{display:flex;min-height:100vh;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sidebar-nav{width:224px;flex:0 0 224px;background:var(--brand-accent);padding:1.35rem 1.1rem;display:flex;flex-direction:column}.sidebar-nav__brand{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:1rem;padding:.4rem .4rem 1.75rem;color:#ffffff;text-decoration:none}.sidebar-nav__logo-fallback{color:var(--brand-success-accent);flex:0 0 auto}.sidebar-nav__brand .app-header__logo{max-height:28px;width:auto;display:block}.sidebar-nav__links{display:flex;flex-direction:column;gap:2px;flex:1 1}.sidebar-nav__item{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:9px;font-size:.86rem;font-weight:500;color:rgba(255,255,255,.72);text-decoration:none}.sidebar-nav__item:hover{color:#ffffff;background:rgba(255,255,255,.06)}.sidebar-nav__item[data-active=true]{background:rgba(255,255,255,.12);color:#ffffff}.sidebar-nav__item[data-active=true] svg{color:var(--brand-success-accent)}.sidebar-nav__sign-out{margin-top:auto;background:none;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem .7rem;font-size:.82rem;color:rgba(255,255,255,.75);cursor:pointer}.sidebar-nav__sign-out:hover{color:#ffffff;border-color:rgba(255,255,255,.4)}.sidebar-main{flex:1 1;min-width:0;background:color-mix(in srgb,var(--brand-primary) 6%,white)}.reading-progress{height:3px;background:var(--color-border)}.reading-progress__fill{height:100%;background:var(--brand-primary)}.stat-row{display:flex;gap:.75rem;margin-bottom:1.75rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;padding:.75rem .95rem;flex:1 1}.stat-card__n{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;color:var(--brand-accent)}.stat-card__l{font-size:.72rem;color:var(--color-text-muted);display:flex;align-items:center;gap:4px;margin-top:2px}.stat-card__l svg{color:var(--brand-primary)}.course-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;padding:1.15rem 1.25rem;margin-bottom:.9rem;display:flex;align-items:center;gap:1rem}.course-card__body{flex:1 1;min-width:0}.course-card__name{font-weight:600;font-size:.96rem;margin:0 0 .15rem}.course-card__meta{font-size:.78rem;color:var(--color-text-muted)}.progress-ring{position:relative;flex:0 0 auto}.progress-ring__pct{position:absolute;inset:0;display:flex;justify-content:center;font-size:.72rem}.badge-success,.progress-ring__pct{align-items:center;font-weight:700;color:var(--brand-accent)}.badge-success{display:inline-flex;gap:4px;font-size:.68rem;padding:.18rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--brand-success-accent) 25%,white)}@media (max-width:640px){.sidebar-shell{flex-direction:column;min-height:0}.sidebar-nav{width:100%;flex:0 0 auto;flex-direction:row;align-items:center;padding:.75rem 1rem;gap:.5rem}.sidebar-nav__brand{padding:.2rem;flex:1 1}.sidebar-nav__links{flex-direction:row;flex:0 0 auto}.sidebar-nav__item span{display:none}.sidebar-nav__sign-out{margin-top:0}.stat-row{flex-wrap:wrap}.stat-card{flex:1 1 45%}.course-card{flex-wrap:wrap}}.module-list__link,.module-list__locked{display:flex;align-items:center;gap:.45rem}.module-list__link svg{color:var(--brand-success-accent)}.module-list__locked svg{color:var(--color-text-muted)}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-primary);margin:0 0 var(--space-2)}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.landing-nav__brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:var(--brand-accent)}.landing-nav__mark{color:var(--brand-success-accent)}.landing-main{max-width:none;margin:0;padding:0}.landing-hero{max-width:760px;margin:0 auto;padding:5rem var(--space-6) 3rem;text-align:center}.landing-hero h1{font-size:2.6rem;letter-spacing:-.02em;margin-bottom:var(--space-4)}.landing-hero__lede{font-size:1.15rem;color:var(--color-text-muted);max-width:600px;margin:0 auto var(--space-6)}.landing-hero__cta{display:inline-block;font-size:1rem;padding:.75rem 1.75rem}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6);gap:var(--space-6);max-width:960px;margin:0 auto;padding:var(--space-8) var(--space-6)}.landing-feature{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}.landing-feature svg{color:var(--brand-primary);width:24px;height:24px}.landing-feature h2{font-size:1.05rem;margin:var(--space-3) 0 var(--space-2)}.landing-feature p{margin:0;font-size:.9rem;color:var(--color-text-muted)}.landing-footer{margin-top:auto;text-align:center;padding:var(--space-6);font-size:.85rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}@media (max-width:720px){.landing-features{grid-template-columns:1fr}.landing-hero h1{font-size:1.9rem}}