.rs-game { --rs-ink:#345640; --rs-paper:#f6f7ef; color:var(--rs-ink); max-width:960px; margin:auto; padding:24px; background:var(--rs-paper); border-radius:32px; font-family:-apple-system,BlinkMacSystemFont,'PingFang HK','Microsoft JhengHei',sans-serif; }
.rs-game * { box-sizing:border-box; }
.rs-game button { appearance:none; font:inherit; font-weight:650; min-height:48px; border:0; border-radius:20px; padding:12px 20px; cursor:pointer; color:var(--rs-ink); background:#e6ecdf; transition:background .15s,transform .15s; }
.rs-game button:hover { background:#d8e2cf; }
.rs-game button:active { transform:translateY(2px); }
.rs-game button:focus-visible,.rs-game summary:focus-visible { outline:3px solid #997021; outline-offset:4px; }
.rs-game button:disabled { opacity:.42; cursor:default; transform:none; }
.rs-game button.rs-primary { background:#2d8052; color:#fff; }
.rs-game button.rs-primary:hover { background:#286d48; }
.rs-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.rs-game h1 { font-size:30px; margin:0; line-height:1.2; }
.rs-game small { display:block; font-size:14px; font-weight:400; margin-top:6px; color:#617762; }
.rs-tools { display:flex; gap:8px; }
.rs-tools button { background:transparent; padding:8px 12px; font-size:13px; }
.rs-heading { text-align:center; margin:24px 0 16px; }
.rs-game h2 { font-size:23px; line-height:1.45; margin:0; color:var(--rs-ink); }
.rs-heading p { margin:10px auto 0; max-width:48ch; font-size:16px; min-height:25px; line-height:1.6; }
.rs-stage { position:relative; height:340px; overflow:hidden; border-radius:30px; background:#e9e3f1; display:flex; justify-content:center; align-items:center; }
.rs-stage:after { content:''; position:absolute; bottom:0; height:65px; inset-inline:0; background:#dbe3cf; z-index:0; }
.rs-live { width:340px; position:relative; z-index:1; }
.rs-puppet { display:block; width:100%; overflow:visible; }
.rs-puppet text { fill:#55735d; font:12px sans-serif; text-anchor:middle; }
.rs-right { transform-origin:81px 145px; }
.rs-left { transform-origin:239px 145px; }
.rs-stage-window { position:absolute; top:30px; left:30px; display:flex; gap:7px; }
.rs-stage-window i { width:12px; height:12px; border-radius:50%; background:#c2b5d1; }
.rs-target { position:absolute; top:20px; right:16px; width:130px; z-index:2; background:#ffffffaa; border-radius:22px; padding:8px; text-align:center; font-size:12px; }
.rs-ghost { opacity:.65; }
.rs-stage-label { position:absolute; bottom:14px; z-index:2; font-size:13px; font-weight:600; }
.rs-paused { position:absolute; inset:0; background:#eef3e4dd; z-index:3; display:grid; place-items:center; font-size:64px; }
.rs-controls { padding-top:16px; }
.rs-subjects { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.rs-subjects button { --pad:#f7e6ad; --pressed:#e7c75b; background:var(--pad); border-radius:22px; box-shadow:0 4px 0 #d8caa5; min-height:82px; }
.rs-subjects button:nth-child(2) { --pad:#e9daf2; --pressed:#cba8de; box-shadow:0 4px 0 #d4c2df; }
.rs-subjects button:nth-child(3) { --pad:#d0ecd0; --pressed:#a4d3a7; box-shadow:0 4px 0 #b7d3b7; }
.rs-subjects button:nth-child(4) { --pad:#d4eaf0; --pressed:#9ccbd7; box-shadow:0 4px 0 #b8d3da; }
.rs-subjects button span { display:block; font-size:27px; margin-bottom:3px; line-height:1; }
.rs-subjects button[aria-pressed=true],.rs-subjects button:hover { background:var(--pressed); }
.rs-motions { display:flex; justify-content:center; gap:10px; padding-block:14px; }
.rs-motions button { flex:1; max-width:220px; background:#fff; }
.rs-motions button[aria-pressed=true] { background:#cddcc1; }
.rs-command { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px 10px 20px; border-radius:23px; background:#fff; font-size:16px; }
.rs-command>span { flex:1; }
.rs-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:16px 0 0; }
.rs-actions:empty { display:none; }
.rs-note { text-align:center; color:#657462; font-size:12px; margin:14px 0 0; }
.rs-game details { margin-top:18px; padding:0; border:0; background:transparent; font-size:14px; line-height:1.7; }
.rs-game summary { cursor:pointer; padding:8px 0; }
.rs-game details p { margin-block:8px; }
.rs-sequence { padding:12px 12px 12px 34px; background:#fff; border-radius:20px; font-size:14px; line-height:1.9; }
.rs-ending { max-width:560px; margin:20px auto; text-align:center; line-height:1.7; }
.rs-standalone { margin:0; padding:24px; background:#edf2e8; }
.rs-standalone>a { display:block; max-width:960px; margin:0 auto 16px; color:#2d8052; font:14px sans-serif; }
@media(max-width:600px){
 .rs-game { padding:14px; border-radius:24px; }
 .rs-game h1 { font-size:25px; }
 .rs-game h2 { font-size:20px; }
 .rs-heading { margin:18px 0 12px; }
 .rs-heading p { font-size:14px; }
 .rs-stage { height:280px; border-radius:24px; }
 .rs-live { width:280px; }
 .rs-target { width:83px; right:8px; top:10px; padding:4px; border-radius:14px; }
 .rs-stage-window { left:15px; top:20px; }
 .rs-subjects { gap:7px; }
 .rs-subjects button { padding:10px 4px; min-height:76px; font-size:14px; }
 .rs-command { padding:8px 8px 8px 12px; font-size:14px; }
 .rs-command button { padding:10px 14px; }
 .rs-tools { gap:0; }
 .rs-tools button { padding:8px; font-size:12px; }
 .rs-standalone { padding:12px; }
}
@media(prefers-reduced-motion:reduce){.rs-game button { transition:none; }}
