.parallax-background-module__WcaY-a__root{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.parallax-background-module__WcaY-a__image{will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;height:140vh;position:absolute;top:-20vh;left:0;right:0}.parallax-background-module__WcaY-a__scrim{background:#0d0d0f;position:absolute;inset:0}html:not(.dark) .parallax-background-module__WcaY-a__scrim{background:#f1f1f6}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2f9;--bg-gradient:radial-gradient(1200px 600px at 15% -5%, #eaf3ff 0%, #eaf3ff00 55%), radial-gradient(1000px 500px at 95% 0%, #e7fbf4 0%, #e7fbf400 50%), linear-gradient(180deg, #f1f5fb 0%, #eaeff7 100%);--ink:#1a202c;--ink-soft:#5c6b84;--line:#e2e8f0;--paper:#fff;--card:#fff;--card-grad:linear-gradient(180deg, #fff 0%, #fbfcfe 100%);--paper-glass:#ffffffbd;--bg-glass:#eef2f985;--border:#e2e8f0;--muted:#5c6b84;--hint:#94a3b8;--navy:#0f1f3d;--teal:#0db8a0;--violet:#185fa5;--violet-press:#0c447c;--topbar-bg:#ffffffd1;--sidebar-bg:linear-gradient(180deg, #fff 0%, #fcfdff 100%);--nav-active-bg:#eaf0ff;--pill-track:#edf1f7;--accent-ink:#fff;--amber:#0db8a0;--danger:#c62828;--ok:#0f6e56;--badge-class-bg:#eef2ff;--badge-class-text:#4338ca;--badge-study-bg:#f0fdf9;--badge-study-text:#065f46;--badge-assign-bg:#fffbeb;--badge-assign-text:#92400e;--badge-quiz-bg:#fef2f2;--badge-quiz-text:#991b1b;--notice-error-bg:#fbecea;--notice-error-line:#f3d4cf;--notice-ok-bg:#e9f6ef;--notice-ok-line:#cfeadd;--radius-sm:7px;--radius-control:9px;--radius-card:12px;--radius-dialog:16px;--shadow-sm:0 1px 2px #0f1f3d0a, 0 1px 3px #0f1f3d0f;--shadow-md:0 4px 16px #0f1f3d14;--shadow-lg:0 12px 32px #0f1f3d1f;--card-shadow:var(--shadow-md);--ease:cubic-bezier(.4, 0, .2, 1);--brand-bg-1:#e7effe;--brand-bg-2:#d7e6fd;--brand-bg-3:#f0f6ff;--brand-ink:#14243f;--brand-ink-soft:#3c4c66;--brand-ink-mute:#64738c;--brand-decor:#2563eb;--brand-surface:#2563eb0d;--brand-line:#2563eb24;--brand-track:#2563eb0f;--brand-dot-glow:#1fd3f233;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1120;--bg-gradient:radial-gradient(1200px 600px at 12% -8%, #1e40788c 0%, #1e407800 55%), radial-gradient(1000px 520px at 96% -2%, #0d5a5073 0%, #0d5a5000 52%), linear-gradient(180deg, #0c1424 0%, #080d18 100%);--ink:#e9eef7;--ink-soft:#9fb0cb;--line:#24314a;--paper:#131c2e;--card:#131c2e;--card-grad:linear-gradient(180deg, #16203552 0%, #111a2b 100%), #131c2e;--paper-glass:#131c2ec2;--bg-glass:#0b112094;--border:#24314a;--muted:#9fb0cb;--hint:#6b7c99;--navy:#e8eef9;--teal:#2dd4bf;--violet:#6ab0f3;--violet-press:#8cc4f6;--topbar-bg:#0f1626c7;--sidebar-bg:linear-gradient(180deg, #121b2c 0%, #0f1626 100%);--nav-active-bg:#1b2c4b;--pill-track:#1e2a42;--accent-ink:#07111f;--amber:#2dd4bf;--danger:#ff6f63;--ok:#4ecb95;--badge-class-bg:#1e2549;--badge-class-text:#aab4ff;--badge-study-bg:#0e2b26;--badge-study-text:#6ee7c6;--badge-assign-bg:#2e2410;--badge-assign-text:#f3c77a;--badge-quiz-bg:#33161a;--badge-quiz-text:#fca5a5;--notice-error-bg:#381c1a;--notice-error-line:#5a2a26;--notice-ok-bg:#142a21;--notice-ok-line:#1f4636;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000073;--shadow-lg:0 16px 40px #0000008c;--card-shadow:var(--shadow-md);--brand-bg-1:#262629;--brand-bg-2:#19191c;--brand-bg-3:#101012;--brand-ink:#ededf0;--brand-ink-soft:#b6b6bd;--brand-ink-mute:#86868f;--brand-decor:#6aa5ff;--brand-surface:#ffffff0d;--brand-line:#ffffff17;--brand-track:#ffffff0a;--brand-dot-glow:#1fd3f238}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);background-image:var(--bg-gradient);color:var(--ink);-webkit-font-smoothing:antialiased;background-attachment:fixed;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea):focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 32%, transparent);outline:none}:where(button,[role=button]):active:not(:disabled){transform:translateY(1px)}body.has-bg{--paper:var(--paper-glass);--card:var(--paper-glass);--card-grad:var(--paper-glass);--bg:var(--bg-glass);--empty-state-bg:color-mix(in srgb, var(--paper-glass) 88%, transparent);--empty-state-shadow:inset 0 1px 0 #ffffff17, var(--shadow-sm);background:0 0}.app-shell{min-height:100vh}body.has-bg .app-shell{max-width:1200px;box-shadow:none;background:0 0;margin-inline:auto}body.has-bg .app-shell>main,body.has-bg .readable-page{background:var(--paper-glass);border-inline:1px solid color-mix(in srgb, var(--line) 70%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px)saturate(1.04);backdrop-filter:blur(12px)saturate(1.04)}body.has-bg .dash-card{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08)}img,video,canvas{max-width:100%}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin:0 0 .6rem;font-size:.7rem}.login-shell{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.brand-panel{background:radial-gradient(120% 120% at 0% 0%, var(--brand-bg-1) 0%, var(--brand-bg-2) 55%, var(--brand-bg-3) 100%);color:var(--brand-ink);flex-direction:column;justify-content:space-between;padding:3rem 3.2rem;display:flex;position:relative;overflow:hidden}.brand-panel>.brand-top,.brand-panel>.brand-body,.brand-panel>.brand-foot{z-index:1;position:relative}.brand-decor{z-index:0;pointer-events:none;color:var(--brand-decor);position:absolute;inset:0;overflow:hidden}.brand-decor .decor-product-mark{object-fit:contain;display:block;position:absolute}.brand-decor .decor-course-cadence-mark{opacity:.12;width:400px;height:400px;bottom:-65px;right:-80px}.brand-decor .decor-compassai-mark{opacity:.11;width:220px;height:220px;top:-35px;left:-40px}.brand-mark{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:inline-flex}.brand-dot{background:var(--amber);width:12px;height:12px;box-shadow:0 0 0 4px var(--brand-dot-glow);border-radius:4px}.brand-body{max-width:30rem}.brand-headline{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.7rem,2.6vw,2.5rem);font-weight:700;line-height:1.08}.brand-text{color:var(--brand-ink-soft);margin:0 0 2.2rem;font-size:1rem;line-height:1.6}.week-strip{background:var(--brand-track);border:1px solid var(--brand-line);border-radius:14px;grid-template-columns:repeat(7,1fr);gap:.5rem;height:150px;padding:1rem;display:grid}.week-col{flex-direction:column;align-items:center;gap:.5rem;display:flex}.week-label{font-family:var(--font-mono);color:var(--brand-ink-mute);font-size:.65rem}.week-track{background:var(--brand-track);border-radius:6px;flex:1;width:100%;position:relative}.block{border-radius:4px;position:absolute;left:2px;right:2px}.block-study{background:var(--violet);opacity:.9}.block-exam{background:var(--amber)}.week-caption{font-family:var(--font-mono);color:var(--brand-ink-mute);margin:.9rem 0 0;font-size:.72rem}.brand-foot{color:var(--brand-ink-mute);font-size:.82rem}.brand-affirm{z-index:1;max-width:30rem;font-family:var(--font-display);color:var(--brand-ink);background:var(--brand-surface);border:1px solid var(--brand-line);border-left:3px solid var(--amber);border-radius:10px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.98rem;font-style:italic;line-height:1.4;position:relative}.auth-panel{justify-content:center;align-items:center;padding:2.5rem;display:flex;position:relative}.auth-card{width:100%;max-width:25rem}.auth-head{margin-bottom:1.8rem}.auth-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.7rem;font-weight:700;line-height:1.1}.auth-sub{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.auth-benefits{color:var(--ink-soft);gap:.45rem;margin:.9rem 0 0;padding:0;font-size:.82rem;line-height:1.4;list-style:none;display:grid}.auth-benefits li{padding-left:1.35rem;position:relative}.auth-benefits li:before{content:"✓";color:var(--violet);font-weight:800;position:absolute;left:0}.btn-google,.btn-primary,.btn-ghost{width:100%;height:46px;font-family:var(--font-body);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;display:inline-flex}.btn-google{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:40px;height:40px;padding:0}.btn-google:hover{border-color:var(--ink-soft);transform:translateY(-1px)}.btn-primary{background:var(--violet);border:1px solid var(--violet);color:var(--accent-ink)}.btn-primary:hover{background:var(--violet-press);box-shadow:0 8px 20px -10px color-mix(in srgb, var(--violet,#6c4cf1) 80%, transparent);transform:translateY(-1px)}.btn-primary:active,.btn-google:active{box-shadow:none;transform:translateY(1px)}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:0 0;width:auto;height:42px;padding:0 1.2rem}.btn-ghost:hover{border-color:var(--ink-soft);transform:translateY(-1px)}.btn-ghost:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary:focus-visible,.btn-google:focus-visible,.btn-ghost:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--violet,#6c4cf1) 40%, transparent);outline:none}.divider{color:var(--ink-soft);align-items:center;gap:.8rem;margin:1.4rem 0;font-size:.78rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-provider{justify-content:center;display:flex}.auth-provider-note{max-width:34rem;color:var(--ink-soft);text-align:center;margin:.55rem auto 0;font-size:.76rem;line-height:1.4}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-remember{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.55rem;margin-bottom:.9rem;font-size:.84rem;display:flex}.auth-remember input{width:17px;height:17px;accent-color:var(--violet);margin:0}.name-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.field span{color:var(--ink);font-size:.8rem;font-weight:500}.field input{box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:100%;height:44px;font-size:.95rem;font-family:var(--font-body);color:var(--ink);border-radius:10px;padding:0 .85rem;transition:border-color .15s,box-shadow .15s}.field select{box-sizing:border-box;border:1px solid var(--line);background:var(--paper);width:100%;height:44px;font-size:.95rem;font-family:var(--font-body);color:var(--ink);cursor:pointer;border-radius:10px;padding:0 .85rem;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px #7c3aed26}.field input::placeholder{color:var(--ink-soft);opacity:.7}.notice{border-radius:9px;padding:.7rem .85rem;font-size:.85rem;line-height:1.4}.notice-error{background:var(--notice-error-bg);color:var(--danger);border:1px solid var(--notice-error-line)}.notice-success{background:var(--notice-ok-bg);color:var(--ok);border:1px solid var(--notice-ok-line)}.notice-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.45rem;padding:0;font-weight:700;text-decoration:underline;display:block}.switch{text-align:center;color:var(--ink-soft);margin:1.5rem 0 0;font-size:.9rem}.switch button{color:var(--violet);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.switch button:hover{text-decoration:underline}.auth-share-menu{z-index:2;display:flex;position:fixed;bottom:1.2rem;left:4rem}.auth-share-trigger{border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:10px;padding:0;font-size:1rem}.auth-share-trigger:hover{color:var(--ink);background:var(--bg)}.auth-share-trigger:focus-visible{outline:2px solid var(--violet);outline-offset:1px;border-radius:8px}.auth-share-popover{z-index:3;border:1px solid var(--line);background:var(--paper);min-width:14rem;box-shadow:var(--shadow-md);border-radius:8px;padding:.35rem;position:absolute;bottom:calc(100% + .4rem);left:0}.auth-share-popover a{color:var(--ink);border-radius:6px;padding:.6rem .7rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.auth-share-popover a:hover{background:var(--bg)}.auth-company-attribution{color:var(--ink-soft);text-align:right;font-size:.7rem;line-height:1.4;position:absolute;bottom:1.2rem;right:1.4rem}.auth-company-attribution a{color:inherit;vertical-align:middle;align-items:center;display:inline-flex}.company-attribution-logo{width:5.75rem;height:auto;display:block}.auth-forgot{color:var(--violet);cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-top:-.4rem;padding:0;font-size:.82rem;font-weight:600}.auth-forgot:hover{text-decoration:underline}.auth-forgot:disabled{opacity:.6;cursor:default}.theme-toggle{border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.theme-toggle:hover{color:var(--ink);background:var(--bg)}.theme-toggle:focus-visible{outline:2px solid var(--violet);outline-offset:1px}.theme-toggle svg{flex-shrink:0;width:17px;height:17px}.theme-toggle-wrap{z-index:2;position:absolute;top:1.4rem;right:1.4rem}.auth-mobile-brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--violet);align-items:center;gap:.55rem;font-size:1.05rem;font-weight:700;display:none}.dash-shell{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.dash-card{background:var(--paper);border:1px solid var(--line);width:100%;max-width:30rem;box-shadow:var(--card-shadow);border-radius:16px;padding:2.5rem}.dash-card-head{justify-content:flex-end;margin-bottom:1.2rem;display:flex}.dash-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.9rem;font-weight:700}.dash-sub{color:var(--ink-soft);margin:0 0 1.8rem;line-height:1.5}.dash-section{margin:0 0 1.8rem}.dash-section-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .4rem;font-size:1.1rem}.dash-section-sub{color:var(--ink-soft);margin:0 0 .9rem;font-size:.9rem}.dash-meta{background:var(--bg);border-radius:12px;flex-direction:column;gap:.9rem;margin:0 0 1.8rem;padding:1.2rem;display:flex}.dash-meta div{justify-content:space-between;gap:1rem;display:flex}.dash-meta dt{color:var(--ink-soft);font-size:.8rem}.dash-meta dd{text-align:right;word-break:break-all;margin:0;font-size:.85rem;font-weight:500}.mono{font-family:var(--font-mono);font-size:.78rem!important}.faq-item{border:1px solid var(--line);border-radius:10px;margin:0 0 .7rem;overflow:hidden}.faq-question{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;font-size:.92rem;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";color:var(--ink-soft);flex-shrink:0;font-size:1.1rem}.faq-item[open] .faq-question:after{content:"–"}.faq-answer{color:var(--ink-soft);margin:0;padding:0 1rem .9rem;font-size:.88rem;line-height:1.55}@media (max-width:860px){.login-shell{grid-template-columns:1fr}.auth-panel{order:-1}.brand-panel{padding:2rem}.week-strip{height:120px}}@media (max-width:600px){.brand-panel{display:none}.auth-mobile-brand{width:100%;margin-bottom:1.6rem;display:flex}.auth-panel{min-height:100dvh;padding-top:max(3.5rem, env(safe-area-inset-top));padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right));padding-bottom:max(4rem, calc(env(safe-area-inset-bottom) + 2rem));flex-direction:column;justify-content:flex-start;align-items:flex-start}.auth-share-menu{left:max(4rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom))}.auth-share-popover{min-width:9rem;box-shadow:none}.auth-company-attribution{right:max(1.25rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom))}.auth-card{max-width:100%}.dash-shell{padding:1.25rem 1rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));align-items:flex-start}.dash-card{padding:1.5rem 1.25rem}.dash-title{font-size:1.6rem}}@media (max-width:480px){.name-row{grid-template-columns:1fr}.field input,.field select{font-size:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
