:root{--ink:#183c35;--muted:#65756e;--green:#245b4b;--line:#dfe6e1;--paper:#f4f7f5;--red:#a5453a}body{font-size:14px;letter-spacing:-.15px}button,input,select,textarea{transition:background-color .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(.97)}:focus-visible{outline:3px solid #669b82;outline-offset:3px}h1{font-size:30px;letter-spacing:-1px}h2{font-size:20px;line-height:1.4}h3{font-size:16px}main{padding:32px 36px;max-width:1800px}.page-head{margin-bottom:24px}.eyebrow{color:#6b8277;font-size:10px;letter-spacing:1.7px}.sub{font-size:13px;line-height:1.7}.mini{font-size:12px;color:#708076}.card{border-radius:14px;padding:24px;box-shadow:0 3px 6px #183c3502}.card>h2+.table-wrap,.card>.between+.table-wrap{margin-top:19px}.grid2{gap:22px}.stack{gap:22px}.brand small{letter-spacing:.8px;font-size:11px}.brand-mark{border-radius:12px}.role-switch{border-radius:10px}.role-switch button{padding:8px 27px}.role-switch .active{box-shadow:0 2px 5px #183c351c}.nav{font-size:13px;border-radius:9px;padding:13px 14px}.nav.active{background:#e8f1eb}.side-label{letter-spacing:1.5px;color:#6a8074}.side-bottom .text-link{font-size:11px}#header{height:80px;padding:0 34px}.profile{gap:13px}.profile>span:last-child{display:flex;gap:10px;align-items:center}.notification-button{font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;white-space:nowrap}.notice-count{display:inline-grid;place-items:center;min-width:19px;height:19px;background:#e7f0ea;color:#245b4b;border-radius:50%;margin-left:4px;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:22px}.focus-lesson{min-height:200px;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;background:#245b4b;color:#fff}.focus-lesson>div{padding:27px 30px}.focus-lesson .eyebrow{color:#b2ccbd}.focus-lesson h2{font-size:25px;margin:9px 0 7px}.focus-lesson p{color:#d2e4d8;font-size:12px}.focus-lesson .btn{margin-top:20px;background:#e6eecb;color:#214f40}.focus-lesson img{width:100%;height:100%;object-fit:cover;min-height:200px}.stats{margin:22px 0;gap:15px}.compact-stats{margin:0}.stat{border-radius:12px;padding:16px 22px}.stat strong{font-size:30px;font-variant-numeric:tabular-nums}.stat small{font-size:12px}.four-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.task-list{display:grid;gap:0}.task-card{display:flex;flex-direction:row;gap:17px;border-bottom:1px solid var(--line);padding:20px 0;overflow:visible}.task-card:first-child{padding-top:3px}.task-card:last-child{border-bottom:0;padding-bottom:0}.task-index{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#edf2ea;color:#4a725c;border-radius:12px}.task-index svg{width:23px;height:23px}.task-body{flex:1;min-width:0}.task-card h3{font-size:17px;margin:7px 0}.task-card p{font-size:12px}.task-card .row{gap:8px}.task-card .mini-progress{margin:14px 0 11px;height:5px}.mini-progress span{background:#669e80}.task-card .btn{min-height:33px}.status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:6px;padding:4px 8px;background:#edf0f2;color:#576871;font-size:11px;font-weight:600}.status.success{background:#e8f2eb;color:#356747}.status.late{background:#fcf0e9;color:#a0603c}.status.progress{background:#edf1fb;color:#506b9b}.teacher-note b{font-size:13px}.comment{background:#f2f6ef;color:#3a574a;font-size:14px;padding:19px}.comment:before{font-size:30px}.inline-note{display:flex;gap:12px;border:1px solid var(--line);padding:17px 19px;border-radius:12px;color:#597462;font-size:12px;line-height:1.6;background:#f5f8f3}.inline-note>svg{width:19px;height:19px;flex-shrink:0;margin-top:2px}.inline-note p{color:#6a7b70;margin-top:4px}.table-wrap{overflow:visible}table{table-layout:fixed;font-size:13px}td,th{padding:14px 11px;overflow-wrap:anywhere}th{font-size:11px;font-weight:600;background:#f4f7f5;color:#6c7e72;white-space:normal}td{vertical-align:middle;color:#496052}td b{color:#214c3e}td .row{gap:6px}.cell-sub{display:block;color:#758279;font-size:11px;line-height:1.6;margin-top:3px}.numeric{font-variant-numeric:tabular-nums}.numeric small{font-size:11px;font-weight:400;margin-left:3px}.person{display:flex;gap:10px;align-items:center;min-width:0}.person small{display:block;font-size:10px;color:#78877e}.avatar{width:32px;height:32px;font-size:12px;background:#e9f0e8}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:17px;font-size:11px;color:#708075}.pagination .row{gap:5px}.pagination .btn{padding:5px 9px;min-height:30px}.page-number{min-width:29px;height:30px;border-radius:6px;padding:3px 7px;color:#6c7c71}.page-number.active{color:#fff;background:#245b4b}.filter-grid{display:grid;grid-template-columns:minmax(140px,1.8fr) repeat(3,minmax(95px,1fr)) auto;gap:10px;align-items:end;padding-bottom:20px}.search-field{min-width:0;flex:1}.filter-grid input,.filter-grid select{width:100%}.filter-grid .text-link{font-size:11px;white-space:nowrap}.btn{border-radius:8px;min-height:42px}.btn.small{font-size:11px;min-height:32px;padding:7px 10px}.btn.outline{border-color:#dbe4dd}.btn.light{background:#edf3ed}.btn.danger{color:#a45d52;background:#fcf1ef}label{font-size:12px;color:#586f60}input,select,textarea{border-color:#d6e0d8;color:#294f3f;background:#fff;min-height:42px}input::placeholder,textarea::placeholder{color:#89988e}input:disabled,textarea:disabled{background:#f3f5f3}input[type=file]{width:100%;font-size:11px;padding:7px}input[type=range]{min-height:28px}.form-grid{gap:16px}.form-actions{flex-wrap:wrap}.student-columns{grid-template-columns:300px minmax(0,1fr)}.student-row{display:flex;align-items:center;gap:11px;width:100%;padding:13px 8px;border-bottom:1px solid var(--line);text-align:left;border-radius:7px}.student-row small{display:block;font-size:11px;color:#728075}.student-row .numeric{margin-left:auto;font-size:17px;font-weight:700}.student-row .numeric small{display:inline;font-size:10px}.student-row.selected{background:#edf4ed}.student-columns .pagination{flex-direction:column}.assignment-summary{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px 0;border-bottom:1px solid var(--line);gap:7px}.assignment-summary b{font-size:14px}.bar-chart{max-height:240px;margin-top:15px}.heatmap{max-height:none;max-width:100%}.history-grid{grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr)}.history-grid table th:nth-child(1){width:17%}.history-grid table th:nth-child(2){width:34%}.student-columns table th:nth-child(2){width:34%}.practice-grid{grid-template-columns:minmax(0,1fr) 290px}.modes{margin-bottom:21px}.modes button{font-size:13px;min-height:42px}.sentence{font-family:Georgia,serif;font-size:36px;line-height:1.5;color:#244e3e}.sentence-area{padding:20px 0;min-height:220px}.sentence-area>.mini{display:block;margin-top:10px}.translation{color:#6a7f70}.lesson-nav{flex-wrap:wrap;gap:7px}.lesson-nav button{background:#eff4ee;width:31px;height:31px}.lesson-nav .active{background:#245b4b}.mic-panel{padding:25px 15px 22px;background:#f6f9f4;border-radius:12px}.mic-ring{width:76px;height:76px;background:#245b4b;color:#fff;box-shadow:0 0 0 9px #e5eee3}.mic-ring.recording{background:#ad5146;box-shadow:0 0 0 9px #f7e6e1}.mic-ring svg{width:29px;height:29px}.mic-panel p{color:#607866}.practice-foot{display:flex;justify-content:space-between;gap:10px;margin-top:19px;font-size:11px;color:#76857b}.photo-card img{height:185px;object-fit:cover}.photo-card .body{padding:22px}.result-score{gap:22px}.score-circle{border-color:#deeacc;width:126px;height:126px}.score-circle strong{font-size:43px}.score-circle span{font-size:12px}.error-sentence{font-size:31px;margin:25px 0}.sound-chip{font-size:12px;padding:9px 12px;background:#fcf0e7;color:#a06442;border:1px solid #f1ddce;border-radius:8px}.sound-chip:hover{text-decoration:underline}.detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-metrics span{display:block;font-size:12px;color:#718075;padding:15px;border-radius:9px;background:#f2f6f1}.detail-metrics b{display:block;color:#245b4b;font-size:22px;margin-top:5px;font-variant-numeric:tabular-nums}.detail-sentence{font-family:Georgia,serif;font-size:27px;padding:25px 0}.help-sections{display:grid;gap:22px}.help-sections h3{margin-bottom:7px}.help-sections p{color:#63786a;font-size:13px;line-height:1.9}.coach-tip{font-size:18px;line-height:1.8;margin-top:25px}.ipa{font-weight:400;color:#a06242}.sound-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.sound-pair span{font-size:12px;background:#f3f6f1;border-radius:10px;padding:18px}.sound-pair b{display:block;font-size:32px;margin-top:8px}.empty{padding:35px 15px;color:#738478}.empty h3{color:#4d6c59;font-size:15px;margin-bottom:8px}.empty p{font-size:12px;line-height:1.7}.empty-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3eb;margin-bottom:12px}.empty-icon svg{width:22px;height:22px}.library-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:440px;overflow-y:auto;padding:3px}.library-item{text-align:left;border:1px solid var(--line);padding:18px;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.library-item small{color:#7e8d83;font-size:11px}.notice-list{max-height:450px;overflow-y:auto}.notice-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);width:100%;padding:20px 0;text-align:left}.notice-item b{font-size:14px}.notice-item small{display:block;font-size:12px;color:#758379;margin-top:6px;line-height:1.8}.notice-item svg{width:18px;height:18px;margin-left:auto;flex-shrink:0}.notice-dot{width:7px;height:7px;border-radius:50%;background:#468c6a;flex-shrink:0}.notice-item.read .notice-dot{background:#d8e0da}.notice-item.read b{font-weight:500}.split-editor{grid-template-columns:265px minmax(0,1fr)}.sentence-list{max-height:600px;overflow-y:auto}.sentence-list button{font-size:13px;padding:14px 12px}.sentence-list .active{background:#edf4e9}.sentence-list .mini{font-size:10px}.audio-upload .between{gap:6px;align-items:flex-start}.csv-preview{overflow-y:auto;overflow-x:visible}.queue:before{content:'';display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #c6d8c8;border-top-color:#245b4b;animation:spin 1s linear infinite;margin-right:8px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}#toast{max-width:calc(100% - 32px);bottom:24px;line-height:1.6;z-index:100}dialog{border-radius:14px;padding:28px;box-shadow:0 20px 80px #12362933;width:720px}dialog::backdrop{background:#19382e66;backdrop-filter:blur(3px)}dialog .table-wrap{margin-top:22px}dialog h2{margin-bottom:10px}footer{font-size:10px;color:#7b8d80}h1:focus,h2[tabindex]:focus{outline:none}
@media(min-width:1700px){main{padding:38px 50px}.focus-lesson{min-height:220px}.focus-lesson>div{padding:30px 35px}.focus-lesson h2{font-size:29px}.practice-grid{grid-template-columns:minmax(0,1fr) 330px}.sentence-area{min-height:260px}.student-columns{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:1300px){main{padding:27px 25px}.layout{grid-template-columns:200px minmax(0,1fr)}aside{padding:28px 12px}.dashboard-grid,.history-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>.stack:last-child{display:grid;grid-template-columns:1fr 1fr;align-content:start}.dashboard-grid>.stack:last-child>.inline-note{grid-column:1/-1}.student-columns{grid-template-columns:240px minmax(0,1fr)}.student-columns table th:nth-child(2){width:30%}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.filter-grid .search-field{grid-column:1/-1}.four-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:16px}.practice-grid{grid-template-columns:minmax(0,1fr) 240px}.split-editor{grid-template-columns:210px minmax(0,1fr)}.audio-upload{grid-template-columns:1fr}.result-score h2{font-size:18px}}
@media(max-width:1100px){.student-columns{grid-template-columns:minmax(0,1fr)}.student-columns>section>.top-space{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-columns>section>.pagination{flex-direction:row}.student-columns>section>form{display:flex}.student-columns .stack{min-width:0}.practice-grid{grid-template-columns:minmax(0,1fr)}.practice-grid>.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-grid .photo-card{display:none}.grid2:not(.student-columns){grid-template-columns:minmax(0,1fr)}.grid2.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.four-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split-editor{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:800px){#header{height:auto;min-height:125px;padding:15px 18px;gap:14px}.brand{font-size:16px;gap:10px}.brand small{font-size:9px;letter-spacing:.4px}.brand-mark{width:34px;height:34px;font-size:18px}.profile{gap:5px;font-size:11px;max-width:43%;margin-left:auto}.profile>span:last-child{gap:4px;flex-wrap:wrap;justify-content:flex-end}.profile .text-link{font-size:10px}.notification-button{padding:6px 7px;font-size:10px}.notice-count{min-width:16px;height:16px;font-size:10px}.role-switch{width:100%;order:3;padding:4px;gap:4px}.role-switch button{min-height:34px;font-size:12px}.layout{display:block}.layout>aside{padding:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible}.nav{font-size:12px;padding:10px 12px;line-height:1.5}.nav svg{width:17px;height:17px}.nav.active{border-radius:8px}main{padding:23px 17px}.page-head{margin-bottom:20px;gap:14px}h1{font-size:25px;line-height:1.5;letter-spacing:-.8px}h2{font-size:18px}.sub{font-size:12px}.eyebrow{font-size:9px;margin-bottom:7px}.card{padding:20px 17px;border-radius:12px}.dashboard-grid,.history-grid{gap:18px}.stack{gap:18px}.dashboard-grid>.stack:last-child{display:flex}.focus-lesson{grid-template-columns:1fr;min-height:0}.focus-lesson>div{padding:25px}.focus-lesson h2{font-size:24px}.focus-lesson img{display:none}.stats{gap:8px;margin:18px 0}.compact-stats{margin:0}.stat{padding:13px 10px}.stat strong{font-size:25px}.stat small{font-size:10px;line-height:1.6}.stat .unit{font-size:11px}.four-stats{gap:10px}.four-stats .stat{padding:15px}.task-card{gap:10px}.task-index{width:33px;height:33px;border-radius:9px}.task-index svg{width:17px;height:17px}.task-card h3{font-size:16px}.task-card .between{gap:10px}.status{font-size:10px}.task-card .mini{font-size:10px}.task-card p{font-size:11px}.btn,.btn.small{font-size:11px;padding:9px 12px;min-height:37px}.row{gap:8px}.pagination{flex-direction:column;align-items:flex-start;gap:11px;font-size:11px}.pagination .row{width:100%;justify-content:flex-end}.pagination .btn{min-height:34px;padding:6px 11px}.page-number{height:34px}.student-columns>section>.top-space{display:block}.student-columns>section>.pagination{flex-direction:column}.filter-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid label{font-size:11px}.filter-grid .search-field{grid-column:1/-1}input,select,textarea{font-size:13px;width:100%}.responsive-table,.responsive-table tbody{display:block;width:100%}.responsive-table thead{display:none}.responsive-table tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}.responsive-table td{display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:right;border:0;padding:7px 0;font-size:12px;min-height:30px;width:100%!important;flex-wrap:wrap}.responsive-table td:before{content:attr(data-label);text-align:left;flex:0 0 72px;font-size:11px;color:#718175}.responsive-table td>.cell-sub{width:calc(100% - 84px);margin-left:auto}.responsive-table td>b{max-width:calc(100% - 84px)}.responsive-table td .row{justify-content:flex-end}.responsive-table td .person{margin-left:auto}.responsive-table td .btn{margin-left:auto}.responsive-table td .mini-progress{width:100%;margin:5px 0 0 84px}.responsive-table .cell-sub{font-size:10px}.responsive-table td .numeric{font-size:15px}.grid2.equal{grid-template-columns:1fr}.practice-grid>.stack{display:flex}.practice-grid>.stack .inline-note{display:none}.sentence{font-size:29px;line-height:1.6}.sentence-area{min-height:0;padding:25px 0}.sentence-area .translation{font-size:13px}.lesson-nav{gap:6px}.modes{margin-bottom:18px;gap:0}.modes button{padding:9px 8px;font-size:11px;flex:1}.mic-panel{padding:25px 12px}.mic-panel .row{gap:8px}.mic-panel>.mini{font-size:10px}.mic-panel .btn{font-size:10px}.practice-foot{flex-wrap:wrap;font-size:10px;gap:8px}.practice-foot .text-link{font-size:10px}.result-score{gap:16px;align-items:center}.score-circle{width:100px;height:100px;flex-shrink:0;border-width:7px}.score-circle strong{font-size:34px}.score-circle span{font-size:10px}.result-score h2{font-size:16px}.result-score .sub{font-size:11px}.star-row svg{width:19px;height:19px}.error-sentence{font-size:26px;line-height:1.7}.error-chips{gap:7px}.sound-chip{font-size:11px;padding:8px 10px}.detail-metrics{gap:8px}.detail-metrics span{padding:12px 9px;font-size:10px}.detail-metrics b{font-size:19px}.split-editor{grid-template-columns:1fr}.sentence-list{max-height:270px}.sentence-list button{padding:12px}.audio-upload{grid-template-columns:1fr}.audio-upload b{font-size:12px}.form-grid{grid-template-columns:1fr}.form-actions{gap:8px}.form-actions .btn{min-height:39px}.toolbar{gap:12px}.toolbar>.row{width:100%}.toolbar label{width:100%}.library-list{grid-template-columns:1fr;max-height:390px}.library-item{padding:15px}.library-item b{font-size:14px}.detail-sentence{font-size:24px}.notice-item b{font-size:13px}.notice-item small{font-size:11px}.help-sections{gap:20px}.help-sections h3{font-size:14px}.help-sections p{font-size:12px}dialog{padding:23px 19px;max-height:85vh}.coach-tip{font-size:16px}.sound-pair{gap:10px}.sound-pair span{padding:13px;font-size:11px}.sound-pair b{font-size:28px}#toast{width:calc(100% - 32px);font-size:12px;padding:13px 16px;text-align:center;bottom:16px}.login-form{padding:25px 22px}.login-card img{height:145px}.login-form h2{font-size:25px}.login-form .mini{font-size:11px}footer{font-size:9px}.legend{font-size:10px}.heatmap{max-height:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.task-card{min-height:0}.focus-lesson{height:220px}.heatmap{max-height:330px}.heatmap-mobile{display:none}@media(max-width:800px){.focus-lesson{height:auto}.heatmap{display:none}.heatmap-mobile{display:grid;gap:16px;margin-top:20px}.heatmap-mobile article{padding:15px;background:#f5f8f2;border-radius:9px}.heatmap-mobile article>b{font-size:13px}.heatmap-mobile article>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.heatmap-mobile span{background:#e6eedb;padding:8px;border-radius:6px;text-align:center}.heatmap-mobile small{display:block;font-size:11px;color:#6d7e62}.heatmap-mobile strong{font-size:13px;font-weight:500}}

.mobile-back{display:none}@media(max-width:800px){.mobile-back{display:block;margin-top:10px}#student-detail{scroll-margin-top:18px}}
