/* Live AI role-play demo (rp-demo.js). Builds on the .demo / .chat / .m styles in landing.css. */
.demo .rp-brief{margin-top:24px;border:1px solid var(--line);border-radius:18px;padding:20px 22px;background:#090c18;max-width:460px;display:grid;gap:10px}
.demo .rp-brief:empty{display:none}
.rp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rp-top b{font-weight:500;font-size:17px}
.rp-level{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);border-radius:99px;padding:4px 10px;white-space:nowrap}
.rp-level.boss{color:#ff8a8a;border-color:rgba(255,138,138,.45)}
.rp-line{font-size:14px;line-height:1.55;color:var(--mute)}
.rp-line.goal{color:var(--fg)}.rp-line.goal span{color:var(--accent)}
.rp-meter{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mute);white-space:nowrap}
.rp-bar{width:80px;height:6px;border-radius:9px;background:#1b1f30;overflow:hidden}
.rp-fill{display:block;height:100%;width:50%;border-radius:9px;background:linear-gradient(90deg,#ff8a8a,#ffd36e 50%,#46f0a6);background-size:80px 100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.rp-num{min-width:34px;text-align:right;color:var(--fg)}
.chat .msgs{position:relative;height:420px}
.m.rp-note{align-self:center;max-width:92%;font-size:13px;color:var(--mute);background:transparent;border:1px dashed var(--line);text-align:center}
.m.rp-note.good{color:#46f0a6;border-color:rgba(70,240,166,.4)}.m.rp-note.bad{color:#ff8a8a;border-color:rgba(255,138,138,.4)}
.rp-link{background:none;border:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.rp-form[hidden],.rp-actions .chip[hidden]{display:none}
.rp-form{display:flex;gap:10px;padding:0 24px 14px;align-items:flex-end}
.rp-form textarea{flex:1;resize:none;min-height:50px;max-height:140px;background:#0d1122;border:1px solid var(--line);border-radius:14px;padding:13px 16px;color:var(--fg);font:400 15px/1.45 var(--sans);transition:border-color .25s,box-shadow .25s}
.rp-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 30px -8px rgba(124,140,255,.6)}
.rp-form textarea:disabled,.rp-form button:disabled,.rp-actions .chip:disabled{opacity:.5;cursor:default}
.rp-form .btn{padding:14px 22px}
.rp-actions{display:flex;gap:10px;padding:0 24px 22px;flex-wrap:wrap}
.rp-actions .chip{font-size:13px;padding:7px 14px}
.m.rp-report{align-self:stretch;max-width:100%;background:#0d1122;border:1px solid rgba(124,140,255,.45);border-radius:18px;padding:20px 20px 18px;display:grid;gap:14px}
.rp-score{display:flex;gap:16px;align-items:center}
.rp-score b{font-size:52px;font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--accent);white-space:nowrap}
.rp-score b small{font-size:15px;color:var(--mute);letter-spacing:0;margin-left:2px}
.rp-score span{font-size:14px;line-height:1.5}
.rp-checks{list-style:none;display:grid;gap:6px;font-size:13px}
.rp-checks li{display:flex;gap:9px;align-items:baseline;color:var(--mute)}
.rp-checks li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#ff8a8a;transform:translateY(-1px)}
.rp-checks li.met{color:var(--fg)}.rp-checks li.met::before{background:#46f0a6}
.rp-sec h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:6px}
.rp-sec ul{padding-left:18px;display:grid;gap:4px;font-size:14px;line-height:1.5}
.rp-sec.good h5{color:#46f0a6}.rp-sec.fix h5{color:#ffd36e}
.rp-sec q{display:block;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.35;color:var(--fg)}
.rp-acts{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}
.rp-acts .btn{padding:10px 18px;font-size:14px}
@media(max-width:700px){
.chat .msgs{height:380px;padding:18px}
.rp-form{padding:0 14px 12px}.rp-actions{padding:0 14px 16px}
.chat header{padding:14px 16px;flex-wrap:wrap}
.rp-score b{font-size:42px}
.rp-acts .btn{flex:1 1 auto;justify-content:center}
}
