:root{font-family:Inter,system-ui,sans-serif;color:#1b1b1b;background:#f5f1e8}
*{box-sizing:border-box}body{margin:0}.shell{max-width:840px;margin:0 auto;padding:48px 20px 80px}
header{margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.78rem;color:#6c5328}
h1{font-size:clamp(2.3rem,7vw,4.6rem);line-height:.95;margin:.15em 0}.subtitle{max-width:680px;font-size:1.1rem;line-height:1.6;color:#565047}
.card{background:#fff;border:1px solid #ded6c7;border-radius:18px;padding:22px;box-shadow:0 8px 30px rgba(55,43,24,.07)}
label{display:block;font-weight:700;margin-bottom:10px}textarea{width:100%;resize:vertical;border:1px solid #cfc5b3;border-radius:12px;padding:14px;font:inherit;line-height:1.5}
button{border:0;border-radius:999px;padding:12px 20px;font-weight:750;background:#1f5d47;color:white;cursor:pointer;margin-top:14px}
button:disabled{opacity:.55;cursor:wait}.secondary{background:transparent;color:#1f5d47;border:1px solid #1f5d47}
.hidden{display:none}.objective{margin-bottom:16px}.objective span{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:#776b5d;margin-bottom:7px}
.transcript{min-height:240px;display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.turn{padding:14px 16px;border-radius:14px;line-height:1.55;white-space:pre-wrap}.turn.learner{background:#edf4f0;margin-left:10%}.turn.guide{background:#f7f2e8;margin-right:10%}.turn .label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:5px}
.actions{display:flex;gap:10px;flex-wrap:wrap}.status{min-height:1.5em;color:#9b2c2c;font-weight:650}.composer{margin-top:0}
@media(max-width:540px){.shell{padding-top:28px}.turn.learner,.turn.guide{margin-left:0;margin-right:0}}
