:root{color-scheme:light;--paper:#fffdfb;--canvas:#fff4f1;--ink:#402a33;--muted:#775961;--accent:#a23b5e;--line:#e9cfd4;--tint:#f9e9ed;--sage:#46645b;--font-ui:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-family:var(--font-ui);color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:4px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}textarea{resize:vertical}input,textarea{caret-color:var(--accent)}::selection{background:#f0c8d4;color:var(--ink)}:focus-visible{outline:3px solid #b24d70;outline-offset:3px}[hidden]{display:none!important}
.topbar{max-width:1240px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--ink);text-decoration:none;font-family:var(--font-ui);font-size:23px;font-weight:600}.brand span{display:block;font-size:12px;letter-spacing:.06em;margin-top:4px;font-family:inherit;font-weight:400}.topbar nav{font-size:14px}
main{max-width:1180px;margin:auto;padding:0 28px}.intro{padding:32px 0 36px;position:relative}.intro-note{color:var(--muted);font-size:14px;margin:0 0 14px}.intro h1{font-family:var(--font-ui);font-size:clamp(32px,3.8vw,48px);font-weight:600;line-height:1.35;margin:0;letter-spacing:-.02em}.intro h1 br{display:none}.intro h1 em{font-style:normal;color:var(--accent)}.intro-copy{line-height:1.9;color:var(--muted);margin:16px 0 0;max-width:65ch}
.studio{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.3fr);border-top:1px solid var(--line);align-items:start}.setup{padding:28px 32px 28px 0;border-right:1px solid var(--line)}h2{font-weight:600;line-height:1.5;font-size:20px;font-family:var(--font-ui);margin:0 0 22px}.setup form>label,.profile-option label,#practiceTurn>label,.report>label{display:block;font-size:14px;font-weight:600;margin:22px 0 9px}label small,summary small{font-weight:400;color:var(--muted);font-size:12px;margin-left:8px}
.scenes{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenes label{position:relative}.scenes input{position:absolute;top:14px;left:12px;width:15px;height:15px;accent-color:var(--accent)}.scenes span{display:block;padding:12px 10px 12px 34px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:14px;line-height:1.4}.scenes small{display:block;margin:5px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}.scenes input:checked+span{border-color:var(--accent);background:var(--tint)}.scenes input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
textarea,select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.7;min-height:44px}textarea::placeholder{color:var(--muted);opacity:1}.primary,.secondary{border-radius:10px;padding:12px 20px;min-height:46px;border:1px solid var(--accent);font-size:15px;line-height:1.5}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:#852e4c}.secondary{background:var(--paper);color:var(--accent)}.secondary:hover:not(:disabled){background:var(--tint)}#practiceStart{width:100%;margin-top:24px}.profile-option{margin-top:22px;font-size:14px}.profile-option summary{cursor:pointer}.profile-option p,.privacy-note{font-size:12px;color:var(--muted);line-height:1.8}.check{display:flex!important;gap:8px;align-items:center;font-weight:400!important}.check input{accent-color:var(--accent)}
.stage{padding:28px 0 30px 34px;min-width:0}.stage-heading{display:flex;gap:16px;align-items:baseline;justify-content:space-between}.stage-heading h2{margin-bottom:12px}.stage-heading>span{color:var(--accent);font-size:12px;white-space:nowrap}.simulation-note{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.empty-stage{padding:6px 12px}.quotation{display:block;font:76px/.8 Georgia,serif;color:#c28c9d;margin-top:20px}.empty-stage>p{font:400 24px/1.75 var(--font-ui);max-width:min(100%,20em);margin:16px 0}.empty-stage>small{color:var(--muted);font-size:12px}.empty-stage ol{margin:50px 0 0;padding:0 0 0 20px;color:var(--muted);font-size:14px;line-height:2.8}.intent{font-size:14px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.messages{list-style:none;padding:0;margin:22px 0}.messages li{padding:15px 18px;border-radius:12px;margin:16px 0;max-width:92%;background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere}.messages li.mine{margin-left:auto;background:var(--tint);border-color:transparent}.messages small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.messages p{font-size:16px;line-height:1.8;margin:0;white-space:pre-wrap}.turn-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.status{color:var(--accent);line-height:1.8;font-size:14px;min-height:25px;overflow-wrap:anywhere}.reset{border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);padding:10px 0;min-height:44px;font-size:13px}.report{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.report h3,.safety h3{font:600 22px/1.5 var(--font-ui);margin:0 0 10px}.report p,.report li,.safety p{font-size:16px;line-height:1.9}.report h4{font-size:15px;margin:26px 0 12px}.evidence{padding:4px 0 10px}.evidence blockquote{margin:8px 0;color:var(--accent);font-size:16px;line-height:1.8}.evidence p{margin:6px 0}.report ul{padding-left:20px}.report #practiceCopy{margin-top:12px}footer{padding:40px 0;font-size:13px;line-height:2;color:var(--muted);border-top:1px solid var(--line);margin-top:30px}footer a{margin-left:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media(max-width:760px){.topbar{padding:18px}.brand{font-size:20px}.topbar nav{font-size:12px}main{padding:0 18px}.intro{padding:22px 0 26px}.intro h1 br{display:block}.intro-copy{font-size:14px}.studio{grid-template-columns:1fr}.setup{border-right:0;padding:24px 0}.stage{padding:26px 0;border-top:1px solid var(--line)}.stage-heading{gap:8px}.stage-heading h2{font-size:19px}.empty-stage>p{font-size:22px}.empty-stage ol{margin-top:24px}.turn-actions button{flex:1}.messages li{max-width:96%}.in-practice .setup{display:none}.in-practice .intro{display:none}.in-practice .stage{border-top:0}.in-practice .topbar{padding-bottom:16px}.scenes small{font-size:12px}footer a{display:block;margin-left:0}}
@media(prefers-reduced-motion:no-preference){.messages li{animation:arrive .22s ease-out}@keyframes arrive{from{transform:translateY(6px)}to{transform:translateY(0)}}}
