.simulation-mode-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:18px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--card);
}
.simulation-mode-switch button{
  display:grid;
  gap:2px;
  padding:12px 15px;
  border:1px solid transparent;
  border-radius:11px;
  text-align:left;
  color:var(--muted);
  background:transparent;
}
.simulation-mode-switch button b{font-size:13px;color:var(--text)}
.simulation-mode-switch button span{font-size:9px}
.simulation-mode-switch button.active{
  border-color:#c8d9ff;
  background:#edf3ff;
  box-shadow:0 7px 18px rgba(21,94,239,.07);
}
.simulation-mode-switch button.active b{color:var(--p)}
body.dark .simulation-mode-switch button.active{border-color:#274f90;background:#10284b}
.scenarios .scenario{display:block;width:100%;font:inherit;text-align:left;color:var(--text)}
.scenario .scenario-title{display:block;margin:9px 0 4px;font-size:16px;font-weight:850;line-height:1.35}
.scenario .scenario-org{display:block;color:var(--muted);font-size:11px;line-height:1.6}

.roleplay-archive-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:-6px 0 14px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--card) 88%,var(--card2));
}
.roleplay-archive-nav>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.roleplay-archive-nav b{font-size:10px}
.roleplay-archive-nav span{color:var(--muted);font-size:8px}

.roleplay-agent-shell{display:grid;gap:16px;min-width:0}
.roleplay-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px 27px;
  border-radius:20px;
  color:#fff;
  background:radial-gradient(circle at 86% 10%,rgba(44,224,198,.25),transparent 28%),linear-gradient(135deg,#071a39,#0d4281 58%,#086773);
  box-shadow:var(--sh);
}
.roleplay-intro h2{margin:7px 0 5px;font-size:25px}
.roleplay-intro p{max-width:780px;margin:0;color:rgba(255,255,255,.72)}
.roleplay-live-dot{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#087b6c;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}
.roleplay-intro .roleplay-live-dot{color:#71ead8}
.roleplay-live-dot:before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#2bcdb6;
  box-shadow:0 0 0 5px rgba(43,205,182,.12);
}
.roleplay-limit{
  display:grid;
  min-width:108px;
  padding:14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:15px;
  text-align:center;
  background:rgba(255,255,255,.08);
}
.roleplay-limit b{font-size:28px;line-height:1}
.roleplay-limit span{font-size:9px;color:rgba(255,255,255,.65)}

.roleplay-industry-card{display:grid;gap:14px;padding:18px}
.roleplay-industry-card .industry-tabs{margin:0}
.roleplay-industry-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  align-items:center;
  gap:18px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--card2) 82%,#edf3ff),color-mix(in srgb,var(--card2) 88%,#e9f9f5));
}
.roleplay-industry-summary h3{margin:7px 0 4px;font-size:17px}
.roleplay-industry-summary p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.roleplay-industry-summary .mini-chain{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.roleplay-industry-summary .mini-chain span{padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--card);font-size:8px;font-weight:750}

.roleplay-setup-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:16px;
  align-items:start;
}
.roleplay-role-card,.roleplay-form{min-width:0}
.roleplay-agent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.roleplay-agent-choice{
  display:grid;
  justify-items:start;
  gap:4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  text-align:left;
  color:var(--text);
  background:var(--card2);
}
.roleplay-agent-choice>span{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg,var(--p),var(--t));
  font-weight:900;
}
.roleplay-agent-choice b{font-size:10px}
.roleplay-agent-choice small{font-size:8px;color:var(--muted)}
.roleplay-agent-choice.active{
  border-color:#7aa6ff;
  background:#edf3ff;
  box-shadow:0 0 0 2px rgba(21,94,239,.08);
}
body.dark .roleplay-agent-choice.active{background:#10284b}
.roleplay-form textarea{min-height:92px}
.roleplay-form [aria-invalid="true"]{border-color:#db6270;box-shadow:0 0 0 3px rgba(219,98,112,.1)}
.roleplay-form-error{min-height:17px;margin-top:10px;color:#b73142;font-size:9px;font-weight:750}
.roleplay-start{width:100%;margin-top:16px}
.roleplay-privacy{margin:11px 0 0;text-align:center}

.roleplay-session-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:17px 19px 17px 22px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--card);
  box-shadow:0 10px 28px rgba(24,54,98,.07);
}
.roleplay-session-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--p),var(--t));
}
.roleplay-session-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.roleplay-session-company{
  display:inline-flex;
  padding:3px 7px;
  border-radius:99px;
  color:var(--muted);
  background:var(--card2);
  font-size:8px;
  font-weight:800;
}
.roleplay-session-card h2{margin:5px 0 4px;font-size:20px;line-height:1.25}
.roleplay-session-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.roleplay-session-meta span{font-size:9px;color:var(--muted)}
.roleplay-session-meta span+span:before{content:"·";margin-right:6px;color:#a8b4c6}
.roleplay-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.roleplay-turn{
  display:grid;
  min-width:100px;
  gap:5px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  background:var(--card2);
  font-size:9px;
  text-align:center;
}
.roleplay-turn b{color:var(--text);font-size:18px;line-height:1}
.roleplay-turn i{height:3px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--line) 78%,transparent)}
.roleplay-turn i:before{content:"";display:block;width:var(--roleplay-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--p),var(--t))}

