/* Scheme C layout with the original blue/white brand palette. Shared by study and battle. */
:root{--paper:#f6f8fc;--surface:#ffffff;--blue:#2563eb;--ink:#24334d;--muted:#7a879e;--line:#e8edf5;--soft:#eff5ff;--green:#168267;--red:#c7494f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
body{background:var(--paper);color:var(--ink);font-size:14px;line-height:1.6}
button,input,select,textarea{font-family:inherit}
button,a,label,input{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a8beda;outline-offset:3px}
input::placeholder,textarea::placeholder{color:#8a9199}
.preview-strip{min-height:32px;display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 16px;color:#647b9f;background:#eaf1ff;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}
.preview-strip strong{font-weight:500;color:#466eac;white-space:nowrap}
.preview-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#5289ef;flex-shrink:0}
.shell{display:flex;min-height:calc(100dvh - 32px)}
.sidebar{position:fixed;inset:32px auto 0 0;width:216px;padding:31px 19px 24px;display:flex;flex-direction:column;background:#ffffff;border-right:1px solid var(--line);z-index:10}
.workspace{margin-left:216px;flex:1;min-width:0}
.brand{gap:11px;font-size:21px;font-weight:650;letter-spacing:.5px;color:var(--ink)}
.brand img,.brand-mark{width:42px;height:42px;border-radius:9px;object-fit:cover;box-shadow:none;flex-shrink:0}
.brand small{font-size:11px;font-weight:400;letter-spacing:1px;color:var(--muted);margin-top:3px}
.nav-label{font-size:10px;letter-spacing:1.8px;color:#9aa4b6;margin:40px 13px 13px}
.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:49px;margin:0 0 7px;padding:12px 13px;border:0;border-radius:6px;color:#657285;font-size:14px;line-height:1.5;white-space:nowrap;text-align:left;background:transparent;font-weight:400}
.nav-item:hover{background:#f6f8fc}
.nav-item.active{background:#edf3ff;color:#2563eb;font-weight:600}
.nav-item.active::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;background:#2563eb;border-radius:2px}
.nav-item svg{width:20px;height:20px}
.new-tag{margin-left:auto;font-size:9px;line-height:1.4;letter-spacing:0;border:1px solid #dce7fc;border-radius:4px;background:#f7faff;color:#5376ab;padding:2px 4px}
.badge,.nav-count{border-color:var(--line);border-radius:4px;background:#ffffff;color:#7b899a;font-size:10px}
.sidebar-bottom{margin-top:auto}
.local-note,.sidebar-note{background:none;border-top:1px solid var(--line);border-radius:0;padding:20px 10px 0;color:#657285;font-size:12px;box-shadow:none}
.sidebar-note{margin-top:auto}
.local-note p,.sidebar-note p{font-size:11px;line-height:1.9;color:#929db0}
.local-note .text-button{font-size:11px}
.topbar{height:67px;background:#ffffff;border-bottom:1px solid var(--line);padding:0 38px;font-size:12px;color:#8e9ab0}
.topbar strong,.profile{color:#4e5f7b}
.topbar-right{gap:16px}
.slash{padding:0 10px;margin:0;color:#c4cad7}
.today{font-size:11px}
.outline-tag,.tag{border-color:var(--line);background:#f0f5ff;color:#6680a5;border-radius:4px}
.account-bar{margin:0 38px;padding:10px 0;border-color:var(--line);font-size:11px;color:#778cab;min-height:38px}
.avatar.small{background:#edf3ff;color:#5c7dad}
main{max-width:1230px;margin:0 auto;padding:34px 38px 25px;min-height:calc(100dvh - 170px)}
.eyebrow{font-size:10px;letter-spacing:2.6px;color:#7190be;font-weight:500;margin-bottom:11px}
.page-heading{align-items:flex-start;margin-bottom:25px;gap:18px}
.page-heading h1{font-family:inherit;color:var(--ink);font-weight:600;font-size:28px;letter-spacing:.2px;line-height:1.5;margin:0 0 8px}
.page-heading p{color:#8a96aa;font-size:13px;line-height:1.8;margin:0;max-width:none}
.head-emblem{background:transparent;border:0;transform:none;opacity:.35;color:#8493a6;width:64px;height:64px;border-radius:0}
.panel,.stat,.question-card,.scoreboard,.review-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:none}
.panel{margin-bottom:20px}
.panel-body{padding:24px}
.panel-title h2,.section-title{font-size:15px;font-weight:600;color:var(--ink)}
.section-heading{gap:8px 16px;margin-bottom:20px}
.section-caption{color:#97a2b5;font-size:11px;white-space:nowrap}
.step{background:#eef3fb;color:#7890b2;border-radius:4px;font-size:10px}
.stats-grid{gap:14px;margin-bottom:23px}
.stat{padding:20px;gap:14px}
.stat-icon{display:grid;width:42px;height:44px;border-radius:6px;background:#edf4ff;color:#5683da}
.stat-icon.orange{background:#fff3e8;color:#d89a52}
.stat-icon.green{background:#eafaf4;color:#60a690}
.stat-title{font-size:12px;color:#8794a9}
.stat-value{font-size:26px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.stat-value small{font-size:11px;color:#99a3b3}
.button{border-color:#dfe6f1;border-radius:6px;font-size:13px;min-height:43px;font-weight:500;line-height:1.5;padding:11px 17px;color:#59749b;box-shadow:none;background:#ffffff}
.button.primary{background:var(--blue);border-color:var(--blue);box-shadow:none;color:white}
.button.primary:hover{background:#1c55d4;border-color:#1c55d4}
.button.secondary{background:#f0f5ff;color:#3871d2;border-color:#e4ecfb}
.button.small{min-height:36px;font-size:12px}
.button:disabled{opacity:.5}
.field input,.field select,.field textarea,.search-input,input.control,textarea.control,select.control,.name-input,.join-input,.answer-input,.question-answer,.date-range .date-trigger{color:var(--ink);background:#ffffff;border-color:#e0e6f0;border-radius:6px;box-shadow:none}
.field label,.field-label{font-size:12px;color:#8490a6}
.field input,.search-input,input.control,select.control,.date-range .date-trigger{min-height:42px;font-size:13px}
.date-range{gap:7px}
.date-range .date-trigger{padding:10px;gap:7px}
.filters{gap:14px;margin-bottom:18px}
.reset-filter{font-size:12px;color:#7d8da5;min-height:42px}
.files-select{grid-template-columns:1fr;gap:9px;max-height:244px;padding:2px 8px 2px 2px;scrollbar-color:#a7bee5 #f2f5fb}
.files-select::-webkit-scrollbar-track{background:#f2f5fb}
.files-select::-webkit-scrollbar-thumb{background:#a7bee5}
.file-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 14px;align-items:center;padding:15px 17px;border-color:#e5eaf3;border-radius:6px;min-height:80px;box-shadow:none}
.file-card.selected{border-color:#b4c9ee;background:#f7faff;box-shadow:none}
.file-card:hover{border-color:#a7c5fb}
.file-card input{top:31px;right:18px;accent-color:var(--blue);width:16px;height:16px}
.doc-icon{grid-row:1 / 3;width:34px;height:38px;border-radius:5px;margin:0;background:#eaf1ff;color:#497bda}
.file-title{font-size:13px;font-weight:500;color:var(--ink);margin:0 30px 4px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.file-meta{grid-column:2;margin-right:32px;display:flex;flex-direction:row;justify-content:space-between;gap:8px;color:#8c99af;font-size:11px}
.file-meta b{white-space:nowrap;color:#6d89b6}
.selection-bar{font-size:12px;color:#8896aa;gap:12px;margin-top:14px;flex-wrap:wrap}
.selection-bar>span:last-child{white-space:nowrap;margin-left:auto}
.selection-bar button{font-size:12px;min-height:28px}
.setup-grid{grid-template-columns:1fr;gap:0}
.mode-option{padding:15px 12px;border-radius:6px;background:#ffffff;border-color:#e4eaf3}
.mode-option.active{background:#f5f8ff;border-color:#8faff0;color:#3469c8}
.mode-glyph{font-size:17px;margin-bottom:7px}
.mode-name{font-size:13px;font-weight:500}
.mode-option small{font-size:11px;color:#9ba6b8}
.practice-options{border-color:var(--line);font-size:12px;margin-top:18px;padding-top:16px}
.practice-options select{font-size:12px;min-height:35px;border-color:#e2e8f1;border-radius:5px}
.start-panel{display:grid;grid-template-columns:1fr 230px;align-items:center;gap:2px 20px;background:#eef4ff;border:1px solid #dfe8fb;border-radius:8px;padding:22px 24px;box-shadow:none;margin-bottom:18px}
.start-panel .mini-book{display:none}
.start-panel h3{grid-column:1;font-size:16px;font-weight:600;color:var(--ink);margin:0 0 6px}
.start-panel p{grid-column:1;color:#8c9bb0;font-size:12px;line-height:1.8;margin:0}
.start-panel .button{grid-column:2;grid-row:1 / 3;margin:0;min-height:46px}
.battle-entry{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0;padding:14px 17px;border-radius:6px;background:#edf3ff;color:#477ac7;font-size:12px}
.battle-entry>span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.battle-entry svg{width:17px;height:17px}
.tip,.notice,.field-note{color:#8c9ab0;font-size:12px;line-height:1.8}
.tip svg{color:#91a5c3}
.text-button,.link-button{color:#2563eb;font-size:12px}
.mobile-backup{font-size:12px}
footer{color:#adbacd;font-size:11px;padding:24px 38px}
.data-table th{background:#f8faff;color:#8b9db8;font-size:12px;font-weight:500}
.data-table td{border-color:#edf1f7;font-size:13px}
.data-table .en{color:var(--ink);font-size:14px;font-family:inherit}
.table-top{border-color:var(--line)}
.table-scroll{overflow-x:auto}
.question-text,.question-area h2{font-family:inherit;color:var(--ink);font-weight:600}
.question-card{padding:32px}
.question-answer,.answer-input{background:#ffffff;border-radius:6px;font-size:16px}
.question-head,.question-hint,.question-area p{color:#95a1b5}
.feedback,.reveal{border-radius:6px}
.empty,.empty-state{color:#8c9bb0}
dialog,.date-picker{background:var(--surface);border-color:#e0e7f2;border-radius:10px;color:var(--ink);box-shadow:0 18px 65px #20374f22}
dialog::backdrop,.date-picker::backdrop{background:#20374f38;backdrop-filter:none}
.calendar-navigation>button{background:#f1f5fc;color:#426baf}
.calendar-day.selected{background:var(--blue);border-color:var(--blue)}
.calendar-day[aria-current=date]{border-color:#9ab7ec}
.auth-root{background:var(--paper)}
.auth-card{border-radius:10px;border-color:var(--line);background:var(--surface);box-shadow:0 15px 45px #20374f06}
/* Battle: the same paper surfaces across lobby, room, answers and results. */
.battle-ui .panel{padding:25px}
.battle-ui .section-layout{grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:22px}
.battle-ui .panel-title{margin-bottom:22px}
.battle-ui .field-label{margin-top:22px;margin-bottom:10px}
.battle-ui .field-label:first-child{margin-top:0}
.battle-ui .lesson-list{grid-template-columns:1fr;max-height:228px;scrollbar-width:thin;scrollbar-color:#a7bee5 #f2f5fb}
.battle-ui .lesson{padding:12px;border-color:#e5ebf5;border-radius:6px;min-height:70px}
.battle-ui .lesson:has(input:checked){background:#f7faff;border-color:#b4c9ee}
.lesson .lesson-icon{background:#edf3ff;color:#4e83de;border-radius:5px}
.lesson strong{font-size:13px;font-weight:500;color:var(--ink)}
.lesson small{font-size:11px;color:#93a2ba}
.selection-info{font-size:12px;color:#97a5ba}
.battle-ui .mode{background:#ffffff;border-radius:6px;border-color:#e5ebf5}
.battle-ui .mode:has(input:checked){background:#f5f8ff;border-color:#8faff0}
.battle-ui .mode strong{font-size:13px}
.format-option{border-radius:6px;border-color:#e5ebf5;background:#ffffff}
.format-option:has(input:checked){border-color:#81a7f5;background:#f5f8ff;box-shadow:none}
.format-glyph{background:#eaf1ff;color:#3e7beb;border-radius:5px}
.format-copy small{color:#93a2bb}
.rules-card{background:#f0f5fe;border-color:#e3ebfa;border-radius:8px}
.rule-row{color:#8096b7;font-size:12px}
.rule-row svg{color:#7098d7}
.rules-card h3{color:#566d8f;font-size:14px;font-weight:500}
.preview-tip{color:#9ca8ba;font-size:12px}
.join-panel p,.create-foot span{color:#90a0b8;font-size:12px}
.join-input{font-variant-numeric:tabular-nums;border-color:#dfe6f3;background:#ffffff}
.invite-code span{border-color:#dfe9fc;background:#f7faff;color:#3774d6;border-radius:5px}
.room-rule-tags{border-color:var(--line)}
.room-rule-tags span,.direction-badge{background:#eff5ff;color:#618ac8;border-radius:4px;font-size:12px}
.room-files{font-size:12px;color:#8d9eb7}
.local-tools{border-color:#cddcf3;background:#f8faff;border-radius:8px}
.local-tools p{font-size:12px;color:#95a5bf}
.share-link{background:#fafcff;border-color:#e5ecf7;color:#93a5c0}
.avatar{background:#eff5ff;border-color:#f7f9ff;color:#3974dc}
.avatar.teal{background:#e8f7f1;border-color:#f4fcf8;color:#24a082}
.vs{color:#b3c7e9;font-weight:600}
.scoreboard{padding:20px}
.score-number{color:#326bc3;font-weight:600}
.score-player.right .score-number{color:#30a288}
.choice-option{border-color:#dfe7f4;background:#ffffff;border-radius:6px}
.choice-option:has(input:checked){border-color:#6898f8;background:#eff5ff;box-shadow:none}
.choice-option:has(input:checked) .choice-letter{background:var(--blue);border-color:var(--blue)}
.choice-text{color:var(--ink)}
.choice-letter{border-radius:5px;background:#f8faff;border-color:#e0e8f3;color:#8194b0}
.choice-option.is-correct,.choice-option.is-correct:has(input:checked){background:#f0faf6;border-color:#6bc3a6}
.choice-option.is-correct .choice-letter,.choice-option.is-correct:has(input:checked) .choice-letter{background:#2eaa82;border-color:#2eaa82}
.choice-option.is-wrong:has(input:checked){background:#fff7f3;border-color:#e2ad97}
.waiting-answer{background:#f3f7ff;border-color:#e3ecfd;border-radius:6px}
.question-clock{color:#52739f}
.time-track{background:#eef3fb}.time-track span{background:#739eef}
.result-hero h1{color:var(--ink);font-weight:600}
.trophy{border-radius:8px;background:#eff5ff;color:#6797e6}
.review-row{padding:18px}
.review-row small,.review-row p{color:#8d9fb9}
.review-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.review-tabs a,.review-tabs span{border:1px solid var(--line);border-radius:5px;padding:8px 13px;font-size:12px;color:#7186a5;background:var(--surface)}
.review-tabs .active{background:#edf3ff;color:#477ac7;border-color:#cddcf3}
.creation-details{margin:22px 0;border:1px solid var(--line);border-radius:6px;background:#fafcff}
.creation-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;color:#5a6e8e;font-size:13px;min-height:65px}
.creation-details>summary::-webkit-details-marker{display:none}
.creation-details>summary small{display:block;color:#9ba8bc;font-size:11px;font-weight:400;margin-top:4px}
.creation-details[open]>summary{border-bottom:1px solid var(--line)}
.creation-details[open]>summary>span:last-child{transform:rotate(180deg)}
.creation-details-body{padding:18px 14px;background:var(--surface)}
.creation-details .name-input{max-width:none}
.battle-ui .format-field{margin-top:0}
.battle-ui .format-field .field-label{margin-top:0}
.file-count-note{color:#8c9eb6;font-size:11px}
.data-table td:nth-child(2){white-space:nowrap}
.data-table td:first-child{overflow-wrap:normal}
.study-ui[data-study-view=files] .data-table td:first-child{white-space:nowrap}
@media(min-width:1500px){main{padding-top:40px}.page-heading h1{font-size:30px}.panel-body{padding:28px}.files-select{max-height:254px}}
@media(max-width:1100px){.sidebar{width:196px;padding-left:15px;padding-right:15px}.workspace{margin-left:196px}.topbar{padding:0 26px}main{padding:28px 26px}.account-bar{margin:0 26px}.brand{font-size:20px}.nav-item{padding-left:11px;gap:10px;font-size:13px}.stat{padding:17px 14px;gap:10px}.stat-icon{width:34px;height:38px}.stat-title{font-size:11px}.stat-value{font-size:24px}.battle-ui .section-layout{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:16px}.battle-ui .panel{padding:21px}.format-glyph{display:none}.room-layout{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:16px}}
@media(max-width:860px){.battle-ui .section-layout,.room-layout{grid-template-columns:1fr}.aside-stack{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px}.aside-stack .rules-card,.aside-stack .local-tools{margin:0}.room-layout .aside-stack{display:block}.room-layout .local-tools{margin-top:16px}.field.search-field{flex-basis:100%}.field.date-field{flex:1}.stat-icon{display:none}.page-heading h1{font-size:25px}.head-emblem{display:none}}
@media(max-width:680px){
 .preview-strip{min-height:30px;font-size:10px;padding:6px 10px;gap:7px}
 .shell{display:block;min-height:calc(100dvh - 30px)}
 .sidebar{position:static;inset:auto;width:100%;padding:18px 16px 0;display:block;border-right:0;border-bottom:1px solid var(--line);background:#ffffff}
 .workspace{margin:0}
 .brand{font-size:20px;gap:10px}.brand img,.brand-mark{width:37px;height:37px;border-radius:8px}.brand small{font-size:10px;letter-spacing:.6px}
 .nav-label,.sidebar-bottom,.sidebar-note{display:none}
 .sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-top:17px}
 .sidebar .nav-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin:0;min-width:0;min-height:63px;width:100%;padding:8px 0 10px;font-size:12px;border-radius:0;line-height:1.5;text-align:center;white-space:nowrap;letter-spacing:0;color:#6b7890}
 .sidebar .nav-item.active{background:transparent;color:#2563eb;font-weight:600}
 .sidebar .nav-item.active::before{inset:auto 24% 0;width:auto;height:2px;border-radius:2px;background:#2563eb}
 .sidebar .nav-item svg{width:19px;height:19px;display:block}
 .sidebar .new-tag{position:absolute;top:5px;right:10%;padding:0 2px;font-size:7px;line-height:1.4;background:#2563eb;color:#fff;border:0;transform:translateX(50%);margin:0}
 .sidebar .badge,.sidebar .nav-count{position:absolute;top:2px;right:9%;font-size:8px;line-height:1.4;min-width:13px;padding:0 2px;margin:0}
 .topbar{height:43px;padding:0 18px;font-size:10px;background:#ffffff}.topbar-right{max-width:none;gap:7px;flex-wrap:nowrap}.today{display:none}.topbar .slash{padding:0 6px}.outline-tag{font-size:9px}.profile{font-size:10px;gap:6px}.avatar.small{display:none}
 .account-bar{margin:0 18px;min-height:30px;padding:7px 0;font-size:10px}
 main{padding:25px 18px 16px;min-height:calc(100dvh - 220px)}
 .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:9px}
 .page-heading{margin-bottom:21px;gap:10px;flex-direction:column;align-items:stretch}.page-heading h1{font-size:23px;line-height:1.5;letter-spacing:0;text-wrap:balance}.page-heading p{font-size:12px;line-height:1.8;max-width:none}.page-heading .button{font-size:12px;align-self:flex-start}
 .stats-grid{gap:8px;margin-bottom:18px}.stat{padding:14px 10px;min-width:0;border-radius:7px}.stat-title{font-size:11px;white-space:nowrap;margin-bottom:9px}.stat-value{font-size:23px}.stat-value small{font-size:9px;margin-left:3px;white-space:nowrap}
 .panel{margin-bottom:17px;border-radius:8px}.panel-body,.battle-ui .panel{padding:19px 16px}
 .section-heading{gap:7px 10px;margin-bottom:18px}.section-title,.panel-title h2{font-size:14px}.section-caption{font-size:11px;white-space:nowrap}.section-heading .section-caption{margin-left:31px}
 .filters{gap:12px}.field label,.field-label{font-size:12px}.field.search-field{flex-basis:100%}.date-field{min-width:0}.date-range{gap:6px}.date-range .date-trigger{font-size:12px;padding:10px 8px;min-height:43px}.date-trigger svg{width:14px;height:14px}.reset-filter{font-size:12px;padding:10px 0}
 .files-select{max-height:240px;gap:8px;padding-right:6px}.file-card{padding:13px 11px;gap:0 10px;grid-template-columns:30px minmax(0,1fr);min-height:80px}.doc-icon{width:29px;height:35px}.doc-icon svg{width:19px;height:19px}.file-title{font-size:12px;font-weight:500;margin-right:22px}.file-meta{font-size:10px;margin-right:22px;gap:4px}.file-meta b{font-size:10px}.file-card input{top:31px;right:11px;width:15px;height:15px}
 .selection-bar{font-size:11px;gap:4px}.selection-bar button{font-size:11px;padding:2px 1px;min-height:30px}
 .mode-grid{gap:7px}.mode-option{padding:13px 5px}.mode-glyph{font-size:17px;gap:7px;margin-bottom:7px}.mode-name{font-size:12px}.mode-option small{display:none}.practice-options{font-size:11px;gap:8px}.practice-options select{font-size:12px;margin-left:5px}
 .start-panel{grid-template-columns:1fr;padding:18px 16px;gap:8px;background:#eef4ff;margin-bottom:16px}.start-panel h3{font-size:15px;margin-bottom:1px}.start-panel p{font-size:12px}.start-panel .button{grid-column:1;grid-row:auto;margin-top:7px;width:100%;min-height:45px;font-size:14px}
 .tip{font-size:11px;line-height:1.9}.battle-entry{padding:13px;font-size:12px;margin:17px 0}.battle-entry>span:last-child{font-size:0}.battle-entry>span:last-child svg{width:18px}.mobile-backup{gap:8px 14px;font-size:12px}.mobile-backup .text-button{font-size:12px}
 footer{font-size:10px;padding:21px 18px}.button{font-size:13px;min-height:44px}.button.small{font-size:12px;min-height:36px}
 .battle-ui .section-layout{display:flex;flex-direction:column;gap:0}.battle-ui .section-layout>section,.battle-ui .aside-stack{width:100%}.aside-stack{display:block}.aside-stack .rules-card{margin:0 0 15px}.battle-ui .lesson-list{max-height:228px}.lesson strong{font-size:12px}.lesson small{font-size:11px}.name-input{max-width:none;min-height:44px;font-size:16px}
 .battle-ui .field-label{margin-top:19px}.format-grid{gap:9px}.format-option{padding:12px 9px;min-width:0}.format-glyph{display:none}.format-copy strong{font-size:13px}.format-copy small{font-size:11px;line-height:1.6}.format-check{font-size:12px}.field-note{font-size:11px}
 .battle-ui .mode{padding:14px 5px}.battle-ui .mode strong{font-size:12px}.rules-controls{gap:14px}.rules-controls select{font-size:16px}.create-foot{flex-direction:column;align-items:stretch;padding-top:17px;gap:12px}.create-foot span{font-size:11px}.create-foot .button{width:100%}.join-panel p{font-size:12px}.join-panel .name-input{font-size:16px}.join-input{font-size:24px}.join-input::placeholder{font-size:13px}
 .question-panel{padding:21px 16px}.question-area h2{font-size:26px;line-height:1.5}.question-area{padding:29px 0 25px}.question-area p{font-size:11px}.answer-input,.question-answer{font-size:16px}.answer-controls{flex-wrap:wrap;gap:12px}.answer-controls .button{min-width:140px}.question-card{padding:24px 17px}.question-text{font-size:27px}.question-body{padding:28px 0}.choice-option{min-height:64px;padding:14px 12px}.choice-text{font-size:15px}.choice-meaning{font-size:12px}
 .scoreboard{padding:16px 12px;gap:12px}.score-number{font-size:25px}.score-player .name{font-size:12px}.score-player small{font-size:10px}.score-player .avatar{display:none}.score-player{gap:8px}.score-center{font-size:12px}.room-rule-tags{gap:7px}.room-rule-tags span{font-size:11px}.room-files{font-size:11px}.invite-buttons .button{font-size:12px}.result-hero h1{font-size:24px}.review-row{padding:15px 12px;gap:9px}.review-row h3{font-size:14px}.review-row p{font-size:12px}.game-rules{font-size:10px}
 .date-picker{border-radius:10px}.calendar-day{min-height:40px}.auth-card{padding:26px 21px;border-radius:10px}.data-table th,.data-table td{padding:14px 12px}.data-table td{font-size:12px}.dialog-content{padding:23px 17px}
 .study-ui[data-study-view=files] #main .table-scroll{overflow:visible;padding:0 16px 16px}
 .study-ui[data-study-view=files] #main .data-table,.study-ui[data-study-view=files] #main .data-table tbody{display:block;width:100%}
 .study-ui[data-study-view=files] #main .data-table thead{display:none}
 .study-ui[data-study-view=files] #main .data-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 8px;align-items:center;border:1px solid var(--line);border-radius:6px;margin:10px 0 0;padding:14px 12px;background:var(--surface)}
 .study-ui[data-study-view=files] #main .data-table td{display:block;padding:0;border:0;font-size:11px;white-space:nowrap;color:#8c99af}
 .study-ui[data-study-view=files] #main .data-table td:first-child{grid-column:1 / 3;grid-row:1;color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .study-ui[data-study-view=files] #main .data-table td:first-child svg{width:18px;height:18px}
 .study-ui[data-study-view=files] #main .data-table td:nth-child(2){grid-column:1;grid-row:2}
 .study-ui[data-study-view=files] #main .data-table td:nth-child(3){grid-column:2;grid-row:2}
 .study-ui[data-study-view=files] #main .data-table td:nth-child(3)::after{content:" 个词条"}
 .study-ui[data-study-view=files] #main .data-table td:last-child{grid-column:3;grid-row:1 / 3}
 .study-ui[data-study-view=files] #main .row-actions{gap:3px}.study-ui[data-study-view=files] #main .icon-button{width:34px;height:40px}
 .study-ui[data-study-view=mistakes] #main .table-scroll{overflow:visible;padding:0 16px 16px}
 .study-ui[data-study-view=mistakes] #main .data-table,.study-ui[data-study-view=mistakes] #main .data-table tbody{display:block;width:100%}
 .study-ui[data-study-view=mistakes] #main .data-table thead{display:none}
 .study-ui[data-study-view=mistakes] #main .data-table tr{display:grid;grid-template-columns:1fr;gap:12px;border:1px solid var(--line);border-radius:6px;margin:10px 0 0;padding:16px;background:var(--surface)}
 .study-ui[data-study-view=mistakes] #main .data-table td{display:block;padding:0;border:0;white-space:normal;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
 .study-ui[data-study-view=mistakes] #main .data-table td:first-child .en{font-size:16px;margin-bottom:5px;min-width:0}
 .study-ui[data-study-view=mistakes] #main .data-table td:nth-child(2){display:flex;flex-wrap:wrap;gap:8px;align-items:center}
 .study-ui[data-study-view=mistakes] #main .row-actions .button{width:100%}
 .page-heading:has(.room-top-actions),.page-heading:has([data-filter-output=mistake-action]){flex-wrap:wrap}
 .page-heading .room-top-actions{margin-left:auto}
}
@media(max-width:360px){.sidebar{padding-left:12px;padding-right:12px}.sidebar .nav-item{font-size:11px}.sidebar .new-tag{right:14%}main{padding-left:14px;padding-right:14px}.panel-body,.battle-ui .panel{padding-left:13px;padding-right:13px}.date-range .date-trigger{font-size:11px;padding:10px 6px}.date-trigger svg{display:none}.stat{padding:13px 8px}.stat-title{font-size:10px}.stat-value{font-size:21px}.section-caption{font-size:10px}.file-meta{font-size:9px}.file-meta b{font-size:9px}.file-card{column-gap:8px}.format-copy small{font-size:10px}.selection-bar{font-size:10px}.preview-strip{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Align every sidebar utility on the same text edge; do not inherit inline button indents. */
.sidebar-bottom .local-note{padding:20px 10px 0}
.sidebar-bottom .local-note .text-button{display:flex;align-items:center;justify-content:flex-start;width:100%;margin:0;padding:8px 0;min-height:36px;text-align:left;line-height:1.6;font-size:12px;color:var(--blue);white-space:nowrap}
.sidebar-bottom .home-link{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:18px 10px 0;padding:8px 0;min-height:36px;text-align:left;line-height:1.6;font-size:12px;white-space:nowrap}
.sidebar-note>a{display:flex;align-items:center;justify-content:flex-start;margin-top:18px;padding:8px 0;min-height:36px;font-size:12px;text-align:left;white-space:nowrap}
.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid #dce6f7;border-radius:6px;background:#f3f7ff;color:#477ac7;font-family:inherit;font-size:12px;line-height:1.5;white-space:nowrap;flex-shrink:0;cursor:pointer}
.sound-toggle svg{width:17px;height:17px}
.sound-toggle[aria-pressed=false]{color:#8995a8;background:#f8f9fc;border-color:#e5e9f0}
.sound-toggle[aria-pressed=true] .sound-cross,.sound-toggle[aria-pressed=false] .sound-waves{display:none}
.account-bar>.sound-toggle{margin-left:auto;color:#477ac7}
.profile>.sound-toggle{order:-1;margin-right:5px}
@media(max-width:680px){.sound-toggle{font-size:11px;padding:5px 7px;min-height:34px;gap:4px}.sound-toggle svg{width:16px;height:16px}.profile>.sound-toggle{margin-right:0}.profile #profile-name{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile .outline-tag{display:none}.account-bar{min-height:44px}.account-bar>.sound-toggle{margin-left:auto;margin-right:0}}

/* Stable practice controls; feedback appears below them, without scroll anchoring. */
.study-ui[data-study-view="practice"] #main{overflow-anchor:none}
.study-ui .feedback-slot{min-height:190px;display:flow-root}
.study-ui .answer-actions{min-height:44px;align-items:center}
@media(max-width:680px){.study-ui .feedback-slot{min-height:210px}}
/* Curated word classes: shared by the list, review questions, and mistakes. */
.word-types{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:inherit;gap:5px;vertical-align:middle}
.word-type-tag{display:inline-flex;align-items:center;gap:7px;border:1px solid #dce8fb;background:#f1f6ff;color:#5778aa;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:400;line-height:1.5;white-space:nowrap}
.word-type-tag b{color:#3c71c3;font-weight:600}
.word-type-divider{width:1px;height:11px;background:#c9daf6}
.word-type-unknown{color:#8d9cb2;font-size:12px}
.word-types-table{width:100%;table-layout:fixed}
.word-types-table th:first-child{width:38%}.word-types-table th:nth-child(2){width:25%}
.word-types-table th,.word-types-table td{overflow-wrap:anywhere}
.word-types-table.data-table td:nth-child(2){white-space:normal}
.study-ui .word-list .word-types-table.data-table td:first-child{white-space:normal;overflow-wrap:anywhere;min-width:0}
.question-word-types{display:flex;justify-content:center;margin:-4px 0 18px;min-height:29px}
.question-word-types:empty{display:none}
.mistake-word-types:not(:empty){margin:6px 0}
@media(max-width:600px){
 .word-types-table th:first-child{width:36%}.word-types-table th:nth-child(2){width:29%}
 .word-types-table.data-table th,.word-types-table.data-table td{padding:12px 6px;font-size:13px}
 .word-types-table .word-type-tag{font-size:11px;gap:4px;padding:3px 5px}
 .question-word-types{margin:0 0 16px}
}
@media(max-width:360px){
 .word-types-table th:first-child{width:31%}.word-types-table th:nth-child(2){width:35%}
 .word-types-table.data-table th{white-space:normal}
}

/* Live pages have no preview ribbon. */
.shell{min-height:100dvh}.sidebar{top:0}

/* One compact status/account row on phones; preferences live in the header. */
@media(max-width:680px){.study-ui .account-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:30px}.study-ui #sync-status{grid-column:1;grid-row:1}.study-ui .account-actions{grid-column:2;grid-row:1;display:flex;gap:12px;white-space:nowrap}.study-ui .account-actions button{margin:0}.study-ui .account-bar #sync-controls{grid-column:1/-1}}

.pronunciation-note{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#8393ac;}
