:root{--green:#08685e;--ink:#153e39;--muted:#5b716e;--line:#d6e3df;--paper:#fff;--bg:#edf5f2;--gold:#edb64c;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,textarea,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #dc9b28;outline-offset:3px}button{min-height:44px}header{max-width:1320px;margin:auto;padding:22px 32px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand-icon{background:var(--green);color:#fff;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;font-weight:700;font-size:25px}.brand strong{font-size:21px;display:block}.brand div>span{display:block;font-size:14px;color:var(--muted);margin-top:3px}.quiet{background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);padding:8px 14px}main{max-width:1256px;margin:0 auto;display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;padding:8px 0 0}aside{padding:22px 14px 18px}.lesson-label{font-size:14px;font-weight:700;letter-spacing:1px;color:var(--green)}h1{font-size:35px;line-height:1.45;margin:18px 0 14px;letter-spacing:-.7px}.intro{color:var(--muted);line-height:1.85;margin:0 0 28px}h2{font-size:18px;margin:0}.roles{border-top:1px solid var(--line);padding-top:22px}.roles>div{display:flex;align-items:center;gap:16px;margin-top:20px}.roles div>span{font-size:19px;font-weight:700;color:var(--green);border:1px solid #bcd4cd;display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.roles p{margin:0}.roles small{display:block;font-size:14px;color:var(--muted);margin-top:6px}.places{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.place-row{display:flex;gap:10px;margin-top:18px}.place-row div{flex:1;text-align:center;font-size:14px;color:var(--muted)}.place-row span{display:block;background:#fff;border:1px solid #bed4cc;border-radius:10px;color:var(--green);font-size:32px;height:57px;line-height:57px;margin-top:8px}.places p{line-height:1.8;color:var(--muted);font-size:14px}.scope{font-size:13px;line-height:1.8;color:var(--muted);margin-top:24px}.chat{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 9px 32px #194e3910;overflow:hidden;display:flex;flex-direction:column;min-height:680px;height:min(780px,calc(100dvh - 147px))}.chat-heading{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.chat-heading>div{display:flex;gap:12px;align-items:center}.guide-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e0f1eb;color:var(--green);font-size:27px}.chat-heading p{font-size:14px;color:var(--muted);margin:5px 0 0}.auto-read{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap;cursor:pointer}.auto-read input{width:18px;height:18px;accent-color:var(--green)}.messages{padding:26px;overflow:auto;flex:1;min-height:180px;scroll-behavior:smooth}.message{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:24px}.message.user{align-items:flex-end}.message .name{font-size:13px;color:var(--muted);margin-bottom:8px}.bubble{max-width:95%;border-radius:3px 16px 16px 16px;background:#f0f6f3;padding:17px 20px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px}.user .bubble{background:var(--green);color:white;border-radius:16px 3px 16px 16px}.read{font-size:14px;border:0;background:transparent;color:var(--green);padding:3px 8px;margin-top:3px;min-height:34px}.composer{padding:17px 24px 16px;border-top:1px solid var(--line)}.questions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.questions button{background:white;border:1px solid #c9ddd5;border-radius:100px;color:var(--green);padding:8px 13px;font-size:14px;min-height:38px}.questions button:hover,.quiet:hover{background:#edf5f1}form{border:1px solid #bcd2ca;border-radius:14px;background:#fcfefd;padding:12px}textarea{display:block;width:100%;border:0;resize:vertical;background:transparent;min-height:60px;max-height:160px;color:var(--ink);line-height:1.65;font-size:17px;padding:3px 5px;outline:none}textarea::placeholder{color:#78908a}.send-row{display:flex;align-items:center;gap:12px;margin-top:8px}.mic{border:0;border-radius:9px;background:#e5f2ec;color:var(--green);padding:9px 14px;white-space:nowrap}.mic.active{background:#fff0cb;color:#704600}.keyboard-tip{color:var(--muted);font-size:12px;flex:1}.primary{border:0;border-radius:10px;padding:10px 24px;background:var(--green);color:#fff;font-weight:700;margin-left:auto}.primary:hover{background:#084f48}.composer>p{color:var(--muted);font-size:13px;line-height:1.6;margin:10px 0 0}footer{max-width:1256px;text-align:center;padding:17px 20px 22px;font-size:12px;line-height:1.7;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}@media(min-width:1450px){main{margin-top:12px}}@media(max-width:1320px){main{margin:0 24px;grid-template-columns:280px minmax(0,1fr)}}@media(max-width:820px){header{padding:16px 18px}main{display:block;margin:0 14px}aside{padding:10px 8px 18px}h1{font-size:26px;margin:10px 0}h1 br{display:none}.intro{margin-bottom:0;font-size:15px}.roles,.places,.scope{display:none}.chat{height:auto;min-height:620px}.messages{height:360px;max-height:60dvh;flex:auto}.chat-heading{padding:17px}.composer{padding:15px}.bubble{max-width:100%;font-size:16px}.messages{padding:18px}.keyboard-tip{display:none}.auto-read{font-size:13px}.chat-heading h2{font-size:17px}.chat-heading p{font-size:12px}.questions button{font-size:13px}footer{padding:15px;font-size:12px}}@media(prefers-reduced-motion:reduce){.messages{scroll-behavior:auto}}
.voice-choice{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--muted);font-size:14px}.voice-choice button{border:1px solid #c9ddd5;background:white;border-radius:8px;color:var(--green);padding:4px 12px;min-height:34px}.voice-choice button:hover{background:#edf5f1}
