:root{color-scheme:light;--ink:#251f21;--muted:#585254;--accent:#175d50;--line:#dededb}*{box-sizing:border-box}body{margin:0;background:#f4efec;color:var(--ink);font:20px/1.55 system-ui,-apple-system,sans-serif}main{max-width:800px;margin:40px auto;background:white;padding:40px;border-radius:24px}header{margin-bottom:36px}.brand{font-size:17px;font-weight:700;letter-spacing:.12em;color:var(--accent)}h1{font:400 44px/1.15 Georgia,serif;margin:22px 0 16px}h2{font:400 30px/1.3 Georgia,serif}h3{font-size:21px;margin:0 0 10px}p{margin:12px 0 20px}header p,.hint,footer{color:var(--muted)}.notice{background:#f6f7f5;border:1px solid var(--line);padding:22px;border-radius:12px;margin:26px 0}.consent{display:flex;align-items:start;gap:14px;margin:24px 0}input[type=checkbox]{width:26px;height:26px;flex-shrink:0;accent-color:var(--accent);margin-top:3px}button{font:600 20px/1.3 system-ui;min-height:52px;padding:14px 22px;border:2px solid var(--accent);border-radius:8px;background:var(--accent);color:white;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--accent)}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #b46b12;outline-offset:4px}.landmark{font-size:17px;font-weight:600;color:var(--accent)}.message{white-space:pre-wrap;padding:20px 22px;margin:18px 0;border-radius:12px}.assistant{background:#f4f6f4}.user{margin-left:40px;background:#e9f2ef}.speaker{font-size:15px;display:block;color:var(--muted);font-weight:600;margin-bottom:8px}textarea{font:20px/1.5 system-ui;display:block;width:100%;resize:vertical;min-height:140px;border:1px solid #8c918c;border-radius:8px;padding:16px;margin:10px 0}.hint{font-size:16px}.controls{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.controls button{font-size:18px}.consent input{cursor:pointer}footer{border-top:1px solid var(--line);padding-top:22px;margin-top:36px;font-size:17px}#error{padding:18px;border:1px solid #bc4c36;background:#fff4f1}#mock{color:#a14b00;font-size:15px;margin-left:12px}[hidden]{display:none!important}#review button{margin:8px 8px 8px 0}@media(max-width:600px){body{font-size:20px}main{margin:0;border-radius:0;min-height:100vh;padding:26px 20px}h1{font-size:36px}.user{margin-left:20px}.message{padding:18px}.controls{display:grid;grid-template-columns:1fr}button{width:100%}.notice{padding:18px}}
details{font-size:16px;margin:24px 0;color:var(--muted)}summary{cursor:pointer;min-height:48px;padding:12px 0}#intro p{margin-bottom:24px}
