:root{--paper:#f5f0e3;--ink:#292720;--muted:#726d61;--line:#c9bea8;--red:#b85c50;--blue:#587b8e;--shadow:rgba(61,48,29,.13);font-family:"PingFang SC","Noto Sans SC",system-ui,sans-serif;color:var(--ink);background:#dce2d3}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,#f5e9c9 0 12%,transparent 35%),radial-gradient(circle at 90% 85%,#c7d9dc 0 12%,transparent 34%),#dde3d4}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
main{position:relative;width:min(1040px,calc(100% - 32px));margin:auto;padding:70px 0 48px}.debate-title{text-align:center;margin-bottom:24px}.debate-title span,.reflection>span,.ending>span{font-size:.78rem;letter-spacing:.16em;color:var(--red);font-weight:800}.debate-title h1{font-family:serif;font-size:clamp(2rem,5vw,3.5rem);margin:.3rem 0}.debate-title p{color:var(--muted);margin:.3rem}
.paper-panel,.theatre{background:rgba(250,247,237,.94);border:1px solid var(--line);box-shadow:0 18px 50px var(--shadow);border-radius:26px;padding:clamp(22px,4vw,42px)}.question-label,legend{font-weight:800;font-size:1.08rem}.question-row{display:flex;gap:10px;margin:12px 0 6px}.question-row input,textarea{width:100%;border:1px solid var(--line);border-radius:15px;background:#fffdf7;color:var(--ink);font:inherit;padding:15px 16px;outline:none}.question-row input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #587b8e22}.question-row button{width:54px;border-radius:15px;border:1px solid var(--line);background:#fffaf0;font-size:1.25rem}#speech-help{font-size:.82rem;color:var(--muted)}.suggested-questions{margin-top:18px}.suggested-questions>span{display:block;margin-bottom:9px;color:var(--muted);font-size:.8rem;font-weight:800}.suggested-questions>div{display:flex;flex-wrap:wrap;gap:8px}.suggested-questions button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fffaf0;color:var(--ink);font:inherit;font-size:.85rem;text-align:left}.suggested-questions button:hover,.suggested-questions button[aria-pressed=true]{border-color:var(--red);background:#fff1dd}.suggested-questions button:focus-visible{outline:3px solid #587b8e33;outline-offset:2px}fieldset{border:0;padding:20px 0 8px;margin:0}.character-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}.character-option{position:relative;border:1px solid var(--line);border-radius:16px;background:#fffaf0;padding:10px 6px;min-height:92px;color:var(--ink)}.character-option span{display:block;font-size:2.1rem}.character-option small{display:block;margin-top:5px}.character-option[aria-pressed=true]{border:2px solid var(--red);background:#fff1dd;transform:translateY(-2px)}.character-option[aria-pressed=true]:after{content:attr(data-order);position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;font-weight:800}.primary{border:0;border-radius:999px;padding:13px 24px;background:var(--ink);color:#fff;font:inherit;font-weight:800}.primary:disabled{opacity:.4}
.theatre{padding:24px;background:linear-gradient(#f5ebd6 0 62%,#d1d8bb 62%);overflow:hidden}.topic{text-align:center}.topic span{font-size:.75rem;color:var(--muted);font-weight:800;letter-spacing:.1em}.topic h2{font-family:serif;margin:.35rem auto 1rem;max-width:700px}.stage{display:grid;grid-template-columns:1fr minmax(260px,1.2fr) 1fr;align-items:end;gap:20px;min-height:390px}.speaker{text-align:center;transition:.3s;opacity:.55}.speaker.active{opacity:1;transform:translateY(-8px)}.speaker b,.speaker small{display:block}.speaker small{color:var(--muted);margin-top:3px}.avatar{width:min(230px,100%);height:250px;margin:auto;border-radius:46% 54% 48% 52%;background:#f4dfae;border:2px solid #443d32;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 -14px 0 #0000000b}.avatar canvas{display:block;width:100%;height:100%}#speaker-b .avatar{background:#cadde1}.speech-card{align-self:center;background:#fffdf7;border:2px solid var(--ink);border-radius:24px;padding:20px;min-height:145px;box-shadow:5px 6px 0 #29272019}.speech-card span{color:var(--red);font-weight:800}.speech-card p{font-size:clamp(1.15rem,2.5vw,1.55rem);line-height:1.65;margin:.5rem 0}.progress{display:flex;justify-content:center;gap:8px;margin:14px}.progress i{width:10px;height:10px;border-radius:50%;background:#fff;border:1px solid var(--muted)}.progress i.done{background:var(--red);border-color:var(--red)}.play-actions{display:flex;gap:9px;justify-content:center}.play-actions button,.ending a{border:1px solid var(--line);background:#fffaf0;border-radius:999px;padding:9px 16px;color:var(--ink);text-decoration:none}.reflection,.ending{text-align:center;margin-top:22px}.reflection h2,.ending h2{font-family:serif}.reflection form{max-width:620px;margin:auto}.reflection textarea{min-height:100px;resize:vertical;margin-bottom:12px}.ending p{font-size:1.1rem;line-height:1.7}.ending>div{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}#status{text-align:center;color:var(--red);min-height:1.5em}
[hidden]{display:none!important}@media(max-width:720px){main{width:min(100% - 18px,1040px);padding-top:58px}.character-picker{grid-template-columns:repeat(3,1fr)}.stage{grid-template-columns:1fr 1fr;min-height:0}.speech-card{grid-column:1/-1;grid-row:1}.speaker{grid-row:2}.avatar{max-width:145px;height:165px}.play-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
