:root{--bg:#f4fbfb;--bg-soft:#eef7fb;--surface:rgba(255,255,255,0.94);--surface-strong:#ffffff;--text:#0f1720;--muted:#5e7382;--line:rgba(15,23,32,0.08);--blue:#1e88e5;--blue-deep:#136bb7;--teal:#2a9d8f;--teal-deep:#1f7b72;--success:#147a65;--warning:#c77f15;--danger:#cf4d4d;--shadow:0 28px 80px rgba(30,136,229,0.14);--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--max-width:1080px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(30,136,229,.2),transparent 28%),radial-gradient(circle at top right,rgba(42,157,143,.18),transparent 24%),linear-gradient(180deg,#f7fdff,var(--bg))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(244,251,251,.85);border-radius:18px;padding:.95rem 1rem;color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}input:focus,select:focus,textarea:focus{border-color:rgba(30,136,229,.5);box-shadow:0 0 0 4px rgba(30,136,229,.12)}textarea{resize:vertical;min-height:110px}.shell{width:min(var(--max-width),calc(100% - 24px));margin:0 auto}.button{border:none;border-radius:999px;padding:.92rem 1.3rem;font-weight:700;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.7;cursor:default;transform:none}.button.primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 16px 36px rgba(30,136,229,.24)}.button.secondary{color:var(--text);background:rgba(255,255,255,.9);border:1px solid var(--line)}.app-shell{padding:18px 0 40px}.app-frame{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.72));border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.app-topbar{justify-content:space-between;padding:18px 18px 8px}.app-topbar,.brand-lockup{display:flex;align-items:center}.brand-lockup{gap:.9rem}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(30,136,229,.14),rgba(42,157,143,.16));box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.brand-title{font-size:1rem;font-weight:800;letter-spacing:.03em}.brand-subtitle{font-size:.9rem;color:var(--muted)}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.88);color:var(--text);display:grid;place-items:center}.auth-screen,.dashboard-screen{display:grid;grid-gap:1rem;gap:1rem;padding:12px}.auth-card,.auth-hero,.composer-card,.course-card,.empty-card,.generation-card,.welcome-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.auth-hero{padding:1.4rem;background:linear-gradient(135deg,rgba(30,136,229,.96),rgba(42,157,143,.9)),#fff;color:#fff}.auth-badge,.eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .78rem;border-radius:999px;font-size:.82rem;font-weight:700;letter-spacing:.02em}.auth-badge{background:rgba(255,255,255,.18)}.eyebrow{background:rgba(30,136,229,.1);color:var(--blue-deep)}.auth-hero h1,.composer-copy h3,.library-section h3,.welcome-strip h2{margin:.65rem 0 .35rem;line-height:1.06}.auth-hero h1{font-size:clamp(2rem,8vw,3.4rem);max-width:12ch}.auth-hero p,.composer-copy p,.course-card-header p,.dev-note,.empty-card,.generation-header p,.info-banner,.video-copy p,.welcome-strip p{margin:0;color:inherit}.auth-card{padding:1rem;display:grid;grid-gap:1rem;gap:1rem}.auth-fields,.composer-form,.course-stack,.library-section{display:grid;grid-gap:.9rem;gap:.9rem}.field{display:grid;grid-gap:.45rem;gap:.45rem}.field span{font-size:.92rem;font-weight:600;color:var(--muted)}.field-large input{padding-top:1.1rem;padding-bottom:1.1rem}.app-button{min-height:52px}.dev-note,.info-banner,.mini-status{display:inline-flex;align-items:center;gap:.45rem;padding:.75rem .9rem;border-radius:16px}.dev-note{background:rgba(30,136,229,.08);color:var(--blue-deep)}.info-banner{background:rgba(42,157,143,.1);color:var(--teal-deep);border:1px solid rgba(42,157,143,.14)}.composer-card,.course-card,.generation-card,.welcome-strip{padding:1rem}.course-card-header,.generation-header,.section-row,.welcome-strip{display:flex;justify-content:space-between;gap:.9rem}.course-card-header,.generation-header,.welcome-strip{align-items:flex-start}.status-chip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.45rem .8rem;border-radius:999px;font-size:.82rem;font-weight:700}.status-chip.active{background:rgba(20,122,101,.12);color:var(--success)}.status-chip.inactive,.status-chip.processing{background:rgba(30,136,229,.1);color:var(--blue-deep)}.composer-card{display:grid;grid-gap:1rem;gap:1rem;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(239,249,248,.92)),#fff}.generation-card{display:grid;grid-gap:.9rem;gap:.9rem;background:linear-gradient(135deg,rgba(30,136,229,.1),rgba(42,157,143,.11))}.generation-icon{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.9);display:grid;place-items:center;color:var(--blue)}.generation-icon svg{animation:spin 1.5s linear infinite}.generation-header strong{display:block;margin-bottom:.2rem}.course-card-header p,.empty-card,.generation-header p,.video-copy p{color:var(--muted)}.generation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.step{border-radius:16px;padding:.8rem;background:rgba(255,255,255,.72);color:var(--muted);font-size:.88rem;border:1px solid rgba(255,255,255,.5)}.step.done{color:var(--success)}.step.active{color:var(--blue-deep);box-shadow:inset 0 0 0 1px rgba(30,136,229,.18)}.section-row{align-items:center;margin-bottom:.15rem}.compact-button{padding:.72rem .95rem;font-size:.9rem}.empty-card{padding:1rem}.course-stack{gap:1rem}.course-title{font-size:1.1rem;font-weight:800;line-height:1.2;margin-bottom:.25rem}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.video-card{display:grid;grid-gap:.8rem;gap:.8rem;padding:.8rem;border-radius:22px;border:1px solid var(--line);background:rgba(249,252,253,.96)}.video-card.locked{background:rgba(244,248,250,.9)}.video-card.clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.video-card.clickable:focus-visible,.video-card.clickable:hover{transform:translateY(-2px);border-color:rgba(30,136,229,.25);box-shadow:0 16px 32px rgba(30,136,229,.12);outline:none}.video-thumb{aspect-ratio:9/14;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,rgba(30,136,229,.16),rgba(42,157,143,.22))}.video-player{width:100%;height:100%;display:block;object-fit:cover;background:#000}.video-placeholder{width:100%;height:100%;display:grid;place-items:center;color:rgba(15,23,32,.74);background:radial-gradient(circle at top,rgba(255,255,255,.32),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.08))}.video-copy{display:grid;grid-gap:.28rem;gap:.28rem}.video-copy strong{line-height:1.25}.video-meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.79rem}.mini-status{width:-moz-fit-content;width:fit-content;background:rgba(30,136,229,.08);color:var(--blue-deep);font-size:.85rem}.locked-status{background:rgba(15,23,32,.07);color:var(--muted)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (min-width:768px){.app-shell{padding-top:26px;padding-bottom:60px}.app-topbar{padding:24px 24px 10px}.auth-screen,.dashboard-screen{padding:18px}.auth-card,.composer-card{padding:1.3rem}.auth-screen{grid-template-columns:1.05fr .95fr;align-items:stretch}.composer-card{grid-template-columns:.9fr 1.1fr;align-items:start}.composer-card,.course-card,.generation-card,.welcome-strip{padding:1.25rem}.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.course-card-header,.generation-header,.section-row,.welcome-strip{flex-direction:column}.status-chip{width:-moz-fit-content;width:fit-content}}