:root{--ink:#183f60;--line:#c7d3de;--blue:#246a9f;--muted:#576a7b;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#edf2f6;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select,textarea,input{font:inherit}button,a{touch-action:manipulation}button{border:1px solid #9dafbf;background:#fff;border-radius:4px;padding:.65rem 1rem;color:var(--ink);cursor:pointer}button:hover{background:#e9f2fa}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue)}a{color:var(--ink);text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #d8a62c;outline-offset:3px}[hidden]{display:none!important}.exam-bar{background:#183f60;color:white;min-height:68px;padding:1rem 2rem;display:flex;align-items:center;gap:1.8rem}.exam-bar a{color:white}.exam-bar .brand{font-weight:700;text-decoration:none}.bar-actions{margin-left:auto;display:flex;gap:1rem;align-items:center}.exam-bar button{color:white;border-color:#8ba4b7;background:transparent}.exam-shell{max-width:1220px;margin:2rem auto;padding:0 1.5rem}.setup-panel{max-width:780px;margin:3rem auto;background:white;border:1px solid var(--line);padding:2rem;box-shadow:0 3px 15px #183f6008}.eyebrow{font-size:.875rem;color:var(--muted);letter-spacing:.04em}h1{font-size:1.6rem;line-height:1.4;margin:.5rem 0 1.4rem}h2{font-size:1.1rem;margin:.5rem 0}p{line-height:1.7}.setup-panel label{display:block;margin:1rem 0 .5rem;font-weight:700}select{width:100%;padding:.7rem;border:1px solid #9dafbf;border-radius:4px;background:white;color:var(--ink)}.note{font-size:.875rem;color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}.room-head{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);padding:1.2rem 1.5rem}.room-head h1{margin:.4rem 0 0;font-size:1.2rem}.clock-box{text-align:center;min-width:120px}.clock-box span{display:block;font-size:.875rem}.clock-box strong{display:block;font-variant-numeric:tabular-nums;font-size:2rem;margin-top:.25rem}.exam-content{background:white;border:1px solid var(--line);border-top:0;padding:2rem;min-height:430px}.speaking-content{max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.phase{font-weight:bold;color:#246a9f}.question-text{max-width:810px;font-size:1.35rem;line-height:1.8;margin:1.5rem 0 2rem;white-space:pre-wrap}.recording-line{display:flex;gap:.6rem;align-items:center;color:var(--muted);font-size:.875rem}.recording-indicator{width:10px;height:10px;border-radius:50%;background:#b93030}.exam-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#e0e9f1;border:1px solid var(--line);border-top:0;font-size:.875rem}.record-list{display:grid;gap:1rem;margin:1.5rem 0}.record-card{padding:1rem;border:1px solid var(--line);border-radius:4px}.record-card p{font-size:.875rem;margin:.5rem 0;color:var(--muted);white-space:pre-wrap}.record-card audio{width:100%;margin:.5rem 0}.record-card a{font-size:.875rem}.writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:480px}.writing-prompt{border-right:1px solid var(--line);padding-right:1.5rem;overflow:auto;max-height:65vh;white-space:pre-wrap;line-height:1.75}.writing-answer{display:flex;flex-direction:column;gap:.5rem}.answer-heading{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.writing-answer textarea{width:100%;resize:vertical;min-height:380px;flex:1;border:1px solid #9dafbf;padding:1rem;line-height:1.7;color:var(--ink);background:#fff}.writing-answer textarea:disabled{background:#f4f6f8;color:#263f53;opacity:1}.sentence-target,.sentence-bank{display:flex;flex-wrap:wrap;gap:.5rem;min-height:75px;padding:1rem;border:1px solid var(--line);align-items:center;margin:1.2rem 0}.sentence-target{background:#f5f8fb}.word-tile{padding:.55rem .8rem;background:white;border:1px solid #86a3bd}.empty-slots{color:var(--muted)}.reading-post{padding:.75rem 0;border-bottom:1px solid var(--line)}.reading-post strong{display:block;font-size:.875rem}.reading-post p{margin:.4rem 0}.local-note{font-size:.875rem;color:var(--muted)}.preview-answer{white-space:pre-wrap;word-break:break-word;color:#263f53!important}.sentence-duration{max-width:90px;padding:.6rem;border:1px solid #9dafbf;border-radius:4px}.error{color:#9b2929}@media(max-width:700px){.exam-bar{padding:1rem;gap:.7rem;flex-wrap:wrap}.exam-bar>span{font-size:.875rem}.bar-actions{gap:.7rem}.exam-shell{padding:0 .7rem;margin:1rem auto}.setup-panel{padding:1.2rem;margin:1.5rem auto}.exam-content{padding:1.2rem;min-height:400px}.room-head{padding:1rem}.clock-box{min-width:90px}.question-text{font-size:1.1rem}.writing-grid{grid-template-columns:1fr}.writing-prompt{max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:0 0 1rem}.writing-answer textarea{min-height:280px}.exam-footer{padding:1rem;flex-wrap:wrap}}

.mic-check{border:1px solid var(--line);padding:1rem;margin:1rem 0;background:#f5f8fb}.mic-check p{margin:.7rem 0;font-size:.875rem}.mic-check label{font-size:.875rem;font-weight:400;margin:.5rem 0}#micMeter{display:block;width:100%;height:1.2rem;accent-color:#246a9f}#micHelp{border-top:1px solid var(--line);padding-top:.5rem}#micHelp a{font-size:.875rem}
