@import "https://fonts.googleapis.com/css2?family=Fraunces:wght@500;600;700&family=Manrope:wght@500;600;700;800&display=swap";html,body,#root{min-height:100%;margin:0}body{color:#111827;background:#fff;min-height:100svh;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit}:root{--sun:#f0a202;--sand:#fff8e8;--ink:#1a2d42;--ocean:#1e6091;--mist:#dcedf8;--mint:#a8ddb5;--card:#fff;--stroke:#1a2d421f;--shadow:0 24px 55px #19304d24;--side-panel-width:184px}.app-root-with-tabs{background:#f8fbff;min-height:100svh}.app-route-loading{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;min-height:calc(100svh - 110px);display:flex}.app-route-loading__spinner{border:3px solid #cbd5e1;border-top-color:#1d4ed8;border-radius:999px;width:32px;height:32px;animation:.8s linear infinite app-loading-spin}.app-route-loading__label{margin:0;font-size:.95rem;font-weight:600}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.app-page-shell,.home-shell,.about-shell,.privacy-policy-shell{transition:margin-left .22s}body.side-nav-open .app-page-shell,body.side-nav-open .home-shell,body.side-nav-open .about-shell,body.side-nav-open .privacy-policy-shell{margin-left:var(--side-panel-width)}.user-name-corner{z-index:40;color:#fff;align-items:center;height:58px;padding:0 4px;font-size:1.06rem;font-weight:700;display:flex;position:fixed;top:0;right:12px}.user-name-corner__profile-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:1.08rem;display:inline-flex}.user-name-corner__avatar{background:#fff3;border:1px solid #ffffffa6;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;overflow:hidden}.user-name-corner__avatar-image{object-fit:cover;width:100%;height:100%}.user-name-corner__avatar-fallback{color:#fff;font-size:.8rem;line-height:1}.user-name-corner__profile-link:hover{color:#dbeafe}.user-name-corner__profile-link:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #bfdbfe}.user-name-corner--auth{padding:0 4px}.user-name-corner__menu-wrap{opacity:0;pointer-events:none;grid-template-rows:0fr;min-width:190px;transition:grid-template-rows .26s cubic-bezier(.22,1,.36,1),opacity .22s;display:grid;position:absolute;top:50px;right:0;overflow:hidden}.user-name-corner__menu-wrap--open{opacity:1;pointer-events:auto;grid-template-rows:1fr}.user-name-corner__menu{opacity:0;background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:0;min-height:0;padding:4px 8px;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(-6px);box-shadow:0 8px 18px #021e5424}.user-name-corner__menu-wrap--open .user-name-corner__menu{opacity:1;transform:translateY(0)}.user-name-corner__menu-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:10px 8px;font-size:1.02rem;font-weight:700;position:relative}.user-name-corner__menu-item:not(:last-child):after{content:"";background:#cbd5e1;height:1px;position:absolute;bottom:0;left:8px;right:22px}.user-name-corner__menu-item:hover{color:#073d92}.user-name-corner__menu-item:disabled{opacity:.65;cursor:not-allowed}.user-name-corner__button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.06rem;font-weight:700}.user-name-corner__button:hover{color:#dbeafe}.user-name-corner__button:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #bfdbfe}.user-name-corner__button:disabled{opacity:.65;cursor:not-allowed}.top-bar{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#073d92;border-bottom:1px solid #052f70;justify-content:flex-start;align-items:center;gap:12px;min-height:58px;padding:0 16px;display:flex;position:sticky;top:0}.top-bar--signed-in{justify-content:flex-start}.top-bar--teacher{background:#2b3036;border-bottom-color:#1b1f24}.top-bar--teacher .top-bar__menu-button:hover,.top-bar--teacher .top-bar__brand:hover{background:#ffffff14}.top-bar--auth-loading{background:#334155}.top-bar--auth-loading .top-bar__menu-button,.top-bar--auth-loading .top-bar__brand{opacity:.9}.top-bar--signed-out{background:#fff;border-bottom-color:#d8e8ff;justify-content:flex-start}.top-bar--signed-out .top-bar__brand{color:#073d92}.top-bar--signed-out .top-bar__brand:hover{background:#073d9214}.top-bar--signed-out .top-bar__brand-text{color:#073d92}.top-bar__brand{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.top-bar__brand:hover{background:#ffffff1f}.top-bar__brand:focus-visible{outline-offset:2px;outline:2px solid #bfdbfe}.top-bar__brand-icon{object-fit:cover;border-radius:4px;width:26px;height:26px}.top-bar__brand-text{letter-spacing:.02em;color:#fff;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:1.05rem;font-weight:700}.top-bar__menu-button{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;display:inline-flex}.top-bar__menu-button:hover{background:#ffffff1f}.top-bar__menu-button:focus-visible{outline-offset:2px;outline:2px solid #bfdbfe}.top-bar__menu-line{background:#fff;border-radius:999px;width:17px;height:2px}.top-bar__signin-wrap{position:relative}.top-bar--signed-out .top-bar__signin-wrap{border-left:1px solid #073d922e;align-items:center;min-height:32px;padding-left:12px;display:flex;position:absolute;right:16px}.top-bar--signed-out .top-bar__signin-menu{left:auto;right:0}.top-bar__signin-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;margin:0 2px;padding:6px 16px;font-size:1.02rem;font-weight:700}.top-bar--signed-out .top-bar__signin-button{color:#073d92}.top-bar__signin-button:hover{color:#dbeafe;background:#ffffff24}.top-bar--signed-out .top-bar__signin-button:hover{color:#052f70;background:#073d9214}.top-bar__signin-button:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #bfdbfe}.top-bar__signin-menu{opacity:0;pointer-events:none;background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:0;min-width:190px;padding:4px 8px;transition:opacity .18s,transform .22s;display:grid;position:absolute;top:42px;left:0;transform:translateY(-6px);box-shadow:0 8px 18px #021e5424}.top-bar__signin-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.top-bar__signin-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:10px 8px;font-size:1.02rem;font-weight:700;position:relative}.top-bar__signin-item:not(:last-child):after{content:"";background:#cbd5e1;height:1px;position:absolute;bottom:0;left:8px;right:22px}.top-bar__signin-item:hover{color:#073d92}.top-bar__signin-item:disabled{opacity:.65;cursor:not-allowed}.top-bar__nav-buttons{flex-wrap:wrap;align-items:center;gap:0;margin-right:auto;display:flex}.top-bar__nav-menu{margin-right:auto;display:none;position:relative}.top-bar__nav-menu-button:hover{background:#073d9214}.top-bar__menu-line--signed-out{background:#073d92}.top-bar__nav-dropdown{opacity:0;pointer-events:none;background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:0;min-width:190px;padding:4px 8px;transition:opacity .22s,transform .22s;display:grid;position:absolute;top:42px;left:0;transform:translateY(-6px);box-shadow:0 8px 18px #021e5424}.top-bar__nav-menu:hover .top-bar__nav-dropdown,.top-bar__nav-menu:focus-within .top-bar__nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.top-bar__nav-dropdown-link{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:10px 8px;font-size:1.02rem;font-weight:700;position:relative}.top-bar__nav-dropdown-link:not(:last-child):after{content:"";background:#cbd5e1;height:1px;position:absolute;bottom:0;left:8px;right:22px}.top-bar__nav-dropdown-link:hover{color:#073d92}.top-bar__nav-dropdown-link:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #bfdbfe}.top-bar__nav-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;margin:0 8px;padding:6px 16px;font-size:1.02rem;font-weight:700;position:relative}.top-bar--signed-out .top-bar__nav-button{color:#073d92}.top-bar__nav-button:not(:last-child):after{content:"";background:#ffffff73;width:1px;height:18px;position:absolute;top:50%;right:-12px;transform:translateY(-50%)}.top-bar--signed-out .top-bar__nav-button:not(:last-child):after{background:#073d922e}.top-bar__nav-button:hover{color:#dbeafe;background:#ffffff24}.top-bar--signed-out .top-bar__nav-button:hover{color:#052f70;background:#073d9214}.top-bar__nav-button:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #bfdbfe}@media (width<=1020px){.top-bar--signed-out .top-bar__nav-buttons{display:none}.top-bar--signed-out .top-bar__nav-menu{display:block}}.side-panel{width:var(--side-panel-width);z-index:50;background:#fff;border-right:1px solid #dbeafe;padding:10px 12px;transition:transform .22s;position:fixed;top:58px;bottom:0;left:0;transform:translate(-102%);box-shadow:10px 0 24px #02143824}@media (width<=900px){:root{--side-panel-width:168px}}.side-panel--open{transform:translate(0)}.side-panel__nav{gap:0;display:grid}.side-panel__link{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:12px 8px;font-size:1.08rem;font-weight:700;position:relative}.side-panel__link:not(:last-child):after{content:"";background:#cbd5e1;height:1px;position:absolute;bottom:0;left:8px;right:28px}.side-panel__link:hover{color:#073d92}.side-panel__link:focus-visible{outline-offset:2px;outline:2px solid #bfdbfe}.app-page-shell{min-height:calc(100svh - 72px)}.assignment-builder-shell{grid-template-columns:minmax(280px,340px) 1fr;align-items:start;gap:16px;padding:16px;display:grid}.assignment-builder-page-actions{justify-content:flex-start;padding:16px 16px 0;display:flex}.assignment-builder-panel{background:#fff;border:1px solid #dbeafe;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex;position:sticky;top:74px;box-shadow:0 10px 24px #0f172a14}.assignment-builder-kicker{letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8;margin:0;font-size:.74rem;font-weight:800}.assignment-builder-title{color:#0f172a;margin:0;font-size:1.2rem}.assignment-builder-class{color:#475569;margin:0;font-size:.9rem}.assignment-builder-browse-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assignment-builder-browse-btn{color:#1e3a8a;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:8px 10px;font-size:.78rem;font-weight:800}.assignment-builder-browse-btn--active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.assignment-builder-field{color:#334155;flex-direction:column;gap:6px;font-size:.82rem;font-weight:700;display:flex}.assignment-builder-field input{color:#0f172a;background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 10px;font-size:.9rem}.assignment-builder-class-list{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;gap:6px;max-height:160px;padding:8px;display:grid;overflow:auto}.assignment-builder-class-option{color:#334155;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.assignment-builder-defaults{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;gap:8px;padding:10px;display:grid}.assignment-builder-defaults-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-builder-defaults-copy{color:#64748b;margin:0;font-size:.78rem}.assignment-builder-selected{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;padding:10px}.assignment-builder-selected-title{color:#1e3a8a;margin:0;font-size:.8rem;font-weight:800}.assignment-builder-empty{color:#64748b;margin:8px 0 0;font-size:.84rem}.assignment-builder-selected-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.assignment-builder-selected-item{gap:8px;display:grid}.assignment-builder-selected-item-row{color:#0f172a;align-items:center;gap:8px;font-size:.85rem;display:flex}.assignment-builder-selected-item-row span{flex:1}.assignment-builder-remove{color:#be123c;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:999px;width:22px;height:22px;font-weight:800;line-height:1}.assignment-builder-gear{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;min-height:26px;padding:4px 8px;font-size:.72rem;font-weight:700;line-height:1}.assignment-builder-gear--active{background:#dbeafe;border-color:#3b82f6}.assignment-builder-module-config{background:#fff;border:1px solid #dbeafe;border-radius:10px;gap:8px;margin-left:30px;padding:10px;display:grid}.assignment-builder-defaults .assignment-builder-module-config{margin-left:0}.assignment-builder-module-config label{color:#334155;flex-direction:column;gap:4px;font-size:.76rem;font-weight:700;display:flex}.assignment-builder-module-config input{color:#0f172a;background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;padding:6px 8px;font-size:.88rem}.assignment-builder-input-with-toggle{align-items:center;gap:8px;display:flex}.assignment-builder-input-with-toggle input[type=text]{flex:1;min-width:0}.assignment-builder-unlimited-toggle{color:#1e3a8a;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:26px;display:inline-flex}.assignment-builder-unlimited-toggle input{margin:0}.assignment-builder-unlimited-toggle span{font-size:.76rem;font-weight:800;line-height:1}.assignment-builder-panel .late-policy-date{min-width:220px}.assignment-builder-error{color:#b91c1c;margin:0;font-size:.84rem;font-weight:700}.assignment-builder-actions{flex-wrap:wrap;gap:8px;display:flex}.assignment-builder-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-weight:800}.assignment-builder-btn--primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.assignment-builder-btn--ghost{color:#1e3a8a;background:#fff;border-color:#bfdbfe}.assignment-builder-main{min-width:0}.firebase-health__actions button{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.4rem .8rem;font-weight:700}.firebase-health__actions button:disabled{opacity:.55;cursor:not-allowed}.firebase-health__note{color:#334155;margin:.6rem 0 0;font-size:.82rem}*{box-sizing:border-box}.landing-page{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 15% 8%,#ffe6b6 0%,#0000 33%),radial-gradient(circle at 88% 18%,#b8e1fa 0%,#0000 30%),linear-gradient(#fffdf8 0%,#f4fbff 100%);padding:clamp(1rem,3vw,2.5rem);font-family:Manrope,Segoe UI,sans-serif}.hero{border:1px solid var(--stroke);width:min(1100px,100%);box-shadow:var(--shadow);background:linear-gradient(140deg,#fffffff2,#ecf7fff2);border-radius:28px;margin:0 auto;padding:clamp(1rem,2.8vw,2rem);animation:.7s ease-out rise-in}.hero-nav{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{letter-spacing:.02em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.4rem,2vw,1.7rem);font-weight:700}.hero-nav-links{align-items:center;gap:1rem;display:flex}.hero-nav-links a{color:var(--ink);border-bottom:1px solid #0000;font-size:.92rem;font-weight:700;text-decoration:none;transition:border-color .2s}.hero-nav-links a:hover{border-color:var(--ink)}.nav-button{color:var(--ink);cursor:pointer;background:#ffffffb8;border:1px solid #1a2d422e;border-radius:999px;padding:.4rem .85rem;font-weight:700}.hero-content{max-width:680px;margin-top:clamp(1.6rem,4vw,3rem)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#fff;background:linear-gradient(130deg,#1874b4,#1f6b64);border-radius:999px;width:fit-content;margin:0;padding:.45rem .7rem;font-size:.78rem;font-weight:800}.hero h1{letter-spacing:-.02em;color:var(--ink);margin:1rem 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,5vw,3.8rem);line-height:1.06}.hero-copy{color:#1a2d42d9;margin:1rem 0 0;font-size:clamp(1rem,2.4vw,1.2rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.2rem;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(140deg,#e27600,#f0a202);box-shadow:0 10px 18px #f0a2024d}.btn-secondary{color:var(--ink);background:#ffffffbf;border:1px solid #1a2d422e}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.hero-stats li{border:1px solid var(--stroke);background:#ffffffd1;border-radius:14px;padding:.9rem;font-size:.9rem}.hero-stats strong{font-size:1.2rem;display:block}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;width:min(1100px,100%);margin:clamp(1.6rem,4vw,2.4rem) auto 0;display:grid}.feature-card{background:var(--card);border:1px solid var(--stroke);opacity:0;border-radius:20px;padding:1.25rem;animation:.62s forwards card-in;transform:translateY(14px);box-shadow:0 14px 30px #1f598514}.feature-card:nth-child(2){animation-delay:.12s}.feature-card:nth-child(3){animation-delay:.24s}.feature-card h2{margin:0;font-size:1.18rem}.feature-card p{color:#1a2d42d6;margin:.65rem 0 0;line-height:1.68}.standards-strip{border:1px solid var(--stroke);background:linear-gradient(130deg,#a8ddb547,#dcedf873);border-radius:24px;width:min(1100px,100%);margin:clamp(1.4rem,3.5vw,2.2rem) auto 0;padding:1rem}.strip-title{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.84rem;font-weight:800}.strip-items{flex-wrap:wrap;gap:.6rem;margin-top:.7rem;display:flex}.strip-items span{background:#ffffffd6;border:1px solid #1a2d421a;border-radius:999px;padding:.45rem .75rem;font-size:.86rem;font-weight:700}.landing-footer{text-align:center;width:min(1100px,100%);margin:clamp(1.4rem,3.6vw,2.8rem) auto 0;padding-bottom:1rem}.landing-footer p{margin:0 0 .8rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.3rem,2.9vw,2rem)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero-stats,.feature-grid{grid-template-columns:1fr}}@media (width<=700px){.quiz-preview-header{flex-direction:column;padding-top:20px}.practice-home-link--inline{width:100%}.landing-page{--side-panel-width:190px}.hero{border-radius:20px}.hero-nav{flex-direction:column;align-items:flex-start}.hero-nav-links{flex-wrap:wrap}.btn{width:100%}.landing-footer{padding-bottom:2rem}}@media (width<=980px){.assignment-builder-shell{grid-template-columns:1fr}.assignment-builder-panel{position:static}}.app-layout{background:#f8fbff;align-items:flex-start;width:100%;min-height:100svh;display:flex;position:relative}.practice-home-link{z-index:5;color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:8px 12px;font-weight:700;position:fixed;top:12px;right:12px}.practice-home-link--inline{z-index:auto;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex;position:static;top:auto;right:auto}.app-page{flex:1;min-width:0}.app-layout--quiz-top{flex-direction:column;align-items:stretch}.app-layout--quiz-overlay{background:0 0;min-height:0}.quiz-preview-overlay{z-index:120;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.quiz-preview-overlay__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0f172a9e;border:0;position:absolute;inset:0}.quiz-preview-overlay__panel{z-index:1;background:#f8fbff;border:1px solid #bfdbfe;border-radius:18px;width:min(1100px,100%);max-height:calc(100svh - 40px);position:relative;overflow:auto;box-shadow:0 28px 70px #021e5457}.quiz-preview-header{justify-content:space-between;align-items:flex-start;gap:14px;padding:24px 20px 8px;display:flex}.quiz-preview-kicker{letter-spacing:.08em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.8rem;font-weight:800}.quiz-preview-title{color:#0f172a;margin:8px 0 0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.08}.quiz-preview-copy{color:#475569;margin:8px 0 0}.quiz-standards-topbar{background:#f8fafc;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;width:100%;padding:20px 16px 14px;display:flex}.assignment-progress-ring-wrap{flex-shrink:0;align-items:center;gap:12px;display:flex}.assignment-progress-ring{flex:0 0 72px;width:72px;height:72px;transform:rotate(-90deg)}.apr__track{fill:none;stroke:#dbeafe;stroke-width:5px}.apr__arc{fill:none;stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .45s}.apr__arc--progress-underlay{stroke:#93c5fd;stroke-width:8px;stroke-linecap:round}.apr__arc--grade{stroke:#1d4ed8}.assignment-progress-labels{flex-direction:column;gap:8px;display:flex}.assignment-progress-stat{flex-direction:column;gap:1px;display:flex}.apr__label{letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:800}.apr__label--progress{color:#64748b}.apr__label--grade{color:#1d4ed8}.apr__value{margin:0;font-size:1.5rem;font-weight:900;line-height:1}.apr__value--progress{color:#0f172a}.apr__value--grade{color:#1d4ed8}.quiz-standards-topbar__standards{flex:1;min-width:0}.quiz-standards-topbar__standards-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quiz-standards-topbar__heading{letter-spacing:.07em;text-transform:uppercase;color:#475569;white-space:nowrap;margin:0;font-size:.8rem;font-weight:800}.quiz-standards-topbar__list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.quiz-standards-chip{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.quiz-standards-chip--active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.quiz-standards-chip__title{color:#0f172a;font-size:.88rem;font-weight:700}.sidebar-assignment-title{color:#0f172a;margin:0 0 10px;font-size:1rem;font-weight:800;line-height:1.3}.sidebar-assignment-summary{margin-bottom:18px}.sidebar-assignment-progress-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:0;font-size:.72rem;font-weight:700}.sidebar-assignment-progress-value{color:#1e3a8a;margin:4px 0 0;font-size:1rem;font-weight:800}.sidebar-assignment-progress-meta{justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;display:flex}.sidebar-assignment-progress-percent{color:#0f172a;margin:0;font-size:.95rem;font-weight:800}.sidebar-assignment-progress-track{background:#dbeafe;border-radius:999px;width:100%;height:10px;margin-top:10px;overflow:hidden}.sidebar-assignment-progress-fill{background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%);border-radius:999px;width:0;height:100%;transition:width .35s}.sidebar-heading{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:0 0 12px;font-size:.75rem;font-weight:700}.sidebar-section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.sidebar-toggle{color:#334155;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.sidebar-toggle:hover{color:#1e3a8a;border-color:#93c5fd}.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.sidebar-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sidebar-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:3px;width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.sidebar-item-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-item:hover{background:#e0f0ff;border-color:#bfdbfe}.sidebar-item--active{background:#dbeafe;border-color:#93c5fd}.sidebar-item-title{color:#1e3a8a;font-size:.92rem;font-weight:700}.sidebar-progress-circle{flex:0 0 46px;width:46px;height:46px;position:relative}.sidebar-progress-circle__svg{width:100%;height:100%;transform:rotate(-90deg)}.sidebar-progress-circle__track,.sidebar-progress-circle__fill{fill:none;stroke-width:3px}.sidebar-progress-circle__track{stroke:#cbd5e1}.sidebar-progress-circle__fill{stroke:#0b57d0;stroke-linecap:round;transition:stroke-dasharray .45s}.sidebar-progress-circle__label{color:#1e3a8a;place-items:center;font-size:.62rem;font-weight:800;display:grid;position:absolute;inset:0}.sidebar-item-desc{color:#4b5563;font-size:.78rem;line-height:1.4}.progress-section{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin:24px 24px 0;padding:14px 16px}.progress-label{letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.progress-value{margin:4px 0 0;font-size:1.2rem;font-weight:800}.progress-attempted{color:#1e40af;margin:6px 0 0;font-size:.92rem;font-weight:600}.progress-track{background:#dbeafe;border-radius:999px;width:100%;height:12px;margin-top:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%);border-radius:999px;width:0;height:100%;transition:width .35s}.app-box{box-shadow:none;color:#000;background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:16px;max-width:none;margin:24px;padding:24px;display:flex}.app-box--preview{background:#fff;border:1px solid #dbeafe;border-radius:14px;margin:10px 20px 20px;padding:22px}.app-title{color:#000;margin:0;font-size:1.4rem;font-weight:700}.app-subtitle{color:#000;margin:0;font-size:1.15rem;font-weight:600}.inline-math{vertical-align:baseline;color:#000;margin:0 .08em;display:inline-block;position:relative;top:-.08em}.inline-math::part(content){color:#000;-webkit-text-fill-color:#000}.attempts-left{color:#1f2937;margin:0;font-size:.95rem;font-weight:600}.answer-row{align-items:center;gap:10px;display:flex}.answer-form{flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;display:flex}.app-box input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.app-box input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.answer-input{color:#000;appearance:textfield;background:#fff;border:1px solid #ccc;border-radius:6px;padding:8px}.math-answer-input{color:#000;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:6px;min-width:280px;min-height:46px;padding:8px 10px}.math-answer-input[read-only]{opacity:.7;cursor:not-allowed}.math-answer-input::part(container){background:0 0}.math-answer-input::part(content),.math-answer-input::part(placeholder){color:#000;-webkit-text-fill-color:#000}.submit-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:6px;margin:0;padding:8px 16px;font-weight:700}.submit-button:hover{background-color:#0069d9}.submit-button:disabled,.answer-input:disabled{opacity:.7;cursor:not-allowed}.next-button{color:#fff;cursor:pointer;background-color:#0f766e;border:none;border-radius:6px;padding:9px 16px;font-weight:700}.next-button:hover{background-color:#0b5f59}.feedback-wrap{width:100%}.feedback{border-radius:6px;margin-top:8px;padding:8px 12px;font-weight:700;display:inline-block}.feedback--success{color:#178a2c;background:#b6f5c6}.feedback--error{color:#b91c1c;background:#fdeaea}.completion-message{color:#0f172a;margin:0;font-weight:700}@media (width<=1024px){.app-layout{flex-direction:column}.assignment-standards-rail{width:100%!important}.standards-sidebar--in-rail,.standards-sidebar{border-bottom:1px solid #e5e7eb;border-right:none;width:100%;min-height:auto;padding-top:56px}.sidebar-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}}.footer{background:#eff6ff;border-top:1px solid #dbeafe;margin-top:24px;padding:16px}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:min(1100px,100%);margin:0 auto;display:flex}.footer-copy{color:#475569;margin:0;font-size:.9rem}.footer-links{flex-wrap:wrap;gap:16px;margin:0;padding:0;list-style:none;display:flex}.footer-link{color:#1e3a8a;cursor:pointer;background:0 0;border:none;font-size:.9rem;font-weight:700;text-decoration:none;transition:color .2s}.footer-link:hover{color:#0b57d0;text-decoration:underline}.footer-link:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}@media (width<=700px){.footer-content{flex-direction:column;align-items:flex-start}.footer-links{width:100%}}.auth-modal-backdrop{z-index:1000;box-sizing:border-box;background:#00000040;justify-content:center;align-items:center;min-height:100vh;padding:32px 8px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-modal{text-align:center;background:#fff;border-radius:12px;min-width:320px;max-width:95vw;max-height:100vh;margin:auto;padding:32px 24px 24px;position:relative;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.auth-modal-title{color:#0b57d0;margin:0 0 18px;font-size:1.3rem}.auth-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:1.5rem;position:absolute;top:12px;right:16px}.auth-modal-options{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.auth-modal-btn{cursor:pointer;color:#0f172a;background:#e2e8f0;border:none;border-radius:8px;padding:12px 18px;font-size:1rem;font-weight:700;transition:background .2s}.auth-modal-btn-primary{color:#fff;background:linear-gradient(140deg,#0b57d0 0%,#1d8bff 100%)}.auth-modal-btn-google{color:#0b57d0;background:#fff;border:1px solid #0b57d0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.auth-modal-btn-google__icon{object-fit:contain;width:18px;height:18px}.auth-modal-form{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.auth-modal-form input{border:1px solid #dbeafe;border-radius:6px;padding:10px;font-size:1rem}.auth-modal-toggle{margin-bottom:10px;font-size:.95rem}.auth-modal-toggle button{color:#0b57d0;cursor:pointer;background:0 0;border:none;font-size:.95rem;font-weight:700;text-decoration:underline}.auth-modal-error{color:#b91c1c;margin-top:8px;font-weight:600}.home-page{background:linear-gradient(135deg,#fffdf8 0%,#f4fbff 100%);min-height:100svh;padding:0;overflow-x:clip}.home-shell{width:100%;margin:24px 0 0;padding:0 24px}.home-hero{text-align:center;background:0 0;border:none;border-radius:0;margin-bottom:24px;padding:16px}.home-hero-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.home-hero-title{color:#0f172a;margin:8px 0 0;font-size:clamp(1.4rem,4vw,1.9rem);line-height:1.1}.home-hero-title-highlight{color:#1d4ed8}.home-hero-subtitle{color:#334155;margin:8px 0 0;max-width:640px;margin-inline:auto;line-height:1.6}.home-hero-mission{color:#475569;text-align:center;max-width:640px;margin:12px 0 0;margin-inline:auto;font-size:1.05rem;font-style:italic;line-height:1.5}.home-auth-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.home-btn-google{color:#0f172a;background:#fff;border:1px solid #bfdbfe;align-items:center;gap:10px;display:inline-flex}.home-google-mark{background:conic-gradient(#4285f4 0 90deg, #34a853 90deg 180deg, #fbbc05 180deg 270deg, #ea4335 270deg 360deg);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;display:inline-flex}.home-btn-muted{color:#0f172a;background:#e2e8f0}.home-signed-in{color:#1e3a8a;margin:0;font-weight:700}.home-auth-error{color:#b91c1c;margin:10px 0 0;font-weight:600}.home-section{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:24px;padding:28px}.home-section--features{background:linear-gradient(135deg,#072f7a 0%,#0a4bb8 32%,#156fdc 68%,#3c9bf1 100%);border:none;border-radius:0;width:100vw;margin-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:32px clamp(56px,9vw,180px)}.home-features-layout{flex-flow:row;align-items:start;gap:clamp(18px,3vw,40px);max-width:1400px;margin:0 auto;display:flex}.home-getting-started-card{flex:0 0 min(400px,34%);margin-left:auto}.home-features-main{flex:auto;min-width:0;max-width:900px;margin-left:0;margin-right:clamp(20px,3vw,44px)}.home-features-main ul{margin-bottom:0}.home-feature-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,48px);display:grid}.home-feature-group h3{margin:0 0 12px;font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.2}.home-feature-group ul{margin:0;padding-left:0;list-style:none}.home-feature-item{margin:0 0 10px}.home-feature-toggle{color:#dbe4f0;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:center;gap:12px;padding:2px 0;transition:color .18s;display:flex}.home-feature-toggle:hover{color:#f1f5f9}.home-feature-toggle:hover .home-feature-toggle-title{color:#f8fafc;text-shadow:0 0 8px #ffffff4d;transform:translate(2px)}.home-feature-toggle:active{transform:translateY(1px)}.home-feature-toggle:focus-visible{outline-offset:2px;outline:2px solid #bfdbfe}.home-feature-toggle-title{color:#fff;font-size:1.03rem;font-weight:600;transition:color .18s,text-shadow .18s,transform .18s}.home-feature-toggle-icon{object-fit:contain;flex:none;width:14px;height:14px;transition:transform .18s,filter .18s;display:inline-block}.home-feature-toggle:hover .home-feature-toggle-icon{filter:drop-shadow(0 0 4px #ffffff73);transform:scale(1.14)rotate(-8deg)}.home-feature-description{opacity:0;max-height:0;margin-top:0;padding-left:26px;transition:max-height .32s,opacity .22s,margin-top .32s;overflow:hidden}.home-feature-description.is-open{opacity:1;max-height:160px;margin-top:8px}.home-feature-description p{color:#a4b3c7;margin:0;font-size:.95rem;line-height:1.65}.home-getting-started-card{background:#fff;border:1px solid #bfdbfe;border-radius:12px;width:100%;max-width:400px;margin-left:0;padding:16px}.home-getting-started-card h3{color:#0f172a;text-align:center;margin:0 0 10px;font-size:1.2rem}.home-getting-started-card p{color:#334155;margin:0 0 16px}.home-section h2{color:#1e3a8a;margin:0 0 16px;font-size:1.4rem;line-height:1.2}.home-section p{color:#334155;margin:0 0 14px;font-size:.95rem;line-height:1.7}.home-section p:last-child{margin-bottom:0}.home-section ul{color:#334155;margin:0 0 14px;padding-left:24px;line-height:1.8}.home-section li{margin:0 0 10px}.home-section strong{color:#1e3a8a;font-weight:700}.home-section--features .home-features-main,.home-section--features .home-features-main h2,.home-section--features .home-features-main h3,.home-section--features .home-features-main p,.home-section--features .home-features-main ul,.home-section--features .home-features-main li,.home-section--features .home-features-main strong,.home-section--features .home-features-main a{color:#fff}.home-section--features .home-features-main li::marker{color:#fff}.home-section--features .home-features-main .home-feature-description p{color:#d3dceb}@media (prefers-reduced-motion:reduce){.home-feature-toggle-icon,.home-feature-description{transition:none}}.home-section--snapshots{background:linear-gradient(165deg,#1f2937 0%,#111827 100%);border:none;border-radius:0;width:100vw;margin-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:20px 24px}.home-snapshots-shell{max-width:1200px;margin:0 auto}.home-section--snapshots h2{color:#f8fafc;margin-bottom:10px}.home-snapshots-intro{color:#cbd5e1;margin:0 0 20px}.home-snapshots-carousel{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:12px;display:grid}.home-snapshots-arrow{color:#f8fafc;cursor:pointer;background:#0f172a8c;border:1px solid #94a3b880;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;line-height:1;transition:transform .16s,background-color .16s,border-color .16s;display:inline-flex}.home-snapshots-arrow:hover{background:#1e293bcc;border-color:#93c5fdcc;transform:translateY(-1px)}.home-snapshots-arrow:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.home-snapshots-viewport{justify-content:center;align-items:stretch;gap:0;min-width:0;display:flex}.home-snapshot-card{background:#ffffff0a;border:1px solid #94a3b859;border-radius:14px;width:clamp(520px,68vw,860px);max-width:100%;padding:14px;transition:transform .22s,opacity .22s,border-color .22s,box-shadow .22s}.home-snapshot-card--side{opacity:.72;transform:scale(.92)}.home-snapshot-card--focus{opacity:1;border-color:#93c5fdd9;width:clamp(520px,68vw,860px);max-width:100%;transform:scale(1);box-shadow:0 14px 28px #0f172a4d}.home-snapshot-frame{background:#0f172a99;border:1px solid #94a3b880;border-radius:10px;justify-content:stretch;align-items:stretch;min-height:420px;display:flex;overflow:hidden}.home-snapshot-card--focus .home-snapshot-frame{min-height:420px}.home-snapshot-image{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.home-snapshot-card h3{color:#f8fafc;text-align:center;margin:12px 0 6px;font-size:1rem}.home-snapshot-card p{color:#cbd5e1;text-align:center;margin:0;font-size:.9rem;line-height:1.5}.home-link{color:#0b57d0;border-bottom:1px solid #0000;font-weight:700;text-decoration:none;transition:border-color .2s}.home-link:hover{border-bottom-color:#0b57d0}.home-link:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.home-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.home-btn:hover{transform:translateY(-2px)}.home-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.home-btn:disabled{opacity:.65;cursor:not-allowed}.home-btn-primary{color:#fff;background:linear-gradient(140deg,#0b57d0 0%,#1d8bff 100%);box-shadow:0 8px 16px #0b57d033}.home-btn-primary:hover{box-shadow:0 12px 24px #0b57d04d}.home-section-slim{padding:16px 24px}.home-footer-text{color:#64748b;text-align:center;margin:0;font-size:.85rem}.home-section--about-cards{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;width:min(1100px,100%);margin:20px auto 0;padding:0 0 28px;display:grid}.home-about-card{cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;background:#ffffffd1;border:1px solid #1d8bff1f;border-radius:16px;padding:18px 18px 16px;transition:box-shadow .18s,border-color .18s;box-shadow:0 10px 24px #1d508c14}.home-about-card:hover{border-color:#3b82f673;transform:translateY(-2px);box-shadow:0 16px 28px #1d508c24,0 0 0 2px #3b82f63d}.home-about-card:active{cursor:grabbing;transform:translateY(0);box-shadow:0 12px 22px #1d508c29,0 0 0 3px #2563eb73,0 0 22px #2563eb59}.home-about-card.is-dragging{cursor:grabbing;border-color:#2563eba6;transition:none;box-shadow:0 16px 28px #1d508c2e,0 0 0 3px #2563eb59,0 0 22px #2563eb4d}.home-about-card h3,.home-about-card p{-webkit-user-select:none;user-select:none}.home-about-divider{justify-content:center;align-items:center;display:flex}.home-about-divider img{object-fit:contain;filter:none;opacity:.95;width:22px;height:22px}.home-about-card h3{color:#0f172a;margin:0 0 10px;font-size:clamp(1.15rem,2.2vw,1.3rem)}.home-about-card-title-highlight{color:#0b57d0}.home-about-card p{color:#334155;margin:0;font-size:.95rem;line-height:1.7}.home-section--about-closing{text-align:center;max-width:900px;margin:28px auto 36px;padding:20px 0 28px}.home-section--about-closing h2{color:#0f172a;margin:0 0 14px;font-size:clamp(1.3rem,3.6vw,1.7rem)}.home-about-closing-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}@media (width<=700px){.home-page{padding:0}.home-shell{width:100%;margin-top:16px;padding:0 14px}.home-hero{margin-bottom:24px;padding:32px 16px}.home-section{margin-bottom:16px;padding:20px}.home-section--features{padding:20px 14px}.home-features-layout{flex-flow:row;gap:14px;display:flex}.home-getting-started-card{flex:0 0 min(270px,42%)}.home-features-main{flex:auto;margin-left:0;margin-right:0}.home-feature-groups{grid-template-columns:1fr;gap:16px}.home-section--snapshots{padding:14px}.home-snapshots-carousel{grid-template-columns:1fr;gap:10px}.home-snapshots-viewport{gap:8px}.home-snapshot-card{width:clamp(300px,92vw,680px);padding:10px}.home-snapshot-card--focus{width:clamp(300px,92vw,680px)}.home-snapshot-card--focus .home-snapshot-frame{min-height:300px}.home-snapshots-arrow{justify-self:center}.home-section h2{font-size:1.2rem}.home-section--about-cards{grid-template-columns:1fr;gap:12px;padding:0 0 20px}.home-about-divider{display:none}.home-section--about-closing{padding:20px 16px}}@media (width<=620px){.home-features-layout{flex-direction:column}.home-getting-started-card{flex-basis:auto;margin-left:0}}.simple-dashboard{background:#f8fbff;min-height:100svh;padding:24px}.dashboard-route-shell{position:relative}.dashboard-route-content{opacity:0;visibility:hidden;transition:opacity .14s}.dashboard-route-content--ready{opacity:1;visibility:visible}.dashboard-route-loading{flex-direction:column;justify-content:center;align-items:center;gap:.7rem;min-height:calc(100svh - 110px);display:flex}.simple-dashboard-card{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.simple-dashboard-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.simple-dashboard-title{color:#0f172a;margin:10px 0 0;font-size:clamp(1.6rem,4.6vw,2.2rem);line-height:1.1}.simple-dashboard-copy{color:#334155;margin:10px 0 0;line-height:1.6}.dashboard-section-heading{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:24px 0 10px;font-size:.82rem;font-weight:700}.dashboard-loading{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbeafe;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;min-height:220px;margin-top:1rem;display:flex}.dashboard-loading-spinner{border:3px solid #cbd5e1;border-top-color:#1d4ed8;border-radius:999px;width:30px;height:30px;animation:.8s linear infinite dashboard-loading-spin}.dashboard-loading-copy{color:#475569;margin:0;font-weight:600}@keyframes dashboard-loading-spin{to{transform:rotate(360deg)}}.class-action-form{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.class-action-input{color:#0f172a;background:#fff;border:1px solid #bfdbfe;border-radius:8px;outline:none;flex:1;min-width:180px;padding:8px 12px;font-size:.95rem}.class-action-input::placeholder{letter-spacing:normal;text-transform:none;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.95rem}.class-action-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.class-action-input--code{letter-spacing:.1em;text-transform:uppercase;min-width:140px;font-family:monospace}.class-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#1d4ed8;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:opacity .15s}.class-action-btn:hover{filter:brightness(.95)}.class-action-btn:disabled{opacity:.55;cursor:not-allowed}.class-action-error{color:#dc2626;margin:0;font-size:.82rem}.class-action-success{color:#16a34a;margin:0;font-size:.82rem}.assignment-list{grid-template-columns:1fr;gap:8px;margin-top:16px;display:grid}.assignment-card{border:1px solid #dbeafe;border-radius:10px;padding:10px 12px}.assignment-card--clickable{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.assignment-card--clickable:hover,.assignment-card--clickable:focus-visible{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 10px 24px #3b82f61f}.assignment-card--clickable:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.assignment-card--active{background:#eff6ff}.assignment-card--upcoming{opacity:.88;background:#f8fafc}.assignment-label{letter-spacing:.05em;text-transform:uppercase;color:#475569;margin:0;font-size:.72rem;font-weight:700}.assignment-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-card-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.assignment-card-badge--resume{color:#1d4ed8;background:#dbeafe}.assignment-card-badge--completed{color:#15803d;background:#dcfce7}.assignment-card-badge--start{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.assignment-title{color:#0f172a;margin:4px 0 0;font-size:1rem;line-height:1.25}.assignment-copy{color:#334155;margin:4px 0 0;font-size:.86rem;line-height:1.25}.assignment-card-progress{margin-top:8px}.assignment-card-progress-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-card-progress-copy,.assignment-card-grade,.assignment-card-status{margin:0}.assignment-card-progress-copy{color:#1e3a8a;font-size:.8rem;font-weight:700}.assignment-card-grade{color:#0f172a;font-size:.8rem;font-weight:800}.assignment-card-progress-track{background:#dbeafe;border-radius:999px;width:100%;height:8px;margin-top:6px;overflow:hidden}.assignment-card-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%);height:100%;display:block}.assignment-card-status{color:#64748b;margin-top:6px;font-size:.74rem;display:inline}.assignment-card-updated{color:#64748b;margin:0;font-size:.74rem;display:inline}.assignment-card-status+.assignment-card-updated:before{content:" • "}.simple-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.simple-dashboard-stat{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;padding:10px}.simple-dashboard-stat-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem}.simple-dashboard-stat-value{color:#1e3a8a;margin:6px 0 0;font-weight:700}.simple-dashboard-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.simple-dashboard-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:700}.simple-dashboard-btn-primary{color:#fff;background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%)}.simple-dashboard-btn-secondary{color:#0f172a;background:#e2e8f0}.simple-dashboard-btn-tertiary{color:#1e3a8a;background:#dbeafe}.simple-dashboard-btn:hover{filter:brightness(.97)}@media (width<=700px){.simple-dashboard{padding:14px}.simple-dashboard-card{padding:20px}.simple-dashboard-stats{grid-template-columns:1fr}}.student-dashboard{background:#f8fbff;min-height:100svh;padding:24px}.student-join-section,.student-classes-section{margin-bottom:4px}.student-classes-empty{color:#94a3b8;margin:0;font-size:.9rem}.student-class-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));align-items:start;gap:10px;display:grid}.student-class-card{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex-direction:column;gap:4px;padding:12px 44px 12px 12px;display:flex;position:relative}.student-class-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-class-title{color:#0f172a;margin:0;font-size:1rem;font-weight:700}.student-class-code{color:#334155;margin:0;font-size:.8rem}.student-class-code strong{letter-spacing:.1em;color:#1d4ed8;font-family:monospace}.student-class-actions{justify-content:flex-end;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.student-class-settings-trigger{color:#1e3a8a;cursor:pointer;background:#e0e7ff;border:none;border-radius:7px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;font-size:1rem;line-height:1;display:inline-flex}.student-class-settings-menu{z-index:5;background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:2px;min-width:150px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 22px #0f172a1f}.student-class-settings-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:.85rem;font-weight:600}.student-class-settings-item:hover{background:#eff6ff}.student-class-settings-item--danger{color:#dc2626}.student-class-settings-item--danger:hover{background:#fee2e2}.student-class-info-panel{background:#fff;border:1px solid #dbeafe;border-radius:12px;margin-top:12px;padding:16px}.student-class-info-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.student-class-info-header h3{color:#0f172a;margin:0;font-size:1rem;font-weight:700}.student-close-info-btn{cursor:pointer;color:#1e3a8a;background:#e0e7ff;border:none;border-radius:7px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:opacity .15s}.student-close-info-btn:disabled{opacity:.5;cursor:not-allowed}.student-class-info-panel p{color:#334155;margin:6px 0 0;font-size:.9rem}.student-assignment-row{align-items:center;gap:12px;display:flex}.student-assignment-cell{color:#334155;white-space:nowrap;margin:0;font-size:.84rem}.student-assignment-cell--name{color:#0f172a;text-overflow:ellipsis;flex:0 180px;min-width:0;font-size:.92rem;font-weight:700;overflow:hidden}.student-assignment-cell--due{color:#475569;flex:0 0 220px;min-width:220px}.student-assignment-cell--classes{text-overflow:ellipsis;flex:200px;overflow:hidden}.student-assignment-cell--progress{color:#1e3a8a;flex:none;font-weight:700}.student-assignment-subline{color:#64748b;margin:6px 0 0;font-size:.74rem}.student-assignment-progress-track{background:#dbeafe;border-radius:999px;width:100%;height:6px;margin-top:6px;overflow:hidden}.student-assignment-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%);height:100%;display:block}@media (width<=900px){.student-assignment-row{flex-wrap:wrap;align-items:flex-start}.student-assignment-cell--name{flex-basis:100%}.student-assignment-subline{margin-top:4px}}.student-progress-section{margin-bottom:4px}.progress-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.progress-card{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:10px 12px}.progress-card-standard{color:#1e3a8a;margin:0 0 4px;font-size:.8rem;font-weight:700}.progress-card-score{color:#0f172a;margin:0 0 2px;font-size:1.1rem;font-weight:700}.progress-card-attempts{color:#64748b;margin:0;font-size:.75rem}.teacher-dashboard{background:#f8fbff;min-height:100svh;padding:24px}.teacher-class-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));align-items:start;gap:10px;margin-bottom:20px;display:grid}.teacher-class-card{touch-action:none;will-change:transform;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex-direction:column;gap:4px;padding:12px 44px 12px 12px;display:flex;position:relative}.teacher-class-card--clickable{cursor:grab;transition:border-color .15s,box-shadow .15s,transform .15s,opacity .15s}.teacher-class-card--clickable:not(.teacher-class-card--dragging):hover,.teacher-class-card--clickable:not(.teacher-class-card--dragging):focus-visible{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 18px #1e40af24}.teacher-class-card--clickable:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.teacher-class-card--active{border-color:#60a5fa;box-shadow:inset 0 0 0 1px #3b82f659}.teacher-class-card--dragging{opacity:.9;cursor:grabbing;transition:none;transform:scale(1.01);box-shadow:0 14px 28px #1e40af47}.teacher-class-card--drop-target{border-style:dashed;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.teacher-class-card h2{color:#0f172a;margin:0;font-size:1rem;font-weight:700}.teacher-class-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-class-code{color:#334155;margin:0;font-size:.8rem}.teacher-class-courses{color:#475569;margin:0;font-size:.77rem;line-height:1.35}.teacher-class-code strong{letter-spacing:.1em;color:#1d4ed8;font-family:monospace}.teacher-class-actions{justify-content:flex-end;margin-top:0;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.teacher-btn--icon{justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;font-size:1rem;line-height:1;display:inline-flex}.teacher-class-settings-menu{z-index:5;background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:2px;min-width:150px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 22px #0f172a1f}.teacher-class-settings-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:.85rem;font-weight:600}.teacher-class-settings-item:hover{background:#eff6ff}.teacher-class-settings-item--danger{color:#dc2626}.teacher-class-settings-item--danger:hover{background:#fee2e2}.teacher-btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.teacher-btn:hover:not(:disabled),.teacher-btn:focus-visible:not(:disabled){filter:brightness(.97);transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1f}.teacher-btn:focus-visible:not(:disabled){outline-offset:2px;outline:2px solid #60a5fa}.teacher-btn:disabled{opacity:.5;cursor:not-allowed}.teacher-btn__icon{line-height:1;display:inline-flex}.teacher-btn__icon--pencil{transform:rotate(135deg)}.teacher-btn--primary{color:#fff;background:#1d4ed8}.teacher-btn--secondary{color:#1e3a8a;background:#e0e7ff}.teacher-btn--danger{color:#dc2626;background:#fee2e2}.teacher-assignment-actions{flex-wrap:nowrap;align-items:center;gap:14px;margin-top:0;margin-left:auto;display:flex}.teacher-assignment-manage-actions{border-left:1px solid #bfdbfe;align-items:center;gap:6px;padding-left:12px;display:flex}.teacher-assignment-row{align-items:center;gap:12px;display:flex}.teacher-assignment-cell{color:#334155;white-space:nowrap;margin:0;font-size:.84rem}.teacher-assignment-cell--name{color:#0f172a;text-overflow:ellipsis;flex:0 180px;min-width:0;font-size:.92rem;font-weight:700;overflow:hidden}.teacher-assignment-cell--due{color:#475569;flex:0 0 150px;min-width:150px}.teacher-assignment-cell--classes{text-overflow:ellipsis;flex:220px;overflow:hidden}@media (width<=900px){.teacher-assignment-row{flex-wrap:wrap;align-items:flex-start}.teacher-assignment-cell--name{flex-basis:100%}.teacher-assignment-actions{flex-wrap:wrap;width:100%;margin-left:0}.teacher-assignment-manage-actions{border-left:none;padding-left:0}}.teacher-assignments-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-class-edit-panel{background:#fff;border:1px solid #dbeafe;border-radius:12px;gap:12px;margin-bottom:20px;padding:16px;display:grid}.teacher-class-edit-panel h2{color:#0f172a;margin:0;font-size:1rem}.teacher-class-edit-field{color:#1e3a8a;gap:6px;font-size:.85rem;font-weight:700;display:grid}.teacher-class-edit-field input[type=text]{color:#0f172a;border:1px solid #bfdbfe;border-radius:8px;padding:8px 10px;font-size:.9rem}.teacher-class-course-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 10px;display:grid}.teacher-class-course-option{color:#334155;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.teacher-class-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.teacher-roster-panel{background:#fff;border:1px solid #dbeafe;border-radius:12px;margin-bottom:20px;padding:16px}.teacher-roster-panel h2{color:#0f172a;margin:0 0 12px;font-size:1rem;font-weight:700}.teacher-roster-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.teacher-roster-header h2{margin:0}.teacher-roster-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.teacher-roster-item{color:#0f172a;background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.88rem;display:flex}.teacher-roster-meta{flex-direction:column;gap:2px;display:flex}.teacher-roster-name{color:#0f172a;font-weight:700}.teacher-roster-email{color:#64748b;font-size:.8rem}.teacher-roster-empty{color:#94a3b8;margin:0;font-size:.85rem}.courses-page{background:#f8fbff;min-height:100svh;padding:24px}.courses-shell{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.courses-auth-status{align-self:center;margin:0}.courses-auth-name{color:#1e3a8a;margin:0;font-weight:800}.courses-auth-email{color:#475569;margin:2px 0 0;font-size:.82rem}.courses-auth-error{color:#b91c1c;margin:10px 0 0;font-weight:600}.courses-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.courses-title{color:#0f172a;margin:10px 0 0;font-size:clamp(1.6rem,4.6vw,2.2rem);line-height:1.1}.courses-copy{color:#334155;margin:10px 0 28px;line-height:1.6}.course-catalog{gap:28px;display:grid}.course-group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;display:flex}.course-group-dot{background:#94a3b8;border-radius:999px;width:9px;height:9px;transition:background-color .15s,opacity .15s;box-shadow:0 0 0 1px #0f172a14}.course-group-toggle:hover .course-group-label,.course-group-toggle:focus-visible .course-group-label{opacity:.75}.course-group-toggle--muted .course-group-label{color:#94a3b8!important}.course-group-label{letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin:0;font-size:.78rem;font-weight:700;transition:opacity .15s}.course-group--elementary .course-group-label,.course-group--middle-school .course-group-label{color:#0f172a}.course-group--high-school .course-group-label{color:#0f1f3d}.course-group--elementary .course-group-dot{background:#18b38e}.course-group--middle-school .course-group-dot{background:#dc2626}.course-group--high-school .course-group-dot{background:#1d4ed8}.course-group-toggle--muted .course-group-dot{background:#cbd5e1!important}.course-group-content-wrap{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid;overflow:hidden}.course-group-content-wrap--open{grid-template-rows:1fr}.course-stack{gap:10px;min-height:0;margin-top:14px;display:grid}.course-card{--course-border:#dbeafe;--course-background:#eff6ff;--course-border-hover:#bfdbfe;--course-shadow:#1d4ed83d;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:#eff6ff;--course-placeholder-copy:#eff6ffeb;border:1px solid #dbeafe;border-radius:12px;padding:12px}.course-card--kindergarten{--course-border:#18b38e;--course-background:linear-gradient(135deg, #34d399 0%, #18b38e 100%);--course-border-hover:#a7f3d0;--course-shadow:#18b38e3d;--course-title:#fff;--course-status:#d1fae5;--course-placeholder-background:linear-gradient(135deg, #34d399 0%, #18b38e 100%);--course-placeholder-copy:#ecfdf5eb}.course-card--grade-1{--course-border:#179981;--course-background:linear-gradient(135deg, #20bf95 0%, #179981 100%);--course-border-hover:#a7f3d0;--course-shadow:#1799813d;--course-title:#fff;--course-status:#d1fae5;--course-placeholder-background:linear-gradient(135deg, #20bf95 0%, #179981 100%);--course-placeholder-copy:#ecfdf5eb}.course-card--grade-2{--course-border:#177d72;--course-background:linear-gradient(135deg, #17a38f 0%, #177d72 100%);--course-border-hover:#99f6e4;--course-shadow:#177d7242;--course-title:#fff;--course-status:#ccfbf1;--course-placeholder-background:linear-gradient(135deg, #17a38f 0%, #177d72 100%);--course-placeholder-copy:#ecfeffeb}.course-card--grade-3{--course-border:#176e68;--course-background:linear-gradient(135deg, #168e8a 0%, #176e68 100%);--course-border-hover:#99f6e4;--course-shadow:#176e6847;--course-title:#fff;--course-status:#ccfbf1;--course-placeholder-background:linear-gradient(135deg, #168e8a 0%, #176e68 100%);--course-placeholder-copy:#ecfeffeb}.course-card--grade-4{--course-border:#166761;--course-background:linear-gradient(135deg, #157f74 0%, #166761 100%);--course-border-hover:#99f6e4;--course-shadow:#16676147;--course-title:#fff;--course-status:#ccfbf1;--course-placeholder-background:linear-gradient(135deg, #157f74 0%, #166761 100%);--course-placeholder-copy:#ecfeffe6}.course-card--grade-5{--course-border:#165a59;--course-background:linear-gradient(135deg, #166f6e 0%, #165a59 100%);--course-border-hover:#99f6e4;--course-shadow:#165a594d;--course-title:#fff;--course-status:#ccfbf1;--course-placeholder-background:linear-gradient(135deg, #166f6e 0%, #165a59 100%);--course-placeholder-copy:#ecfeffe6}.course-card--algebra-1{--course-border:#2563eb;--course-background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--course-border-hover:#93c5fd;--course-shadow:#2563eb47;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--course-placeholder-copy:#eff6ffeb}.course-card--geometry{--course-border:#1d4ed8;--course-background:linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);--course-border-hover:#93c5fd;--course-shadow:#1d4ed84d;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);--course-placeholder-copy:#eff6ffeb}.course-card--algebra-2{--course-border:#1e40af;--course-background:linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--course-border-hover:#93c5fd;--course-shadow:#1e40af52;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--course-placeholder-copy:#eff6ffeb}.course-card--precalculus{--course-border:#1e3a8a;--course-background:linear-gradient(135deg, #1e3a8a 0%, #172554 100%);--course-border-hover:#93c5fd;--course-shadow:#17255457;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:linear-gradient(135deg, #1e3a8a 0%, #172554 100%);--course-placeholder-copy:#eff6ffeb}.course-card--statistics{--course-border:#172554;--course-background:linear-gradient(135deg, #172554 0%, #0f172a 100%);--course-border-hover:#60a5fa;--course-shadow:#0f172a57;--course-title:#fff;--course-status:#bfdbfe;--course-placeholder-background:linear-gradient(135deg, #172554 0%, #0f172a 100%);--course-placeholder-copy:#eff6ffe6}.course-card--calculus{--course-border:#1e3a8a;--course-background:linear-gradient(135deg, #1e40af 0%, #172554 100%);--course-border-hover:#93c5fd;--course-shadow:#1725544d;--course-title:#fff;--course-status:#dbeafe;--course-placeholder-background:linear-gradient(135deg, #1e40af 0%, #172554 100%);--course-placeholder-copy:#eff6ffeb}.course-card--grade-8{--course-border:#991b1b;--course-background:linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);--course-border-hover:#fca5a5;--course-shadow:#7f1d1d47;--course-title:#fff;--course-status:#fee2e2;--course-placeholder-background:linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);--course-placeholder-copy:#fef2f2f0}.course-card--grade-7{--course-border:#b91c1c;--course-background:linear-gradient(135deg, #dc2626 0%, #991b1b 100%);--course-border-hover:#fca5a5;--course-shadow:#b91c1c42;--course-title:#fff;--course-status:#fee2e2;--course-placeholder-background:linear-gradient(135deg, #dc2626 0%, #991b1b 100%);--course-placeholder-copy:#fef2f2f0}.course-card--grade-6{--course-border:#c24141;--course-background:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--course-border-hover:#fecaca;--course-shadow:#b91c1c3d;--course-title:#fff;--course-status:#fee2e2;--course-placeholder-background:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--course-placeholder-copy:#fef2f2f0}.course-card--active{border-color:var(--course-border);background:var(--course-background);transition:transform .15s,box-shadow .15s,border-color .15s}.course-card--active:hover,.course-card--active:focus-within{border-color:var(--course-border-hover);box-shadow:0 10px 24px var(--course-shadow);transform:translateY(-1px)}.course-card--placeholder{border-color:var(--course-border);background:var(--course-placeholder-background);transition:transform .15s,box-shadow .15s,border-color .15s}.course-card--placeholder:hover,.course-card--placeholder:focus-within{border-color:var(--course-border-hover);box-shadow:0 10px 24px var(--course-shadow);transform:translateY(-1px)}.course-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.course-header-meta{align-items:center;gap:10px;display:inline-flex}.course-toggle{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.course-content{border-top:1px solid #bfdbfe;margin-top:10px;padding-top:10px}.course-content-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.course-content-wrap--open{grid-template-rows:1fr}.course-content-wrap>.course-content{overflow:hidden}.course-header h2{color:var(--course-title);margin:0;font-size:1.1rem}.course-status{letter-spacing:.04em;text-transform:uppercase;color:var(--course-status);font-size:.75rem;font-weight:700}.course-status--muted{color:var(--course-status)}.course-placeholder-copy{color:var(--course-placeholder-copy);margin:8px 0 0}.unit-block{background:#fff;border:1px solid #bfdbfe;border-radius:10px;padding:10px;transition:transform .15s,box-shadow .15s,border-color .15s}.unit-block:hover,.unit-block:focus-within{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 10px 24px #3b82f61f}.unit-stack{gap:10px;display:grid}.unit-toggle{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.unit-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.unit-title{letter-spacing:.05em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.88rem;font-weight:700}.topic-grid{grid-template-columns:1fr;gap:10px;margin-top:10px;padding-top:4px;display:grid}.unit-content-wrap{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.unit-content-wrap--open{grid-template-rows:1fr}.unit-content-wrap>.topic-stack{overflow:hidden}.topic-stack{gap:14px;display:grid}.topic-section{background:linear-gradient(#eff6ffe6 0%,#f8fafcf2 100%);border:1px solid #60a5fa47;border-radius:14px;gap:10px;padding:12px;display:grid}.topic-section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.topic-section-meta{align-items:center;gap:10px;display:inline-flex}.topic-toggle{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;padding:0}.topic-toggle:hover .topic-section-title,.topic-toggle:focus-visible .topic-section-title{color:#1e3a8a}.topic-toggle:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.topic-content-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.topic-content-wrap--open{grid-template-rows:1fr}.topic-content-wrap>.topic-grid{overflow:hidden}.topic-section-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:800}.topic-section-count{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:.74rem;font-weight:700}.chevron{color:#1e3a8a;font-size:.95rem;transition:transform .2s;display:inline-block;transform:rotate(0)}.chevron--small{font-size:.86rem}.chevron--open{transform:rotate(180deg)}.topic-card{cursor:pointer;background:linear-gradient(#f8fbff 0%,#eef6ff 100%);border:1px solid #93c5fd;border-radius:10px;padding:10px;transition:transform .15s,box-shadow .15s,border-color .15s}.topic-card:hover,.topic-card:focus-visible{border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 10px 24px #3b82f61f}.topic-card:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.topic-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.topic-title-group{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.topic-actions{align-items:center;gap:6px;display:inline-flex}.topic-add-btn{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:999px;width:24px;height:24px;font-size:.95rem;font-weight:800;line-height:1}.topic-add-btn:hover{background:#dbeafe}.topic-add-btn--selected{color:#166534;background:#dcfce7;border-color:#86efac}.module-type-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.module-type-badge--concept{color:#1e40af;background:#dbeafe}.module-type-badge--practice{color:#92400e;background:#fef3c7}.topic-id{color:#1e3a8a;flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:700}.topic-standard-code{letter-spacing:.04em;cursor:pointer;appearance:none;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:700;transition:background-color .15s;display:inline-flex;color:#1e3a8a!important;background:#eff6ff!important;border:1px solid #bfdbfe!important}.topic-standard-group{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.topic-standard-code--course{color:#1d4ed8!important;background:#dbeafe!important;border-color:#93c5fd!important}.topic-standard-code:hover{background:#dbeafe!important}.topic-standard-code:focus-visible{outline-offset:1px;outline:2px solid #93c5fd}.topic-standard-code:active{background:#bfdbfe!important}.topic-description{color:#1e40af;margin:6px 0 0}.topic-card--coming-soon{cursor:default;opacity:.7}.topic-card--coming-soon:hover,.topic-card--coming-soon:focus-visible{box-shadow:none;border-color:#93c5fd;transform:none}.topic-coming-soon-label{letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;margin:6px 0 0;font-size:.72rem;font-weight:600}.topic-standard-code--muted{cursor:default;opacity:.6}.courses-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.courses-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:700}.courses-btn-primary{color:#fff;background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%)}.courses-btn-google{color:#0f172a;background:#fff;border:1px solid #bfdbfe;align-items:center;gap:10px;display:inline-flex}.google-mark{background:conic-gradient(#4285f4 0 90deg, #34a853 90deg 180deg, #fbbc05 180deg 270deg, #ea4335 270deg 360deg);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:800;display:inline-flex}.courses-btn-muted{color:#0f172a;background:#e2e8f0}.courses-btn:hover{filter:brightness(.97)}.courses-btn:disabled{opacity:.65;cursor:not-allowed}@media (width<=700px){.courses-page{padding:14px}.courses-shell{padding:18px}}.standards-page{background:#f8fbff;min-height:100svh;padding:24px}.standards-shell{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.standards-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.standards-title{color:#0f172a;margin:10px 0 0;font-size:clamp(1.6rem,4.6vw,2.2rem);line-height:1.1}.standards-copy{color:#334155;margin:10px 0 0;line-height:1.6}.standards-search-label{letter-spacing:.04em;text-transform:uppercase;color:#1e3a8a;margin-top:14px;font-size:.78rem;font-weight:700;display:inline-block}.standards-search-input{color:#0f172a;background:#fff;border:1px solid #bfdbfe;border-radius:8px;width:100%;margin-top:6px;padding:10px 12px;font-size:.95rem}.standards-search-input:focus{outline-offset:1px;outline:2px solid #93c5fd}.standards-search-input:disabled{cursor:not-allowed;color:#64748b;background:#e2e8f0}.standards-course-select{appearance:none}.standards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;gap:10px;margin-top:16px;display:grid}.standard-preview-card{cursor:pointer;background:linear-gradient(#f8fbff 0%,#eef6ff 100%);border:1px solid #93c5fd;border-radius:10px;flex-direction:column;min-height:100%;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.standard-preview-card:hover{border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 10px 24px #3b82f61f}.standard-preview-card--selected{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.standard-preview-card:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.standard-preview-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.standard-module-type-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:3px;justify-content:center;align-items:center;padding:3px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.standard-module-type-badge--concept{color:#1e40af;background:#dbeafe}.standard-module-type-badge--practice{color:#92400e;background:#fef3c7}.standard-preview-id{color:#1e3a8a;flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:700}.standard-preview-description{color:#1e40af;flex:1;margin:8px 0 0}.standard-preview-standards{letter-spacing:.05em;text-transform:uppercase;color:#64748b;margin:10px 0 0;font-size:.72rem;font-weight:700}.standard-preview-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.standard-preview-chip{color:#1e3a8a;letter-spacing:.04em;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.standard-preview-problem{border-top:1px solid #bfdbfe;margin-top:12px;padding-top:10px}.standard-example-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.standard-example-wrap--open{grid-template-rows:1fr}.standard-example-content{overflow:hidden}.standard-preview-label{color:#475569;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.76rem}.standard-preview-question{color:#0f172a;margin:6px 0 0;font-weight:700}.standard-preview-answer{color:#1e3a8a;margin:8px 0 0}.standards-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:700}.standards-btn-primary{color:#fff;background:linear-gradient(90deg,#0b57d0 0%,#1d8bff 100%)}.standards-btn-secondary{color:#0f172a;background:#dbeafe}.standards-btn:hover{filter:brightness(.97)}.standards-add-btn{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:999px;padding:8px 12px;font-weight:700}.standards-add-btn--compact{white-space:nowrap;padding:6px 10px;font-size:.74rem}.standards-add-btn:hover{background:#dbeafe}.standards-add-btn--selected{color:#166534;background:#dcfce7;border-color:#86efac}.standards-btn{border-radius:999px}.standard-preview-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.standard-preview-position{color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.standards-empty{color:#475569;margin-top:14px;font-weight:600}.standards-preview-modal{z-index:60;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.standards-preview-modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8f;position:absolute;inset:0}.standards-preview-modal__panel{background:radial-gradient(circle at 0 0,#93c5fd73,#0000 28%),linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #bfdbfee6;border-radius:24px;width:min(1100px,100%);max-height:calc(100svh - 48px);padding:24px;position:relative;overflow:auto;box-shadow:0 24px 80px #0f172a3d}.standards-preview-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.standards-preview-modal__kicker{letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8;margin:0;font-size:.76rem;font-weight:700}.standards-preview-modal__title{color:#0f172a;margin:8px 0 0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05}.standards-preview-modal__copy{color:#475569;margin:8px 0 0}.standards-preview-modal__close{color:#0f172a;cursor:pointer;white-space:nowrap;background:#dbeafe;border:none;border-radius:999px;padding:12px 16px;font-weight:700}.standards-preview-modal__topbar{background:#dbeafeb8;border:1px solid #93c5fdb8;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:16px 18px;display:flex}.standards-preview-modal__progress-block{flex-direction:column;gap:4px;display:flex}.standards-preview-modal__progress-label{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.74rem;font-weight:700}.standards-preview-modal__progress-value{color:#0f172a;margin:0;font-size:1.6rem;font-weight:800}.standards-preview-modal__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.standards-preview-modal__chip{color:#1e3a8a;background:#fff;border:1px solid #bfdbfee6;border-radius:999px;align-items:center;min-height:34px;padding:8px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.standards-preview-modal__body{margin-top:20px}.standards-preview-modal__problem-card{background:#fff;border:1px solid #dbeafef2;border-radius:22px;padding:24px;box-shadow:0 16px 34px #94a3b81f}.standards-preview-modal__problem-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0;font-size:.8rem;font-weight:700}.standards-preview-modal__problem-question{color:#0f172a;margin:14px 0 0;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:700;line-height:1.5}.standards-preview-modal__answer-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;display:grid}.standards-preview-modal__text-input,.standards-preview-modal__math-input{color:#0f172a;background:#f8fbff;border:1px solid #bfdbfe;border-radius:14px;width:100%;min-width:0;min-height:50px;padding:12px 14px;font-size:1rem}.standards-preview-modal__feedback{border-radius:14px;margin-top:16px;padding:14px 16px;font-weight:700}.standards-preview-modal__feedback--success{color:#166534;background:#dcfce7}.standards-preview-modal__feedback--error{color:#b91c1c;background:#fee2e2}.standards-preview-modal__problem-card .standards-btn{margin-top:16px}.standards-preview-modal__completion{color:#0f172a;margin:16px 0 0;font-weight:700}@media (width<=700px){.standards-page{padding:14px}.standards-shell{padding:18px}.standards-preview-modal{padding:12px}.standards-preview-modal__panel{border-radius:18px;max-height:calc(100svh - 24px);padding:18px}.standards-preview-modal__header{flex-direction:column}.standards-preview-modal__close{width:100%}.standards-preview-modal__answer-form{grid-template-columns:1fr}.standards-preview-modal__problem-card{padding:18px}}.profile-field-card{background:#f8fbff;border:1px solid #d8e8ff;border-radius:10px;align-items:center;gap:1.2rem;margin-bottom:1.1rem;padding:.85rem 1.1rem;display:flex;box-shadow:0 1px 4px #0b57d00a}.profile-field-label{color:#35557f;min-width:120px;font-weight:700}.profile-field-value{color:#132f53;word-break:break-word;flex:1;font-weight:500}.profile-role-edit-btn{margin-left:.5rem}.profile-role-delete{color:#fff;background:#dc2626;margin-top:0;margin-left:.5rem;font-weight:700;box-shadow:0 1px 4px #dc262614}.profile-role-delete:hover:enabled{background:#b91c1c}.profile-delete-row{margin-top:32px}.profile-role-delete{color:#fff;background:#dc2626;margin-top:8px}.profile-role-delete:disabled{opacity:.55;cursor:not-allowed}.profile-role-delete-title{color:#dc2626}.profile-role-delete-warning{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.profile-role-delete-error{color:#dc2626}.profile-page{background:radial-gradient(circle at 10% 8%,#e8f2ff 0%,#0000 35%),radial-gradient(circle at 92% 6%,#d8ecff 0%,#0000 32%),linear-gradient(#f7fbff 0%,#eef5ff 100%);min-height:calc(100svh - 72px);padding:clamp(1rem,2.8vw,2.2rem)}.profile-card{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.profile-card--loading{background:#fffffff2;border:1px solid #d8e8ff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;min-height:240px;display:flex}.profile-loading-spinner{border:3px solid #c7defd;border-top-color:#1d4ed8;border-radius:999px;width:30px;height:30px;animation:.8s linear infinite profile-loading-spin}.profile-loading-label{color:#35557f;margin:0;font-weight:600}@keyframes profile-loading-spin{to{transform:rotate(360deg)}}.profile-kicker{color:#0b57d0;letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.profile-title{color:#0f2a4b;margin:.35rem 0 1rem}.profile-identity{background:#f8fbfff2;border:1px solid #d8e8ff;border-radius:14px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.profile-avatar{color:#1e3a8a;background:linear-gradient(#dbeafe 0%,#bfdbfe 100%);border:2px solid #bfdbfe;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex;overflow:hidden}.profile-avatar-image{object-fit:cover;width:100%;height:100%}.profile-avatar-fallback{font-size:1.75rem;font-weight:800;line-height:1}.profile-identity-copy{min-width:0}.profile-identity-name,.profile-identity-email{margin:0}.profile-identity-name{color:#0f2a4b;font-size:1.15rem;font-weight:800}.profile-identity-email{color:#64748b;word-break:break-word;margin-top:.2rem;font-size:.92rem}.profile-grid{gap:.7rem;margin:0;display:grid}.profile-row{background:#f8fbff;border:1px solid #d8e8ff;border-radius:10px;grid-template-columns:150px 1fr;align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}.profile-role-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.profile-role-value{color:#0f2a4b;font-weight:600}.profile-role-edit-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:inline-flex}.profile-role-edit-btn:hover:enabled{background:#1e40af}.profile-role-edit-btn:disabled{opacity:.55;cursor:not-allowed}.profile-role-edit-btn svg{fill:currentColor;width:16px;height:16px}.profile-role-select{color:#0f2a4b;background:#fff;border:1px solid #c7defd;border-radius:8px;padding:.4rem .55rem;font-size:.88rem}.profile-role-save{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.profile-role-save:disabled{opacity:.55;cursor:not-allowed}.profile-role-note{color:#64748b;margin:.45rem 0 0;font-size:.78rem}.profile-role-modal-backdrop{z-index:40;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.profile-role-modal{background:#fff;border:1px solid #d8e8ff;border-radius:12px;width:min(520px,100%);padding:1rem;box-shadow:0 18px 45px #0f172a47}.profile-role-modal-title{color:#0f2a4b;margin:0;font-size:1.05rem}.profile-role-warning{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:.7rem 0 .9rem;padding:.65rem .75rem;font-size:.86rem;line-height:1.55}.profile-role-modal-label{color:#35557f;margin-bottom:.35rem;font-size:.82rem;font-weight:700;display:block}.profile-role-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.9rem;display:flex}.profile-role-cancel{color:#35557f;cursor:pointer;background:#fff;border:1px solid #c7defd;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.profile-role-cancel:disabled{opacity:.55;cursor:not-allowed}.profile-row dt{color:#35557f;margin:0;font-weight:700}.profile-row dd{color:#132f53;overflow-wrap:anywhere;margin:0}.profile-empty{color:#35557f;margin:0}@media (width<=600px){.profile-row{grid-template-columns:1fr}}.class-mgmt-page{background:#f8fbff;min-height:100svh;padding:24px}.class-mgmt-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0;font-size:.82rem;font-weight:700}.class-mgmt-title{color:#0f172a;margin:10px 0 4px;font-size:clamp(1.4rem,4vw,2rem);line-height:1.15}.class-mgmt-subtitle{color:#334155;margin:0 0 20px;font-size:.9rem}.class-mgmt-tabs{border-bottom:2px solid #dbeafe;gap:4px;margin-bottom:20px;display:flex}.class-mgmt-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.class-mgmt-tab--active{color:#1d4ed8;border-bottom-color:#1d4ed8}.class-mgmt-section-label{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin:0 0 10px;font-size:.82rem;font-weight:700}.assignment-form{background:#fff;border:1px solid #dbeafe;border-radius:12px;flex-direction:column;gap:12px;max-width:560px;margin-bottom:24px;padding:16px;display:flex}.assignment-form label{color:#334155;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.assignment-form input,.assignment-form select{color:#0f172a;background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;outline:none;padding:8px 10px;font-size:.9rem}.assignment-form input:focus,.assignment-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.assignment-standards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;display:grid}.assignment-standard-check{color:#0f172a;cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.assignment-form-actions{gap:8px;display:flex}.assignment-create-layout{grid-template-columns:minmax(280px,400px) 1fr;align-items:stretch;gap:16px;margin-bottom:24px;display:grid}.assignment-create-layout .assignment-form{max-width:none;height:100%;margin-bottom:0}.assignment-preview-panel{background:#fff;border:1px solid #dbeafe;border-radius:12px;flex-direction:column;height:100%;padding:16px;display:flex}.assignment-preview-title{color:#0f172a;margin:10px 0 0;font-size:1.05rem;font-weight:700}.assignment-preview-row{color:#475569;justify-content:space-between;align-items:baseline;gap:10px;margin:8px 0 0;font-size:.85rem;display:flex}.assignment-preview-row strong{color:#0f172a}.assignment-preview-standards-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.assignment-preview-standard-tab{color:#1e3a8a;cursor:pointer;background:#f8fbff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700}.assignment-preview-standard-tab--active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.assignment-preview-problem-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;margin-top:12px;padding:12px}.assignment-preview-problem-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:.72rem;font-weight:700}.assignment-preview-problem-question{color:#0f172a;margin:6px 0 0;font-size:.9rem}.assignment-preview-attempts{color:#475569;margin:8px 0 0;font-size:.8rem}.assignment-preview-answer-row{align-items:center;gap:8px;margin-top:8px;display:flex}.assignment-preview-answer-input{color:#0f172a;background:#fff;border:1px solid #bfdbfe;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:.88rem}.assignment-preview-answer-input--math{min-height:38px}.assignment-preview-feedback{margin:8px 0 0;font-size:.82rem;font-weight:600}.assignment-preview-feedback--success{color:#15803d}.assignment-preview-feedback--error{color:#b91c1c}.assignment-preview-standards{color:#334155;gap:4px;margin:10px 0 0;padding-left:18px;font-size:.84rem;display:grid}.assignment-preview-empty{color:#94a3b8;margin:10px 0 0;font-size:.84rem}@media (width<=980px){.assignment-create-layout{grid-template-columns:1fr}.assignment-create-layout .assignment-form,.assignment-preview-panel{height:auto}}.assignment-list-items{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.assignment-list-item{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.assignment-list-item h3{color:#0f172a;margin:0 0 2px;font-size:.95rem}.assignment-list-item p{color:#64748b;margin:0;font-size:.8rem}.analytics-table-wrap{margin-bottom:20px;overflow-x:auto}.analytics-table{border-collapse:collapse;width:100%;font-size:.85rem}.analytics-table th,.analytics-table td{text-align:left;white-space:nowrap;border:1px solid #dbeafe;padding:8px 12px}.analytics-table th{color:#1e3a8a;background:#eff6ff;font-weight:700}.analytics-table td{color:#0f172a}.analytics-table tr:nth-child(2n) td{background:#f8fbff}.analytics-empty{color:#94a3b8;margin:0;font-size:.85rem}.student-progress-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.student-progress-actions{align-items:center;gap:14px;display:flex}.student-progress-actions__danger{border-left:1px solid #bfdbfe;padding-left:12px}.student-progress-select{background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;padding:6px 10px;font-size:.9rem}.student-progress-summary{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;margin-bottom:16px;padding:14px 16px}.student-progress-summary__title{color:#0f172a;margin:0;font-size:1rem}.student-progress-summary__copy{color:#475569;margin:6px 0 0;font-size:.84rem}.student-progress-summary__meta{gap:6px;margin-top:10px;display:grid}.student-progress-summary__meta-line{color:#334155;margin:0;font-size:.82rem}.student-progress-summary__late-list{gap:2px;margin:4px 0 0;padding-left:18px;display:grid}.student-progress-student-cell,.student-progress-standard-cell,.student-progress-total-cell{flex-direction:column;gap:2px;display:flex}.student-progress-student-name{color:#0f172a;font-weight:700}.student-progress-student-email,.student-progress-standard-attempts{color:#64748b;font-size:.75rem}.completion-badge{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:600;display:inline-block}.completion-badge--complete{color:#15803d;background:#dcfce7}.completion-badge--late{color:#a16207;background:#fef9c3}.completion-badge--incomplete{color:#64748b;background:#f1f5f9}.completion-badge--past-late{color:#b91c1c;background:#fee2e2}.late-policy-section{flex-direction:column;gap:8px;display:flex}.late-policy-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.late-policy-add-btn{padding:4px 10px;font-size:.78rem}.late-policy-empty{color:#94a3b8;margin:0;font-size:.78rem}.late-policy-row{background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:8px 10px;display:flex}.late-policy-label{color:#475569;flex-direction:column;flex:1;gap:3px;min-width:120px;font-size:.78rem;font-weight:600;display:flex}.late-policy-label--date{flex:2 260px;min-width:240px}.late-policy-label--credit{flex:none;min-width:110px}.late-policy-date,.late-policy-credit{background:#fff;border:1px solid #bfdbfe;border-radius:6px;width:100%;padding:5px 8px;font-size:.85rem}.late-policy-credit{width:64px}.late-policy-credit-row{align-items:center;gap:4px;display:flex}.late-policy-pct{color:#475569;font-size:.85rem}.late-policy-remove-btn{color:#ef4444;border-color:#fca5a5;align-self:flex-end;padding:4px 8px;font-size:.75rem}.cm-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.cm-btn:hover:not(:disabled),.cm-btn:focus-visible:not(:disabled){filter:brightness(.97);transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1f}.cm-btn:focus-visible:not(:disabled){outline-offset:2px;outline:2px solid #60a5fa}.cm-btn:disabled{opacity:.5;cursor:not-allowed}.cm-btn__icon{line-height:1;display:inline-flex}.cm-btn__icon--pencil{transform:rotate(135deg)}.cm-btn--primary{color:#fff;background:#1d4ed8}.cm-btn--secondary{color:#1e3a8a;background:#e0e7ff}.cm-btn--danger{color:#dc2626;background:#fee2e2}.cm-btn--ghost{color:#1d4ed8;background:0 0;text-decoration:none}.privacy-policy-page{background:#f8fbff;min-height:calc(100svh - 57px);padding:24px}.privacy-policy-shell{background:#fff;border:1px solid #bfdbfe;border-radius:14px;width:min(900px,100%);margin:0 auto;padding:32px;box-shadow:0 8px 30px #007aff24}.privacy-back-button{color:#1e3a8a;cursor:pointer;background:0 0;border:none;margin-bottom:16px;font-size:.9rem;font-weight:700;transition:color .2s}.privacy-back-button:hover{color:#0b57d0}.privacy-back-button:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.privacy-policy-shell h1{color:#0f172a;margin:0 0 8px;font-size:2rem;line-height:1.1}.last-updated{color:#64748b;margin:0 0 24px;font-size:.9rem}.privacy-policy-shell section{margin-top:20px}.privacy-policy-shell h2{color:#1e3a8a;margin:0 0 12px;font-size:1.3rem;line-height:1.2}.privacy-policy-shell p{color:#334155;margin:0 0 12px;line-height:1.6}.privacy-policy-shell ul{color:#334155;margin:0 0 12px;padding-left:20px;line-height:1.8}.privacy-policy-shell li{margin:0 0 8px}.privacy-policy-shell strong{color:#1e3a8a;font-weight:700}@media (width<=700px){.privacy-policy-page{padding:14px}.privacy-policy-shell{padding:20px}.privacy-policy-shell h1{font-size:1.5rem}.privacy-policy-shell h2{font-size:1.1rem}}
