[hidden]{display:none!important}
:root{--ink:#173f50;--accent:#1c5662;--paper:#f3f7f8;--border:#b8cdd4}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}body.student,body.television{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 system-ui,-apple-system,'Noto Sans JP',sans-serif}.student main{max-width:1000px;margin:24px auto;padding:24px}h1,h2,h3{line-height:1.35}button{border:1px solid var(--border);border-radius:10px;background:white;padding:10px 18px;color:var(--ink)}button.primary,.chosen{background:var(--accent);color:white}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3aa3b7;outline-offset:3px}input,textarea,select{padding:10px;border:1px solid var(--border);border-radius:8px;max-width:100%}textarea{width:100%;resize:vertical}label{display:block;margin:12px 0}label input:not([type=radio]):not([type=checkbox]),label select{display:block;width:100%}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row>label{flex:1;min-width:110px}.muted{color:#526c78}.status{min-height:1.5em;color:#9b2434;white-space:pre-wrap}.box{background:white;border:1px solid var(--border);border-radius:14px;padding:20px;margin:16px 0}.schoolPanel{margin:24px 0;background:#eef6f7;padding:20px;border-radius:14px}.schoolPanel h2{margin-top:0}.teacherGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}#teacherDialog{max-width:800px;width:95vw}#teacherDialog form{padding:10px;background:#f7fafb;border-radius:10px}#teacherDialog input{width:100%}.recoveryCode{font:18px ui-monospace,monospace;overflow-wrap:anywhere;padding:16px;background:#fff4c9}.surveyTable{width:100%;border-collapse:collapse}.surveyTable th,.surveyTable td{padding:10px;border-bottom:1px solid var(--border);text-align:left}.surveyDetail[hidden],.schoolPanel[hidden]{display:none}.voiceReview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.voiceReview article{padding:16px;background:white;border:1px solid var(--border);border-left:6px solid #3b8c6e;border-radius:10px;white-space:pre-wrap}.voiceReview article.improve{border-left-color:#c88239}.voiceReview article.hiddenVoice{opacity:.6}.surveyQR svg{width:min(100%,300px);height:auto}.newChart{display:grid;grid-template-columns:minmax(260px,1fr) 1fr;align-items:center;gap:24px}.newChart svg{width:100%;max-height:650px}.newScores p{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:12px;font-size:20px}.newScores strong{font-size:36px}.newScores small{font-size:16px;width:100%}.newScores b{flex:1}.answers fieldset{border:1px solid var(--border);border-radius:12px;background:white;margin:18px 0;padding:20px}.answers legend{font-weight:bold}.scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.scale label{margin:0;border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;gap:8px;align-items:center;cursor:pointer}.scale label:has(input:checked){background:#dff0ec;border-color:#1c5662}.scale input{width:22px;height:22px}.scale span{line-height:1.4}.scale b{display:block;font-size:25px}.groupGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.groupGrid button{font-size:28px}.timerBar{position:sticky;top:0;z-index:3;background:var(--ink);color:white;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.timerBar strong{font-size:32px}.cardVoice{font-size:23px;white-space:pre-wrap;border-left:8px solid #3b8c6e}.cardVoice.improve{border-color:#c88239}.board{position:relative;min-height:650px;background:#e9f2f5;border:2px dashed #9aafb6;overflow:hidden}.boardCard{position:absolute;width:30%;min-width:150px;padding:14px;border:2px solid #3b8c6e;border-radius:12px;background:#fff;white-space:pre-wrap;touch-action:none;user-select:none;cursor:grab;font-size:18px;overflow-wrap:anywhere}.boardCard.improve{border-color:#c88239}.progressGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.progressGrid button{text-align:left}.progressGrid b{display:block;font-size:22px}.proposal{padding:16px;border:1px solid var(--border);background:white;border-radius:12px;white-space:pre-wrap;margin:12px 0}.proposal.best{border:3px solid #d49825}.proposal.adopted{background:#e1f0e5}.television main{padding:3vh 3vw;max-width:none}.television h1{font-size:clamp(34px,3vw,66px)}.television .timerBar strong{font-size:clamp(54px,7vw,120px)}.tvLayout{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center}.television .surveyQR svg{width:100%;max-height:65vh}.television .newScores p{font-size:clamp(25px,2.3vw,48px);padding:1vh}.television .newScores strong{font-size:clamp(42px,4vw,78px)}.television .proposal{font-size:clamp(25px,2.8vw,54px)}.tvIdeas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.tvIdeas h2{font-size:clamp(24px,2vw,42px)}.printArea{display:none}.bestMark{color:#97620c;font-weight:bold}.compareControls{display:flex;gap:12px;align-items:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.teacherGrid,.newChart,.tvLayout{grid-template-columns:1fr}.scale{grid-template-columns:1fr 1fr}.student main{padding:12px}.boardCard{width:45%;font-size:16px}.surveyTable{font-size:14px}.surveyTable td{padding:5px}.newScores p{font-size:18px}.television .newChart{grid-template-columns:1fr 1fr}}@media print{body.print-school>*{display:none!important}body.print-school>.printArea{display:block!important;color:#111}body.print-school .printArea .newChart{display:grid;grid-template-columns:1fr 1fr}body.print-school .proposal{break-inside:avoid}.printArea h1{font-size:25px}.printArea .newScores p{font-size:14px;padding:4px}.printArea .newScores strong{font-size:23px}.printArea svg{max-height:340px}.printArea .proposal{font-size:16px;padding:10px}.printArea .noPrint{display:none}.printArea .printDate{font-size:14px}}

.television h1{margin:.4em 0;font-size:clamp(28px,2.4vw,52px)}.television main{padding:1.5vh 3vw}.television .status:empty{min-height:0;margin:0}.television .newChart svg{max-height:calc(100dvh - 310px)}.television .newScores p{margin:.5vh 0;padding:.7vh;font-size:clamp(24px,2.2vw,45px)}.television .newScores strong{font-size:clamp(36px,3.5vw,68px)}
.schoolTabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;border-bottom:2px solid #b8cdd4;padding-bottom:12px}.schoolTabs button[aria-selected=true]{background:#1c5662;color:white;border-color:#1c5662;font-weight:bold}.schoolPanel{font-size:18px}.schoolTabs button{min-height:48px}.schoolSignedIn #schoolLegacyContent{display:none}.schoolSignedIn.schoolLegacy #schoolLegacyContent{display:block}.schoolSignedIn:not(.schoolLegacy) header .tools button:not(#teacherEntry){display:none}.axisLayout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:24px;align-items:start}.axisLayout .newChart{grid-template-columns:1fr;gap:0}.axisLayout .newScores{display:flex;flex-wrap:wrap;gap:6px}.axisLayout .newScores p{flex:1;min-width:105px;font-size:16px;padding:8px;margin:0}.axisLayout .newScores strong{font-size:24px}.axisChoices{grid-template-columns:1fr}.axisChoices button{text-align:left;font-size:24px}.axisChoices small{display:block;font-size:18px}.boardTools,.cardOptions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.boardTools label{margin:0}.boardTools button[aria-pressed=true]{background:#1c5662;color:white}.cardOptions{padding:10px;background:white;margin:10px 0;border-radius:12px}.cardOptions [data-color]{width:42px;height:42px;padding:0;border:2px solid #526c78}.board .inkLayer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.board{height:650px;touch-action:none}.boardCard{z-index:1;max-height:80%;overflow:auto;border-color:#526c78;box-shadow:0 4px 10px #173f5015}.boardCard.selectedCard{outline:4px solid #1c5662;outline-offset:2px}.board.drawing{cursor:crosshair}.board.drawing .boardCard{pointer-events:none}.teacherBoard{height:450px;min-height:450px}.teacherBoard .boardCard{font-size:16px}.student main{max-width:1200px}@media(max-width:800px){.axisLayout{grid-template-columns:1fr}.axisChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.schoolPanel{padding:12px}.schoolTabs{gap:5px}.schoolTabs button{flex:1 1 40%;padding:8px;font-size:16px}.boardTools button{padding:8px;font-size:16px}}
.resultChart{background:white;padding:16px;border:1px solid #dce6ea;border-radius:14px;color:#173f50}.chartLegend{display:flex;justify-content:flex-end;gap:16px;font-size:16px}.chartLegend span:first-child{color:#d12743}.chartLegend span:last-child{color:#315f91}.resultRadar{width:100%;min-width:0}.resultRadar svg{width:100%;height:100%;display:block}.resultChart .newChart{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}.resultChart .newScores{display:flex;flex-direction:column;gap:12px;min-width:0}.resultScore{display:flex;align-items:center;gap:14px;padding:13px 16px;border-left:5px solid #406a79;background:#f1f6f8;border-radius:7px}.resultNumber{font-size:22px;font-weight:800;color:#406a79}.resultCopy{flex:1;min-width:0}.resultCopy b{display:block;font-size:16px;color:#466d7b;margin-bottom:4px}.resultCopy>span{font-size:clamp(20px,1.7vw,30px);font-weight:800;line-height:1.5;display:block}.resultValue{text-align:right;flex-shrink:0}.resultValue strong{font-size:clamp(32px,3vw,48px);line-height:1.2;display:block}.resultValue small{font-size:13px;color:#385e70;display:block}.chartFootnote{font-size:12px;text-align:right;color:#778b94}.resultControls{margin:12px 0}.resultControls [aria-pressed=true]{background:#1c5662;color:white}.resultTen .resultCopy>span{font-size:clamp(18px,1.5vw,26px)}.axisLayout .resultChart .newChart{grid-template-columns:1fr;gap:8px}.axisLayout .resultCopy>span{font-size:17px}.axisLayout .resultValue strong{font-size:26px}.axisLayout .resultScore{padding:8px;gap:8px}.axisHint{background:#fff6d8;border:1px solid #ebd592;border-radius:12px;padding:0 14px;margin:12px 0}.axisHint summary{font-size:20px;font-weight:bold;color:#6b5421}.axisHint li{margin:8px 0}.board.erasing{cursor:crosshair}.board.erasing .boardCard{pointer-events:none}.television .resultChart{padding:12px}.television .resultRadar{height:calc(100dvh - 330px);min-height:260px}.television .resultScore{padding:8px 12px}.television .resultCopy>span{font-size:clamp(22px,2vw,38px)}.television .resultValue strong{font-size:clamp(36px,3.5vw,68px)}.television .newScores{gap:8px}.television .resultTen .resultCopy>span{font-size:clamp(20px,1.8vw,34px)}.television .resultRadar svg{max-height:none}.tvProgress{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tvProgress article{background:white;border:2px solid #b8cdd4;border-radius:12px;padding:12px}.tvProgress article.complete{background:#dff3e6;border-color:#30805a}.tvProgress b,.tvProgress strong,.tvProgress span,.tvProgress small{display:block}.tvProgress b{font-size:clamp(24px,2.2vw,38px)}.tvProgress strong{font-size:clamp(18px,1.5vw,28px)}.tvProgress span{font-size:clamp(18px,1.5vw,26px)}.tvProgress small{font-size:16px}#tvJoinPanel h2{font-size:clamp(28px,2.8vw,48px)}#tvJoinPanel>p{font-size:clamp(22px,2vw,36px)}#tvJoinPanel .joinCount{font-size:clamp(28px,3vw,48px);font-weight:bold}.tvLayout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:3vw}.tvLayout .surveyQR svg{max-height:60dvh;width:100%}@media(max-width:800px){.resultChart .newChart{grid-template-columns:1fr}.resultChart .resultCopy>span{font-size:19px}.resultChart .resultValue strong{font-size:30px}.tvLayout{grid-template-columns:1fr}.television .resultChart .newChart{grid-template-columns:1fr 1fr}.television .resultCopy>span{font-size:18px}.television .resultScore{padding:6px;gap:6px}}@media print{.resultChart{border:0;padding:0}.resultChart .newChart{grid-template-columns:1fr 1fr}.resultCopy>span{font-size:16px}.resultValue strong{font-size:24px}.resultScore{padding:7px;gap:8px}.resultRadar svg{max-height:340px}.chartFootnote{display:none}}

.schoolContext{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 10px}.schoolContext>strong{font-size:21px}.schoolSurveyChoice{display:flex;align-items:center;gap:12px;font-size:16px;margin:0;max-width:100%}.schoolSurveyChoice select{min-width:240px;max-width:480px}.schoolPanel>.status:empty,.updateStatus:empty{display:none}.surveyDistribution{background:#f1f6f8;border:1px solid #dce6ea;border-radius:12px;padding:14px;margin:14px 0}.surveyDistribution>p{margin:10px 0}.surveyDistribution>a{display:inline-block;padding:9px 14px;margin-left:8px;border:1px solid #b8cdd4;border-radius:10px;background:white;color:#173f50;text-decoration:none}.updateStatus{font-size:15px}.schoolContext+*{margin-top:0}#schoolClassManagement{border-bottom:1px solid #b8cdd4;padding-bottom:20px;margin-bottom:20px}#schoolClassManagement label{min-width:160px}#schoolPane-current>.row{margin-bottom:12px}@media(max-width:700px){.schoolSurveyChoice{width:100%;display:block}.schoolSurveyChoice select{min-width:0;width:100%}.surveyDistribution>a{margin:8px 0 0}}

.schoolSurveyChoice{white-space:nowrap}

/* Align the actual controls, independent of the labels above them. */
.selectors>label{margin:0}.selectors select,.selectors button{font-size:16px;line-height:1.4;min-height:44px;padding:8px 14px}.selectors button{display:inline-flex;align-items:center;justify-content:center}
#schoolPanel button,#schoolPanel select,#schoolPanel input:not([type=checkbox]):not([type=radio]),.schoolPopup button,.schoolPopup input{font-size:16px;line-height:1.4;min-height:44px;padding:8px 14px}
#schoolPanel button,.schoolPopup button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.comparisonToolbar{align-items:flex-end;margin:16px 0}.comparisonToolbar>label{margin:0}.comparisonToolbar select{height:44px}.schoolSurveyChoice{align-items:center}.schoolSurveyChoice select{height:44px}.resultControls{align-items:center}.resultControls button[aria-pressed=true]{background:#1c5662;color:white}
.schoolPopup{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #b8cdd4;border-radius:16px;padding:24px;color:#173f50;background:white}.schoolPopup::backdrop{background:#173f5070}.schoolPopup .dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px}.schoolPopup .dialoghead h2{margin:0;font-size:24px}.schoolPopup form{margin:16px 0}.schoolPopup label{display:block;margin:12px 0}.schoolPopup label input{display:block;width:100%;margin-top:6px}.schoolPopup input[readonly]{background:#f1f6f8}.schoolPopup .surveyDistribution{margin-bottom:0}.schoolPopup [role=status]:empty{display:none}.schoolPopup .danger,#schoolPanel .danger{color:#a3283d;border-color:#bf6574}.schoolPopup #schoolDeleteConfirm{background:#a3283d;color:white}.deleteTarget{font-size:20px;font-weight:bold;padding:14px;background:#fff2f2;border-radius:10px}.surveyTable .surveyActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voiceReview label{display:flex;align-items:center;gap:8px;margin:12px 0 0}.voiceReview input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;flex:none;margin:0}.voiceReview article p{overflow-wrap:anywhere}#schoolCreateStatus,#schoolDeleteStatus{color:#9b2434;white-space:pre-wrap}#schoolCreateStatus.success{color:#1c5662}#schoolCurrentVoicesPane h3{margin-top:12px}@media(max-width:700px){.schoolPopup{padding:16px}.schoolPopup .dialoghead h2{font-size:20px}.comparisonToolbar{align-items:flex-end}.comparisonToolbar>label{flex:1 1 200px}.selectors{flex-wrap:wrap}}
#schoolClassManagement>.row{align-items:flex-end}#schoolClassManagement>.row>label{margin:0}.selectors select{height:44px}
.schoolPopup .surveyDistribution>a{display:inline-flex;align-items:center;justify-content:center;line-height:1.4;min-height:44px;padding:8px 14px;vertical-align:middle}.schoolPopup .surveyDistribution>button{vertical-align:middle}
.deleteTarget{overflow-wrap:anywhere}
/* v1.7.0: activity phases follow the lesson; consistent controls and TV spacing. */
button,.schoolSignedIn a#schoolClassroom{line-height:1.35;display:inline-flex;align-items:center;justify-content:center;gap:.3em;vertical-align:middle;min-height:42px;white-space:normal}
[hidden]{display:none!important}
.activityHero{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:16px;background:#173f50;color:white;border-radius:16px;padding:18px;margin:0 0 16px}
.phaseTitle{font-size:clamp(24px,3vw,44px)}
.activityHero>strong:not(.phaseTitle){text-align:center;font-size:clamp(42px,6vw,84px);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.1}
.timeExtensions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.timeExtensions button{font-size:20px;font-weight:bold}
#schoolActivityPanel{padding:16px}#schoolActivityAdvanced{margin:12px 0}
#schoolJoinView{margin:14px 0} .tvLayout.progressFocus{grid-template-columns:minmax(150px,.55fr) 2fr}
.tvLayout.progressFocus .surveyQR canvas,.tvLayout.progressFocus .surveyQR img{max-width:180px!important;width:100%!important;height:auto!important}
.exchangeGrid,.tvIdeas.exchangeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.exchangeCard{background:#fff;border:2px solid #96b8b1;border-radius:12px;padding:14px 20px;min-width:0;break-inside:avoid}
.exchangeCard h2{margin:0 0 4px;font-size:clamp(26px,2.3vw,42px);display:flex;gap:.7em;align-items:center}.exchangeCard h2 span{font-size:.75em}.exchangeCard small{font-size:16px;color:#4a636b}
.bestText{font-size:clamp(26px,2.7vw,48px);font-weight:700;line-height:1.35;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.undecided{color:#66767a}.otherProposals{font-size:18px;margin-top:12px}#schoolFinalTools{margin-top:16px}
.television main{max-width:none;padding:12px 24px}.television h1{font-size:clamp(30px,3vw,52px);margin:12px 0}.television #tvIdeasArea>h2{display:none}.television .exchangeCard{padding:10px 18px}.television #tvStatus:empty{display:none}
.television .activityHero{border-radius:0;margin:0;padding:12px 24px}.tvUtility{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:16px;padding:4px 16px}.television.exchangePhase .timerBar{display:none}
#schoolCSVDialog label{display:block;margin:10px 0}#schoolCSVDialog input,#schoolCSVDialog select{width:100%;max-width:100%}.csvVoices{max-height:280px;overflow:auto;white-space:pre-wrap}.legacyPopup{width:95vw;max-width:1200px}.schoolSignedIn #schoolLegacyDialog #schoolLegacyContent{display:block!important}
@media(min-width:1500px){.television .bestText{font-size:48px}.television .exchangeCard h2{font-size:42px}.television .exchangeGrid{gap:14px}}
@media(max-width:700px){.activityHero{grid-template-columns:1fr 1.4fr;gap:8px}.timeExtensions{grid-column:1/-1;justify-content:center}.exchangeCard{padding:10px}.bestText{font-size:24px}.tvLayout.progressFocus{grid-template-columns:140px 1fr}.activityHero>strong:not(.phaseTitle){font-size:36px}}
.tvLayout.progressFocus .surveyQR svg{max-width:200px;max-height:200px}.television .activityHero{display:grid;grid-template-columns:1fr 1.4fr 1fr}.television .activityHero .phaseTitle{font-size:clamp(28px,3vw,52px)}
#schoolLegacyDialog #backup,#schoolLegacyDialog #restore,#schoolLegacyDialog #full{margin:8px 4px}#schoolDataTools>button{margin:8px 4px}
#schoolLegacyDialog .selectors>label{margin:0}#schoolLegacyDialog .selectors{align-items:flex-end}#schoolLegacyDialog .selectors button,#schoolLegacyDialog .selectors select{height:44px;min-height:44px;line-height:1.4;padding:8px 14px}
.television .tvUtility a{color:#173f50!important}.television main{padding-top:4px}.television h1{margin:8px 0;line-height:1.2}
.television .exchangeCard{padding:8px 16px}.television .exchangeCard h2{font-size:clamp(28px,2.3vw,42px);line-height:1.2}.television .exchangeCard small{font-size:14px;line-height:1.2}.television .bestText{font-size:clamp(28px,2.4vw,48px);line-height:1.25;margin:6px 0}.television .otherProposals{font-size:16px;line-height:1.2;margin-top:6px}
.schoolSignedIn a#schoolClassroom{height:44px;min-height:44px;line-height:1.4;padding:8px 14px}
