:root{color-scheme:light;--bg:#fff7fb;--panel:hsla(0,0%,100%,.88);--ink:#2b2440;--muted:#716985;--line:#dacdf8;--brand:#6f5cff;--brand-strong:#4734c8;--accent:#ff7bbd;--accent-2:#34b8d9;--sun:#ffd166;--danger:#df3f6b;--ok:#14966f;--pending:#b97900;--shadow:0 18px 42px rgba(103,89,190,.16);--comic-shadow:4px 4px 0 rgba(71,52,200,.16)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,rgba(255,246,189,.5),transparent 30%),linear-gradient(180deg,#eaf8ff 0,var(--bg) 42%,#f8f1ff 100%);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.62;transform:none}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:22px 0 56px}.topbar{align-items:center;background:hsla(0,0%,100%,.82);border:1px solid rgba(218,205,248,.8);border-radius:8px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:12px}.brand{color:var(--brand-strong);font-size:23px;font-weight:800;letter-spacing:0;text-shadow:2px 2px 0 rgba(255,209,102,.55)}.nav{display:flex;flex-wrap:wrap;gap:8px}.button,.nav a,button{align-items:center;background:linear-gradient(135deg,var(--brand),#8e6fff);border:1px solid #5d4cef;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:9px 13px;box-shadow:var(--comic-shadow);font-weight:750;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.button:hover,.nav a:hover,button:hover{filter:saturate(1.06);transform:translate(-1px,-1px)}.nav a{background:hsla(0,0%,100%,.72);border-color:rgba(111,92,255,.26);color:var(--brand-strong);box-shadow:none}.secondary,button.secondary{background:hsla(0,0%,100%,.86);border-color:var(--line);color:var(--brand-strong)}.danger{background:linear-gradient(135deg,var(--danger),#ff7aa9);border-color:var(--danger)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{background:var(--panel);border:1px solid rgba(218,205,248,.9);border-radius:8px;box-shadow:var(--shadow);min-width:0;padding:18px}.hero{display:grid;grid-gap:18px;gap:18px;min-height:520px;overflow:hidden;padding:52px 0 24px;position:relative}.anime-hero{background:linear-gradient(90deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.72) 36%,hsla(0,0%,100%,.14) 66%),url(/assets/anime-study-hero.png) 50% /cover no-repeat;border:1px solid rgba(218,205,248,.9);border-radius:8px;box-shadow:var(--shadow);margin-bottom:18px;padding-inline:clamp(20px,4vw,48px)}.anime-hero:after{background-image:linear-gradient(45deg,transparent 48%,rgba(255,123,189,.45) 49%,rgba(255,123,189,.45) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(52,184,217,.35) 49%,rgba(52,184,217,.35) 51%,transparent 52%);background-size:34px 34px;content:"";inset:0;opacity:.15;pointer-events:none;position:absolute}.anime-hero>*{position:relative;z-index:1}.hero-copy{align-self:center;max-width:560px}.eyebrow{background:#fff2a8;border:1px solid #e3c64a;border-radius:999px;color:#735900;display:inline-flex;font-size:13px;font-weight:850;margin-bottom:14px;padding:6px 10px}.hero h1{font-size:clamp(36px,7vw,76px);letter-spacing:0;line-height:.98;margin:0;max-width:920px;text-shadow:3px 3px 0 rgba(255,123,189,.25)}.hero p,.muted{color:var(--muted)}.hero p{font-size:18px;line-height:1.7;max-width:720px}.stat{border-left:5px solid var(--accent);padding-left:12px}.stat strong{color:var(--brand-strong);display:block;font-size:30px;text-shadow:2px 2px 0 rgba(255,209,102,.38)}.form{display:grid;grid-gap:14px;gap:14px}.question-mix-fieldset{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin:0;padding:14px}.question-mix-fieldset legend{color:var(--brand-strong);font-weight:800;padding:0 6px}.compact-form{align-items:end;grid-template-columns:repeat(3,minmax(150px,1fr))}.danger-zone{align-items:end;border-color:rgba(223,63,107,.32);display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(320px,520px)}.clear-library-form{align-items:end;grid-template-columns:minmax(0,1fr) auto}label{color:var(--muted);display:grid;grid-gap:6px;gap:6px;font-size:14px}input,select,textarea{background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:44px;padding:10px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(111,92,255,.14);outline:none}textarea{min-height:86px;resize:vertical}.search-field{align-items:center;color:var(--muted);display:grid;grid-gap:8px;gap:8px;grid-template-columns:18px minmax(220px,320px)}.search-field input{min-height:40px}.library-voice-select{min-width:140px}.library-speed-control{min-width:190px}.library-login-form,.library-permission-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.library-login-form{flex:1 1}.library-login-form input{max-width:260px}.row-actions{display:flex;gap:8px}.pagination-bar{align-items:center;display:flex;gap:14px;justify-content:center;padding-top:16px}.speaking-icon{animation:speaking-pulse .7s ease-in-out infinite alternate}.speech-source{border:1px solid;border-radius:999px;font-size:11px;font-weight:800;padding:4px 7px;white-space:nowrap}.speech-source.cache{color:var(--ok)}.speech-source.generated{color:var(--brand-strong)}.speech-source.browser{color:var(--pending)}@keyframes speaking-pulse{0%{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}.row-actions button{min-height:40px;min-width:40px;padding:8px}table{border-collapse:separate;border-spacing:0;width:100%}.table-scroll{overflow-x:auto;padding-bottom:2px;position:relative}.library-table{min-width:1080px;table-layout:fixed}.preview-table{min-width:1120px}.library-table .col-word{width:140px}.library-table .col-type{width:96px}.library-table .col-phonetic{width:154px}.library-table .col-definition{width:240px}.library-table .col-source,.library-table .col-stage{width:108px}.library-table .col-tags,.library-table .col-unit{width:92px}.library-table .col-notes{width:140px}.library-table .col-status{width:92px}.library-table .col-actions{width:150px}td,th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}th{background:rgba(242,238,255,.82);color:var(--muted);font-size:13px;font-weight:700}tbody tr:nth-child(2n) td{background:rgba(255,250,255,.52)}.library-table td,.library-table th{padding:8px 6px}.library-table td,.mistake-table td{line-height:1.55;min-height:72px;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.library-table textarea,.mistake-table textarea{line-height:1.5;min-height:58px;white-space:normal}.definition-cell{min-width:0}.word-cell strong{display:block}.word-cell strong,.word-cell textarea{overflow-wrap:anywhere;white-space:normal;word-break:break-word}.word-cell textarea{min-height:64px}.definition-cell input,.definition-cell textarea{margin-bottom:8px;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.definition-cell textarea[placeholder=\8BCD\6027]{min-height:54px}.definition-cell input:last-child,.definition-cell textarea:last-child{margin-bottom:0}.definition-pos{color:var(--muted);font-size:13px;font-weight:750;margin-bottom:4px;white-space:pre-line}.mistake-table{min-width:1090px;table-layout:fixed}.mistake-table th:first-child{width:110px}.mistake-table th:nth-child(2){width:82px}.mistake-table th:nth-child(3){width:220px}.mistake-table th:nth-child(4){width:74px}.mistake-table th:nth-child(5),.mistake-table th:nth-child(6){width:130px}.mistake-table th:nth-child(7){width:76px}.mistake-table th:nth-child(8){width:130px}.mistake-table th:nth-child(9){width:210px}.person-pill{margin:2px 5px 2px 0}.mistake-speed-control{min-width:190px}.mistake-table td:last-child,.mistake-table th:last-child{background:hsla(0,0%,100%,.97);box-shadow:-8px 0 14px rgba(103,89,190,.1);position:-webkit-sticky;position:sticky;right:0;z-index:3}.mistake-table th:last-child{background:rgba(242,238,255,.98);z-index:4}.mistake-row-actions{align-items:center;flex-wrap:wrap;justify-content:flex-start}.library-table input,.library-table select,.library-table textarea{min-height:38px;padding:8px 9px}.library-table textarea{min-height:64px}.table-subtext{font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-words-table td:last-child,.saved-words-table th:last-child{background:hsla(0,0%,100%,.96);box-shadow:-8px 0 14px rgba(103,89,190,.08);position:-webkit-sticky;position:sticky;right:0;z-index:3}.saved-words-table th:last-child{background:rgba(242,238,255,.96);z-index:4}.saved-words-table td:last-child .row-actions{justify-content:center}.pill{background:hsla(0,0%,100%,.74);border:1px solid rgba(218,205,248,.9);border-radius:999px;display:inline-flex;font-size:13px;font-weight:750;padding:4px 8px}.ok{color:var(--ok)}.wrong{color:var(--danger)}.pending{color:var(--pending)}.question{align-content:center;display:grid;grid-gap:18px;gap:18px;min-height:58vh}.dictation-layout{margin:0 auto;max-width:920px}.immersive-dictation{padding-bottom:28px}.dictation-progress{accent-color:var(--brand);height:10px;width:100%}.question-navigator{display:grid;grid-gap:12px;gap:12px;padding:14px}.question-navigator-header{align-items:center;display:flex;justify-content:space-between}.question-number-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}.question-number-grid button{background:#fff;border-color:var(--line);box-shadow:none;color:var(--muted);min-height:42px;padding:7px}.question-number-grid button.answered{background:rgba(20,150,111,.09);border-color:rgba(20,150,111,.4);color:var(--ok)}.question-number-grid button.current{background:linear-gradient(135deg,var(--brand),#8e6fff);border-color:var(--brand);color:#fff}.teacher-login-card{margin:48px auto 0;max-width:520px}.teacher-dashboard{margin-top:28px;padding:clamp(24px,5vw,52px)}.teacher-dashboard h1{font-size:clamp(34px,6vw,58px);margin:0 0 12px}.teacher-entry-grid{margin-top:24px;max-width:720px}.dictation-actions{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(150px,auto) minmax(260px,1fr);margin-top:18px}.dictation-actions>:only-child{grid-column:1/-1}.completion-summary{padding-block:34px;text-align:center}.completion-summary .eyebrow{margin-inline:auto}.final-checkpoint{margin:8vh auto 0;max-width:680px}.final-checkpoint-actions{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px auto 0;max-width:520px}.status-badge.learning{background:#fff2cf;color:#8a5b00}.status-badge.review{background:#e8f6ff;color:#176b89}.status-badge.mastered{background:#def7ed;color:#087455}.status-badge.new{background:#f1edff;color:var(--brand-strong)}.dictation-meta{display:flex;flex-wrap:wrap;gap:8px}.timer-pill{align-items:center;gap:5px;margin-left:0}.deadline-warning{border-color:rgba(223,63,107,.55);color:var(--danger)}.deadline-pill{align-items:center;gap:6px;justify-content:flex-start;width:-moz-fit-content;width:fit-content}.prompt{font-size:clamp(34px,8vw,72px);font-weight:800;letter-spacing:0;line-height:1.08;text-shadow:3px 3px 0 rgba(52,184,217,.17)}.dictation-prompt-card{overflow:hidden}.audio-prompt{display:grid;grid-gap:18px;gap:18px}.audio-prompt-main{align-items:center;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) auto}.dictation-prompt-title{font-size:clamp(34px,6vw,52px);margin:0}.text-prompt{margin:0}.play-button{min-height:62px;min-width:132px;padding:14px 20px}.audio-controls{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(180px,240px)}.speech-message{color:var(--pending);font-size:14px;font-weight:700;margin:0}.answer-card{border-color:rgba(111,92,255,.28);display:grid;grid-gap:16px;gap:16px}.answer-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.answer-card-header h2{font-size:26px;line-height:1.15;margin:3px 0 0}.answer-count,.answer-eyebrow{color:var(--muted);font-size:13px;font-weight:750}.answer-count{background:rgba(242,238,255,.9);border:1px solid rgba(218,205,248,.95);border-radius:999px;padding:6px 10px;white-space:nowrap}.answer-fields{display:grid;grid-gap:14px;gap:14px}.answer-field{color:var(--ink);gap:8px}.field-label{align-items:center;color:var(--brand-strong);display:inline-flex;font-size:15px;font-weight:850;gap:7px}.answer-field-primary{background:linear-gradient(180deg,rgba(242,238,255,.78),hsla(0,0%,100%,.92));border:1px solid rgba(111,92,255,.24);border-radius:8px;padding:14px}.answer-input-primary{border-color:rgba(111,92,255,.48);font-size:26px;font-weight:750;min-height:62px}.answer-lines{display:grid;grid-gap:10px;gap:10px}.answer-line-card{background:hsla(0,0%,100%,.72);border:1px solid rgba(218,205,248,.9);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:76px minmax(0,1fr);padding:12px}.line-number{align-self:start;background:#fff2a8;border:1px solid #e3c64a;border-radius:999px;color:#735900;font-size:13px;font-weight:850;justify-self:start;padding:5px 9px}.line-fields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.line-fields .answer-field:only-child{max-width:100%}.submit-answer-button{font-size:17px;min-height:54px}.answer-message{margin:0}.answer-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.task-manager{display:grid;grid-gap:16px;gap:16px}.task-login{margin:36px auto 0;max-width:460px;width:100%}.task-login h2{margin:12px 0 18px}.task-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.task-actions,.task-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.segmented-control{background:rgba(242,238,255,.88);border:1px solid var(--line);border-radius:8px;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px}.segmented-control button{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted);min-height:38px}.segmented-control button.active{background:#fff;border-color:rgba(111,92,255,.28);color:var(--brand-strong);box-shadow:0 3px 10px rgba(71,52,200,.1)}.task-metrics{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.task-metrics>div{display:grid;grid-gap:2px;gap:2px;padding:14px 16px}.task-metrics>div+div{border-left:1px solid var(--line)}.task-metrics strong{color:var(--brand-strong);font-size:26px}.task-metrics span{color:var(--muted);font-size:13px}.task-message{color:var(--brand-strong);font-weight:700;margin:0}.task-table-panel{padding:0}.task-table{min-width:1160px;table-layout:fixed}.task-table th:first-child{width:88px}.task-table th:nth-child(2){width:158px}.task-table th:nth-child(3){width:160px}.task-table th:nth-child(4){width:150px}.task-table th:nth-child(5){width:140px}.task-table th:nth-child(6){width:144px}.task-table th:nth-child(7){width:150px}.task-table th:nth-child(8){width:180px}.task-table td,.task-table th{padding:12px;vertical-align:middle}.status-badge{border:1px solid;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 8px;white-space:nowrap}.status-badge.active{background:rgba(20,150,111,.08);color:var(--ok)}.status-badge.completed{background:rgba(52,184,217,.09);color:#117e9a}.status-badge.closed{background:rgba(223,63,107,.08);color:var(--danger)}.status-badge.recorded{background:rgba(111,92,255,.09);color:var(--brand-strong)}.task-progress-label{color:var(--muted);display:flex;font-size:12px;justify-content:space-between;margin-bottom:5px}.task-table progress{accent-color:var(--brand);height:8px;width:100%}.deadline-text,.task-table .table-subtext{overflow-wrap:anywhere;white-space:normal}.deadline-text{color:var(--muted);font-size:13px;line-height:1.45;word-break:break-word}.task-table td:nth-child(6) span{display:inline-block;font-size:13px;margin-right:8px;white-space:nowrap}.parent-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.deadline-stat{font-size:clamp(18px,2vw,28px);line-height:1.2;overflow-wrap:anywhere}.task-actions .button,.task-actions button{font-size:13px;min-height:36px;padding:7px 9px}.task-empty{color:var(--muted);padding:42px 16px!important;text-align:center}@media (max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.answer-grid,.clear-library-form,.compact-form,.danger-zone,.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.shell{width:min(100% - 20px,1120px)}.anime-hero{background:linear-gradient(180deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.84) 48%,hsla(0,0%,100%,.2)),url(/assets/anime-study-hero.png) 58% bottom /auto 68% no-repeat;min-height:620px;padding-top:28px}.hero-copy{align-self:start}.search-field{grid-template-columns:18px minmax(0,1fr);width:100%}.answer-line-card,.audio-controls,.audio-prompt-main,.dictation-actions,.line-fields{grid-template-columns:1fr}.dictation-actions .submit-answer-button{min-height:54px;order:-1}.dictation-actions{margin-top:24px}.play-button{width:100%}.answer-card-header{align-items:stretch;flex-direction:column}.answer-count{white-space:normal}.answer-input-primary{font-size:22px}.task-toolbar{align-items:stretch;flex-direction:column}.final-checkpoint-actions{grid-template-columns:1fr}.task-toolbar-actions>*{flex:1 1}.task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.task-metrics>div:nth-child(3){border-left:0}.task-metrics>div:nth-child(3),.task-metrics>div:nth-child(4){border-top:1px solid var(--line)}}