body{font-family:system-ui,sans-serif;background:#f7f8fa;color:#17222d;margin:0}main{max-width:960px;margin:24px auto;padding:20px}h1{font-size:26px}button,select,input{font:inherit;padding:10px;margin:5px;border:1px solid #aeb6c0;border-radius:5px}button{cursor:pointer;background:#fff}button[type=submit]{background:#174e7d;color:white}button:disabled{opacity:.6}#question,.mistake{background:white;padding:20px;border:1px solid #d6dce2;margin:15px 0;border-radius:6px}#question img{max-width:100%;max-height:390px;display:block}#responses label{display:block}#feedback{white-space:pre-line;line-height:1.6}a{display:inline-block;margin:8px;color:#174e7d}.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#coverage{max-height:300px;overflow:auto}input[name=slot]{max-width:90%}[hidden]{display:none!important}

.teacher-slide{display:block;width:100%;height:auto}figure{margin:20px 0}figcaption{margin-bottom:8px}select{max-width:100%;box-sizing:border-box}.bar>label{min-width:0;max-width:100%}

#responses fieldset{min-width:0;margin:12px 0;padding:12px;border:1px solid #d6dce2;border-radius:5px}#responses fieldset input:not([type=radio]){box-sizing:border-box;max-width:100%;margin-left:0}

#question p,.mistake p,.workbook-record p{white-space:pre-line;line-height:1.6}.workbook-record{padding:12px 0;border-bottom:1px solid #d6dce2}.workbook-record p{margin:6px 0;overflow-wrap:anywhere}

.practice-preview{border-top:1px solid #d6dce2;padding:12px 0}.practice-preview img{max-width:100%;max-height:300px;display:block}.practice-preview p{white-space:pre-line;line-height:1.6}

#study{margin:16px 0;padding:16px;border:1px solid #dbe3ee;border-radius:10px;background:#f7f9fc}#study summary{cursor:pointer;font-weight:700}#study-content{line-height:1.7}#study-content small{display:block;margin-top:12px;color:#526176}.study-example{padding:12px;margin-top:12px;background:white;border-radius:8px}.study-example p{margin-bottom:0}

.point-image{position:relative;width:fit-content;max-width:100%}.point-image img{cursor:crosshair;touch-action:manipulation}.point-image img:focus-visible{outline:3px solid #174e7d;outline-offset:4px}.point-marker{position:absolute;width:16px;height:16px;box-sizing:border-box;border:3px solid white;border-radius:50%;background:#174e7d;box-shadow:0 0 0 2px #174e7d;transform:translate(-50%,-50%);pointer-events:none}

/* Unmodified live MAXIMA header rules; local copy only. */
:root{--green:#174d3b;--green2:#21684f;--soft:#eef5f1;--soft2:#f7faf8;--line:#dfe8e3;--text:#26362f;--muted:#748078;--shadow:0 10px 28px rgba(23,77,59,.07)}
.page-top,.spelling-top-nav,.writing-top-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 16px!important;max-width:none!important}
.brand{display:flex;align-items:baseline;gap:8px}
.brand strong{color:var(--green);font-size:19px;letter-spacing:.08em}
.brand span{color:var(--muted);font-size:13px;font-weight:800}
.home-btn,.spelling-home-button,.writing-home-button{margin-left:auto!important;min-height:38px!important;padding:8px 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;color:var(--green)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:999px!important;box-shadow:0 5px 15px rgba(23,77,59,.07)!important;font-size:12px!important;font-weight:900!important;text-decoration:none!important}
/* Grammar learning area only. Palette and font from live MAXIMA student app. */
body.grammar-app{font-family:Arial,"Noto Sans KR",sans-serif;background:#f4f8f6;color:#26362f;font-size:16px}
.grammar-app main{max-width:1120px;margin:0 auto;padding:24px 24px 64px}
.grammar-app h1{color:#174d3b;font-size:clamp(26px,4vw,34px);letter-spacing:-.025em;margin:24px 0 12px}
.grammar-app h2{font-size:22px;color:#174d3b}
.grammar-app button,.grammar-app select,.grammar-app input{min-height:46px;border:1px solid #dfe8e3;border-radius:12px;padding:11px 14px;margin:4px;color:#26362f;max-width:100%;box-sizing:border-box}
.grammar-app button{background:#fff;color:#174d3b;font-weight:700}
.grammar-app button:hover:not(:disabled){background:#eef5f1;border-color:#91bbaa}
.grammar-app button[type=submit],.grammar-app #next,.grammar-app #wb-save{background:#174d3b;color:white;border-color:#174d3b}
.grammar-app :is(button,input,select,summary,a):focus-visible{outline:3px solid #91bbaa;outline-offset:3px}
.grammar-app #login{background:#fff7e3;border:1px solid #e9dcba;border-radius:16px;padding:14px 18px;margin:16px 0}
.grammar-app #status{font-size:13px;color:#66756c;line-height:1.6}
.grammar-app .coverage-panel{margin:12px 0 24px;color:#66756c;font-size:13px}
.grammar-app summary{cursor:pointer;padding:8px 0}
.grammar-app #coverage{padding:12px;background:white;border-radius:12px}
.grammar-app .bar{background:#fff;border:1px solid #dfe8e3;border-radius:16px;padding:14px;gap:12px}
.grammar-app .bar>label{flex:1;font-size:14px;font-weight:700}
.grammar-app #timer{padding:12px 16px;background:#eef5f1;border-radius:12px;color:#174d3b;font-variant-numeric:tabular-nums;font-size:20px}
.grammar-app #progress{color:#66756c;font-size:14px;font-weight:700;margin:20px 4px 12px}
.grammar-app #question{padding:28px;border:1px solid #dfe8e3;border-radius:18px;margin:16px 0 0;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 8px 24px rgba(23,77,59,.04);font-size:21px;overflow-wrap:anywhere}
.grammar-app #question h2{font-size:15px;color:#66756c;font-weight:600}
.grammar-app #question img{max-height:580px;max-width:100%;height:auto;margin:18px auto;object-fit:contain}
.grammar-app #answer{background:#fff;border:1px solid #dfe8e3;border-top:0;border-radius:0 0 18px 18px;padding:8px 28px 24px;margin-bottom:14px}
.grammar-app #answer>button{min-width:170px;margin:16px 0 0;font-size:17px}
.grammar-app #responses label{padding:12px 16px;background:#f7faf8;border:1px solid #dfe8e3;border-radius:12px;margin:8px 0;line-height:1.5;cursor:pointer;display:flex;align-items:center;gap:12px}
.grammar-app #responses label:has(input:checked){border-color:#174d3b;background:#eef5f1}
.grammar-app input[type=radio]{accent-color:#174d3b;min-height:22px;width:22px;height:22px;flex-shrink:0;margin:0}
.grammar-app #responses input:not([type=radio]){font-size:20px;width:min(100%,520px);background:#f7faf8;margin:6px 0}
.grammar-app #feedback:not(:empty),.grammar-app #hint-text:not(:empty){padding:18px 22px;background:#eef5f1;border-left:4px solid #21684f;border-radius:12px;line-height:1.7}
.grammar-app #study{background:#fff;border-color:#dfe8e3;border-radius:16px}
.grammar-app #teacher>label{display:block;background:white;padding:14px;border:1px solid #dfe8e3;border-radius:14px}
.grammar-app #teacher-summary{padding:14px 4px;color:#66756c;line-height:1.7}
.grammar-app #workbook{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:18px;background:#fff;border:1px solid #dfe8e3;border-radius:16px}
.grammar-app #wb-note{flex:1;min-width:180px}.grammar-app #wb-result{flex-basis:100%;margin:0;color:#174d3b}
.grammar-app .mistake{padding:24px;border-color:#dfe8e3;border-radius:16px;overflow-wrap:anywhere}
.grammar-app .mistake h3{font-size:18px}.grammar-app .mistake img{max-width:100%;height:auto}
.grammar-app a{color:#174d3b}.grammar-app .mistake a{padding:10px 14px;border:1px solid #dfe8e3;border-radius:10px;margin:4px;text-decoration:none;font-weight:700;font-size:14px}
.grammar-app .workbook-record{font-size:14px;padding:12px 16px}.grammar-app .point-image img{margin:0!important}
@media(min-width:800px){.grammar-app #learning{max-width:900px;margin:0 auto}.grammar-app #responses{max-width:720px}}
@media(max-width:600px){.grammar-app main{padding:16px 12px 40px}.grammar-app .bar{gap:8px;padding:10px}.grammar-app .bar>label{flex-basis:100%}.grammar-app #module{width:100%;margin:6px 0}.grammar-app #question{padding:18px;font-size:19px}.grammar-app #answer{padding:8px 18px 18px}.grammar-app #answer>button{width:100%}.grammar-app #question img{max-height:none}.grammar-app .mistake{padding:16px}.grammar-app #workbook>*{max-width:100%}.grammar-app #wb-module{width:100%;margin:4px 0}.grammar-app #workbook>label{width:100%}.grammar-app #wb-note{min-width:0;flex-basis:100%}.grammar-app #wb-save{width:100%}}

/* Reserve room for the existing fixed MAXIMA language control. */
.grammar-app .page-top{padding-right:90px}.grammar-app #login p{font-size:12px;margin:0 0 6px;line-height:1.5}.grammar-app #login button{min-height:38px;font-size:13px;padding:8px 12px}.grammar-app:has(#learning:not([hidden])) #login p,.grammar-app:has(#teacher:not([hidden])) #login p{display:none}.grammar-app #login{padding:8px 12px}.grammar-app #login button{margin:2px}.grammar-app #status{margin:8px 0}.grammar-app .coverage-panel{margin:8px 0 16px}@media(max-width:600px){.grammar-app main{padding-top:76px}.grammar-app .page-top{padding-right:0}.grammar-app h1{font-size:26px;margin:16px 0 8px}}
/* Grammar TRY · Speech TRY Pre-A1 header/hero alignment · 2026-10-13 */
.grammar-app{
  background:radial-gradient(circle at top right,rgba(33,104,79,.10),transparent 30%),linear-gradient(180deg,#eef5f1 0%,#f8faf9 42%,#ffffff 100%);
}
.grammar-app main{max-width:1120px;margin:0 auto;padding:24px 24px 64px}
.grammar-app .grammar-page-top{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;margin:0 0 16px!important;padding-right:90px!important;
}
.grammar-app .grammar-brand{display:flex;align-items:baseline;gap:8px;min-width:0}
.grammar-app .grammar-brand strong{color:#174d3b;font-size:19px;font-weight:900;letter-spacing:.08em}
.grammar-app .grammar-brand span{color:#748078;font-size:13px;font-weight:800}
.grammar-app .grammar-home-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto;min-height:38px!important;margin:0 0 0 auto!important;
  padding:8px 13px!important;color:#174d3b!important;background:rgba(255,255,255,.92)!important;
  border:1px solid #dfe8e3!important;border-radius:999px!important;
  box-shadow:0 5px 15px rgba(23,77,59,.07)!important;
  font-size:12px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;
  white-space:nowrap;
}
.grammar-app .grammar-hero{
  margin-bottom:12px;padding:18px 18px 16px;color:#fff;
  background:linear-gradient(135deg,#174d3b,#21684f);border-radius:20px;
  box-shadow:0 10px 26px rgba(23,77,59,.16);
}
.grammar-app .grammar-hero-eyebrow{
  margin-bottom:5px;color:rgba(255,255,255,.74);font-size:10px;font-weight:900;letter-spacing:.06em;
}
.grammar-app .grammar-hero h1{
  margin:0!important;color:#fff!important;font-size:clamp(25px,6vw,34px)!important;
  font-weight:900;letter-spacing:-.025em;line-height:1.15;
}
.grammar-app .grammar-hero-sub{
  margin:7px 0 0;max-width:620px;color:rgba(255,255,255,.82);
  font-size:12px;line-height:1.55;
}
@media(max-width:600px){
  .grammar-app main{padding:16px 12px 40px!important}
  .grammar-app .grammar-page-top{margin-bottom:10px!important;padding-right:0!important;min-width:0}
  .grammar-app .grammar-brand{flex-wrap:wrap;column-gap:8px;row-gap:0}
  .grammar-app .grammar-hero{padding:15px 14px;border-radius:17px}
  .grammar-app .grammar-hero h1{font-size:clamp(25px,6vw,34px)!important;margin:0!important}
}

/* Grammar TRY: student learning screen does not show internal content audit. Teacher view preserved. */
.grammar-app:has(#learning:not([hidden])) .coverage-panel{display:none!important}


/* Grammar TRY student question/feedback polish · 2026-10-13 */
.grammar-app #question{padding:0;overflow:hidden;background:#fff}
.grammar-app .grammar-question-meta{
 display:flex;align-items:center;gap:8px;padding:18px 24px 0;
 font-size:11px;font-weight:900;letter-spacing:.06em;color:#587a69;
}
.grammar-app .grammar-question-meta span{padding:4px 9px;border-radius:999px;background:#eef5f1}
.grammar-app .grammar-question-instruction{
 padding:12px 24px 6px;font-size:15px;font-weight:700;line-height:1.7;
 color:#345345;white-space:pre-line;overflow-wrap:anywhere
}
.grammar-app .grammar-question-sentence{
 padding:16px 24px 13px;font-size:clamp(20px,2.8vw,25px);font-weight:700;
 color:#21332b;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere;
}
.grammar-app .grammar-question-meta+.grammar-question-sentence{padding-top:16px}
.grammar-app .grammar-question-illustration{
 display:flex;justify-content:center;align-items:center;padding:10px 20px 24px;min-width:0;
}
.grammar-app .grammar-question-illustration img{
 width:auto;max-width:100%;max-height:420px;height:auto;object-fit:contain;margin:0 auto!important;
}
.grammar-app .grammar-question-wordbank{
 display:flex;gap:10px;flex-wrap:wrap;margin:6px 24px 14px;padding:11px 14px;
 background:#f7faf8;border:1px solid #dfe8e3;border-radius:12px;
 color:#42584d;font-size:14px;line-height:1.6
}
.grammar-app .grammar-question-wordbank strong{color:#174d3b;white-space:nowrap}
.grammar-app #answer{padding-top:14px}
.grammar-app #feedback.grammar-feedback-wrong{
 display:block;margin:12px 0;padding:18px 20px;background:#fff9f1;
 border:1px solid #eedcc2;border-left:4px solid #c79039;
 border-radius:14px;box-shadow:0 6px 20px rgba(95,66,24,.035);
 color:#463825;line-height:1.65;white-space:normal;
}
.grammar-app .grammar-feedback-title{display:block;font-size:15px;font-weight:900;margin-bottom:8px;color:#795019}
.grammar-app .grammar-feedback-answer{
 display:block;font-size:15px;font-weight:800;color:#174d3b;
 background:#fff;border:1px solid #e9dfd0;padding:9px 12px;border-radius:10px;margin-bottom:9px;
 white-space:pre-wrap;overflow-wrap:anywhere;
}
.grammar-app .grammar-feedback-reason{display:block;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.grammar-app .grammar-history-answer{background:#edf7f0;border-radius:9px;padding:10px 12px;color:#174d3b}
.grammar-app .grammar-history-reason{font-size:14px;line-height:1.7;color:#345345}
.grammar-app #hint:not([hidden]){margin-top:14px}
@media(max-width:600px){
 .grammar-app .grammar-question-meta{padding:14px 16px 0}
 .grammar-app .grammar-question-instruction{padding:10px 16px 4px;font-size:14px}
 .grammar-app .grammar-question-sentence{padding:14px 16px 10px;font-size:20px;line-height:1.7}
 .grammar-app .grammar-question-illustration{padding:8px 12px 18px}
 .grammar-app .grammar-question-illustration img{max-height:330px}
 .grammar-app .grammar-question-wordbank{margin:4px 16px 12px;font-size:13px}
 .grammar-app #feedback.grammar-feedback-wrong{padding:15px 15px}
}

/* Grammar TRY · unscramble word chips (presentation only; 2026-10-13) */
.grammar-app .grammar-unscramble-context{
 margin:8px 24px 4px;padding:11px 14px;border:1px solid #e2e9e5;
 border-radius:12px;background:#fff;color:#45594e;font-size:15px;
 font-weight:650;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere
}
.grammar-app .grammar-unscramble-panel{
 margin:10px 24px 20px;padding:16px 17px 18px;
 background:#f5faf7;border:1px solid #d8e7de;border-radius:16px
}
.grammar-app .grammar-unscramble-label{
 display:block;margin-bottom:12px;color:#547768;
 font-size:12px;font-weight:900;letter-spacing:.025em
}
.grammar-app .grammar-unscramble-words{
 display:flex;flex-wrap:wrap;align-items:flex-start;gap:9px;
 min-width:0
}
.grammar-app .grammar-unscramble-chip{
 display:inline-flex;align-items:center;justify-content:center;
 max-width:100%;min-height:46px;box-sizing:border-box;
 padding:8px 14px;border:1px solid #cadfd3;border-radius:12px;
 background:#fff;color:#183d2d;
 box-shadow:0 3px 9px rgba(23,77,59,.05);
 font-family:inherit;font-size:20px;font-weight:800;
 line-height:1.4;white-space:normal;overflow-wrap:anywhere;
 user-select:text;-webkit-user-select:text
}
.grammar-app .grammar-unscramble-note{
 margin:-7px 24px 17px;color:#62796d;
 font-size:12px;font-weight:650;line-height:1.6;
 white-space:pre-line;overflow-wrap:anywhere
}
@media(max-width:600px){
 .grammar-app .grammar-unscramble-context{margin:6px 16px 4px;padding:10px 12px;font-size:14px}
 .grammar-app .grammar-unscramble-panel{margin:8px 16px 16px;padding:12px 12px 14px;border-radius:14px}
 .grammar-app .grammar-unscramble-label{margin-bottom:10px}
 .grammar-app .grammar-unscramble-words{gap:8px}
 .grammar-app .grammar-unscramble-chip{min-height:43px;padding:8px 12px;font-size:18px;border-radius:10px}
 .grammar-app .grammar-unscramble-note{margin:-6px 16px 14px}
}

/* Grammar TRY · student UX adjustments, 2026-10-13 · presentation only */
.grammar-app .grammar-wordbank-panel{margin:12px 24px 16px;padding:16px 17px;background:#f5faf7;border:1px solid #d8e7de;border-radius:15px}
.grammar-app .grammar-wordbank-title{display:block;margin-bottom:12px;font-size:13px;color:#4b6b5a;font-weight:900}
.grammar-app .grammar-wordbank-words,.grammar-app .grammar-choice-options,.grammar-app .grammar-cue-parts{display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-width:0}
.grammar-app .grammar-wordbank-chip{display:inline-flex;align-items:center;justify-content:center;min-height:43px;max-width:100%;padding:8px 14px;border:1px solid #cfe0d6;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(23,77,59,.05);font-size:19px;font-weight:800;color:#174d3b;line-height:1.45;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.grammar-app .grammar-choice-groups{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 24px 22px}
.grammar-app .grammar-choice-group{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 15px;background:#f7faf8;border:1px solid #dfe8e3;border-radius:14px}
.grammar-app .grammar-choice-group-label{font-size:13px;min-width:52px;color:#547568;white-space:nowrap}
.grammar-app .grammar-choice-options{flex:1}
.grammar-app .grammar-cue-subject{display:flex;align-items:center;gap:12px;margin:10px 24px 14px;padding:12px 15px;background:#eef5f1;border-radius:13px;color:#174d3b;font-size:19px;font-weight:800}
.grammar-app .grammar-cue-subject strong{font-size:12px;color:#60786b}
.grammar-app .grammar-cue-card{margin:9px 24px 10px;padding:13px 15px;background:#f7faf8;border:1px solid #dce7df;border-radius:14px}
.grammar-app .grammar-cue-target{background:#f0f7f3;border-color:#bad8c6}
.grammar-app .grammar-cue-head{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.grammar-app .grammar-cue-head strong{font-size:13px;font-weight:900;color:#284a38}
.grammar-app .grammar-cue-polarity{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e2ece6;color:#2f6a4c;font-size:12px;font-weight:850}
.grammar-app .grammar-cue-printed-sentence{margin:0 24px 16px;padding:12px 14px;background:#fff;border:1px solid #e3eae6;border-radius:10px;font-size:18px;font-weight:750;color:#26362f;line-height:1.55;overflow-wrap:anywhere}
.grammar-app #responses label.grammar-answer-part{display:flex;align-items:center;gap:13px;max-width:100%;border:none;background:none;padding:4px 0;cursor:text}
.grammar-app .grammar-answer-part-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;border-radius:50%;background:#eef5f1;color:#174d3b;font-size:16px}
.grammar-app #responses label.grammar-answer-part input{flex:1;min-width:0;width:100%;max-width:520px}
.grammar-app .grammar-completion-dialog{width:min(440px,calc(100vw - 36px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);border:1px solid #d3e1d8;border-radius:22px;padding:0;box-shadow:0 28px 70px rgba(6,44,28,.25);background:#fff;color:#24342d;box-sizing:border-box}
.grammar-app .grammar-completion-dialog::backdrop{background:rgba(9,35,24,.53);backdrop-filter:blur(2px)}
.grammar-app .grammar-completion-content{padding:28px 24px 24px;text-align:center}
.grammar-app .grammar-completion-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:#e2f2e9;color:#174d3b;font-size:30px;font-weight:900}
.grammar-app .grammar-completion-dialog h2{margin:0 0 10px;color:#174d3b;font-size:22px;line-height:1.4}
.grammar-app .grammar-completion-description{margin:0 0 22px;color:#61756b;font-size:14px;line-height:1.75}
.grammar-app .grammar-completion-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.grammar-app .grammar-completion-actions button{width:100%;margin:0;min-height:48px;font-size:14px;font-weight:850}
.grammar-app .grammar-completion-actions .grammar-completion-restart{background:#174d3b;color:#fff;border-color:#174d3b}
.grammar-app .grammar-completion-actions .grammar-completion-secondary{background:#f0f7f3;color:#174d3b;border-color:#d8e6de}
@media(max-width:600px){
 .grammar-app .grammar-wordbank-panel,.grammar-app .grammar-choice-groups,.grammar-app .grammar-cue-card{margin-left:16px;margin-right:16px}
 .grammar-app .grammar-wordbank-panel{padding:12px 13px}
 .grammar-app .grammar-wordbank-chip{font-size:17px;min-height:40px;padding:8px 11px}
 .grammar-app .grammar-choice-groups{gap:8px;margin-top:10px;margin-bottom:16px}
 .grammar-app .grammar-choice-group{padding:10px 12px;gap:8px;align-items:flex-start}
 .grammar-app .grammar-choice-group-label{min-width:100%;font-size:12px}
 .grammar-app .grammar-cue-subject{margin:8px 16px 12px;font-size:17px}
 .grammar-app .grammar-cue-printed-sentence{margin:0 16px 14px;font-size:16px}
 .grammar-app .grammar-cue-head{margin-bottom:9px}
 .grammar-app .grammar-completion-content{padding:24px 16px 18px}
 .grammar-app .grammar-completion-dialog h2{font-size:20px}
 .grammar-app .grammar-completion-actions{grid-template-columns:1fr}
}


/* Grammar TRY · word-form instruction + saved lesson mistake review · 2026-10-13 */
.grammar-app .grammar-wordbank-form-note{margin:13px 2px 0;padding:10px 12px;border:1px solid #c9dfd1;border-radius:10px;background:#e8f4ec;color:#24573e;font-size:14px;font-weight:800;line-height:1.6}
.grammar-app #grammar-lesson-review-button{background:#eef5f1;border-color:#cfe0d6;color:#174d3b;font-size:13px}
.grammar-app #learning.grammar-review-active > *:not(.bar):not(#grammar-lesson-results){display:none!important}
.grammar-app #grammar-lesson-results[hidden]{display:none!important}
.grammar-app .grammar-lesson-results{max-width:900px;margin:20px auto 32px;scroll-margin-top:16px}
.grammar-app .grammar-review-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;background:white;border:1px solid #dfe8e3;border-radius:18px;padding:20px 22px}
.grammar-app .grammar-review-heading h2{flex-basis:100%;margin:0;font-size:25px;color:#174d3b}
.grammar-app .grammar-review-heading>div{flex:1;color:#607468;font-size:13px;font-weight:750}
.grammar-app .grammar-review-back{margin:0;font-size:13px;min-height:40px}
.grammar-app .grammar-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.grammar-app .grammar-review-stat{display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;min-width:0;padding:14px 8px;background:#fff;border:1px solid #dce6df;border-radius:14px;text-align:center}
.grammar-app .grammar-review-stat-name{font-size:12px;color:#637b6d;font-weight:800;line-height:1.4}
.grammar-app .grammar-review-stat-value{font-size:29px;color:#174d3b;line-height:1.1;font-variant-numeric:tabular-nums}
.grammar-app .grammar-review-lead{font-size:14px;font-weight:800;color:#365948;line-height:1.7;margin:14px 2px}
.grammar-app .grammar-review-incomplete{font-size:13px;line-height:1.65;color:#7a5b26;background:#fff8e8;border:1px solid #ead6af;padding:12px 14px;border-radius:12px}
.grammar-app .grammar-review-cards{display:grid;gap:14px}
.grammar-app .grammar-review-card{padding:22px;background:#fff;border:1px solid #dfe8e3;border-left:5px solid #bf8736;border-radius:17px;box-shadow:0 5px 20px rgba(23,77,59,.04);overflow-wrap:anywhere}
.grammar-app .grammar-review-card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:16px;color:#714e20}
.grammar-app .grammar-review-recovered{font-size:12px;font-weight:800;background:#e8f5ed;border:1px solid #c4e1cf;color:#21684f;padding:5px 10px;border-radius:99px}
.grammar-app .grammar-review-question{margin:14px 0 12px;color:#24392f;font-size:18px;font-weight:800;white-space:pre-wrap;line-height:1.65}
.grammar-app .grammar-review-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grammar-app .grammar-review-given,.grammar-app .grammar-review-accepted{min-width:0;border:1px solid #eee0cb;background:#fff9f0;border-radius:13px;padding:14px 15px;line-height:1.55}
.grammar-app .grammar-review-accepted{background:#edf7f0;border-color:#cde2d3}
.grammar-app .grammar-review-answer-grid strong{display:block;font-size:12px;font-weight:900;color:#7a5931;margin-bottom:7px}
.grammar-app .grammar-review-accepted strong{color:#276347}
.grammar-app .grammar-review-answer-grid p{margin:4px 0;font-size:16px;white-space:pre-line;overflow-wrap:anywhere}
.grammar-app .grammar-review-explanation{margin:14px 0;padding:12px 14px;background:#f5f8f6;color:#31503f;border-radius:10px;line-height:1.65;font-size:14px}
.grammar-app .grammar-review-details{margin:14px 0;border:1px solid #e0e9e2;border-radius:12px;padding:0 14px}
.grammar-app .grammar-review-details summary{font-size:13px;font-weight:800;color:#37664d;cursor:pointer}
.grammar-app .grammar-review-preview{border-top:1px solid #dce8df;padding:8px 0 15px}
.grammar-app .grammar-review-preview .grammar-question-meta,.grammar-app .grammar-review-preview .grammar-question-instruction,.grammar-app .grammar-review-preview .grammar-question-sentence{padding-left:0;padding-right:0}
.grammar-app .grammar-review-preview .grammar-question-sentence{font-size:17px}
.grammar-app .grammar-review-preview .grammar-question-illustration{padding:8px 0}
.grammar-app .grammar-review-preview img{max-height:260px;max-width:100%;object-fit:contain}
.grammar-app .grammar-review-preview .grammar-wordbank-panel,.grammar-app .grammar-review-preview .grammar-cue-card,.grammar-app .grammar-review-preview .grammar-choice-groups,.grammar-app .grammar-review-preview .grammar-unscramble-panel{margin-left:0;margin-right:0}
.grammar-app .grammar-review-retry{min-height:40px;font-size:13px;margin:2px 0 0}
.grammar-app .grammar-review-perfect{background:#eff8f2;border:1px solid #bde0ca;border-radius:14px;padding:18px;font-size:16px;font-weight:800;color:#21684f}
@media(max-width:600px){
 .grammar-app .grammar-wordbank-form-note{font-size:13px}
 .grammar-app .grammar-review-heading{padding:17px 15px}
 .grammar-app .grammar-review-heading h2{font-size:21px}
 .grammar-app .grammar-review-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .grammar-app .grammar-review-stat{padding:12px 8px}
 .grammar-app .grammar-review-stat-value{font-size:25px}
 .grammar-app .grammar-review-card{padding:16px 14px}
 .grammar-app .grammar-review-question{font-size:16px}
 .grammar-app .grammar-review-answer-grid{grid-template-columns:1fr;gap:8px}
 .grammar-app .grammar-review-answer-grid p{font-size:15px}
 .grammar-app .grammar-review-preview .grammar-wordbank-chip{font-size:16px}
}

.grammar-app .grammar-review-server{margin:22px 0 0;padding:18px 18px 20px;border:1px solid #dfe7e0;border-radius:16px;background:#f9fbf9}
.grammar-app .grammar-review-server h3{margin:0 0 9px;font-size:19px;color:#174d3b}
.grammar-app .grammar-review-server-note{font-size:13px;color:#677a6f;line-height:1.7;margin:0 0 14px}
.grammar-app .grammar-review-older{border-left-color:#7b9d88}
@media(max-width:600px){.grammar-app .grammar-review-server{padding:15px 12px}}


/* MAXIMA Grammar TRY · instructions, optional concepts, full-sentence space, quick review · 2026-10-13 */
.grammar-app .grammar-task-guide{margin:14px 24px 12px;padding:13px 16px;background:#f5f9f7;border:1px solid #d9e7de;border-left:4px solid #6c9e83;border-radius:13px}
.grammar-app .grammar-task-guide-label{display:inline-block;margin-bottom:5px;font-size:12px;color:#30644b;font-weight:900;letter-spacing:.02em}
.grammar-app .grammar-task-guide p{margin:0;color:#375246;font-size:15px;line-height:1.65;font-weight:750}
.grammar-app .grammar-task-box{margin:15px 24px 22px;padding:18px 19px 20px;background:#fff;border:1px solid #dee8e2;border-radius:15px;overflow:hidden}
.grammar-app .grammar-task-caption{display:block;margin:0 0 8px;font-size:12px;font-weight:900;color:#5e7869}
.grammar-app .grammar-task-source{font-size:clamp(22px,3.2vw,27px);font-weight:850;color:#213b2c;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.grammar-app .grammar-task-transform{margin-top:15px;padding-top:13px;border-top:1px solid #e4ede7}
.grammar-app .grammar-task-transform-line{display:flex;align-items:center;gap:13px;width:100%;max-width:100%;font-size:24px;font-weight:900;color:#205b3e;min-width:0}
.grammar-app .grammar-long-answer-line{display:inline-block;flex:1 1 300px;width:min(100%,620px);max-width:100%;min-width:0;height:1.08em;border-bottom:3px solid #628d78;vertical-align:baseline;box-sizing:border-box}
.grammar-app .grammar-word-answer-line{display:inline-block;width:160px;max-width:75%;height:1.08em;border-bottom:3px solid #628d78;box-sizing:border-box}
.grammar-app .grammar-question-sentence .grammar-long-answer-line{width:min(72%,580px);margin:0 4px;vertical-align:baseline}
.grammar-app #responses input.grammar-answer-full-sentence{width:min(100%,760px);max-width:100%;min-height:56px;font-size:19px;padding:13px 16px}
.grammar-app #study{border-color:#dbe7df;background:#fff}
.grammar-app #study>summary{list-style-position:inside;color:#244936;font-size:15px;font-weight:900;line-height:1.6;cursor:pointer}
.grammar-app #study[open]>summary{border-bottom:1px solid #e5ede8;padding-bottom:12px;margin-bottom:12px}
.grammar-app #study-content small{color:#567666;font-weight:800;font-size:12px}
.grammar-app #study-content p{font-size:15px;line-height:1.75}
.grammar-app #study-content .grammar-study-highlight{padding:2px 5px;margin:0 1px;border-radius:5px;background:#fff0bc;color:#74510b;font-weight:900;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.grammar-app .grammar-review-overview{margin:14px 0 16px;padding:16px 18px;background:#fff;border:1px solid #dbe6de;border-radius:17px}
.grammar-app .grammar-review-overview h3{margin:0 0 13px;font-size:18px;color:#174d3b}
.grammar-app .grammar-review-numbers-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:9px 0;border-top:1px solid #edf1ee;min-width:0}
.grammar-app .grammar-review-numbers-label{font-size:13px;font-weight:900;color:#8a5632;white-space:nowrap}
.grammar-app .grammar-review-numbers-correct .grammar-review-numbers-label{color:#23744b}
.grammar-app .grammar-review-numbers{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:2px 1px 5px;scrollbar-width:thin;scrollbar-color:#bfd5c8 transparent}
.grammar-app .grammar-review-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:31px;min-height:31px;padding:4px 7px;border-radius:9px;background:#fff4e8;border:1px solid #e8cba8;color:#875128;font-size:13px;font-weight:900;box-sizing:border-box}
.grammar-app .grammar-review-numbers-wrong button.grammar-review-number{min-width:31px;min-height:31px;margin:0;padding:4px 7px;border-radius:9px;background:#fff4e8;border:1px solid #e8cba8;color:#875128;box-shadow:none;font-size:13px;cursor:pointer}
.grammar-app .grammar-review-numbers-wrong button.grammar-review-number:hover{background:#ffeacb}
.grammar-app .grammar-review-numbers-correct .grammar-review-number{color:#26744a;background:#eaf6ee;border-color:#cce5d5}
.grammar-app .grammar-review-numbers-empty{font-size:13px;color:#7c8980}
.grammar-app .grammar-review-numbers-note{margin:8px 0 0;color:#718078;font-size:12px;line-height:1.5}
.grammar-app .grammar-review-card[id^="grammar-lesson-wrong-"]{scroll-margin-top:20px}
@media(max-width:600px){
 .grammar-app .grammar-task-guide{margin:10px 16px;padding:11px 12px}
 .grammar-app .grammar-task-guide p{font-size:14px}
 .grammar-app .grammar-task-box{margin:11px 16px 16px;padding:14px 14px 16px}
 .grammar-app .grammar-task-source{font-size:22px}
 .grammar-app .grammar-task-transform-line{gap:10px;font-size:21px}
 .grammar-app .grammar-long-answer-line{flex-basis:120px}
 .grammar-app .grammar-review-overview{padding:13px 11px;margin:10px 0 14px}
 .grammar-app .grammar-review-overview h3{font-size:16px}
 .grammar-app .grammar-review-numbers-row{grid-template-columns:83px minmax(0,1fr);gap:7px}
 .grammar-app .grammar-review-numbers-label{font-size:11px;white-space:normal}
 .grammar-app .grammar-review-number,.grammar-app .grammar-review-numbers-wrong button.grammar-review-number{min-width:29px;min-height:30px;font-size:12px}
 .grammar-app #responses input.grammar-answer-full-sentence{min-height:52px;font-size:17px}
}
/* MAXIMA Grammar TRY · full-screen classroom mistake slides · 2026-10-13 */
.grammar-app #grammar-lesson-review-button,.grammar-app #grammar-student-ppt-button{min-height:42px;font-size:13px}
.grammar-app #grammar-student-ppt-button{background:#e9f4ed;color:#174d3b;border-color:#c1dacb}
.grammar-app .grammar-review-ppt{background:#174d3b;color:#fff;border-color:#174d3b;min-height:42px;margin:0;font-size:13px}
.grammar-app .grammar-teacher-ppt{min-height:43px;font-size:14px;margin:0 0 16px;border-color:#b6d4c4;background:#eaf5ef;color:#174d3b}
.grammar-app .grammar-ppt-loading-error{margin:12px 0;padding:12px;border:1px solid #edc9be;border-radius:12px;background:#fff7f3;color:#9a3d26;line-height:1.55}
.grammar-app .grammar-ppt-overlay,.grammar-app .grammar-ppt-overlay *{box-sizing:border-box}
.grammar-app .grammar-ppt-overlay{--ppt-green:#174d3b;--ppt-soft:#f0f6f2;--ppt-line:#dce8df;position:fixed!important;inset:0!important;z-index:2147483000!important;background:#f3f8f5;color:#24392e;width:100%;height:100vh;height:100dvh;overflow:hidden}
.grammar-app .grammar-ppt-shell{display:flex;flex-direction:column;width:100%;height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.grammar-app .grammar-ppt-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px clamp(14px,3vw,42px);background:#fff;border-bottom:1px solid var(--ppt-line);box-shadow:0 3px 16px rgba(23,77,59,.05)}
.grammar-app .grammar-ppt-brand{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;max-width:54%}
.grammar-app .grammar-ppt-brand>strong{font-size:20px;font-weight:900;color:var(--ppt-green);letter-spacing:.08em}
.grammar-app .grammar-ppt-brand>span{font-size:14px;font-weight:800;color:#5c7565}
.grammar-app .grammar-ppt-header-subtitle{flex-basis:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:800;color:#376750}
.grammar-app .grammar-ppt-header-subtitle small{font-size:11px;color:#986439;font-weight:650}
.grammar-app .grammar-ppt-top-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.grammar-app .grammar-ppt-top-actions button{margin:0;min-height:40px;padding:8px 15px;font-size:13px;font-weight:900;border-radius:11px;white-space:nowrap;background:#fff;color:#174d3b;border-color:#cddfd2}
.grammar-app .grammar-ppt-top-actions .grammar-ppt-reveal{background:#174d3b;color:#fff;border-color:#174d3b}
.grammar-app .grammar-ppt-top-actions .grammar-ppt-reveal:hover:not(:disabled),.grammar-app .grammar-ppt-top-actions .grammar-ppt-reveal:focus-visible{background:#21684f;color:#fff;border-color:#21684f}
.grammar-app .grammar-ppt-top-actions .grammar-ppt-close{background:#f0f5f2}
.grammar-app .grammar-ppt-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px clamp(14px,3vw,42px);border-bottom:1px solid var(--ppt-line);background:#f9fbfa}
.grammar-app .grammar-ppt-toolbar label{display:flex;align-items:center;gap:9px;min-width:0;color:#375d46;font-size:12px;font-weight:900}
.grammar-app .grammar-ppt-toolbar select{min-width:0;max-width:min(60vw,470px);font-size:13px;min-height:39px;border-radius:10px;margin:0}
.grammar-app .grammar-ppt-count{margin-left:auto;padding:7px 12px;border-radius:10px;background:#e5f1e9;color:#174d3b;font-size:18px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.grammar-app .grammar-ppt-stage{max-width:none!important;width:100%;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 auto!important;padding:clamp(14px,2.2vw,32px) max(16px,calc((100vw - 1200px)/2))!important;scrollbar-width:thin}
.grammar-app .grammar-ppt-slide-meta{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 15px;font-size:15px}
.grammar-app .grammar-ppt-slide-meta strong{color:#174d3b;font-size:19px;font-weight:900}
.grammar-app .grammar-ppt-module-label{font-size:12px;font-weight:750;color:#627968;overflow-wrap:anywhere}
.grammar-app .grammar-ppt-recovered{padding:5px 9px;border:1px solid #b7d9c6;border-radius:100px;background:#eaf7ee;color:#1d764b;font-size:12px;font-weight:850}
.grammar-app .grammar-ppt-question{background:white;border:1px solid var(--ppt-line);border-radius:19px;padding:clamp(12px,2.3vw,27px);box-shadow:0 7px 30px rgba(23,77,59,.06);overflow-wrap:anywhere}
.grammar-app .grammar-ppt-question .grammar-question-meta{margin:0 0 10px!important;padding:0!important}
.grammar-app .grammar-ppt-question .grammar-question-instruction{font-size:clamp(15px,1.6vw,20px)!important;font-weight:750;line-height:1.6;margin:10px 0 16px!important;padding:0!important}
.grammar-app .grammar-ppt-question .grammar-question-sentence{font-size:clamp(21px,3vw,32px)!important;font-weight:850;line-height:1.7;margin:8px 0 16px!important;padding:0!important;white-space:pre-wrap}
.grammar-app .grammar-ppt-question .grammar-question-illustration{display:flex;justify-content:center;max-width:100%;padding:12px 0!important;margin:0!important}
.grammar-app .grammar-ppt-question img{display:block;width:auto;max-width:100%;height:auto;max-height:min(45vh,500px);object-fit:contain;border-radius:14px}
.grammar-app .grammar-ppt-question .grammar-task-guide,.grammar-app .grammar-ppt-question .grammar-task-box,.grammar-app .grammar-ppt-question .grammar-wordbank-panel,.grammar-app .grammar-ppt-question .grammar-unscramble-panel,.grammar-app .grammar-ppt-question .grammar-choice-groups,.grammar-app .grammar-ppt-question .grammar-cue-card{margin-left:0!important;margin-right:0!important}
.grammar-app .grammar-ppt-choices{display:grid;gap:9px;margin:14px 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.grammar-app .grammar-ppt-choice{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border-radius:13px;background:#f5f9f6;border:1px solid #d9e7dd;font-size:clamp(16px,1.55vw,19px);font-weight:700}
.grammar-app .grammar-ppt-choice strong{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e1f0e7;color:#174d3b}
.grammar-app .grammar-ppt-choice span{overflow-wrap:anywhere}
.grammar-app .grammar-ppt-choice-title{grid-column:1/-1;margin:0;font-size:14px;font-weight:850;color:#43715b}
.grammar-app .grammar-ppt-answer-panel{margin:15px 0 0;padding:clamp(14px,2.2vw,23px);border:2px solid #bddbc8;border-radius:17px;background:#f9fcf9}
.grammar-app .grammar-ppt-answer-panel h3{margin:0 0 14px;font-size:20px;color:#174d3b}
.grammar-app .grammar-ppt-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grammar-app .grammar-ppt-answer-student,.grammar-app .grammar-ppt-answer-correct{min-width:0;padding:15px;border-radius:13px;border:1px solid #ead2bd;background:#fff8ef}
.grammar-app .grammar-ppt-answer-correct{border-color:#b9dec6;background:#eaf7ee}
.grammar-app .grammar-ppt-answer-grid strong{display:block;font-size:13px;font-weight:850;color:#8e562f}
.grammar-app .grammar-ppt-answer-correct strong{color:#276346}
.grammar-app .grammar-ppt-answer-grid p{margin:11px 0 2px;font-size:clamp(19px,2vw,25px);line-height:1.55;font-weight:800;white-space:pre-wrap;overflow-wrap:anywhere}
.grammar-app .grammar-ppt-reason{margin:13px 0 0;padding:12px 14px;border-radius:11px;background:#e9f2ed;color:#2e5840;font-size:15px;line-height:1.7}
.grammar-app .grammar-ppt-name-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #ccdfd1}
.grammar-app .grammar-ppt-name-box .grammar-ppt-name-toggle{margin:0;font-size:12px;min-height:37px;padding:8px 12px;background:#fff;color:#43554c;border-color:#cadacf}
.grammar-app .grammar-ppt-student-name{font-size:16px;font-weight:900;color:#174d3b}
.grammar-app .grammar-ppt-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:70px;padding:11px clamp(14px,3vw,42px);border-top:1px solid var(--ppt-line);background:#fff}
.grammar-app .grammar-ppt-status{font-size:12px;line-height:1.5;color:#687e70}
.grammar-app .grammar-ppt-pagination{display:flex;gap:8px;align-items:center;flex-shrink:0}
.grammar-app .grammar-ppt-pagination button{min-height:45px;padding:10px 18px;margin:0;font-weight:900;font-size:13px;border-radius:10px}
.grammar-app .grammar-ppt-next:not([disabled]){background:#174d3b;color:white;border-color:#174d3b}
.grammar-app .grammar-ppt-overlay button:disabled{cursor:not-allowed;opacity:.48}
.grammar-app #grammar-ppt-overlay [hidden]{display:none!important}
@media(max-width:650px){
 .grammar-app .grammar-ppt-header{padding:10px 12px;align-items:flex-start;flex-wrap:wrap}
 .grammar-app .grammar-ppt-brand{max-width:none;width:100%}
 .grammar-app .grammar-ppt-brand>strong{font-size:17px}
 .grammar-app .grammar-ppt-brand>span{font-size:12px}
 .grammar-app .grammar-ppt-header-subtitle{font-size:11px}
 .grammar-app .grammar-ppt-top-actions{width:100%;gap:6px}
 .grammar-app .grammar-ppt-top-actions button{flex:1 1 auto;padding:9px 6px;min-height:42px;font-size:12px}
 .grammar-app .grammar-ppt-toolbar{padding:7px 12px;gap:5px}
 .grammar-app .grammar-ppt-toolbar label{gap:5px;font-size:11px;flex:1 1 auto}
 .grammar-app .grammar-ppt-toolbar select{max-width:calc(100vw - 152px);font-size:12px;min-height:38px;padding:5px 6px}
 .grammar-app .grammar-ppt-count{font-size:15px;padding:6px 8px}
 .grammar-app .grammar-ppt-stage{padding:14px 10px 25px!important}
 .grammar-app .grammar-ppt-slide-meta strong{font-size:17px}
 .grammar-app .grammar-ppt-question{padding:13px 12px;border-radius:14px}
 .grammar-app .grammar-ppt-question .grammar-question-sentence{font-size:21px!important}
 .grammar-app .grammar-ppt-choices{grid-template-columns:1fr}
 .grammar-app .grammar-ppt-answer-grid{grid-template-columns:1fr}
 .grammar-app .grammar-ppt-answer-grid p{font-size:19px}
 .grammar-app .grammar-ppt-footer{padding:9px 12px;align-items:stretch;flex-wrap:wrap;gap:6px}
 .grammar-app .grammar-ppt-status{width:100%;font-size:11px}
 .grammar-app .grammar-ppt-pagination{width:100%}
 .grammar-app .grammar-ppt-pagination button{flex:1 1 50%;padding:9px 6px;min-height:44px}
}

/* 2026-10-13 · elementary-friendly Grammar TRY concept cards + full-sentence writing line.
   Presentation only: no grading, bank, API, storage, or PPT changes. */
.grammar-app .grammar-task-transform--sentence .grammar-task-transform-line{
 display:flex;align-items:flex-end;gap:15px;width:100%;min-width:0;max-width:none;
 min-height:45px;padding:3px 0 4px;font-size:28px;
}
.grammar-app .grammar-task-transform--sentence .grammar-long-answer-line{
 display:block!important;flex:1 1 auto!important;min-width:0!important;width:100%!important;
 max-width:none!important;height:35px!important;border-bottom:4px solid #477d61!important;
 margin:0!important;box-sizing:border-box;
}
.grammar-app .grammar-question-sentence .grammar-long-answer-line{
 display:inline-block;min-width:min(55vw,320px);width:min(92%,720px)!important;max-width:100%!important;
 height:1.15em;border-bottom:4px solid #477d61;margin:0 8px;
}
.grammar-app #responses input.grammar-answer-full-sentence{width:100%!important;max-width:100%!important;min-height:60px;font-size:20px}
/* Readable rules for elementary grades 2-4; concept remains collapsed between questions. */
.grammar-app #study{
 background:#fff;border:1px solid #cfe3d8;border-radius:18px;overflow:hidden;
 box-shadow:0 6px 18px rgba(23,77,59,.035);
}
.grammar-app #study>summary{
 font-size:17px;font-weight:900;line-height:1.6;padding:12px 15px;
 color:#174d3b;background:linear-gradient(90deg,#e8f6ed,#f4faf6);
}
.grammar-app #study[open]>summary{
 border-bottom:1px solid #d8e9de;margin:0;padding:12px 15px;
}
.grammar-app #study-content{padding:15px 16px 17px}
.grammar-app #study-content .grammar-study-kicker{
 display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;
 margin:0 0 12px;color:#17553d;background:#dff3e7;font-size:13px;font-weight:900;
}
.grammar-app #study-content .grammar-study-rules{display:grid;gap:10px}
.grammar-app #study-content .grammar-study-rule{
 padding:13px 15px 14px;background:#f6fbf8;border:1px solid #d6e9dc;
 border-left:5px solid #65a883;border-radius:13px;min-width:0;
}
.grammar-app #study-content .grammar-study-rule:nth-child(3n+2){
 background:#fffaf1;border-color:#eee0bf;border-left-color:#d3a954;
}
.grammar-app #study-content .grammar-study-rule:nth-child(3n){
 background:#f4f8ff;border-color:#dce5f4;border-left-color:#8ba9d2;
}
.grammar-app #study-content .grammar-study-rule-number{
 display:inline-block;margin:0 0 6px;padding:3px 9px;border-radius:7px;
 background:#dff1e6;color:#215e43;font-size:12px;font-weight:900;
}
.grammar-app #study-content .grammar-study-rule:nth-child(3n+2) .grammar-study-rule-number{background:#fff0c9;color:#765411}
.grammar-app #study-content .grammar-study-rule:nth-child(3n) .grammar-study-rule-number{background:#e0eafe;color:#31598f}
.grammar-app #study-content .grammar-study-rule p{
 padding:0;margin:0;font-size:clamp(16px,1.5vw,18px);line-height:1.8;
 color:#243c30;font-weight:650;overflow-wrap:anywhere;
}
.grammar-app #study-content .grammar-study-examples-heading{
 display:block;margin:16px 2px 10px;color:#245c43;font-size:15px;font-weight:900;
}
.grammar-app #study-content .study-example.grammar-study-example{
 margin:0 0 9px;padding:14px 16px;background:#f0f6ff;border:1px solid #d1e1fa;
 border-radius:13px;box-shadow:none;
}
.grammar-app #study-content .grammar-study-example>strong{
 display:block;color:#1a426e;font-size:clamp(17px,1.6vw,20px);line-height:1.65;
 overflow-wrap:anywhere;
}
.grammar-app #study-content .grammar-study-example>p{
 color:#4d6174;font-size:15px;font-weight:600;line-height:1.65;margin:8px 0 0;
}
.grammar-app #study-content .grammar-study-highlight{
 display:inline;padding:2px 5px;margin:0 1px;border-radius:6px;font-weight:900;
 box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.grammar-app #study-content .grammar-study-mark-key{color:#265481;background:#dcefff}
.grammar-app #study-content .grammar-study-mark-pattern{color:#785009;background:#ffe6a6}
.grammar-app #study-content .grammar-study-mark-change{color:#6d4386;background:#eedcf9}
@media(max-width:600px){
 .grammar-app .grammar-task-transform--sentence .grammar-task-transform-line{gap:10px;font-size:24px;min-height:40px}
 .grammar-app .grammar-task-transform--sentence .grammar-long-answer-line{height:31px!important;border-bottom-width:3px!important}
 .grammar-app .grammar-question-sentence .grammar-long-answer-line{min-width:min(60vw,250px);border-bottom-width:3px}
 .grammar-app #responses input.grammar-answer-full-sentence{min-height:56px;font-size:18px}
 .grammar-app #study>summary{font-size:16px}
 .grammar-app #study-content{padding:12px 11px 14px}
 .grammar-app #study-content .grammar-study-rule{padding:11px 12px 12px}
 .grammar-app #study-content .grammar-study-rule p{font-size:16px;line-height:1.72}
 .grammar-app #study-content .grammar-study-example>strong{font-size:17px}
 .grammar-app #study-content .grammar-study-example>p{font-size:14px}
}


/* 2026-10-13 · Global Unit/Lesson instruction + answer clarity.
   Applies to structured UI only. Source questions, scoring, and PPT unchanged. */
.grammar-app .grammar-structured-instructions{
 margin:8px 0 17px!important;padding:15px 18px;
 color:#18563f;background:#ecf7f0;border:1px solid #d1e7d8;
 border-left:5px solid #258663;border-radius:13px;
 font-size:clamp(16px,1.4vw,19px);font-weight:800;line-height:1.8;
 overflow-wrap:anywhere;
}
.grammar-app .grammar-structured-caption{
 color:#5a635e;font-size:14px;font-weight:750;margin:12px 0 4px;
 line-height:1.6;
}
.grammar-app .grammar-structured-source{
 border:1px solid #d7e4dd;background:#f7faf8;border-radius:16px;
 padding:17px 20px;margin:14px 0 17px;
}
.grammar-app .grammar-structured-source-title{
 display:block;color:#4f7460;font-size:13px;margin-bottom:9px;
}
.grammar-app .grammar-structured-source-body{
 font-size:clamp(21px,2.4vw,28px);font-weight:900;line-height:1.5;color:#1d382b;
}
.grammar-app .grammar-subquestion-list{display:grid;gap:12px;margin:12px 0 17px;}
.grammar-app .grammar-subquestion-card{
 display:flex;align-items:flex-start;gap:14px;
 background:#f8fbf9;border:1px solid #dbe8df;border-radius:15px;
 padding:14px 16px;min-width:0;
}
.grammar-app .grammar-subquestion-letter{
 display:flex;flex-shrink:0;align-items:center;justify-content:center;
 height:37px;width:37px;border-radius:11px;background:#dcf2e5;
 color:#1c6648;font-size:19px;font-weight:900;
}
.grammar-app .grammar-subquestion-text{
 padding-top:1px;color:#243b30;font-size:clamp(17px,1.9vw,24px);
 font-weight:760;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;
}
.grammar-app .grammar-structured-options{
 margin:14px 0;padding:15px 17px;border:1px solid #d9e7df;
 border-radius:16px;background:#f3faf6;display:grid;gap:9px;
}
.grammar-app .grammar-structured-options>strong{color:#315c49;font-size:14px;}
.grammar-app .grammar-structured-options .grammar-subquestion-card{padding:10px 13px;background:#fff;}
.grammar-app .grammar-structured-options .grammar-subquestion-letter{
 background:#eaf3ed;color:#28684c;height:31px;width:31px;font-size:16px;
}
.grammar-app .grammar-structured-options .grammar-subquestion-text{font-size:18px;}
.grammar-app .grammar-structured-option-row{display:flex;gap:8px;flex-wrap:wrap;}
.grammar-app .grammar-structured-option-chip{
 border-radius:10px;border:1px solid #cfe2d5;background:#fff;
 padding:10px 14px;color:#174d3b;font-size:16px;font-weight:850;
}
.grammar-app #responses .grammar-structured-answer-row,
.grammar-app #responses .grammar-structured-text-answer{
 background:#f7faf8;border:1px solid #d8e5dd;border-radius:14px;
 padding:13px 15px;margin:8px 0 11px;display:block;min-width:0;
}
.grammar-app #responses .grammar-structured-answer-label{
 display:block;font-size:14px;color:#285e49;font-weight:900;margin:0 0 10px;
}
.grammar-app #responses .grammar-structured-text-answer input{
 display:block;margin:4px 0!important;width:100%;max-width:100%;min-height:52px;
 font-size:18px;
}
/* One saved text value per ordered slot is maintained for the existing API. */
.grammar-app #responses .grammar-structured-answer-value{
 position:absolute!important;left:-9999px!important;width:1px!important;
 height:1px!important;padding:0!important;margin:0!important;
 border:0!important;opacity:0!important;
}
.grammar-app #responses .grammar-structured-answer-options{
 display:flex;gap:8px;flex-wrap:wrap;
}
.grammar-app #responses .grammar-structured-answer-options .grammar-answer-choice{
 font-size:17px;font-weight:850;min-width:62px;min-height:48px;
 padding:9px 15px;margin:0;border-radius:11px;
 background:#fff;color:#235941;border:2px solid #c9ded2;
 box-shadow:none;line-height:1.3;
}
.grammar-app #responses .grammar-structured-answer-options .grammar-answer-choice.is-selected{
 color:#fff;background:#174d3b;border-color:#174d3b;
 box-shadow:0 0 0 2px #b3d8c2;
}
.grammar-app #responses .grammar-structured-answer-options .grammar-answer-choice:focus-visible{
 outline:3px solid #91bbaa;outline-offset:3px;
}
@media(max-width:600px){
 .grammar-app .grammar-structured-instructions{padding:12px 13px;font-size:15px;line-height:1.65;}
 .grammar-app .grammar-structured-source{padding:13px 14px;}
 .grammar-app .grammar-subquestion-card{padding:12px;gap:9px;}
 .grammar-app .grammar-subquestion-letter{width:31px;height:31px;font-size:17px;border-radius:8px;}
 .grammar-app .grammar-subquestion-text{font-size:17px;}
 .grammar-app .grammar-structured-options{padding:12px;}
 .grammar-app #responses .grammar-structured-answer-row,
 .grammar-app #responses .grammar-structured-text-answer{padding:12px;}
 .grammar-app #responses .grammar-structured-answer-options .grammar-answer-choice{
  min-width:54px;min-height:46px;font-size:16px;padding:9px 11px;
 }
}
.grammar-app .grammar-two-slot-context{
 white-space:pre-wrap;overflow-wrap:anywhere;font-weight:750;color:#253b30;
 font-size:clamp(16px,1.7vw,20px);line-height:1.85;margin-top:7px;
}
.grammar-app .grammar-structured-directions{display:grid;gap:9px;margin:14px 0 18px;}
.grammar-app .grammar-structured-direction-item{
 display:flex;align-items:flex-start;gap:12px;padding:11px 14px;
 border:1px solid #d8e7dd;border-radius:11px;background:#f8fbf9;
 color:#315747;font-size:15px;font-weight:700;line-height:1.7;
}
.grammar-app .grammar-structured-direction-item>strong{
 border-radius:8px;background:#e1efe7;color:#165c40;min-width:28px;
 padding:1px 8px;text-align:center;font-size:15px;
}
.grammar-app .grammar-structured-writing-note{
 margin:14px 0 10px;padding:12px 14px;color:#445a4d;
 background:#f5f8fb;border:1px solid #dce7ef;border-radius:12px;
 font-size:14px;font-weight:650;line-height:1.65;
}

/* Soft, reliable directions for otherwise unstructured questions. */
.grammar-app .grammar-general-guide{
 margin:5px 0 18px;padding:11px 14px;border-radius:12px;
 background:#f1f8f4;border:1px solid #d8eadf;color:#34624b;
 font-size:clamp(14px,1.3vw,17px);font-weight:750;line-height:1.65;
}
@media(max-width:600px){.grammar-app .grammar-general-guide{padding:10px 11px;font-size:14px;}}

/* Grammar TRY · one answer per passage step and clear multiword answer slots */
.grammar-app .grammar-sequence-guide{margin:13px 0;padding:13px 15px;border:1px solid #a9d3bf;border-radius:12px;background:#eef9f3;color:#175642;font-size:clamp(15px,2vw,17px);font-weight:800;line-height:1.6}
.grammar-app .grammar-sequence-steps{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 10px;color:#164f3b;font-size:15px}
.grammar-app .grammar-sequence-dots{display:flex;gap:7px;flex-wrap:wrap}
.grammar-app .grammar-sequence-dot{display:grid;place-items:center;width:30px;height:30px;background:#f3f6f4;border:1px solid #d5e1da;border-radius:50%;color:#66796e;font-weight:800;font-size:13px}
.grammar-app .grammar-sequence-dot.is-current{background:#16523b;color:white;border-color:#16523b;box-shadow:0 0 0 3px #d7efe4}
.grammar-app .grammar-sequence-dot.is-previous{background:#dcece3;color:#175a41}
.grammar-app .grammar-sequence-passage{font-size:clamp(18px,2.6vw,24px)!important;line-height:2.2!important;overflow-wrap:anywhere;white-space:normal!important;margin:14px 0 12px}
.grammar-app .grammar-sequence-blank{color:#657a6d;white-space:nowrap;font-weight:800;letter-spacing:.03em}
.grammar-app .grammar-sequence-blank.is-current{background:#fff0b9;color:#174f3b;border:2px solid #dea53c;border-radius:8px;padding:3px 5px}
.grammar-app .grammar-wordparts-card{margin:10px 0;padding:16px;border-radius:15px;border:1px solid #cce2d5;background:#f5faf7;max-width:760px}
.grammar-app .grammar-wordparts-card>strong{display:block;color:#20583f;font-size:15px;line-height:1.4;margin-bottom:11px}
.grammar-app .grammar-wordparts-row{display:flex;flex-wrap:wrap;gap:10px}
.grammar-app .grammar-wordpart-box{display:flex!important;flex:1 1 145px;flex-direction:column!important;align-items:stretch!important;gap:5px!important;min-width:125px!important;max-width:100%;background:transparent!important;border:0!important;padding:0!important;margin:0!important;cursor:auto!important;color:#4f685c;font-weight:700;font-size:13px}
.grammar-app .grammar-wordpart-box input.grammar-wordpart-input{height:53px;min-height:53px;width:100%;max-width:100%;background:#fff;font-size:20px;margin:0}
@media(max-width:600px){.grammar-app .grammar-sequence-passage{font-size:18px!important;line-height:2.3!important}.grammar-app .grammar-wordparts-card{padding:12px}.grammar-app .grammar-wordpart-box{flex-basis:105px;min-width:105px!important}}

/* 2026-10-13 · Grammar teacher wrong-answer classroom: presentation navigation matches Speech TRY */
.grammar-app .grammar-teacher-class-board{margin:18px 0 22px;padding:20px;border:1px solid #cde1d4;border-radius:18px;background:#f7fbf8;box-shadow:0 8px 25px rgba(23,77,59,.035)}
.grammar-app .grammar-teacher-class-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.grammar-app .grammar-teacher-class-header h3,.grammar-app .grammar-teacher-student-panel h3{font-size:19px;color:#174d3b;margin:0 0 7px}
.grammar-app .grammar-teacher-class-header p{font-size:13px;color:#627567;line-height:1.55;margin:0}
.grammar-app .grammar-teacher-class-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grammar-app .grammar-teacher-class-actions button,.grammar-app .grammar-teacher-student-panel button{margin:0;padding:10px 15px;min-height:44px;font-size:13px}
.grammar-app .grammar-teacher-class-actions .grammar-teacher-class-ppt,.grammar-app .grammar-teacher-student-panel .grammar-teacher-student-ppt{background:#174d3b;color:#fff;border-color:#174d3b}
.grammar-app #grammar-teacher-class-status{font-size:13px;line-height:1.6;margin:15px 0 10px;color:#315b43;font-weight:750}
.grammar-app .grammar-teacher-class-chooser{display:flex;align-items:center;gap:10px;margin:14px 0 7px;font-size:13px;font-weight:800;color:#174d3b}
.grammar-app .grammar-teacher-class-chooser select{min-height:44px;max-width:100%;margin:0}
.grammar-app .grammar-teacher-class-list{display:grid;gap:9px;max-height:min(48vh,520px);overflow-y:auto}
.grammar-app .grammar-teacher-question-row{background:#fff;border:1px solid #dbe7de;border-radius:13px;padding:13px 14px}
.grammar-app .grammar-teacher-question-meta{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:13px}
.grammar-app .grammar-teacher-question-meta strong{color:#174d3b;font-weight:900}
.grammar-app .grammar-teacher-question-meta span{color:#567263;font-size:12px}
.grammar-app .grammar-teacher-question-text{margin:10px 0;line-height:1.55;white-space:pre-line;color:#273d32;max-height:88px;overflow:hidden;overflow-wrap:anywhere}
.grammar-app .grammar-teacher-question-actions{display:flex;gap:7px;flex-wrap:wrap}
.grammar-app .grammar-teacher-question-actions button{min-height:36px;margin:0;padding:6px 12px;font-size:12px}
.grammar-app .grammar-teacher-student-mini-list{border-top:1px solid #e1eae4;margin-top:11px;padding-top:10px;display:grid;gap:6px}
.grammar-app .grammar-teacher-student-mini-list[hidden]{display:none!important}
.grammar-app .grammar-teacher-student-mini-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#516b5c;padding:4px 3px}
.grammar-app .grammar-teacher-student-mini-row strong{color:#174d3b}
.grammar-app .grammar-teacher-student-panel{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:18px 0 8px;padding-top:14px;border-top:1px solid #dfe8e3}
.grammar-app .grammar-teacher-student-panel h3{margin:0}
.grammar-app .grammar-ppt-answer-grid-teacher{grid-template-columns:minmax(0,1fr)}
.grammar-app .grammar-ppt-student-rows{display:grid;gap:8px;width:100%;margin-top:10px}
.grammar-app .grammar-ppt-student-row{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 13px;background:#fff;border:1px solid #dce7de;border-radius:11px}
.grammar-app .grammar-ppt-student-answer{font-size:15px;font-weight:750;white-space:pre-wrap;overflow-wrap:anywhere}
.grammar-app .grammar-ppt-student-state{font-size:11px;color:#637b6a;font-weight:750}
.grammar-app .grammar-ppt-name-box{display:flex;flex-wrap:wrap;align-items:center}
.grammar-app .grammar-ppt-pagination .grammar-ppt-reveal{background:#f2faf4;color:#176340;border:1px solid #a8d2b8}
.grammar-app .grammar-ppt-pagination .grammar-ppt-exit{border-color:#dcdfe0;background:#fff;color:#445749}
.grammar-app .grammar-ppt-pagination{flex-wrap:wrap}
.grammar-app .grammar-ppt-pagination button{white-space:nowrap}
@media(max-width:650px){
 .grammar-app .grammar-teacher-class-board{padding:12px;margin:12px 0}
 .grammar-app .grammar-teacher-class-actions,.grammar-app .grammar-teacher-class-actions button{width:100%}
 .grammar-app .grammar-ppt-pagination button{flex:1 1 calc(50% - 8px);font-size:12px;padding:9px 5px;min-width:0}
 .grammar-app .grammar-ppt-student-row{grid-template-columns:1fr;gap:3px}
 .grammar-app .grammar-ppt-footer{gap:8px}
}


/* Grammar TRY teacher dashboard · Speech TRY classroom UI parity (2026-10-13).
   All styles are scoped to the teacher screen or classroom PPT. Student TRY unchanged. */
.grammar-app #teacher{max-width:1210px;margin:0 auto;padding:8px 0 65px}
.grammar-app #teacher>h2{font-size:clamp(25px,2.9vw,33px);font-weight:900;letter-spacing:-.03em;margin:9px 0;color:#154d3b}
.grammar-app .grammar-teacher-intro{color:#70869a;font-size:14px;line-height:1.65;margin:0 0 13px}
.grammar-app .grammar-teacher-backlink{display:inline-block;margin:0 0 17px;font-size:13px;font-weight:800;color:#124c59;text-decoration:underline;text-underline-offset:4px}
.grammar-app .grammar-teacher-class-board{background:#f7f9fc!important;border:1px solid #d7e3ee!important;border-radius:20px!important;padding:clamp(14px,1.8vw,22px)!important;margin:0 0 25px!important;box-shadow:none!important}
.grammar-app .grammar-teacher-filterbar{display:flex;align-items:center;gap:10px 13px;flex-wrap:wrap;margin-bottom:16px}
.grammar-app .grammar-teacher-filterbar label{display:inline-flex!important;align-items:center;gap:8px!important;margin:0!important;font-size:14px!important;font-weight:900!important;color:#21414d!important}
.grammar-app .grammar-teacher-filterbar select,.grammar-app .grammar-teacher-filterbar input[type=date]{min-height:46px;margin:0;min-width:148px;border:1px solid #c4d8d0;border-radius:13px;background:#fff;font-size:14px;font-weight:750;color:#193a35;padding:9px 12px}
.grammar-app .grammar-teacher-filterbar .grammar-teacher-search{margin:0;min-height:46px;background:#008762;color:#fff;border-color:#008762;border-radius:12px;padding:10px 20px;font-weight:900}
.grammar-app .grammar-teacher-filterbar .grammar-teacher-search:hover:not(:disabled){background:#057456;color:#fff}
.grammar-app .grammar-teacher-tabbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px}
.grammar-app .grammar-teacher-tabs{display:flex;flex-wrap:wrap;gap:8px}
.grammar-app .grammar-teacher-tabs .grammar-teacher-tab{min-height:44px;min-width:132px;border:1px solid #c8d8e5;background:#fff;color:#213e58;border-radius:12px;padding:9px 18px;font-size:14px;font-weight:900;margin:0}
.grammar-app .grammar-teacher-tabs .grammar-teacher-tab.is-active{background:#18355a;color:#fff;border-color:#18355a}
.grammar-app #grammar-teacher-class-ppt{min-height:44px;padding:10px 18px;margin:0;color:#fff;background:#174d3b;border-color:#174d3b;border-radius:13px;font-size:14px;font-weight:900}
.grammar-app #grammar-teacher-class-ppt:disabled{background:#c4d0dc;color:#f5f8fb;border-color:#c4d0dc;opacity:1}
.grammar-app .grammar-teacher-stagebar{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.grammar-app .grammar-teacher-stagebar .grammar-teacher-stage{min-height:40px;padding:8px 14px;margin:0;border:1px solid #cbdced;color:#264560;background:#fff;border-radius:12px;font-size:13px;font-weight:900}
.grammar-app .grammar-teacher-stagebar .grammar-teacher-stage.is-active{color:#fff;background:#1a5278;border-color:#1a5278}
.grammar-app #grammar-teacher-class-status{margin:12px 0 15px;font-size:13px;font-weight:750;color:#667e95;line-height:1.5}
.grammar-app .grammar-teacher-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 15px}
.grammar-app .grammar-teacher-stat{background:white;border:1px solid #d9e5ed;padding:16px 14px;border-radius:14px;min-width:0;display:flex;flex-direction:column;gap:5px}
.grammar-app .grammar-teacher-stat strong{font-size:26px;font-weight:900;color:#174d3b;font-variant-numeric:tabular-nums}
.grammar-app .grammar-teacher-stat span{font-size:12px;font-weight:750;color:#73889b}
.grammar-app .grammar-teacher-panel-class[hidden],.grammar-app .grammar-teacher-panel-students[hidden],
.grammar-app .grammar-teacher-student-detail[hidden]{display:none!important}
.grammar-app .grammar-teacher-day-modules,.grammar-app .grammar-teacher-day-students{display:grid;gap:11px}
.grammar-app .grammar-teacher-module-card,.grammar-app .grammar-teacher-student-card{background:white;border:1px solid #d8e5ee;border-radius:16px;padding:16px 18px;min-width:0}
.grammar-app .grammar-teacher-module-heading,.grammar-app .grammar-teacher-student-header{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;align-items:center}
.grammar-app .grammar-teacher-module-heading .grammar-teacher-module-title{margin:0;color:#183d58;font-size:17px;font-weight:900;overflow-wrap:anywhere}
.grammar-app .grammar-teacher-module-heading>span,.grammar-app .grammar-teacher-student-header>span{font-size:12px;font-weight:800;color:#7c90a0}
.grammar-app .grammar-teacher-module-card>p{font-size:13px;color:#72879b;margin:13px 0 0}
.grammar-app .grammar-teacher-module-details{border-top:1px solid #e2e9ef;margin-top:11px;padding:6px 0 0}
.grammar-app .grammar-teacher-module-details>summary{font-size:13px;font-weight:900;color:#165779;list-style:revert;cursor:pointer}
.grammar-app .grammar-teacher-lesson-question{margin-top:10px;border:1px solid #dce6ed;border-radius:12px;padding:12px 14px;background:#fbfdfe;display:grid;grid-template-columns:1fr auto;gap:3px 13px}
.grammar-app .grammar-teacher-lesson-question>strong{font-size:13px;color:#1a4e6c}
.grammar-app .grammar-teacher-lesson-question>p{grid-column:1;white-space:pre-line;margin:0;font-size:13px;color:#4d6370;max-height:58px;overflow:hidden}
.grammar-app .grammar-teacher-lesson-question>button{grid-column:2;grid-row:1/span 2;margin:auto 0;min-height:36px;padding:7px 13px;font-size:12px;font-weight:900}
.grammar-app .grammar-teacher-student-header>strong{font-size:17px;color:#174d3b}
.grammar-app .grammar-teacher-student-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
.grammar-app .grammar-teacher-student-actions>button{margin:0;min-height:40px;padding:8px 14px;font-size:13px}
.grammar-app .grammar-teacher-student-actions .grammar-teacher-daily-ppt{background:#174d3b;color:#fff;border-color:#174d3b}
.grammar-app .grammar-teacher-student-actions .grammar-teacher-daily-ppt:disabled{background:#eff3f5;color:#778c99;border-color:#d8e3e7}
.grammar-app .grammar-teacher-student-modules>summary{font-size:13px;font-weight:850;color:#507b83;cursor:pointer}
.grammar-app .grammar-teacher-student-modules ul{margin:3px 0 0;padding-left:21px;font-size:13px;line-height:1.75;color:#4c5e69}
.grammar-app .grammar-teacher-student-detail{margin:18px 0 0;padding:19px;border:1px solid #d1e2de;background:#fff;border-radius:16px}
.grammar-app .grammar-teacher-student-detail>h3{color:#174d3b;font-size:19px;margin:0 0 12px}
.grammar-app .grammar-teacher-student-detail>button{margin:0 0 13px;min-height:40px}
.grammar-app .grammar-teacher-student-detail>label{display:flex;align-items:center;gap:10px;margin:5px 0 14px}
.grammar-app .grammar-teacher-student-detail>label select{margin:0}
.grammar-app .grammar-teacher-student-detail #workbook{margin:14px 0}
/* Keep the existing Speech-style keys and names-hidden-by-default presentation mechanics.
   The class PPT must stay visible until the presenter explicitly exits. */
.grammar-app .grammar-ppt-overlay{background:#f8fbf9}
.grammar-app .grammar-ppt-slide-meta{background:#edf5ef;border-radius:12px;padding:9px 15px;justify-content:space-between}
.grammar-app .grammar-ppt-question{background:#fff;border:1px solid #e3ede6;border-radius:16px;box-shadow:none}
.grammar-app .grammar-ppt-top-actions .grammar-ppt-close{background:#fff}
@media(max-width:760px){
 .grammar-app .grammar-teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grammar-app .grammar-teacher-tabbar{align-items:stretch}
 .grammar-app .grammar-teacher-filterbar label{flex:1 1 170px}
 .grammar-app .grammar-teacher-filterbar select,.grammar-app .grammar-teacher-filterbar input[type=date]{width:100%;min-width:0}
 .grammar-app .grammar-teacher-filterbar .grammar-teacher-search{flex:1 1 100%}
 .grammar-app .grammar-teacher-tabs{flex:1}
 .grammar-app .grammar-teacher-tabs .grammar-teacher-tab{flex:1 1 135px;min-width:0}
 .grammar-app #grammar-teacher-class-ppt{width:100%}
 .grammar-app .grammar-teacher-lesson-question{grid-template-columns:1fr}
 .grammar-app .grammar-teacher-lesson-question>button{grid-row:auto;grid-column:1;justify-self:start}
}


/* Practiced students: names only, no extra statistics or navigation. */
.grammar-app button.grammar-teacher-stat-names{
  margin:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;
  background:#fff;border:1px solid #b9d7c7;color:#174d3b;cursor:pointer;
  font:inherit;border-radius:14px;padding:16px 14px;box-shadow:none;
}
.grammar-app button.grammar-teacher-stat-names:hover:not(:disabled){
  border-color:#47866d;background:#f4faf6;
}
.grammar-app button.grammar-teacher-stat-names:focus-visible{
  outline:3px solid #9abdab;outline-offset:2px;
}
.grammar-app .grammar-teacher-practiced-names{
  position:fixed;border:1px solid #d5e5da;border-radius:19px;padding:22px;
  width:min(calc(100vw - 32px),380px);max-height:min(80vh,560px);overflow:auto;
  color:#243b2e;background:#fff;box-shadow:0 20px 60px rgba(19,52,37,.2);
}
.grammar-app .grammar-teacher-practiced-names::backdrop{background:rgba(16,38,27,.42)}
.grammar-app .grammar-practiced-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 13px}
.grammar-app .grammar-practiced-header h3{font-size:19px;color:#174d3b;margin:0;font-weight:900}
.grammar-app .grammar-practiced-header button{margin:0;min-height:35px;padding:7px 12px;border-radius:10px;font-size:12px}
.grammar-app .grammar-practiced-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.grammar-app .grammar-practiced-list li{border:1px solid #e0eae3;background:#f7faf8;border-radius:10px;padding:11px 13px;font-size:16px;font-weight:750}

/* HG1 audit 2026-10-14: show original fixed examples without changing answer slots. */
.grammar-app .grammar-hg1-audit-card{display:grid;gap:10px;padding:15px 17px;margin:13px 0;background:#f8fbf8;border:1px solid #d3e5d9;border-radius:15px}
.grammar-app .grammar-hg1-audit-caption{font-size:13px;font-weight:900;color:#547663;margin-bottom:2px}
.grammar-app .grammar-hg1-audit-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px;padding:10px 12px;background:#fff;border:1px solid #e0ebe4;border-radius:10px;font-size:clamp(16px,1.9vw,21px)}
.grammar-app .grammar-hg1-audit-key{color:#496657;min-width:76px}
.grammar-app .grammar-hg1-audit-complete{color:#1e674c;font-weight:900;background:#e9f6e8;padding:3px 10px;border-radius:9px}
.grammar-app .grammar-hg1-audit-empty{color:#174d3b;font-weight:800}
@media(max-width:480px){.grammar-app .grammar-hg1-audit-card{padding:12px}.grammar-app .grammar-hg1-audit-line{font-size:16px}.grammar-app .grammar-hg1-audit-key{min-width:54px}}

/* HG2 2026-10-14 QA: guide and image reload states only; HG1 and student/teacher UI untouched. */
.grammar-app .grammar-hg2-reviewed-instruction{background:#edf5fa;border:1px solid #bed9e8;color:#234961;border-radius:12px;padding:14px 17px;line-height:1.65;font-weight:750;overflow-wrap:anywhere}
.grammar-app .grammar-media-error{width:min(100%,520px);margin:16px auto 0;padding:13px 16px;border-radius:12px;border:1px solid #efd4a9;background:#fff8eb;color:#704b1d;text-align:center}
.grammar-app .grammar-media-error[hidden]{display:none!important}
.grammar-app .grammar-media-error p{margin:0 0 8px;font-size:14px;line-height:1.5}
.grammar-app .grammar-media-error button{background:#fff;color:#174d3b;border:1px solid #c7dacd;border-radius:9px;font-size:13px;min-height:39px;padding:8px 13px;margin:0;font-weight:800}

/* HG1 Unit 1 Lesson 1 Q34: two separately labeled answer inputs. */
.grammar-app #responses .grammar-hg1-dual-answer{max-width:min(100%,760px)}
.grammar-app #responses .grammar-hg1-dual-answer input{width:100%;max-width:100%}

/* Student ID entry shares the Grammar TRY card and input styles. */
.grammar-student-entry{background:#fff;border:1px solid var(--line,#dfe8e3);border-radius:18px;padding:28px;max-width:520px;margin:24px 0;box-shadow:var(--shadow,0 10px 28px #174d3b12)}
.grammar-student-entry h2{font-size:24px;font-weight:900;color:#174d3b;margin:0 0 20px}
.grammar-id-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.grammar-id-form label{flex:1 1 100%;font-size:14px;font-weight:900}
.grammar-id-form input{flex:1 1 210px;min-width:0;margin:0;min-height:46px}
.grammar-id-form button,.grammar-id-confirmation button{margin:0;min-height:46px}
.grammar-student-entry button.primary{background:#174d3b;color:#fff;border-color:#174d3b;font-weight:900}
.grammar-id-name{font-size:22px;font-weight:900;line-height:1.5;color:#174d3b;padding:16px;background:#eef5f1;border-radius:12px;overflow-wrap:anywhere}
.grammar-id-confirmation button{margin:4px 8px 4px 0}
@media(max-width:600px){.grammar-student-entry{padding:20px}.grammar-id-form button{width:100%}}

/* Center student entry like Phonics TRY. */
.grammar-app #login:has(.grammar-student-entry){background:transparent;border:0;padding:0}
.grammar-app .grammar-student-entry{max-width:none;width:100%;margin:24px auto;padding:clamp(28px,4vw,48px);text-align:center}
.grammar-app .grammar-student-entry h2,.grammar-app .grammar-id-form label{text-align:center}
.grammar-app .grammar-id-form,.grammar-app .grammar-id-confirmation{max-width:620px;margin:0 auto;justify-content:center;text-align:center}
