[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)}
