.teacher-dashboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;overflow:auto;background:#edf2f6;color:#345368;font-size:14px;line-height:1.6}.teacher-dashboard *{box-sizing:border-box}.teacher-dashboard button,.teacher-dashboard input,.teacher-dashboard select{font:inherit;color:inherit;min-height:44px;border:1px solid #c5d6e2;border-radius:10px;background:#fff;padding:9px 12px}.teacher-dashboard button{cursor:pointer;font-weight:700}.teacher-dashboard button:disabled{cursor:wait;opacity:.65}.teacher-dashboard :focus-visible{outline:3px solid #1587c7;outline-offset:3px}.teacher-header{position:sticky;top:0;z-index:2;border-bottom:1px solid #d7e2ea;background:#fff}.teacher-header>div{max-width:1240px;margin:auto;display:flex;gap:12px;align-items:center;padding:12px 24px}.teacher-header h1{font-size:21px;margin:0;flex:1;color:#28485e}.teacher-header .teacher-back{font-size:28px;line-height:1;width:44px;border:none;padding:0;flex-shrink:0}.teacher-main{max-width:1240px;margin:auto;padding:28px 24px 56px}.teacher-toolbar{display:flex;align-items:flex-end;gap:16px;padding:20px;background:#fff;border:1px solid #d7e2ea;border-radius:16px}.teacher-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700;min-width:0}.teacher-toolbar input,.teacher-toolbar select{width:100%;font-weight:400;font-size:16px}.teacher-search{flex:1;min-width:180px!important}.teacher-period{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px}.teacher-period h2{font-size:19px;margin:0;color:#28485e}.teacher-period p{margin:4px 0 0;font-size:16px;font-weight:700}.teacher-period p span{font-size:14px;font-weight:400}.teacher-list-head,.teacher-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(310px,1.4fr) minmax(190px,.9fr) 76px;align-items:center;gap:24px;padding:16px 20px}.teacher-list-head{padding-top:0;padding-bottom:10px;font-weight:700}.teacher-students{display:flex;flex-direction:column;gap:12px}.teacher-student{border:1px solid #d7e2ea;border-radius:16px;background:#fff;overflow:hidden}.teacher-identity h3{font-size:19px;color:#28485e;margin:0 0 4px;overflow-wrap:anywhere}.teacher-identity p{margin:0 0 8px}.teacher-course{display:inline-block;background:#edf6fb;color:#196b99;padding:3px 9px;border-radius:8px;font-weight:700}.teacher-metrics{display:flex;gap:22px;align-items:start}.teacher-metrics>div{min-width:0}.teacher-metrics span{display:block;white-space:nowrap}.teacher-metrics strong{display:block;color:#1378af;font-size:26px;line-height:1.5;font-variant-numeric:tabular-nums}.teacher-metrics small{font-size:13px;font-weight:600;margin-left:3px}.teacher-metrics .teacher-duration{font-size:19px;padding-top:7px;white-space:nowrap}.teacher-total{border-left:1px solid #d7e2ea;padding-left:22px}.teacher-total .teacher-metrics{gap:22px}.teacher-total .teacher-metrics strong{font-size:24px}.teacher-days{display:flex;list-style:none;gap:8px;margin:10px 0 0;padding:0}.teacher-days li{display:flex;align-items:center;flex-direction:column;gap:4px;min-width:32px;font-size:12px}.teacher-days b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #b4c9d7;line-height:1;font-size:14px}.teacher-days .teacher-day-studied{background:#1587c7;border-color:#1587c7;color:#fff}.teacher-days .teacher-day-untracked,.teacher-days .teacher-day-future,.teacher-days .teacher-day-partial{border-style:dashed;background:#f2f6f9;color:#546f80}.teacher-detail-button{padding:8px!important;color:#196b99!important;background:#f1f8fc!important}.teacher-mobile-label{display:none}.teacher-notice{padding:12px 16px;background:#fff8e9;border:1px solid #eddbb4;border-radius:12px;margin:12px 0 20px;line-height:1.7}.teacher-notice button{margin-left:12px}.teacher-empty{padding:40px 20px;text-align:center;background:#fff;border-radius:16px}.teacher-count-help{margin-top:24px;max-width:850px}.teacher-count-help summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:700}.teacher-count-help p{margin:8px 0;line-height:1.8}.teacher-detail{padding:20px;border-top:1px solid #d7e2ea;background:#f8fbfd}.teacher-detail h4{font-size:15px;margin:0 0 12px}.teacher-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.teacher-tier-counts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.teacher-tier-counts span{display:flex;flex-direction:column;min-width:64px}.teacher-tier-counts b{font-size:20px;color:#1378af}.teacher-eiken-row{display:flex;gap:12px;align-items:center;margin:8px 0}.teacher-eiken-row progress{flex:1;min-width:0;height:12px;accent-color:#1587c7}.teacher-admin-settings{margin-top:24px;border-top:1px solid #d7e2ea;padding-top:8px}.teacher-admin-settings summary{padding:8px 0;cursor:pointer}.teacher-admin-settings label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.teacher-admin-settings .teacher-delete{color:#a53d37;margin-top:12px}@media (max-width:1000px){.teacher-list-head,.teacher-row{gap:16px;grid-template-columns:minmax(150px,1fr) minmax(270px,1.5fr) minmax(155px,.8fr) 70px;padding-left:16px;padding-right:16px}.teacher-metrics{gap:14px}.teacher-total{padding-left:14px}.teacher-total .teacher-metrics{gap:12px}.teacher-days{gap:5px}}@media (max-width:800px){.teacher-main{padding:18px 14px 40px}.teacher-header>div{padding:10px 14px;gap:8px}.teacher-header h1{font-size:17px}.teacher-header button:last-child{font-size:13px;padding:8px}.teacher-toolbar{display:grid;grid-template-columns:1fr 1fr auto;padding:14px;gap:12px}.teacher-search{grid-column:1/-1}.teacher-period{margin:22px 0 12px;align-items:flex-end}.teacher-period p{font-size:15px}.teacher-period p span{display:block;font-size:13px}.teacher-period>span{white-space:nowrap;font-size:13px}.teacher-list-head{display:none}.teacher-row{grid-template-columns:1fr auto;padding:16px;gap:16px}.teacher-identity{grid-column:1}.teacher-detail-button{grid-column:2;grid-row:1}.teacher-recent,.teacher-total{grid-column:1/-1;border:0;padding:0}.teacher-recent{border-top:1px solid #e2ecf2;padding-top:12px}.teacher-total{background:#f2f7fb;padding:12px;border-radius:12px}.teacher-mobile-label{display:block;font-size:14px;margin:0 0 6px;font-weight:700}.teacher-metrics{gap:26px}.teacher-days{justify-content:space-between;gap:4px}.teacher-days li{font-size:13px}.teacher-total .teacher-metrics{gap:36px}.teacher-detail-grid{grid-template-columns:1fr;gap:24px}.teacher-detail{padding:16px}}@media (max-width:380px){.teacher-header h1{font-size:15px}.teacher-toolbar{grid-template-columns:1fr auto}.teacher-toolbar label:nth-child(2){grid-column:1/-1}.teacher-search{min-width:0!important}.teacher-metrics{gap:18px}.teacher-metrics strong{font-size:24px}.teacher-metrics .teacher-duration{font-size:17px}}.teacher-metrics small,.teacher-days li{font-size:14px}@media (max-width:380px){.teacher-header h1{font-size:17px}}.practice-screen,.practice-actions{--practice-blue: #0878b6;--practice-muted: #526776;--practice-good: #176342;--practice-warn: #815111;--practice-line: #d7e2ea;color:#112a3a;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Noto Sans JP,sans-serif;font-size:16px;line-height:1.6}.practice-screen{display:flex;flex-direction:column;gap:16px;padding-bottom:12px}.practice-screen[data-docked=true]{padding-bottom:calc(var(--practice-action-height, 160px) + 16px)}.practice-screen *,.practice-actions *{box-sizing:border-box}.practice-screen button,.practice-actions button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.practice-screen button:focus-visible,.practice-actions button:focus-visible,.practice-screen summary:focus-visible{outline:3px solid var(--practice-blue);outline-offset:3px}.practice-screen button:disabled,.practice-actions button:disabled{cursor:default}.practice-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.practice-heading-row h1{font-size:20px;margin:0;font-weight:600}.practice-heading-row .practice-count{font-size:14px;color:var(--practice-muted);margin-left:10px;font-weight:400}.practice-settings{padding:16px;border:1px solid var(--practice-line);border-radius:16px;background:#fff}.practice-settings p,.practice-settings summary{font-size:14px;color:var(--practice-muted)}.practice-settings summary{min-height:44px;padding:10px 0;cursor:pointer}.practice-format-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.practice-format-options button{min-height:44px;padding:8px 12px;border:1px solid var(--practice-line);border-radius:10px;background:#fff;font-size:14px;color:#112a3a}.practice-format-options button[aria-pressed=true]{background:var(--practice-blue);border-color:var(--practice-blue);color:#fff}.practice-progress-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.practice-progress{display:flex;gap:8px;list-style:none;margin:0;padding:0}.practice-progress li{width:22px;height:22px;display:grid;place-items:center;border:1px solid #96aeba;border-radius:50%;background:#fff}.practice-progress li[data-done=true]{background:var(--practice-blue);border-color:var(--practice-blue);color:#fff}.practice-progress li[aria-current=step]{border:2px solid var(--practice-blue)}.practice-progress li[aria-current=step]:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--practice-blue)}.practice-remaining{margin-left:auto;color:var(--practice-muted);font-size:14px}.practice-remaining strong{color:var(--practice-blue);font-weight:600}.practice-time-inline{align-self:flex-end;margin-top:-12px;color:var(--practice-muted);font-size:14px;line-height:1.5}.practice-time-inline span{display:inline-block;min-width:5ch;text-align:right;font-variant-numeric:tabular-nums}.practice-task{font-size:20px;line-height:1.5;font-weight:600;margin:2px 0 0}.practice-retry-label{font-size:14px;color:var(--practice-muted);font-weight:400;display:block;margin-bottom:4px}.practice-lesson{min-width:0;background:#fff;border:1px solid #e1e9ef;border-radius:18px;padding:20px}.practice-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;width:100%;padding:12px 16px;border:0;border-radius:12px;background:var(--practice-blue);color:#fff;font-size:17px!important;font-weight:600!important;line-height:1.5!important}.practice-primary:disabled{background:#eaf1f6;color:var(--practice-muted)}.practice-secondary,.practice-quiet{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid var(--practice-line);border-radius:12px;background:#fff;color:#112a3a;font-size:16px!important;font-weight:500!important}.practice-quiet{border-color:transparent;background:transparent;color:var(--practice-muted)}.practice-actions{position:fixed;z-index:30;left:0;right:0;width:calc(100% - 24px);max-width:398px;margin:0 auto;padding:12px;box-sizing:border-box;background:#fff;border:1px solid var(--practice-line);border-radius:16px;box-shadow:0 3px 14px #112a3a12;display:flex;flex-direction:column;gap:8px}.practice-action-hint{font-size:14px;color:var(--practice-muted);text-align:center;margin:0;line-height:1.5}.practice-action-secondary{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 8px}.practice-word{font-family:Lexend,sans-serif;font-size:34px;line-height:1.3;font-weight:500;color:var(--practice-blue);overflow-wrap:anywhere;margin:0 0 8px}.practice-meaning{font-size:17px;margin:0}.practice-word,.practice-word+.practice-meaning{text-align:center}.practice-example{font-family:Lexend,sans-serif;font-size:21px;font-weight:400;line-height:1.65;overflow-wrap:anywhere;margin:8px 0}.practice-label{font-size:14px;color:var(--practice-muted);margin:0 0 6px}.practice-speech-context{border-top:1px solid var(--practice-line);margin-top:20px;padding-top:20px}.practice-speech-context .practice-secondary{margin-top:12px}.practice-produce-hint .practice-secondary{margin-top:0}.practice-produce-hint .practice-label{margin-top:16px}.practice-feedback{padding:16px;border-radius:12px;background:#eaf6ee;color:var(--practice-good);margin-top:18px;overflow-wrap:anywhere}.practice-feedback[data-tone=retry]{background:#fff6e6;color:var(--practice-warn)}.practice-feedback[data-tone=neutral]{background:#f1f7fb;color:#112a3a}.practice-feedback-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0}.practice-feedback-title svg{flex-shrink:0}.practice-feedback[data-tone=success] .practice-feedback-title svg{animation:practice-check .18s ease-out}.practice-feedback p{font-size:16px;margin:8px 0 0;line-height:1.65}.practice-feedback .practice-label{font-size:14px;color:inherit;margin-top:14px}.practice-feedback .practice-example{font-size:19px;color:#112a3a}.practice-record-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:16px;color:var(--practice-blue);text-align:center}.practice-voice-activity{display:inline-flex;align-items:center;gap:10px;color:var(--practice-muted);font-size:14px}.practice-voice-activity[data-active=true]{color:var(--practice-blue)}.practice-voice-bars{display:flex;align-items:center;justify-content:center;gap:3px;width:40px;height:22px}.practice-voice-bars i{width:4px;height:4px;background:currentColor;border-radius:4px}.practice-voice-activity[data-active=true] i{height:20px;animation:practice-voice .55s ease-in-out infinite alternate}.practice-voice-activity[data-active=true] i:nth-child(2n){height:14px;animation-delay:-.2s}.practice-voice-activity[data-active=true] i:nth-child(3n){animation-delay:-.4s}.practice-voice-marks{display:flex;flex-wrap:wrap;gap:5px 8px}.practice-voice-marks [data-heard=true]{color:var(--practice-good)}.practice-voice-marks [data-heard=false]{color:var(--practice-warn);border-bottom:2px dashed currentColor}.practice-choice-grid{display:grid;gap:12px;margin-top:20px}.practice-choice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:60px;width:100%;border:1px solid var(--practice-line);background:#fff;border-radius:12px;padding:14px;color:#112a3a;font-family:Lexend,system-ui,sans-serif!important;font-size:18px!important;font-weight:500!important;text-align:left;opacity:1}.practice-choice[data-columns=two]{flex-direction:column;justify-content:center;min-height:80px;text-align:center}.practice-choice[data-correct=true]{border:2px solid var(--practice-good);padding:13px;background:#eaf6ee}.practice-choice[data-picked=true]{border:2px solid var(--practice-warn);padding:13px;background:#fff6e6}.practice-choice-tag{display:flex;align-items:center;gap:4px;font-family:inherit;font-size:14px;line-height:1.5;font-weight:500;color:var(--practice-muted)}.practice-choice[data-correct=true] .practice-choice-tag{color:var(--practice-good)}.practice-meaning-prompt{display:flex;align-items:center;justify-content:center;gap:12px}.practice-meaning-prompt>div{min-width:0}.practice-meaning-prompt .practice-word{margin:0}.practice-meaning-picture{width:88px;flex-shrink:0}.practice-screen[data-format=mean] .practice-lesson{padding:16px}.practice-screen[data-format=mean] .practice-choice-grid{margin-top:12px;gap:8px}.practice-screen[data-format=mean] .practice-choice{min-height:52px;padding:10px 12px}.practice-screen[data-format=mean] .practice-choice[data-correct=true],.practice-screen[data-format=mean] .practice-choice[data-picked=true]{padding:9px 11px}.practice-time{order:2;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 32px;text-align:center;font-size:14px;color:var(--practice-muted)}.practice-time strong{display:block;color:#112a3a;font-size:20px;font-weight:600}.practice-complete{text-align:center;padding:32px 20px}.practice-complete h2{font-size:24px;font-weight:600;margin:12px 0 8px}.practice-complete p{font-size:18px;margin:0 0 24px}.practice-complete-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#eaf6ee;color:var(--practice-good);animation:practice-check .24s ease-out}.practice-assemble-token{min-height:48px}.practice-assemble-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:18px}.practice-assemble-heading .practice-secondary{flex-shrink:0}.practice-assemble-built{min-height:48px;display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.practice-assemble-answer{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;border:1px solid var(--practice-line);border-bottom-width:2px;border-radius:8px;background:#fff;color:#112a3a;font-family:Lexend,sans-serif!important;font-size:18px!important;opacity:1}.practice-assemble-answer[data-position=correct]{color:var(--practice-good);background:#eaf6ee;border-color:var(--practice-good)}.practice-assemble-answer[data-position=wrong]{color:var(--practice-warn);background:#fff6e6;border-color:var(--practice-warn);border-bottom-style:dashed}.practice-assemble-answer small{font-size:14px;font-weight:500}.practice-assemble-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--practice-line)}.practice-assemble-result .practice-example{margin:0;font-size:19px}.practice-assemble-correct{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px;font-family:Lexend,sans-serif}.practice-assemble-correct span{padding:2px 6px;border-radius:6px}.practice-assemble-correct [data-changed=true]{background:#eaf6ee;color:var(--practice-good)}.practice-sound-letter{text-decoration:underline;text-decoration-color:var(--practice-blue);text-underline-offset:4px}.practice-sound-link{color:var(--practice-blue)}.practice-sound-tips{margin-top:12px;font-size:16px}.practice-sound-tips summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:14px;color:var(--practice-muted)}.practice-sound-tips p{margin:8px 0}@keyframes practice-check{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes practice-voice{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}@media (max-width: 360px){.practice-lesson{padding:16px}.practice-heading-row{gap:4px}.practice-choice{padding:12px}.practice-choice[data-correct=true],.practice-choice[data-picked=true]{padding:11px}}@media (prefers-reduced-motion: reduce){.practice-screen *,.practice-actions *{animation:none!important;transition:none!important}}
