/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}.table-row{display:table-row}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.personal-card-add{cursor:pointer;font-weight:800;transition:all .15s;color:#4268cd!important;background:#eef3ff!important;border:1px solid #cfdaf0!important;border-radius:10px!important;flex:0 0 34px!important;width:34px!important;height:34px!important;font-size:18px!important}:is(.personal-card-add:hover,.personal-card-add:focus-visible){outline:none;color:#fff!important;background:#5479df!important}.personal-card-symbol{color:#5479df;background:#eef3ff;border-radius:14px;place-items:center;width:44px;height:44px;margin-bottom:16px;font-size:25px;font-weight:800;display:grid}.student-card-creator label{flex-direction:column;gap:7px;margin:14px 0;font-size:11px;font-weight:750;display:flex}.student-card-creator textarea,.student-card-creator input{color:#1b263b;width:100%;font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:11px;outline:none;padding:12px 13px}.student-card-creator textarea{resize:vertical;min-height:88px}.student-card-creator textarea:focus,.student-card-creator input:focus{border-color:#5479df;box-shadow:0 0 0 3px #5479df18}.teacher-login>div:first-child{flex-direction:column;gap:3px;display:flex}.teacher-login>div:first-child strong{color:var(--ink);font-size:11px}.teacher-login>div:first-child small{font-size:9px}.teacher-access-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.teacher-access-actions button{font:inherit;cursor:pointer;text-align:right;background:0 0;border:0;padding:0}.teacher-access-actions button:disabled{opacity:.55;cursor:not-allowed}.teacher-owner-button{color:var(--blue);font-weight:750}.teacher-request-button{color:#778296;text-underline-offset:2px;font-size:10px;text-decoration:underline}.teacher-owner-label{color:var(--blue);font-size:10px;font-weight:750}.teacher-access-message{color:#8a6328;background:#fff3dd;border:1px solid #f2dfb8;border-radius:9px;margin-top:10px;padding:10px 12px;font-size:11px;line-height:1.45}.teacher-password-note{color:#8d96a5;margin-top:9px;font-size:9px;line-height:1.45;display:block}.teacher-provisional-button{color:#778296;font-size:10px}.password-modal{width:min(500px,100%)}.password-modal label{flex-direction:column;gap:7px;margin:15px 0;font-size:11px;font-weight:750;display:flex}.password-modal input{color:#1b263b;width:100%;font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:11px;outline:none;padding:12px 13px}.password-modal input:focus{border-color:#5479df;box-shadow:0 0 0 3px #5479df18}.password-lock{color:#5479df;background:#eef3ff;border-radius:14px;place-items:center;width:44px;height:44px;margin-bottom:16px;font-size:12px;font-weight:850;display:grid}.password-guidance{color:#7e8999;margin:-3px 0 15px;line-height:1.5;display:block}.password-loading{color:#718096;align-items:center;gap:10px;padding:22px 0;font-size:11px;display:flex}.password-loading .loader{width:20px;height:20px}.password-modal .form-error{margin:13px 0}.password-modal .modal-actions{margin-top:20px}.teacher-login.simple{gap:8px;display:grid}.teacher-login.simple .teacher-owner-button{width:100%;color:var(--blue);font:inherit;cursor:pointer;background:#f7f9ff;border:1px solid #d8e0ef;border-radius:11px;padding:12px 14px;font-weight:800}:is(.teacher-login.simple .teacher-owner-button:hover,.teacher-login.simple .teacher-owner-button:focus-visible){background:#edf2ff;border-color:#bfcdf0;outline:none}.teacher-login.simple .teacher-provisional-button{cursor:pointer;background:0 0;border:0}.teacher-account-request-link{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:21px;padding-top:17px;font-size:10px;display:flex}.teacher-account-request-link button{color:var(--blue);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.teacher-request-modal{width:min(600px,100%)}.teacher-request-grid{grid-template-columns:1fr 1fr;gap:13px;margin:21px 0 13px;display:grid}.teacher-request-grid label{flex-direction:column;gap:7px;font-size:10px;font-weight:800;display:flex}.teacher-request-grid input{width:100%;color:var(--ink);font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:10px;outline:none;padding:12px 13px}.teacher-request-grid input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5479df18}.teacher-request-wide{grid-column:1/3}.request-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.teacher-request-privacy{color:var(--muted);margin:12px 0 18px;font-size:9px;line-height:1.5;display:block}.teacher-request-modal .modal-actions{margin-top:18px}.nav-request-badge{background:var(--coral);color:#fff;border-radius:10px;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:8px;font-weight:900;display:inline-grid}.teacher-request-alert{text-align:left;width:calc(100% - 56px);max-width:1184px;color:var(--ink);cursor:pointer;background:linear-gradient(100deg,#faf7ff,#fff);border:1px solid #e5d9f7;border-radius:14px;grid-template-columns:30px auto 1fr auto;align-items:center;gap:10px;margin:16px auto -14px;padding:12px 15px;display:grid}.teacher-request-alert>span{width:28px;height:28px;color:var(--purple);background:#efe9ff;border-radius:9px;place-items:center;font-weight:900;display:grid}.teacher-request-alert strong{font-size:11px}.teacher-request-alert small{color:var(--muted);font-size:9px}.teacher-request-alert em{color:var(--purple);font-size:10px;font-style:normal;font-weight:850}.teacher-request-total{color:var(--purple);background:#efeaff;border-radius:11px;padding:9px 12px;font-size:10px;font-weight:850}.teacher-request-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-request-card{border:1px solid var(--line);border-left:4px solid var(--purple);background:#fff;border-radius:15px;padding:18px}.teacher-request-card.reviewed{opacity:.72;border-left-color:#b8c0cd}.teacher-request-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-request-card header>div{align-items:center;gap:10px;display:flex}.teacher-request-avatar{width:38px;height:38px;color:var(--purple);background:#f0ecff;border-radius:12px;place-items:center;font-size:11px;font-weight:900;display:grid}.teacher-request-card h3{margin:0 0 4px;font-size:13px}.teacher-request-card header small{color:var(--muted);font-size:8px}.teacher-request-card header em{color:var(--purple);background:#efeaff;border-radius:10px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:850}.teacher-request-card.reviewed header em{color:#77818f;background:#edf0f4}.teacher-request-card dl{background:#f8f9fb;border-radius:11px;margin:17px 0;padding:3px 12px}.teacher-request-card dl div{border-top:1px solid var(--line);grid-template-columns:130px 1fr;gap:10px;padding:10px 0;display:grid}.teacher-request-card dl div:first-child{border:0}.teacher-request-card dt{color:var(--muted);font-size:8px}.teacher-request-card dd{overflow-wrap:anywhere;margin:0;font-size:10px;font-weight:750}.teacher-request-card dd a{color:var(--blue)}.teacher-request-card>button{color:var(--purple);cursor:pointer;background:#f0ecff;border:0;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:850}.reviewed-requests{margin-top:36px}@media (max-width:750px){.teacher-access-actions{align-items:flex-start}.teacher-access-actions button{text-align:left}}@media (max-width:650px){.teacher-request-grid,.teacher-request-list{grid-template-columns:1fr}.teacher-request-wide{grid-column:auto}.teacher-request-alert{grid-template-columns:30px 1fr auto;width:calc(100% - 32px);margin-bottom:0}.teacher-request-alert small{grid-column:2/4}.teacher-request-card dl div{grid-template-columns:1fr;gap:4px}.teacher-requests-page .title-row{align-items:flex-start;gap:15px}.teacher-request-total{white-space:nowrap}}@media (max-width:600px){.topbar .avatar{display:block!important}}:root{--ink:#1b263b;--muted:#718096;--line:#e7ebf1;--paper:#f7f8fb;--navy:#18243b;--coral:#f07167;--blue:#5479df;--green:#4fa88b;--purple:#7c68d8;--amber:#e7a83e}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;margin:0}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:36px;height:72px;padding:0 4.5%;display:flex;position:sticky;top:0}.logo{align-items:center;gap:10px;font-size:22px;display:flex}.logo span{background:var(--coral);color:#fff;border-radius:11px;place-items:center;width:35px;height:35px;font-size:23px;font-weight:800;display:grid}.logo strong{letter-spacing:-.8px}.desktop-nav{align-items:center;gap:24px;height:100%;margin:auto;display:flex}.desktop-nav button{color:#778296;cursor:pointer;background:0 0;border:0;height:100%;font-weight:600;position:relative}.desktop-nav button.active{color:var(--ink)}.desktop-nav button.active:after{content:"";background:var(--coral);border-radius:3px;height:3px;position:absolute;bottom:0;left:0;right:0}.role-switch{background:#f0f2f6;border-radius:10px;padding:3px;display:flex}.role-switch button{color:#778296;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.role-switch button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 5px #d8dce4}.avatar{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:12px;width:38px;height:38px;font-weight:800}.page{max-width:1240px;margin:auto;padding:44px 28px 70px}.eyebrow{letter-spacing:1.5px;font-weight:800;color:var(--coral)!important;margin:0 0 9px!important;font-size:11px!important}.welcome-row,.title-row{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.welcome-row h1,.title-row h1{letter-spacing:-1px;margin:0 0 8px;font-size:30px}.welcome-row p,.title-row p{color:var(--muted);margin:0;font-size:14px}.streak{background:#fff4e9;border-radius:14px;align-items:center;gap:10px;padding:12px 18px;display:flex}.streak>span{font-size:25px}.streak div{flex-direction:column;display:flex}.streak small{color:#9a7653;margin-top:2px}.student-grid{grid-template-columns:minmax(0,1.6fr) minmax(290px,.72fr);gap:28px;display:grid}.review-hero{background:var(--navy);color:#fff;border-radius:25px;align-items:center;gap:38px;min-height:235px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #1b29402b}.review-hero:after{content:"";border:45px solid #ffffff08;border-radius:50%;width:230px;height:230px;position:absolute;top:-90px;right:-70px}.orb{outline:4px solid var(--coral);outline-offset:-7px;background:#22314c;border:12px solid #ffffff19;border-radius:50%;flex-direction:column;flex:0 0 144px;justify-content:center;align-items:center;width:144px;height:144px;display:flex}.orb span{font-size:47px;font-weight:750;line-height:1}.orb small{color:#cbd2df;margin-top:5px}.review-copy{z-index:2;position:relative}.pill{letter-spacing:1px;color:#ffada6;background:#ffffff12;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800}.review-copy h2{letter-spacing:-.7px;margin:19px 0 7px;font-size:25px}.review-copy p{color:#bbc3d1;font-size:13px}.review-copy p b{color:#fff}.primary{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:11px;padding:12px 17px;font-weight:750;box-shadow:0 6px 14px #f0716738}.review-copy .primary{margin-top:17px;padding:13px 20px}.review-copy .primary span{margin-left:22px}.section-heading{justify-content:space-between;align-items:end;margin:30px 0 14px;display:flex}.section-heading h2{margin:0 0 3px;font-size:17px}.section-heading p{color:var(--muted);margin:0;font-size:12px}.section-heading button,.attention-card>button{color:#5474c5;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.deck-list{flex-direction:column;gap:10px;display:flex}.deck-row{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:15px;padding:14px 16px;display:flex}.deck-icon{color:#fff;border-radius:10px 10px 10px 3px;place-items:center;width:43px;height:47px;font-size:11px;font-weight:850;display:grid}.deck-icon.coral{background:var(--coral)}.deck-icon.blue{background:var(--blue)}.deck-icon.green{background:var(--green)}.deck-info{flex:1}.deck-info h3{margin:0 0 4px;font-size:14px}.deck-info p{color:var(--muted);margin:0 0 9px;font-size:11px}.thin-bar{background:#edf0f4;border-radius:5px;height:4px;overflow:hidden}.thin-bar span{background:var(--blue);border-radius:5px;height:100%;display:block}.deck-due{text-align:right;flex-direction:column;display:flex}.deck-due strong{font-size:18px}.deck-due span{color:var(--muted);font-size:10px}.deck-row>button{color:#58677d;cursor:pointer;background:#f2f4f7;border:0;border-radius:8px;width:30px;height:30px}.side-column{flex-direction:column;gap:16px;display:flex}.side-column>article,.chart-card,.attention-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:20px}.exam-card{grid-template-columns:53px 1fr;gap:5px 15px;display:grid!important}.exam-date{color:var(--purple);background:#f0edff;border-radius:11px;flex-direction:column;grid-row:1/2;justify-content:center;align-items:center;display:flex}.exam-date strong{font-size:23px}.exam-date span{font-size:9px;font-weight:800}.pill.purple{color:var(--purple);background:#f1effc}.exam-card h3{margin:11px 0 3px;font-size:14px}.exam-card p{color:var(--muted);margin:0;font-size:10px}.exam-bar{background:#eeeef3;border-radius:6px;grid-column:1/3;height:5px;margin-top:13px}.exam-bar span{background:var(--purple);border-radius:6px;height:100%;display:block}.exam-footer{color:var(--muted);grid-column:1/3;justify-content:space-between;font-size:10px;display:flex}.exam-footer strong{color:var(--purple)}.card-title{justify-content:space-between;align-items:flex-start;display:flex}.card-title h3,.card-title h2{margin:0;font-size:14px}.card-title p{color:var(--muted);margin:3px 0;font-size:11px}.card-title>span{color:var(--green)}.big-stat{margin-top:15px;font-size:37px;font-weight:800}.big-stat span{font-size:20px}.memory-card>p{color:var(--muted);margin:0;font-size:11px}.mini-bars{align-items:flex-end;gap:7px;height:52px;margin-top:16px;display:flex}.mini-bars span{background:#d7e8e2;border-radius:4px 4px 1px 1px;flex:1}.mini-bars span.peak{background:var(--green)}.days{color:#9aa3b1;justify-content:space-around;margin-top:5px;font-size:8px;display:flex}.retention-card{grid-template-columns:1fr auto;display:grid!important}.retention-card h3{margin:0;font-size:13px}.retention-card p{color:var(--muted);margin:4px 0;font-size:10px}.retention-card>strong{color:var(--blue);font-size:20px}.retention-card input{width:100%;accent-color:var(--blue);grid-column:1/3;margin-top:14px}.range-labels{color:var(--muted);grid-column:1/3;justify-content:space-between;font-size:8px;display:flex}.toast{background:var(--navy);color:#fff;z-index:60;border-radius:11px;padding:12px 17px;font-size:13px;animation:.2s slidein;position:fixed;top:84px;right:25px;box-shadow:0 10px 30px #0d172a44}@keyframes slidein{0%{opacity:0;transform:translateY(-10px)}}.review-screen{flex-direction:column;align-items:center;max-width:900px;min-height:calc(100vh - 72px);margin:auto;padding:34px 25px 70px;display:flex}.review-top{width:100%;color:var(--muted);grid-template-columns:100px 1fr 70px;align-items:center;gap:24px;font-size:12px;display:grid}.back-button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;font-weight:700}.review-progress{background:#e4e8ef;border-radius:8px;height:7px}.review-progress span{background:var(--coral);border-radius:8px;height:100%;display:block}.review-meta{width:min(620px,100%);color:var(--muted);justify-content:space-between;margin:50px 0 12px;font-size:11px;display:flex}.flashcard{cursor:pointer;width:min(620px,100%);min-height:340px;color:var(--ink);background:#fff;border:1px solid #e2e6ed;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;padding:45px;display:flex;box-shadow:0 15px 45px #25324a12}.flashcard strong{letter-spacing:-.5px;max-width:460px;font-size:25px;line-height:1.35}.flashcard small{color:#9ca4b1;margin-top:70px}.flashcard.revealed{min-height:410px}.flashcard p{max-width:480px;margin:8px 0;font-size:18px;line-height:1.5}.card-label{color:var(--coral);letter-spacing:1.4px;margin-bottom:16px;font-size:10px;font-weight:850}.divider{background:var(--line);width:90%;height:1px;margin:35px 0 25px}.rating-area{text-align:center;width:min(620px,100%)}.rating-area>p{color:var(--muted);font-size:12px}.ratings{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.ratings button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;gap:4px;padding:10px 3px;display:flex}.ratings small{color:var(--muted)}.ratings .again strong{color:#d86161}.ratings .hard strong{color:#d18d38}.ratings .good strong{color:#4c8c79}.ratings .easy strong{color:#5479df}.title-row select,.teacher-actions select,.teacher-actions>button:not(.primary),.title-row>select,.title-row>button:not(.primary){border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:11px 14px}.teacher-actions{gap:10px;display:flex}.search-row{gap:8px;margin-bottom:22px;display:flex}.search-row input{border:1px solid var(--line);background:#fff;border-radius:11px;flex:1;min-width:180px;padding:12px 15px}.search-row button{border:1px solid var(--line);color:#647085;background:#fff;border-radius:10px;padding:8px 13px}.deck-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.deck-card{border:1px solid var(--line);border-top:4px solid var(--coral);background:#fff;border-radius:16px;padding:23px}.deck-card.blue{border-top-color:var(--blue)}.deck-card.green{border-top-color:var(--green)}.deck-card.purple{border-top-color:var(--purple)}.deck-source{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.deck-card h2{margin:13px 0 7px;font-size:18px}.deck-card p{color:var(--muted);font-size:12px}.deck-card .mastery{justify-content:space-between;margin:26px 0 8px;font-size:11px;display:flex}.deck-card>button{width:100%;color:var(--ink);background:#f4f6f9;border:0;border-radius:9px;margin-top:20px;padding:10px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px}.stat-top{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.stat-top i{color:var(--green);font-style:normal}.stat-card>strong{margin:11px 0 4px;font-size:27px;display:block}.stat-card>small{color:var(--green)}.stat-card.alert small,.stat-card.alert .stat-top i{color:#d26b61}.analytics-grid,.teacher-grid{grid-template-columns:1.7fr 1fr;gap:18px;display:grid}.chart-card h2,.attention-card h2{margin:0;font-size:15px}.chart-card>p,.attention-card>p{color:var(--muted);font-size:11px}.line-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:10px;height:220px;margin-top:30px;display:flex;position:relative}.line-chart i{opacity:.9;background:linear-gradient(#5579df,#c7d3f6);border-radius:4px 4px 0 0;flex:1}.target-line{border-top:1px dashed var(--coral);z-index:2;position:absolute;top:22%;left:0;right:0}.target-line span{color:var(--coral);font-size:8px;position:absolute;top:-17px;right:0}.future-bars{justify-content:space-around;align-items:flex-end;height:220px;display:flex}.future-bars div{flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.future-bars strong{font-size:9px}.future-bars span{background:#8da4e9;border-radius:4px 4px 0 0;width:19px}.future-bars small{color:var(--muted)}.class-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:5px;height:210px;padding-top:20px;display:flex}.class-chart span{background:#dce3f5;border-radius:3px 3px 0 0;flex:1}.class-chart span.recent{background:var(--blue)}.axis{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:9px;display:flex}.count{background:#ffe9e6;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;color:var(--coral)!important}.alert-item{border-bottom:1px solid var(--line);gap:10px;padding:15px 0;display:flex}.alert-item>span{border-radius:8px;place-items:center;width:27px;height:27px;font-weight:700;display:grid}.alert-item.red>span{color:#d45c56;background:#feecea}.alert-item.amber>span{color:#c98b2d;background:#fff3dd}.alert-item.blue>span{color:#5276d5;background:#eaf0ff}.alert-item strong{font-size:12px}.alert-item p{color:var(--muted);margin:3px 0;font-size:10px}.attention-card>button{margin-top:15px}.student-table{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.table-row{border-top:1px solid var(--line);grid-template-columns:1.4fr .8fr .8fr .7fr 1fr 30px;align-items:center;gap:15px;min-height:62px;padding:0 18px;font-size:11px;display:grid}.table-row:first-child{border-top:0}.table-head{color:#8b94a2;background:#fafbfc;min-height:38px;font-size:9px;font-weight:800}.student-name{align-items:center;gap:10px;display:flex}.student-name>i{background:#edf0f5;border-radius:9px;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.table-row>span>b{font-size:12px}.row-bar{background:#edf0f3;width:55px;height:3px;margin-top:4px;display:block}.row-bar i{background:var(--green);height:100%;display:block}.table-row em{border-radius:10px;padding:5px 8px;font-size:9px;font-style:normal}.table-row em.good{color:#38856f;background:#e9f6f1}.table-row em.warn{color:#a97929;background:#fff3dd}.table-row em.bad{color:#c75651;background:#fdebe9}.table-row>button{background:0 0;border:0}.privacy-note,.version-note{color:#4c638d;background:#eef3ff;border:1px solid #dce5fa;border-radius:13px;margin-bottom:18px;padding:13px 16px;font-size:11px}.version-note{justify-content:space-between;align-items:center;display:flex}.version-note strong{color:var(--ink);font-size:13px}.version-note p{margin:5px 0 0}.version-note>span{background:#dce7ff;border-radius:10px;padding:7px 10px}.teacher-deck{min-height:220px}.tag-row{gap:5px;margin-top:20px;display:flex}.tag-row span{background:#f0f2f5;border-radius:8px;padding:5px 8px;font-size:9px}.deck-actions{gap:8px;margin-top:25px;display:flex}.deck-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;flex:1;padding:9px;font-weight:700}.deck-actions button.dark{background:var(--navy);color:#fff}.exam-detail{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:center;gap:22px;margin-bottom:20px;padding:22px;display:flex}.calendar-block{width:74px;height:76px;color:var(--purple);background:#f0edff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;display:flex}.calendar-block strong{font-size:30px}.calendar-block span{font-size:9px;font-weight:800}.exam-main{flex:1}.exam-main h2{margin:10px 0 4px}.exam-main>p{color:var(--muted);font-size:11px}.exam-stats{color:var(--muted);gap:25px;margin-top:15px;font-size:10px;display:flex}.exam-stats b{color:var(--ink)}.exam-detail>button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 14px}.distribution{margin-top:25px}.distribution>div{grid-template-columns:1fr 30px 110px;align-items:center;gap:10px;margin:17px 0;display:grid}.distribution span{background:var(--blue);border-radius:3px;height:13px}.distribution small{color:var(--muted)}.check-row{border-top:1px solid var(--line);gap:12px;padding:15px 0;display:flex}.check-row:first-of-type{margin-top:14px}.check-row>span{width:24px;height:24px;color:var(--green);background:#e7f5f0;border-radius:50%;place-items:center;display:grid}.check-row b{font-size:11px}.check-row p{color:var(--muted);margin:3px 0;font-size:10px}@media (max-width:900px){.desktop-nav{display:none}.topbar{padding:0 20px}.role-switch{margin-left:auto}.student-grid,.teacher-grid,.analytics-grid{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,1fr);display:grid}.retention-card{grid-column:1/3}.stats-grid,.deck-grid{grid-template-columns:repeat(2,1fr)}.table-row{grid-template-columns:1.4fr .8fr .7fr 1fr}.table-row>span:nth-child(4),.table-row>button{display:none}}@media (max-width:600px){.topbar{height:64px}.logo strong{display:none}.page{padding:27px 16px 80px}.welcome-row,.title-row{align-items:flex-start;gap:18px}.welcome-row h1,.title-row h1{font-size:25px}.streak{padding:9px}.streak small{display:none}.review-hero{gap:18px;min-height:205px;padding:25px 20px}.orb{border-width:8px;flex-basis:92px;width:92px;height:92px}.orb span{font-size:32px}.review-copy h2{font-size:19px}.review-copy p{line-height:1.5}.review-copy .primary{margin-top:8px}.section-heading{align-items:center}.deck-row{padding:12px}.deck-due{display:none}.side-column{display:flex}.retention-card{display:grid!important}.teacher-actions{flex-direction:column}.stats-grid{gap:9px}.stat-card{padding:14px}.stat-card>strong{font-size:21px}.deck-grid{grid-template-columns:1fr}.search-row{overflow:auto}.search-row input{min-width:220px}.table-row{grid-template-columns:1.5fr .8fr 1fr;padding:0 12px}.table-row>span:nth-child(3),.table-row>span:nth-child(4){display:none}.exam-detail{flex-wrap:wrap;align-items:flex-start}.exam-main{min-width:200px}.exam-stats{flex-direction:column;gap:5px}.ratings{grid-template-columns:repeat(2,1fr)}.flashcard{min-height:320px;padding:28px 20px}.flashcard strong{font-size:21px}.review-top{grid-template-columns:70px 1fr 45px;gap:10px}.role-switch button{padding:6px}.avatar{display:none}}.splash{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.splash p{color:var(--muted);font-size:13px}.loader{border:3px solid #e3e7ed;border-top-color:var(--coral);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.secure-role{align-items:center;gap:10px;margin-left:auto;display:flex}.secure-role>span{text-transform:uppercase;letter-spacing:.7px;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.secure-role>span.teacher{color:var(--blue);background:#edf1ff}.secure-role>span.student{color:#348069;background:#e8f5f0}.secure-role small{color:var(--muted)}.logout{color:#6e7888;cursor:pointer;background:0 0;border:0}.subnav{border-bottom:1px solid var(--line);background:#fff;justify-content:center;gap:32px;height:48px;display:flex}.subnav button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:650;position:relative}.subnav button.active{color:var(--ink)}.subnav button.active:after{content:"";background:var(--coral);border-radius:3px;height:3px;position:absolute;bottom:0;left:0;right:0}.login-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--navy);color:#fff;flex-direction:column;justify-content:space-between;padding:55px 9%;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";border:50px solid #ffffff08;border-radius:50%;width:320px;height:320px;position:absolute}.login-brand:before{top:-180px;right:-180px}.login-brand:after{bottom:-240px;left:-210px}.login-brand .logo,.login-brand>div:nth-child(2){z-index:2;position:relative}.login-brand h1{letter-spacing:-2px;margin:25px 0 20px;font-size:48px;line-height:1.06}.login-brand p{color:#bdc6d4;max-width:470px;line-height:1.7}.login-proof{z-index:2;align-items:center;gap:15px;display:flex;position:relative}.login-proof i{color:#ffafa8;background:#ffffff12;border:1px solid #ffffff20;border-radius:16px;place-items:center;width:54px;height:54px;font-style:normal;font-weight:800;display:grid}.login-proof span{color:#bdc6d4;font-size:12px}.login-panel{place-items:center;padding:35px;display:grid}.login-card{width:min(420px,100%)}.login-card h2{letter-spacing:-.8px;margin:0 0 8px;font-size:29px}.login-card>p:not(.eyebrow){color:var(--muted);margin-bottom:28px;font-size:13px}.login-card label{flex-direction:column;gap:7px;margin:15px 0;font-size:11px;font-weight:750;display:flex}.login-card input{font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:11px;outline:none;padding:13px 14px}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5479df18}.login-submit{width:100%;margin-top:8px;padding:14px}.login-submit:disabled,.primary:disabled{opacity:.55;cursor:not-allowed}.form-error{color:#b84f49;background:#feeceb;border-radius:9px;padding:10px 12px;font-size:11px}.teacher-login{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:27px;padding-top:20px;font-size:11px;display:flex}.teacher-login a{color:var(--blue);font-weight:750;text-decoration:none}.privacy-copy{text-align:center;color:#9aa2af;margin-top:30px;line-height:1.5;display:block}.empty-setup{text-align:center;border:1px solid var(--line);background:#fff;border-radius:24px;max-width:590px;margin:10vh auto;padding:50px 30px;box-shadow:0 18px 50px #18243b0e}.setup-icon{background:var(--coral);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 24px;font-size:32px;font-weight:800;display:grid}.empty-setup h1{margin:0 0 12px;font-size:29px}.empty-setup>p:not(.eyebrow){color:var(--muted);margin:0 auto 25px;line-height:1.65}.modal-backdrop{z-index:100;background:#15203699;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.credential-modal{background:#fff;border-radius:22px;width:min(470px,100%);padding:31px;box-shadow:0 25px 70px #0003}.modal-check{width:42px;height:42px;color:var(--green);background:#e5f5ef;border-radius:13px;place-items:center;margin-bottom:17px;font-weight:900;display:grid}.credential-modal h2{margin:0 0 7px}.credential-modal>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.5}.credential-modal dl{background:#f7f8fa;border-radius:13px;margin:20px 0;padding:5px 15px}.credential-modal dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 0;display:flex}.credential-modal dl div:last-child{border:0}.credential-modal dt{color:var(--muted);font-size:11px}.credential-modal dd{margin:0;font-weight:750}.modal-actions{gap:9px;display:flex}.modal-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;padding:11px;font-weight:700}.modal-actions button.primary{background:var(--coral);border-color:var(--coral)}.reset-access{color:var(--blue);cursor:pointer;font-size:18px!important}.retention-buttons{grid-column:1/3;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0 8px;display:grid}.retention-buttons button{border:1px solid var(--line);color:var(--muted);background:#f7f8fa;border-radius:8px;padding:8px;font-weight:750}.retention-buttons button.active{background:var(--blue);color:#fff;border-color:var(--blue)}@media (max-width:750px){.login-page{grid-template-columns:1fr}.login-brand{min-height:290px;padding:28px}.login-brand h1{margin:18px 0 10px;font-size:35px}.login-brand p{font-size:12px}.login-proof{display:none}.login-panel{padding:35px 22px}.secure-role small{display:none}.logout{font-size:11px}.subnav{justify-content:flex-start;padding:0 18px;overflow:auto}.empty-setup{margin:5vh 16px}.modal-actions{flex-direction:column}.teacher-login{flex-direction:column;align-items:flex-start;gap:8px}}.class-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.class-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:18px;min-height:220px;padding:21px;transition:all .18s}.class-card:hover{border-color:#bfcce9;transform:translateY(-2px);box-shadow:0 12px 30px #17233a0d}.class-card:has(.drop-hint:hover){border-color:var(--blue)}.class-card-top{justify-content:space-between;align-items:center;display:flex}.class-avatar{width:45px;height:45px;color:var(--blue);background:#e9eefc;border-radius:13px;place-items:center;font-weight:850;display:grid}.drop-hint{color:var(--blue);background:#eef3ff;border:1px dashed #aabce9;border-radius:8px;padding:7px 9px;font-size:9px}.class-card h2{margin:18px 0 5px;font-size:19px}.class-card>p{color:var(--muted);font-size:11px}.class-metrics{grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0;display:grid}.class-metrics span{text-align:center;color:var(--muted);background:#f7f8fa;border-radius:8px;padding:8px 5px;font-size:9px}.class-metrics b{color:var(--ink);font-size:14px;display:block}.class-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-top:13px;font-size:10px;display:flex}.class-footer button{color:var(--blue);background:0 0;border:0;font-weight:750}.class-actions{align-items:center;gap:7px;display:flex}.class-actions select{border:1px solid var(--line);max-width:145px;color:var(--navy);font:inherit;background:#fff;border-radius:8px;padding:7px 8px;font-size:9px;font-weight:700}.drag-guide{background:#eef3ff;border:1px solid #dce5fa;border-radius:14px;align-items:center;gap:14px;margin-top:22px;padding:15px 18px;display:flex}.drag-guide>span{color:var(--blue);font-size:23px}.drag-guide strong{font-size:12px}.drag-guide p{color:var(--muted);margin:4px 0;font-size:10px}.empty-setup.compact{box-shadow:none;margin:20px auto}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed #cfd6e1;border-radius:16px;padding:50px}.drop-table .table-row{transition:all .15s}.drop-table .table-row:not(.table-head):hover{background:#f7f9ff}.student-drop{color:var(--blue);text-align:center;border:1px dashed #b9c7e7;border-radius:7px;font-size:9px;padding:6px!important}.studio-layout{grid-template-columns:300px 1fr;gap:19px;display:grid}.deck-library{background:var(--navy);color:#fff;border-radius:18px;align-self:start;padding:18px}.studio-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.studio-heading h2{margin:0;font-size:15px}.studio-heading span{background:#ffffff17;border-radius:8px;padding:5px 8px;font-size:10px}.library-deck{color:#fff;text-align:left;cursor:grab;background:#ffffff08;border:1px solid #ffffff0e;border-radius:11px;grid-template-columns:20px 1fr 18px;gap:7px;width:100%;margin:8px 0;padding:12px 10px;display:grid}.library-deck:active{cursor:grabbing}.library-deck.selected{background:#ffffff12;border-color:#6f8ee2}.library-deck i{color:#7f8da4;font-style:normal}.library-deck div{flex-direction:column;gap:4px;display:flex}.library-deck strong{font-size:11px}.library-deck small{color:#aeb8c8;font-size:9px}.library-deck em{color:#9fb6f3;font-size:8px;font-style:normal}.drag-tip{color:#9aa8bd;margin:15px 5px 3px;font-size:9px;line-height:1.5}.studio-main{flex-direction:column;gap:17px;display:flex}.studio-forms{grid-template-columns:.75fr 1.25fr;gap:17px;display:grid}.creation-card{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;align-self:start;gap:12px;padding:21px;display:flex}.creation-card h2{margin:0 0 5px;font-size:16px}.step-number{width:26px;height:26px;color:var(--blue);background:#eef2ff;border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.creation-card label,.class-creator label{flex-direction:column;gap:6px;font-size:10px;font-weight:750;display:flex}.creation-card input,.creation-card select,.creation-card textarea,.class-creator input{font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:9px;outline:none;padding:10px 11px}.creation-card textarea{resize:vertical;min-height:75px}.creation-card input:focus,.creation-card textarea:focus,.class-creator input:focus{border-color:var(--blue)}.distribution-zone{border:1px solid var(--line);background:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.distribution-zone>div:first-child{grid-template-columns:34px 1fr;column-gap:10px;display:grid}.distribution-zone>div:first-child>span{width:34px;height:34px;color:var(--green);background:#e9f5f1;border-radius:10px;grid-row:1/3;place-items:center;display:grid}.distribution-zone h3{margin:0;font-size:13px}.distribution-zone p{color:var(--muted);margin:4px 0;font-size:10px}.distribution-steps{gap:6px;display:flex}.distribution-steps span{color:#667286;background:#f2f4f7;border-radius:7px;padding:7px;font-size:8px}.access-directory{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.access-head,.access-row{grid-template-columns:50px 1fr .7fr .8fr 1.1fr;align-items:center;gap:15px;padding:0 18px;display:grid}.access-head{color:#8b94a2;background:#f8f9fb;min-height:39px;font-size:9px;font-weight:800}.access-row{border-top:1px solid var(--line);min-height:60px;font-size:11px}.access-row i{background:#edf0f5;border-radius:9px;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.access-row em{border-radius:10px;width:max-content;padding:5px 8px;font-size:9px;font-style:normal}.access-row em.temporary{color:#a97929;background:#fff3dd}.access-row em.active{color:#38856f;background:#e9f6f1}.access-row button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:8px;padding:8px;font-size:9px;font-weight:700}.class-creator>label{margin:16px 0}.form-pair{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.credential-sheet{width:min(650px,100%)}.credential-list{border:1px solid var(--line);border-radius:12px;max-height:330px;margin:18px 0;overflow:auto}.credential-list>div{border-top:1px solid var(--line);justify-content:space-between;padding:10px 13px;font-size:11px;display:flex}.credential-list>div:first-child{border-top:0}.credential-list span{font-family:var(--font-geist-mono);color:var(--blue)}.modal-actions.triple button{min-width:120px}.quick-palette{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;display:flex;overflow:auto}.quick-palette>span{color:var(--muted);white-space:nowrap;margin-right:5px;font-size:9px;font-weight:800}.quick-palette button{color:var(--ink);cursor:grab;white-space:nowrap;background:#f7f9fd;border:1px solid #dbe2ef;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700}.quick-palette button:active{cursor:grabbing}.quick-palette button small{color:#728099;background:#e5eaf4;border-radius:7px;margin-left:7px;padding:2px 5px}.quick-palette em{color:var(--muted);font-size:10px;font-style:normal}@media (max-width:950px){.class-grid{grid-template-columns:repeat(2,1fr)}.studio-layout{grid-template-columns:1fr}.deck-library{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.studio-heading,.drag-tip{grid-column:1/3}.library-deck{margin:0}.studio-forms{grid-template-columns:1fr 1fr}}@media (max-width:650px){.class-grid,.studio-forms{grid-template-columns:1fr}.deck-library{display:block}.studio-heading,.drag-tip{grid-column:auto}.library-deck{margin:8px 0}.distribution-zone{flex-direction:column;align-items:flex-start}.distribution-steps{flex-direction:column}.access-directory{overflow:auto}.access-head,.access-row{min-width:620px}.form-pair{grid-template-columns:1fr}.modal-actions.triple{flex-direction:column}.class-card{min-height:auto}}.csv-import-card{background:linear-gradient(145deg,#fff,#f6f8ff);border:1px solid #dbe3f5;border-radius:18px;padding:21px;box-shadow:0 10px 26px #263a6d0a}.csv-import-card>header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.csv-import-card>header>div{align-items:flex-start;gap:12px;display:flex}.csv-import-card h2{margin:0 0 4px;font-size:17px}.csv-import-card header p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px}.csv-icon{width:42px;height:42px;color:var(--green);letter-spacing:.5px;background:#e8f5f0;border-radius:12px;place-items:center;font-size:10px;font-weight:900;display:grid}.csv-import-card>header>button{color:var(--blue);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ccd7ec;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:800}.csv-import-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.csv-import-fields label{flex-direction:column;gap:6px;font-size:9px;font-weight:800;display:flex}.csv-import-fields input,.csv-import-fields select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #dbe1ec;border-radius:9px;outline:none;padding:10px 11px}.csv-import-fields input:focus,.csv-import-fields select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5479df12}.csv-file-field{background:#f8faff;border:1px dashed #b9c8e4;border-radius:12px;grid-column:1/3;padding:12px}.csv-file-field input{background:0 0;border:0;padding:0;font-size:9px}.csv-file-field small{color:var(--muted);font-size:8px;font-weight:500}.csv-actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.csv-actions button{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #cbd5e5;border-radius:9px;padding:10px 13px;font-size:9px;font-weight:850}.csv-actions button.primary{border-color:var(--coral);color:#fff}.csv-actions button:disabled{opacity:.55;cursor:not-allowed}.csv-message{border-radius:10px;margin-top:12px;padding:10px 12px;font-size:9px;font-weight:750}.csv-message.error{color:#ad504a;background:#feecea;border:1px solid #f4d4d1}.csv-message.success{color:#347c67;background:#eaf6f1;border:1px solid #cfe8df}.csv-preview{border-top:1px solid #e2e7f1;margin-top:16px;padding-top:15px}.csv-preview-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.csv-preview-heading>div{flex-direction:column;gap:3px;display:flex}.csv-preview-heading strong{font-size:11px}.csv-preview-heading span{color:var(--muted);font-size:8px}.csv-preview-heading em{color:#a36d1e;background:#fff1df;border-radius:9px;padding:6px 8px;font-size:8px;font-style:normal;font-weight:850}.csv-errors{color:#a6534d;background:#fff5f3;border-radius:10px;margin:8px 0 12px;padding:10px 10px 10px 28px;font-size:8px}.csv-errors li+li{margin-top:5px}.csv-preview-table{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:auto}.csv-preview-row{border-top:1px solid var(--line);grid-template-columns:48px 1.2fr 1.2fr .7fr;align-items:center;gap:10px;min-width:650px;min-height:45px;padding:8px 11px;font-size:8px;display:grid}.csv-preview-row:first-child{border-top:0}.csv-preview-row>span:first-child{color:var(--muted)}.csv-preview-row>strong{font-size:9px}.csv-preview-row>small{color:var(--muted)}.csv-preview-head{color:#8993a3;background:#f8f9fb;min-height:32px;font-size:7px;font-weight:850}.csv-preview>p{color:var(--muted);margin:8px 2px 0;font-size:8px}@media (max-width:700px){.csv-import-card>header{flex-direction:column}.csv-import-fields{grid-template-columns:1fr}.csv-file-field{grid-column:auto}.csv-import-card>header>button{width:100%}.csv-actions{flex-direction:column}.csv-actions button{width:100%}}.class-actions .class-delete{color:#bd554f;border-left:1px solid var(--line);padding-left:8px}.class-actions .class-delete:hover{text-decoration:underline}.delete-class-modal label{flex-direction:column;gap:6px;margin:16px 0;font-size:10px;font-weight:750;display:flex}.delete-class-modal input{font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:9px;outline:none;padding:10px 11px}.delete-class-modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5479df18}.modal-warning{color:#bd554f;background:#fdebea;border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:17px;font-weight:900;display:grid}.delete-class-modal .danger-button{color:#fff;background:#bd554f;border-color:#bd554f}.delete-class-modal .danger-button:disabled{opacity:.45;cursor:not-allowed}.clickable-student{cursor:pointer;outline:none}:is(.clickable-student:hover,.clickable-student:focus-visible){box-shadow:inset 3px 0 var(--blue);background:#f5f8ff!important}.student-open{color:var(--blue);font-size:9px;font-weight:800}.ranking-method{background:#eef3ff;border:1px solid #dce5fa;border-radius:14px;grid-template-columns:max-content 1fr;align-items:center;gap:4px 16px;margin-bottom:14px;padding:15px 18px;display:grid}.ranking-method strong{font-size:13px}.ranking-method span{color:#4c638d;font-size:11px}.ranking-method small{color:var(--muted);grid-column:1/3;font-size:9px}.ranking-filters{gap:8px;margin:14px 0;display:flex;overflow:auto}.ranking-filters button{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:750}.ranking-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.ranking-table{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}.ranking-row{border:0;border-top:1px solid var(--line);width:100%;min-width:860px;min-height:62px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:55px 1.25fr .65fr .8fr .8fr .65fr .7fr 55px;align-items:center;gap:12px;padding:0 16px;display:grid}.ranking-row:not(.ranking-head):hover{background:#f7f9ff}.ranking-head{color:#8b94a2;cursor:default;background:#f8f9fb;border-top:0;min-height:39px;font-size:9px;font-weight:800}.rank{background:#edf0f5;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.rank-1{color:#a97810;background:#fff0c9}.rank-2{color:#697487;background:#edf0f5}.rank-3{color:#9b664b;background:#fae7dc}.back-link{color:var(--blue);background:0 0;border:0;margin-bottom:18px;padding:0;font-weight:750}.detail-loading{min-height:55vh;color:var(--muted);place-items:center;display:grid}.detail-hero{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.detail-hero h1{margin:4px 0;font-size:31px}.detail-hero>div>p:last-child{color:var(--muted);font-size:11px}.fsrs-badge{color:#347966;background:#e8f5f0;border:1px solid #cfe9df;border-radius:10px;padding:8px 11px;font-size:9px;font-weight:800}.detail-stats{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:19px}.panel-heading{justify-content:space-between;align-items:flex-start;display:flex}.panel-heading h2{margin:2px 0;font-size:15px}.panel-heading>strong{font-size:24px}.detail-panel>p{color:var(--muted);font-size:10px}.metric-bar{background:#edf0f4;border-radius:8px;height:6px;margin-top:15px;overflow:hidden}.metric-bar span{background:var(--green);border-radius:8px;height:100%;display:block}.metric-bar.blue span{background:var(--blue)}.detail-section{margin-top:25px}.section-heading>span{color:var(--blue);background:#edf1ff;border-radius:9px;padding:6px 9px;font-size:10px;font-weight:800}.detail-table{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:auto}.detail-row{border-top:1px solid var(--line);align-items:center;gap:14px;min-height:62px;padding:9px 16px;font-size:10px;display:grid}.detail-row:first-child{border-top:0}.detail-row span{min-width:0}.detail-row span>strong{text-overflow:ellipsis;display:block;overflow:hidden}.detail-row span>small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.detail-head{color:#8b94a2;background:#f8f9fb;min-height:38px;font-size:8px;font-weight:800}.session-table .detail-row{grid-template-columns:1.15fr .65fr .7fr .7fr .55fr 1fr;min-width:800px}.card-time-table .detail-row{grid-template-columns:1.5fr .9fr .5fr .65fr .6fr .7fr 1fr;min-width:980px}.detail-row em{border-radius:8px;padding:5px 7px;font-size:8px;font-style:normal}.detail-row em.good{color:#38856f;background:#e9f6f1}.detail-row em.warn{color:#a97929;background:#fff3dd}.deck-performance-grid article>span{text-transform:uppercase;color:var(--muted);font-size:8px;font-weight:800}.deck-performance-grid article>div{background:#f7f8fa;border-radius:9px;padding:8px}.deck-performance-grid b,.deck-performance-grid small{display:block}.deck-performance-grid small{color:var(--muted);margin-top:3px;font-size:8px}.compact-empty{padding:28px}.student-detail-page .stat-card{min-width:0}@media (max-width:900px){.detail-stats,.deck-performance-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.ranking-method{grid-template-columns:1fr}.ranking-method small{grid-column:auto}.detail-hero{align-items:flex-start;gap:12px}.detail-hero h1{font-size:26px}.detail-grid,.deck-performance-grid{grid-template-columns:1fr}.detail-stats{grid-template-columns:repeat(2,1fr)}.fsrs-badge{max-width:120px}.student-open{display:block!important}}.card-image-field{background:#f9fbff;border:1px dashed #cbd5e5;border-radius:12px;grid-template-columns:112px 1fr;align-items:center;gap:13px;padding:11px;display:grid}.image-preview{color:#8290a5;background:#edf1f7;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;height:82px;display:flex;overflow:hidden}.image-preview>span{font-size:25px;line-height:1}.image-preview>small{margin-top:5px;font-size:8px}.image-preview.has-image{background:#e8edf5}.image-preview img{object-fit:cover;width:100%;height:100%;display:block}.image-field-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.image-field-copy>strong{font-size:10px}.image-field-copy>small{color:var(--muted);font-size:8px;line-height:1.4}.image-actions{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.image-choose,.image-actions>button{cursor:pointer;width:max-content;color:var(--blue)!important;background:#fff!important;border:1px solid #cfd8e7!important;border-radius:8px!important;padding:7px 9px!important;font-size:8px!important;font-weight:800!important;display:inline-flex!important}.image-choose input{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.image-actions>button{color:#a74f4b!important}.flashcard-image{object-fit:contain;background:#f4f6f9;border-radius:14px;width:min(440px,100%);max-height:230px;margin:0 0 20px;display:block}.flashcard .answer-image{margin-bottom:16px}.flashcard:has(.flashcard-image){padding-top:30px;padding-bottom:30px}.flashcard:has(.flashcard-image) small{margin-top:34px}@media (max-width:650px){.card-image-field{grid-template-columns:88px 1fr}.image-preview{height:72px}.flashcard-image{max-height:190px}}.folder-create{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:42px 1.2fr 1fr auto;align-items:end;gap:12px;margin-bottom:15px;padding:17px;display:grid}.folder-create-icon{width:42px;height:42px;color:var(--coral);background:#fff2e9;border-radius:12px;place-items:center;font-size:22px;display:grid}.folder-create label{flex-direction:column;gap:6px;font-size:9px;font-weight:800;display:flex}.folder-create input,.folder-create select,.folder-card select{font:inherit;color:var(--ink);background:#fafbfc;border:1px solid #dfe4eb;border-radius:9px;padding:10px 11px}.folder-help{color:#4c638d;background:#eef3ff;border:1px solid #dce5fa;border-radius:12px;margin-bottom:17px;padding:12px 15px;font-size:10px}.folder-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.folder-card{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;min-height:230px;padding:18px;transition:all .16s;display:flex}.folder-card:hover{border-color:#b9c7e7;box-shadow:0 10px 25px #18243b0d}.folder-card-top{justify-content:space-between;align-items:center;display:flex}.folder-symbol{color:#c66f43;background:#ffe5d3;border-radius:8px 8px 10px 10px;place-items:center;width:39px;height:35px;font-size:19px;display:grid}.folder-card-top button{color:#a1605b;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:750}.folder-card h2{margin:14px 0 4px;font-size:16px}.folder-card>p{color:var(--muted);margin:0 0 14px;font-size:9px}.folder-decks{flex-direction:column;gap:6px;min-height:64px;margin-bottom:14px;display:flex}.folder-decks>span{background:#f4f6fa;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 9px;font-size:9px;font-weight:750;display:flex}.folder-decks small{color:var(--muted);font-size:7px}.folder-decks em{text-align:center;color:var(--muted);border:1px dashed #cbd4e2;border-radius:9px;padding:19px 8px;font-size:9px;font-style:normal}.folder-card select{width:100%;margin-top:auto;font-size:9px}.student-folder-list{flex-direction:column;gap:13px;display:flex}.student-folder{border:1px solid var(--line);background:#fff;border-radius:17px;padding:15px}.student-folder>header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.student-folder>header>span{color:#c66f43;background:#fff0e4;border-radius:8px;place-items:center;width:36px;height:32px;display:grid}.student-folder h3{margin:0 0 3px;font-size:13px}.student-folder header small{color:var(--muted);font-size:8px;display:block}.student-folder .deck-row{background:#fafbfc}.student-folder-empty{color:var(--muted);text-align:center;border:1px dashed #d4dae4;border-radius:10px;margin:0;padding:17px;font-size:9px}.student-folder.unfiled>header>span{color:#748198;background:#edf1f7}@media (max-width:950px){.folder-grid{grid-template-columns:repeat(2,1fr)}.folder-create{grid-template-columns:42px 1fr 1fr}.folder-create button{grid-column:2/4}}@media (max-width:650px){.folder-grid,.folder-create{grid-template-columns:1fr}.folder-create-icon{display:none}.folder-create button{grid-column:auto}.folder-card{min-height:auto}}.transfer-scheduler{border:1px solid var(--line);background:#fff;border-radius:19px;margin-top:28px;padding:22px}.transfer-scheduler>.section-heading{margin:0 0 17px}.transfer-scheduler>.section-heading h2{font-size:18px}.transfer-form{background:#f8f9fc;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;display:grid}.transfer-form label{color:var(--ink);flex-direction:column;gap:6px;font-size:9px;font-weight:800;display:flex}.transfer-form input,.transfer-form select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #dce2eb;border-radius:9px;padding:10px}.transfer-form>.primary{align-self:end;min-height:38px}.transfer-list{border:1px solid var(--line);border-radius:13px;margin-top:17px;overflow:auto}.transfer-row{border-top:1px solid var(--line);grid-template-columns:1.3fr 1fr .9fr .65fr 70px;align-items:center;gap:12px;min-width:820px;min-height:60px;padding:9px 14px;font-size:9px;display:grid}.transfer-row:first-child{border-top:0}.transfer-row span>strong,.transfer-row span>small{display:block}.transfer-row span>small{color:var(--muted);margin-top:4px;font-size:8px}.transfer-head{color:#87919f;background:#f8f9fb;min-height:36px;font-size:8px;font-weight:800}.transfer-row em{border-radius:8px;padding:5px 7px;font-size:8px;font-style:normal;font-weight:750;display:inline-block}.transfer-scheduled{color:#9d732a;background:#fff3dd}.transfer-processing{color:#4d6cbd;background:#edf1ff}.transfer-transferred{color:#38856f;background:#e9f6f1}.transfer-cancelled{color:#6f7887;background:#edf0f4}.transfer-failed{color:#c75651;background:#fdebe9}.transfer-row button{color:#a4544f;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:750}.transfer-empty{text-align:center;color:var(--muted);padding:25px;font-size:10px}@media (max-width:850px){.transfer-form{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.transfer-scheduler{padding:16px}.transfer-form{grid-template-columns:1fr}}.notification-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr);align-items:start;gap:20px;display:grid}.notification-form,.notification-history{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.notification-form{grid-template-columns:1fr 1fr;gap:13px;display:grid;position:sticky;top:92px}.notification-form-heading{grid-column:1/3;align-items:center;gap:12px;padding-bottom:3px;display:flex}.notification-form-heading>span{width:40px;height:40px;color:var(--coral);background:#fff0ed;border-radius:12px;place-items:center;font-size:22px;font-weight:700;display:grid}.notification-form-heading h2,.notification-history-heading h2{margin:0 0 4px;font-size:17px}.notification-form-heading p,.notification-history-heading p{color:var(--muted);margin:0;font-size:10px}.notification-form label{flex-direction:column;gap:6px;font-size:9px;font-weight:800;display:flex}.notification-form input,.notification-form select,.notification-form textarea{width:100%;font:inherit;color:var(--ink);background:#fafbfc;border:1px solid #dfe4eb;border-radius:9px;outline:none;padding:10px 11px}.notification-form textarea{resize:vertical;min-height:95px;line-height:1.5}.notification-form input:focus,.notification-form select:focus,.notification-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5479df12}.notification-wide{grid-column:1/3}.notification-form>.primary{min-height:42px}.notification-history-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.notification-history-heading>span{color:#536daf;background:#eef2ff;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800}.notification-list{flex-direction:column;gap:9px;display:flex}.notification-row{border:1px solid var(--line);border-left:4px solid var(--blue);background:#fff;border-radius:13px;grid-template-columns:39px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.notification-symbol,.student-alert-icon{width:36px;height:36px;color:var(--blue);background:#edf1ff;border-radius:11px;place-items:center;font-style:normal;font-weight:900;display:grid}.notification-copy>div{align-items:center;gap:8px;display:flex}.notification-copy em,.student-alert-meta em{text-transform:uppercase;letter-spacing:.6px;color:var(--blue);font-size:8px;font-style:normal;font-weight:850}.notification-copy>div small{color:var(--muted);font-size:8px}.notification-copy h3{margin:7px 0 4px;font-size:13px}.notification-copy>p{color:#5f6b7d;white-space:pre-wrap;margin:0;font-size:9px;line-height:1.45}.linked-deck{color:#667289;background:#f2f4f8;border-radius:7px;margin-top:8px;padding:5px 7px;font-size:8px;display:inline-block}.notification-copy footer{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:8px;display:flex}.notification-copy footer strong{color:var(--ink)}.cancel-notification{color:#ad554e;cursor:pointer;background:#fff0ee;border:0;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800}.notification-row.overdue:not(.cancelled){border-left-color:var(--coral)}.notification-row.overdue:not(.cancelled) .notification-symbol{color:var(--coral);background:#fff0ed}.notification-row.cancelled{opacity:.58;background:#f7f8fa;border-left-color:#aab1bc}.notification-empty{text-align:center;min-height:250px;color:var(--muted);border:1px dashed #d5dce7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex}.notification-empty>span{font-size:31px}.notification-empty strong{color:var(--ink);margin:10px 0 5px;font-size:12px}.notification-empty p{max-width:250px;margin:0;font-size:9px;line-height:1.5}.notification-exam,.notification-test{border-left-color:var(--purple)}.notification-exam .notification-symbol,.notification-test .notification-symbol,.notification-exam .student-alert-icon,.notification-test .student-alert-icon{color:var(--purple);background:#f0edff}.notification-exam .notification-copy em,.notification-test .notification-copy em,.notification-exam .student-alert-meta em,.notification-test .student-alert-meta em{color:var(--purple)}.notification-homework{border-left-color:var(--green)}.notification-homework .notification-symbol,.notification-homework .student-alert-icon{color:var(--green);background:#e8f5f0}.notification-homework .notification-copy em,.notification-homework .student-alert-meta em{color:var(--green)}.notification-reminder{border-left-color:var(--amber)}.notification-reminder .notification-symbol,.notification-reminder .student-alert-icon{color:#b77b20;background:#fff3dd}.notification-reminder .notification-copy em,.notification-reminder .student-alert-meta em{color:#a66f1b}.student-alerts{border:1px solid var(--line);background:#fff;border-radius:19px;margin:-7px 0 23px;padding:18px 20px;box-shadow:0 9px 28px #18243b0a}.student-alerts>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.student-alerts>header h2{margin:0;font-size:17px}.student-alerts>header>span{color:var(--coral);background:#fff0ed;border-radius:9px;padding:7px 10px;font-size:9px;font-weight:850}.student-alert-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-alert-card{border:1px solid #e0e5ed;border-left:4px solid var(--blue);background:#fbfcff;border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.student-alert-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-alert-meta strong{color:var(--coral);font-size:8px}.student-alert-card h3{margin:7px 0 4px;font-size:13px}.student-alert-card p{color:#5f6b7d;white-space:pre-wrap;margin:0;font-size:9px;line-height:1.5}.student-alert-card small{color:var(--blue);margin-top:8px;font-size:8px;font-weight:750;display:block}.student-alert-card time{color:var(--muted);margin-top:7px;font-size:8px;display:block}.student-alert-card>button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:9px;align-self:center;padding:8px 10px;font-size:8px;font-weight:800}.student-alert-card.read{opacity:.66;background:#f7f8fa}.student-alert-card.overdue:not(.read){border-color:#f0b6b0;border-left-color:var(--coral);background:snow}.read-receipt{color:var(--green);white-space:nowrap;align-self:center;font-size:9px;font-weight:800}@media (max-width:950px){.notification-layout{grid-template-columns:1fr}.notification-form{position:static}.student-alert-list{grid-template-columns:1fr}}@media (max-width:600px){.notification-form,.notification-history{padding:15px}.notification-form{grid-template-columns:1fr}.notification-form-heading,.notification-wide{grid-column:auto}.notification-row{grid-template-columns:35px minmax(0,1fr)}.notification-row>.cancel-notification{grid-column:2;justify-self:start}.student-alerts{margin-bottom:18px;padding:15px}.student-alert-card{grid-template-columns:34px minmax(0,1fr)}.student-alert-card>button,.student-alert-card>.read-receipt{grid-column:2;justify-self:start}.student-alert-meta{flex-direction:column;align-items:flex-start;gap:4px}}.future-load-card{border:1px solid var(--line);background:#fff;border-radius:19px;margin:20px 0;padding:22px;box-shadow:0 10px 28px #18243b08}.future-load-card.student{margin:-4px 0 24px}.future-load-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.future-load-heading h2{margin:0 0 5px;font-size:18px}.future-load-heading>div>p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px;line-height:1.5}.future-load-total{background:var(--navy);color:#fff;text-align:center;border-radius:13px;min-width:105px;padding:12px 14px}.future-load-total strong{font-size:25px;line-height:1;display:block}.future-load-total span{color:#c6cedb;margin-top:5px;font-size:8px;display:block}.future-load-controls{justify-content:space-between;align-items:end;gap:15px;margin:18px 0 12px;display:flex}.future-load-tabs{background:#f1f3f7;border-radius:10px;padding:3px;display:flex}.future-load-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:800}.future-load-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #18243b12}.future-load-controls label{flex-direction:column;gap:5px;min-width:220px;font-size:8px;font-weight:850;display:flex}.future-load-controls select{color:var(--ink);font:inherit;background:#fafbfc;border:1px solid #dfe4eb;border-radius:9px;padding:9px 10px}.future-histogram{background:linear-gradient(#fbfcfe,#fff);border:1px solid #e8ebf1;border-radius:14px;padding:14px 16px}.future-chart-title{align-items:center;gap:8px;height:22px;display:flex}.future-chart-title strong{font-size:12px}.future-chart-title span{color:var(--muted);font-size:8px}.future-bars-chart{grid-template-columns:repeat(4,1fr);gap:14px;height:230px;padding-top:10px;display:grid}.future-bar-column{text-align:center;grid-template-rows:24px 1fr 18px 18px;min-width:0;display:grid}.future-bar-value{color:var(--ink);font-size:15px;font-weight:850}.future-bar-track{background:repeating-linear-gradient(0deg,#0000 0 36px,#edf0f4 37px);border-bottom:1px solid #dfe4ec;justify-content:center;align-self:end;align-items:flex-end;height:150px;display:flex}.future-bar-track span{background:linear-gradient(180deg,#6f91ea,var(--blue));border-radius:7px 7px 2px 2px;width:min(64px,70%);min-height:4px;transition:height .25s;display:block;box-shadow:0 5px 12px #5479df26}.bucket-today .future-bar-track span{background:linear-gradient(180deg,#f79a91,var(--coral));box-shadow:0 5px 12px #f0716726}.bucket-tomorrow .future-bar-track span{background:linear-gradient(180deg,#efbe65,var(--amber));box-shadow:0 5px 12px #e7a83e26}.bucket-month .future-bar-track span{background:linear-gradient(180deg,#72bea5,var(--green));box-shadow:0 5px 12px #4fa88b26}.future-bar-column>strong{white-space:nowrap;text-overflow:ellipsis;align-self:end;font-size:9px;overflow:hidden}.future-bar-column>small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:7px;overflow:hidden}.future-load-empty{text-align:center;min-height:190px;color:var(--muted);border:1px dashed #d5dce7;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;padding:22px;display:flex}.future-load-empty>span{width:38px;height:38px;color:var(--green);background:#e8f5f0;border-radius:50%;place-items:center;font-weight:900;display:grid}.future-load-empty strong{color:var(--ink);margin:9px 0 4px;font-size:12px}.future-load-empty p{max-width:300px;margin:0;font-size:9px;line-height:1.5}@media (max-width:700px){.future-load-card{padding:16px}.future-load-heading{align-items:stretch}.future-load-heading h2{font-size:16px}.future-load-total{min-width:88px}.future-load-controls{flex-direction:column;align-items:stretch}.future-load-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.future-load-controls label{width:100%;min-width:0}.future-bars-chart{gap:6px;height:215px}.future-histogram{padding:12px 8px}.future-bar-track{height:140px}.future-bar-track span{width:68%}.future-bar-column>strong{font-size:8px}.future-bar-column>small{font-size:6px}}.express-config{background:linear-gradient(135deg,#fff8ea,#f5f1ff);border:1px solid #eadfc8;border-radius:14px;padding:14px}.notification-form .express-toggle{grid-template-columns:20px 1fr;align-items:center;gap:3px 8px;margin:0;display:grid}.express-toggle input{height:17px;accent-color:var(--purple);grid-row:1/3;width:17px!important}.express-toggle span{font-size:11px;font-weight:850}.express-toggle small{color:var(--muted);font-size:8px;font-weight:500;line-height:1.4}.express-config fieldset{border:0;margin:15px 0 0;padding:0}.express-config legend{margin-bottom:8px;font-size:9px;font-weight:850}.express-config legend small{color:var(--muted);font-weight:500}.express-choice-grid{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.notification-form .express-choice-grid label{cursor:pointer;background:#fff;border:1px solid #e1e4eb;border-radius:9px;grid-template-columns:16px 1fr;gap:2px 6px;padding:9px;display:grid}.express-choice-grid label.selected{border-color:var(--purple);background:#f4f1ff}.express-choice-grid input{height:14px;accent-color:var(--purple);grid-row:1/3;width:14px!important}.express-choice-grid span{font-size:9px;font-weight:800}.express-choice-grid small{color:var(--muted);font-size:7px;font-weight:500}.express-config fieldset>p{color:var(--muted);margin:0;font-size:8px}.theme-choice-grid{flex-wrap:wrap;gap:6px;display:flex}.theme-choice-grid button{color:#687388;cursor:pointer;background:#fff;border:1px solid #dddfe7;border-radius:16px;padding:6px 9px;font-size:8px;font-weight:750}.theme-choice-grid button.selected{border-color:var(--purple);background:var(--purple);color:#fff}.notification-row.has-express{grid-template-columns:39px minmax(0,1fr) auto}.express-teacher-status{background:#faf8ff;border:1px solid #e4def6;border-radius:11px;margin-top:12px;padding:11px}.express-teacher-status>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.express-teacher-status>header div{flex-direction:column;gap:3px;display:flex}.express-teacher-status>header strong{color:#6653b7;font-size:9px}.express-teacher-status>header span{color:var(--muted);font-size:7px}.express-teacher-status>header em{border-radius:9px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:850}.express-teacher-status>header em.priority{color:#c65550;background:#feecea}.express-teacher-status>header em.ready{color:#38856f;background:#e9f6f1}.express-scope{border-top:1px solid #e8e3f4;flex-direction:column;gap:3px;margin-top:9px;padding-top:8px;display:flex}.express-scope span{font-size:8px;font-weight:750}.express-scope small{color:var(--muted);font-size:7px}.express-student-list{background:#fff;border-radius:8px;max-height:190px;margin-top:8px;overflow:auto}.express-student-list>div{border-top:1px solid #ececf2;grid-template-columns:1fr auto .75fr .9fr;align-items:center;gap:7px;padding:7px 8px;font-size:7px;display:grid}.express-student-list>div:first-child{border-top:0}.express-student-list>div>strong{font-size:8px}.express-need{white-space:nowrap;border-radius:9px;padding:4px 6px;display:inline-block;font-size:7px!important;font-weight:850!important}.express-need.priority{color:#bf514c;background:#feecea}.express-need.recommended{color:#a67423;background:#fff3dd}.express-need.ready{color:#38856f;background:#e9f6f1}.express-need.none{color:#737d8b;background:#edf0f4}.student-express-programs{color:#fff;background:linear-gradient(135deg,#211d3b,#18243b);border-radius:21px;margin:-4px 0 24px;padding:20px 22px;box-shadow:0 14px 34px #18243b25}.student-express-programs>header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.student-express-programs>header h2{margin:0 0 4px;font-size:18px}.student-express-programs>header p:not(.eyebrow){color:#bfc5d3;margin:0;font-size:9px}.student-express-programs>header>span{color:#ffd58c;background:#ffffff12;border:1px solid #ffffff18;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:850}.student-express-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.student-express-card{color:var(--ink);border:1px solid #ffffff20;border-left:4px solid var(--purple);background:#fff;border-radius:14px;padding:14px}.student-express-card.priority{border-left-color:var(--coral)}.student-express-card.recommended{border-left-color:var(--amber)}.student-express-card.ready{border-left-color:var(--green)}.express-card-top{grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.express-card-top>span{width:34px;height:34px;color:var(--purple);background:#f0edff;border-radius:10px;place-items:center;display:grid}.express-card-top em{color:var(--purple);text-transform:uppercase;font-size:7px;font-style:normal;font-weight:850}.express-card-top h3{margin:3px 0;font-size:13px}.express-card-top small{color:var(--muted);font-size:7px;display:block}.student-express-card>p{color:var(--muted);margin:10px 0;font-size:8px}.express-progress-copy{color:var(--muted);justify-content:space-between;font-size:7px;display:flex}.express-progress-copy b{color:var(--ink)}.express-progress{background:#edf0f4;border-radius:6px;height:6px;margin:7px 0 12px;overflow:hidden}.express-progress span{background:linear-gradient(90deg,var(--purple),#9e8ee7);border-radius:6px;height:100%;display:block}.student-express-card footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-express-card footer>div{align-items:center;gap:7px;display:flex}.student-express-card footer>div strong{color:var(--purple);font-size:22px}.student-express-card footer>div span{max-width:90px;color:var(--muted);font-size:7px;line-height:1.3}.student-express-card footer button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:9px 11px;font-size:8px;font-weight:850}.student-express-card footer button:disabled{opacity:.55}.express-upcoming{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 10px;margin-top:10px;padding-top:10px;display:grid}.express-upcoming span,.express-upcoming small{color:var(--muted);font-size:7px}.express-upcoming strong{font-size:9px}.express-upcoming small{grid-column:1/3}.express-review .review-progress span{background:linear-gradient(90deg,var(--purple),#b7a8ff)}.express-review .review-meta span:first-child{color:#7d69d8;font-weight:850}@media (max-width:850px){.student-express-list{grid-template-columns:1fr}}@media (max-width:600px){.express-choice-grid{grid-template-columns:1fr}.express-student-list>div{grid-template-columns:1fr auto}.express-student-list>div>span:nth-child(n+3){display:none}.student-express-programs{padding:16px}.student-express-programs>header{align-items:flex-start;gap:12px}.student-express-programs>header h2{font-size:16px}.express-card-top{grid-template-columns:32px 1fr}.express-card-top>.express-need{grid-column:2;justify-self:start}.student-express-card footer{flex-direction:column;align-items:stretch}.student-express-card footer button{width:100%}}.review-quantity-modal{width:min(520px,100%)}.quantity-icon{width:44px;height:44px;color:var(--blue);background:#edf2ff;border-radius:13px;place-items:center;margin-bottom:17px;font-size:22px;font-weight:900;display:grid}.review-quantity-modal fieldset{border:0;margin:22px 0 15px;padding:0}.review-quantity-modal legend{margin-bottom:10px;font-size:11px;font-weight:850}.review-quantity-modal fieldset label{border:1px solid var(--line);cursor:pointer;background:#fafbfc;border-radius:12px;grid-template-columns:18px minmax(0,1fr) 78px;align-items:center;gap:10px;margin-top:8px;padding:13px;display:grid}.review-quantity-modal fieldset label.selected{border-color:var(--blue);background:#f2f5ff;box-shadow:0 0 0 3px #5479df12}.review-quantity-modal fieldset input[type=radio]{width:16px;height:16px;accent-color:var(--blue)}.review-quantity-modal fieldset label>span{flex-direction:column;gap:3px;display:flex}.review-quantity-modal fieldset strong{font-size:11px}.review-quantity-modal fieldset small{color:var(--muted);font-size:8px;line-height:1.35}.review-quantity-modal fieldset input[type=number]{text-align:center;width:78px;color:var(--ink);background:#fff;border:1px solid #dce2ec;border-radius:9px;padding:9px;font-weight:850}.review-quantity-modal fieldset label>b{text-align:center;min-width:54px;color:var(--blue);background:#fff;border-radius:9px;justify-self:end;padding:9px;font-size:14px}.quantity-summary{background:var(--navy);color:#fff;border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:11px 13px;display:flex}.quantity-summary span{color:#cbd2df;font-size:9px}.quantity-summary strong{font-size:12px}@media (max-width:520px){.review-quantity-modal fieldset label{grid-template-columns:18px 1fr}.review-quantity-modal fieldset input[type=number],.review-quantity-modal fieldset label>b{grid-column:2;justify-self:stretch;width:100%}.review-quantity-modal{padding:24px 20px}}.deck-row.review-mode-classic{border-left:4px solid var(--purple)}.deck-review-controls{align-items:center;gap:7px;margin-left:auto;display:flex}.deck-review-controls label,.folder-review-controls label{color:var(--muted);flex-direction:column;gap:3px;font-size:7px;font-weight:800;display:flex}.deck-review-controls select,.folder-review-controls select{color:var(--ink);font:inherit;background:#fff;border:1px solid #dce2ec;border-radius:8px;padding:7px 8px;font-size:9px;font-weight:750}.deck-review-controls label>small{color:var(--purple);white-space:nowrap;font-size:6px}.deck-review-button,.folder-review-controls>button{color:var(--blue);cursor:pointer;background:#eef2ff;border:0;border-radius:8px;padding:9px 10px;font-size:9px;font-weight:850}.review-mode-classic .deck-review-button,.student-folder.review-mode-classic .folder-review-controls>button{color:var(--purple);background:#f0ecff}.deck-review-controls .personal-card-add{flex:0 0 34px!important}.classic-category-strip{grid-template-columns:repeat(5,minmax(42px,1fr));gap:4px;margin-top:8px;display:grid}.classic-category-strip span{color:#677385;background:#f2f4f7;border-radius:6px;align-items:center;gap:3px;padding:4px 5px;font-size:8px;font-weight:900;display:flex}.classic-category-strip small{font-size:6px;font-weight:650}.classic-category-strip .failed{color:#b94f49;background:#feeceb}.classic-category-strip .hard{color:#a87321;background:#fff3dd}.classic-category-strip .good{color:#39816d;background:#e9f6f1}.classic-category-strip .easy{color:#4d6fcb;background:#edf2ff}.folder-review-controls{align-items:center;gap:7px;margin-left:auto;display:flex}.student-folder.review-mode-classic{border-color:#d9d0f2}.classic-review .review-progress span{background:var(--purple)}.classic-review .card-label{color:var(--purple)}.classic-review .flashcard{border-color:#ddd6f0}.classic-review-note{color:var(--muted);margin-top:11px;font-size:9px;line-height:1.5;display:block}.classic-review .ratings button{border-width:2px}@media (max-width:850px){.deck-row{flex-wrap:wrap;align-items:flex-start}.deck-info{min-width:calc(100% - 70px)}.deck-review-controls{justify-content:flex-end;width:100%}.classic-category-strip{grid-template-columns:repeat(3,1fr)}.student-folder>header{flex-wrap:wrap;align-items:flex-start}.folder-review-controls{justify-content:flex-end;width:100%}}@media (max-width:520px){.deck-review-controls{flex-wrap:wrap;justify-content:flex-start}.classic-category-strip{grid-template-columns:repeat(2,1fr)}.folder-review-controls{justify-content:flex-start}.folder-review-controls>button,.deck-review-button{flex:1}.deck-review-controls label{min-width:120px}.deck-review-controls select{width:100%}}.student-subnav{z-index:18;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffed;justify-content:center;gap:5px;padding:9px 18px;display:flex;position:sticky;top:72px}.student-subnav button{color:#778296;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 13px;font-size:10px;font-weight:800;display:flex}.student-subnav button span{font-size:13px}.student-subnav button:hover{color:var(--ink);background:#f4f6fa}.student-subnav button.active{background:var(--navy);color:#fff;box-shadow:0 6px 15px #18243b1f}.student-home-tab,.student-review-tab,.student-stats-tab,.student-settings-tab,.student-badges-tab{padding-top:34px}.student-global-stats{margin-bottom:22px}.student-global-stats .stat-card{min-height:127px}.daily-goal-card{background:linear-gradient(120deg,#fff,#f6fbf9);border:1px solid #dcece6;border-radius:20px;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:24px;padding:20px 22px;display:grid;box-shadow:0 10px 26px #18243b08}.daily-goal-card h2{margin:0 0 5px;font-size:17px}.daily-goal-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:10px}.daily-goal-card>button:disabled{opacity:.55;cursor:not-allowed}.goal-ring{border-radius:50%;place-items:center;width:74px;height:74px;display:grid;position:relative}.goal-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.goal-ring span{color:var(--green);font-size:14px;font-weight:900;position:relative}.home-shortcuts{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.home-shortcuts button{text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:38px 1fr;gap:3px 11px;padding:15px;display:grid}.home-shortcuts button:hover{border-color:#c8d4f2;box-shadow:0 8px 20px #18243b0a}.home-shortcuts button>span{width:38px;height:38px;color:var(--blue);background:#eef3ff;border-radius:11px;grid-row:1/3;place-items:center;font-size:17px;display:grid}.home-shortcuts strong{font-size:11px}.home-shortcuts small{color:var(--muted);font-size:8px;line-height:1.4}.daily-cap-pill{color:#9b6a22;background:#fff3dd;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;font-size:9px;font-weight:800;display:flex}.daily-cap-pill strong{font-size:15px}.review-default-card{border:1px solid var(--line);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;padding:16px;display:flex}.review-default-card h3{margin:0 0 4px;font-size:13px}.review-default-card p{color:var(--muted);margin:0;font-size:9px}.review-default-card strong{color:var(--blue);font-size:11px}.advanced-history-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:20px;padding:20px}.advanced-history-card>header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.advanced-history-card h2{margin:0 0 4px;font-size:17px}.advanced-history-card header p:not(.eyebrow){color:var(--muted);margin:0;font-size:9px}.advanced-history-card header>span{color:var(--blue);background:#eef3ff;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:850}.advanced-history-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:9px;height:215px;margin-top:22px;padding-top:10px;display:flex}.advanced-history-bars>div{text-align:center;flex:1;grid-template-rows:20px 1fr 21px;min-width:0;height:100%;display:grid}.advanced-history-bars strong{font-size:8px}.advanced-history-bars span{justify-content:center;align-items:flex-end;display:flex}.advanced-history-bars i{background:linear-gradient(180deg,#7f9bed,var(--blue));border-radius:5px 5px 0 0;width:min(26px,72%);min-height:8px;display:block}.advanced-history-bars small{color:var(--muted);padding-top:5px;font-size:6px}.compact-empty{min-height:130px;margin-top:18px}.student-deck-stats{margin-top:26px}.deck-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.deck-performance-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:repeat(4,1fr);gap:11px;padding:16px;display:grid}.deck-performance-grid article>span,.deck-performance-grid article>h3{grid-column:1/5}.deck-performance-grid article>span{color:var(--blue);text-transform:uppercase;letter-spacing:.7px;font-size:7px;font-weight:850}.deck-performance-grid h3{margin:0 0 5px;font-size:13px}.deck-performance-grid article>div{border-top:1px solid var(--line);flex-direction:column;gap:3px;padding-top:9px;display:flex}.deck-performance-grid b{font-size:15px}.deck-performance-grid small{color:var(--muted);font-size:7px;line-height:1.25}.student-settings-form{flex-direction:column;gap:14px;display:flex}.student-settings-form>article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:21px}.student-settings-form article>header{align-items:flex-start;gap:13px;margin-bottom:18px;display:flex}.student-settings-form article>header>span{width:34px;height:34px;color:var(--blue);background:#eef3ff;border-radius:10px;flex:0 0 34px;place-items:center;font-size:9px;font-weight:900;display:grid}.student-settings-form h2{margin:0 0 4px;font-size:15px}.student-settings-form header p{color:var(--muted);margin:0;font-size:9px}.settings-number-grid,.settings-mode-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.settings-number-grid label{flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.settings-number-grid input{color:var(--ink);font:inherit;background:#fafbfc;border:1px solid #dce2ec;border-radius:10px;padding:12px;font-size:14px;font-weight:850}.settings-number-grid small{color:var(--muted);font-size:8px;font-weight:500;line-height:1.45}.settings-mode-grid label{border:1px solid var(--line);cursor:pointer;border-radius:12px;grid-template-columns:18px 1fr;gap:3px 9px;padding:14px;display:grid}.settings-mode-grid label.selected{border-color:var(--blue);background:#f2f5ff}.settings-mode-grid input{accent-color:var(--blue);grid-row:1/3}.settings-mode-grid strong{font-size:11px}.settings-mode-grid small{color:var(--muted);font-size:8px}.settings-retention-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.settings-retention-grid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fafbfc;border-radius:12px;flex-direction:column;gap:4px;padding:13px;display:flex}.settings-retention-grid button.selected{border-color:var(--blue);color:var(--blue);background:#eef3ff;box-shadow:0 0 0 3px #5479df10}.settings-retention-grid strong{font-size:16px}.settings-retention-grid small{color:var(--muted);font-size:8px}.fsrs-pacing-note{border-left:4px solid var(--purple);background:#f6f4ff;border-radius:10px;margin-top:13px;padding:12px 14px}.fsrs-pacing-note strong{color:#6755b7;font-size:10px}.fsrs-pacing-note p{color:#687388;margin:4px 0 0;font-size:8px;line-height:1.55}.student-settings-form>footer{justify-content:space-between;align-items:center;gap:15px;padding:8px 2px;display:flex}.student-settings-form>footer span{color:var(--muted);font-size:9px}.badges-empty{text-align:center;background:linear-gradient(145deg,#fff,#faf9ff);border:1px dashed #cfd7e4;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:35px;display:flex}.badges-empty>span{width:70px;height:70px;color:var(--purple);background:#f0edff;border-radius:22px;place-items:center;font-size:31px;display:grid}.badges-empty h2{margin:18px 0 7px;font-size:20px}.badges-empty p{max-width:460px;color:var(--muted);font-size:10px;line-height:1.6}.badges-empty>div{gap:10px;margin-top:20px;display:flex}.badges-empty i{color:#a7afbb;background:#edf0f4;border-radius:50%;place-items:center;width:38px;height:38px;font-style:normal;font-weight:900;display:grid}@media (max-width:850px){.student-subnav{justify-content:flex-start;overflow-x:auto}.daily-goal-card{grid-template-columns:74px 1fr}.daily-goal-card>button{grid-column:1/3}.home-shortcuts,.deck-performance-grid{grid-template-columns:1fr}}@media (max-width:700px){.student-subnav{padding:8px 12px;top:72px}.student-subnav button{padding:8px 10px}.student-subnav button span{display:none}.student-home-tab,.student-review-tab,.student-stats-tab,.student-settings-tab,.student-badges-tab{padding-top:25px}.student-global-stats{grid-template-columns:repeat(2,1fr)}.daily-goal-card{grid-template-columns:58px 1fr;gap:14px;padding:16px}.goal-ring{width:58px;height:58px}.daily-goal-card>button{grid-column:1/3;width:100%}.advanced-history-bars{gap:3px;height:190px}.advanced-history-bars small{font-size:5px}.settings-number-grid,.settings-mode-grid{grid-template-columns:1fr}.student-settings-form>footer{flex-direction:column;align-items:stretch}.student-settings-form>footer button{width:100%}.deck-performance-grid article{grid-template-columns:repeat(2,1fr)}.deck-performance-grid article>span,.deck-performance-grid article>h3{grid-column:1/3}}@media (max-width:440px){.student-subnav button{font-size:8px}.student-global-stats,.settings-retention-grid{grid-template-columns:1fr}.advanced-history-card>header{flex-direction:column}.daily-goal-card{grid-template-columns:1fr}.goal-ring{margin:auto}.daily-goal-card>div:nth-child(2){text-align:center}.daily-goal-card>button{grid-column:1}}.review-top{grid-template-columns:155px 1fr 70px}.finish-session-button{color:var(--ink);font:inherit;cursor:pointer;text-align:center;background:#fff;border:1px solid #d8dee8;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:800}:is(.finish-session-button:hover,.finish-session-button:focus-visible){border-color:var(--coral);color:#c85e56;background:#fff7f6;outline:none}.review-results-page{background:radial-gradient(circle at 50% 5%,#eef3ff 0,#0000 36%);place-items:center;min-height:calc(100vh - 72px);padding:38px 20px 70px;display:grid}.review-results-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:25px;width:min(720px,100%);padding:34px;box-shadow:0 20px 55px #18243b14}.results-symbol{border-radius:19px;place-items:center;width:62px;height:62px;margin:0 auto 18px;font-size:26px;font-weight:900;display:grid}.results-symbol.completed{color:var(--green);background:#e7f5f0}.results-symbol.stopped{color:#c77c37;background:#fff2e7}.review-results-card h1{letter-spacing:-.8px;margin:0 0 7px;font-size:28px}.results-subtitle{color:var(--muted);margin:0;font-size:11px}.results-main-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:27px 0 18px;display:grid}.results-main-grid>div{background:#f7f8fb;border-radius:13px;flex-direction:column;gap:4px;padding:15px 9px;display:flex}.results-main-grid strong{font-size:23px}.results-main-grid span{color:var(--muted);font-size:8px;line-height:1.35}.results-score{text-align:left;background:#f4f7ff;border:1px solid #e2e8f7;border-radius:13px;padding:13px 15px}.results-score>div:first-child{color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.results-score strong{color:var(--blue);font-size:17px}.results-score-bar{background:#dfe6f7;border-radius:8px;height:7px;margin-top:9px;overflow:hidden}.results-score-bar span{background:linear-gradient(90deg,var(--blue),var(--green));border-radius:8px;height:100%;display:block}.results-ratings{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.results-ratings>div{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:4px;padding:11px;display:flex}.results-ratings strong{font-size:18px}.results-ratings span{color:var(--muted);font-size:8px}.results-ratings .rating-1 strong{color:#d86161}.results-ratings .rating-2 strong{color:#d18d38}.results-ratings .rating-3 strong{color:#4c8c79}.results-ratings .rating-4 strong{color:#5479df}.results-empty{color:var(--muted);background:#f7f8fb;border-radius:12px;margin-top:20px;padding:20px;font-size:10px;line-height:1.5}.results-saved-note{color:var(--muted);max-width:520px;margin:18px auto;font-size:9px;line-height:1.55}.results-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.results-actions button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:11px;padding:12px 17px;font-size:10px;font-weight:800}.results-actions button.primary{border-color:var(--coral);background:var(--coral);color:#fff}@media (max-width:600px){.review-top{grid-template-columns:120px 1fr 42px}.finish-session-button{padding:8px 7px;font-size:8px}.review-results-page{min-height:calc(100vh - 64px);padding:24px 14px 50px}.review-results-card{border-radius:20px;padding:25px 17px}.review-results-card h1{font-size:23px}.results-main-grid,.results-ratings{grid-template-columns:repeat(2,1fr)}.results-actions{flex-direction:column}.results-actions button{width:100%}}.badge-total{background:var(--navy);color:#fff;text-align:center;border-radius:15px;min-width:122px;padding:13px 17px}.badge-total strong{font-size:25px;line-height:1;display:block}.badge-total span{color:#c8d0dc;margin-top:6px;font-size:8px;display:block}.badge-rules{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.badge-rule{border:1px solid var(--line);background:#fff;border-top:4px solid #aeb6c2;border-radius:16px;grid-template-columns:48px 1fr;align-items:center;gap:2px 12px;padding:15px;display:grid}.badge-rule>span,.badge-crest{color:#fff;clip-path:polygon(50% 0,92% 19%,92% 68%,50% 100%,8% 68%,8% 19%);background:#aeb6c2;grid-row:1/3;place-items:center;width:48px;height:52px;font-size:18px;font-weight:950;display:grid}.badge-rule h2{margin:0 0 3px;font-size:13px}.badge-rule p{color:var(--muted);margin:0;font-size:8px}.badge-rule>small{color:var(--muted);grid-column:2;font-size:7px;font-weight:800}.badge-rule.level-beginner{border-top-color:#b8794d}.badge-rule.level-beginner>span,.badge-crest.level-beginner{background:linear-gradient(145deg,#d99a6d,#9a5f3c)}.badge-rule.level-confirmed{border-top-color:#6d83a8}.badge-rule.level-confirmed>span,.badge-crest.level-confirmed{background:linear-gradient(145deg,#9db0cf,#587198)}.badge-rule.level-expert{border-top-color:#d6a72f}.badge-rule.level-expert>span,.badge-crest.level-expert{background:linear-gradient(145deg,#f3cb5c,#b47b13);box-shadow:0 7px 17px #d6a72f2d}.badge-maintenance-note{background:#f6f4ff;border:1px solid #e4def6;border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;margin-bottom:26px;padding:13px 15px;display:grid}.badge-maintenance-note>span{width:35px;height:35px;color:var(--purple);background:#ebe7fb;border-radius:10px;place-items:center;font-size:18px;display:grid}.badge-maintenance-note strong{font-size:10px}.badge-maintenance-note p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.5}.badge-maintenance-note em{color:var(--coral);white-space:nowrap;background:#fff0ed;border-radius:9px;padding:7px 9px;font-size:8px;font-style:normal;font-weight:850}.badge-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.badge-toolbar h2{margin:0 0 4px;font-size:17px}.badge-toolbar p{color:var(--muted);margin:0;font-size:9px}.badge-toolbar>div:last-child{background:#eceff4;border-radius:10px;padding:3px;display:flex}.badge-toolbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:8px;font-weight:850}.badge-toolbar button.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #18243b14}.badge-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.badge-scope-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 24px #18243b07}.badge-scope-card.has-beginner{border-top:4px solid #b8794d}.badge-scope-card.has-confirmed{border-top:4px solid #6d83a8}.badge-scope-card.has-expert{border-top:4px solid #d6a72f}.badge-scope-card>header{grid-template-columns:54px 1fr auto;align-items:center;gap:11px;display:grid}.badge-crest{width:52px;height:57px}.badge-crest.level-locked{color:#8a94a2;background:#d7dce4}.badge-scope-card header em{color:var(--muted);letter-spacing:.8px;font-size:7px;font-style:normal;font-weight:850}.badge-scope-card h3{margin:3px 0;font-size:14px}.badge-scope-card header p{color:var(--muted);margin:0;font-size:7px}.badge-level-chip{border-radius:9px;padding:6px 8px;font-size:7px}.badge-level-chip.level-beginner{color:#9a5f3c;background:#faeee6}.badge-level-chip.level-confirmed{color:#587198;background:#eaf0f8}.badge-level-chip.level-expert{color:#9b6d13;background:#fff5d7}.badge-metrics{grid-template-columns:repeat(4,1fr);gap:6px;margin:17px 0 14px;display:grid}.badge-metrics>div{text-align:center;background:#f7f8fb;border-radius:9px;padding:9px 6px}.badge-metrics strong{font-size:12px;display:block}.badge-metrics span{color:var(--muted);margin-top:3px;font-size:6px;display:block}.badge-next{border-top:1px solid var(--line);padding-top:13px}.badge-next>div:first-child{justify-content:space-between;font-size:8px;display:flex}.badge-next>div:first-child span{font-weight:800}.badge-next>div:first-child strong{color:var(--blue)}.badge-progress{background:#e8ecf2;border-radius:7px;height:6px;margin:7px 0;overflow:hidden}.badge-progress span{background:linear-gradient(90deg,var(--blue),var(--green));border-radius:7px;height:100%;display:block}.badge-next>small{color:var(--muted);font-size:6px;line-height:1.5;display:block}.badge-maxed{color:#906515;background:#fff8e5;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:9px;display:flex}.badge-level-track{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px;display:grid}.badge-level-track>div{border:1px solid var(--line);color:#a0a8b4;border-radius:9px;align-items:center;gap:6px;padding:7px;display:flex}.badge-level-track>div>span{background:#e9ecf1;border-radius:7px;place-items:center;width:20px;height:20px;font-size:8px;font-weight:900;display:grid}.badge-level-track small{font-size:6px}.badge-level-track>div.active{color:#367a67;background:#f3faf7;border-color:#cfe7de}.badge-level-track>div.active>span{background:var(--green);color:#fff}.badge-level-track>div.lost{color:#bd5c55;background:#fff8f7;border-color:#f0d5d2}.badge-level-track>div.lost>span{color:#bd5c55;background:#f8dedb}@media (max-width:850px){.badge-rules,.badge-scope-grid{grid-template-columns:1fr}}@media (max-width:600px){.student-badges-tab .title-row{align-items:center}.badge-total{min-width:90px;padding:11px}.badge-maintenance-note{grid-template-columns:35px 1fr}.badge-maintenance-note em{grid-column:2;justify-self:start}.badge-toolbar{flex-direction:column;align-items:stretch}.badge-toolbar>div:last-child{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.badge-scope-card{padding:15px}.badge-scope-card>header{grid-template-columns:50px 1fr}.badge-level-chip{grid-column:2;justify-self:start}.badge-metrics{grid-template-columns:repeat(2,1fr)}}.achievement-section{margin-bottom:27px}.achievement-section>.section-heading{margin-top:0}.achievement-section>.section-heading>span{color:var(--blue);background:#edf2ff;border-radius:9px;padding:7px 10px;font-size:8px;font-weight:850}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.achievement-card{border:1px solid var(--line);opacity:.72;background:#fff;border-left:4px solid #bdc4cf;border-radius:15px;grid-template-columns:43px minmax(0,1fr) auto;gap:4px 10px;padding:14px;display:grid}.achievement-card.active{opacity:1;border-left-color:var(--green);box-shadow:0 8px 22px #18243b08}.achievement-card.lost{opacity:1;border-left-color:var(--coral);background:snow}.achievement-symbol{color:#8b95a4;background:#e8ebf0;border-radius:14px;grid-row:1/3;place-items:center;width:42px;height:42px;font-size:14px;font-weight:950;display:grid}.achievement-card.active .achievement-symbol{color:#fff;background:linear-gradient(145deg,#65b69b,#38846e)}.achievement-card.category-connection.active .achievement-symbol{background:linear-gradient(145deg,#879fe8,#4f6fca)}.achievement-card.category-effort.active .achievement-symbol{background:linear-gradient(145deg,#f1bc55,#c6811d)}.achievement-card.lost .achievement-symbol{color:#bb5952;background:#f8dedb}.achievement-copy em{color:var(--muted);letter-spacing:.7px;font-size:6px;font-style:normal;font-weight:900}.achievement-copy h3{margin:3px 0;font-size:11px}.achievement-copy p{color:var(--muted);margin:0;font-size:7px;line-height:1.35}.achievement-status{color:#747f8f;white-space:nowrap;background:#edf0f4;border-radius:8px;align-self:start;padding:5px 7px;font-size:6px}.achievement-card.active .achievement-status{color:#347966;background:#e8f5f0}.achievement-card.lost .achievement-status{color:#bd5a53;background:#fff0ed}.achievement-progress{background:#e8ecf2;border-radius:6px;grid-column:1/4;height:5px;margin-top:9px;overflow:hidden}.achievement-progress span{background:#a6b1c1;border-radius:6px;height:100%;display:block}.achievement-card.active .achievement-progress span{background:linear-gradient(90deg,var(--green),#75c7aa)}.achievement-card.lost .achievement-progress span{background:var(--coral)}.achievement-criteria{color:var(--muted);flex-wrap:wrap;grid-column:1/4;gap:5px;font-size:6px;display:flex}.achievement-criteria span{background:#f4f6f8;border-radius:7px;padding:5px 6px}.achievement-criteria b{color:var(--ink)}.achievement-card>small{color:var(--muted);grid-column:1/4;font-size:6px}.achievement-card.active>small{color:var(--green)}@media (max-width:1000px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.achievement-grid{grid-template-columns:1fr}.achievement-card{grid-template-columns:43px minmax(0,1fr)}.achievement-status{grid-column:2;justify-self:start}.achievement-progress,.achievement-criteria,.achievement-card>small{grid-column:1/3}}.achievement-symbol,.badge-rule>span,.badge-crest,.badge-level-track>div>span{position:relative}.achievement-symbol:before,.badge-rule>span:before,.badge-crest.level-beginner:before,.badge-crest.level-confirmed:before,.badge-crest.level-expert:before,.badge-level-track>div>span:before{content:"";background-image:var(--badge-art);background-position:50%;background-repeat:no-repeat;background-size:contain;transition:transform .2s,filter .2s,opacity .2s;position:absolute}.achievement-symbol{overflow:visible;color:#0000!important;background:#f7f4ee!important;font-size:0!important}.achievement-symbol:before{inset:-4px}.achievement-grid .achievement-card:first-child .achievement-symbol{--badge-art:url(/badges/first-login.png)}.achievement-grid .achievement-card:nth-child(2) .achievement-symbol{--badge-art:url(/badges/attendance-start.png)}.achievement-grid .achievement-card:nth-child(3) .achievement-symbol{--badge-art:url(/badges/attendance-regular.png)}.achievement-grid .achievement-card:nth-child(4) .achievement-symbol{--badge-art:url(/badges/attendance-expert.png)}.achievement-grid .achievement-card:nth-child(5) .achievement-symbol{--badge-art:url(/badges/effort-start.png)}.achievement-grid .achievement-card:nth-child(6) .achievement-symbol{--badge-art:url(/badges/effort-confirmed.png)}.achievement-grid .achievement-card:nth-child(7) .achievement-symbol{--badge-art:url(/badges/effort-expert.png)}.achievement-card.locked .achievement-symbol:before{filter:grayscale();opacity:.46}.achievement-card.lost .achievement-symbol:before{filter:grayscale(.45);opacity:.72}.achievement-card:hover .achievement-symbol:before{transform:translateY(-2px)rotate(-3deg)scale(1.06)}.badge-rule>span,.badge-crest.level-beginner,.badge-crest.level-confirmed,.badge-crest.level-expert{color:#0000!important;clip-path:none!important;box-shadow:none!important;background:0 0!important;font-size:0!important}.badge-rule>span:before{inset:-4px}.badge-crest.level-beginner:before,.badge-crest.level-confirmed:before,.badge-crest.level-expert:before{inset:-3px}.badge-rule.level-beginner>span,.badge-crest.level-beginner,.badge-level-track>div:first-child>span{--badge-art:url(/badges/mastery-beginner.png)}.badge-rule.level-confirmed>span,.badge-crest.level-confirmed,.badge-level-track>div:nth-child(2)>span{--badge-art:url(/badges/mastery-confirmed.png)}.badge-rule.level-expert>span,.badge-crest.level-expert,.badge-level-track>div:nth-child(3)>span{--badge-art:url(/badges/mastery-expert.png)}.badge-scope-card:hover .badge-crest:before,.badge-rule:hover>span:before{transform:translateY(-2px)rotate(3deg)scale(1.05)}.badge-level-track>div>span{color:#0000!important;background:0 0!important;font-size:0!important}.badge-level-track>div>span:before{inset:-2px}.badge-level-track>div.locked>span:before{filter:grayscale();opacity:.4}.badge-level-track>div.lost>span:before{filter:grayscale(.55);opacity:.68}@media (prefers-reduced-motion:reduce){.achievement-symbol:before,.badge-rule>span:before,.badge-crest:before,.badge-level-track>div>span:before{transition:none!important}.achievement-card:hover .achievement-symbol:before,.badge-scope-card:hover .badge-crest:before,.badge-rule:hover>span:before{transform:none!important}}.badge-tip{isolation:isolate;cursor:help}.badge-tip:hover,.badge-tip.tip-open{z-index:20}.badge-tip:after{content:attr(data-tip);z-index:30;color:#fff;letter-spacing:0;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#18243bf5;border:1px solid #34435b;border-radius:10px;width:max-content;max-width:min(235px,100vw - 32px);padding:9px 11px;font-size:8px;font-weight:700;line-height:1.45;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:calc(100% + 9px);left:0;transform:translateY(5px);box-shadow:0 10px 25px #18243b35}.badge-tip:hover:after,.badge-tip.tip-open:after{opacity:1;visibility:visible;transform:translateY(0)}.badge-tip-hit{z-index:5;color:#0000;cursor:help;background:0 0;border:0;border-radius:14px;width:auto;height:auto;font-size:0;position:absolute;inset:-3px}.badge-tip-hit:focus-visible{outline-offset:2px;outline:3px solid #5479df80}@media (prefers-reduced-motion:reduce){.badge-tip:after{transition:none}}.student-badges-tab .achievement-copy h3{font-size:12px}.student-badges-tab .achievement-status,.student-badges-tab .achievement-criteria,.student-badges-tab .achievement-card>small{font-size:7px}.student-badges-tab .badge-scope-card h3{font-size:15px}.student-badges-tab .badge-scope-card header p,.student-badges-tab .badge-level-chip{font-size:8px}.student-badges-tab .badge-metrics span,.student-badges-tab .badge-level-track small,.student-badges-tab .badge-next>small{font-size:7px}.student-badges-tab .badge-tip:after{font-size:9px;line-height:1.5}@media (max-width:650px){.student-badges-tab .achievement-card{grid-template-columns:50px minmax(0,1fr)}.student-badges-tab .badge-scope-card>header{grid-template-columns:62px 1fr}}html{zoom:1.3}.advanced-history-bars i{min-height:0}.grade-a{--grade-color:#24745e;--grade-bg:#def3eb}.grade-b{--grade-color:#376f9f;--grade-bg:#e3effa}.grade-c{--grade-color:#5e62a8;--grade-bg:#ecebfa}.grade-d{--grade-color:#a8731d;--grade-bg:#fff1d5}.grade-e{--grade-color:#b65f35;--grade-bg:#fce9df}.grade-f{--grade-color:#b34f56;--grade-bg:#f9e1e3}.student-grade{min-width:145px;color:var(--ink);align-items:center;gap:9px;display:inline-flex}.student-grade>strong{background:var(--grade-bg);width:42px;height:42px;color:var(--grade-color);box-shadow:inset 0 0 0 1px var(--grade-color);border-radius:13px;flex:0 0 42px;place-items:center;font-size:21px;font-weight:950;display:grid}@supports (color:color-mix(in lab, red, red)){.student-grade>strong{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--grade-color) 18%,transparent)}}.student-grade>span{flex-direction:column;gap:3px;min-width:0;display:flex}.student-grade>span b{color:var(--grade-color);white-space:nowrap;font-size:10px}.student-grade>span small{color:var(--muted);white-space:nowrap;font-size:7px;line-height:1.3}.student-grade.compact{gap:7px;min-width:112px}.student-grade.compact>strong{border-radius:10px;flex-basis:34px;width:34px;height:34px;font-size:17px}.student-grade.compact>span b{font-size:9px}.student-grade.compact>span small{display:none}.grade-scale{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:7px;margin:14px 0;padding:11px 13px;display:flex;overflow-x:auto}.grade-scale>div{flex-direction:column;gap:3px;min-width:175px;margin-right:auto;display:flex}.grade-scale>div strong{font-size:11px}.grade-scale>div small{color:var(--muted);font-size:8px}.grade-scale>span{color:var(--grade-color);background:var(--grade-bg);white-space:nowrap;border-radius:9px;align-items:center;gap:5px;padding:6px 8px;font-size:7px;font-weight:800;display:flex}.grade-scale>span b{font-size:11px}.grade-student-table{overflow-x:auto}.grade-student-table .table-row{grid-template-columns:minmax(150px,1.2fr) minmax(112px,.9fr) minmax(90px,.72fr) minmax(105px,.8fr) minmax(78px,.62fr) minmax(82px,.65fr) 52px;min-width:920px}.grade-student-table .grade-metric{flex-direction:column;gap:3px;display:flex}.grade-student-table .grade-metric b{font-size:11px}.grade-student-table .grade-metric small{color:var(--muted);font-size:7px}.grade-ranking-table .ranking-row{grid-template-columns:50px 1.2fr minmax(112px,.85fr) .62fr .67fr .67fr .8fr .65fr;min-width:940px}.detail-grade-summary{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.detail-grade-summary .student-grade{border:1px solid var(--line);background:#fff;border-radius:15px;padding:9px 11px;box-shadow:0 8px 22px #18243b0a}@media (max-width:900px){.grade-student-table .table-row>span:nth-child(4){display:flex}.grade-scale{align-items:stretch}.grade-scale>div{z-index:2;background:#fff;padding-right:8px;position:sticky;left:0}}@media (max-width:650px){.detail-grade-summary{align-items:flex-end}.detail-grade-summary .student-grade>span{display:none}.detail-grade-summary .student-grade{min-width:auto;padding:6px}.grade-scale>div{min-width:150px}}.access-head,.access-row{grid-template-columns:50px minmax(110px,.8fr) minmax(90px,.65fr) minmax(88px,.55fr) minmax(300px,1.5fr)}.access-row.student-disabled,.grade-student-table .student-disabled{color:#758092;background:#fafafa}.access-row.student-disabled>i{color:#87919f;background:#eceff2}.access-row em.inactive,.account-status-badge.inactive,.inactive-account-label{color:#687281;background:#f1f2f4;border:1px solid #dfe3e8}.student-account-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.student-account-actions button{white-space:nowrap}.student-account-actions button:disabled{opacity:.45;cursor:not-allowed}.student-account-actions .disable-account{color:#9c6723;background:#fffaf1;border-color:#ead6b8}.student-account-actions .reactivate-account{color:#327863;background:#f0faf6;border-color:#cbe3da}.student-account-actions .delete-student-account{color:#b54e49;background:#fff8f7;border-color:#edcecc}.inactive-account-label{white-space:nowrap;border-radius:8px;padding:4px 6px;font-weight:800;font-size:7px!important}.account-status-badge{border-radius:10px;padding:7px 10px;font-size:9px;font-weight:850}.delete-student-modal{width:min(560px,100%)}@media (max-width:760px){.access-head,.access-row{min-width:880px}.student-account-actions{justify-content:flex-start}}.student-badges-tab .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.student-badges-tab .achievement-card{grid-template-columns:66px minmax(0,1fr) auto;gap:7px 14px;padding:19px}.student-badges-tab .achievement-symbol{border-radius:18px;width:64px;height:64px}.student-badges-tab .achievement-symbol:before{inset:-6px}.student-badges-tab .achievement-copy em{font-size:9px}.student-badges-tab .achievement-copy h3{margin:4px 0;font-size:15px}.student-badges-tab .achievement-copy p{font-size:11px;line-height:1.5}.student-badges-tab .achievement-status{padding:7px 9px;font-size:9px}.student-badges-tab .achievement-criteria{gap:7px;font-size:9px}.student-badges-tab .achievement-criteria span{padding:7px 8px}.student-badges-tab .achievement-card>small{font-size:9px}.student-badges-tab .achievement-progress{height:7px}.student-badges-tab .badge-rules{gap:16px}.student-badges-tab .badge-rule{grid-template-columns:74px 1fr;gap:5px 15px;padding:19px}.student-badges-tab .badge-rule>span{width:74px;height:78px}.student-badges-tab .badge-rule>span:before{inset:-6px}.student-badges-tab .badge-rule h2{font-size:17px}.student-badges-tab .badge-rule p{font-size:11px;line-height:1.5}.student-badges-tab .badge-rule>small{font-size:10px}.student-badges-tab .badge-scope-grid{gap:17px}.student-badges-tab .badge-scope-card{padding:22px}.student-badges-tab .badge-scope-card>header{grid-template-columns:82px 1fr auto;gap:15px}.student-badges-tab .badge-crest{width:80px;height:84px}.student-badges-tab .badge-crest.level-beginner:before,.student-badges-tab .badge-crest.level-confirmed:before,.student-badges-tab .badge-crest.level-expert:before{inset:-6px}.student-badges-tab .badge-scope-card header em{font-size:10px}.student-badges-tab .badge-scope-card h3{margin:5px 0;font-size:18px}.student-badges-tab .badge-scope-card header p{font-size:10px;line-height:1.4}.student-badges-tab .badge-level-chip{padding:8px 10px;font-size:10px}.student-badges-tab .badge-metrics{gap:9px;margin:21px 0 18px}.student-badges-tab .badge-metrics>div{padding:12px 8px}.student-badges-tab .badge-metrics strong{font-size:16px}.student-badges-tab .badge-metrics span{font-size:9px}.student-badges-tab .badge-next>div:first-child,.student-badges-tab .badge-maxed{font-size:11px}.student-badges-tab .badge-next>small{font-size:9px}.student-badges-tab .badge-progress{height:8px}.student-badges-tab .badge-level-track{gap:9px}.student-badges-tab .badge-level-track>div{padding:9px}.student-badges-tab .badge-level-track>div>span{width:28px;height:28px}.student-badges-tab .badge-level-track small{font-size:9px}.student-badges-tab .section-heading h2,.student-badges-tab .badge-toolbar h2{font-size:20px}.student-badges-tab .section-heading p,.student-badges-tab .badge-toolbar p{font-size:12px}.student-badges-tab .section-heading>span{font-size:10px}.student-badges-tab .badge-total strong{font-size:31px}.student-badges-tab .badge-total span{font-size:10px}.student-badges-tab .badge-maintenance-note strong{font-size:13px}.student-badges-tab .badge-maintenance-note p,.student-badges-tab .badge-maintenance-note em{font-size:10px}.student-badges-tab .badge-toolbar button{padding:10px 13px;font-size:10px}.student-badges-tab .badge-tip:after{max-width:min(285px,100vw - 32px);padding:11px 13px;font-size:11px}@media (max-width:1050px){.student-badges-tab .badge-scope-grid{grid-template-columns:1fr}}@media (max-width:650px){.student-badges-tab .achievement-grid{grid-template-columns:1fr}.student-badges-tab .achievement-card{grid-template-columns:58px minmax(0,1fr);padding:16px}.student-badges-tab .achievement-symbol{width:56px;height:56px}.student-badges-tab .achievement-status{grid-column:2}.student-badges-tab .badge-scope-card>header{grid-template-columns:72px 1fr}.student-badges-tab .badge-crest{width:70px;height:74px}.student-badges-tab .badge-metrics{grid-template-columns:repeat(2,1fr)}}.bulk-distribution{gap:17px;display:grid}.bulk-distribution fieldset,.notification-class-picker{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.bulk-distribution legend,.notification-class-picker legend{padding:0 7px;font-size:14px;font-weight:850}.bulk-distribution legend small,.notification-class-picker legend small{color:var(--blue);margin-left:8px;font-size:9px}.bulk-distribution fieldset>p{color:var(--muted);margin:0 0 12px;font-size:10px}.bulk-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.bulk-choice-grid label{border:1px solid var(--line);cursor:pointer;background:#fafbfc;border-radius:12px;grid-template-columns:18px 1fr;align-items:center;gap:7px!important;padding:12px!important;display:grid!important}.bulk-choice-grid label.selected{border-color:var(--blue);background:#eef3ff;box-shadow:0 0 0 2px #5479df12}.bulk-choice-grid input{height:16px;accent-color:var(--blue);width:16px!important}.bulk-choice-grid label>span{flex-direction:column;gap:3px;display:flex}.bulk-choice-grid strong{font-size:11px}.bulk-choice-grid small{color:var(--muted);font-size:8px;font-weight:500}.bulk-choice-grid>em{color:var(--muted);font-size:10px;font-style:normal}.bulk-distribution footer{background:var(--navy);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;display:flex}.bulk-distribution footer p{color:#c5cedc;margin:0;font-size:10px}.bulk-distribution footer button{white-space:nowrap}.multi-class-toggle{background:#f4f7ff;border:1px solid #dce5fa;border-radius:10px;align-items:center;padding:10px 12px;flex-direction:row!important;gap:9px!important;display:flex!important}.multi-class-toggle input{height:17px;accent-color:var(--blue);width:17px!important}.multi-class-toggle span{font-size:10px}.notification-class-picker{margin:0;padding:14px}.notification-class-picker .bulk-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.bulk-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.bulk-choice-grid,.notification-class-picker .bulk-choice-grid{grid-template-columns:1fr}.bulk-distribution footer{flex-direction:column;align-items:stretch}.bulk-distribution footer button{width:100%}}.student-priority-screen{background:radial-gradient(circle at 50% 10%,#edf3ff 0,#f6f8fb 42%,#eef1f6 100%);place-items:center;min-height:calc(100vh - 70px);padding:32px 18px;display:grid}.student-priority-card{border:1px solid var(--line);border-top:6px solid var(--blue);text-align:center;background:#fff;border-radius:24px;width:min(620px,100%);padding:28px 32px;box-shadow:0 24px 70px #24345120}.student-priority-card>header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.priority-counter{color:var(--blue);background:#eef3ff;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:850}.priority-symbol{width:74px;height:74px;color:var(--blue);background:#edf1ff;border-radius:22px;place-items:center;margin:0 auto 15px;font-size:31px;font-weight:950;display:grid}.student-priority-card>.eyebrow{margin-bottom:11px}.priority-meta{justify-content:center;align-items:center;gap:10px;display:flex}.priority-meta em{text-transform:uppercase;letter-spacing:.7px;color:var(--blue);font-size:9px;font-style:normal;font-weight:900}.priority-meta strong{color:#687387;background:#f1f3f7;border-radius:8px;padding:5px 7px;font-size:8px}.student-priority-card h1{margin:15px 0 12px;font-size:27px;line-height:1.18}.priority-message{color:#556174;white-space:pre-wrap;max-width:520px;margin:0 auto;font-size:12px;line-height:1.65}.priority-deck{color:#647086;background:#f3f5f8;border-radius:10px;padding:8px 11px;font-size:9px;display:inline-block;margin:16px 0 0!important}.student-priority-card>time{color:#667185;margin:18px 0;font-size:10px;display:block}.student-priority-card>.primary{min-width:260px;min-height:46px;font-size:11px}.student-priority-card>small{color:var(--muted);margin-top:12px;font-size:8px;display:block}.student-priority-screen.notification-exam .student-priority-card,.student-priority-screen.notification-test .student-priority-card{border-top-color:var(--coral)}.student-priority-screen.notification-exam .priority-symbol,.student-priority-screen.notification-test .priority-symbol{color:var(--coral);background:#fff0ed}.student-priority-screen.overdue .priority-meta strong{color:#b8504b;background:#fde8e6}@media (max-width:600px){.student-priority-screen{align-items:start;padding:18px 12px}.student-priority-card{border-radius:20px;padding:21px 18px}.student-priority-card>header{margin-bottom:20px}.priority-symbol{width:64px;height:64px;font-size:27px}.student-priority-card h1{font-size:22px}.student-priority-card>.primary{width:100%;min-width:0}}.student-alert-actions{flex-direction:column;align-self:center;align-items:stretch;gap:6px;min-width:82px;display:flex}.student-alert-actions>button{cursor:pointer;border:0;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:800}.student-alert-actions .mark-notification-read{background:var(--navy);color:#fff}.student-alert-actions .dismiss-notification{color:#a65454;background:#fff;border:1px solid #e3d8d8}.student-alert-actions button:disabled{opacity:.55;cursor:wait}.student-alert-actions .read-receipt{text-align:center}.notification-delete-confirm{background:#fff7f6;border:1px solid #efd2cf;border-radius:11px;grid-column:1/-1;padding:11px 13px}.notification-delete-confirm strong{color:#8d4845;font-size:10px;display:block}.notification-delete-confirm p{color:#786d70;margin:3px 0 9px;font-size:8px}.notification-delete-confirm>div{justify-content:flex-end;gap:7px;display:flex}.notification-delete-confirm button{color:#5e6878;cursor:pointer;background:#fff;border:1px solid #dddfe4;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:800}.notification-delete-confirm button:last-child{color:#fff;background:#c7645d;border-color:#c7645d}@media (max-width:600px){.student-alert-actions{grid-column:2;justify-self:start;align-items:flex-start}.student-alert-actions .read-receipt{text-align:left}.notification-delete-confirm{grid-column:1/-1}}.notification-row{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}:is(.notification-row:hover,.notification-row:focus-visible){border-color:#b8c8ec;outline:none;transform:translateY(-1px);box-shadow:0 8px 22px #273a6214}.notification-read-link{color:var(--blue);font-weight:800}.notification-read-modal{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(760px,100vw - 28px);max-height:min(82vh,760px);padding:24px;overflow:auto;box-shadow:0 25px 75px #18243b35}.notification-read-modal>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.notification-read-modal>header h2{margin:3px 0;font-size:20px}.notification-read-modal>header>button{color:#687385;cursor:pointer;background:#eef1f5;border:0;border-radius:10px;width:34px;height:34px;font-size:21px}.notification-read-loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:10px;display:flex}.notification-read-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.notification-read-summary>div{background:#f7f9fc;border:1px solid #e7ebf1;border-radius:12px;flex-direction:column;gap:3px;padding:13px;display:flex}.notification-read-summary strong{color:var(--navy);font-size:22px}.notification-read-summary span{color:var(--muted);font-size:8px}.notification-reader-columns{grid-template-columns:1fr 1fr;gap:13px;display:grid}.notification-reader-columns>section{background:#f9fdfb;border:1px solid #dcebe5;border-radius:14px;padding:13px}.notification-reader-columns>section.pending-readers{background:#fffdf8;border-color:#eadfd0}.notification-reader-columns h3{align-items:center;gap:7px;margin:0 0 10px;font-size:11px;display:flex}.notification-reader-columns h3>span{width:23px;height:23px;color:var(--green);background:#e3f3ec;border-radius:7px;place-items:center;display:grid}.notification-reader-columns .pending-readers h3>span{color:#ad7726;background:#fff0dc}.notification-reader-list{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow:auto}.notification-reader-list article{background:#fff;border:1px solid #e8ebef;border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.reader-avatar{width:30px;height:30px;color:var(--blue);background:#edf2ff;border-radius:9px;place-items:center;font-size:8px;font-weight:900;display:grid}.notification-reader-list article>div{flex-direction:column;gap:2px;display:flex}.notification-reader-list strong{font-size:9px}.notification-reader-list small{color:var(--muted);font-size:7px}.notification-reader-list em{color:#a66439;background:#fff1e5;border-radius:7px;padding:4px 6px;font-size:6px;font-style:normal;font-weight:800}.reader-empty{color:var(--muted);margin:0;padding:12px;font-size:9px;line-height:1.5}.notification-read-modal>footer{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.notification-read-modal>footer small{color:var(--muted);font-size:8px}@media (max-width:650px){.notification-read-modal{padding:18px}.notification-read-summary,.notification-reader-columns{grid-template-columns:1fr}.notification-read-modal>footer{flex-direction:column;align-items:stretch}.notification-read-modal>footer .primary{width:100%}}.permission-control-page{padding-bottom:0!important}.permission-control-page+.studio-page{padding-top:16px!important}.student-card-permission{background:linear-gradient(135deg,#f5fcf9,#edf7ff);border:1px solid #cde6dc;border-radius:18px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 20px;display:grid}.student-card-permission.disabled{background:linear-gradient(135deg,#fffaf5,#f7f5f2);border-color:#ead7c9}.permission-icon{width:52px;height:52px;color:var(--green);background:#dff3eb;border-radius:15px;place-items:center;font-size:23px;font-weight:950;display:grid}.student-card-permission.disabled .permission-icon{color:#a86734;background:#f4e7dc}.student-card-permission h2{margin:2px 0 4px;font-size:15px}.student-card-permission p{color:var(--muted);margin:0;font-size:9px;line-height:1.45}.student-card-permission .eyebrow{color:var(--green)}.student-card-permission.disabled .eyebrow{color:#a86734}.permission-switch{color:#347964;cursor:pointer;background:#e0f1ea;border:0;border-radius:12px;align-items:center;gap:9px;min-width:130px;padding:10px 12px;display:flex}.permission-switch>span{background:#4ba286;border-radius:999px;width:37px;height:20px;position:relative}.permission-switch>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:3px;right:3px;box-shadow:0 2px 5px #18382d32}.permission-switch strong{font-size:9px}.student-card-permission.disabled .permission-switch{color:#885b36;background:#eee6df}.student-card-permission.disabled .permission-switch>span{background:#a98d76}.student-card-permission.disabled .permission-switch>span:after{right:20px}.permission-switch:disabled{opacity:.6;cursor:wait}.personal-card-add:disabled{color:#8b94a0!important;cursor:not-allowed!important;background:#eef0f3!important;border-color:#dfe2e7!important}.student-card-creation-paused{background:#fff9f3;border:1px solid #ead8c9;border-radius:13px;align-items:center;gap:11px;margin:0 0 13px;padding:12px 14px;display:flex}.student-card-creation-paused>span{color:#9a673e;background:#f3e4d7;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.student-card-creation-paused strong{color:#885b36;font-size:10px}.student-card-creation-paused p{color:var(--muted);margin:3px 0 0;font-size:8px}@media (max-width:650px){.student-card-permission{grid-template-columns:46px 1fr;padding:15px}.permission-icon{width:44px;height:44px}.permission-switch{grid-column:1/-1;justify-content:center;width:100%}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
