.teacher-surface{max-width:1060px;margin:28px auto;padding:0 42px 38px;border:1px solid var(--tl-hair);border-radius:var(--tl-radius-surface,28px);background:var(--tl-paper);box-shadow:0 18px 70px rgba(17,38,49,.1);backdrop-filter:blur(var(--tl-blur,16px))}.product-head{display:flex;align-items:center;gap:18px;min-height:88px;border-bottom:1px solid var(--tl-hair)}.brand{display:flex;align-items:baseline;gap:16px}.brand b{font:italic 29px var(--tl-font-jp,serif)}.brand span{font-size:13px;color:var(--tl-ink-soft)}#back{display:grid;place-items:center;width:44px;height:44px;color:inherit;text-decoration:none;border:1px solid var(--tl-hair);border-radius:50%}.settings{margin-left:auto;width:44px;height:44px;position:relative;display:grid;place-items:center;border:1px solid var(--tl-hair);border-radius:50%}.settings select{position:absolute;inset:0;opacity:0;width:44px;height:44px;cursor:pointer}.settings:focus-within{outline:2px solid var(--tl-seal);outline-offset:3px}#journey{display:flex;gap:8px;padding:22px 0 8px;overflow:auto}#journey button{flex:1;min-width:74px;min-height:44px;background:none;border:0;border-bottom:2px solid var(--tl-hair);color:var(--tl-ink-soft);font-size:13px;white-space:nowrap}#journey button[aria-current=step]{color:var(--tl-seal);border-color:var(--tl-seal);font-weight:700}#journey button:disabled{opacity:.55}#notice{min-height:1.6em;margin-block:6px 0;color:var(--tl-ink-soft)}#notice:empty{min-height:0;margin:0}#notice.error{border-left:3px solid var(--tl-seal);padding:10px 15px;color:var(--tl-ink)}#screen{padding-top:28px}h1{font:600 clamp(31px,3.8vw,45px)/1.18 var(--tl-font-jp,serif);margin:8px 0 20px;letter-spacing:-.035em;max-width:760px}h2{font:600 25px/1.35 var(--tl-font-jp,serif);margin:12px 0}p{margin:10px 0}.eyebrow{color:var(--tl-seal);font:600 12px/1.5 var(--tl-font-mono,monospace);letter-spacing:.1em;text-transform:uppercase}.lead{font-size:19px;max-width:700px}.muted{color:var(--tl-ink-soft);font-size:15px}.module-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;margin-top:26px}.lesson-route{display:grid;gap:0;border-top:1px solid var(--tl-hair)}.lesson-choice{display:flex;gap:14px;align-items:center;text-align:left;min-height:70px;padding:14px 5px;background:none;border:0;border-bottom:1px solid var(--tl-hair);color:var(--tl-ink);cursor:pointer}.lesson-choice .order{font:18px var(--tl-font-mono,monospace);color:var(--tl-ink-soft);min-width:30px}.lesson-choice[aria-pressed=true]{box-shadow:inset 3px 0 var(--tl-seal);padding-left:15px}.lesson-choice[aria-pressed=true] .order{color:var(--tl-seal)}.goal-panel{padding:12px 0 18px}.goal-panel p{line-height:1.75}.meta-line{display:flex;gap:15px;flex-wrap:wrap;color:var(--tl-ink-soft);font-size:14px;margin:18px 0}.primary-action{min-height:50px;padding:12px 22px;font:700 16px var(--tl-font-ui);line-height:1.4}.secondary-action{min-height:44px;font-size:15px;padding:10px 16px}.action-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}.text-action{border:0;background:none;padding:8px 0;min-height:44px;color:var(--tl-ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.class-form{max-width:570px;margin-top:28px}.class-form label{display:block;font-weight:700;margin:20px 0 9px}.class-form input,.class-form select{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--tl-hair);border-radius:12px;background:var(--tl-paper-soft);color:var(--tl-ink);font:inherit}.class-form input:focus{outline:2px solid var(--tl-seal);outline-offset:2px}.confirmation{border-left:3px solid var(--tl-seal);padding-left:18px;margin:22px 0}.phase-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0 18px}.phase-nav button{min-height:52px;border:1px solid var(--tl-hair);background:transparent;color:var(--tl-ink);border-radius:12px;font:inherit;cursor:pointer}.phase-nav button[aria-pressed=true]{border-color:var(--tl-seal);background:var(--tl-paper-soft)}.phase-nav small{display:block;font-size:12px;color:var(--tl-ink-soft)}.phase-panel{padding:18px 0;min-height:130px;border-top:1px solid var(--tl-hair);border-bottom:1px solid var(--tl-hair)}.phase-panel p{font-size:20px;line-height:1.6;max-width:770px}details{margin:24px 0;border-block:1px solid var(--tl-hair);padding:8px 0}summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}.question-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.question-tabs button{min-height:44px;border:1px solid var(--tl-hair);border-radius:12px;padding:8px 14px;background:none;color:inherit}.question-tabs button[aria-pressed=true]{border-color:var(--tl-seal)}.jp{font:22px/1.8 var(--tl-font-jp,serif)}.evidence-row{padding:14px 0;border-top:1px solid var(--tl-hair)}.answer-basis{border-left:3px solid var(--tl-seal);padding-left:16px;margin:20px 0}.invite-code{font:600 clamp(28px,6vw,45px)/1.6 var(--tl-font-mono,monospace);letter-spacing:.16em;margin:20px 0;overflow-wrap:anywhere}.class-facts{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0;padding:18px 0;border-block:1px solid var(--tl-hair)}.class-facts strong{display:block;font-size:23px}.class-facts span{font-size:14px;color:var(--tl-ink-soft)}.work-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--tl-hair)}.work-row p{margin:3px 0}.cv2-attempt,.cv2-student-results{padding:18px 0;border-top:1px solid var(--tl-hair)}.cv2-feedback{border-left:3px solid var(--tl-seal);padding-left:16px;margin:18px 0}.cv2-feedback p{margin:8px 0}.review-body>#v2QuizStatus:empty{display:none}.review-body #v2QuizRefresh{display:none}.review-body #v2QuizResults>h4{display:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--tl-seal);outline-offset:3px}button:disabled{cursor:wait;opacity:.55}@media(max-width:760px){.teacher-surface{margin:0;min-height:100vh;padding:0 20px 28px;border-radius:0;border:0}.product-head{min-height:72px;gap:12px}.brand{display:block}.brand b{font-size:26px}.brand span{display:block;font-size:11px}.module-grid{display:block;margin-top:18px}.goal-panel{padding-top:24px}.lesson-choice{min-height:58px;font-size:15px}#journey{gap:5px;padding-top:14px}#journey button{font-size:12px;min-width:61px}#screen{padding-top:20px}h1{font-size:32px}.lead{font-size:17px}.phase-nav{gap:5px}.phase-nav button{font-size:14px}.phase-panel p{font-size:18px}.action-row>.primary-action{width:100%}.work-row{display:block}.work-row .secondary-action{margin-top:10px}.invite-code{letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.module-grid .lesson-route{display:contents}.module-grid .lesson-choice{grid-column:1;width:100%}.module-grid .goal-panel{grid-column:2;grid-row:1 / span 6}#journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}#journey button{min-width:0;white-space:normal}.module-start{margin-top:22px}@media(max-width:760px){#journey{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 8px}#journey button{min-height:44px}.module-grid .lesson-route{display:block}.goal-panel{padding:12px 14px 24px;border-left:3px solid var(--tl-seal);margin-bottom:10px}.goal-panel h2{display:none}.goal-panel p{font-size:16px;line-height:1.65}.goal-panel .meta-line{margin:12px 0}.goal-panel .muted{font-size:14px}.goal-panel .action-row{margin-top:18px}}