.roleplay-debrief-panel{
  overflow:hidden;
  padding:0;
  border-color:#b9cffb;
  box-shadow:0 14px 38px rgba(21,94,239,.11);
}
.roleplay-debrief-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px 15px;
  border-bottom:1px solid #dce7fc;
  background:linear-gradient(135deg,#f4f7ff,#edf9f7);
}
.roleplay-debrief-head h3{margin:7px 0 4px;font-size:18px}
.roleplay-debrief-head p{margin:0;color:var(--muted);font-size:9px}
.roleplay-debrief-panel form{padding:17px 20px 18px}
.roleplay-reflection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.roleplay-reflection-grid textarea{min-height:105px}
.roleplay-debrief-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px}
.roleplay-debrief-actions>p{max-width:520px;margin:0;color:var(--muted);font-size:8px;line-height:1.55}

.roleplay-archive-shell{display:grid;gap:16px;min-width:0}
.roleplay-archive-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 27px;
  border:1px solid #cddcf8;
  border-radius:20px;
  background:radial-gradient(circle at 90% 10%,rgba(43,205,182,.15),transparent 32%),linear-gradient(135deg,#f8faff,#f1f7ff 60%,#eefbf8);
  box-shadow:0 12px 32px rgba(24,54,98,.08);
}
.roleplay-archive-hero h2{margin:7px 0 5px;font-size:24px}
.roleplay-archive-hero p{margin:0;color:var(--muted)}
.roleplay-archive-count{display:grid;min-width:96px;justify-items:center;padding:12px;border:1px solid #ceddf9;border-radius:14px;color:var(--muted);background:rgba(255,255,255,.65);font-size:8px}
.roleplay-archive-count b{color:var(--p);font-size:25px;line-height:1}
.roleplay-archive-state{display:grid;justify-items:center;gap:8px;padding:52px 24px;border:1px dashed #c8d8f2;border-radius:18px;text-align:center;background:var(--card)}
.roleplay-archive-state>span:not(.roleplay-live-dot){padding:4px 8px;border-radius:99px;color:var(--muted);background:var(--card2);font-size:8px;font-weight:850}
.roleplay-archive-state h3{margin:2px 0 0;font-size:17px}
.roleplay-archive-state p{max-width:560px;margin:0 0 5px;color:var(--muted)}
.roleplay-archive-list{display:grid;gap:9px}
.roleplay-archive-more{display:flex;justify-content:center;padding:18px 0 4px}
.roleplay-archive-item{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto auto;
  align-items:center;
  gap:15px;
  width:100%;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--text);
  background:var(--card);
  text-align:left;
  box-shadow:0 7px 20px rgba(24,54,98,.04);
}
.roleplay-archive-item:hover{border-color:#9fbaf1;transform:translateY(-1px);box-shadow:0 11px 25px rgba(24,54,98,.08)}
.roleplay-archive-date{color:var(--muted);font-size:9px;font-weight:800}
.roleplay-archive-item h3{margin:0 0 3px;font-size:14px}
.roleplay-archive-item p{margin:0;color:var(--muted);font-size:9px}
.roleplay-archive-rounds{display:flex;align-items:baseline;gap:3px;color:var(--muted);font-size:8px}
.roleplay-archive-rounds b{color:var(--p);font-size:18px}
.roleplay-archive-item>i{color:var(--p);font-size:17px;font-style:normal}

.roleplay-archive-detail-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:21px 23px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--card);
  box-shadow:0 10px 28px rgba(24,54,98,.07);
}
.roleplay-archive-detail-head h2{margin:9px 0 4px;font-size:21px}
.roleplay-archive-detail-head p{margin:0;color:var(--muted);font-size:9px}
.roleplay-text-button{margin:0 10px 8px 0;padding:0;border:0;color:var(--p);background:transparent;font-size:9px;font-weight:850}
.roleplay-archive-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}
.roleplay-archive-transcript{min-width:0;padding:0;overflow:hidden}
.roleplay-archive-transcript .section-title{padding:15px 18px;border-bottom:1px solid var(--line)}
.roleplay-archive-transcript h3{margin-top:6px}
.roleplay-archive-messages{display:grid;align-content:start;gap:12px;max-height:min(72vh,760px);overflow:auto;padding:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--card2) 58%,var(--card)),var(--card))}
.roleplay-archive-sidebar{position:sticky;top:84px;display:grid;gap:12px;min-width:0}
.roleplay-archive-sidebar .card{padding:17px}
.roleplay-archive-reflection{display:grid;gap:12px}
.roleplay-archive-reflection h3,.roleplay-archive-evidence h3{margin:6px 0 4px;font-size:16px}
.roleplay-archive-reflection>div>p,.roleplay-archive-evidence>p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.roleplay-archive-reflection textarea{min-height:82px}
body.dark .roleplay-archive-hero{border-color:#27456f;background:radial-gradient(circle at 90% 10%,rgba(43,205,182,.12),transparent 32%),linear-gradient(135deg,#10213d,#122a48 60%,#10363e)}
body.dark .roleplay-archive-count{border-color:#31507b;background:rgba(5,18,38,.38)}
body.dark .roleplay-debrief-head{border-color:#29486f;background:linear-gradient(135deg,#10213d,#11343b)}
body.dark .roleplay-debrief-panel{border-color:#315b91}

.roleplay-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  gap:16px;
  align-items:start;
}
.roleplay-chat-card{display:grid;min-width:0;padding:0;overflow:hidden}
.roleplay-chat-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 17px;
  border-bottom:1px solid var(--line);
  background:var(--card);
}
.roleplay-chat-topline>div{display:flex;align-items:center;gap:8px;min-width:0}
.roleplay-chat-topline b{font-size:12px}
.roleplay-chat-topline>span{color:var(--muted);font-size:9px;text-align:right}
.roleplay-messages{
  display:grid;
  align-content:start;
  gap:12px;
  min-height:260px;
  max-height:min(56vh,620px);
  overflow:auto;
  padding:18px 20px 24px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--card2) 58%,var(--card)),var(--card));
  scroll-behavior:smooth;
}
.roleplay-message{display:grid;gap:4px;width:fit-content;max-width:min(82%,720px)}
.roleplay-message>span{padding:0 5px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.7px}
.roleplay-message>div{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:15px;
  border-bottom-left-radius:4px;
  background:var(--card);
  font-size:13px;
  line-height:1.75;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.roleplay-message.user{justify-self:end}
.roleplay-message.user>span{text-align:right}
.roleplay-message.user>div{
  color:#fff;
  border-color:transparent;
  border-radius:15px;
  border-bottom-right-radius:4px;
  background:linear-gradient(135deg,var(--p),#147dc2);
}
.roleplay-message.pending{opacity:.65}

.roleplay-compose{padding:13px 15px 11px;border-top:1px solid var(--line);background:var(--card)}
.roleplay-compose-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}
.roleplay-compose textarea{
  width:100%;
  min-width:0;
  min-height:64px;
  max-height:150px;
  resize:vertical;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  outline:none;
  color:var(--text);
  background:var(--card2);
  font-size:13px;
  line-height:1.6;
}
.roleplay-compose textarea:focus{border-color:#79a4ff;box-shadow:0 0 0 3px rgba(21,94,239,.09)}
.roleplay-compose-main .btn{display:grid;align-content:center;min-width:82px;padding:8px 14px}
.roleplay-compose-main .btn span{font-size:12px}
.roleplay-compose-main .btn small{font-size:8px;font-weight:650;opacity:.68}
.roleplay-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}
.roleplay-compose-foot span{color:var(--muted);font-size:8px}

.roleplay-evidence{position:sticky;top:84px;display:grid;gap:12px;min-width:0}
.roleplay-evidence .card{padding:17px;box-shadow:0 8px 24px rgba(24,54,98,.06)}
.roleplay-evidence-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.roleplay-evidence-title h3{margin:6px 0 0;font-size:16px}
.roleplay-evidence-title>span{padding-top:4px;color:var(--muted);font-size:8px;white-space:nowrap}
.roleplay-research-summary{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.72}
.roleplay-disclosure{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.roleplay-disclosure summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  list-style:none;
  cursor:pointer;
  color:var(--text);
  font-size:10px;
  font-weight:850;
}
.roleplay-disclosure summary::-webkit-details-marker{display:none}
.roleplay-disclosure summary:after{content:"＋";margin-left:auto;color:var(--p);font-size:13px;font-weight:500}
.roleplay-disclosure[open] summary:after{content:"−"}
.roleplay-disclosure summary span{display:inline-flex;min-width:20px;justify-content:center;padding:2px 6px;border-radius:99px;color:var(--muted);background:var(--card2);font-size:8px}
.roleplay-disclosure ul{margin:9px 0 0;padding-left:17px}
.roleplay-disclosure li{margin:5px 0;color:var(--muted);font-size:9px;line-height:1.65}
.roleplay-sources{display:grid;gap:6px;margin-top:9px}
.roleplay-sources a{
  display:grid;
  min-width:0;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--p);
  background:var(--card2);
  text-decoration:none;
}
.roleplay-sources a:hover{border-color:#9cb9f2;background:color-mix(in srgb,var(--card2) 84%,#edf3ff)}
.roleplay-sources a span{overflow:hidden;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.roleplay-sources a small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.roleplay-claim-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.roleplay-claim-sources a{max-width:100%;padding:2px 5px;border-radius:5px;color:var(--p);background:var(--card2);font-size:7px;text-decoration:none}
.roleplay-claim-sources a span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roleplay-claim-sources a small{display:none}
.roleplay-priorities{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.roleplay-priorities span{padding:5px 8px;border:1px solid #d5e2fc;border-radius:9px;color:var(--p);background:#edf3ff;font-size:8px;font-weight:800}
.roleplay-style{display:grid;gap:3px;margin-top:12px;padding:10px 11px;border-radius:10px;background:var(--card2)}
.roleplay-style b{font-size:8px;color:var(--muted)}
.roleplay-style span{font-size:9px;line-height:1.55}
body.dark .roleplay-priorities span{border-color:#274f90;background:#10284b}

.roleplay-complete{padding:30px;text-align:center}
.roleplay-complete>span{display:inline-flex;padding:5px 9px;border-radius:99px;color:#087b6c;background:#e9f9f5;font-size:9px;font-weight:900}
.roleplay-complete .actions{justify-content:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1280px){
  .roleplay-workspace{grid-template-columns:1fr}
  .roleplay-evidence{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .roleplay-archive-detail-grid{grid-template-columns:1fr}
  .roleplay-archive-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1120px){
  .roleplay-setup-grid{grid-template-columns:1fr}
  .roleplay-industry-summary{grid-template-columns:1fr}
  .roleplay-industry-summary .mini-chain{justify-content:flex-start}
}
@media(max-width:760px){
  .simulation-mode-switch{grid-template-columns:1fr}
  .roleplay-archive-nav{align-items:flex-start;margin-top:0}
  .roleplay-archive-nav>div{display:grid;gap:2px}
  .roleplay-intro{align-items:flex-start;padding:20px}
  .roleplay-limit{display:none}
  .roleplay-session-card{grid-template-columns:1fr;gap:13px;padding:16px 16px 16px 19px}
  .roleplay-session-card h2{font-size:18px}
  .roleplay-head-actions{justify-content:flex-start}
  .roleplay-turn{width:100%}
  .roleplay-debrief-head{padding:16px}
  .roleplay-debrief-panel form{padding:15px 16px}
  .roleplay-reflection-grid{grid-template-columns:1fr}
  .roleplay-debrief-actions{align-items:stretch;flex-direction:column}
  .roleplay-debrief-actions .actions{display:grid;grid-template-columns:1fr}
  .roleplay-archive-hero{align-items:flex-start;padding:20px}
  .roleplay-archive-count{display:none}
  .roleplay-archive-item{grid-template-columns:1fr auto;gap:7px 12px}
  .roleplay-archive-date{grid-column:1/-1}
  .roleplay-archive-item>i{display:none}
  .roleplay-archive-detail-head{align-items:flex-start;flex-direction:column;padding:18px}
  .roleplay-archive-sidebar{grid-template-columns:1fr}
  .roleplay-agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .roleplay-evidence{grid-template-columns:1fr}
  .roleplay-chat-topline{display:grid;gap:4px}
  .roleplay-chat-topline>span{text-align:left}
  .roleplay-messages{min-height:230px;padding:15px}
  .roleplay-message{max-width:92%}
  .roleplay-compose-foot{align-items:flex-start;flex-direction:column;gap:2px}
}
@media(max-width:520px){
  .roleplay-compose-main{grid-template-columns:1fr}
  .roleplay-compose-main .btn{min-height:45px}
}
