:root{color-scheme:light;font-family:Plus Jakarta Sans,Avenir Next,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f3ee;color:#1f2933;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #1f2933;--heading: #17202b;--muted: #687381;--line: #e3ddd3;--surface: #fffefa;--surface-strong: #ffffff;--soft: #f3eee6;--nav: #182231;--nav-soft: #243246;--green: #0f766e;--primary: #0f766e;--primary-strong: #1c6f67;--primary-soft: #dff8f4;--blue: #2563eb;--amber: #d97706;--rose: #e11d48;--shadow: 0 18px 60px rgba(28, 38, 52, .11);--custom-backdrop: linear-gradient(transparent, transparent);--theme-overlay: linear-gradient(135deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .18));--theme-wallpaper: linear-gradient(135deg, #f6f3ee 0%, #f7f0e4 45%, #e9f4f1 100%);--brand-gradient: linear-gradient(135deg, #f7c948, #37d6c7);--hero-gradient: linear-gradient(120deg, rgba(255, 254, 250, .96), rgba(255, 254, 250, .72)), linear-gradient(135deg, #fbf2d3 0%, #e8f7f4 46%, #edf1ff 100%)}:root[data-theme=abyssal]{color-scheme:dark;--ink: #ecf7ff;--heading: #f8fbff;--muted: #d1e2f0;--line: rgba(214, 235, 255, .32);--surface: rgba(7, 20, 36, .86);--surface-strong: rgba(5, 16, 31, .94);--soft: rgba(49, 92, 132, .32);--nav: rgba(3, 10, 22, .92);--nav-soft: rgba(35, 83, 126, .48);--primary-soft: rgba(56, 189, 248, .18);--shadow: 0 24px 80px rgba(0, 8, 20, .38);--theme-overlay: linear-gradient(180deg, rgba(2, 8, 18, .34), rgba(2, 8, 18, .78)), radial-gradient(circle at 50% 8%, rgba(125, 211, 252, .48), transparent 24%);--theme-wallpaper: url(/abyssal-landscape.png), radial-gradient(circle at 52% 18%, rgba(56, 189, 248, .86), transparent 14%), radial-gradient(circle at 24% 88%, rgba(59, 130, 246, .42), transparent 26%), linear-gradient(160deg, #01040b 0%, #031428 46%, #06101d 100%);--brand-gradient: linear-gradient(135deg, #e0f2fe, #38bdf8 42%, #1d4ed8);--hero-gradient: linear-gradient(135deg, rgba(5, 16, 32, .9), rgba(5, 32, 54, .58)), url(/abyssal-hero.png), radial-gradient(circle at 78% 22%, rgba(125, 211, 252, .52), transparent 30%), linear-gradient(160deg, #020817, #06213a)}:root[data-theme=botanical]{--ink: #14211c;--heading: #0c1914;--muted: #53685f;--line: #cadbd2;--surface: rgba(251, 255, 249, .86);--surface-strong: rgba(255, 255, 252, .92);--soft: #e8f4ec;--nav: #10231b;--nav-soft: #1f3c2f;--primary-soft: #dff4e8;--theme-overlay: linear-gradient(135deg, rgba(247, 255, 246, .72), rgba(242, 249, 236, .3)), radial-gradient(circle at 74% 12%, rgba(132, 204, 22, .22), transparent 22%);--theme-wallpaper: radial-gradient(circle at 10% 20%, rgba(187, 247, 208, .7), transparent 24%), radial-gradient(circle at 86% 68%, rgba(20, 184, 166, .25), transparent 25%), linear-gradient(135deg, #f6f7ed, #e1f3e8 52%, #f9f1df);--brand-gradient: linear-gradient(135deg, #facc15, #22c55e);--hero-gradient: linear-gradient(120deg, rgba(255, 255, 250, .94), rgba(243, 252, 242, .74)), linear-gradient(135deg, #f8f0cf, #ddf4e2 52%, #d9f0ee)}:root[data-theme=graphite]{color-scheme:dark;--ink: #f2f4f8;--heading: #ffffff;--muted: #cbd5e1;--line: rgba(226, 232, 240, .28);--surface: rgba(20, 24, 33, .88);--surface-strong: rgba(14, 18, 27, .96);--soft: rgba(71, 85, 105, .32);--nav: #0b0f17;--nav-soft: #1c2433;--primary-soft: rgba(139, 92, 246, .18);--shadow: 0 24px 80px rgba(0, 0, 0, .34);--theme-overlay: linear-gradient(135deg, rgba(8, 12, 20, .42), rgba(8, 12, 20, .82)), radial-gradient(circle at 88% 0%, rgba(139, 92, 246, .3), transparent 30%);--theme-wallpaper: radial-gradient(circle at 78% 18%, rgba(139, 92, 246, .36), transparent 24%), linear-gradient(135deg, #080b11, #141821 48%, #0b111c);--brand-gradient: linear-gradient(135deg, #f8fafc, #8b5cf6);--hero-gradient: linear-gradient(120deg, rgba(18, 22, 31, .94), rgba(35, 28, 55, .72)), linear-gradient(135deg, #10151f, #1c2030 48%, #211a35)}:root[data-theme=abyssal],:root[data-theme=graphite]{--readable-card: rgba(6, 18, 34, .84);--readable-card-strong: rgba(5, 14, 27, .95);--readable-card-soft: rgba(20, 45, 68, .62);--readable-border: rgba(214, 235, 255, .28);--readable-muted: #d7e7f6;--readable-subtle: #b7c9da;--readable-chip: rgba(186, 230, 253, .14);--readable-chip-strong: rgba(56, 189, 248, .22)}:root[data-theme=graphite]{--readable-card: rgba(18, 22, 31, .88);--readable-card-strong: rgba(13, 17, 25, .96);--readable-card-soft: rgba(35, 42, 57, .7);--readable-border: rgba(226, 232, 240, .3);--readable-chip: rgba(203, 213, 225, .14);--readable-chip-strong: rgba(139, 92, 246, .24)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--theme-overlay),var(--custom-backdrop),var(--theme-wallpaper);background-attachment:fixed;background-position:center;background-size:cover}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.landing-page{min-height:100vh;color:#0b1724;background:linear-gradient(180deg,#f8fcfff5,#f2f7f4fb),linear-gradient(90deg,#f8fcffd1,#f8fcff4d 42%,#f8fcffd6),url(/classroom-background.svg);background-size:cover;background-position:center center}.landing-nav{position:sticky;z-index:10;top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1180px,calc(100% - 48px));min-height:68px;margin:16px auto 0;padding:12px 18px 12px 22px;border:1px solid rgba(124,139,154,.18);border-radius:999px;color:#10202d;background:#f8fcffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 54px #1f293314,inset 0 1px #ffffffc2;transition:background-color .52s cubic-bezier(.32,.72,0,1),box-shadow .52s cubic-bezier(.32,.72,0,1),transform .52s cubic-bezier(.32,.72,0,1)}.landing-brand,.landing-nav-link,.landing-link-button{border:0;background:transparent;color:inherit}.landing-brand{display:inline-flex;align-items:center;gap:12px;padding:0;font-size:1.1rem;font-weight:900}.landing-brand-block{display:flex;flex-direction:column;gap:2px}.landing-build-marker{font-size:.74rem;font-weight:800;color:#10202d85}.landing-links{display:flex;align-items:center;gap:20px;color:#10202db8;font-weight:800}.landing-nav-link{display:inline-flex;align-items:center;height:44px;min-height:44px;padding:0 10px;border-radius:999px;color:#10202db8;font-weight:800;transition:background-color .42s cubic-bezier(.32,.72,0,1),color .42s cubic-bezier(.32,.72,0,1),transform .42s cubic-bezier(.32,.72,0,1)}.landing-nav-link:hover,.landing-nav-link.active{color:#0f766e;background:#d1fae5ad}.landing-link-button{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;padding:0 18px;border-radius:999px;color:#fff;background:#050a12;font-weight:900;box-shadow:0 14px 34px #050a1224;transition:box-shadow .42s cubic-bezier(.32,.72,0,1),transform .42s cubic-bezier(.32,.72,0,1)}.landing-nav-link:hover,.landing-link-button:hover{transform:translateY(-1px)}.landing-link-button:active{transform:scale(.98)}.landing-route-frame{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:48px 0 64px}.landing-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:44px;align-items:center;min-height:calc(100vh - 170px)}.landing-hero-copy{display:grid;justify-items:start;gap:24px}.landing-icon{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(15,118,110,.18);border-radius:8px;color:#0f766e;background:#ffffffc2;box-shadow:0 20px 55px #27698c29}.landing-hero h1,.landing-page-header h1{margin:0;color:#060b12;font-size:clamp(3.4rem,8vw,6.2rem);line-height:.95;letter-spacing:0}.landing-page-header h1{max-width:900px;font-size:clamp(2.7rem,6vw,4.7rem);line-height:1.04;overflow-wrap:break-word}.landing-hero p,.landing-page-header p{max-width:760px;margin:0;color:#09141fc2;font-size:1.17rem;line-height:1.65}.landing-page-header{display:grid;gap:18px;padding:52px 0 34px}.landing-actions{display:flex;flex-wrap:wrap;gap:12px}.landing-actions-hero{gap:10px}.landing-actions.compact{margin-top:0}.landing-actions.compact .landing-primary,.landing-actions.compact .landing-secondary{min-height:44px}.landing-proof-row{display:flex;flex-wrap:wrap;gap:8px;max-width:620px}.landing-proof-row span,.landing-card-kicker{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(15,118,110,.16);border-radius:999px;color:#0f5d55;background:#dff8f2d1;font-size:.82rem;font-weight:900}.landing-primary,.landing-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-weight:900}.landing-primary{color:#fff;background:#050a12;box-shadow:0 18px 50px #050a122e}.landing-secondary{color:#10202d;background:#ffffffc2;border-color:#7c8b9a47}.landing-secondary.quiet{background:transparent;border-color:#7c8b9a57;box-shadow:none}.landing-message{max-width:560px;margin:0;padding:12px 16px;border:1px solid rgba(15,118,110,.18);border-radius:8px;color:#0f3d39;background:#e7faf6e6;font-weight:800;line-height:1.45}.landing-message.warning{border-color:#d9770647;color:#713f12;background:#fff7df}.landing-screenshot-preview{position:relative;display:grid;gap:12px;padding:14px;border:1px solid rgba(124,139,154,.24);border-radius:14px;background:#ffffffe0;box-shadow:0 24px 70px #1c263424;cursor:pointer;text-align:left}.landing-screenshot-preview:hover,.landing-screenshot-preview:focus-visible{transform:translateY(-2px);box-shadow:0 28px 80px #1c26342e}.landing-screenshot-label{display:inline-flex;width:fit-content;padding:8px 12px;border-radius:999px;color:#0f766e;background:#dff8f2;font-size:.82rem;font-weight:900}.landing-screenshot-preview img,.landing-screenshot-card img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;border:1px solid rgba(124,139,154,.2);border-radius:10px;background:#fff}.landing-home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.landing-home-paths article,.landing-screenshot-card,.landing-workflow-strip article{border:1px solid rgba(124,139,154,.24);border-radius:8px;background:#ffffffd6;box-shadow:0 18px 55px #1c263414}.landing-home-paths article{display:grid;justify-items:start;gap:12px;padding:24px}.landing-home-paths strong{color:#17202b;font-size:1.18rem}.landing-home-paths p{margin:0;color:#687381;line-height:1.6}.landing-page-header.compact{padding-bottom:20px}.landing-screenshot-gallery{display:grid;gap:18px}.landing-screenshot-card{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,.65fr);gap:22px;align-items:center;padding:18px}.landing-screenshot-card div{display:grid;gap:10px;padding:10px 12px 10px 0}.landing-screenshot-card h2,.landing-screenshot-card p,.landing-workflow-strip h2,.landing-workflow-strip p{margin:0}.landing-screenshot-card h2,.landing-workflow-strip h2{color:#17202b;font-size:1.38rem;line-height:1.2}.landing-screenshot-card p,.landing-workflow-strip p{color:#687381;line-height:1.6}.landing-workflow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.landing-workflow-strip article{display:grid;gap:10px;padding:20px}.landing-workflow-strip strong{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;color:#0f766e;background:#dff8f2;font-weight:900}.landing-product-board,.board-window,.landing-feature-band article,.landing-feature-matrix article,.landing-callout-grid article,.landing-pwa-checklist article,.landing-doc-section,.landing-docs-index,.landing-mobile-card,.mobile-step,.landing-download-band,.landing-policy-panel,.landing-legal-grid article,.landing-feedback-panel{border:1px solid rgba(124,139,154,.24);border-radius:8px;background:#ffffffd6;box-shadow:0 18px 55px #1c263414}.landing-product-board{padding:18px;background:linear-gradient(135deg,#0f766e1a,#2563eb14),#ffffffb8}.board-window{display:grid;gap:18px;padding:18px;background:#fff}.board-window-top{display:flex;align-items:center;gap:7px;color:#687381;font-size:.83rem;font-weight:900}.board-window-top span{width:10px;height:10px;border-radius:50%;background:#f59e0b}.board-window-top span:nth-child(2){background:#38bdf8}.board-window-top span:nth-child(3){background:#10b981}.board-window-top strong{margin-left:8px;color:#17202b}.board-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center}.board-flow article{display:grid;gap:9px;min-height:152px;padding:16px;border:1px solid rgba(124,139,154,.24);border-radius:8px;background:#f8fbfc}.board-flow svg,.landing-feature-band svg,.landing-feature-matrix svg,.landing-callout-grid svg,.landing-pwa-checklist svg,.landing-mobile-card svg,.landing-policy-panel svg,.landing-feedback-panel svg{color:#0f766e}.board-flow strong,.board-followup-card strong{color:#17202b}.board-flow span,.board-followup-card span{color:#687381;line-height:1.4}.board-followup-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-radius:8px;color:#0f766e;background:#e6f7f3}.board-followup-card div{display:grid;gap:4px}.landing-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(124,139,154,.24);border-radius:8px;background:#ffffffd6}.landing-stat{display:grid;gap:8px;padding:24px;border-right:1px solid rgba(124,139,154,.2)}.landing-stat:last-child{border-right:0}.landing-stat strong{color:#0f766e;font-size:2rem;line-height:1}.landing-stat span{color:#09141fad;font-weight:800}.landing-feature-band,.landing-feature-matrix,.landing-callout-grid,.landing-pwa-checklist{display:grid;gap:16px;margin-top:16px}.landing-feature-band,.landing-feature-matrix,.landing-pwa-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-callout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-legal-grid,.landing-support-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-feature-band article,.landing-feature-matrix article,.landing-callout-grid article,.landing-pwa-checklist article,.landing-legal-grid article{display:grid;align-content:start;justify-items:start;gap:12px;padding:24px}.landing-feature-band h2,.landing-feature-band p,.landing-feature-matrix h2,.landing-feature-matrix p,.landing-callout-grid h2,.landing-callout-grid p,.landing-pwa-checklist h2,.landing-pwa-checklist p,.landing-download-band h2,.landing-download-band p,.landing-mobile-card h2,.landing-mobile-card p,.landing-policy-panel h2,.landing-policy-panel p,.landing-doc-section h2,.landing-doc-section p,.landing-legal-grid h2,.landing-legal-grid p,.landing-feedback-panel h2,.landing-feedback-panel p{margin:0}.landing-feature-band h2,.landing-feature-matrix h2,.landing-callout-grid h2,.landing-pwa-checklist h2,.landing-download-band h2,.landing-mobile-card h2,.landing-policy-panel h2,.landing-doc-section h2,.landing-legal-grid h2,.landing-feedback-panel h2{color:#17202b;font-size:1.16rem;line-height:1.25}.landing-callout-grid h2,.landing-download-band h2,.landing-mobile-card h2,.landing-policy-panel h2,.landing-legal-grid h2,.landing-feedback-panel h2{font-size:1.55rem}.landing-feature-band p,.landing-feature-matrix p,.landing-callout-grid p,.landing-pwa-checklist p,.landing-download-band p,.landing-mobile-card p,.landing-policy-panel p,.landing-doc-section p,.landing-legal-grid p,.landing-feedback-panel p{color:#687381;line-height:1.6}.landing-workflow-list{display:grid;gap:12px;margin-top:18px}.landing-pwa-checklist article{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;padding:20px}.landing-pwa-checklist article>svg{display:grid;width:44px;height:44px;padding:10px;border-radius:8px;background:#dff8f2}.landing-workflow-list article{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:center;padding:18px;border:1px solid rgba(124,139,154,.24);border-radius:8px;background:#ffffffd6}.landing-workflow-list strong,.mobile-step strong{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;color:#0f766e;background:#dff8f2;font-size:1.15rem}.landing-workflow-list h2,.landing-workflow-list p{margin:0}.landing-workflow-list h2{color:#17202b}.landing-workflow-list p{margin-top:4px;color:#687381;line-height:1.55}.landing-docs-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.landing-docs-index{position:sticky;top:96px;display:grid;gap:10px;padding:18px}.landing-docs-index span{color:#354457;font-weight:900}.landing-doc-stack{display:grid;gap:14px}.landing-doc-section{display:grid;gap:12px;padding:24px}.landing-doc-section code{display:block;overflow-x:auto;padding:12px 14px;border:1px solid rgba(124,139,154,.24);border-radius:8px;color:#0b1724;background:#f4f7f8}.landing-mobile-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px}.landing-mobile-card{display:grid;justify-items:start;gap:14px;padding:28px}.mobile-step-grid{display:grid;gap:12px}.mobile-step{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:18px;color:#17202b}.mobile-step span{color:#506070;font-weight:800;line-height:1.45}.landing-download-band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:24px;align-items:center;margin-top:16px;padding:28px}.landing-platform-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1 / -1}.landing-detected-download{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.landing-installer-fallback{display:grid;justify-items:start;gap:8px;max-width:520px;padding:16px;border:1px solid rgba(124,139,154,.24);border-radius:8px;color:#17202b;background:#f8fbfc}.landing-installer-fallback span{color:#506070;line-height:1.45;font-weight:800}.installer-choice-toggle{min-height:44px}.landing-platform-list button{display:flex;align-items:center;gap:10px;min-height:66px;padding:10px 12px;border:1px solid rgba(124,139,154,.24);border-radius:8px;color:#17202b;background:#f8fbfc}.landing-platform-list button svg{color:#0f766e;flex:0 0 auto}.landing-platform-list span{display:grid;gap:2px;text-align:left}.landing-platform-list small{color:#09141f9e;font-weight:800}.landing-platform-list em{color:#09141f8a;font-size:.76rem;font-style:normal;font-weight:700}.landing-policy-panel{display:grid;justify-items:start;gap:14px;margin-top:16px;padding:28px}.landing-support-layout .landing-policy-panel{margin-top:0}.landing-feedback-panel{display:grid;grid-template-columns:minmax(0,.72fr) minmax(360px,1fr);gap:22px;align-items:start;margin-top:16px;padding:28px}.landing-feedback-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.landing-feedback-form label{display:grid;gap:7px;color:#17202b;font-weight:900}.landing-feedback-form input,.landing-feedback-form select,.landing-feedback-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid rgba(124,139,154,.28);border-radius:8px;color:#17202b;background:#fff;font:inherit}.landing-feedback-form textarea{min-height:118px;resize:vertical}.landing-feedback-form .feedback-details-field,.landing-feedback-form .landing-actions,.landing-feedback-form .landing-message{grid-column:1 / -1}.app-shell{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;max-width:100vw;overflow-x:hidden;background:var(--theme-overlay),var(--custom-backdrop),var(--theme-wallpaper);background-attachment:fixed;background-position:center;background-size:cover}.app-shell:before{content:"";position:fixed;inset:0 auto 0 0;z-index:0;width:280px;background:var(--nav);pointer-events:none}.sidebar{position:sticky;z-index:1;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:22px;background:var(--nav);color:#eef7fb}.main-area{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:12px;width:100%;padding:0;color:inherit;background:transparent;border:0;text-align:left}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#10202d;background:var(--brand-gradient)}.brand strong,.brand small{display:block}.brand strong{font-size:1.08rem}.brand small{margin-top:2px;color:#aab7c6;font-size:.78rem}.nav-list{display:grid;gap:15px}.nav-section{display:grid;gap:7px}.nav-section-label{padding-inline:12px;color:#8fa2b8;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 13px;border:1px solid transparent;border-radius:10px;color:#cbd7e4;background:transparent}.nav-item:hover,.nav-item.active{color:#fff;background:var(--nav-soft);border-color:#ffffff14}.sidebar-panel{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#ffffff0d}.sidebar-panel p,.sidebar-panel strong,.sidebar-panel small{display:block;margin:0}.sidebar-panel p{color:#aab7c6;font-size:.78rem}.sidebar-panel strong{margin-top:6px}.sidebar-panel small{margin-top:6px;color:#b9c5d2;line-height:1.45}.mini-visual{display:flex;gap:5px;align-items:end;height:42px;margin-bottom:14px}.mini-visual span{width:26px;border-radius:5px 5px 0 0;background:#37d6c7}.mini-visual span:nth-child(1){height:20px}.mini-visual span:nth-child(2){height:34px;background:#f7c948}.mini-visual span:nth-child(3){height:27px;background:#7c9cf5}.main-area{min-width:0;padding:28px;overflow-x:hidden}.login-page{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;align-content:start;min-height:100vh;width:min(1180px,100%);margin:0 auto;padding:32px;background:var(--theme-overlay),var(--custom-backdrop),var(--theme-wallpaper);background-attachment:fixed;background-position:center;background-size:cover}.demo-choice-page{place-items:center}.auth-entry-page{place-items:center;width:100%}.auth-entry-panel{display:grid;justify-items:center;gap:24px;width:min(680px,100%);padding:44px;border:1px solid var(--line);border-radius:28px;text-align:center;background:color-mix(in srgb,var(--surface-strong) 94%,#ffffff 6%);box-shadow:var(--shadow)}.auth-entry-mark{display:grid;place-items:center;width:112px;height:112px;border-radius:30px;color:#0f3d39;background:linear-gradient(135deg,#f0d84f,#3ee3b4);box-shadow:0 24px 54px #0f766e2e}.auth-entry-copy{display:grid;justify-items:center;gap:8px}.auth-entry-copy h1{margin:0;color:var(--heading);font-size:4.9rem;line-height:.96;letter-spacing:0}.auth-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(440px,100%)}.auth-entry-actions .primary-button,.auth-entry-actions .ghost-button{justify-content:center;min-height:52px}.login-panel,.login-side{display:grid;gap:18px}.login-panel{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:22px 32px;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface-strong);box-shadow:var(--shadow)}.login-header{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.login-brand{display:flex;align-items:center;gap:12px;min-width:0}.login-brand>div{min-width:0}.login-brand strong,.login-brand small{display:block}.login-brand small{margin-top:2px;color:var(--muted);overflow-wrap:anywhere}.login-build-marker{margin-top:0;font-size:.85rem;color:#0a13219e;letter-spacing:.01em}.auth-mode-link{display:inline-grid;justify-items:end;gap:2px;flex:0 0 auto;min-height:38px;padding:3px 0;border:0;border-radius:10px;color:#0f766e;background:transparent;text-align:right;font-weight:900}.auth-mode-link span{color:var(--muted);font-size:.78rem;font-weight:800}.auth-mode-link:hover{color:#0f3d39;text-decoration:underline;text-underline-offset:4px}.auth-mode-link:focus-visible{outline:3px solid rgba(37,99,235,.9);outline-offset:4px}.login-copy h1{margin:0;color:var(--heading);font-size:clamp(2rem,4vw,3.6rem);line-height:1.03;letter-spacing:0}.login-copy p{color:var(--muted);line-height:1.65}.login-form{display:grid;gap:14px}.demo-login-note{margin:0;padding:12px 14px;border:1px solid rgba(15,118,110,.18);border-radius:14px;color:#0f3d39;background:#e7faf6;font-weight:800;line-height:1.45}.login-help{grid-column:2}.demo-choice-panel{width:min(940px,100%);grid-template-columns:1fr;gap:22px}.demo-choice-copy{max-width:720px}.demo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.demo-choice-card{display:grid;gap:12px;min-height:210px;padding:24px;border:1px solid var(--line);border-radius:20px;text-align:left;color:var(--heading);background:#fffefa;box-shadow:0 18px 45px #18223112;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.demo-choice-card:hover{transform:translateY(-2px);border-color:#0f766e5c;box-shadow:0 24px 55px #0f766e1f}.demo-choice-card:disabled{cursor:wait;opacity:.75}.demo-choice-card span:first-child{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;color:#0f766e;background:var(--primary-soft)}.demo-choice-card strong{font-size:1.3rem}.demo-choice-card p,.demo-download-card span{margin:0;color:var(--muted);line-height:1.5}.demo-download-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px dashed rgba(15,118,110,.26);border-radius:16px;background:#f3fbf8}.demo-download-card>div{display:grid;gap:3px}.login-side{grid-template-columns:repeat(2,minmax(0,1fr))}.role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:14px;background:#f3eee6}.role-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-weight:900;white-space:nowrap}.role-tabs button.active{color:#fff;background:var(--primary)}.account-path-tabs{gap:10px;padding:0;background:transparent}.account-path-tabs button{justify-content:flex-start;min-height:56px;padding:0 16px;border:1px solid rgba(119,134,153,.2);border-radius:16px;background:#fffefa;box-shadow:0 10px 22px #1822310a}.account-path-tabs button svg{display:grid;place-items:center;width:32px;height:32px;padding:7px;border-radius:11px;color:#0f766e;background:#e8fbf7}.account-path-tabs button.active{color:#0f3d39;border-color:#0f766e57;background:#effbf7;box-shadow:0 12px 26px #0f766e1a}.account-path-tabs button.active svg{color:#fff;background:#0f766e}.role-tabs:not(.account-path-tabs){gap:10px;padding:0;background:transparent}.role-tabs:not(.account-path-tabs) button{min-height:44px;border:1px solid rgba(119,134,153,.22);border-radius:999px;background:#f8faf9}.role-tabs:not(.account-path-tabs) button.active{color:#fff;border-color:transparent;background:#0f766e;box-shadow:0 10px 22px #0f766e24}.role-tabs:not(.account-path-tabs) button:nth-child(2).active{background:#40577f;box-shadow:0 10px 22px #40577f29}.review-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.review-tabs button{min-height:44px;padding:0 16px;border-radius:14px;font-weight:900;color:var(--muted);background:var(--surface-strong);border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease}.review-tabs button:hover{background:var(--surface)}.review-tabs button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.input-with-icon{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:18px;background:#fffefa;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input-with-icon:focus-within{border-color:#0f766e61;box-shadow:0 0 0 4px #14b8a624;background:#fffdf8}.input-with-icon svg{color:var(--muted)}.input-with-icon input{width:100%;min-height:42px;padding:0;border:0;outline:0;background:transparent}.input-with-icon input:focus-visible{outline:0;border-radius:12px;box-shadow:inset 0 0 0 1px #0f766e3d}.field .input-with-icon input{min-height:42px;padding:0;border:0;border-radius:0;background:transparent}.password-control button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;color:var(--muted);background:transparent}.login-error,.login-success{margin:0;padding:10px 12px;border-radius:10px;font-weight:800}.login-error{color:#be123c;background:#ffe4ea}.login-success{color:#0f766e;background:#dff8f4}.login-help,.security-card{display:grid;gap:7px;padding:14px;border-radius:14px;background:#f7faf9}.login-help span,.security-card p{color:var(--muted);line-height:1.45}.sample-account-button{justify-self:start;margin-top:2px;min-height:36px;padding:7px 11px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:#fffefa}.sample-account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.forgot-password-link{justify-self:start;min-height:28px;padding:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#18223157;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.password-reset-modal{display:grid;gap:16px;width:min(520px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface-strong);box-shadow:var(--shadow)}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.modal-header h2,.modal-header p{margin:0}.modal-header p{color:var(--muted);line-height:1.5}.reset-account-row{display:grid;gap:4px;padding:12px;border-radius:14px;background:#f7faf9}.reset-account-row span,.reset-account-row strong{display:block}.reset-account-row span{color:var(--muted);font-size:.82rem;font-weight:900}.reset-confirm-grid{display:grid;gap:10px}.reset-code-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink);background:#fffefa;border:1px dashed #d8d0c5}.reset-code-card span{color:var(--muted);font-weight:900}.reset-code-card strong{font-size:1.25rem;letter-spacing:.08em}.reset-code-card button{border:0;border-radius:10px;color:var(--green);background:#dff8f4;padding:8px 12px;font-size:1.2rem;font-weight:900;letter-spacing:.08em}.security-card{max-width:520px;padding:18px;border:1px solid var(--line);background:#fffefacc;box-shadow:0 12px 34px #1c26340f}.security-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--green);background:var(--primary-soft)}.security-card p{margin:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.demo-account-banner{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:14px 18px;border:1px solid rgba(15,118,110,.22);border-radius:18px;color:#0f3d39;background:linear-gradient(135deg,#dff8f4f5,#fffae5f0);box-shadow:0 16px 42px #0f766e14}.demo-account-banner div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.demo-account-banner strong{color:#0b4f49}.demo-account-banner span{color:#36585a;font-weight:700}.topbar h1,.topbar p{margin:0}.topbar h1{color:var(--heading);font-size:clamp(1.55rem,2.4vw,2.45rem);letter-spacing:0}.topbar-actions,.hero-actions,.review-actions,.report-actions,.today-actions{display:flex;flex-wrap:wrap;gap:10px}.topbar-actions{align-items:flex-start;justify-content:flex-end;flex:1;min-width:0}.topbar-actions .tutorial-button{color:#0f766e;background:#f4f8f6}.account-pill,.student-identity{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#ffffffb8;font-weight:900}button.account-pill{cursor:pointer}.profile-control{position:relative}.profile-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:20;display:grid;gap:12px;width:min(380px,calc(100vw - 48px));padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);box-shadow:var(--shadow)}.profile-menu-header,.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-menu-header strong,.profile-menu-header small{display:block}.profile-menu-header small{margin-top:2px;color:var(--muted)}.profile-actions{flex-wrap:wrap}.settings-message{margin:0;padding:9px 11px;border-radius:10px;color:#9f1239;background:#ffe4ea;font-weight:800}.settings-message.success{color:#0f766e;background:#dff8f4}.student-identity{border-radius:14px;min-height:52px;padding:8px 12px}.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e5eef7;background:#ffffff0f;font-weight:900}.eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--green);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.primary-button,.ghost-button,.text-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:10px;font-weight:800;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{color:#fff;background:var(--primary);box-shadow:0 12px 24px #0f766e33}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.checkin-celebration{position:relative;display:grid;align-items:stretch;justify-content:center;gap:10px;flex:0 1 360px;min-width:min(360px,100%)}.checkin-fields{display:grid;gap:8px;width:100%}.checkin-fields textarea{min-height:78px}.checkin-button.completed{background:linear-gradient(135deg,#059669,#14b8a6);box-shadow:0 16px 32px #0596693d}.checkin-celebration.is-celebrating .checkin-button{animation:checkinSuccessPop .56s cubic-bezier(.2,.9,.25,1.25)}.confetti-burst{position:absolute;inset:50% auto auto 50%;width:1px;height:1px;pointer-events:none;z-index:2}.confetti-piece{--x: 0px;--y: -70px;--spin: 180deg;position:absolute;width:8px;height:14px;border-radius:3px;background:#facc15;opacity:0;transform:translate(-50%,-50%);animation:confettiBurst 1.1s cubic-bezier(.15,.8,.2,1) forwards}.confetti-piece:nth-child(2n){width:9px;height:9px;border-radius:999px;background:#38bdf8}.confetti-piece:nth-child(3n){background:#34d399}.confetti-piece:nth-child(4n){background:#fb7185}.confetti-piece:nth-child(5n){background:#a78bfa}.confetti-piece:nth-child(1){--x: -92px;--y: -44px;--spin: -220deg;animation-delay:0ms}.confetti-piece:nth-child(2){--x: -72px;--y: -82px;--spin: 190deg;animation-delay:30ms}.confetti-piece:nth-child(3){--x: -42px;--y: -108px;--spin: -160deg;animation-delay:60ms}.confetti-piece:nth-child(4){--x: -10px;--y: -94px;--spin: 260deg;animation-delay:20ms}.confetti-piece:nth-child(5){--x: 24px;--y: -118px;--spin: -240deg;animation-delay:70ms}.confetti-piece:nth-child(6){--x: 58px;--y: -88px;--spin: 210deg;animation-delay:40ms}.confetti-piece:nth-child(7){--x: 88px;--y: -52px;--spin: -190deg;animation-delay:10ms}.confetti-piece:nth-child(8){--x: -98px;--y: 10px;--spin: 170deg;animation-delay:80ms}.confetti-piece:nth-child(9){--x: -56px;--y: 26px;--spin: -280deg;animation-delay:.1s}.confetti-piece:nth-child(10){--x: -20px;--y: 44px;--spin: 230deg;animation-delay:50ms}.confetti-piece:nth-child(11){--x: 20px;--y: 40px;--spin: -210deg;animation-delay:90ms}.confetti-piece:nth-child(12){--x: 54px;--y: 24px;--spin: 180deg;animation-delay:65ms}.confetti-piece:nth-child(13){--x: 94px;--y: 6px;--spin: -260deg;animation-delay:35ms}.confetti-piece:nth-child(14){--x: 72px;--y: -28px;--spin: 240deg;animation-delay:.11s}.celebration-toast{position:fixed;right:24px;top:24px;z-index:45;display:flex;align-items:center;gap:12px;width:min(390px,calc(100vw - 32px));padding:14px 16px;border:1px solid rgba(16,185,129,.28);border-radius:14px;color:var(--ink);background:var(--surface-strong);box-shadow:0 24px 70px #1c263433;overflow:visible}.celebration-toast>svg{color:var(--green);flex:0 0 auto}.celebration-toast .confetti-burst{inset:34px auto auto 34px}.celebration-copy{display:grid;gap:2px}.celebration-copy strong{color:var(--ink)}.celebration-copy small{color:var(--muted);line-height:1.35}@keyframes checkinSuccessPop{0%{transform:scale(1)}45%{transform:scale(1.08) rotate(-1deg)}to{transform:scale(1)}}@keyframes confettiBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}14%{opacity:1}72%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--spin))}}@media(prefers-reduced-motion:reduce){.checkin-celebration.is-celebrating .checkin-button,.confetti-piece{animation-duration:1ms;animation-iteration-count:1}}.ghost-button{color:var(--ink);background:#ffffffb8;border-color:var(--line)}.primary-button.large,.ghost-button.large{min-height:48px;padding-inline:18px}.primary-button.full,.ghost-button.full{width:100%}button:disabled,button:disabled:hover{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.text-button{min-height:32px;padding:0 6px;color:var(--green);background:transparent}.sample-account-actions .sample-account-button{min-height:36px;padding:7px 11px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:#fffefa}.sample-account-actions .sample-account-button:hover{color:#0f3d39;background:#e7faf6}.sample-link{justify-self:start;padding-inline:0}.back-button{min-height:34px;padding:0;color:var(--muted);background:transparent}.back-button svg{transform:rotate(180deg)}.student-session-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px}.student-session-student{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:var(--green);background:var(--soft);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page-stack{display:grid;gap:22px;animation:fadeUp .42s ease both}.app-loader{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--theme-overlay),var(--custom-backdrop),var(--theme-wallpaper);background-size:cover}.loader-card{display:grid;justify-items:center;gap:12px;width:min(460px,100%);padding:30px 28px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);box-shadow:var(--shadow);text-align:center}.loader-card h1,.loader-card p{margin:0}.loader-card h1{color:var(--heading)}.loader-card p{color:var(--muted);line-height:1.6}.loader-status{display:grid;gap:4px;max-width:360px}.loader-status strong,.loader-status span{display:block}.loader-status strong{color:var(--heading);font-size:.95rem}.loader-status span{color:var(--muted)}.workspace-recovery-notice{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;width:100%;padding:12px 14px;border:1px solid rgba(15,118,110,.2);border-radius:12px;color:#0f3d39;background:#e7faf6;text-align:left}.workspace-recovery-notice.warning{border-color:#d9770647;color:#713f12;background:#fff7df}.workspace-recovery-notice.error{border-color:#be123c47;color:#9f1239;background:#ffe4ea}.workspace-recovery-notice strong,.workspace-recovery-notice span{display:block}.workspace-recovery-notice span{margin-top:2px;line-height:1.45}.login-panel>.workspace-recovery-notice{grid-column:1 / -1}.loader-ring{display:grid;place-items:center;position:relative;width:76px;height:76px;border-radius:50%;color:#0f3d39;background:#ecfdf5db;border:1px solid rgba(15,118,110,.16)}.loader-ring:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:3px solid rgba(15,118,110,.12);border-top-color:var(--primary);border-radius:inherit;animation:loaderSpin .9s linear infinite}.loader-ring svg{position:relative;z-index:1}.loader-track{width:min(320px,100%);height:8px;overflow:hidden;border-radius:999px;background:#ece5da}.loader-track i{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#37d6c7);animation:loaderSlide 1.2s ease-in-out infinite}.loader-tip{max-width:360px;font-size:.92rem}@keyframes loaderSpin{to{transform:rotate(360deg)}}@keyframes loaderSlide{0%{transform:translate(-110%)}to{transform:translate(230%)}}@media(prefers-reduced-motion:reduce){.loader-ring:before,.loader-track i{animation-duration:1ms;animation-iteration-count:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-hero,.report-hero,.review-banner,.student-hero,.analytics-header,.student-session-header,.today-card{display:flex;justify-content:space-between;gap:24px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.report-hero{align-items:flex-start}.dashboard-hero>div:first-child,.review-banner>div:first-child,.student-hero>div:first-child,.analytics-header>div:first-child,.student-session-header>div:first-child,.today-card>div:first-child{min-width:0;max-width:100%}.report-hero>div:first-child{flex:1 1 560px;min-width:0}.report-actions{position:relative;align-self:flex-start;align-items:flex-start;justify-content:flex-end;flex:0 1 520px}.report-actions .primary-button,.report-actions .ghost-button{min-height:38px;padding-inline:12px;white-space:nowrap}.report-export{position:relative}.report-export-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;gap:4px;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);box-shadow:var(--shadow)}.report-export-menu button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:38px;padding:0 10px;border:0;border-radius:9px;color:var(--ink);background:transparent;font-weight:850;text-align:left}.report-export-menu button:hover{background:var(--soft)}.dashboard-hero{min-height:300px;align-items:center;overflow:hidden;background:var(--hero-gradient)}.hero-copy{max-width:680px}.hero-copy h2,.section-heading h2,.report-hero h2,.review-banner h2,.student-hero h2,.analytics-header h2,.student-session-header h2,.processing-core h2{margin:0;color:var(--heading);font-size:clamp(1.8rem,3vw,3rem);line-height:1.06;letter-spacing:0}.hero-copy p,.section-heading p,.report-hero p,.review-banner p,.student-hero p,.analytics-header p,.student-session-header p,.processing-core p,.readable{max-width:760px;min-width:0;color:var(--muted);line-height:1.65;overflow-wrap:anywhere;word-break:normal}.transform-visual{display:grid;grid-template-columns:minmax(140px,190px) 50px minmax(140px,180px);align-items:center;flex:0 1 430px;min-height:210px}.visual-window,.visual-cards{border:1px solid rgba(24,34,49,.12);border-radius:16px;background:#ffffffc7;box-shadow:0 20px 50px #1c26341f}.visual-window{display:grid;gap:12px;padding:18px}.visual-line{height:12px;border-radius:999px;background:#cbd5e1}.visual-line.short{width:74%;background:var(--green)}.visual-line.mid{width:86%;background:#f7c948}.visual-line.tiny{width:52%}.visual-arrow{display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:50%;color:#173e39;background:var(--primary-soft)}.visual-cards{display:grid;gap:10px;padding:16px}.visual-cards span{display:block;padding:12px;border-radius:10px;font-weight:800;background:#f7faf9}.visual-cards span:nth-child(2){background:#fff8df}.visual-cards span:nth-child(3){background:#eef3ff}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);box-shadow:0 12px 34px #1c26340f}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;margin-top:8px;color:var(--ink);font-size:2rem;line-height:1}.metric-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:10px}.metric-card.green .metric-icon{color:var(--green);background:var(--primary-soft)}.metric-card.blue .metric-icon{color:var(--blue);background:#e4edff}.metric-card.amber .metric-icon{color:var(--amber);background:#fff4d1}.metric-card.rose .metric-icon{color:var(--rose);background:#ffe4ea}.content-grid{display:grid;gap:18px}.roster-toggle-bar{display:flex;justify-content:flex-end;margin-bottom:12px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.align-start{align-items:start}.panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);box-shadow:0 12px 34px #1c26340f}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header>div{display:flex;align-items:center;gap:9px}.panel-header h3{margin:0;font-size:1rem}.session-list,.attention-list,.task-list,.resource-list,.editable-stack,.signal-list,.plan-stack,.checklist,.readiness-list,.action-queue{display:grid;gap:10px}.session-row,.task-row,.resource-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:62px;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffefa;text-align:left}.session-row.active{border-color:var(--green);box-shadow:0 0 0 3px var(--primary-soft)}.session-row small,.task-row small,.resource-row small,.attention-item small,.student-line small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}.session-icon,.resource-row>span,.task-check{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--green);background:#e3f7f4}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;min-height:28px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:900}.status-pill.complete{color:#0f766e;background:#dff8f4}.status-pill.in_progress{color:#2563eb;background:#e4edff}.status-pill.submitted{color:#7c3aed;background:#ede9fe}.status-pill.reviewed{color:#047857;background:#d1fae5}.status-pill.todo{color:#655330;background:#f2ead9}.status-pill.overdue{color:#be123c;background:#ffe4ea}.attention-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;width:100%;padding:12px;border:0;border-radius:12px;color:var(--ink);background:#fbf7ef;font:inherit;text-align:left}.attention-item>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--amber);background:#fff4d1}.plan-row{display:grid;gap:3px;padding:12px;border:1px solid transparent;border-radius:12px;background:#f7faf9}.plan-row.current{border-color:#0f766e47;background:#edf5f2;box-shadow:inset 0 0 0 1px #ffffff73}.plan-row strong{display:flex;justify-content:space-between;gap:10px}.plan-row span{color:var(--muted);line-height:1.45}.plan-row small{color:var(--muted);line-height:1.35}.trend-chart{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:18px;height:190px;padding-top:12px}.trend-bar{display:grid;align-items:end;justify-items:center;height:100%;gap:8px}.trend-bar span{width:100%;max-width:70px;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#1c6f67,#37d6c7)}.trend-bar small{color:var(--muted);font-weight:800}.support-snapshot{display:grid;gap:14px;min-height:190px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbf7ef}.support-snapshot strong,.support-snapshot small{display:block}.support-snapshot small{color:var(--muted)}.snapshot-row{display:grid;grid-template-columns:110px minmax(0,1fr) 44px;gap:10px;align-items:center}.snapshot-row span{color:var(--ink);font-weight:900}.snapshot-row div{height:12px;overflow:hidden;border-radius:999px;background:#efe9df}.snapshot-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#37d6c7)}.import-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.import-summary{position:sticky;top:24px;display:grid;gap:16px}.import-main,.import-summary .summary-card,.import-summary .summary-input-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface-strong);box-shadow:var(--shadow)}.section-heading{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1 / -1}.field{display:grid;gap:8px}.field span,.upload-zone span{color:var(--ink);font-size:.82rem;font-weight:900}.field-helper{color:var(--muted);line-height:1.4}.saved-roster-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field input,.field textarea,.field select,.editable-item input,.editable-item textarea,.editable-item select,.inline-fields input,.inline-fields select,.signal-row input{width:100%;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffefa;outline:0}.field input,.field select,.editable-item input,.editable-item select,.inline-fields input,.inline-fields select,.signal-row input{min-height:42px;padding:0 12px}.field textarea,.editable-item textarea{min-height:150px;padding:12px;resize:vertical}.field.compact textarea{min-height:96px}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.template-card{display:grid;gap:8px;align-content:start;min-height:116px;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fffefa;text-align:left;overflow-wrap:anywhere}.template-card strong{line-height:1.12}.template-card small{color:var(--muted);line-height:1.32}.template-card.selected{border-color:#1c6f67;background:#e8f8f5}.template-detail-card{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f7faf9}.template-detail-card strong,.template-detail-card small{display:block}.template-detail-card small{margin-top:3px;color:var(--muted);line-height:1.4}.template-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-detail-grid .field.compact textarea{min-height:78px}.capture-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f7faf9}.capture-panel h3,.capture-panel p,.capture-message{margin:0}.capture-panel p,.capture-panel small,.capture-message{color:var(--muted);line-height:1.45}.capture-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.capture-mode-card,.integration-card{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fffefa;text-align:left}.capture-mode-card{display:grid}.capture-mode-card small,.integration-card small{color:var(--muted);line-height:1.35}.capture-mode-card.active,.integration-card.active{border-color:var(--primary);background:#e8f8f5}.stripe-checkout-shell{min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.stripe-checkout-shell.inactive{display:none}.capture-mode-card.locked{border-style:dashed;color:var(--muted);background:#f6f8f7}.capture-mode-card.locked strong{color:var(--ink)}.pro-lock-note{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;color:#5f6b60!important;background:#ecefea;font-size:.72rem;font-weight:900}.capture-controls,.delivery-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.recording-review{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.recording-review strong,.recording-review small{display:block}.recording-review small{color:var(--muted)}.recording-review audio{width:100%}.capture-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center}.capture-guidance{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px dashed rgba(15,118,110,.35);border-radius:14px;background:#ecfdf5cc;color:var(--ink)}.capture-guidance svg{flex:0 0 auto;color:var(--primary);margin-top:2px}.capture-guidance strong,.capture-guidance small{display:block}.capture-guidance small{color:var(--muted);line-height:1.45}.structured-transcript{display:grid;gap:12px}.structured-transcript-header,.transcript-segment-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.structured-transcript-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.structured-transcript-header strong,.structured-transcript-header small,.transcript-segment-meta strong{display:block}.structured-transcript-header small{color:var(--muted)}.structured-transcript-list{display:grid;gap:10px;max-height:560px;overflow:auto;padding-right:2px}.transcript-segment-row p{margin:0;color:var(--ink);line-height:1.55}.transcript-segment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.transcript-time{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;color:#0f4f4a;background:#e8f8f5;font-size:.78rem;font-weight:900}.transcript-speaker{color:var(--ink)}.personal-automation-grid{display:grid;gap:12px}.personal-automation-card{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.personal-automation-card>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}.personal-automation-card>div:first-child svg{color:var(--primary);margin-top:2px}.personal-automation-card strong,.personal-automation-card small{display:block}.personal-automation-card small{color:var(--muted);line-height:1.4}.inline-button-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.capture-consent,.switch-row{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-size:.92rem;line-height:1.35}.capture-consent{grid-column:1 / -1}.capture-consent input,.switch-row input{width:18px;height:18px;margin-top:1px;accent-color:var(--primary)}.capture-controls strong,.capture-controls small,.delivery-card strong,.delivery-card small{display:block}.capture-controls small,.delivery-card p,.delivery-card small{color:var(--muted);line-height:1.45}.capture-buttons{display:flex;flex-wrap:wrap;gap:8px}.delivery-card p{margin:6px 0 0}.integration-checkbox-list{display:grid;gap:10px}.integration-checkbox-list .switch-row{padding:10px;border:1px solid var(--line);border-radius:12px;background:#ffffff9e}.integration-grid{display:grid;gap:10px}.integration-card span{display:grid;gap:2px;min-width:0}.integration-note{display:block;color:var(--muted);line-height:1.45}.delivery-log-list,.publish-audit-list,.audit-list,.settings-stack{display:grid;gap:12px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.settings-options-list{display:grid;gap:8px}.settings-options-panel{border:1px solid var(--line);border-radius:14px;background:#fbfaf5;overflow:hidden}.settings-options-panel summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:11px 12px;cursor:pointer;list-style:none}.settings-options-panel summary::-webkit-details-marker{display:none}.settings-options-panel summary span,.settings-option-button span{display:grid;gap:2px;min-width:0}.settings-options-panel summary strong,.settings-option-button strong{color:var(--ink)}.settings-options-panel summary small,.settings-option-button small{color:var(--muted);line-height:1.35}.settings-options-panel summary>svg{color:var(--muted);transition:transform .15s ease}.settings-options-panel[open] summary>svg{transform:rotate(180deg)}.settings-option-actions{display:grid;gap:8px;padding:0 10px 10px}.settings-option-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px;border:1px solid rgba(222,214,202,.82);border-radius:12px;color:var(--ink);background:#ffffffad;text-align:left}.settings-option-button>svg:first-child{color:var(--green)}.settings-option-button>svg:last-child{color:var(--muted)}.settings-option-button:hover:not(:disabled){border-color:#0f766e52;background:#fff}.delivery-log-row,.publish-audit-row,.audit-row{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.delivery-log-row span,.publish-audit-row span,.audit-row span,.delivery-log-row small,.publish-audit-row small,.audit-row small{color:var(--muted)}.publish-audit-row strong{text-transform:capitalize}.student-change-list{display:grid;gap:10px}.student-change-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.student-change-row svg{color:var(--primary)}.student-change-row strong,.student-change-row small,.submission-state-card strong,.submission-state-card small{display:block}.student-change-row small,.submission-state-card small{color:var(--muted);line-height:1.35}.submission-state-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.student-feedback-toast{position:fixed;right:22px;bottom:22px;z-index:35;width:min(360px,calc(100vw - 32px));padding:14px;border:1px solid rgba(16,185,129,.28);border-radius:14px;background:var(--surface-strong);box-shadow:0 24px 70px #1c263433}.feedback-toast-header,.feedback-thanks{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-toast-header strong,.feedback-toast-header small,.feedback-thanks span{display:block}.feedback-toast-header small{margin-top:3px;color:var(--muted);line-height:1.35}.feedback-rating-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.feedback-rating-row button{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--soft);font-weight:900}.feedback-rating-row button:hover,.feedback-rating-row button.selected{border-color:#10b98173;color:var(--green);background:var(--primary-soft)}.feedback-improvement-form{display:grid;gap:10px;margin-top:12px}.feedback-improvement-form textarea{min-height:84px}.feedback-thanks{justify-content:flex-start;align-items:center;color:var(--green);font-weight:900}.danger-soft{color:#b91c1c;border-color:#fecaca;background:#fff5f5}.upload-zone{position:relative;display:grid;place-items:center;gap:8px;min-height:104px;padding:18px;border:1px dashed #9fb8b1;border-radius:16px;color:var(--green);background:#f1fbf8;text-align:center}.import-main .field textarea{min-height:150px}.import-main .paste-field textarea{min-height:210px;font-size:1rem;line-height:1.45}.import-main .paste-field.large-paste textarea{min-height:280px}.upload-zone small{color:var(--muted)}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.summary-card{display:grid;gap:14px}.summary-card h3{margin:0}.summary-fields{display:grid;gap:12px}.summary-fields .field textarea{min-height:104px;font-size:.94rem}.capture-help-modal{width:min(680px,100%)}.summary-card ul{display:grid;gap:9px;margin:0;padding-left:20px;color:var(--muted);line-height:1.45}.summary-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--green);background:#dff8f4}.template-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 88%,var(--primary-soft))}.template-link-card strong,.template-link-card small{display:block}.template-link-card small{margin-top:4px;color:var(--muted);line-height:1.4}.personal-page{--personal-accent: #0ea5e9}.personal-hero{background:linear-gradient(135deg,#0ea5e91f,#10b98114),var(--surface-strong)}.personal-hero-panel{align-self:stretch;display:grid;align-content:center;gap:10px;min-width:min(340px,100%);padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);box-shadow:0 18px 48px #0f172a14}.personal-hero-panel strong,.personal-hero-panel p{margin:0}.personal-hero-panel p{color:var(--muted);line-height:1.55}.personal-import-layout .import-main .paste-field textarea{min-height:430px}.personal-review-banner{background:linear-gradient(135deg,#0ea5e91a,#10b98114),var(--surface-strong)}.personal-recap{display:grid;gap:14px;color:var(--muted);line-height:1.6}.personal-recap p{margin:0;color:var(--ink);font-size:1rem}.personal-recap div{display:grid;gap:4px;padding-top:12px;border-top:1px solid var(--line)}.personal-recap strong{color:var(--ink)}.personal-task-list{display:grid;gap:12px}.personal-task-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) minmax(150px,.55fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong)}.personal-task-row>div{align-self:center}.personal-task-row strong,.personal-task-row small{display:block}.personal-task-row small{margin-top:4px;color:var(--muted);line-height:1.35}.bullet-stack{display:grid;gap:10px}.bullet-stack span,.bullet-stack a{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface);text-decoration:none;line-height:1.35}.processing-page{display:grid;place-items:center;min-height:calc(100vh - 150px)}.processing-core{display:grid;justify-items:center;width:min(680px,100%);padding:38px;border:1px solid var(--line);border-radius:24px;background:var(--surface-strong);box-shadow:var(--shadow);text-align:center}.processing-orbit{display:grid;place-items:center;width:86px;height:86px;margin-bottom:18px;border-radius:50%;color:#183c37;background:conic-gradient(from 120deg,#37d6c7,#f7c948,#7c9cf5,#37d6c7);animation:spin 3s linear infinite}.processing-orbit svg{animation:spinBack 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinBack{to{transform:rotate(-360deg)}}.processing-steps{display:grid;gap:10px;width:min(430px,100%);margin-top:18px}.processing-step{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;color:var(--muted);background:#f7f4ee}.processing-step.active{color:#0f766e;background:#e2f8f4}.class-empty-center{display:grid;place-items:center;min-height:calc(100vh - 370px)}.guided-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;pointer-events:auto}.tour-backdrop-piece,.tour-backdrop-full,.tour-corner-mask{position:absolute;background:#08101c61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:0}.tour-backdrop-full{top:0;right:0;bottom:0;left:0}.tour-highlight{position:absolute;width:min(360px,52vw);height:130px;border:2px solid rgba(55,214,199,.95);border-radius:24px;box-shadow:0 0 42px #37d6c75c,0 12px 46px #0f766e2e;animation:tourPulse 1.4s ease-in-out infinite;z-index:1;pointer-events:none}.tour-corner-mask{pointer-events:none}.tour-corner-mask.top-left{-webkit-mask-image:radial-gradient(circle at 100% 100%,transparent 0 23px,#000 24px);mask-image:radial-gradient(circle at 100% 100%,transparent 0 23px,#000 24px)}.tour-corner-mask.top-right{-webkit-mask-image:radial-gradient(circle at 0 100%,transparent 0 23px,#000 24px);mask-image:radial-gradient(circle at 0 100%,transparent 0 23px,#000 24px)}.tour-corner-mask.bottom-left{-webkit-mask-image:radial-gradient(circle at 100% 0,transparent 0 23px,#000 24px);mask-image:radial-gradient(circle at 100% 0,transparent 0 23px,#000 24px)}.tour-corner-mask.bottom-right{-webkit-mask-image:radial-gradient(circle at 0 0,transparent 0 23px,#000 24px);mask-image:radial-gradient(circle at 0 0,transparent 0 23px,#000 24px)}.tour-popover{position:absolute;display:grid;gap:14px;width:min(430px,calc(100vw - 36px));padding:22px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--surface-strong);box-shadow:var(--shadow);z-index:2}.tour-popover h2,.tour-popover p{margin:0}.tour-popover p{color:var(--muted);line-height:1.55}.tour-popover.anchored{right:auto;bottom:auto;max-height:calc(100vh - 36px);overflow:auto}.tour-actions{display:flex;flex-wrap:wrap;gap:10px}.tour-highlight.top-left{left:300px;top:110px}.tour-popover.top-left{left:330px;top:260px}.tour-highlight.top-right{right:70px;top:90px}.tour-popover.top-right{right:70px;top:245px}.tour-highlight.center{left:50%;top:46%;transform:translate(-50%,-50%)}.tour-popover.center{left:50%;top:calc(46% + 95px);transform:translate(-50%)}.tour-highlight.bottom-right{right:70px;bottom:150px}.tour-popover.bottom-right{right:70px;bottom:40px}@keyframes tourPulse{0%,to{opacity:.78}50%{opacity:1}}.editable-item{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.editable-item small{color:var(--muted);line-height:1.4}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.question-list{display:grid;gap:10px;margin-top:14px}.followup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.followup-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffefa}.student-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;color:#fff;font-size:.76rem;font-weight:900}.signal-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border-radius:12px;background:#f7faf9}.signal-row>div{display:grid;gap:8px}.signal-row small{color:var(--muted)}.import-warning-list{display:grid;gap:12px}.import-warning-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.import-warning-card.blocking{border-color:#f59e0b;background:#fff7ed}.import-warning-card.warning{border-color:#facc15;background:#fefce8}.import-warning-card.info{background:#f7faf9}.import-warning-card strong{display:block;color:var(--ink)}.import-warning-card p{margin:4px 0;color:var(--muted);line-height:1.5}.import-warning-card small{color:var(--muted)}.import-warning-summary{min-height:0}.switch{display:inline-grid;place-items:center;width:44px;height:28px}.switch input{position:absolute;opacity:0}.switch span{position:relative;display:block;width:44px;height:26px;border-radius:999px;background:#d5d0c7}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch input:checked+span{background:#1c6f67}.switch input:checked+span:after{transform:translate(18px)}.question-chips,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.question-chips span,.tag-row span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:16px;color:#344151;background:#f2ead9;line-height:1.2}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.table-student{display:inline-flex;align-items:center;gap:8px;font-weight:800}.progress-bar{position:relative;display:flex;align-items:center;min-width:120px;height:28px;overflow:hidden;border-radius:999px;background:#efe9df}.progress-bar span{align-self:stretch;border-radius:inherit;background:linear-gradient(90deg,#f7c948,#1c6f67)}.progress-bar small{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#17202b;font-size:.72rem;font-weight:900}.student-hero{align-items:center;background:linear-gradient(120deg,#fffefaf7,#fffefac7),linear-gradient(135deg,#e4f7f3,#fff1c9 52%,#e8edff)}.student-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px;min-width:300px}.student-picker-item{display:flex;align-items:center;gap:8px;min-height:46px;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffc}.student-picker-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-picker-item.active{border-color:#1c6f67;background:#e2f8f4}.today-card{align-items:center}.checklist-row,.student-signal{display:flex;gap:10px;align-items:start;padding:12px;border-radius:12px;background:#f7faf9}.student-signal{display:grid}.student-note{margin-top:12px;padding:14px;border-radius:12px;background:#fff8df}.student-note p{margin-bottom:0;color:var(--muted);line-height:1.55}.analytics-bars,.readiness-list{display:grid;gap:14px}.analytics-bar-row{display:grid;grid-template-columns:70px minmax(0,1fr) 74px auto;gap:10px;align-items:center}.analytics-bar-row>span,.analytics-bar-row small{color:var(--muted);font-weight:800}.analytics-bar-row div{height:12px;border-radius:999px;background:#efe9df}.analytics-bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c6f67,#7c9cf5)}.analytics-bar-row em{color:#be123c;font-size:.76rem;font-style:normal;font-weight:900}.readiness-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,220px);gap:12px;align-items:center}.appearance-hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,480px);gap:26px;align-items:center;min-height:330px;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--hero-gradient);box-shadow:var(--shadow);overflow:hidden}.appearance-hero h2{max-width:720px;margin:0;color:var(--heading);font-size:clamp(2rem,3.6vw,4rem);line-height:1.02}.appearance-hero p{max-width:680px;color:var(--muted);line-height:1.65}.live-theme-preview{position:relative;display:grid;grid-template-columns:72px 1fr;grid-template-rows:1fr auto;gap:14px;min-height:250px;padding:18px;border:1px solid rgba(255,255,255,.3);border-radius:28px;overflow:hidden;box-shadow:0 26px 70px #0000003d}.live-theme-preview:before,.theme-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;z-index:0}.live-theme-preview>*,.theme-swatch>*{position:relative;z-index:1}.preview-glow{position:absolute;width:180px;height:180px;top:-34px;right:40px;border-radius:999px;background:#ffffff6b;filter:blur(28px)}.preview-nav,.preview-card{border:1px solid rgba(255,255,255,.36);border-radius:18px;background:#ffffff2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-nav{grid-row:1 / 3}.preview-card{display:grid;gap:10px;padding:16px}.preview-card.large strong{color:#fff;font-size:1.5rem}.preview-card span,.preview-card i{display:block;height:11px;border-radius:999px;background:#ffffffb8}.preview-card span:last-child{width:68%}.preview-card.row{grid-template-columns:repeat(3,1fr)}.theme-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-option{display:grid;gap:10px;min-height:210px;padding:12px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);text-align:left}.theme-option.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green),0 14px 34px #0f766e1f}.theme-option strong,.theme-option small{display:block}.theme-option small{color:var(--muted);line-height:1.42}.theme-swatch{position:relative;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;height:96px;padding:14px;border-radius:14px;overflow:hidden}.theme-swatch i{display:block;height:44px;border:1px solid rgba(255,255,255,.38);border-radius:12px;background:#ffffff47;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-swatch i:nth-child(2){height:64px}.theme-swatch i:nth-child(3){height:34px}.live-theme-preview.classroom,.theme-swatch.classroom{background:radial-gradient(circle at 22% 20%,rgba(247,201,72,.7),transparent 26%),linear-gradient(135deg,#0f766e,#f6e7bd 62%,#dbeafe)}.live-theme-preview.abyssal,.theme-swatch.abyssal{background:radial-gradient(circle at 52% 8%,rgba(186,230,253,.95),transparent 18%),radial-gradient(circle at 80% 70%,rgba(37,99,235,.5),transparent 30%),url(/abyssal-landscape.png),linear-gradient(160deg,#020617,#06324f 48%,#01040b)}.live-theme-preview.botanical,.theme-swatch.botanical{background:radial-gradient(circle at 20% 24%,rgba(187,247,208,.9),transparent 26%),radial-gradient(circle at 88% 70%,rgba(20,184,166,.42),transparent 30%),linear-gradient(140deg,#174235,#dff4e8 62%,#f8e7bb)}.live-theme-preview.graphite,.theme-swatch.graphite{background:radial-gradient(circle at 72% 14%,rgba(139,92,246,.7),transparent 28%),linear-gradient(135deg,#05070d,#1f2433 54%,#111827)}.accent-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.accent-swatch{width:42px;height:42px;border:3px solid rgba(255,255,255,.9);border-radius:999px;box-shadow:0 0 0 1px var(--line)}.accent-swatch.selected{box-shadow:0 0 0 3px var(--surface-strong),0 0 0 6px var(--green)}.appearance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}:root[data-theme=abyssal] .sidebar{border-right:1px solid rgba(186,230,253,.15);background:linear-gradient(180deg,#020817f0,#020c1bd1),url(/abyssal-landscape.png);background-size:cover}:root[data-theme=abyssal] .main-area{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=abyssal] .dashboard-hero,:root[data-theme=abyssal] .appearance-hero,:root[data-theme=abyssal] .report-hero,:root[data-theme=abyssal] .review-banner,:root[data-theme=abyssal] .student-hero,:root[data-theme=abyssal] .analytics-header,:root[data-theme=abyssal] .student-session-header,:root[data-theme=abyssal] .today-card{border-color:#bae6fd38;background-size:cover;background-position:center;box-shadow:0 30px 90px #00000057}:root[data-theme=abyssal] .dashboard-hero,:root[data-theme=abyssal] .student-hero,:root[data-theme=abyssal] .appearance-hero{min-height:380px}:root[data-theme=abyssal] .student-hero{background:linear-gradient(135deg,#040f1de6,#071e34ad),url(/abyssal-hero.png),radial-gradient(circle at 72% 18%,rgba(56,189,248,.34),transparent 32%),linear-gradient(160deg,#020817,#06213a);background-size:cover;background-position:center}:root[data-theme=abyssal] .today-card{background:linear-gradient(135deg,#040f1dd6,#06172abd),radial-gradient(circle at 74% 24%,rgba(56,189,248,.2),transparent 30%),#071424db}:root[data-theme=abyssal] .topbar h1,:root[data-theme=abyssal] .hero-copy h2,:root[data-theme=abyssal] .section-heading h2,:root[data-theme=abyssal] .report-hero h2,:root[data-theme=abyssal] .review-banner h2,:root[data-theme=abyssal] .student-hero h2,:root[data-theme=abyssal] .analytics-header h2,:root[data-theme=abyssal] .student-session-header h2,:root[data-theme=abyssal] .appearance-hero h2,:root[data-theme=abyssal] .processing-core h2,:root[data-theme=abyssal] .today-card h3{color:#f8fbff;text-shadow:0 18px 44px rgba(0,0,0,.46)}:root[data-theme=abyssal] .hero-copy p,:root[data-theme=abyssal] .section-heading p,:root[data-theme=abyssal] .report-hero p,:root[data-theme=abyssal] .review-banner p,:root[data-theme=abyssal] .student-hero p,:root[data-theme=abyssal] .analytics-header p,:root[data-theme=abyssal] .student-session-header p,:root[data-theme=abyssal] .appearance-hero p,:root[data-theme=abyssal] .processing-core p,:root[data-theme=abyssal] .readable{color:#c9d9e8}:root[data-theme=abyssal] .panel,:root[data-theme=abyssal] .metric-card,:root[data-theme=abyssal] .session-row,:root[data-theme=abyssal] .attention-item,:root[data-theme=abyssal] .followup-card,:root[data-theme=abyssal] .editable-item,:root[data-theme=abyssal] .task-row,:root[data-theme=abyssal] .resource-row,:root[data-theme=abyssal] .theme-option,:root[data-theme=abyssal] .login-panel,:root[data-theme=abyssal] .security-card,:root[data-theme=abyssal] .login-help{border-color:#bae6fd2e;background:#051223b3;box-shadow:0 20px 60px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=abyssal] .login-page{background:linear-gradient(90deg,#020617b8,#02061738),url(/abyssal-hero.png),var(--theme-wallpaper);background-size:cover;background-position:center}:root[data-theme=abyssal] .input-with-icon,:root[data-theme=abyssal] .field input,:root[data-theme=abyssal] .field textarea,:root[data-theme=abyssal] .field select,:root[data-theme=abyssal] .editable-item input,:root[data-theme=abyssal] .editable-item textarea,:root[data-theme=abyssal] .editable-item select,:root[data-theme=abyssal] .inline-fields input,:root[data-theme=abyssal] .inline-fields select,:root[data-theme=abyssal] .signal-row input{border-color:#bae6fd2e;color:var(--ink);background:#030b19ad}:root[data-theme=abyssal] .role-tabs,:root[data-theme=abyssal] .student-picker-item{border-color:#bae6fd2e;background:#05122394}:root[data-theme=abyssal] .primary-button{color:#03101f;background:linear-gradient(135deg,#bae6fd,var(--primary));box-shadow:0 18px 40px #38bdf833}:root[data-theme=abyssal] .ghost-button,:root[data-theme=abyssal] .account-pill,:root[data-theme=abyssal] .student-identity,:root[data-theme=abyssal] .logout-button{border-color:#bae6fd33;color:var(--ink);background:#0512239e}:root[data-theme=abyssal] .report-export-menu,:root[data-theme=graphite] .report-export-menu{border-color:var(--readable-border);background:var(--readable-card);box-shadow:0 20px 70px #00000057}:root[data-theme=abyssal] .report-export-menu button,:root[data-theme=graphite] .report-export-menu button{color:var(--ink)}:root[data-theme=abyssal] .report-export-menu button:hover,:root[data-theme=graphite] .report-export-menu button:hover{background:var(--readable-chip)}:root[data-theme=abyssal] .transform-visual{padding:14px;border:1px solid rgba(186,230,253,.2);border-radius:28px;background:linear-gradient(135deg,#0ea5e92e,#7c3aed1f),#02061785;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=abyssal] .visual-window,:root[data-theme=abyssal] .visual-cards,:root[data-theme=abyssal] .visual-arrow{border-color:#bae6fd33;background:#0512239e}:root[data-theme=abyssal] .visual-cards span,:root[data-theme=abyssal] .checklist-row,:root[data-theme=abyssal] .student-signal,:root[data-theme=abyssal] .student-note,:root[data-theme=abyssal] .inline-empty{background:#0ea5e91a}:root[data-theme=abyssal] .metric-card.green .metric-icon,:root[data-theme=abyssal] .metric-card.blue .metric-icon,:root[data-theme=abyssal] .metric-card.amber .metric-icon,:root[data-theme=abyssal] .metric-card.rose .metric-icon,:root[data-theme=abyssal] .empty-state>span,:root[data-theme=abyssal] .inline-empty>span,:root[data-theme=abyssal] .security-card>span{color:#dff8ff;background:#38bdf829}:root[data-theme=abyssal] table,:root[data-theme=abyssal] th{color:var(--ink)}:root[data-theme=abyssal] tr:hover{background:#0ea5e914}:root[data-theme=abyssal] :is(.panel,.metric-card,.session-row,.attention-item,.plan-row,.support-snapshot,.followup-card,.editable-item,.task-row,.resource-row,.theme-option,.login-panel,.security-card,.login-help,.reset-account-row,.password-reset-modal,.profile-menu,.import-main,.summary-card,.summary-input-card,.template-card,.template-detail-card,.capture-panel,.capture-mode-card,.capture-controls,.capture-guidance,.delivery-card,.integration-card,.settings-options-panel,.settings-option-button,.upload-zone,.processing-core,.processing-step,.signal-row,.checklist-row,.student-signal,.student-note,.inline-empty,.empty-state,.roster-row,.participant-card,.student-access-cell,.student-preview-frame,.student-preview-top,.student-preview-card,.student-preview-columns,.student-picker-item,.student-feedback-toast,.visual-window,.visual-cards,.visual-cards span,.visual-arrow,.loader-card,.recording-review,.structured-transcript-header,.transcript-segment-row,.personal-automation-card,.tour-popover),:root[data-theme=graphite] :is(.panel,.metric-card,.session-row,.attention-item,.plan-row,.support-snapshot,.followup-card,.editable-item,.task-row,.resource-row,.theme-option,.login-panel,.security-card,.login-help,.reset-account-row,.password-reset-modal,.profile-menu,.import-main,.summary-card,.summary-input-card,.template-card,.template-detail-card,.capture-panel,.capture-mode-card,.capture-controls,.capture-guidance,.delivery-card,.integration-card,.settings-options-panel,.settings-option-button,.upload-zone,.processing-core,.processing-step,.signal-row,.checklist-row,.student-signal,.student-note,.inline-empty,.empty-state,.roster-row,.participant-card,.student-access-cell,.student-preview-frame,.student-preview-top,.student-preview-card,.student-preview-columns,.student-picker-item,.student-feedback-toast,.visual-window,.visual-cards,.visual-cards span,.visual-arrow,.loader-card,.recording-review,.structured-transcript-header,.transcript-segment-row,.personal-automation-card,.tour-popover){border-color:var(--readable-border);color:var(--ink);background:var(--readable-card);box-shadow:0 20px 70px #00000047}:root[data-theme=abyssal] :is(.dashboard-hero,.report-hero,.review-banner,.student-hero,.analytics-header,.student-session-header,.today-card,.appearance-hero),:root[data-theme=graphite] :is(.dashboard-hero,.report-hero,.review-banner,.student-hero,.analytics-header,.student-session-header,.today-card,.appearance-hero){border-color:var(--readable-border);color:var(--ink)}:root[data-theme=graphite] .student-hero,:root[data-theme=graphite] .student-preview-frame{background:var(--hero-gradient)}:root[data-theme=abyssal] :is(.login-brand small,.auth-mode-link span,.login-copy p,.modal-header p,.login-help span,.security-card p,.reset-account-row span,.profile-menu-header small,.session-row small,.task-row small,.resource-row small,.attention-item small,.student-line small,.plan-row span,.support-snapshot small,.template-card small,.template-detail-card small,.capture-panel p,.capture-panel small,.capture-message,.capture-controls small,.capture-guidance small,.delivery-card p,.delivery-card small,.integration-card small,.settings-options-panel summary small,.settings-option-button small,.integration-note,.upload-zone small,.summary-card ul,.editable-item small,.signal-row small,.student-note p,.question-chips span,.tag-row span,.student-preview-top p,.student-preview-card p,.student-preview-columns p,.student-preview-columns li,.participant-card p,.student-access-cell small,.field-helper,.recording-review small,.structured-transcript-header small,.personal-automation-card small,.tour-popover p,.loader-card p,.inline-empty p,.empty-state p,.metric-card span,.metric-card small,.trend-bar small,.analytics-bar-row>span,.analytics-bar-row small,th),:root[data-theme=graphite] :is(.login-brand small,.auth-mode-link span,.login-copy p,.modal-header p,.login-help span,.security-card p,.reset-account-row span,.profile-menu-header small,.session-row small,.task-row small,.resource-row small,.attention-item small,.student-line small,.plan-row span,.support-snapshot small,.template-card small,.template-detail-card small,.capture-panel p,.capture-panel small,.capture-message,.capture-controls small,.capture-guidance small,.delivery-card p,.delivery-card small,.integration-card small,.settings-options-panel summary small,.settings-option-button small,.integration-note,.upload-zone small,.summary-card ul,.editable-item small,.signal-row small,.student-note p,.question-chips span,.tag-row span,.student-preview-top p,.student-preview-card p,.student-preview-columns p,.student-preview-columns li,.participant-card p,.student-access-cell small,.field-helper,.recording-review small,.structured-transcript-header small,.personal-automation-card small,.tour-popover p,.loader-card p,.inline-empty p,.empty-state p,.metric-card span,.metric-card small,.trend-bar small,.analytics-bar-row>span,.analytics-bar-row small,th){color:var(--readable-muted)}:root[data-theme=abyssal] :is(.input-with-icon,.field input,.field textarea,.field select,.editable-item input,.editable-item textarea,.editable-item select,.inline-fields input,.inline-fields select,.signal-row input,.link-student-control select,.editable-line input,.resource-edit-row input),:root[data-theme=graphite] :is(.input-with-icon,.field input,.field textarea,.field select,.editable-item input,.editable-item textarea,.editable-item select,.inline-fields input,.inline-fields select,.signal-row input,.link-student-control select,.editable-line input,.resource-edit-row input){border-color:var(--readable-border);color:#f8fbff;background:var(--readable-card-strong)}:root[data-theme=abyssal] :is(input,textarea)::placeholder,:root[data-theme=graphite] :is(input,textarea)::placeholder{color:var(--readable-subtle);opacity:1}:root[data-theme=abyssal] :is(.role-tabs,.ghost-button,.account-pill,.student-identity,.logout-button,.icon-button,.reset-code-card,.reset-code-card button,.progress-bar,.analytics-bar-row div,.snapshot-row div),:root[data-theme=graphite] :is(.role-tabs,.ghost-button,.account-pill,.student-identity,.logout-button,.icon-button,.reset-code-card,.reset-code-card button,.progress-bar,.analytics-bar-row div,.snapshot-row div){border-color:var(--readable-border);color:var(--ink);background:var(--readable-card-soft)}:root[data-theme=abyssal] .auth-mode-link,:root[data-theme=graphite] .auth-mode-link{color:#7dd3fc}:root[data-theme=abyssal] :is(.role-tabs button,.password-control button),:root[data-theme=graphite] :is(.role-tabs button,.password-control button){color:var(--readable-muted)}:root[data-theme=abyssal] :is(.role-tabs button.active),:root[data-theme=graphite] :is(.role-tabs button.active){color:#06111f;background:linear-gradient(135deg,#bae6fd,#38bdf8)}:root[data-theme=abyssal] :is(.template-card.selected,.student-picker-item.active,.theme-option.selected,.processing-step.active),:root[data-theme=graphite] :is(.template-card.selected,.student-picker-item.active,.theme-option.selected,.processing-step.active){border-color:#7dd3fc;color:#f8fbff;background:var(--readable-chip-strong)}:root[data-theme=abyssal] :is(.session-icon,.resource-row>span,.task-check,.summary-icon,.inline-empty>span,.empty-state>span,.security-card>span,.attention-item>span,.metric-card.green .metric-icon,.metric-card.blue .metric-icon,.metric-card.amber .metric-icon,.metric-card.rose .metric-icon),:root[data-theme=graphite] :is(.session-icon,.resource-row>span,.task-check,.summary-icon,.inline-empty>span,.empty-state>span,.security-card>span,.attention-item>span,.metric-card.green .metric-icon,.metric-card.blue .metric-icon,.metric-card.amber .metric-icon,.metric-card.rose .metric-icon){color:#dff8ff;background:var(--readable-chip-strong)}:root[data-theme=abyssal] :is(.question-chips span,.tag-row span),:root[data-theme=graphite] :is(.question-chips span,.tag-row span){border:1px solid var(--readable-border);color:#f4fbff;background:var(--readable-chip)}:root[data-theme=abyssal] .status-pill.complete,:root[data-theme=graphite] .status-pill.complete{color:#ccfbf1;background:#14b8a638}:root[data-theme=abyssal] .status-pill.in_progress,:root[data-theme=graphite] .status-pill.in_progress{color:#dbeafe;background:#3b82f63d}:root[data-theme=abyssal] .status-pill.submitted,:root[data-theme=graphite] .status-pill.submitted{color:#ede9fe;background:#8b5cf642}:root[data-theme=abyssal] .status-pill.reviewed,:root[data-theme=graphite] .status-pill.reviewed{color:#d1fae5;background:#10b9813d}:root[data-theme=abyssal] .status-pill.todo,:root[data-theme=graphite] .status-pill.todo{color:#fef3c7;background:#f59e0b33}:root[data-theme=abyssal] .status-pill.overdue,:root[data-theme=graphite] .status-pill.overdue{color:#fecdd3;background:#f43f5e33}:root[data-theme=abyssal] .progress-bar small,:root[data-theme=graphite] .progress-bar small{color:#f8fbff;text-shadow:0 1px 8px rgba(0,0,0,.42)}:root[data-theme=abyssal] :is(.settings-message,.login-error),:root[data-theme=graphite] :is(.settings-message,.login-error){color:#fecdd3;background:#f43f5e2e}:root[data-theme=abyssal] :is(.settings-message.success,.login-success),:root[data-theme=graphite] :is(.settings-message.success,.login-success){color:#ccfbf1;background:#14b8a62e}.empty-state{display:grid;justify-items:center;gap:12px;width:min(620px,100%);margin:80px auto;padding:36px;border:1px solid var(--line);border-radius:22px;background:var(--surface-strong);text-align:center;box-shadow:var(--shadow)}.empty-state>span{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;color:var(--green);background:#dff8f4}.empty-state h2,.empty-state p{margin:0}.empty-state p{color:var(--muted);line-height:1.55}.inline-empty{display:grid;justify-items:start;gap:8px;min-height:190px;padding:18px;border:1px dashed #d8d0c5;border-radius:14px;background:#fbf7ef}.inline-empty>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--green);background:#dff8f4}.inline-empty strong{color:var(--ink)}.inline-empty p{max-width:420px;margin:0;color:var(--muted);line-height:1.55}.compact-empty{min-height:0}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffefa}.icon-button.danger{color:#b42318;background:#fff7f4}.roster-manager,.participant-stack,.student-visible-editor,.editable-subsection{display:grid;gap:12px}.roster-manager-actions{display:flex;flex-wrap:wrap;gap:8px}.roster-row{display:grid;grid-template-columns:auto minmax(170px,1.6fr) minmax(200px,2fr) minmax(120px,.8fr) minmax(150px,1.2fr) minmax(190px,1.4fr) auto;grid-template-areas:"avatar name email attendance aliases access remove";gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.roster-row.without-attendance{grid-template-columns:auto minmax(170px,1.2fr) minmax(220px,1.4fr) minmax(180px,1.2fr) minmax(190px,1.1fr) auto;grid-template-areas:"avatar name email aliases access remove"}.roster-row>.avatar{grid-area:avatar;align-self:center}.roster-name-field{grid-area:name}.roster-email-field{grid-area:email}.roster-attendance-field{grid-area:attendance}.roster-aliases-field{grid-area:aliases}.roster-remove-button{grid-area:remove}.roster-row .field{min-width:0}.roster-row .field input,.roster-row .field select{width:100%}.student-access-cell{grid-area:access;display:grid;gap:4px;min-width:0}.student-access-cell>span{color:var(--ink);font-size:.82rem;font-weight:900}.student-access-cell small{color:var(--muted);line-height:1.25}.student-access-cell>div{display:flex;flex-wrap:wrap;gap:6px}.roster-template-layout{grid-template-columns:minmax(240px,.45fr) minmax(0,1fr)}.roster-template-list,.roster-template-settings{display:grid;gap:12px}.roster-template-card{display:grid;gap:4px;width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fffefa;text-align:left}.roster-template-card.selected{border-color:var(--primary);background:var(--primary-soft)}.roster-template-card strong,.roster-template-card span,.roster-template-card small{display:block}.roster-template-card span,.roster-template-card small{color:var(--muted)}.roster-template-settings{grid-template-columns:minmax(180px,1.2fr) minmax(170px,.8fr) auto;align-items:end;margin-bottom:14px}.roster-template-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.class-history-card{display:grid;gap:2px;min-height:62px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.class-history-card strong{color:var(--heading);font-size:1.4rem}.class-history-card span{color:var(--muted);font-weight:700;line-height:1.3}.ghost-button.danger{color:#b42318;border-color:#f3d4ce;background:#fff7f4}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.participant-card{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.participant-card h4,.participant-card p{margin:0}.participant-card p{color:var(--muted);line-height:1.45}.participant-card small{color:var(--muted);line-height:1.4}.participant-actions,.link-student-control,.subsection-header,.editable-line{display:flex;align-items:center;gap:10px}.participant-actions,.subsection-header{justify-content:space-between;flex-wrap:wrap}.link-student-control{flex-wrap:wrap}.link-student-control select,.editable-line input,.resource-edit-row input{min-height:40px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffefa;padding:0 10px}.editable-line input{flex:1;min-width:0}.resource-edit-row{display:grid;grid-template-columns:1fr 1.15fr 1fr auto;gap:8px}.publish-preview-page .preview-picker{min-width:0}.preview-diff-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.preview-diff-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fffefa;text-align:left}.preview-diff-row.active{border-color:var(--primary);background:var(--primary-soft)}.preview-diff-row span{display:grid;gap:2px;min-width:0}.preview-diff-row strong,.preview-diff-row small,.preview-diff-row em{overflow-wrap:anywhere}.preview-diff-row small{color:var(--muted);line-height:1.35}.preview-diff-row em{grid-column:1 / -1;color:var(--primary);font-size:.82rem;font-style:normal;font-weight:900}.student-preview-frame{display:grid;gap:16px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,#fffefafa,#fffefad6),linear-gradient(135deg,#e4f7f3,#fff1c9 52%,#e8edff);box-shadow:var(--shadow)}.student-preview-top,.student-preview-card,.student-preview-columns{border:1px solid var(--line);border-radius:16px;background:#ffffffc7}.student-preview-top{display:flex;justify-content:space-between;gap:16px;padding:18px}.student-preview-top>div,.student-preview-card,.student-preview-columns>div{min-width:0}.student-preview-top h3,.student-preview-top p,.student-preview-card h4,.student-preview-card p{margin:0;overflow-wrap:anywhere}.student-preview-top p,.student-preview-card p,.student-preview-columns p,.student-preview-columns li{color:var(--muted);line-height:1.55}.student-preview-card{padding:18px}.student-preview-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:18px}.student-preview-columns ul{display:grid;gap:8px;margin:10px 0 0;padding-left:18px}.student-visible-editor.compact-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.student-visible-editor.compact-editor .editable-subsection{grid-column:1 / -1}.walkthrough-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--hero-gradient);box-shadow:var(--shadow)}.walkthrough-hero h2,.walkthrough-hero p{margin:0}.walkthrough-hero h2{max-width:820px;color:var(--heading);font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.05}.walkthrough-hero p{max-width:760px;margin-top:14px;color:var(--muted);line-height:1.65}.walkthrough-card{display:grid;gap:16px}.walkthrough-progress-header,.walkthrough-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.walkthrough-progress-header span{color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.walkthrough-progress-header strong{color:var(--heading)}.walkthrough-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#efe9df}.walkthrough-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#37d6c7);transition:width .18s ease}.walkthrough-step-main{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.walkthrough-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:var(--green);background:var(--primary-soft)}.walkthrough-step-main h3,.walkthrough-step-main p{margin:0}.walkthrough-step-main h3{color:var(--heading);font-size:clamp(1.5rem,2.4vw,2.4rem);line-height:1.1}.walkthrough-step-main p{margin-top:8px;color:var(--muted);line-height:1.6}.walkthrough-checklist{display:grid;gap:9px;margin:0;padding:0;list-style:none}.walkthrough-checklist li{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffefa;line-height:1.35}.walkthrough-checklist svg{flex:0 0 auto;color:var(--green);margin-top:1px}.walkthrough-controls{flex-wrap:wrap;justify-content:flex-start}.walkthrough-skip{justify-self:start}.walkthrough-map{display:grid;gap:10px}.walkthrough-map-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fffefa;text-align:left}.walkthrough-map-item>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;color:var(--green);background:var(--primary-soft);font-weight:900}.walkthrough-map-item strong,.walkthrough-map-item small{display:block}.walkthrough-map-item small{margin-top:2px;color:var(--muted)}.walkthrough-map-item.active{border-color:var(--primary);background:var(--primary-soft)}.walkthrough-map-item.active>span{color:#fff;background:var(--primary)}.tutorial-steps,.usage-grid,.session-prep-grid{display:grid;gap:12px}.tutorial-steps{margin:0;padding:0;counter-reset:tutorial-step;list-style:none}.tutorial-steps li,.usage-card,.session-prep-grid>div{border:1px solid var(--line);border-radius:14px;background:#fffefa}.tutorial-steps li{position:relative;display:grid;gap:5px;padding:14px 14px 14px 54px;counter-increment:tutorial-step}.tutorial-steps li:before{content:counter(tutorial-step);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;color:#fff;background:var(--primary);font-weight:900}.tutorial-steps strong,.usage-card strong,.session-prep-grid strong{color:var(--heading)}.tutorial-steps span,.usage-card p,.session-prep-grid p{margin:0;color:var(--muted);line-height:1.5}.usage-grid,.session-prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-card,.session-prep-grid>div{display:grid;gap:6px;padding:14px}.session-prep-grid{grid-template-columns:repeat(3,minmax(0,1fr))}:root[data-theme=abyssal] :is(.empty-state,.inline-empty,.icon-button,.roster-row,.roster-template-card,.class-history-card,.participant-card,.publish-audit-row,.student-change-row,.submission-state-card,.link-student-control select,.editable-line input,.resource-edit-row input,.student-preview-frame,.student-preview-top,.student-preview-card,.student-preview-columns,.preview-diff-row,.walkthrough-hero,.walkthrough-checklist li,.walkthrough-map-item,.tutorial-steps li,.usage-card,.session-prep-grid>div),:root[data-theme=graphite] :is(.empty-state,.inline-empty,.icon-button,.roster-row,.roster-template-card,.class-history-card,.participant-card,.publish-audit-row,.student-change-row,.submission-state-card,.link-student-control select,.editable-line input,.resource-edit-row input,.student-preview-frame,.student-preview-top,.student-preview-card,.student-preview-columns,.preview-diff-row,.walkthrough-hero,.walkthrough-checklist li,.walkthrough-map-item,.tutorial-steps li,.usage-card,.session-prep-grid>div){border-color:var(--readable-border);color:var(--ink);background:var(--readable-card);box-shadow:0 20px 70px #00000047}:root[data-theme=abyssal] :is(.link-student-control select,.editable-line input,.resource-edit-row input),:root[data-theme=graphite] :is(.link-student-control select,.editable-line input,.resource-edit-row input){background:var(--readable-card-strong)}:root[data-theme=graphite] .student-preview-frame{background:var(--hero-gradient)}:root[data-theme=abyssal] :is(.empty-state p,.inline-empty p,.participant-card p,.student-access-cell small,.roster-template-card span,.roster-template-card small,.student-preview-top p,.student-preview-card p,.student-preview-columns p,.student-preview-columns li,.preview-diff-row small,.walkthrough-hero p,.walkthrough-step-main p,.walkthrough-map-item small,.tutorial-steps span,.usage-card p,.session-prep-grid p),:root[data-theme=graphite] :is(.empty-state p,.inline-empty p,.participant-card p,.student-access-cell small,.roster-template-card span,.roster-template-card small,.student-preview-top p,.student-preview-card p,.student-preview-columns p,.student-preview-columns li,.preview-diff-row small,.walkthrough-hero p,.walkthrough-step-main p,.walkthrough-map-item small,.tutorial-steps span,.usage-card p,.session-prep-grid p){color:var(--readable-muted)}:root[data-theme=abyssal] :is(.empty-state>span,.inline-empty>span),:root[data-theme=graphite] :is(.empty-state>span,.inline-empty>span){color:#dff8ff;background:var(--readable-chip-strong)}:root[data-theme=abyssal] .icon-button.danger,:root[data-theme=graphite] .icon-button.danger{color:#fecdd3;background:#f43f5e24}:root[data-theme=abyssal] :is(.walkthrough-progress-bar,.walkthrough-icon),:root[data-theme=graphite] :is(.walkthrough-progress-bar,.walkthrough-icon){color:#dff8ff;background:var(--readable-chip-strong)}:root[data-theme=abyssal] .walkthrough-map-item.active,:root[data-theme=graphite] .walkthrough-map-item.active{border-color:#7dd3fc;background:var(--readable-chip-strong)}:root[data-theme=abyssal] .walkthrough-map-item.active>span,:root[data-theme=graphite] .walkthrough-map-item.active>span{color:#06111f;background:#bae6fd}:root[data-theme=abyssal] :is(.delivery-log-row,.audit-row,.capture-mode-card,.integration-card),:root[data-theme=graphite] :is(.delivery-log-row,.audit-row,.capture-mode-card,.integration-card){color:var(--readable-ink);border-color:var(--readable-line);background:var(--readable-surface)}:root[data-theme=abyssal] .capture-mode-card.locked,:root[data-theme=graphite] .capture-mode-card.locked{color:var(--readable-muted);background:#142d446b}:root[data-theme=abyssal] .capture-mode-card.locked strong,:root[data-theme=graphite] .capture-mode-card.locked strong{color:var(--readable-ink)}:root[data-theme=abyssal] :is(.delivery-log-row span,.audit-row span,.delivery-log-row small,.audit-row small,.capture-consent,.switch-row),:root[data-theme=graphite] :is(.delivery-log-row span,.audit-row span,.delivery-log-row small,.audit-row small,.capture-consent,.switch-row){color:var(--readable-muted)}@media(max-width:1180px){.metric-grid,.followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-start}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-layout{grid-template-columns:1fr}.personal-task-row{grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) minmax(150px,.55fr)}.personal-task-row .status-pill{justify-self:start}.appearance-hero{grid-template-columns:1fr}.roster-row{grid-template-columns:auto repeat(2,minmax(0,1fr)) auto;grid-template-areas:"avatar name email remove" "avatar attendance aliases remove" ". access access ."}.roster-row.without-attendance{grid-template-areas:"avatar name email remove" "avatar aliases aliases remove" ". access access ."}.roster-template-layout,.roster-template-settings{grid-template-columns:1fr}.roster-row .icon-button{align-self:stretch}.import-summary,.summary-card{position:static}}@media(max-width:920px){.landing-nav{align-items:flex-start;flex-direction:column;top:12px;width:calc(100% - 36px);margin-top:12px;padding:14px;border-radius:28px}.landing-links{width:100%;gap:10px;overflow-x:auto;padding-bottom:2px}.landing-nav-link,.landing-link-button{flex:0 0 auto}.landing-route-frame{width:calc(100% - 36px);padding-top:28px}.landing-hero{grid-template-columns:1fr;min-height:auto;gap:24px}.board-flow,.landing-home-paths,.landing-screenshot-card,.landing-workflow-strip,.landing-feature-band,.landing-feature-matrix,.landing-callout-grid,.landing-pwa-checklist,.landing-mobile-band,.landing-docs-layout,.landing-legal-grid,.landing-support-layout,.landing-download-band,.landing-feedback-panel,.landing-feedback-form{grid-template-columns:1fr}.landing-docs-index{position:static}.board-flow>svg{display:none}.landing-platform-list{grid-template-columns:1fr}.login-page{grid-template-columns:1fr;padding:18px}.auth-entry-panel{padding:28px}.auth-entry-copy h1{font-size:3.4rem}.auth-entry-actions,.login-panel,.login-side,.demo-choice-grid{grid-template-columns:1fr}.login-header,.login-help,.password-reset-panel{grid-column:auto}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-panel{display:none}.topbar,.dashboard-hero,.report-hero,.review-banner,.student-hero,.analytics-header,.student-session-header,.today-card,.walkthrough-hero{align-items:flex-start;flex-direction:column}.transform-visual{width:100%}.two-columns,.form-grid,.theme-option-grid{grid-template-columns:1fr}.review-tabs,.student-preview-columns,.student-visible-editor.compact-editor,.template-detail-grid,.capture-mode-grid,.saved-roster-row,.session-prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-highlight{display:none}.tour-popover,.tour-popover.anchored,.tour-popover.top-left,.tour-popover.top-right,.tour-popover.center,.tour-popover.bottom-right{inset:auto 18px 18px 18px!important;top:auto!important;right:18px!important;bottom:18px!important;left:18px!important;width:auto;max-height:calc(100vh - 36px);max-height:calc(100svh - 36px);overflow:auto;transform:none}}@media(max-width:640px){.landing-links{flex-wrap:wrap;overflow-x:visible}.landing-nav-link,.landing-link-button{flex:1 1 calc(33.333% - 8px);justify-content:center}.landing-brand{font-size:1rem}.landing-link-button{min-height:44px;padding-inline:14px}.landing-hero h1{font-size:2.8rem;line-height:1.2;padding-bottom:.04em}.landing-page-header{padding-top:24px}.landing-page-header h1{font-size:2.25rem;line-height:1.18}.landing-hero p,.landing-page-header p{font-size:1rem}.landing-actions,.landing-actions.compact,.landing-platform-list{width:100%}.landing-primary,.landing-secondary,.landing-platform-list button{min-height:48px;width:100%}.landing-stat-row{grid-template-columns:1fr}.landing-stat{border-right:0;border-bottom:1px solid rgba(124,139,154,.2)}.landing-stat:last-child{border-bottom:0}.landing-screenshot-preview,.landing-screenshot-card,.landing-workflow-strip article,.landing-product-board,.board-window,.landing-feature-band article,.landing-feature-matrix article,.landing-callout-grid article,.landing-pwa-checklist article,.landing-doc-section,.landing-docs-index,.landing-mobile-card{padding:20px}.landing-mobile-card h2{font-size:1.65rem}.landing-workflow-list article,.mobile-step{grid-template-columns:44px minmax(0,1fr)}.landing-workflow-list strong,.mobile-step strong{width:44px;height:44px}.login-panel{padding:20px}.login-header{gap:10px}.auth-mode-link span{display:none}.loader-card{padding:22px}.demo-download-card{align-items:stretch;flex-direction:column}.demo-download-card .ghost-button{width:100%}.main-area{padding:18px}.sidebar{padding:16px}.nav-list{grid-template-columns:1fr 1fr}.metric-grid,.followup-grid,.student-picker{grid-template-columns:1fr}.transform-visual{grid-template-columns:1fr;gap:12px}.visual-arrow{transform:rotate(90deg)}.inline-fields,.analytics-bar-row,.readiness-row,.snapshot-row,.review-tabs,.student-preview-columns,.template-detail-grid,.capture-mode-grid,.capture-controls,.saved-roster-row,.resource-edit-row,.personal-task-row,.template-link-card,.usage-grid,.session-prep-grid{grid-template-columns:1fr}.roster-row{grid-template-columns:auto 1fr auto;grid-template-areas:"avatar name remove" "email email email" "attendance attendance attendance" "aliases aliases aliases" "access access access"}.roster-row.without-attendance{grid-template-areas:"avatar name remove" "email email email" "aliases aliases aliases" "access access access"}.app-shell:before{display:none}.profile-menu{left:0;right:auto}.topbar-actions,.hero-actions,.review-actions,.report-actions,.today-actions{width:100%}.student-feedback-toast{right:12px;bottom:12px;width:calc(100vw - 24px)}.primary-button,.ghost-button,.report-export{width:100%}.report-export-menu{position:static;margin-top:8px}.structured-transcript-header{grid-template-columns:1fr}}@media print{body,.app-shell{background:#fff!important}.sidebar,.topbar,.report-actions,.logout-button{display:none!important}.app-shell{display:block}.main-area{width:100%}.panel,.report-hero,.metric-card{box-shadow:none!important;break-inside:avoid}}