.review-body .cv2-student-results>h5{display:none}

.review-body>h4{display:none}

.choice-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.choice-comparison section{padding:14px 0;border-block:1px solid var(--tl-hair)}@media(max-width:760px){.choice-comparison{grid-template-columns:1fr;gap:14px}}
.choice-comparison.single{grid-template-columns:1fr}

/* Shared standalone page foundation. Both classroom entry points load this sheet. */
:root{color-scheme:light;background:#dfe8e8}
html[data-mode="dark"]{color-scheme:dark;background:#071521}
*,*::before,*::after{box-sizing:border-box}
html{min-height:100%;font-family:var(--tl-font-ui);font-size:clamp(16px,.35vw + 11px,21px)}
body{min-height:100vh;margin:0;color:var(--tl-ink);background:radial-gradient(88% 44rem at 14% -10%,color-mix(in srgb,var(--tl-subject-japanese) 18%,transparent),transparent 68%),radial-gradient(68% 32rem at 92% 4%,color-mix(in srgb,var(--tl-focus) 15%,transparent),transparent 72%),linear-gradient(160deg,#e9efeb 0%,#d9e5e4 48%,#d7dadd 100%);font:400 17px/1.65 var(--tl-font-ui)}
html[data-mode="dark"] body{background:radial-gradient(88% 44rem at 14% -10%,rgba(232,137,119,.19),transparent 68%),radial-gradient(68% 32rem at 92% 4%,rgba(120,201,219,.15),transparent 72%),linear-gradient(160deg,#071521 0%,#0b1a2a 48%,#111823 100%)}
a{color:inherit}
button,input,select{font:inherit}
.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tl-control-primary);padding:12px 22px;border:1px solid var(--tl-seal);border-radius:var(--tl-radius-control);background:var(--tl-seal);box-shadow:0 8px 20px color-mix(in srgb,var(--tl-seal) 24%,transparent);color:#fff;text-decoration:none;cursor:pointer}
.primary-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--tl-seal) 82%,#000);background:color-mix(in srgb,var(--tl-seal) 82%,#000);color:#fff}
html[data-mode="dark"] .primary-action,html[data-mode="dark"] .primary-action:hover:not(:disabled){color:#172833}
.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tl-control-min);border:1px solid var(--tl-hair);border-radius:var(--tl-radius-control);background:var(--tl-glass);color:var(--tl-ink);text-decoration:none;cursor:pointer}
.secondary-action:hover:not(:disabled),.lesson-choice:hover:not(:disabled),.class-switcher button:hover:not(:disabled),.phase-nav button:hover:not(:disabled),.question-tabs button:hover:not(:disabled){background:var(--tl-wash)}
.primary-action:focus-visible,.secondary-action:focus-visible{outline:3px solid var(--tl-focus);outline-offset:3px}
