:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang TC','Noto Sans TC',sans-serif;color:#283f38;background:#f8f7f1;font-synthesis:none;color-scheme:light;--green:#244d41;--line:#dce3d4}*{box-sizing:border-box}body{margin:0;font-size:20px;line-height:1.65}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c18443;outline-offset:4px}a{color:var(--green)}[hidden]{display:none!important}header{background:#fffef9;border-bottom:1px solid var(--line);padding:20px 4%;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.brand{font-size:26px;text-decoration:none;font-weight:700}.quiet{margin-left:auto;font-size:18px}#connection{font-size:16px;color:#53644e}#connection.offline{color:#a24d2d}main{max-width:1680px;margin:0 auto;padding:32px 4% 70px}h1,h2,h3,p{margin-top:0}h1{font-size:40px;line-height:1.4}h2{font-size:30px}h3{font-size:26px}.card{background:#fffef9;border:1px solid var(--line);padding:30px;border-radius:20px;margin-bottom:24px;min-width:0}.narrow{max-width:780px;margin:20px auto}.intro{font-size:20px;color:#52634d}.kicker{font-size:18px;color:#52634d;margin:0 0 10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.actions,.tabs,.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.actions{margin-top:22px}.primary,.secondary,button{border-radius:10px;padding:12px 20px;border:1px solid var(--line);background:#edf1e5;font-weight:500;text-decoration:none;display:inline-block}.primary{background:var(--green);color:#fff;border-color:var(--green)}.secondary{background:#fffef9}.field{display:block;font-weight:600;margin:20px 0}.field input,.field select,.field textarea{width:100%;min-width:0;display:block;border:1px solid #a7b59e;border-radius:10px;background:#fff;padding:14px;margin-top:8px;font-weight:400}.field textarea{min-height:130px;resize:vertical}.field small{font-weight:400;display:block;font-size:17px;color:#52634d}.code-input{text-transform:uppercase;letter-spacing:3px;font-family:monospace;font-size:26px}.error{color:#a24629;font-size:18px;min-height:1em}.notice{background:#edf1e5;padding:18px 22px;border-radius:12px;color:#456343}.muted{color:#52634d;font-size:18px}.room-line{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.room-line h1{margin:0}.code-pill{background:#eadfc8;border-radius:8px;padding:5px 12px;font-family:monospace;font-size:24px;letter-spacing:2px}.room-list{list-style:none;padding:0}.room-list a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.workspace.folded{grid-template-columns:minmax(0,1fr) 64px}.rank{padding:22px 18px}.rank-top{display:flex;gap:10px;justify-content:space-between;align-items:center}.rank-top h2{margin:0}.folded .rank h2,.folded .rank-body{display:none}.folded .rank{padding:12px 8px}.folded .rank-top button{padding:8px}.ranking{border-bottom:1px solid var(--line);padding:16px 0}.ranking strong{font-size:22px}.ranking p{font-size:17px;margin:4px 0}.ranking .points{font-size:30px;float:right;color:#9b743f}.ranking button{font-size:18px;padding:6px 13px}.small-stat{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.small-stat span{background:#edf1e5;border-radius:8px;padding:8px 12px}.station-select{font-size:23px;max-width:100%;border:1px solid var(--line);padding:10px 14px;border-radius:8px;background:#fff}.tabs{margin:20px 0}.tabs button{font-size:20px}.tabs button.active{background:var(--green);color:#fff}.lesson{padding:32px 40px}.lesson .quote{font-size:clamp(36px,3.2vw,56px);line-height:1.5;font-weight:600;color:#244d41}.lesson .question{font-size:clamp(30px,2.5vw,42px);line-height:1.6}.lesson .body-copy,.lesson li,.blank,.option{font-size:clamp(25px,2.1vw,34px);line-height:1.85}.lesson .body-copy p{margin-bottom:24px}.lesson .thinking{padding:24px;border-radius:12px;background:#edf1e5;font-size:26px;line-height:1.8}.blank{padding:18px 0;border-bottom:1px solid var(--line)}.answer-key{color:#945a28}.responses{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.response{padding:8px 15px;background:#edf1e5;border-radius:10px;font-size:23px;overflow-wrap:anywhere}.option{display:flex;align-items:flex-start;gap:16px;padding:20px;border:1px solid var(--line);border-radius:12px;margin:14px 0;background:#fff}.option input{margin-top:14px;width:24px;height:24px;flex-shrink:0}.option b{flex-shrink:0}.reply{padding:18px 22px;border-left:4px solid #9db28e;background:#f3f5ec;margin:15px 0;overflow-wrap:anywhere}.reply strong{font-size:21px;display:block}.reply p{font-size:25px;line-height:1.8;margin:8px 0}.bar{display:grid;grid-template-columns:30px 1fr 90px;align-items:center;gap:18px;margin:15px 0;font-size:22px}.track{height:18px;border-radius:9px;background:#edf1e5;overflow:hidden}.track i{display:block;height:100%;background:#759566}.map-frame{background:#d8eae1;border:1px solid var(--line);border-radius:18px;overflow:auto;margin:20px 0}.map-art{position:relative;aspect-ratio:1000/660;min-width:680px}.island-svg{width:100%;height:100%;display:block}.region-label{position:absolute;font-size:20px;letter-spacing:2px;color:#536e58}.region-label small{display:none}.station-marker{position:absolute;transform:translate(-50%,-6px);display:flex;align-items:center;flex-direction:column;gap:4px;background:transparent;border:0;padding:0;white-space:nowrap}.station-number{border-radius:50%;background:#f8f6e9;width:30px;height:30px;font-size:18px;display:grid;place-items:center}.station-name{font-size:18px;background:#f7f7e8ed;padding:4px 8px;border-radius:5px}.is-current .station-name,.is-current .station-number{background:#244d41;color:#fff}.you-are-here{font-size:16px}.progress{font-size:20px}.join-choice{font-size:22px}.name-tag{background:#edf1e5;border-radius:10px;padding:12px 20px;margin-bottom:22px}.ended{background:#f6ead8;border:1px solid #d8b483;padding:20px;border-radius:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#244d41;color:#fff;padding:15px 25px;border-radius:12px;max-width:calc(100% - 30px);z-index:10}dialog{border:1px solid var(--line);border-radius:20px;width:min(850px,calc(100% - 32px));max-height:92dvh;padding:35px;background:#fffef9;color:#283f38}dialog::backdrop{background:#16372c80;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.close{float:right}.qr{display:block;width:min(360px,100%);margin:20px auto}.invite-code{text-align:center;font-family:monospace;font-size:48px;letter-spacing:7px;margin:15px 0}.invite-link{overflow-wrap:anywhere;font-size:18px}#invite h2{text-align:center;clear:both}.saved{color:#2b6740}details>summary{cursor:pointer;font-size:22px;padding:10px 0}.empty{padding:24px;border:1px dashed #acba9e;border-radius:12px;color:#53644e}.join-captain{font-weight:700}.student .workspace{display:block}.student .lesson{max-width:1000px;margin:auto}.student main{padding-top:20px}.student .lesson .body-copy,.student .lesson li,.student .blank,.student .option{font-size:23px}.student .lesson .quote{font-size:36px}.student .lesson .question{font-size:28px}
@media(max-width:1000px){.workspace,.workspace.folded{grid-template-columns:1fr}.folded .rank-top h2{display:block}.folded .rank{padding:18px}.two-col{grid-template-columns:1fr}.lesson{padding:28px}.rank{order:2}.room-line h1{font-size:34px}}
@media(max-width:600px){body{font-size:18px}header{padding:16px 5%;gap:10px}.brand{font-size:23px}#connection{width:100%;order:3}.quiet{font-size:16px}main{padding:22px 5% 40px}.card{padding:22px 18px}.lesson{padding:24px 20px}h1{font-size:30px}h2{font-size:26px}.lesson .quote{font-size:34px}.lesson .question{font-size:28px}.lesson .body-copy,.lesson li,.blank,.option{font-size:22px}.lesson .thinking{font-size:22px;padding:18px}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{font-size:18px;padding:10px}.option{padding:14px;gap:10px}.option input{width:20px;height:20px;margin-top:10px}.reply p{font-size:22px}.invite-code{font-size:36px;letter-spacing:4px}.bar{grid-template-columns:24px 1fr 68px;font-size:20px}.actions>*{flex-grow:1;text-align:center}.field input,.field select,.field textarea{font-size:20px}.station-select{font-size:20px}.map-art{min-width:680px}.small-stat span{font-size:18px}}

.live-lesson{padding:0;width:min(1640px,calc(100% - 32px));max-height:calc(100dvh - 32px)}.projection-toolbar{position:sticky;top:0;background:#f1f4e9;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);z-index:1}.projection-toolbar .tabs{margin:0}.projection-toolbar>strong{font-size:24px}.live-lesson .lesson{border:0;border-radius:0;margin:0;padding:32px 44px}.live-lesson .question{font-size:clamp(34px,2.7vw,44px)}.live-lesson .body-copy,.live-lesson .blank,.live-lesson .option{font-size:clamp(28px,2.25vw,36px)}.live-lesson .response{font-size:28px}.live-lesson .quote{font-size:clamp(40px,3.8vw,60px)}.live-lesson .lesson .thinking{font-size:28px}.live-lesson .reply p{font-size:28px}
@media(max-width:600px){.live-lesson .lesson{padding:24px 20px}.projection-toolbar{padding:14px}.projection-toolbar .tabs{width:100%;order:3}.live-lesson .question{font-size:28px}.live-lesson .body-copy,.live-lesson .blank,.live-lesson .option{font-size:22px}.live-lesson .quote{font-size:34px}.live-lesson .response{font-size:22px}}

/* 全班作答統計與排名分頁。 */
.stats-tabs{display:flex;gap:8px;margin:18px 0}.stats-tabs button{flex:1;min-width:0;padding:10px 8px;font-size:21px;border:1px solid #bac8b2;border-radius:9px;background:#fffef9;color:#294d3d;cursor:pointer}.stats-tabs button[aria-pressed="true"]{background:#294d3d;color:white}.answer-stats{min-width:0}.answer-stats h3{font-size:26px;margin:26px 0 12px}.answer-stats h3 small{font-size:20px;color:#52634d}.stats-station{font-size:23px;font-weight:700;margin:14px 0}.stats-note,.stats-empty,.stats-warning{font-size:18px!important;line-height:1.65;color:#52634d;margin:10px 0}.stats-warning{background:#fff1d9;padding:12px;border-radius:10px;color:#815123}.stats-blank{border-top:1px solid #dce3d4;padding:16px 0}.stats-blank>p{font-size:21px;margin:0 0 12px}.stats-prompt{line-height:1.6;overflow-wrap:anywhere}.stats-word{display:flex;gap:16px;justify-content:space-between;padding:10px 14px;margin:7px 0;background:#edf1e5;border-radius:10px;font-size:24px;overflow-wrap:anywhere}.stats-word strong{white-space:nowrap;font-size:21px}.stats-option{margin:16px 0}.stats-option>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:22px}.stats-track{height:15px;background:#edf1e5;border-radius:8px;margin-top:7px;overflow:hidden}.stats-track span{height:100%;display:block;background:#66865a;border-radius:8px}.stats-reasons{max-height:400px;overflow:auto}.stats-reason{border-left:4px solid #a5b68e;padding:12px 14px;background:#f3f5ec;margin:12px 0;overflow-wrap:anywhere}.stats-reason strong{font-size:20px}.stats-reason p{font-size:22px;line-height:1.65;margin:8px 0 0}.stats-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.stats-actions button{font-size:20px}.stats-manual{margin:16px 0;background:#f2f3e8;padding:16px;border-radius:12px}.stats-manual p{font-size:18px;margin:0 0 12px}.stats-manual button{font-size:20px}

.answer-stats{display:flex;flex-direction:column}.stats-blanks{order:1}.stats-decisions{order:2}.decision-first .stats-decisions{order:1}.decision-first .stats-blanks{order:2}.stats-source{order:3}.stats-top-action{margin:16px 22px}.stats-top-action button{width:100%;font-size:20px}#scoreboard-body>.stats-tabs{margin:16px 22px}#scoreboard-body .answer-stats{padding:0 22px}#scoreboard-body .stats-manual,#scoreboard-body .stats-actions{margin:20px 22px}

@media(min-width:1001px){.scoreboard,.rank{position:sticky;top:20px;align-self:start}#scoreboard-body,.rank-body{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}}

/* 教學區塊：內容顯現由講師控制。 */
.teaching-blocks{margin:20px 0}.block-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px}.block-controls span{font-size:20px;color:#52634d;margin-right:auto}.block-controls button{font:inherit;font-size:20px;padding:10px 16px;border:1px solid #c5cfba;border-radius:10px;background:#eff3e7;color:#294d3d;cursor:pointer}.teaching-block{border:1px solid #d8e1cd;border-radius:16px;background:#fffef9;margin:18px 0;overflow:hidden}.teaching-block.is-open{border-color:#9cb18b}.block-title{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;border:0;border-radius:0;background:#edf1e5;color:#294d3d;padding:20px 26px;font-size:28px!important;line-height:1.5;font-weight:600;margin:0;cursor:pointer}.block-status{font-size:18px;white-space:nowrap;font-weight:400}.block-copy{padding:20px 28px;overflow-wrap:anywhere}.block-copy p{font-size:clamp(28px,2.7vw,40px)!important;line-height:1.8;margin:0 0 18px;white-space:pre-wrap}.block-copy p:last-child{margin-bottom:0}.block-copy[hidden]{display:none!important}.block-hint{font-size:20px;color:#52634d}.block-editor-row{padding:20px;border:1px solid #becdad;border-radius:14px;margin:22px 0}.block-editor-row legend{font-size:23px;padding:0 8px}.block-editor-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.block-editor-actions button,.block-editor>button{padding:8px 14px;border:1px solid #becdad;border-radius:8px;background:#eef2e5;font-size:20px;cursor:pointer}.block-default{display:flex;align-items:center;gap:12px;font-size:22px}.block-default input{width:24px;height:24px;flex-shrink:0}.block-editor .field input,.block-editor .field textarea{width:100%}.student .block-copy p{font-size:25px!important}.student .block-title{cursor:default}@media(max-width:600px){.block-title{font-size:23px!important;padding:16px;gap:10px;flex-wrap:wrap}.block-copy{padding:20px}.block-copy p{font-size:25px!important}.block-controls button{font-size:18px}.block-editor-row{padding:14px}.block-default{font-size:19px}}

/* 題目、選項、作答與解析分開揭曉。 */
.quiz-control{padding:18px;background:#f1f4e9;border:1px solid #cdd9c1;border-radius:14px;margin:0 0 26px}.quiz-steps{display:flex;gap:10px;flex-wrap:wrap}.quiz-steps button{font-size:20px;padding:12px 16px;border:1px solid #c1cfb6;border-radius:9px;background:#fffef9;color:#294d3d;cursor:pointer}.quiz-steps button[aria-pressed="true"]{background:#294d3d;color:white}.quiz-control-foot{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:18px}.quiz-control-foot span{font-size:18px;color:#52634d}.quiz-control-foot button{font-size:20px}.quiz-section{margin:30px 0;padding:22px 26px;border:1px solid #dce4d1;border-radius:14px;background:#fffef9}.quiz-section-title{font-size:25px!important;color:#52634d;margin:0 0 20px}.quiz-notice{font-size:23px!important;line-height:1.7;padding:18px 22px;background:#eff3e6;border-radius:12px;color:#42603b}.quiz-section .option{font-size:clamp(26px,2.2vw,34px);line-height:1.8}.quiz-section h4{font-size:24px}@media(max-width:600px){.quiz-control{padding:14px}.quiz-steps{display:grid;grid-template-columns:1fr 1fr}.quiz-steps button{font-size:17px;padding:10px}.quiz-section{padding:18px}.quiz-notice{font-size:20px!important}.quiz-control-foot button{width:100%;font-size:19px}.quiz-section .option{font-size:23px}}

/* 每題填空各自控制題目、作答與答案。 */
.blank-control-rows{display:grid;gap:12px}.blank-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.blank-control-row>strong{font-size:22px;color:#294d3d}.blank-control-row>div{display:flex;gap:8px;flex-wrap:wrap}.blank-control-row button{font:inherit;font-size:18px;min-height:44px;padding:8px 14px;border:1px solid #becdad;border-radius:8px;background:#fffef9;color:#294d3d;cursor:pointer}.blank-control-row button[aria-pressed="true"]{background:#294d3d;color:#fff}.blank-item-status{font-size:20px!important;color:#52634d;line-height:1.6}.blank-controls .quiz-control-foot{justify-content:space-between}.blank-controls .quiz-control-foot button{font-size:18px}.is-projecting:not(.projection-controls-open) .blank-control-rows{display:none}@media(max-width:600px){.blank-control-row>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.blank-control-row button{font-size:17px}.blank-controls .quiz-control-foot button{width:auto}.blank-item-status{font-size:18px!important}}
