:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f3f5f8;--surface:#fff;--surface-subtle:#f6f8fb;--surface-blue:#f5f8ff;--text:#172033;--text-soft:#667085;--text-faint:#8a94a6;--line:#d8dee8;--line-strong:#c9d2df;--blue:#2b5bd7;--blue-hover:#214ec2;--blue-soft:#edf3ff;--green:#168568;--green-soft:#eaf7f2;--orange:#a6630c;--orange-soft:#fff6e5;--red:#c9323c;--red-soft:#fff0f1;--radius:8px;--type-body:16px;--type-supporting:15px;--type-caption:14px;--type-reading:17px;--type-card-title:18px;--type-section-title:20px;--type-page-title:28px;--type-metric:32px;--line-body:1.5;--upload-control-min-height:118px;--upload-control-icon-size:48px;--upload-control-button-height:48px;--upload-control-gap:18px;--upload-control-padding-block:20px;--upload-control-padding-inline:22px;--assignment-upload-slot-height:240px}*{box-sizing:border-box}html{scrollbar-gutter:stable;background:var(--canvas);min-width:320px;overflow-y:scroll}body{color:var(--text);background:var(--canvas);font-family:XinChao Noto Sans KR,Noto Sans KR,Malgun Gothic,Apple SD Gothic Neo,Arial,sans-serif;font-size:var(--type-body);font-synthesis:none;line-height:var(--line-body);text-rendering:optimizelegibility;margin:0}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3,p,dl,dd{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2b5bd738}.app-shell{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--canvas);width:min(100% - 48px,1200px);min-height:calc(100vh - 48px);margin:24px auto;overflow:clip}.app-header,.auth-header{z-index:20;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:24px;min-height:64px;padding:0 28px;display:flex;position:relative}.app-brand{letter-spacing:-.01em;align-items:center;gap:9px;min-width:max-content;font-weight:800;display:inline-flex}.app-brand img{object-fit:contain}.desktop-nav{align-self:stretch;align-items:center;gap:6px;display:flex}.desktop-nav a{color:#4f5b6d;border:1px solid #0000;border-radius:6px;align-items:center;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.desktop-nav a:hover{background:var(--surface-subtle)}.desktop-nav a.active{color:var(--blue);background:var(--blue-soft);border-color:#c8d7ff}.desktop-account{color:var(--text-soft);font-size:var(--type-supporting);align-items:center;gap:14px;margin-left:auto;font-weight:600;display:flex}.menu-button{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-left:auto;display:none}.menu-button:before{border:1px solid var(--line-strong);content:"";border-radius:6px;width:36px;height:36px;position:absolute}.menu-button span{background:#718096;width:18px;height:1px;position:relative}.mobile-menu{z-index:50;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:230px;padding:8px;display:none;position:fixed;top:64px;right:max(24px,50vw - 576px);box-shadow:0 8px 28px #1720331f}.mobile-menu a{border-radius:6px;align-items:center;min-height:44px;padding:0 14px;font-weight:600;display:flex}.mobile-menu a:hover{background:var(--surface-subtle)}.app-main{padding:24px 28px 36px}.narrow-main{width:min(100%,820px);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;min-height:74px;margin-bottom:20px;display:flex}.page-heading h1{letter-spacing:-.015em;font-size:24px;line-height:1.25}.page-heading-title-row{align-items:center;gap:12px;display:flex}.page-heading-title-mobile{display:none}.page-heading p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:8px}.heading-actions{gap:8px;display:flex}.surface{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:22px 24px}.surface-title{font-size:var(--type-supporting);letter-spacing:-.01em;line-height:1.35}.surface-heading-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.surface-heading-row h2{font-size:18px}.surface-heading-row>span,.surface-heading-row>a{color:var(--text-soft);font-size:var(--type-supporting);font-weight:600}.surface-heading-row>a{color:var(--blue);white-space:nowrap}.surface-footnote,.quiet-note{color:var(--text-soft);font-size:var(--type-supporting)}.section-divider{background:var(--line);height:1px;margin:20px 0}.eyebrow{color:var(--blue);font-size:var(--type-supporting);font-weight:700}.meta{color:var(--text-soft);font-size:var(--type-supporting)}.section-description{color:var(--text-soft);font-size:var(--type-supporting);margin-top:10px}.blue-note{color:var(--blue);font-size:var(--type-supporting);margin:8px 0 16px;font-weight:600}.danger-text{color:var(--red)}.button{cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 20px;font-weight:700;line-height:1;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{border-color:var(--blue);color:#fff;background:var(--blue)}.button-primary:hover:not(:disabled){background:var(--blue-hover)}.button-dark{color:#fff;background:#343941;border-color:#343941}.button-dark:hover:not(:disabled){background:#252a31;border-color:#252a31}.button-danger{border-color:var(--red);color:#fff;background:var(--red)}.button-danger:hover:not(:disabled){background:#ad2832}.button-success{color:#126b53;background:var(--green-soft);border-color:#9dd8c4}.button-success:hover:not(:disabled){background:#def3eb;border-color:#6fc3a6}.button-secondary{border-color:var(--line-strong);color:var(--text);background:var(--surface)}.button-secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:#aeb9c9}.button-small{min-height:40px;padding:0 16px}.button-block{width:100%}.button:disabled{color:#9aa3b2;cursor:not-allowed;background:#e9ecf1;border-color:#e0e4ea;transform:none}.text-link{min-height:44px;color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;font-weight:700;display:inline-flex}.link-hit{padding:0 10px}.destructive-link{min-height:32px;color:var(--red);font-size:var(--type-supporting)}.status-badge{color:#5d6879;min-height:0;font-size:var(--type-supporting);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font-weight:700;display:inline}.status-warning{color:var(--orange);background:0 0}.status-success{color:var(--green);background:0 0}.status-danger{color:var(--red);background:0 0}.status-info{color:var(--blue);background:0 0}.field-group{gap:8px;min-width:0;font-weight:600;display:grid}.field-group>span,.field-group>label{color:#4b5668;font-size:var(--type-supporting)}.field-group small{color:var(--text-soft);font-size:var(--type-supporting);font-weight:400}.field-group input,.field-group select,.field-group textarea,.standalone-input,.message-preview{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;outline:none;width:100%;min-height:48px;padding:12px 16px}.select-with-chevron{min-width:0;display:inline-grid;position:relative}label>.select-with-chevron{width:100%}.select-with-chevron select{appearance:none;text-align:center;text-align-last:center;padding-left:12px!important;padding-right:42px!important}.select-with-chevron select option{text-align:center}.select-with-chevron>.shell-icon{pointer-events:none;width:16px;height:16px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.field-group textarea,.message-preview{resize:vertical;min-height:112px}.field-group input:focus,.field-group select:focus,.field-group textarea:focus,.standalone-input:focus,.message-preview:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2b5bd717}.field-group input::placeholder,.field-group textarea::placeholder,.standalone-input::placeholder{color:#99a2b0}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:74px}.password-toggle{min-width:58px;min-height:40px;color:var(--blue);cursor:pointer;font-size:var(--type-supporting);background:0 0;border:0;border-radius:4px;font-weight:700;position:absolute;top:4px;right:6px}.password-toggle:hover{background:var(--blue-soft)}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.inline-alert{font-size:var(--type-supporting);background:0 0;border:0;border-radius:0;margin-bottom:20px;padding:0}.inline-alert p{margin-top:5px}.alert-danger{color:#9d2430;background:0 0}.alert-warning{color:#8a5309;background:0 0}.alert-success{color:#136b54;background:0 0}.alert-info{color:#244ea8;background:0 0}.auth-page{background:var(--canvas);place-items:center;min-height:100dvh;padding:32px;display:grid}.auth-frame{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);width:min(1120px,100%);min-height:min(680px,100dvh - 64px);display:grid;overflow:hidden}.auth-brand-panel{color:#fff;background:#343941;flex-direction:column;min-width:0;padding:40px 36px;display:flex}.auth-brand-link{color:#fff;align-items:center;gap:12px;width:fit-content;font-size:16px;font-weight:700;display:inline-flex}.auth-brand-link img{filter:grayscale()brightness(0)invert()}.auth-brand-copy{margin:auto 0}.auth-brand-copy strong{color:#d7dce5;font-size:15px;font-weight:600;display:block}.auth-brand-copy p{color:#fff;letter-spacing:-.02em;margin-top:12px;font-size:28px;font-weight:750;line-height:1.3}.auth-form-panel{background:var(--surface);place-items:center;min-width:0;padding:72px 64px;display:grid;position:relative}.auth-contact-link{min-height:40px;color:var(--blue);font-size:var(--type-supporting);align-items:center;font-weight:700;display:inline-flex;position:absolute;top:26px;right:30px}.auth-contact-link:hover{text-underline-offset:3px;text-decoration:underline}.auth-card{gap:20px;width:min(100%,424px);display:grid}.auth-title{padding-bottom:22px;position:relative}.auth-title h1{letter-spacing:-.02em;font-size:28px;line-height:1.3}.auth-title p{color:var(--text-soft);margin-top:10px;font-size:15px;line-height:1.55}.auth-title .auth-inline-error{min-height:18px;color:var(--red);font-size:var(--type-caption);opacity:0;margin:0;line-height:18px;position:absolute;bottom:0;left:0;right:0}.auth-title .auth-inline-error.is-visible{opacity:1}.auth-card .quiet-note{text-align:center;margin:0}.dashboard-grid{grid-template-columns:minmax(0,1.48fr) minmax(360px,1fr);gap:24px;display:grid}.lesson-surface{flex-direction:column;min-height:640px;display:flex}.student-day-head{align-items:center;gap:28px;display:flex}.student-day-head h1{letter-spacing:-.015em;margin-top:2px;font-size:28px;line-height:1.25}.student-greeting{color:var(--text-soft);margin-top:14px}.lesson-surface h2{letter-spacing:-.015em;margin-top:8px;font-size:24px}.definition-list{margin-top:16px}.definition-list>div{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr;align-items:center;min-height:48px;display:grid}.definition-list dt{color:var(--blue);font-size:var(--type-supporting);font-weight:700}.definition-list dd{font-weight:600}.attachment-row{border:1px solid var(--line);background:#f2f4f7;border-radius:6px;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;min-height:74px;margin-top:16px;padding:14px 18px;display:grid}.attachment-row>span:nth-child(2){gap:3px;display:grid}.attachment-row strong{font-size:var(--type-supporting)}.attachment-row small{color:var(--text-soft);font-size:var(--type-supporting)}.attachment-row b{color:var(--blue);font-size:var(--type-supporting)}.example-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.example-section h3{font-size:var(--type-supporting)}.example-section ol{margin:14px 0 0;padding-left:18px}.example-section li{margin:8px 0}.deadline-note{color:var(--text-soft);font-size:var(--type-supporting);margin-top:auto;padding-top:30px}.dashboard-side{align-content:start;gap:16px;display:grid}.progress-block+.progress-block{margin-top:18px}.progress-label{color:var(--text-soft);font-size:var(--type-supporting);justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-label strong{color:var(--blue)}.progress-track{background:#e9edf3;border-radius:99px;height:8px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--blue);height:100%;display:block}.surface-footnote{margin-top:16px}.task-list{margin:0;padding:0;list-style:none}.task-list li{border-bottom:1px solid var(--line);grid-template-columns:26px 1fr auto;align-items:center;gap:10px;min-height:64px;display:grid}.task-list li>span{width:24px;height:24px;color:var(--blue);background:var(--blue-soft);font-size:var(--type-supporting);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.task-list li>div{gap:3px;display:grid}.task-list strong{font-size:var(--type-supporting)}.task-list small,.task-list b{color:var(--text-soft);font-size:var(--type-supporting);font-weight:500}.task-list+.button{margin-top:16px}.compact-list{display:grid}.compact-list a{border-bottom:1px solid var(--line);min-height:44px;font-size:var(--type-supporting);grid-template-columns:58px 1fr auto;align-items:center;display:grid}.compact-list a:last-child{border-bottom:0}.compact-list em{color:var(--blue);font-style:normal}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.assignment-card{border-radius:6px;flex-direction:column;height:452px;padding:22px;display:flex}.assignment-card-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.assignment-card-title h2{margin:0;font-size:16px;line-height:1.45}.assignment-choice-copy{color:var(--text-soft);font-size:var(--type-caption);margin:-4px 0 12px;line-height:1.5}.assignment-number{color:#fff;width:20px;height:20px;font-size:var(--type-caption);background:#1b2333;border-radius:4px;flex:0 0 20px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.file-picker-block+.file-picker-block{margin-top:24px}.file-picker-block h3{font-size:var(--type-supporting)}.file-picker-block p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:5px}.file-picker{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:74px;margin-top:12px;padding:12px 16px;display:flex}.file-picker-block.is-compact .file-picker{background:#fff;min-height:58px;margin-top:0}.file-picker>span{min-width:0;color:var(--text-soft);font-size:var(--type-supporting);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-preview{background:#fff;min-height:76px}.file-preview-empty,.file-preview-selected{text-align:left;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:118px;padding:20px 22px;display:grid}.file-preview-empty .button,.file-preview-selected .button{justify-self:end;width:auto}.file-preview-empty .button{color:#fff;background:#343941;border-color:#343941}.file-preview-empty .button:hover,.file-preview-empty .button:focus-visible{color:#fff;background:#252a32;border-color:#252a32}.file-empty-copy{text-align:center;justify-items:center;gap:6px;width:100%;display:grid}.file-empty-copy strong{font-size:var(--type-supporting)}.file-empty-copy span{color:var(--text-soft);font-size:var(--type-supporting)}.handwriting-upload-icon,.handwriting-upload-thumbnail{color:#4e596b;background-color:#f1f2f5;background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.handwriting-upload-icon .shell-icon,.handwriting-upload-thumbnail .shell-icon{width:20px;height:20px}.handwriting-upload-copy{gap:4px;min-width:0;display:grid}.handwriting-upload-copy strong,.handwriting-upload-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handwriting-upload-copy strong{font-size:var(--type-supporting)}.handwriting-upload-copy span{color:var(--text-soft);font-size:var(--type-caption)}.segmented-control{gap:6px;display:flex}.segmented-control button{border:1px solid var(--line);cursor:pointer;min-height:44px;font-size:var(--type-supporting);background:#f4f6f9;border-radius:6px;padding:0 18px;font-weight:700}.segmented-control button.active{color:var(--blue);background:var(--blue-soft);border-color:#c5d5ff}.assignment-method-help{color:var(--text-soft);font-size:var(--type-supporting);margin:0 0 12px;line-height:1.55}.assignment-card .segmented-control{background:#f1f2f5;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;display:grid}.assignment-card .segmented-control button{min-width:0;min-height:44px;color:var(--text-soft);font-size:var(--type-caption);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.assignment-card .segmented-control button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #1720331f}.assignment-audio-copy{color:var(--text-soft);font-size:var(--type-caption);margin:-4px 0 12px;line-height:1.55}.sentence-fields{gap:14px;margin-top:18px;display:grid}.assignment-sentences>.file-picker-block{margin-top:18px}.file-picker-block.is-fill{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.file-picker-block.is-fill>.upload-field{height:var(--assignment-upload-slot-height);min-height:var(--assignment-upload-slot-height);flex:none;align-content:center}.assignment-files>.audio-recorder-panel{height:var(--assignment-upload-slot-height);min-height:var(--assignment-upload-slot-height);align-content:center}@media (min-width:861px){.assignment-files>.audio-recorder-panel{margin-top:auto;padding-top:0}.assignment-files>.audio-recorder-panel.has-recording{height:264px;min-height:264px}}.upload-field{grid-template-columns:var(--upload-control-icon-size) minmax(0, 1fr) auto;align-items:center;gap:var(--upload-control-gap);width:100%;min-height:var(--upload-control-min-height);padding:var(--upload-control-padding-block) var(--upload-control-padding-inline);border:1px solid var(--line);background:#fff;border-radius:6px;display:grid;position:relative}.upload-field-visual{width:var(--upload-control-icon-size);height:var(--upload-control-icon-size);color:var(--text-soft);background:#f1f3f6 50%/cover no-repeat;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.upload-field-visual .shell-icon{width:20px;height:20px}.upload-field-copy{gap:5px;min-width:0;display:grid}.upload-field-copy strong{color:var(--text);font-size:var(--type-supporting);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.upload-field-copy span{color:var(--text-soft);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.upload-kind-audio.has-selection .upload-field-copy strong,.upload-kind-lesson-audio.has-selection .upload-field-copy strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}.upload-field-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.upload-field-button{min-width:112px;min-height:var(--upload-control-button-height);color:#fff;cursor:pointer;background:#343941;border-color:#343941}.upload-field-button:hover,.upload-field-button:focus-visible{color:#fff;background:#252a32;border-color:#252a32}.upload-field-link,.upload-field-clear{min-height:40px;color:var(--blue);font:inherit;font-size:var(--type-caption);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:700}.upload-field-clear{color:var(--red)}.upload-field-link:hover,.upload-field-link:focus-visible,.upload-field-clear:hover,.upload-field-clear:focus-visible{text-underline-offset:3px;text-decoration:underline}.file-picker-block.is-compact{margin-top:0}.completion-row{color:var(--text-soft);font-size:var(--type-supporting);justify-content:space-between;align-items:center;margin-top:20px;display:flex}.completion-row b{color:var(--blue)}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.form-actions .button-primary{min-width:180px}.assignment-action-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.assignment-action-bar .completion-row,.assignment-action-bar .form-actions{margin-top:0}.submission-help-text{border-top:1px solid var(--line);color:#98a1b0;font-size:var(--type-caption);margin-top:22px;padding-top:16px;line-height:1.55}.submission-help-text p+p{margin-top:4px}.history-summary{background:#f0f3f7;grid-template-columns:repeat(3,1fr) auto;align-items:center;margin-bottom:16px;display:grid}.history-summary>div{border-right:1px solid var(--line);gap:8px;padding:0 24px;display:grid}.history-summary span{color:var(--text-soft);font-size:var(--type-supporting)}.history-summary strong{color:#1b2a43;font-size:20px}.history-summary p{color:var(--text-soft);font-size:var(--type-supporting)}.filter-bar{background:#eef2f7;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,.55fr)) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.filter-bar .button{min-width:124px}.history-layout{grid-template-columns:230px 1fr;gap:16px;display:grid}.history-range-list h2{font-size:var(--type-supporting);margin-bottom:14px}.history-range-list button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;width:100%;min-height:60px;padding:10px 32px 10px 12px;display:grid;position:relative}.history-range-list button.active{color:var(--blue);background:var(--blue-soft);border:1px solid #c7d7ff;border-radius:6px}.history-range-list button:disabled{color:#9ca5b3;cursor:not-allowed}.history-range-list button span{color:var(--text-soft);font-size:var(--type-supporting)}.history-range-list button b{font-size:20px;position:absolute;top:18px;right:12px}.history-table,.data-table{padding:0;overflow:hidden}.table-header,.table-row{align-items:center;gap:14px;padding:0 18px;display:grid}.history-table .table-header,.history-table .table-row{grid-template-columns:70px 1.3fr minmax(120px,.6fr) 150px}.table-header{min-height:54px;color:var(--text-soft);font-size:var(--type-supporting);background:#eef2f7;font-weight:700}.table-row{border-bottom:1px solid var(--line);min-height:74px}.table-row:last-child{border-bottom:0}.table-row small{color:var(--text-soft);font-size:var(--type-supporting);margin-top:4px;display:block}.lesson-detail h2{margin-top:8px;font-size:24px}.lesson-detail>p:not(.eyebrow){color:var(--text-soft);margin-top:10px}.detail-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.full-lesson-main{width:100%}.full-lesson-word{margin-bottom:16px}.full-lesson-word .eyebrow{font-size:18px}.full-lesson-word-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:10px;display:flex}.full-lesson-word-row h2{letter-spacing:-.015em;font-size:26px;line-height:1.35}.full-lesson-word-row p{color:var(--text-soft);font-size:var(--type-supporting);flex:none;font-weight:600}.full-lesson-word-list{gap:8px;min-width:0;display:grid}.full-lesson-word-item{letter-spacing:-.006em;font-size:18px;line-height:1.5;display:block}.full-lesson-word-item dt,.full-lesson-word-item dd{display:inline}.full-lesson-word-item dt{font-weight:800}.full-lesson-word-item dd{margin-inline-start:8px;font-weight:700}.full-lesson-word-level{min-width:54px;color:var(--blue);font-size:var(--type-supporting);margin-right:10px;font-weight:800;display:inline-flex}.full-lesson-notice{margin-top:0}.full-lesson-content{gap:18px;padding:0;display:grid}.full-lesson-level{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.full-lesson-level:first-child,.full-lesson-level:last-child{border-color:var(--line);background:var(--surface)}.full-lesson-level+.full-lesson-level{margin-top:0}.lesson-board-heading{border-bottom:1px solid var(--line);padding:24px;display:block}.lesson-board-title{min-width:0}.full-lesson-level-label{border-left:3px solid var(--blue);min-height:30px;color:var(--blue);font-size:var(--type-supporting);align-items:center;margin-bottom:12px;padding-left:10px;font-weight:800;display:inline-flex}.lesson-board-title h2{color:var(--text);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:24px;line-height:1.4;display:flex}.lesson-board-title h2>span{color:var(--text);font-size:24px;font-weight:800;line-height:1.4}.lesson-board-title h2 small{color:var(--text);font-size:24px;font-weight:700}.full-lesson-pronunciation{color:var(--text-soft);font-size:var(--type-supporting);margin-top:8px;line-height:1.55}.full-lesson-audio{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.lesson-audio-item{background:#eef0f2;border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;display:grid;overflow:hidden}.lesson-audio-region{z-index:1;width:60px;min-width:60px;height:48px;color:var(--text);font-size:var(--type-supporting);background:#eef0f2;justify-content:center;align-items:center;margin-right:-12px;padding:0 10px;font-weight:500;display:inline-flex;position:relative}.lesson-audio-control{min-width:0}.lesson-audio-player{width:100%;min-width:0;height:48px}.lesson-audio-mobile-controls{display:none}.lesson-study-grid{display:grid}.lesson-study-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);min-height:160px;display:grid}.lesson-study-row:last-child{border-bottom:0}.lesson-study-sentence{align-content:center;gap:7px;padding:24px;display:grid}.lesson-study-sentence>strong{font-size:18px;line-height:1.55}.lesson-study-sentence>span{color:var(--text-soft);font-size:var(--type-supporting);line-height:1.5}.lesson-study-sentence>p{color:var(--blue);font-size:var(--type-body);line-height:1.6}.lesson-study-expressions{border-left:1px solid var(--line);background:#fbfcfd;align-content:center;gap:11px;margin:0;padding:24px 24px 24px 46px;list-style:square;display:grid}.lesson-study-expressions:empty{display:block}.lesson-study-expressions li{font-size:var(--type-body);padding-left:2px;line-height:1.55}.lesson-study-expressions li::marker{color:var(--text);font-size:.72em}.lesson-study-expressions strong{font-weight:800}.full-lesson-extra{border-top:1px solid var(--line);background:#fafbfc;padding:24px}.full-lesson-extra h3{color:var(--red);letter-spacing:-.01em;align-items:center;gap:9px;font-size:20px;display:flex}.full-lesson-extra h3 .shell-icon{color:#e5a62b;width:22px;height:22px}.full-lesson-extra>div{gap:8px;margin-top:14px;display:grid}.full-lesson-extra p{font-size:var(--type-body);line-height:1.65}.full-lesson-extra strong{font-weight:800}.full-lesson-review{min-height:220px}.full-lesson-review h2{font-size:20px}.full-lesson-review p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:12px}.full-lesson-actions{grid-template-columns:repeat(auto-fit,minmax(190px,252px));justify-content:center;gap:12px;margin-top:32px;display:grid}.history-latest-list{margin-top:16px}.student-record-home{width:100%}.student-progress-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;margin-bottom:16px;display:grid}.student-progress-bars{grid-template-columns:1fr 1fr;gap:28px;display:grid}.student-progress-bars .progress-block+.progress-block{margin-top:0}.student-progress-numbers{border-left:1px solid var(--line);align-items:stretch;display:flex}.student-progress-numbers>div{gap:6px;min-width:112px;padding:0 22px;display:grid}.student-progress-numbers>div+div{border-left:1px solid var(--line)}.student-progress-numbers span{color:var(--text-soft);font-size:var(--type-supporting)}.student-progress-numbers strong{font-size:20px}.today-learning-row{justify-content:space-between;align-items:center;gap:40px;margin-bottom:16px;display:flex}.today-learning-row h2{margin-top:6px;font-size:20px}.today-learning-row p:not(.eyebrow){color:var(--text-soft);font-size:var(--type-supporting);margin-top:7px}.today-learning-row .button{min-width:176px}.today-learning-actions{flex:none;grid-template-columns:repeat(2,minmax(176px,200px)) 32px;align-items:center;gap:10px;display:grid}.today-learning-actions.is-submitted{grid-template-columns:minmax(176px,200px)}.today-learning-actions.is-learning-only{grid-template-columns:repeat(2,minmax(176px,200px))}.today-learning-title{align-items:center;gap:12px;margin-top:6px;display:flex}.today-learning-title h2{margin-top:0}.student-record-home .today-learning-title h2{font-size:34px;line-height:1.2}.today-learning-mobile-title{display:none}.submission-state-icon{width:32px;height:32px;font-size:var(--type-supporting);cursor:help;border:1px solid;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex;position:relative}.submission-state-icon>span{justify-content:center;align-items:center;display:inline-flex}.submission-state-icon>span>svg{width:30px;height:30px}.submission-state-icon:after{z-index:8;border:1px solid var(--line-strong);opacity:0;width:max-content;max-width:220px;color:var(--text);content:attr(data-tooltip);font-size:var(--type-supporting);pointer-events:none;background:#fff;border-radius:4px;padding:7px 10px;font-weight:600;line-height:1.4;transition:opacity .12s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.submission-state-icon:hover:after,.submission-state-icon:focus-visible:after{opacity:1}.mobile-submission-state-icon{display:none}.missing-day-alert{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;display:flex}.missing-day-alert .button{color:var(--red);background:#fff;border-color:#e7aeb5;flex:none}.student-home-history{margin-top:0}.student-history-heading{min-height:68px;margin:0;padding:0 18px}.student-history-controls{align-items:center;gap:8px;display:flex}.student-history-sort select{border:1px solid var(--line-strong);min-width:112px;min-height:40px;color:var(--text);font:inherit;font-size:var(--type-supporting);cursor:pointer;background-color:#fff;border-radius:6px;padding:0 34px 0 12px;font-weight:600}.student-history-sort select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.student-history-scroll{overscroll-behavior:auto;max-height:none;overflow:visible}.student-history-empty{color:var(--text-soft);text-align:center;padding:28px 18px}.student-home-history .table-header,.student-home-history .table-row{grid-template-columns:52px 72px minmax(180px,1fr) 282px;column-gap:12px}.student-home-history>.table-header{border-bottom:1px solid var(--line-strong)}.student-history-status-header,.student-history-action-header{text-align:center}.student-history-action-header{text-align:left;padding-left:8px}.student-home-history .table-row{min-height:82px}.student-home-history .table-row.today{background:var(--blue-soft)}.student-history-status-cell{grid-area:1/1;justify-content:center;align-items:center;min-width:0;display:flex}.student-history-day-cell{white-space:nowrap;grid-area:1/2}.student-home-history .student-history-lesson-title{grid-area:1/3}.student-home-history .student-history-actions{grid-area:1/4}.student-history-actions{grid-template-columns:112px 154px;justify-content:end;align-items:center;gap:8px;display:grid}.audio-input-tabs{margin-top:0}.audio-input-tabs button{min-height:44px}.audio-recorder-panel{background:0 0;border:0;gap:10px;width:100%;min-width:0;padding:12px 0 0;display:grid}.audio-recorder-stage{min-height:var(--assignment-upload-slot-height);border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-rows:auto minmax(78px,1fr) auto;display:grid;overflow:hidden}.audio-recorder-head{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 4px;display:flex}.audio-recorder-status{color:var(--text-soft);font-size:var(--type-caption);align-items:center;gap:7px;font-weight:700;display:inline-flex}.audio-recorder-status-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.audio-recorder-time{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-align:right;font-size:28px;line-height:1.2}.audio-recorder-waveform{width:calc(100% - 36px);height:104px;margin:0 18px;display:block}.audio-recorder-footer{border-top:1px solid var(--line);background:#fafbfc;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:14px 14px 16px 18px;display:flex}.audio-recorder-footer>span{min-width:0;color:var(--text-soft);font-size:var(--type-caption);line-height:1.45}.audio-recorder-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.audio-recorder-panel.is-recording .audio-recorder-status{color:#e83c4f}.audio-recorder-stop-button{min-width:128px}.audio-recorder-stop-mark{background:#e83c4f;border-radius:3px;flex:none;width:13px;height:13px}.audio-recorder-stage .inline-alert{margin:0 18px 12px}.audio-recorder-panel.has-recording:not(.is-recording) .audio-recorder-stage{grid-template-rows:auto 42px auto;min-height:166px}.audio-recorder-panel.has-recording:not(.is-recording) .audio-recorder-waveform{height:42px}.audio-recorder-preview{width:100%;height:42px}.audio-recorder-file{width:100%;min-width:0;max-width:100%;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 8px 2px;line-height:1.45;overflow:hidden}.student-history-actions .button{min-height:44px;font-size:var(--type-supporting);padding:0 12px}.student-history-actions .student-learning-action{border-color:var(--line-strong);color:var(--text);background:var(--surface)}.student-history-actions .student-learning-action:hover:not(:disabled){background:var(--surface-subtle);border-color:#aeb9c9}.student-history-actions .student-learning-action.is-today{color:#fff;background:#343941;border-color:#343941}.student-history-actions .student-learning-action.is-today:hover:not(:disabled){background:#20242a;border-color:#20242a}.mobile-action-label,.mobile-status-label{display:none}.submission-confirmation{background:0 0;border:0;border-radius:0;align-items:center;gap:14px;margin-bottom:16px;padding:0;display:flex}.submission-confirmation.is-approved,.submission-confirmation.is-revision,.submission-confirmation.is-late,.submission-confirmation.is-pending{background:0 0;border:0}.submission-confirmation-copy{flex:auto;min-width:0}.submission-confirmation strong{letter-spacing:-.01em;font-size:30px;line-height:1.35}.submission-confirmation p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:3px}.submitted-assignment-summary{padding-top:20px;padding-bottom:20px}.submitted-assignment-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.submitted-assignment-heading h2{font-size:var(--type-card-title);margin:0}.submission-inline-edit{color:#d12f3c;white-space:nowrap;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.submission-inline-edit:hover{text-decoration:underline}.submission-inline-edit:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #d12f3c}.submitted-assignment-summary section{border-top:1px solid var(--line)}.submitted-assignment-summary h3{font-size:var(--type-supporting)}.submitted-assignment-summary .submitted-sentence-summary{padding:18px 0;display:block}.submitted-method{color:var(--text-soft);font-size:var(--type-supporting);margin-top:5px}.submitted-sentence-summary ol{margin:12px 0 0;padding-left:22px}.submitted-sentence-summary li{margin:7px 0}.submitted-text-preview{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;margin-top:14px;padding:18px 20px}.submitted-text-preview>strong{font-size:var(--type-supporting)}.submitted-text-preview li{font-size:var(--type-supporting);line-height:1.7}.submitted-handwriting-preview{border:1px solid var(--line);min-height:220px;color:var(--text-soft);background:#f7f8fa;border-radius:6px;place-items:center;margin-top:14px;display:grid}.submitted-handwriting-preview.has-image{background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;min-height:360px;padding:16px}.submitted-handwriting-preview.has-image span{font-size:var(--type-supporting);background:#ffffffeb;border-radius:4px;align-self:end;padding:5px 8px}.submitted-audio-summary{grid-template-columns:minmax(150px,.7fr) minmax(320px,1.3fr);align-items:center;gap:20px;min-height:92px;padding:18px 0 2px;display:grid}.submitted-audio-summary p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:4px}.submitted-audio-summary>span{color:var(--green);font-size:var(--type-supporting);font-weight:700}.audio-file-error{min-height:44px;color:var(--red);font-size:var(--type-caption);text-align:right;justify-content:flex-end;align-items:center;gap:12px;font-weight:700;line-height:1.45;display:flex}.audio-file-error strong{color:var(--red)}.submitted-audio-summary>.audio-file-error{justify-self:end}.admin-audio-file-error{width:100%}.submitted-audio-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.submitted-audio-actions audio{width:min(100%,280px);height:42px}.submission-followup{margin-top:20px}.submission-late-alert{margin-top:16px}.submission-result-page>.page-heading{min-height:0;margin-bottom:10px}.submission-result-page>.page-heading h1{font-size:28px}.submission-result-page .submission-confirmation{margin-bottom:14px}.submission-late-note{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-top:18px;padding-top:14px;display:flex}.submission-late-note>strong{color:var(--red);font-size:var(--type-supporting)}.submission-late-help{width:44px;height:44px;color:var(--text-soft);cursor:help;background:0 0;border:0;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex;position:relative}.submission-late-help:hover,.submission-late-help:focus-visible{color:var(--blue);background:var(--surface-subtle)}.submission-late-help>svg{width:18px;height:18px}.submission-late-help [role=tooltip]{z-index:5;border:1px solid var(--line-strong);color:#fff;width:min(320px,100vw - 48px);font-size:var(--type-caption);text-align:left;opacity:0;pointer-events:none;background:#343941;border-radius:5px;padding:10px 12px;font-weight:500;line-height:1.55;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);right:0;transform:translateY(4px);box-shadow:0 8px 20px #17203324}.submission-late-help:hover [role=tooltip],.submission-late-help:focus-visible [role=tooltip]{opacity:1;transform:translateY(0)}.submission-actions{justify-content:center;gap:10px;display:flex}.submission-actions .button{min-width:156px}.submission-correction-link{min-height:48px;padding:0 12px}.submission-history{border-top:1px solid var(--line);color:var(--text-soft);font-size:var(--type-supporting);align-items:center;gap:14px;margin-top:20px;padding-top:16px;display:flex}.submission-history strong{color:var(--text);font-size:var(--type-supporting)}.followup-card{gap:12px;margin-top:18px;display:grid}.followup-card h2{font-size:var(--type-supporting);margin-bottom:4px}.followup-card h3{font-size:var(--type-supporting)}.followup-card p{color:var(--text-soft);font-size:var(--type-supporting)}.detail-key-value{color:var(--text-soft);justify-content:space-between;margin-bottom:8px;display:flex}.request-form{gap:22px;display:grid}.request-form .file-picker-block>div+.upload-field{margin-top:14px}.admin-home-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.operation-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:space-between;min-height:180px;padding:22px 24px;display:grid;position:relative}.operation-card:hover{border-color:#b6c7f0}.operation-card h2{font-size:18px}.operation-card p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:8px}.operation-card>strong{color:var(--blue);margin-top:20px;font-size:18px}.operation-card>span{color:var(--blue);font-size:var(--type-supporting);font-weight:700;position:absolute;bottom:22px;right:22px}.example-disclaimer{color:var(--text-soft);font-size:var(--type-supporting);text-align:right;margin:-8px 0 16px}.admin-filter{grid-template-columns:minmax(180px,1.05fr) minmax(130px,.68fr) minmax(160px,.78fr) minmax(170px,.84fr) 112px;gap:14px}.admin-management-tabs{border-bottom:1px solid var(--line);gap:28px;min-height:48px;margin:-6px 0 18px;display:flex}.admin-management-tabs a{min-width:112px;min-height:48px;color:var(--text-soft);border-bottom:3px solid #0000;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.admin-management-tabs a:hover{color:var(--text)}.admin-management-tabs a:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:-3px;border-radius:4px}.admin-management-tabs a.active{border-bottom-color:var(--blue);color:var(--blue)}.submission-table .table-header,.submission-table .table-row{grid-template-columns:minmax(190px,1.05fr) minmax(280px,1.55fr) minmax(110px,.62fr) minmax(130px,.72fr) 112px;column-gap:20px}.submission-table .progress-block{width:100%}.submission-table .progress-label span{display:none}.table-caption{border-top:1px solid var(--line);min-height:56px;color:var(--text-soft);font-size:var(--type-supporting);justify-content:space-between;align-items:center;gap:16px;padding:0 18px;display:flex}.admin-list-error{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-list-error .button{flex:none}.submission-review-state{gap:3px;min-width:0;display:grid}.submission-review-state strong,.submission-review-state small{overflow-wrap:anywhere}.submission-review-state .late-request-indicator{color:var(--blue);font-weight:700}.review-workbench{background:0 0;grid-template-columns:286px minmax(0,1fr) 318px;gap:16px;min-height:560px;display:grid}.review-rail{border:1px solid var(--line);border-radius:var(--radius);background:#eef2f7;padding:20px}.student-summary h2{font-size:var(--type-supporting)}.student-summary p{color:var(--text-soft);font-size:var(--type-supporting);margin:5px 0 14px}.review-filter{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 14px;display:grid}.mobile-day-select{display:none}.review-filter button{white-space:nowrap;flex:1;min-width:0;padding:0 6px}.day-rail{display:grid}.day-rail a{border-bottom:1px solid var(--line);min-height:54px;padding:9px 28px 9px 18px;display:grid;position:relative}.day-rail a span{color:var(--text-soft);font-size:var(--type-supporting)}.day-rail a b{font-size:20px;position:absolute;top:13px;right:12px}.review-content{border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:16px;display:grid}.submitted-media-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.submitted-media-grid h3{font-size:var(--type-supporting);margin-bottom:10px}.image-placeholder{border:1px solid var(--line-strong);width:100%;min-height:180px;color:var(--text-soft);cursor:pointer;background:#f7f9fc;border-radius:4px;justify-content:center;align-items:center;display:flex}.submitted-media-grid section>p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:14px}.audio-player{border:1px solid var(--line-strong);cursor:pointer;background:#f6f8fb;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 14px;display:flex}.audio-player span{color:#fff;background:var(--blue);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.submitted-sentences{border:1px solid var(--line);background:#f5f7fa;border-radius:6px;margin-top:12px;padding:14px 16px}.submitted-sentences p{font-size:var(--type-supporting);margin:7px 0;line-height:1.65}.submission-history{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.submission-history h3{font-size:var(--type-supporting)}.submission-history a{float:right;color:var(--blue);font-size:var(--type-supporting);margin-top:-20px;font-weight:700}.submission-history p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:14px}.decision-panel{border-radius:var(--radius);background:var(--surface-blue);border:1px solid #c6d7ff;padding:22px 24px;scroll-margin-top:84px}.decision-panel h2{margin-bottom:18px;font-size:18px}.decision-panel h3{font-size:var(--type-supporting)}.two-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.variant-layout{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:260px 1fr;min-height:520px;display:grid;overflow:hidden}.variant-rail{background:#eef2f7;border:0;border-radius:0}.variant-rail h2{font-size:var(--type-supporting);margin-bottom:16px}.variant-rail button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-content:center;gap:4px;width:100%;min-height:62px;padding:10px 14px;font-weight:700;display:grid}.variant-rail button.active{color:var(--blue);background:var(--blue-soft);border:1px solid #c4d4ff;border-radius:6px}.variant-rail small{color:var(--text-soft);font-size:var(--type-supporting);font-weight:500}.variant-detail{border:0;border-radius:0;flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.variant-detail>h2,.variant-detail>.inline-alert{width:100%}.variant-media{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;width:min(100%,500px);padding:20px}.variant-media .image-placeholder{margin-top:14px}.lesson-manager{grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.lesson-list{height:min(920px,100vh - 210px);min-height:680px;max-height:920px;overflow-y:auto}.lesson-list h2{font-size:var(--type-supporting);margin-bottom:14px}.lesson-list-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.lesson-list-tools>div{align-items:center;gap:8px;display:flex}.lesson-list-tools h2{margin:0}.lesson-list-tools span{color:var(--text-soft);font-size:var(--type-caption)}.lesson-list-tools a{color:var(--blue);font-size:var(--type-caption);font-weight:700;text-decoration:none}.lesson-create-button{width:100%;margin-bottom:12px}.lesson-list .standalone-input{margin-bottom:14px}.lesson-list .lesson-list-item{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;width:100%;min-height:64px;padding:11px 88px 11px 18px;display:grid;position:relative}.lesson-list .lesson-list-item span,.lesson-list .lesson-list-item em{color:var(--text-soft);font-size:var(--type-supporting);font-style:normal}.lesson-list .lesson-list-item em{position:absolute;top:22px;right:16px}.day-rail a.active,.lesson-list .lesson-list-item.active{border:0;border-bottom:1px solid var(--line);color:var(--text);box-shadow:none;background:#f1f4f8;border-radius:6px}.day-rail a.active strong,.lesson-list .lesson-list-item.active strong{color:var(--text)}.day-rail a.active>.shell-icon,.lesson-list .lesson-list-item.active em{color:var(--blue)}.shell-search-category{min-width:74px;color:var(--blue);font-size:var(--type-caption);flex:0 0 74px;align-items:center;font-weight:700;display:inline-flex}.shell-search-result-copy{gap:3px;min-width:0;display:grid}.shell-search-result-copy strong,.shell-search-result-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-editor{align-content:start;gap:16px;display:grid}.lesson-editor textarea{min-height:176px;line-height:1.8}.lesson-editor input,.lesson-editor textarea{font-weight:400}.admin-attachment{border:1px solid var(--line);background:#f3f5f8;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:76px;padding:12px 20px;display:grid}.admin-attachment>div{gap:5px;display:grid}.admin-attachment small{color:var(--text-soft);font-size:var(--type-supporting)}.schedule-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.two-column>.surface{min-height:420px}.two-column h2{margin-bottom:18px;font-size:18px}.selection-list{gap:10px;margin:18px 0;display:grid}.selection-list label{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:44px;display:flex}.message-preview{margin-top:16px}.filter-inline{gap:8px;display:flex}.admin-count{color:var(--orange);font-size:var(--type-supporting);font-weight:700}.admin-home-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;margin-bottom:16px;display:grid}.admin-home-summary-main{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:28px;min-width:0;display:grid}.perfect-rate-stat{border-right:1px solid var(--line);text-align:left;min-height:96px;color:inherit;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding-right:28px;text-decoration:none;display:flex}.perfect-rate-stat:hover .perfect-rate-count strong{color:var(--blue)}.perfect-rate-stat:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}.perfect-rate-stat>span{color:var(--blue);font-size:var(--type-supporting);font-weight:700}.perfect-rate-count{white-space:nowrap;justify-content:flex-start;align-items:baseline;gap:10px;display:flex}.perfect-rate-count strong{letter-spacing:-.015em;font-size:34px;line-height:1}.perfect-rate-count small{color:var(--text-soft);font-size:16px;font-weight:600}.admin-home-summary .progress-label strong{letter-spacing:-.015em;font-size:28px;line-height:1}.admin-home-summary-numbers{border-left:1px solid var(--line);align-items:stretch;display:flex}.admin-home-summary-numbers>a{min-width:96px;color:inherit;gap:6px;padding:0 18px;text-decoration:none;display:grid}.admin-home-summary-numbers>a+a{border-left:1px solid var(--line)}.admin-home-summary-numbers>a:hover strong,.admin-home-summary-numbers>a:focus-visible strong{color:var(--blue)}.admin-home-summary-numbers span{color:var(--text-soft);font-size:var(--type-supporting);white-space:nowrap}.admin-home-summary-numbers strong{white-space:nowrap;font-size:20px}.admin-home-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(350px,.85fr);gap:16px;display:grid}.recent-period-table,.priority-work-table{padding:0;overflow:hidden}.recent-period-table .surface-heading-row,.priority-work-table .surface-heading-row{min-height:66px;margin:0;padding:0 18px}.recent-period-table .table-header,.recent-period-table .table-row{grid-template-columns:1fr .9fr .7fr .7fr}.priority-work-table .table-header,.priority-work-table .table-row{grid-template-columns:1.4fr .55fr 112px}.recent-period-table .table-row.is-current{background:var(--blue-soft)}.recent-period-table a.table-row{color:inherit}.recent-period-table a.table-row:hover,.recent-period-table a.table-row:focus-visible{background:#edf3ff}.priority-work-label{gap:4px;display:grid}.priority-work-label small{color:var(--text-soft);font-size:var(--type-caption);font-weight:500}.priority-work-count{font-size:var(--type-supporting);white-space:nowrap;font-weight:700}.priority-work-table .button{min-height:46px;padding:0 12px}@media (max-width:1180px) and (min-width:861px){.admin-home-summary{display:block}.admin-home-summary-numbers{border-top:1px solid var(--line);border-left:0;margin-top:22px;padding-top:20px}.admin-home-summary-numbers>a{flex:1 1 0;min-width:0}.admin-home-detail-grid{grid-template-columns:minmax(0,1fr)}.student-home-history .table-header{grid-template-columns:44px 70px minmax(0,1fr)}.student-home-history .table-header .student-history-action-header{display:none}.student-home-history .table-row{grid-template-columns:44px 70px minmax(0,1fr);row-gap:12px;padding-top:14px;padding-bottom:14px}.student-home-history .student-history-actions{grid-area:2/2/auto/4;grid-template-columns:112px 154px;justify-content:start}}.review-submission-section{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:18px 20px 20px}.review-submission-section h3{font-size:var(--type-supporting);margin-bottom:12px}.review-submission-section audio{width:min(100%,460px)}.late-recognition-review{margin-top:24px}.late-recognition-request-copy{color:var(--text-soft);margin:10px 0 18px;line-height:1.6}.late-recognition-actions{margin-top:18px}.late-recognition-empty{color:var(--text-soft);margin:10px 0 0}.lesson-editor-actions{justify-content:flex-end;display:flex}.lesson-editor-actions .button{width:124px;min-width:124px}.lesson-editor-actions .button-primary{width:180px;min-width:180px}.student-filter-bar{margin-bottom:16px}.student-filter-row{grid-template-columns:minmax(260px,520px) 124px 200px;justify-content:start;align-items:end;gap:12px;display:grid}.rate-filter-group{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:18px;display:grid}.rate-filter-group>span{color:#4b5668;font-size:var(--type-supporting);font-weight:600}.rate-filter-tabs{gap:8px;display:flex}.rate-filter-tabs button{border:1px solid var(--line-strong);color:#4f5b6d;background:var(--surface);cursor:pointer;border-radius:6px;min-width:92px;min-height:44px;padding:0 16px;font-weight:700}.rate-filter-tabs button:hover{background:var(--surface-subtle)}.rate-filter-tabs button.active{color:var(--blue);background:var(--blue-soft);border-color:#c8d7ff}.student-management-layout{margin-top:16px}.student-table .table-header,.student-table .table-row{grid-template-columns:minmax(150px,.9fr) minmax(170px,1.05fr) minmax(300px,2fr) 90px;column-gap:28px}.student-table .table-row>strong,.student-table .table-row>span{font-weight:500}.student-table .progress-block{width:min(100%,520px)}.student-table .button{width:90px;padding-inline:12px}.lesson-preview-page{width:min(100%,940px);margin:0 auto}.lesson-preview-surface{padding:30px 32px}.lesson-preview-surface header{border-bottom:1px solid var(--line);padding-bottom:26px}.lesson-preview-surface header>span{color:var(--blue);font-size:var(--type-supporting);font-weight:700}.lesson-preview-surface header h2{margin-top:8px;font-size:26px}.lesson-preview-surface header p{color:var(--text-soft);margin-top:10px;font-weight:400}.lesson-preview-surface section{border-bottom:1px solid var(--line);padding:28px 0}.lesson-preview-surface section:last-child{border-bottom:0;padding-bottom:0}.lesson-preview-surface section h3{margin-bottom:16px;font-size:20px}.lesson-preview-copy{color:var(--text);font-size:var(--type-supporting);white-space:pre-wrap;font-weight:400;line-height:1.85}.lesson-preview-audio{color:var(--text-soft);font-weight:400}.lesson-preview-actions{justify-content:center;margin-top:20px;display:flex}.lesson-preview-actions .button{width:180px}.modal-backdrop{z-index:80;background:#17203375;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.inquiry-backdrop{z-index:82;background:#17203375;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.inquiry-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:min(100%,560px);max-height:calc(100vh - 48px);overflow-y:auto}.inquiry-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 20px;display:flex}.inquiry-dialog-head h2{font-size:20px;line-height:1.4}.inquiry-dialog-head p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:6px;line-height:1.55}.inquiry-dialog-head>button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.inquiry-dialog-head>button:hover{background:var(--surface-subtle)}.inquiry-dialog-body{gap:18px;padding:22px 24px;display:grid}.inquiry-dialog-body textarea{min-height:180px}.inquiry-dialog-actions{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.inquiry-dialog-actions .button{min-width:108px}.inquiry-message{color:var(--green);font-size:var(--type-supporting);margin:0;line-height:1.55}.inquiry-message.is-warning{color:var(--red)}.student-detail-modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(100%,560px);max-height:calc(100vh - 48px);padding:24px;overflow-y:auto}.student-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.student-detail-heading h2{font-size:22px}.student-detail-heading p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:5px}.student-detail-heading button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:inline-flex}.student-detail-progress{gap:22px;padding:24px 0;display:grid}.student-detail-counts{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:24px;display:grid}.student-detail-counts>div{text-align:center;gap:8px;padding:18px 16px;display:grid}.student-detail-counts>div+div{border-left:1px solid var(--line)}.student-detail-counts span{color:var(--text-soft);font-size:var(--type-supporting)}.student-detail-counts strong{font-size:22px}.student-memo-section{margin-bottom:22px}.student-memo-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px;display:flex}.student-memo-heading h3{font-size:16px}.student-memo-heading p{color:var(--text-soft);font-size:var(--type-caption);margin-top:4px}.student-memo-composer{grid-template-columns:minmax(0,1fr) 72px;align-items:end;gap:10px;display:grid}.student-memo-composer textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:76px;color:var(--text);background:var(--surface);border-radius:6px;outline:none;padding:12px 14px}.student-memo-composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2b5bd717}.student-memo-composer .button{min-width:0;padding-inline:12px}.student-memo-list{gap:8px;margin-top:14px;display:grid}.student-memo-list article{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;padding:12px 14px}.student-memo-list article p{white-space:pre-wrap;line-height:1.6}.student-memo-list article footer{color:var(--text-soft);font-size:var(--type-caption);margin-top:7px}.student-memo-empty{color:var(--text-soft);border:1px dashed var(--line-strong);text-align:center;border-radius:6px;padding:14px}.student-notes-surface{padding:0;overflow:hidden}.student-notes-list{display:grid}.student-note-row{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr) 150px;align-items:start;gap:24px;padding:20px 24px;display:grid}.student-note-row:last-child{border-bottom:0}.student-note-student,.student-note-meta{gap:4px;display:grid}.student-note-student span,.student-note-meta span{color:var(--text-soft);font-size:var(--type-caption)}.student-note-row>p{white-space:pre-wrap;line-height:1.65}.student-note-meta{text-align:right}.student-notes-local-note{color:var(--text-soft);font-size:var(--type-caption);margin-top:12px}.refund-summary{grid-template-columns:150px 150px minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:16px;display:grid}.refund-summary>div{gap:4px;display:grid}.refund-summary span,.refund-summary p{color:var(--text-soft);font-size:var(--type-supporting)}.refund-summary strong{font-size:24px}.refund-table .table-header,.refund-table .table-row{grid-template-columns:minmax(190px,.85fr) minmax(280px,1.2fr) minmax(220px,.95fr) 108px;column-gap:16px}.refund-table .progress-block{width:calc(100% - 28px)}.settings-fields{gap:16px;margin-bottom:20px;display:grid}.audit-list{border-top:1px solid var(--line);margin:20px 0}.audit-list>div{border-bottom:1px solid var(--line);padding:14px 0}.audit-list p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:4px}.settings-page{padding-bottom:48px}.settings-page h2{font-size:18px}.maintenance-control{border-color:var(--line-strong);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:16px;display:grid}.maintenance-control.is-active{background:snow;border-color:#efb8bd}.maintenance-control .surface-heading-row{justify-content:flex-start;gap:12px;margin-bottom:10px}.maintenance-control-copy>p{color:var(--text-soft);line-height:1.65}.maintenance-control>.button{width:128px}.maintenance-times{gap:28px;margin-top:16px;display:flex}.maintenance-times>div{gap:4px;display:grid}.maintenance-times dt{color:var(--text-soft);font-size:var(--type-supporting)}.maintenance-times dd{font-weight:700}.student-popup-manager{gap:22px;display:grid}.app-shell-admin .student-popup-manager{margin-top:20px}.student-popup-manager .surface-heading-row{align-items:start}.student-popup-manager .surface-heading-row p{color:var(--text-soft);margin-top:6px;line-height:1.55}.student-popup-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.student-popup-select-row{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.student-popup-title,.student-popup-body{grid-column:1/-1}.student-popup-body textarea{min-height:112px}.student-popup-image-order{grid-column:1/-1;gap:8px;display:grid}.student-popup-image-order-item{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;grid-template-columns:44px 28px 76px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;padding:10px 12px;transition:border-color .14s ease-out,background .14s ease-out,opacity .14s ease-out;display:grid}.student-popup-image-order-item.is-dragging{opacity:.56}.student-popup-image-order-item.is-drag-target{border-color:var(--blue);background:var(--blue-soft)}.student-popup-image-drag-handle{width:44px;height:44px;color:var(--text-soft);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.student-popup-image-drag-handle:hover{color:var(--blue);background:#fff}.student-popup-image-drag-handle:active{cursor:grabbing}.student-popup-image-drag-handle .shell-icon{width:22px;height:22px}.student-popup-image-order-number{font-variant-numeric:tabular-nums;text-align:center;font-weight:700;color:var(--text-soft)!important}.student-popup-image-order-item>img{object-fit:contain;background:#fff;border-radius:4px;width:76px;height:56px;display:block}.student-popup-image-order-copy{gap:4px;min-width:0;display:grid}.student-popup-image-order-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-popup-image-order-item span{color:var(--text-soft);font-size:var(--type-caption)}.student-popup-image-order-actions{gap:6px;display:flex}.student-popup-image-order-actions button{border:1px solid var(--line-strong);min-height:44px;color:var(--text);background:var(--surface);cursor:pointer;font-size:var(--type-caption);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:inline-flex}.student-popup-image-order-actions .shell-icon{width:18px;height:18px}.student-popup-image-order-actions button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.student-popup-image-order-actions button:disabled{color:var(--text-faint);cursor:not-allowed;background:#eef1f5}.student-popup-image-order-actions button.is-danger{color:var(--red)}.student-popup-image-edit-backdrop{z-index:120;background:#17203375;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.student-popup-image-edit-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex-direction:column;width:min(820px,100%);height:min(760px,100dvh - 48px);max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.student-popup-image-edit-head{border-bottom:1px solid var(--line);flex:0 0 80px;justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:14px 18px 14px 24px;display:flex}.student-popup-image-edit-head h2{margin:0;font-size:20px}.student-popup-image-edit-head p{max-width:52ch;color:var(--text-soft);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.student-popup-image-edit-body{flex:auto;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:24px;min-height:0;padding:24px;display:grid;overflow-y:auto}.student-popup-image-edit-preview{border:1px solid var(--line);background:#f5f6f8;border-radius:6px;place-items:center;height:360px;margin:0;display:grid;position:sticky;top:0;overflow:hidden}.student-popup-image-edit-preview img{width:100%;height:100%;display:block}.student-popup-image-edit-preview.is-rotated-sideways img{width:78%;height:78%}.student-popup-image-edit-fields{align-content:start;gap:18px;display:grid}.student-popup-image-edit-group{border:0;min-width:0;padding:0}.student-popup-image-edit-group legend{color:#4b5668;font-size:var(--type-supporting);margin-bottom:8px;font-weight:600}.student-popup-image-rotation-controls{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:8px;display:grid}.student-popup-image-rotation-controls button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-weight:700;display:inline-flex}.student-popup-image-rotation-controls button:hover{border-color:var(--blue);color:var(--blue)}.student-popup-image-rotation-controls span{color:var(--text-soft);font-variant-numeric:tabular-nums;text-align:center}.student-popup-image-edit-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.student-popup-image-edit-error{color:var(--red);font-size:var(--type-supporting);margin:-4px 0 0;font-weight:600}.student-popup-image-edit-actions{border-top:1px solid var(--line);flex:0 0 76px;justify-content:flex-end;align-items:center;gap:10px;min-height:76px;padding:14px 24px;display:flex}.student-popup-image-edit-actions .button{min-width:112px}.student-popup-error{color:var(--red);grid-column:1/-1;font-weight:600}.student-popup-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.student-popup-actions .button{width:160px}.scheduled-popup-list{border-top:1px solid var(--line);gap:0;display:grid}.scheduled-popup-list h3{padding:18px 0 10px}.scheduled-popup-list article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;display:grid}.scheduled-popup-list article p{color:var(--text-soft);margin-top:4px}.scheduled-popup-list article .button{min-width:92px}.scheduled-popup-list>.quiet-note{padding:14px 0}.settings-primary-grid,.settings-secondary-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;margin-bottom:16px;display:grid}.settings-operation-card h2,.cloud-status-card h2,.security-summary-card h2,.audit-card h2{margin-bottom:18px}.settings-operation-card .settings-fields{grid-template-columns:1fr 1fr}.settings-field-wide{grid-column:1/-1}.cloud-status-card .surface-heading-row{margin-bottom:2px}.cloud-status-card .surface-heading-row>span{color:var(--text-soft)}.cloud-status-list{border-top:1px solid var(--line)}.cloud-status-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:82px;padding:14px 0;display:grid}.cloud-status-row p{color:var(--text-soft);margin-top:5px;line-height:1.55}.cloud-status-row .status-badge{min-width:0}.cloud-status-title{align-items:center;gap:4px;min-width:0;display:flex}.cloud-term-help{flex:none;display:inline-flex;position:relative}.cloud-term-help-trigger{width:40px;height:40px;color:var(--text-soft);cursor:help;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cloud-term-help-trigger:hover,.cloud-term-help-trigger:focus-visible{color:var(--text);background:var(--surface-subtle)}.cloud-term-help-trigger .shell-icon{width:18px;height:18px}.cloud-term-tooltip{z-index:18;border:1px solid var(--line-strong);width:min(320px,72vw);color:var(--text);font-size:var(--type-caption);background:#fff;border-radius:6px;padding:12px 14px;font-weight:500;line-height:1.55;position:absolute;top:calc(100% + 4px);left:-4px;box-shadow:0 8px 22px #1720331f}.security-summary-list{border-top:1px solid var(--line)}.security-summary-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:20px;padding:14px 0;display:grid}.security-summary-list dt{color:var(--text-soft)}.security-summary-list dd{text-align:right;font-weight:600}.console-only-note{background:var(--surface-subtle);border-left:3px solid #596579;margin:20px 0;padding:16px 18px}.console-only-note p{color:var(--text-soft);margin-top:7px;line-height:1.65}.security-summary-card>.button{width:fit-content}.audit-card .audit-list{margin-bottom:0}.audit-card .surface-heading-row{align-items:center;margin-bottom:0}.audit-card .surface-heading-row a{color:var(--blue);font-weight:700}.audit-toolbar{grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.audit-toolbar .field-group{margin:0}.audit-toolbar>p{color:var(--text-soft);font-size:var(--type-caption);grid-column:1/-1}.audit-log-table .table-header,.audit-log-table .table-row{grid-template-columns:180px 100px minmax(220px,.9fr) minmax(240px,1.1fr);column-gap:20px}.maintenance-page{place-items:center;min-height:calc(100vh - 72px);padding:40px 24px;display:grid}.maintenance-student-surface{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:min(100%,680px);padding:40px}.maintenance-kicker{min-height:32px;color:var(--red);background:var(--red-soft);border:1px solid #f1c5ca;border-radius:999px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.maintenance-student-surface h1{margin-top:22px;font-size:28px;line-height:1.35}.maintenance-student-surface>p{color:var(--text-soft);margin-top:12px;line-height:1.7}.maintenance-student-surface dl{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:28px;display:grid}.maintenance-student-surface dl>div{gap:8px;padding:18px;display:grid}.maintenance-student-surface dl>div+div{border-left:1px solid var(--line)}.maintenance-student-surface dt{color:var(--text-soft)}.maintenance-student-surface dd{font-size:18px;font-weight:700}.maintenance-student-surface .maintenance-time-note{font-size:var(--type-supporting)}.maintenance-student-surface>.button{width:150px;margin-top:24px}.upcoming-maintenance{border-left:1px solid var(--line-strong);text-align:right;gap:4px;min-width:190px;padding-left:18px;display:grid}.upcoming-maintenance strong{color:var(--red)}.upcoming-maintenance span{color:var(--text-soft)}.student-popup-backdrop{z-index:80;background:#17203373;place-items:center;padding:24px;animation:.14s ease-out student-popup-fade-in;display:grid;position:fixed;inset:0}.student-popup-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:min(100%,520px);padding:28px;box-shadow:0 16px 48px #141a262e}.student-popup-kind{color:var(--blue);font-weight:700}.student-popup-dialog h2{margin-top:8px;font-size:22px;line-height:1.4}.student-popup-dialog>p:not(.student-popup-kind){color:var(--text-soft);white-space:pre-wrap;margin-top:16px;line-height:1.7}.student-popup-dialog dl{border-block:1px solid var(--line);margin-top:20px;padding:14px 0}.student-popup-dialog dl>div{justify-content:space-between;gap:18px;display:flex}.student-popup-dialog dt{color:var(--text-soft)}.student-popup-dialog dd{font-weight:700}.student-popup-dialog>.button{width:120px;margin:22px 0 0 auto}.message-management-layout>.surface:first-child{min-height:0}.message-page-tabs{border-bottom:1px solid var(--line);gap:28px;min-height:48px;margin-bottom:18px;display:flex}.message-page-tabs button{min-width:112px;min-height:48px;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 2px;font-weight:700}.message-page-tabs button:hover{color:var(--text)}.message-page-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.message-page-tabs button:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:-3px;border-radius:4px}.message-management-layout{display:block}.message-management-layout>.surface{width:100%}.message-management-layout select.is-placeholder{color:var(--text-faint)}.message-compose-surface{gap:18px;display:grid}.message-compose-surface>h2{margin-bottom:2px}.message-compose-surface .message-preview{margin-top:0}.message-compose-surface .select-with-chevron select{text-align:left;text-align-last:left}.message-compose-surface .select-with-chevron select option{text-align:left}.direct-recipient-field{gap:8px;margin-top:16px;display:grid}.direct-recipient-field>label{color:#4b5668;font-size:var(--type-supporting);font-weight:600}.direct-recipient-field>p{color:var(--text-soft);font-size:var(--type-supporting)}.recipient-csv-import{gap:12px;display:grid}.recipient-csv-copy{min-width:0}.recipient-csv-heading{align-items:center;gap:4px;min-height:44px;display:flex}.recipient-csv-help{width:44px;height:44px;color:var(--text-soft);cursor:help;background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.recipient-csv-help-icon{border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.recipient-csv-help-icon .shell-icon{width:16px;height:16px}.recipient-csv-help:hover .recipient-csv-help-icon,.recipient-csv-help:focus-visible .recipient-csv-help-icon{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.recipient-csv-help:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:-4px;border-radius:50%}.recipient-csv-tooltip{z-index:12;color:#fff;width:min(320px,100vw - 56px);font-size:var(--type-caption);text-align:left;opacity:0;pointer-events:none;background:#343941;border:1px solid #4c5360;border-radius:6px;padding:12px 14px;font-weight:400;line-height:1.55;transition:opacity .12s,transform .12s;display:block;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 20px #17203329}.recipient-csv-tooltip>strong{color:#fff;font-size:var(--type-supporting);margin-bottom:6px;display:block}.recipient-csv-tooltip>span{display:block}.recipient-csv-tooltip>span+span{margin-top:4px}.recipient-csv-help:hover .recipient-csv-tooltip,.recipient-csv-help:focus-visible .recipient-csv-tooltip{opacity:1;transform:translate(-50%)}.recipient-csv-import p{color:var(--text-soft);font-size:var(--type-caption);margin-top:4px;line-height:1.5}.recipient-csv-import .upload-field-button{min-width:126px}.recipient-import-status{border-left:3px solid var(--blue);background:var(--blue-soft);padding:10px 12px;color:var(--text)!important}.direct-recipient-search{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;outline:none;width:100%;min-height:48px;padding:12px 16px}.direct-recipient-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2b5bd717}.direct-student-picker{border:1px solid var(--line);background:var(--surface);border-radius:6px;max-height:264px;overflow-y:auto}.direct-student-picker label{cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:grid}.direct-student-picker label+label{border-top:1px solid var(--line)}.direct-student-picker label:hover{background:var(--surface-subtle)}.direct-student-picker input{width:18px;height:18px;accent-color:var(--blue)}.direct-student-picker span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.direct-student-picker small{color:var(--text-soft)}.direct-recipient-input{grid-template-columns:minmax(0,1fr) 82px;gap:10px;display:grid}.direct-recipient-input input{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;outline:none;width:100%;min-height:48px;padding:12px 16px}.direct-recipient-input input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2b5bd717}.direct-recipient-list{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.direct-recipient-list li{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;align-items:center;gap:8px;min-height:44px;padding-left:12px;display:inline-flex}.direct-recipient-list button{min-width:44px;min-height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:0}.direct-recipient-list .direct-recipient-summary{padding:0 12px;font-weight:700}.direct-recipient-empty{color:var(--text-soft);background:var(--surface-subtle);border-radius:6px;padding:10px 12px}.message-schedule-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;margin-top:16px;padding:16px}.message-schedule-panel .field-group{margin:0}.message-schedule-panel p{color:var(--text-soft);font-size:var(--type-caption);margin-top:8px}.message-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.message-actions .button{min-width:0}.message-record-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;padding:0!important}.message-record-open{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;padding:14px 0;display:grid}.message-record-open:hover,.message-record-open:focus-visible{color:var(--blue);background:var(--blue-soft);outline:2px solid #0000}.message-record-delete{min-width:58px;min-height:40px;color:var(--red);cursor:pointer;background:#fff;border:1px solid #efb8bd;border-radius:6px}.message-record-delete:hover,.message-record-delete:focus-visible{background:var(--red-soft);outline:2px solid var(--red);outline-offset:2px}.message-record-status{color:var(--blue);font-size:var(--type-caption);font-weight:700}.message-record-open p{color:var(--text-soft);font-size:var(--type-supporting)}.refund-review-state{gap:3px;display:grid}.refund-review-state>strong{font-weight:600}.refund-review-state>small{margin:0}.empty-state{min-height:180px;color:var(--text-soft);text-align:center;place-content:center;padding:24px;display:grid}.empty-state strong{color:var(--text)}.empty-state p{font-size:var(--type-supporting);margin-top:8px}.app-shell-admin .data-table .table-header,.app-shell-admin .data-table .table-row,.app-shell-admin .table-caption,.app-shell-admin .recent-period-table .surface-heading-row,.app-shell-admin .priority-work-table .surface-heading-row,.app-shell-admin .review-rail{padding-left:24px;padding-right:24px}@media (min-width:861px){.app-shell-student .page-heading h1{font-size:28px;line-height:1.3}.app-shell-student .page-heading p{font-size:16px;line-height:1.5}.app-shell-admin .submission-table .table-header,.app-shell-admin .submission-table .table-row{grid-template-columns:minmax(150px,.9fr) minmax(210px,1.25fr) minmax(108px,.62fr) minmax(122px,.72fr) 112px;column-gap:18px}.app-shell-admin .submission-table .progress-block{width:calc(100% - 28px)}.app-shell-admin .submission-table .button{white-space:nowrap;width:112px;min-width:112px;padding-inline:10px}.app-shell-admin .student-table .table-header,.app-shell-admin .student-table .table-row{grid-template-columns:minmax(150px,.9fr) minmax(170px,1.05fr) minmax(300px,2fr) 90px;column-gap:24px}.app-shell-admin .student-table .progress-block{width:calc(100% - 24px);max-width:none}.app-shell-admin .lesson-manager{grid-template-columns:clamp(380px,31vw,400px) minmax(0,1fr)}}@media (max-width:860px){.admin-management-tabs{grid-template-columns:1fr 1fr;gap:0;margin-top:-2px;display:grid}.admin-management-tabs a{min-width:0;min-height:48px}.app-shell{width:min(100% - 24px,390px);min-height:calc(100vh - 24px);margin:12px auto}.app-header,.auth-header{min-height:52px;padding:0 16px}.app-brand{font-size:var(--type-supporting)}.app-brand img{width:26px;height:26px}.desktop-nav,.desktop-account{display:none}.menu-button{display:inline-flex}.mobile-menu{display:grid;top:64px;right:max(18px,50vw - 177px)}.app-main{padding:24px 18px 32px}.page-heading{min-height:70px;margin-bottom:18px}.page-heading h1{font-size:20px}.page-heading p{font-size:var(--type-supporting)}.student-record-home>.page-heading h1{font-size:24px;line-height:1.3}.student-record-home>.page-heading p{font-size:16px;line-height:1.5}.page-heading>:last-child:not(:first-child){align-self:flex-start}.admin-home-summary{padding:20px 18px;display:block}.admin-home-summary-main{display:block}.perfect-rate-stat{border-right:0;border-bottom:1px solid var(--line);min-height:0;margin-bottom:20px;padding:0 0 20px}.admin-home-summary-numbers{border-top:1px solid var(--line);border-left:0;margin-top:20px;padding-top:18px}.admin-home-summary-numbers>a{width:50%;min-width:0;padding:0 10px}.admin-home-summary-numbers>a:first-child{padding-left:0}.admin-home-summary-numbers>a:last-child{padding-right:0}.admin-home-detail-grid{flex-direction:column;gap:16px;display:flex}.priority-work-table{order:-1}.recent-period-table .surface-heading-row,.priority-work-table .surface-heading-row{min-height:60px}.recent-period-table .table-header{display:none}.recent-period-table .table-row{grid-template-columns:62px 1fr;min-height:68px}.recent-period-table .table-row span{font-size:var(--type-supporting)}.recent-period-table .table-row span:before{color:var(--text-soft);content:attr(data-label);margin-right:4px}.priority-work-table .table-header{display:none}.priority-work-table .table-row{grid-template-columns:minmax(0,1fr) auto 92px;gap:10px;min-height:92px;padding-top:12px;padding-bottom:12px}.priority-work-count{color:var(--text);font-size:var(--type-supporting);display:block}.priority-work-table .button{width:92px;min-width:92px;padding:0 10px}.student-management-layout{display:block}.refund-summary{grid-template-columns:1fr 1fr}.refund-summary p,.refund-summary .button{grid-column:1/-1}.surface{padding:20px 18px}.button{min-height:48px;padding:0 16px}.status-badge{min-height:0}.auth-page{padding:0;display:block}.auth-frame{border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;width:100%;min-height:100dvh}.auth-brand-panel{min-height:140px;padding:20px}.auth-brand-link{gap:10px;min-height:44px;font-size:16px}.auth-brand-link img{width:30px;height:30px}.auth-brand-copy{margin:24px 0 0}.auth-brand-copy strong{font-size:var(--type-caption)}.auth-brand-copy p{margin-top:5px;font-size:20px}.auth-form-panel{place-items:start center;min-height:auto;padding:64px 20px 32px}.auth-contact-link{min-height:44px;top:12px;right:20px}.auth-card{gap:18px;width:min(100%,424px)}.auth-title h1{font-size:24px}.dashboard-grid{padding:0;display:block}.lesson-surface{border-width:0 0 1px;border-radius:0;min-height:0;padding-top:26px}.student-day-head{gap:14px;display:grid}.student-day-head h1{font-size:24px}.student-day-head .status-badge{width:auto}.student-greeting{display:none}.lesson-surface h2{font-size:20px}.definition-list>div{grid-template-columns:66px 1fr}.example-section,.deadline-note{display:none}.dashboard-side{gap:0}.dashboard-side .surface{border-width:0 0 1px;border-radius:0}.dashboard-side .surface:first-child{order:2}.dashboard-side .surface:nth-child(2){order:1}.dashboard-side .surface:nth-child(3){display:none}.assignment-grid{display:block}.assignment-grid .surface{margin-bottom:16px}.assignment-card{height:auto;min-height:0;padding:18px}.file-picker-block.is-fill{flex:none;display:block}.file-picker-block.is-fill>.upload-field{height:auto;min-height:0}.assignment-files>.file-picker-block{margin-top:16px}.assignment-files>.audio-recorder-panel{height:auto;min-height:0}.audio-recorder-stage{min-height:240px}.audio-recorder-head{padding:14px 14px 4px}.audio-recorder-time{font-size:26px}.audio-recorder-waveform{width:calc(100% - 28px);height:96px;margin-inline:14px}.audio-recorder-footer{grid-template-columns:minmax(0,1fr);justify-content:stretch;row-gap:16px;width:100%;padding:16px 14px 18px;display:grid}.audio-recorder-footer>span{font-size:14px}.audio-recorder-actions{grid-template-columns:minmax(0,1fr);justify-self:center;width:min(100%,168px);display:grid}.audio-recorder-actions .button{width:100%;min-width:0;min-height:44px}.audio-recorder-stage .inline-alert{margin-inline:14px}.audio-recorder-panel.has-recording:not(.is-recording) .audio-recorder-stage{min-height:182px}.assignment-card-title{align-items:flex-start}.assignment-action-bar{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;width:100%;display:grid}.assignment-action-bar .completion-row{margin:0}.assignment-action-bar .form-actions{width:100%}.form-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-actions .button-primary{min-width:0}.file-picker{min-height:70px}.file-preview-empty,.file-preview-selected{grid-template-columns:40px minmax(0,1fr);min-height:0;padding:12px}.file-preview-empty .button,.file-preview-selected .button{grid-column:1/-1;justify-self:stretch;width:100%}.upload-field{--upload-control-min-height:0px;--upload-control-icon-size:40px;--upload-control-button-height:44px;--upload-control-gap:12px;--upload-control-padding-block:18px;--upload-control-padding-inline:14px;grid-template-columns:var(--upload-control-icon-size) minmax(0, 1fr);gap:16px 12px}.upload-field-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding-top:2px;display:grid}.upload-field-button{grid-column:1/-1;justify-self:center;width:min(100%,168px);min-width:0;min-height:44px}.upload-field-link,.upload-field-clear{min-height:44px}:is(.upload-field-actions:has(.upload-field-link):not(:has(.upload-field-clear)) .upload-field-link,.upload-field-actions:has(.upload-field-clear):not(:has(.upload-field-link)) .upload-field-clear){grid-column:1/-1;justify-self:center}.submission-result-page>.page-heading h1{font-size:20px;line-height:1.4}.page-heading-title-desktop{display:none}.page-heading-title-mobile{display:inline}.submission-result-page .submitted-method{display:none}.lesson-list-tools a{align-items:center;min-height:44px;font-size:16px;line-height:24px;display:inline-flex}.handwriting-upload-icon,.handwriting-upload-thumbnail{width:40px;height:40px}.handwriting-preview-footer{display:grid}.handwriting-preview-footer .button{width:100%}.history-summary{grid-template-columns:repeat(3,1fr);padding:16px 18px}.history-summary>div{padding:0 10px}.history-summary>div:first-child{padding-left:0}.history-summary>div:nth-child(3){border-right:0}.history-summary strong{font-size:var(--type-supporting)}.history-summary p{grid-column:1/-1;margin-top:16px}.student-progress-overview{padding:20px 18px;display:block}.student-progress-bars{grid-template-columns:1fr;gap:18px;display:grid}.student-progress-numbers{border-top:1px solid var(--line);border-left:0;margin-top:20px;padding-top:18px}.student-progress-numbers>div{width:33.333%;min-width:0;padding:0 12px}.student-progress-numbers>div:first-child{padding-left:0}.today-learning-row{text-align:left;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:16px;padding:20px 18px;display:grid}.today-learning-title{grid-template-columns:minmax(0,1fr) auto;place-items:center start;gap:10px;display:grid}.student-record-home .today-learning-title h2{font-size:28px;line-height:1.3}.today-learning-row .today-learning-mobile-title{color:var(--text);margin-top:8px;font-size:15px;font-weight:600;line-height:1.5;display:block}.today-learning-desktop-copy{display:none}.today-learning-actions{grid-template-columns:1fr;place-self:center end;width:min(44vw,184px);display:grid}.today-learning-row .button{width:100%;min-width:0;min-height:48px}.desktop-submission-state-icon{display:none}.mobile-submission-state-icon{display:inline-flex}.missing-day-alert{padding:16px 18px 18px;display:grid}.missing-day-alert .button{width:100%}.student-history-heading{flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:18px 16px}.student-history-heading h2,.student-history-heading>span{white-space:nowrap}.student-history-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.student-history-sort,.student-history-sort select{width:100%;min-width:0}.student-history-sort select{min-height:44px;font-size:16px;line-height:24px}.student-home-history .table-header{display:none}.student-home-history .table-row{grid-template-columns:32px minmax(0,1fr) 96px;gap:6px 8px;min-height:108px;padding:10px 8px 10px 0}.student-history-status-cell{grid-area:1/1/span 2;justify-content:flex-start;align-self:center}.student-history-day-cell{grid-area:1/2/span 2;place-self:center;font-size:20px;line-height:28px}.student-home-history .student-history-lesson-title{display:none}.student-history-actions,.student-home-history .student-history-actions{grid-area:1/3/span 2;grid-template-rows:repeat(2,44px);grid-template-columns:1fr;align-self:center;justify-items:end;gap:8px;min-width:0;display:grid}.student-home-history .student-history-actions.has-view-action{grid-template-rows:repeat(2,44px)}.student-home-history .student-history-actions .button{border:1px solid var(--line-strong);background:var(--surface);width:92px;min-width:92px;min-height:44px;color:var(--text);white-space:nowrap;border-radius:6px;grid-column:auto;padding:0 5px;font-size:14px}.student-home-history .student-history-actions .student-learning-action.is-today{color:#fff;background:#343941;border-color:#343941}.student-home-history .student-history-actions .button-danger{border-color:var(--red);color:#fff;background:var(--red)}.student-home-history .student-history-actions .submission-submit-action,.student-home-history .student-history-actions .submission-view-action{display:inline-flex}.student-history-actions .desktop-action-label{display:none}.student-history-actions .mobile-action-label{display:inline}.student-history-scroll{max-height:none}.submission-confirmation{grid-template-columns:minmax(0,1fr);align-items:start;padding:0;display:grid}.submission-confirmation strong{font-size:24px;line-height:1.4}.submitted-assignment-summary{padding:18px}.submitted-audio-summary{grid-template-columns:1fr;align-items:start}.submitted-audio-actions{justify-content:stretch;display:grid}.submitted-audio-actions audio,.submitted-audio-actions .button{width:100%}.submission-actions{grid-template-columns:1fr 1fr;display:grid}.submission-actions .button{width:100%;min-width:0;min-height:48px}.submission-actions .button-primary{grid-column:auto}.submission-actions>.button-secondary:last-child{grid-column:auto;justify-self:stretch;width:100%}.submission-actions>.button:only-child{grid-column:2}.submission-correction-link{grid-column:1/-1;justify-self:center}.submission-history{justify-content:space-between;align-items:flex-start}.filter-bar,.admin-filter{grid-template-columns:1fr}.filter-bar .button{width:100%}.history-layout{display:block}.history-range-list{margin-bottom:14px}.history-range-list button:not(.active),.history-table .table-header{display:none}.history-table .table-row{grid-template-columns:54px 1fr auto;min-height:76px;padding:12px 16px}.history-table .table-row .status-badge{display:none}.student-home-history .table-row{grid-template-columns:32px minmax(0,1fr) 96px;column-gap:8px;min-height:108px;padding:10px 8px 10px 0}.history-table .table-row .button{grid-column:1/-1}.student-home-history .table-row .student-history-actions .button{grid-column:auto}.detail-actions{grid-template-columns:1fr 1fr;display:grid}.detail-actions .button-primary{grid-area:1/1/auto/-1}.full-lesson-main{width:100%}.full-lesson-main .page-heading{margin-bottom:18px}.full-lesson-word{margin-bottom:16px;padding:20px 18px}.full-lesson-word .eyebrow{font-size:18px}.full-lesson-word-row{margin-top:10px;display:block}.full-lesson-word-row h2{font-size:22px}.full-lesson-word-row p{font-size:var(--type-supporting);margin-top:8px}.full-lesson-word-list{gap:6px}.full-lesson-word-item{font-size:16px;line-height:1.55}.full-lesson-word-item dd{margin-inline-start:6px}.full-lesson-word-level{min-width:50px;margin-right:8px}.full-lesson-content{gap:14px;padding:0}.full-lesson-level+.full-lesson-level{margin-top:0}.lesson-board-heading{padding:20px 18px}.full-lesson-level-label{min-height:28px;font-size:var(--type-supporting);margin-bottom:10px}.lesson-board-title h2,.lesson-board-title h2>span,.lesson-board-title h2 small{font-size:24px;line-height:1.4}.full-lesson-audio{grid-template-columns:1fr;gap:10px;margin-top:20px}.lesson-audio-item{background:0 0;border-radius:0;grid-template-columns:48px minmax(0,1fr);gap:10px;overflow:visible}.lesson-audio-region{background:0 0;justify-content:flex-start;width:48px;min-width:48px;height:auto;margin-right:0;padding:0;font-size:15px;font-weight:600}.lesson-audio-control{width:100%;min-width:0}.lesson-audio-player{display:none}.lesson-audio-mobile-controls{width:100%;min-width:0;height:48px;color:var(--text);background:#f0f2f5;border-radius:24px;grid-template-columns:44px auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 10px 0 2px;display:grid}.lesson-audio-mobile-controls button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.lesson-audio-mobile-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.lesson-audio-mobile-controls button .shell-icon{width:18px;height:18px}.lesson-audio-pause{letter-spacing:-2px;font-size:13px;font-weight:800;transform:translate(-1px)}.lesson-audio-mobile-controls>span{color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.lesson-audio-mobile-controls input{width:100%;min-width:0;accent-color:var(--blue);cursor:pointer}.lesson-study-row{min-height:0;display:block}.lesson-study-sentence{gap:7px;padding:20px 18px}.lesson-study-sentence>strong{font-size:17px;line-height:1.55}.lesson-study-sentence>p{font-size:var(--type-body);line-height:1.55}.lesson-study-expressions{border-top:1px solid var(--line);border-left:0;gap:9px;padding:18px 18px 18px 38px}.lesson-study-expressions li{font-size:var(--type-supporting);font-weight:400}.lesson-study-expressions strong{font-weight:400}.lesson-study-expressions:empty{display:none}.full-lesson-extra{padding:20px 18px}.full-lesson-extra h3{font-size:18px}.full-lesson-extra>div{margin-top:12px}.full-lesson-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.full-lesson-actions .button-primary{grid-area:1/1/auto/-1}.full-lesson-actions.current-day-actions{grid-template-columns:1fr}.full-lesson-actions.current-day-actions .button-primary{grid-area:auto}.admin-home-grid{grid-template-columns:1fr}.operation-card{min-height:140px}.example-disclaimer{text-align:left}.submission-table .table-header{display:none}.submission-table .table-row{grid-template-columns:1fr auto;min-height:188px;padding:18px 16px 20px;display:grid}.submission-table .table-row>.progress-block,.submission-table .table-row>div:first-child{grid-column:1/-1}.submission-table .table-row>div:nth-of-type(3){grid-column:1}.submission-table .table-row>span{display:none}.submission-table .table-row>.button{width:124px}.admin-list-error{flex-direction:column;align-items:stretch}.admin-list-error .button{width:100%}.refund-table .table-header{display:none}.refund-table .table-row{grid-template-columns:minmax(0,1fr) 112px;gap:12px 14px;padding:18px}.refund-table .table-row>.refund-review-state:first-child{grid-area:1/1}.refund-table .table-row>.progress-block{grid-area:2/1/auto/-1;width:100%}.refund-table .table-row>.refund-review-state:nth-child(3){grid-area:3/1}.refund-table .table-row>.button{grid-area:1/2/span 3;align-self:center;width:112px;padding-inline:10px}.table-caption{height:auto;min-height:78px;padding:14px 16px;display:grid}.review-workbench{border-width:0;display:block;overflow:visible}.review-rail{border:1px solid var(--line);border-radius:6px;padding:16px 18px}.day-rail a:not(.active),.review-filter{display:none}.mobile-day-select{margin-top:16px;display:grid}.review-content{border:1px solid var(--line);border-radius:6px;margin-top:14px}.submitted-media-grid{grid-template-columns:1fr 1fr}.image-placeholder{min-height:130px}.submitted-media-grid section:nth-child(2){display:contents}.submitted-media-grid .submitted-sentences{grid-column:1/-1}.decision-panel{border:1px solid #c6d7ff;border-radius:6px;margin-top:14px;padding:20px 18px}.decision-panel>.button-primary{position:static}.variant-layout{border:0;display:block}.variant-rail{border:1px solid var(--line);border-radius:6px;margin-bottom:14px}.variant-rail button:not(.active){display:none}.variant-detail{border:1px solid var(--line);border-radius:6px}.variant-detail .button{width:100%}.lesson-manager{display:block}.lesson-list{height:auto;min-height:0;max-height:none;margin-bottom:14px;overflow-y:visible}.lesson-list>.lesson-list-item{display:none}.lesson-editor{gap:18px}.admin-attachment{grid-template-columns:1fr auto;padding:14px 16px}.admin-attachment>label{grid-column:1/-1}.schedule-grid{grid-template-columns:1fr}.lesson-editor-actions{grid-template-columns:1fr 1fr;display:grid}.lesson-editor-actions .button{width:100%;min-width:0}.lesson-editor-actions .button-primary{grid-area:1/1/auto/-1;width:100%;min-width:0}.student-filter-row{grid-template-columns:1fr 1fr}.student-search-field{grid-column:1/-1}.student-filter-row>.button{width:100%}.student-rate-select{grid-area:2/2}.rate-filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rate-filter-tabs button{min-width:0;padding-inline:8px}.student-table .table-header{display:none}.student-table .table-row{grid-template-columns:1fr 90px;padding:16px}.student-table .table-row>span:first-of-type{display:none}.student-table .table-row>.progress-block{grid-area:2/1}.student-table .table-row>.button{grid-area:1/2/span 2;align-self:center}.lesson-preview-surface{padding:22px 18px}.lesson-preview-surface header h2{font-size:22px}.lesson-preview-surface section h3{font-size:18px}.lesson-preview-copy{font-size:var(--type-supporting)}.lesson-preview-actions .button{width:100%}.modal-backdrop{padding:16px}.inquiry-backdrop{align-items:end;padding:0}.inquiry-dialog{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;max-height:min(88vh,740px)}.inquiry-dialog-head{padding:18px}.inquiry-dialog-head>button{flex-basis:44px;width:44px;height:44px}.inquiry-dialog-body{padding:18px}.inquiry-dialog-actions{padding:0 18px max(18px, env(safe-area-inset-bottom))}.inquiry-dialog-actions .button{flex:1;min-height:48px}.student-detail-modal{padding:20px 18px}.student-detail-counts{grid-template-columns:1fr}.student-detail-counts>div{text-align:left;justify-content:space-between;align-items:center;padding:14px 4px;display:flex}.student-detail-counts>div+div{border-top:1px solid var(--line);border-left:0}.two-column{grid-template-columns:1fr}.two-column>.surface{min-height:0}.heading-actions{display:none}.app-shell-admin .data-table .table-header,.app-shell-admin .data-table .table-row,.app-shell-admin .table-caption,.app-shell-admin .recent-period-table .surface-heading-row,.app-shell-admin .priority-work-table .surface-heading-row,.app-shell-admin .review-rail{padding-left:18px;padding-right:18px}}.app-shell-admin .lesson-manager{grid-template-columns:minmax(320px,34%) minmax(0,1fr);align-items:stretch}.app-shell-admin .lesson-list-item span{overflow-wrap:anywhere}.lesson-preview-word{margin-bottom:16px}.lesson-preview-word h2{margin-top:8px;font-size:24px}.lesson-preview-word>p:last-child{color:var(--text-soft);margin-top:8px}.lesson-preview-v4{gap:16px;display:grid}.lesson-preview-level{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.lesson-preview-level .lesson-board-heading{padding:24px}.lesson-preview-level .lesson-board-title h2{margin-top:10px;font-size:22px;line-height:1.5}.lesson-preview-level .lesson-preview-copy{border-top:1px solid var(--line);min-height:260px;padding:24px}.lesson-preview-audio-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lesson-preview-audio-list span{color:var(--text-soft);background:var(--surface-subtle);font-size:var(--type-caption);border-radius:5px;padding:7px 10px}.late-recognition-heading{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.late-recognition-heading h3{margin:0}.late-recognition-heading>span{color:var(--text-soft);font-size:var(--type-supporting)}.late-recognition-dialog{background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(540px,100vw - 32px);max-height:calc(100dvh - 48px);display:grid;overflow:hidden}.late-recognition-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex}.late-recognition-dialog>header span{color:var(--blue);font-size:var(--type-caption);font-weight:700}.late-recognition-dialog>header h2{margin-top:5px;font-size:20px}.late-recognition-dialog>header button{width:40px;height:40px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 40px;place-items:center;display:grid}.late-recognition-dialog>header button:hover,.late-recognition-dialog>header button:focus-visible{background:var(--surface-subtle);outline:0}.late-recognition-dialog-body{gap:20px;padding:22px 24px;display:grid;overflow-y:auto}.late-recognition-dialog-body section{gap:8px;display:grid}.late-recognition-dialog-body h3{font-size:16px}.late-recognition-dialog-body p{color:var(--text-soft);white-space:pre-wrap;line-height:1.65}.late-request-evidence{min-width:0}.late-request-evidence>p{overflow-wrap:anywhere}.late-request-evidence-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.late-request-evidence-actions .button{width:100%}.late-request-evidence-unavailable{color:var(--red);font-size:var(--type-caption);line-height:1.55}.late-recognition-dialog-body textarea{min-height:132px}.late-recognition-dialog>footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:16px 24px 22px;display:grid}.late-recognition-dialog>footer .button{width:100%}.app-shell-admin .student-filter-row{grid-template-columns:minmax(260px,1fr) 124px 220px;width:100%}@media (min-width:861px){.app-shell-admin .refund-table .table-header,.app-shell-admin .refund-table .table-row{grid-template-columns:minmax(140px,.9fr) minmax(190px,1.2fr) minmax(170px,1fr) minmax(112px,.55fr);column-gap:18px}.app-shell-admin .refund-table .table-row>.button{white-space:nowrap;justify-self:stretch;width:100%;min-width:0;max-width:124px;padding-inline:10px}}@media (max-width:1100px) and (min-width:861px){.app-shell-admin .lesson-manager{grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:16px}.app-shell-admin .lesson-list,.app-shell-admin .lesson-editor{padding:18px}.app-shell-admin .lesson-editor-actions{grid-template-columns:1fr 1fr;display:grid}.app-shell-admin .lesson-editor-actions .button{width:100%;min-width:0}.app-shell-admin .lesson-editor-actions .button-primary{grid-column:1/-1;width:100%;min-width:0}}@media (max-width:860px){.app-shell-admin .lesson-manager{display:block}.app-shell-admin .lesson-list{max-height:none}.app-shell-admin .student-filter-row{grid-template-columns:minmax(0,1fr) 104px}.app-shell-admin .student-rate-select{grid-column:1/-1}.late-recognition-dialog>header,.late-recognition-dialog-body,.late-recognition-dialog>footer{padding-left:18px;padding-right:18px}.late-request-evidence-actions{grid-template-columns:1fr}.lesson-preview-level .lesson-board-heading,.lesson-preview-level .lesson-preview-copy{padding:20px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.auth-page-admin .auth-title p,.auth-page-admin .field-group small,.auth-page-admin .password-toggle,.auth-page-admin .auth-access-note p,.app-shell-admin .page-heading p,.app-shell-admin .surface-heading-row>span,.app-shell-admin .surface-heading-row>a,.app-shell-admin .surface-footnote,.app-shell-admin .quiet-note,.app-shell-admin .blue-note,.app-shell-admin .status-badge,.app-shell-admin .segmented-control button,.app-shell-admin .field-group small,.app-shell-admin .progress-label,.app-shell-admin .table-header,.app-shell-admin .table-row small,.app-shell-admin .table-caption,.app-shell-admin .operation-card p,.app-shell-admin .operation-card>span,.app-shell-admin .example-disclaimer,.app-shell-admin .student-summary p,.app-shell-admin .day-rail a span,.app-shell-admin .submitted-media-grid section>p,.app-shell-admin .submission-history,.app-shell-admin .submission-history a,.app-shell-admin .submission-history p,.app-shell-admin .variant-rail small,.app-shell-admin .lesson-list button span,.app-shell-admin .lesson-list button em,.app-shell-admin .admin-attachment small,.app-shell-admin .perfect-rate-stat>span,.app-shell-admin .perfect-rate-stat small,.app-shell-admin .perfect-rate-stat p,.app-shell-admin .student-detail-heading p,.app-shell-admin .student-detail-counts span,.app-shell-admin .refund-summary span,.app-shell-admin .refund-summary p,.app-shell-admin .audit-list p,.app-shell-admin .empty-state p{font-size:var(--type-supporting)}.app-shell-admin .perfect-rate-count small{font-size:16px}@media (max-width:860px){.app-shell-admin .recent-period-table .table-row span{font-size:var(--type-supporting)}}.app-shell-v2{border:0;border-radius:0;grid-template-columns:236px minmax(0,1fr);width:100%;min-height:100vh;margin:0;display:grid;overflow:visible}.app-shell-v2:is(.app-shell-student,.app-shell-admin){font-size:16px}.shell-sidebar{z-index:35;color:#f8fafc;background:#343941;height:100vh;min-height:620px;position:sticky;top:0}.shell-sidebar-inner{grid-template-rows:72px 1px minmax(0,1fr) auto;height:100%;min-height:0;padding:0 12px;display:grid}.shell-brand{color:#fff;min-width:0;font-size:var(--type-supporting);letter-spacing:-.012em;white-space:nowrap;align-items:center;gap:10px;padding:0 10px;font-weight:800;display:flex}.shell-brand img{object-fit:contain;filter:grayscale()brightness(0)invert();flex:0 0 32px;width:32px;height:32px}.shell-brand-divider{background:#ffffff3d}.shell-nav{overscroll-behavior:contain;min-height:0;padding:16px 0;overflow-y:auto}.shell-nav a,.shell-sidebar-footer a,.shell-sidebar-study-help,.shell-sidebar-view-mode,.shell-sidebar-logout{color:#e5e9f0;cursor:pointer;width:100%;min-height:44px;font-family:inherit;font-size:var(--type-supporting);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 12px;font-weight:600;display:flex}.shell-nav a+a,.shell-sidebar-footer>*+*{margin-top:4px}.shell-nav a:hover,.shell-sidebar-footer a:hover,.shell-sidebar-study-help:hover,.shell-sidebar-view-mode:hover,.shell-sidebar-logout:hover{color:#fff;background:#ffffff14}.shell-nav a.active{color:#172033;background:#fff}.shell-nav a:focus-visible,.shell-sidebar-footer a:focus-visible,.shell-sidebar-study-help:focus-visible,.shell-sidebar-view-mode:focus-visible,.shell-sidebar-logout:focus-visible{outline-color:#fffc}.shell-icon{flex:0 0 20px;width:20px;height:20px}.shell-sidebar-footer{border-top:1px solid #ffffff3d;padding:12px 0 18px}.shell-sidebar-footer.has-support-link{border-top:0}.shell-sidebar-footer>.shell-sidebar-footer-divider{background:#ffffff3d;height:1px;margin:8px 0}.shell-sidebar-footer>.shell-sidebar-footer-divider+a,.shell-sidebar-footer>.shell-sidebar-footer-divider+button{margin-top:0}.shell-workspace{background:var(--canvas);min-width:0}.app-shell-v2{--shell-panel-top:72px;--shell-panel-right:28px}.shell-topbar{z-index:32;border-bottom:0;justify-content:flex-end;gap:6px;min-height:72px;padding:0 28px;position:sticky;top:0}.shell-topbar:after{background:var(--line);content:"";pointer-events:none;height:1px;position:absolute;bottom:0;left:12px;right:12px}.shell-topbar .menu-button{display:none}.shell-route-back{min-height:40px;color:var(--text);cursor:pointer;font:inherit;font-size:var(--type-caption);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:0 10px;font-weight:600;display:inline-flex}.shell-route-back:hover,.shell-route-back:focus-visible{border-color:var(--line);background:var(--surface-subtle)}.shell-route-back .shell-icon{width:18px;height:18px}.shell-topbar-spacer{flex:auto}.shell-search{display:flex;position:relative}.shell-search-panel{z-index:70;top:var(--shell-panel-top);right:var(--shell-panel-right);border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:min(420px,100vw - 32px);position:fixed;overflow:hidden;box-shadow:0 10px 28px #17203324}.shell-search-field{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:54px;padding:0 10px 0 14px;display:flex}.shell-search-field .shell-icon{width:18px;height:18px;color:var(--text-soft)}.shell-search-field input{width:100%;min-width:0;color:var(--text);font:inherit;font-size:var(--type-supporting);background:0 0;border:0;outline:0}.shell-search-clear{width:40px;height:40px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.shell-search-clear:hover{color:var(--text);background:var(--surface-subtle)}.shell-search-clear:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.shell-search-clear .shell-icon{width:17px;height:17px}.shell-search-results{max-height:360px;overflow-y:auto}.shell-search-results button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:58px;color:var(--text);cursor:pointer;text-align:left;font:inherit;background:#fff;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;display:grid}.shell-search-results button:hover,.shell-search-results button:focus-visible{background:var(--surface-subtle)}.shell-search-results strong{font-size:var(--type-caption)}.shell-search-results span{color:var(--text-soft);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-search-empty{color:var(--text-soft);font-size:var(--type-caption);text-align:center;margin:0;padding:22px 14px}.shell-utility-button{color:#4e596b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.shell-utility-button:hover{border-color:var(--line);background:var(--surface-subtle)}.shell-utility-button .shell-icon{width:20px;height:20px}.shell-utility-button.is-panel-active,.shell-profile-trigger.is-panel-active{color:var(--blue)}.shell-utility-button.is-panel-active:after,.shell-profile-trigger.is-panel-active:after{background:var(--blue);content:"";pointer-events:none;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-16px;left:7px;right:7px}.shell-study-help-button{color:#344054;cursor:pointer;min-height:40px;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.shell-study-help-button:hover,.shell-study-help-button:focus-visible{border-color:var(--line);background:var(--surface-subtle)}.study-guide-backdrop{z-index:100;background:#1720337a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.study-guide-dialog{border:1px solid var(--line-strong);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(900px,100vw - 48px);max-height:86vh;display:grid;overflow:hidden;box-shadow:0 18px 46px #17203333}.study-guide-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 18px 14px 22px;display:flex}.study-guide-dialog-head h2{margin:0;font-size:20px}.study-guide-dialog-head p{color:var(--text-soft);font-size:var(--type-supporting);margin:4px 0 0}.study-guide-dialog-head>button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.study-guide-dialog-head>button:hover{background:var(--surface-subtle)}.study-guide-scroll{overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;min-height:0;overflow-y:auto}.study-guide-image-map{width:100%;position:relative}.study-guide-image{width:100%;height:auto;display:block}.study-guide-hotspot{z-index:1;cursor:pointer;background:0 0;border-radius:4px;display:block;position:absolute}.study-guide-hotspot:hover{background:#e126351a;box-shadow:inset 0 0 0 2px #e126357a}.study-guide-hotspot:focus-visible{outline-offset:-3px;background:#e126351a;outline:3px solid #e12635}.study-guide-image-error{text-align:center;place-content:center;gap:8px;min-height:300px;padding:32px;display:grid}.study-guide-image-error p{color:var(--text-soft)}.shell-notification-trigger{margin-left:2px}.shell-profile{margin-left:4px;position:relative}.shell-profile-trigger{min-height:48px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;padding:4px 6px;display:flex;position:relative}.shell-profile-trigger.is-panel-active:after{bottom:-12px}.shell-profile-trigger:hover,.shell-profile-trigger:focus-visible{border-color:var(--line);background:var(--surface-subtle)}.shell-profile-avatar{color:#fff;background:var(--blue);width:30px;height:30px;font-size:var(--type-caption);border-radius:50%;flex:0 0 30px;place-items:center;font-weight:700;display:grid}.shell-profile-copy{min-width:64px;line-height:1.2;display:grid}.shell-profile-copy strong,.shell-profile-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-profile-copy strong{font-size:var(--type-supporting);font-weight:600}.shell-profile-copy span{color:var(--text-soft);font-size:var(--type-caption);margin-top:2px}.shell-profile-trigger>.shell-icon{width:18px;height:18px;transition:transform .14s}.shell-profile-trigger>.shell-icon.is-open{transform:rotate(180deg)}.shell-profile-menu{z-index:60;top:var(--shell-panel-top);right:var(--shell-panel-right);border:1px solid var(--line-strong);background:#fff;border-radius:6px;width:min(360px,100vw - 32px);padding:16px;position:fixed;box-shadow:0 8px 20px #1720331a}.shell-profile-menu-head{gap:3px;margin-bottom:16px;display:grid}.shell-profile-menu-head strong{font-size:var(--type-supporting);font-weight:700}.shell-profile-menu-head span{color:var(--text-soft);font-size:var(--type-caption)}.shell-profile-stat{gap:7px;margin-top:13px;display:grid}.shell-profile-stat>div{color:var(--text-soft);font-size:var(--type-caption);justify-content:space-between;align-items:center;gap:12px;display:flex}.shell-profile-stat>div strong{color:var(--text);font-size:var(--type-caption);font-weight:600}.shell-profile-progress{background:#e8ebf0;border-radius:999px;height:4px;display:block;overflow:hidden}.shell-profile-progress i{border-radius:inherit;background:#e12635;height:100%;display:block}.shell-profile-study-help,.shell-profile-logout{width:100%;min-height:40px;color:var(--text);cursor:pointer;font:inherit;font-size:var(--type-caption);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;margin-top:14px;padding:0 10px;font-weight:600;display:flex}.shell-profile-study-help:hover,.shell-profile-study-help:focus-visible,.shell-profile-logout:hover,.shell-profile-logout:focus-visible{background:var(--surface-subtle)}.shell-profile-menu-divider{background:var(--line);height:1px;margin:18px 0 12px}.shell-profile-note-control{position:relative}.shell-profile-note-toggle{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);cursor:pointer;font:inherit;font-size:var(--type-caption);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:0 10px;font-weight:600;display:flex}.shell-profile-note-toggle strong{color:var(--text-soft);font-size:var(--type-caption);font-weight:700}.shell-profile-note-toggle[aria-checked=true] strong{color:var(--blue)}.shell-profile-note-toggle:hover,.shell-profile-note-toggle:focus-visible{background:var(--surface-subtle)}.shell-profile-note-help{z-index:3;border:1px solid var(--line-strong);width:100%;color:var(--text-soft);opacity:0;pointer-events:none;visibility:hidden;background:#fff;border-radius:6px;padding:9px 10px;font-size:12px;font-weight:500;line-height:1.55;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 7px);left:0;transform:translateY(-3px);box-shadow:0 6px 16px #1720331f}.shell-profile-note-control:hover .shell-profile-note-help,.shell-profile-note-control:focus-within .shell-profile-note-help{opacity:1;visibility:visible;transform:translateY(0)}.shell-profile-logout{margin-top:6px}.shell-profile-logout .shell-icon{width:18px;height:18px}.notification-badge{color:#fff;background:var(--red);border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-1px;right:-1px}@media (min-width:861px){.shell-search>.shell-utility-button,.shell-notification-trigger{border-radius:50%;flex-basis:48px;width:48px;min-width:48px;height:48px;padding:0}.shell-search>.shell-utility-button.is-panel-active:after,.shell-notification-trigger.is-panel-active:after{bottom:-12px;left:8px;right:8px}.shell-notification-trigger .notification-badge{top:1px;right:0}.shell-search-panel,.notification-panel{width:min(360px,100vw - 32px)}}.shell-user{min-width:92px;max-width:180px;margin-left:8px;line-height:1.25;display:grid}.shell-user strong,.shell-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-user strong{font-size:var(--type-supporting)}.shell-user span{color:var(--text-soft);font-size:var(--type-supporting);margin-top:3px}.notification-panel{z-index:90;top:var(--shell-panel-top);right:var(--shell-panel-right);border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:min(360px,100vw - 32px);position:fixed;overflow:hidden;box-shadow:0 12px 30px #17203324}.notification-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 16px 0 20px;display:flex}.notification-panel-head h2{font-size:var(--type-supporting)}.notification-panel-head button{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.notification-panel-head button:hover{background:var(--surface-subtle)}.notification-list button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;gap:4px;width:100%;min-height:76px;padding:14px 54px 14px 20px;display:grid;position:relative}.notification-list button:hover{background:var(--surface-subtle)}.notification-list button.is-unread{background:#f5f8ff}.notification-list button span{font-size:var(--type-supporting);font-weight:700}.notification-created-at{color:var(--text-soft);font-size:var(--type-caption);font-weight:400}.notification-list button p{color:var(--text-soft);font-size:var(--type-supporting)}.notification-list button b{color:var(--blue);font-size:var(--type-supporting);position:absolute;top:16px;right:18px}.notification-state{min-height:190px;color:var(--text-soft);text-align:center;place-content:center;gap:12px;padding:24px;display:grid}.notification-panel-foot{min-height:52px;color:var(--text-soft);font-size:var(--type-supporting);justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex}.notification-panel-foot button{min-width:max-content;color:var(--blue);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;font-weight:700}.notification-panel-foot button:hover{text-decoration:underline}.notification-all-backdrop{z-index:79;background:#1720336b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.notification-modal-shell{border:1px solid var(--line-strong);background:#fff;border-radius:8px;flex-direction:column;width:min(100%,620px);height:min(518px,100dvh - 48px);max-height:min(720px,100dvh - 48px);display:flex;overflow:hidden}.notification-modal-head{border-bottom:1px solid var(--line);flex:0 0 88px;justify-content:space-between;align-items:center;gap:20px;height:88px;min-height:88px;padding:16px 18px 16px 22px;display:flex}.notification-modal-close{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;min-height:40px;padding:0;display:inline-flex}.notification-modal-close:hover{background:var(--surface-subtle)}.notification-modal-foot{border-top:1px solid var(--line);flex:0 0 76px;min-height:76px}.notification-all-head{align-items:center}.notification-all-head h2{margin:0;font-size:20px;line-height:1.4}.notification-all-head p{color:var(--text-soft);font-size:var(--type-supporting);margin:5px 0 0;line-height:1.55}.notification-all-list{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;flex:auto;min-height:0;overflow-y:auto}.notification-all-list:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.notification-all-foot{color:var(--text-soft);font-size:var(--type-supporting);align-items:center;padding:0 22px;display:flex}.notification-detail-backdrop{z-index:80;background:#1720336b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.notification-detail-head{gap:16px}.notification-detail-head button{cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;min-height:40px;display:inline-flex}.notification-detail-head button:hover{background:var(--surface-subtle)}.notification-detail-back{color:var(--text);font-size:var(--type-supporting);gap:7px;padding:0 10px;font-weight:700}.notification-detail-back>svg{width:18px;height:18px}.notification-detail-close{width:40px;padding:0;border-radius:50%!important}.notification-detail-body{scrollbar-gutter:stable;flex:auto;min-height:0;padding:22px;overflow-y:auto}.notification-detail-type{color:var(--blue);font-size:var(--type-supporting);font-weight:700}.notification-detail-dialog h2{margin:12px 0 0;font-size:20px;line-height:1.45}.notification-detail-meta{color:var(--text-soft);font-size:var(--type-caption);flex-wrap:wrap;gap:8px 16px;margin-top:10px;display:flex}.notification-detail-dialog p{color:var(--text-soft);font-size:var(--type-supporting);white-space:pre-line;margin:14px 0 0;line-height:1.65}.notification-detail-actions{justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.notification-detail-actions .button{min-width:112px}.shell-drawer,.shell-dim{display:none}.app-shell-v2>.shell-workspace>.app-main{min-width:0}.submission-state-icon{background:0 0;border:0;flex:0 0 44px;width:44px;height:44px}.submission-state-icon.is-complete{color:var(--green);background:0 0}.submission-state-icon.is-late,.submission-state-icon.is-missing{color:#e58a16;background:0 0}.submission-state-icon>span{color:currentColor}.submission-state-icon>span,.submission-confirmation-icon{justify-content:center;align-items:center;display:inline-flex}.submission-state-icon svg,.submission-confirmation-icon svg{width:20px;height:20px}.submission-state-icon:after{right:calc(100% + 2px)}.submission-state-icon.tooltip-right:after{left:calc(100% + 6px);right:auto}@media (max-width:860px){html{min-width:0}.password-input-wrap input{font-size:16px;line-height:24px}.password-toggle{min-height:44px;top:2px}.cloud-term-help-trigger{width:44px;height:44px}.app-shell-v2{--shell-panel-top:68px;--shell-panel-right:12px;border:0;width:100%;min-height:100vh;margin:0;display:block}.shell-sidebar{display:none}.shell-topbar{z-index:32;min-height:60px;padding:0 14px;position:sticky;top:0}.shell-topbar:after{left:12px;right:12px}.shell-topbar .menu-button{margin:0;display:inline-flex}.shell-topbar-spacer{flex:auto}.shell-route-back,.shell-route-back span{display:none}.shell-search-panel{top:var(--shell-panel-top);right:var(--shell-panel-right);width:auto;position:fixed;left:12px}.shell-search-results{max-height:min(50vh,360px)}.shell-utility-button{flex-basis:44px;width:44px;height:44px}.shell-utility-button.is-panel-active:after,.shell-profile-trigger.is-panel-active:after{bottom:-8px}.shell-profile{margin-left:0}.shell-profile-trigger{gap:7px;min-height:44px;padding:3px 4px}.shell-profile-copy{min-width:0;max-width:66px}.shell-profile-copy span,.shell-profile-trigger>.shell-icon{display:none}.shell-profile-menu{width:min(280px,100vw - 28px);right:0}.shell-study-help-button{min-height:44px;font-size:var(--type-caption);padding:0 10px}.submission-state-icon:after,.submission-state-icon.tooltip-right:after{max-width:min(220px,100vw - 96px);left:calc(100% + 4px);right:auto}.study-guide-backdrop{align-items:end;padding:0}.study-guide-dialog{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;max-height:92dvh}.study-guide-dialog-head{min-height:72px;padding:12px 14px 12px 18px}.study-guide-dialog-head h2{font-size:18px}.shell-user{min-width:0;max-width:82px;margin-left:3px}.shell-user span{display:none}.app-shell-v2 .app-main{padding:22px 16px 32px}.shell-dim{z-index:79;background:#0b0f1657;display:block;position:fixed;inset:0}.shell-drawer{z-index:80;color:#fff;background:#343941;width:min(84vw,320px);height:100dvh;display:block;position:fixed;inset:0 auto 0 0}.shell-drawer-close{z-index:3;color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:absolute;top:14px;right:12px}.shell-drawer .shell-sidebar-inner{height:100dvh;min-height:0;padding-right:12px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.shell-drawer .shell-nav{padding-bottom:8px}.shell-drawer .shell-sidebar-footer{padding-top:8px;padding-bottom:8px}.shell-drawer .shell-brand{padding-right:52px}.notification-panel{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;max-height:min(78vh,640px);inset:auto 0 0;overflow-y:auto}.notification-panel-head{min-height:62px}.notification-list button{min-height:82px}.notification-panel-foot{min-height:58px}.notification-all-backdrop{align-items:end;padding:0}.notification-modal-shell{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;height:min(82dvh,700px);max-height:min(82dvh,700px)}.notification-modal-head{flex-basis:82px;height:82px;min-height:82px;padding:14px 14px 14px 18px}.notification-modal-close{flex-basis:44px;width:44px;height:44px;min-height:44px}.notification-modal-foot{flex-basis:72px;min-height:72px}.notification-all-list{height:auto}.notification-all-foot{padding:0 18px max(0px, env(safe-area-inset-bottom))}.notification-detail-backdrop{align-items:end;padding:0}.notification-detail-head button{min-height:44px}.notification-detail-close{width:44px}.notification-detail-body{padding:20px 18px}.notification-detail-dialog h2{font-size:18px}.notification-detail-actions{min-height:72px;padding:14px 18px max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;display:grid}.notification-detail-actions .button{width:100%;min-height:48px}.notification-detail-actions .button:only-child{grid-column:1/-1}.today-learning-actions{grid-template-columns:1fr;place-self:center end;width:min(44vw,184px)}.today-learning-actions.is-submitted,.today-learning-actions.is-learning-only{grid-template-columns:1fr}.today-learning-actions .button{min-width:0}.today-learning-actions .student-home-learning-button{justify-self:end;width:100%;min-height:44px}.maintenance-control{grid-template-columns:1fr;gap:18px}.maintenance-control>.button{width:100%}.maintenance-times{grid-template-columns:1fr 1fr;gap:16px;display:grid}.student-popup-form,.student-popup-select-row{grid-template-columns:1fr}.student-popup-body,.student-popup-error,.student-popup-actions{grid-column:auto}.student-popup-actions .button{width:100%;min-height:48px}.scheduled-popup-list article{align-items:end}.upcoming-maintenance{border-top:1px solid var(--line);text-align:left;border-left:0;min-width:0;padding:12px 0 0}.student-popup-backdrop{align-items:end;padding:0}.student-popup-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;width:100%;max-height:82vh;padding:24px 20px;overflow-y:auto}.student-popup-dialog>.button{width:100%;min-height:48px}.message-actions,.settings-primary-grid,.settings-secondary-grid,.settings-operation-card .settings-fields{grid-template-columns:1fr}.settings-operation-card>.button{width:100%}.cloud-status-row{align-items:start}.security-summary-list>div{grid-template-columns:1fr;gap:5px}.security-summary-list dd{text-align:left}.security-summary-card>.button{width:100%}.student-notes-page .page-heading{flex-direction:column;align-items:stretch}.student-notes-page .page-heading .button{width:100%}.student-note-row{grid-template-columns:1fr;gap:12px;padding:18px}.student-note-meta{text-align:left;grid-template-columns:auto 1fr;gap:8px}.maintenance-page{min-height:calc(100vh - 60px);padding:24px 16px}.maintenance-student-surface{padding:24px 20px}.maintenance-student-surface h1{font-size:22px}.maintenance-student-surface dl{grid-template-columns:1fr}.maintenance-student-surface dl>div{padding:16px 0}.maintenance-student-surface dl>div+div{border-top:1px solid var(--line);border-left:0}.maintenance-student-surface>.button{width:100%;min-height:48px}}.page-back-link{min-height:32px;color:var(--text-soft);font-family:inherit;font-size:var(--type-supporting);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:-4px 0 8px;padding:0;font-weight:600;display:inline-flex}.page-back-link:hover{color:var(--blue)}.page-back-link:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:2px;border-radius:4px}.page-back-link .shell-icon{width:18px;height:18px}.app-shell-admin .app-main{padding:28px 30px 40px}.app-shell-admin .page-heading{min-height:72px;margin-bottom:20px}.app-shell-admin .page-heading h1{font-size:26px;line-height:1.3}.app-shell-admin .surface{box-shadow:none;border-radius:8px}.app-shell-admin .inline-alert{box-shadow:none;border-radius:6px}.app-shell-admin .data-table{overflow:hidden}.app-shell-admin .data-table .table-header{background:#eef2f7;min-height:54px}.app-shell-admin .data-table .table-row{min-height:74px}.app-shell-admin .data-table .table-header,.app-shell-admin .data-table .table-row,.app-shell-admin .table-caption{padding-left:24px;padding-right:24px}.app-shell-admin .submission-table .progress-block{width:calc(100% - 24px)}.app-shell-admin .submission-table .button{white-space:nowrap;width:120px;min-width:120px;padding-inline:12px}.app-shell-admin .student-table .progress-block{width:calc(100% - 24px);max-width:none}.app-shell-admin .student-table .button{width:96px}@media (min-width:861px){.app-shell-admin .refund-table .table-header,.app-shell-admin .refund-table .table-row{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px}.app-shell-admin .refund-table .table-row>.button{justify-self:start;width:116px}}.app-shell-admin .audit-log-table .table-header,.app-shell-admin .audit-log-table .table-row{grid-template-columns:180px 110px minmax(220px,.95fr) minmax(240px,1.15fr);column-gap:20px}.app-shell-admin .review-workbench{grid-template-columns:minmax(270px,300px) minmax(0,1fr);gap:20px;min-height:560px;display:grid}.app-shell-admin .review-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;min-width:0;display:grid}.app-shell-admin .review-rail,.app-shell-admin .review-content,.app-shell-admin .decision-panel{border:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:8px}.app-shell-admin .review-rail{padding:22px 24px}.app-shell-admin .review-content{padding:22px 24px;display:block}.app-shell-admin .decision-panel{width:100%;min-width:0;padding:22px 24px;position:static}.app-shell-admin .decision-panel h2{margin-bottom:20px}.app-shell-admin .review-queue-heading,.app-shell-admin .review-content-heading,.app-shell-admin .review-decision-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.app-shell-admin .review-queue-heading span,.app-shell-admin .review-content-heading>div>span,.app-shell-admin .review-decision-heading>span{color:var(--text-soft);font-size:var(--type-caption);margin-bottom:6px;font-weight:600;display:block}.app-shell-admin .review-queue-heading h2,.app-shell-admin .review-content-heading h2,.app-shell-admin .review-decision-heading h2{margin:0;font-size:18px}.app-shell-admin .review-queue-heading h2{font-size:22px;line-height:1.25}.app-shell-admin .review-queue-heading>strong{color:var(--blue);font-size:18px}.app-shell-admin .review-content-heading>span{color:var(--text-soft);font-size:var(--type-caption);flex:none}.app-shell-admin .review-decision-heading{display:block}.app-shell-admin .decision-panel textarea{min-height:132px}.app-shell-admin .review-decision-help{color:var(--text-soft);font-size:var(--type-caption);margin:10px 0 16px;line-height:1.55}.app-shell-admin .review-approval-action,.app-shell-admin .review-revision-action{padding-top:20px}.app-shell-admin .review-approval-action h3,.app-shell-admin .review-revision-action h3{margin:0;font-size:16px}.app-shell-admin .review-revision-action{border-top:1px solid var(--line);margin-top:22px}.app-shell-admin .review-revision-action .field-group{margin:14px 0 12px}.app-shell-admin .review-submission-section{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:22px 0}.app-shell-admin .review-submission-section h3{margin-bottom:14px}.app-shell-admin .review-audio-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.app-shell-admin .review-audio-heading h3{margin:0 0 5px}.app-shell-admin .review-audio-heading p{color:var(--text-soft);font-size:var(--type-caption);overflow-wrap:anywhere}.app-shell-admin .review-audio-heading .button{flex:none}.app-shell-admin .review-submission-section audio{width:100%;max-width:none}.app-shell-admin .submitted-sentences{background:0 0;border:0;border-radius:0;gap:10px;padding:0;display:grid}.app-shell-admin .submitted-sentences p{margin:0;line-height:1.65}.app-shell-admin .submission-history{padding-top:22px}.app-shell-admin .blue-note{color:var(--text-soft)}.app-shell-admin .day-rail a{min-height:58px;padding:10px 34px 10px 16px}.app-shell-admin .day-rail a>.shell-icon{width:18px;height:18px;position:absolute;top:19px;right:10px}.app-shell-admin .student-detail-heading button{font-size:0}.app-shell-admin .student-detail-heading button .shell-icon{width:20px;height:20px}.app-shell-admin .lesson-manager{grid-template-columns:clamp(390px,31vw,420px) minmax(0,1fr);gap:20px}.app-shell-admin .lesson-preview-page{width:min(100%,980px)}.app-shell-admin .lesson-preview-surface{padding:30px 32px}@media (max-width:1400px) and (min-width:861px){.app-shell-admin .review-workbench{grid-template-columns:minmax(260px,290px) minmax(0,1fr)}.app-shell-admin .review-main{grid-template-columns:minmax(0,1fr)}.app-shell-admin .decision-panel{position:static}.app-shell-admin .lesson-manager{grid-template-columns:340px minmax(0,1fr)}}@media (max-width:860px){.app-shell-admin .app-main{padding:24px 18px 32px}.app-shell-admin .page-heading{min-height:68px}.app-shell-admin .page-heading h1{font-size:22px}.app-shell-admin .data-table .table-header,.app-shell-admin .data-table .table-row,.app-shell-admin .table-caption{padding-left:18px;padding-right:18px}.app-shell-admin .review-workbench{min-height:0;display:block}.app-shell-admin .review-main{display:block}.app-shell-admin .review-rail,.app-shell-admin .review-content,.app-shell-admin .decision-panel{padding:20px 18px}.app-shell-admin .review-content,.app-shell-admin .decision-panel{margin-top:14px}.app-shell-admin .review-submission-section{padding:20px 0}.app-shell-admin .student-popup-manager{margin-top:16px}.app-shell-admin .lesson-manager{display:block}.app-shell-admin .lesson-preview-surface{padding:22px 18px}.app-shell-admin .audit-toolbar{grid-template-columns:1fr}.app-shell-admin .audit-toolbar .button{width:100%}}.app-shell-admin .filter-bar,.app-shell-admin .summary-card,.app-shell-admin .message-compose,.app-shell-admin .message-history,.app-shell-admin .student-popup-manager,.app-shell-admin .maintenance-control,.app-shell-admin .settings-operation-card,.app-shell-admin .security-summary-card,.app-shell-admin .audit-card,.app-shell-admin .notion-source-toolbar,.app-shell-admin .notion-approval-queue,.app-shell-admin .audit-toolbar{padding:24px}.app-shell-admin .submission-table .table-header,.app-shell-admin .submission-table .table-row{grid-template-columns:minmax(180px,1fr) minmax(240px,1.35fr) minmax(150px,.82fr) minmax(190px,1fr) 120px;column-gap:24px}.app-shell-admin .submission-table .progress-block,.app-shell-admin .student-table .progress-block,.app-shell-admin .refund-table .progress-block{width:100%}.app-shell-admin .student-table .table-header,.app-shell-admin .student-table .table-row{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px}.app-shell-admin .student-table .table-row>.button{justify-self:end}.app-shell-admin .lesson-manager{gap:24px}.app-shell-admin .lesson-list,.app-shell-admin .lesson-editor{padding:24px}.notion-source-toolbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.notion-source-toolbar h2,.notion-source-toolbar p{margin:0}.notion-source-toolbar p{color:var(--text-soft);margin-top:8px}.notion-source-toolbar small{color:var(--text-faint);margin-top:6px;display:block}.notion-source-actions{flex:none;gap:10px;display:flex}.notion-approval-queue{margin-top:20px}.notion-approval-list{border-top:1px solid var(--line);margin-top:16px;display:grid}.notion-approval-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 132px;align-items:center;gap:20px;min-height:76px;padding:14px 0;display:grid}.notion-approval-list article p{color:var(--text-soft);margin:6px 0 0}.notion-approval-status{white-space:nowrap;color:var(--text-soft);font-weight:700}.notion-approval-status.status-approved{color:var(--green)}.notion-approval-list .button{width:132px}.audit-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.audit-index-card{border:1px solid var(--line);min-height:220px;color:var(--text);background:var(--surface);border-radius:8px;padding:28px;display:block}.audit-index-card:hover{border-color:#aabce5}.audit-index-card:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 28%, transparent);outline-offset:2px}.audit-index-card>span{color:var(--blue);font-weight:700}.audit-index-card h2{margin:14px 0 10px}.audit-index-card p{max-width:560px;color:var(--text-soft);margin:0 0 28px;line-height:1.7}.audit-index-card strong{color:var(--blue)}.audit-card-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.audit-card-actions .button{width:100%}.student-popup-dialog,.student-popup-dialog.has-images{background:#fff;border:0;border-radius:16px;flex-direction:column;width:min(420px,100vw - 48px);max-height:min(82vh,82dvh);padding:0;animation:.14s ease-out student-popup-fade-in;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 48px #17203347}.student-popup-content{flex:auto;min-height:60px;padding:32px 30px 22px;position:relative;overflow-y:auto}.student-popup-close{z-index:3;color:#98a1b0;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:absolute;top:8px;right:8px}.student-popup-close:before{content:"";border-radius:8px;width:28px;height:28px;position:absolute}.student-popup-close:hover:before{background:#f1f2f5}.student-popup-close:focus-visible{color:#667085;outline:none}.student-popup-close .shell-icon{z-index:1;width:16px;height:16px;position:relative}.student-popup-image{background:0 0;margin:0}.student-popup-carousel{overflow:visible}.student-popup-carousel-image-link{cursor:pointer;border-radius:2px;display:block}.student-popup-carousel-image-link:focus-visible{outline-offset:3px;outline:3px solid #2b5bd73d}.student-popup-carousel-frame{place-items:center;width:100%;animation:.14s ease-out popup-image-enter;display:grid}.student-popup-carousel-frame img{object-fit:contain;object-position:center;width:100%;max-height:calc(82dvh - 270px);display:block}.student-popup-carousel-frame.is-rotated-sideways img{width:78%;margin-inline:auto}.student-popup-carousel-controls{color:#98a1b0;justify-content:center;align-items:center;gap:2px;margin-top:26px;display:flex}.student-popup-carousel-controls button{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:relative}.student-popup-carousel-controls button:before{content:"";border-radius:50%;width:26px;height:26px;position:absolute}.student-popup-carousel-controls button:hover:before{background:#f1f2f5}.student-popup-carousel-controls button:focus-visible{outline-offset:0;outline:3px solid #2b5bd738}.student-popup-carousel-controls .shell-icon{z-index:1;width:14px;height:14px;position:relative}.student-popup-carousel-controls>span{font-variant-numeric:tabular-nums;text-align:center;min-width:52px;font-size:12.5px;font-weight:500;line-height:20px}.student-popup-footer{background:#fafbfc;border-top:1px solid #edeff3;flex:none;padding:20px 30px}.student-popup-notice-copy{min-width:0}.student-popup-kind{color:#e12635;font-size:11px;font-weight:700;line-height:16px}.student-popup-notice-copy h2{color:#172033;margin-top:2px;font-size:15px;font-weight:700;line-height:22px}.student-popup-notice-copy>div{margin-top:1px}.student-popup-notice-copy>div>p{color:#98a1b0;white-space:pre-wrap;font-size:12.5px;line-height:19px}.student-popup-notice-copy .student-popup-maintenance{color:#667085;margin-top:4px}.student-popup-footer-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.student-popup-dismiss-today,.student-popup-confirm{cursor:pointer;border:0;min-height:44px}.student-popup-dismiss-today{color:#98a1b0;background:0 0;margin-left:-8px;padding:8px;font-size:12.5px;font-weight:500}.student-popup-dismiss-today:hover{color:#667085}.student-popup-confirm{color:#fff;background:#172033;border-radius:8px;padding:10px 24px;font-size:13.5px;font-weight:600}.student-popup-confirm:hover{background:#0e1524}@keyframes popup-image-enter{0%{opacity:0}to{opacity:1}}@keyframes student-popup-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.student-popup-backdrop,.student-popup-dialog,.student-popup-carousel-frame{animation:none}}@media (max-width:860px){.message-page-tabs{gap:18px;overflow-x:auto}.message-page-tabs button{min-width:max-content}.audio-file-error{text-align:left;flex-wrap:wrap;justify-content:flex-start}.submitted-audio-summary>.audio-file-error{justify-self:stretch}.app-shell-admin .filter-bar,.app-shell-admin .summary-card,.app-shell-admin .message-compose,.app-shell-admin .message-history,.app-shell-admin .student-popup-manager,.app-shell-admin .maintenance-control,.app-shell-admin .settings-operation-card,.app-shell-admin .security-summary-card,.app-shell-admin .audit-card,.app-shell-admin .notion-source-toolbar,.app-shell-admin .notion-approval-queue,.app-shell-admin .audit-toolbar,.app-shell-admin .lesson-list,.app-shell-admin .lesson-editor{padding:18px}.notion-source-toolbar{gap:18px;display:grid}.notion-source-actions{grid-template-columns:1fr;display:grid}.notion-source-actions .button{width:100%}.notion-approval-list article{grid-template-columns:1fr;gap:10px;padding:18px 0}.notion-approval-list .button{width:100%}.audit-index-grid{grid-template-columns:1fr}.audit-index-card{min-height:0;padding:22px 20px}.student-popup-backdrop{align-items:center;padding:16px}.student-popup-dialog,.student-popup-dialog.has-images{border-radius:16px;width:min(420px,100vw - 32px);max-height:min(82vh,82dvh)}.student-popup-content{padding:28px 20px 18px}.student-popup-footer{padding:18px 20px}.student-popup-footer-actions{grid-template-columns:none;display:flex}.student-popup-image-order-item{grid-template-columns:44px 28px 64px minmax(0,1fr);gap:8px;padding:10px}.student-popup-image-order-item>img{width:64px;height:52px}.student-popup-image-order-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-popup-image-order-actions button{padding-inline:6px}.student-popup-image-edit-backdrop{align-items:end;padding:0}.student-popup-image-edit-dialog{border-width:1px 0 0;border-radius:10px 10px 0 0;width:100%;height:min(88dvh,760px);max-height:min(88dvh,760px)}.student-popup-image-edit-head{flex-basis:76px;min-height:76px;padding:12px 12px 12px 18px}.student-popup-image-edit-body{grid-template-columns:1fr;gap:20px;padding:18px}.student-popup-image-edit-preview{height:250px;position:relative}.student-popup-image-edit-grid{grid-template-columns:1fr}.student-popup-image-edit-actions{min-height:76px;padding:14px 18px max(14px, env(safe-area-inset-bottom));flex-basis:76px}.student-popup-image-edit-actions .button{width:100%;min-width:0}.student-popup-carousel-frame img{max-height:calc(82dvh - 254px)}}.shell-search-results button{min-height:72px}.shell-search-location{text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden;color:#7b8494!important;font-size:var(--type-caption)!important}.shell-search-results mark{color:inherit;background:#fff2a8;border-radius:2px;padding:0 1px}.message-management-layout{grid-template-columns:minmax(0,3fr) minmax(260px,1fr);align-items:start;gap:18px;display:grid}.message-primary-panel,.message-primary-panel>*{width:100%;min-width:0}.message-history-panel{min-width:0;position:sticky;top:88px}.student-popup-title,.student-popup-body,.student-popup-image-field,.student-popup-link-field,.student-popup-maintenance-field{grid-column:1/-1}.student-popup-form input{min-width:0}.student-popup-actions{gap:18px}@media (min-width:861px){.app-shell-admin .refund-table .table-header,.app-shell-admin .refund-table .table-row{grid-template-columns:minmax(180px,.9fr) minmax(320px,1.35fr) minmax(230px,1fr) minmax(108px,.55fr);column-gap:32px}.app-shell-admin .refund-table .progress-block{width:calc(100% - 36px)}}@media (max-width:860px){.message-management-layout{grid-template-columns:1fr}.message-history-panel{position:static}.app-shell-admin .student-table .table-header{display:none}.app-shell-admin .student-table .table-row{grid-template-columns:minmax(0,1fr) 96px;gap:12px 16px;padding:16px}.app-shell-admin .student-table .table-row>strong{grid-area:1/1}.app-shell-admin .student-table .table-row>span:first-of-type{display:none}.app-shell-admin .student-table .table-row>.progress-block{grid-area:2/1}.app-shell-admin .student-table .table-row>.button{grid-area:1/2/span 2;align-self:center}}.app-shell-admin .message-primary-panel>.student-popup-manager{margin-top:0}.app-shell-admin .message-primary-panel>.surface>h2,.app-shell-admin .student-popup-manager .surface-heading-row h2,.app-shell-admin .message-history-panel>h2{margin:0;font-size:20px;font-weight:700;line-height:28px}@media (max-width:760px){.student-history-day-cell{font-size:20px;line-height:28px}.student-home-history .student-history-lesson-title{font-size:17px;line-height:24px}.notification-panel{inset:var(--shell-panel-top) 8px auto;width:auto;max-height:min(calc(100dvh - var(--shell-panel-top) - 12px), 640px);border:1px solid var(--line-strong);border-radius:0 0 8px 8px;overflow-y:auto}}.lesson-v4-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.lesson-v4-workspace.has-study-note{grid-template-columns:minmax(0,1fr) clamp(280px,25vw,340px)}.lesson-v4-learning-column{min-width:0}.lesson-ui-v4 .lesson-study-expressions{padding-left:30px}.lesson-study-note-control{justify-content:flex-start;align-items:center;gap:9px;min-width:0;padding-top:2px;display:inline-flex;position:relative}.lesson-study-note-control.is-desktop{margin-right:clamp(10px,1.7vw,24px)}.lesson-study-note-control-copy{align-items:center;display:inline-flex}.lesson-study-note-control-copy strong{color:var(--text);font-size:var(--type-supporting);line-height:1.35}.lesson-study-note-switch{flex:none}.lesson-study-note-help{z-index:40;border:1px solid var(--line-strong);width:280px;color:var(--text-soft);font-size:var(--type-caption);opacity:0;pointer-events:none;visibility:hidden;background:#fff;border-radius:6px;padding:10px 12px;line-height:1.55;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 9px);right:0;transform:translateY(-4px)}.lesson-study-note-control:hover .lesson-study-note-help,.lesson-study-note-control:focus-within .lesson-study-note-help{opacity:1;visibility:visible;transform:translateY(0)}.lesson-study-note-control.is-page-title .lesson-study-note-help{left:0;right:auto}.page-heading-title-row:hover .lesson-study-note-help,.page-heading-title-row:focus-within .lesson-study-note-help{opacity:1;visibility:visible;transform:translateY(0)}.full-lesson-word,.lesson-v4-learning-column,.lesson-ui-v3 .full-lesson-content,.lesson-ui-v3 .full-lesson-review{-webkit-touch-callout:none;-webkit-user-select:none!important;user-select:none!important}.study-note-pad{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:100%;display:grid;position:sticky;top:84px;overflow:hidden}.study-note-pad>header{border-bottom:1px solid var(--line);gap:9px;padding:18px 18px 14px;display:grid}.study-note-pad>header>div{min-width:0}.study-note-pad>header p{color:var(--blue);font-size:var(--type-caption);font-weight:800}.study-note-pad>header h2{overflow-wrap:anywhere;margin-top:5px;font-size:17px;line-height:1.45}.study-note-save-state{color:var(--text-soft);font-size:var(--type-caption);line-height:1.4}.study-note-save-state.is-saving{color:var(--blue)}.study-note-save-state.is-saved{color:var(--green)}.study-note-pad textarea{resize:none;width:100%;min-height:0;color:var(--text);background:0 0;border:0;border-radius:0;outline:0;padding:16px 18px 20px;font-family:inherit;font-size:16px;line-height:1.7}.study-note-pad textarea::placeholder{color:var(--text-soft)}.study-note-pad textarea:focus,.study-note-pad textarea:focus-visible{box-shadow:none;outline:0}.study-note-pad-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:8px;min-height:48px;padding:8px 12px;display:flex}.study-note-pad-actions button{border:1px solid var(--line-strong);cursor:pointer;min-width:58px;min-height:32px;font:inherit;background:#fff;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:700}.study-note-pad-actions .study-note-pad-delete{color:var(--red);border-color:#0000}.study-note-pad-actions .study-note-pad-delete:disabled{color:var(--text-soft);cursor:default;opacity:.55}.study-note-pad-actions .study-note-pad-save{color:var(--text)}.study-note-pad-actions button:hover:not(:disabled),.study-note-pad-actions button:focus-visible:not(:disabled){background:var(--surface-subtle);outline:0}.student-study-notes-page{width:100%}.student-study-notes-page>.page-heading{align-items:flex-start;min-height:0}.study-note-page-toggle{color:#667085;cursor:pointer;width:52px;height:28px;font:inherit;background:#d9dde5;border:0;border-radius:999px;align-items:center;font-size:9px;font-weight:700;transition:background-color .14s;display:inline-flex;position:relative}.study-note-page-toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .14s;position:absolute;top:4px;left:4px}.study-note-page-toggle span{line-height:1;position:absolute;right:7px;transform:translateY(-1px)}.study-note-page-toggle[aria-checked=true]{color:#fff;background:#12b76a}.study-note-page-toggle[aria-checked=true]:after{transform:translate(24px)}.study-note-page-toggle[aria-checked=true] span{left:8px;right:auto}.study-note-page-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.study-note-sort{border:1px solid var(--line-strong);min-width:124px;height:44px;color:var(--text);font:inherit;font-size:var(--type-supporting);text-align:center;text-align-last:center;background-color:#fff;border-radius:6px;padding:0 34px 0 22px;font-weight:600}.study-note-sort option{text-align:center;text-indent:-8px;padding-inline:0}.study-note-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.study-note-card{width:100%;min-width:0;color:var(--text);border:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;padding:0;display:block}.study-note-card:hover,.study-note-card:focus-visible{border-color:var(--line);background:var(--surface-subtle);outline:0}.study-note-summary-card{background:var(--surface-subtle)}.study-note-summary-card .study-note-card-meta>strong{color:var(--blue);font-size:var(--type-caption)}.study-note-card-inner{align-content:start;height:220px;padding:20px;display:grid;overflow:hidden}.study-note-card-meta{color:var(--blue);font-size:var(--type-caption);justify-content:space-between;align-items:center;gap:12px;font-weight:700;display:flex}.study-note-card-title{margin-top:18px;font-size:17px;line-height:1.45;display:block}.study-note-card-copy{color:var(--text-soft);white-space:pre-wrap;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:14px;font-size:16px;line-height:1.65;display:-webkit-box;overflow:hidden}.study-note-grid.is-disabled{filter:grayscale(.5);opacity:.58}.study-note-grid{transition:filter .14s,opacity .14s}.study-note-empty{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:260px;display:grid}.study-note-empty h2{font-size:20px}.study-note-empty .button{margin-top:10px}.student-study-note-summary-page{width:100%}.study-note-summary-toolbar{justify-content:flex-end;align-items:center;gap:10px;display:flex}.study-note-download-wrap{display:inline-flex;position:relative}.study-note-download{border:1px solid var(--line-strong);min-height:44px;color:var(--text);cursor:pointer;font:inherit;font-size:var(--type-supporting);white-space:nowrap;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:700;display:inline-flex}.study-note-download:hover:not(:disabled),.study-note-download:focus-visible:not(:disabled){background:var(--surface-subtle);outline:0}.study-note-download:disabled{color:var(--text-soft);cursor:default;opacity:.55}.study-note-download-tooltip{z-index:12;opacity:0;color:#fff;width:max-content;max-width:min(300px,100vw - 40px);font-size:var(--type-caption);pointer-events:none;background:#343941;border-radius:4px;padding:8px 10px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.study-note-download-wrap:hover .study-note-download-tooltip,.study-note-download-wrap:focus-within .study-note-download-tooltip{opacity:1;transform:translate(-50%)}.study-note-summary-sheet{padding:0;overflow:hidden}.study-note-summary-section{border-bottom:1px solid var(--line);padding:24px;position:relative}.study-note-summary-section:last-child{border-bottom:0}.study-note-summary-section>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.study-note-summary-section>header>div{color:var(--text-soft);font-size:var(--type-caption);align-items:center;gap:10px;display:flex}.study-note-summary-section>header span{color:var(--blue);font-weight:700}.study-note-summary-section>header a{color:var(--blue);font-size:var(--type-caption);white-space:nowrap;font-weight:600}.study-note-summary-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.study-note-edit-trigger,.study-note-edit-save,.study-note-edit-delete{cursor:pointer;min-height:32px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:4px 9px;font-size:13px;font-weight:700}.study-note-edit-trigger{color:var(--blue);opacity:0;visibility:hidden;transition:opacity .12s,visibility .12s}.study-note-summary-section:hover .study-note-edit-trigger,.study-note-summary-section:focus-within .study-note-edit-trigger,.study-note-detail-dialog:hover .study-note-edit-trigger,.study-note-detail-dialog:focus-within .study-note-edit-trigger{opacity:1;visibility:visible}.study-note-edit-save{border:1px solid var(--line-strong);color:var(--text);background:#fff}.study-note-edit-save:disabled{color:var(--text-soft);cursor:default;opacity:.55}.study-note-edit-delete{color:var(--red)}.study-note-edit-trigger:hover,.study-note-edit-trigger:focus-visible,.study-note-edit-save:hover:not(:disabled),.study-note-edit-save:focus-visible:not(:disabled),.study-note-edit-delete:hover,.study-note-edit-delete:focus-visible{background:var(--surface-subtle);outline:0}.study-note-summary-section h2{margin-top:14px;font-size:18px;line-height:1.5}.study-note-summary-section p{color:var(--text-soft);white-space:pre-wrap;margin-top:12px;font-size:16px;line-height:1.75}.study-note-summary-editor{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:320px;color:var(--text);font:inherit;background:#fff;border-radius:6px;outline:0;margin-top:12px;padding:14px;font-size:16px;line-height:1.75}.study-note-summary-editor:focus{border-color:var(--line-strong);box-shadow:none}.study-note-detail-backdrop{z-index:90;background:#17203373;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.study-note-detail-dialog{background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100vw - 32px);height:min(560px,100dvh - 48px);display:grid;overflow:hidden}.study-note-detail-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex}.study-note-detail-dialog>header span{color:var(--blue);font-size:var(--type-caption);font-weight:700}.study-note-detail-dialog>header h2{margin-top:6px;font-size:20px;line-height:1.45}.study-note-detail-head-actions{flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.study-note-detail-close{width:40px;height:40px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.study-note-detail-close:hover,.study-note-detail-close:focus-visible{background:var(--surface-subtle);outline:0}.study-note-detail-body{padding:24px;overflow-y:auto}.study-note-detail-body p{color:var(--text);white-space:pre-wrap;font-size:17px;line-height:1.85}.study-note-detail-body.is-editing{padding:18px 24px;display:grid}.study-note-detail-body textarea{resize:none;width:100%;min-height:0;color:var(--text);font:inherit;background:#fff;border:0;outline:0;font-size:17px;line-height:1.85}.study-note-detail-dialog>footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:14px 18px;display:grid}.study-note-detail-dialog>footer>span{color:var(--text-soft);font-size:var(--type-caption)}.study-note-detail-dialog>footer button{min-height:44px;color:var(--text);cursor:pointer;font:inherit;font-size:var(--type-supporting);background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;font-weight:600;display:inline-flex}.study-note-detail-dialog>footer button:last-child{justify-self:end}.study-note-detail-dialog>footer button:hover:not(:disabled),.study-note-detail-dialog>footer button:focus-visible:not(:disabled){background:var(--surface-subtle)}.study-note-detail-dialog>footer button:disabled{color:var(--text-soft);cursor:default;opacity:.5}@media (max-width:860px){.lesson-v4-workspace,.lesson-v4-workspace.has-study-note{grid-template-columns:1fr;gap:14px}.shell-profile-note-control,.study-note-page-toggle,.lesson-study-note-control.is-desktop,.lesson-study-note-control.is-page-title{display:none}.lesson-ui-v4 .study-note-pad{aspect-ratio:auto;min-height:360px;position:static}.lesson-ui-v4 .study-note-pad-actions button{min-height:44px}.lesson-ui-v4 .lesson-study-expressions{padding-left:30px}.study-note-grid{grid-template-columns:1fr;gap:14px}.study-note-card-inner{height:190px;padding:18px}.study-note-summary-section{padding:20px 18px}.study-note-summary-section>header{align-items:flex-start}.study-note-detail-backdrop{padding:14px}.study-note-detail-dialog{width:min(100%,520px);height:min(620px,100dvh - 28px)}.study-note-detail-dialog>header,.study-note-detail-body{padding:18px}.study-note-detail-dialog>footer button span{display:none}}.app-shell-admin .lesson-manager{grid-template-columns:minmax(320px,34%) minmax(0,1fr);align-items:stretch;gap:20px}.app-shell-admin .lesson-manager>*,.app-shell-admin .lesson-editor,.app-shell-admin .lesson-editor .field-group,.app-shell-admin .lesson-editor input,.app-shell-admin .lesson-editor textarea,.app-shell-admin .lesson-editor .upload-field{min-width:0;max-width:100%}.app-shell-admin .lesson-editor{overflow:hidden}.app-shell-admin .lesson-editor input,.app-shell-admin .lesson-editor textarea{box-sizing:border-box;width:100%}.app-shell-admin .lesson-list{height:auto;max-height:none;overflow-y:auto}.app-shell-admin .student-filter-row{grid-template-columns:minmax(260px,1fr) 124px 220px;justify-content:stretch;width:100%}.app-shell-admin .student-filter-row>*{min-width:0}.app-shell-admin .refund-summary{grid-template-columns:150px 150px minmax(124px,auto)}.app-shell-admin .refund-summary>.button{justify-self:end}@media (min-width:861px){.app-shell-admin .refund-table .table-header,.app-shell-admin .refund-table .table-row{grid-template-columns:minmax(140px,.9fr) minmax(190px,1.2fr) minmax(170px,1fr) minmax(112px,.55fr);column-gap:18px}.app-shell-admin .refund-table .table-row>.button{white-space:nowrap;justify-self:stretch;width:100%;min-width:0;max-width:124px;padding-inline:10px}}@media (max-width:1100px) and (min-width:861px){.app-shell-admin .lesson-manager{grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:16px}.app-shell-admin .lesson-list,.app-shell-admin .lesson-editor{padding:18px}.app-shell-admin .lesson-editor-actions{grid-template-columns:1fr 1fr;display:grid}.app-shell-admin .lesson-editor-actions .button{width:100%;min-width:0}.app-shell-admin .lesson-editor-actions .button-primary{grid-column:1/-1;width:100%;min-width:0}}@media (max-width:860px){.app-shell-admin .lesson-manager{display:block}.app-shell-admin .lesson-list{max-height:none}.app-shell-admin .student-filter-row{grid-template-columns:minmax(0,1fr) 104px}.app-shell-admin .student-rate-select{grid-column:1/-1}}.student-notice-board{padding:0;overflow:hidden}.student-notice-filter-bar{border-bottom:1px solid var(--line);overscroll-behavior-x:contain;scrollbar-width:none;gap:4px;min-width:0;padding:0 24px;display:flex;overflow-x:auto}.student-notice-filter-bar::-webkit-scrollbar{display:none}.student-notice-filter{min-width:max-content;min-height:52px;color:var(--text-soft);cursor:pointer;font-size:var(--type-supporting);background:0 0;border:0;flex:none;align-items:center;gap:7px;padding:0 14px;font-weight:700;display:flex;position:relative}.student-notice-filter:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.student-notice-filter small{min-width:16px;color:inherit;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.student-notice-filter:hover{color:var(--text)}.student-notice-filter:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}.student-notice-filter[aria-pressed=true]{color:var(--blue)}.student-notice-filter[aria-pressed=true]:after{background:var(--blue)}.student-notice-feed-wrap{min-width:0}.student-notice-feed-heading,.student-notice-row>summary{grid-template-columns:96px minmax(0,1fr) 104px 24px;align-items:center;column-gap:16px;display:grid}.student-notice-feed-heading{border-bottom:1px solid var(--line);min-height:42px;color:var(--text-soft);background:var(--surface-subtle);padding:0 24px;font-size:13px;font-weight:700}.student-notice-feed{list-style:none;display:grid}.student-notice-feed>li{border-bottom:1px solid var(--line);min-width:0}.student-notice-feed>li:last-child{border-bottom:0}.student-notice-row>summary{cursor:pointer;min-height:68px;padding:14px 24px;list-style:none}.student-notice-row>summary::-webkit-details-marker{display:none}.student-notice-row>summary:hover{background:#f9fbff}.student-notice-row>summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;background:#f9fbff}.student-notice-row-category{color:var(--blue);font-size:14px;font-weight:700}.student-notice-row-title{overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1.55}.student-notice-row-date{color:var(--text-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:14px}.student-notice-row>summary>.shell-icon{width:20px;height:20px;color:var(--text-soft);transition:transform .18s}.student-notice-row[open]>summary{color:var(--blue);background:#f9fbff}.student-notice-row[open]>summary>.shell-icon{transform:rotate(180deg)}.student-notice-row-detail{background:#f9fbff;padding:0 64px 26px 136px}.student-notice-row-detail p{max-width:75ch;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.student-notice-feed-empty,.student-notice-list-state{min-height:220px;color:var(--text-soft);text-align:center;place-content:center;justify-items:center;gap:14px;padding:32px 24px;display:grid}.required-notice-backdrop{z-index:130}.required-notice-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex-direction:column;width:min(1040px,100vw - 64px);height:min(720px,100dvh - 48px);min-height:480px;display:flex;overflow:hidden;box-shadow:0 20px 48px #17203347}.required-notice-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;min-height:86px;padding:20px 22px 18px 26px;display:flex}.required-notice-heading{align-items:flex-start;gap:14px;min-width:0;display:flex}.required-notice-heading>.shell-icon{width:26px;height:26px;color:var(--blue);flex-basis:26px;margin-top:1px}.required-notice-heading h2{font-size:22px;line-height:1.35}.required-notice-heading p{color:var(--text-soft);font-size:var(--type-supporting);margin-top:4px;line-height:1.55}.required-notice-close{width:44px;height:44px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 44px;place-items:center;display:grid}.required-notice-close:hover,.required-notice-close:focus-visible{background:var(--surface-subtle);outline:0}.required-notice-close:disabled{color:#aab1bd;cursor:not-allowed;background:0 0}.required-notice-error{color:var(--red);background:#fff7f8;border-bottom:1px solid #f4c6ca;align-items:center;gap:10px;padding:11px 26px;display:flex}.required-notice-error .shell-icon{flex:0 0 20px;width:20px;height:20px}.required-notice-content{flex:auto;min-height:0;display:flex;overflow:hidden}.required-notice-meta{color:var(--text-soft);font-size:var(--type-caption);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.required-notice-meta strong{color:var(--red)}.required-notice-state{width:100%;min-height:100%;color:var(--text-soft);text-align:center;place-content:center;gap:14px;padding:24px;display:grid}.required-notice-detail{flex-direction:column;flex:auto;min-width:0;min-height:0;padding:32px 40px;display:flex;overflow-y:auto}.required-notice-detail header{gap:8px;display:grid}.required-notice-detail h3{overflow-wrap:anywhere;font-size:24px;line-height:1.4}.required-notice-body{width:100%;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:24px;font-size:17px;line-height:1.85}.notice-inline-emoji{vertical-align:-.06em;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:.9em;font-style:normal;font-weight:400;line-height:1;display:inline-block}.required-notice-read-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;margin-top:auto;padding-top:28px;display:flex}.required-notice-read-action p{color:var(--green);font-weight:700}.required-notice-inline-nav{align-items:center;gap:8px;display:flex}.required-notice-inline-nav>span{min-width:42px;color:var(--text-soft);font-size:var(--type-caption);text-align:center}.required-notice-read-state{justify-content:flex-end;margin-left:auto;display:flex}.required-notice-detail-empty{min-height:100%;color:var(--text-soft);text-align:center;place-content:center;gap:12px;display:grid}.required-notice-detail-empty .shell-icon{width:24px;height:24px;margin:0 auto}.required-notice-footer{border-top:1px solid var(--line);background:var(--surface-subtle);flex:none;justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:16px 22px 16px 26px;display:flex}.required-notice-consent{min-width:0;color:var(--text-soft);align-items:center;gap:10px;line-height:1.5;display:flex}.required-notice-consent.is-enabled{color:var(--text)}.required-notice-consent input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 20px}.required-notice-complete-copy{color:var(--text-soft);line-height:1.55}.required-notice-footer-actions{flex:none;gap:8px;display:flex}.required-notice-footer-actions .button{min-width:96px}@media (max-width:860px){.student-notices-page .page-heading{align-items:flex-start}.student-notices-page .page-heading>.button{min-width:116px}.student-notice-filter-bar{padding:0 10px}.student-notice-filter{min-height:48px;padding:0 12px}.student-notice-feed-heading{display:none}.student-notice-row>summary{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) 24px;gap:5px 10px;min-height:82px;padding:15px 18px}.student-notice-row-category{grid-area:1/1;font-size:13px}.student-notice-row-date{grid-area:1/2;justify-self:end;font-size:13px}.student-notice-row-title{grid-area:2/1/auto/3;font-size:15px}.student-notice-row>summary>.shell-icon{grid-area:1/3/3}.student-notice-row-detail{padding:0 18px 24px}.student-notice-row-detail p{max-width:none;font-size:15px;line-height:1.75}.required-notice-backdrop{align-items:end;padding:0}.required-notice-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;width:100%;height:min(94dvh,780px);min-height:0}.required-notice-header{min-height:78px;padding:16px 12px 14px 18px}.required-notice-heading>.shell-icon{display:none}.required-notice-heading h2{font-size:20px}.required-notice-heading p{font-size:14px}.required-notice-content{display:flex;overflow:hidden}.required-notice-detail{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;border-top:0;min-height:0;padding:24px 20px 30px;overflow-y:auto}.required-notice-detail h3{font-size:22px}.required-notice-footer{padding:14px 18px max(14px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px}.required-notice-footer-actions{grid-template-columns:1fr 1fr;display:grid}.required-notice-footer-actions .button{width:100%;min-height:44px}.app-shell-admin .submission-table .table-row{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:14px;min-height:0;padding:20px 18px}.app-shell-admin .submission-table .table-row>div:first-child{grid-area:1/1/auto/-1}.app-shell-admin .submission-table .table-row>.progress-block{grid-area:2/1/auto/-1;width:100%}.app-shell-admin .submission-table .table-row>.submission-review-state{grid-area:3/1}.app-shell-admin .submission-table .table-row>.submission-meta{text-align:right;grid-area:3/2;justify-self:end}.app-shell-admin .submission-table .table-row>.button{grid-area:4/1/auto/-1;width:100%;min-width:0;margin-top:2px}}
