/* ============================================================
   s2.css — استایل‌های فصلِ دوم (میزِ پرونده، صحنه‌ی آزاد،
   اتاقِ بازجوییِ سینمایی، تنش‌سنج، پلی‌گراف)
   پالتِ نوآر از style.css (var(--gold) و …) استفاده می‌شود.
   ============================================================ */

/* ---------- قاب و نوارِ بالا ---------- */
.s2-shell { animation: fade .25s ease; }
.s2-coins { color: var(--gold); font-weight: 700; letter-spacing: .5px; }
.s2-ms-title { color: var(--gold) !important; }
.s2-body { min-height: 200px; padding-bottom: 78px; /* جا برای دکمه‌ی شناورِ 🎒 */ }

/* ---------- نوارِ نازکِ بالا: فقط وضعیت (منو، عنوان، شرافت، سکه) ---------- */
.s2-topbar { gap: 8px; flex-wrap: nowrap; margin-bottom: 12px; }
.s2-topbar .case-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.s2-menu-btn { flex-shrink: 0; white-space: nowrap; cursor: pointer; }
.s2-topbar .clue-count { flex-shrink: 0; white-space: nowrap; }

/* خوانشِ فشرده‌ی شرافت در نوارِ بالا (🎖️ N) — بیرون از بازجویی هم دیده می‌شود */
.s2-honortop { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; }
.s2-honortop b { font-weight: 800; font-size: 14px; transition: color .3s; }
.s2-honortop-low  b { color: #ff9a8f; }
.s2-honortop-mid  b { color: #e8c07d; }
.s2-honortop-high b { color: #8ef0b0; }

/* نوارِ «بازگشت به میز» — روی زیرصفحه‌ها (صحنه/بازجویی/اتهام)، باریک و کم‌ارتفاع */
.s2-deskback { display: flex; margin: 0 0 12px; }
.s2-deskback-btn {
  font-family: inherit; font-size: 13.5px; padding: 7px 14px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 4px;
}
.s2-deskback-btn:hover { border-color: var(--gold); color: var(--gold); }

@media (max-width: 480px) {
  .s2-topbar { gap: 6px; }
  .s2-topbar .back-btn { padding: 7px 10px; }
  .s2-honortop, .s2-topbar .s2-coins { padding: 6px 9px; font-size: 13px; }
  .s2-deskback-btn { font-size: 13px; padding: 7px 12px; }
}

/* ---------- دکمه‌ی شناورِ 🎒 ---------- */
.s2-fab-notes {
  position: fixed; right: 18px; bottom: 18px; z-index: 40;
  width: 52px; height: 52px; border-radius: 50%; font-size: 23px; line-height: 1;
  background: linear-gradient(180deg, var(--card2), var(--card));
  border: 1.5px solid #4a3c26; color: var(--paper); cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .5); transition: .15s;
  display: grid; place-items: center;
}
.s2-fab-notes:hover { border-color: var(--gold); transform: translateY(-2px); }

/* ---------- کشوی یادداشت‌ها (🎒) ---------- */
.s2-drawer-ov {
  position: fixed; inset: 0; z-index: 70;
  background: rgba(0, 0, 0, .5); backdrop-filter: blur(1px);
  opacity: 0; transition: opacity .25s ease;
}
.s2-drawer-ov.open { opacity: 1; }
.s2-drawer {
  position: absolute; top: 0; bottom: 0; right: 0;
  width: min(92vw, 400px);
  background: linear-gradient(180deg, var(--card2), var(--card));
  border-left: 1px solid #3a2f1d; box-shadow: -16px 0 44px rgba(0, 0, 0, .55);
  transform: translateX(102%); transition: transform .28s cubic-bezier(.3, 1, .4, 1);
  display: flex; flex-direction: column;
}
.s2-drawer-ov.open .s2-drawer { transform: none; }
.s2-drawer-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px; border-bottom: 1px solid #3a2f1d; flex-shrink: 0;
}
.s2-drawer-head h3 { color: var(--gold); font-size: 17px; margin: 0; }
.s2-drawer-x {
  width: 32px; height: 32px; border-radius: 50%; font-size: 15px; line-height: 1;
  background: #ffffff10; border: 1px solid #ffffff22; color: var(--paper); cursor: pointer;
}
.s2-drawer-x:hover { background: #ffffff22; border-color: var(--gold2); }
.s2-drawer-body { padding: 6px 16px 22px; overflow-y: auto; flex: 1; }
.s2-d-title { color: var(--gold); font-size: 14px; margin: 16px 0 8px; }
.s2-drawer .free-notes { min-height: 90px; }

/* ---------- بوم‌های SVG (میز/صحنه/اتاق) ---------- */
.s2-desk, .s2-scene, .s2-room {
  position: relative; border-radius: 14px; overflow: hidden;
  border: 2px solid #3a2f1d; box-shadow: var(--shadow); background: #0d0a07;
}
.s2-desk svg, .s2-scene svg, .s2-room svg.s2-room-svg { display: block; width: 100%; height: auto; }

/* دانه‌ی فیلم + وینیت روی هر سه بوم */
.s2-desk::after, .s2-scene::after, .s2-room::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 6;
  background:
    radial-gradient(120% 95% at 50% 32%, transparent 55%, rgba(0, 0, 0, .38) 100%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .013) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .022) 0 1px, transparent 1px 4px);
}

/* ---------- میزِ پرونده ---------- */
.s2-desk-tip { margin-top: 8px; }
/* گروه‌های تعاملی باید کلیک بگیرند (وینیت و لایه‌های تزئینی pointer-events:none دارند) */
.s2-item-g, .s2-item-g .s2-hit { pointer-events: auto; }
.s2-item-g { cursor: pointer; transition: filter .15s; }
.s2-item-g:hover { filter: brightness(1.22) drop-shadow(0 0 7px rgba(217, 179, 90, .45)); }

/* آیتم‌های مقصدِ میز (هابِ ناوبری): بزرگ‌نماییِ خفیف + درخشش (scale روی گروهِ داخلی) */
.s2-goto-inner { transform-box: fill-box; transform-origin: center; transition: transform .16s ease; }
.s2-item-g[data-goto]:hover .s2-goto-inner { transform: scale(1.07); }
.s2-item-g[data-goto]:hover { filter: brightness(1.26) drop-shadow(0 0 11px rgba(217, 179, 90, .6)); }
.s2-desk-label {
  fill: #d8c8a0; font-size: 14.5px; font-weight: 700; font-family: inherit;
  paint-order: stroke; stroke: #000; stroke-width: 3px; stroke-opacity: .5;
}
.s2-desk-sub {
  fill: #b8a06a; font-size: 11px; font-weight: 700; font-family: inherit;
  paint-order: stroke; stroke: #000; stroke-width: 2.4px; stroke-opacity: .5;
}
.s2-clicktag { animation: s2tagpulse 1.7s ease-in-out infinite; transform-box: fill-box; transform-origin: center; pointer-events: none; }
@keyframes s2tagpulse { 0%, 100% { opacity: .95; } 50% { opacity: .45; } }

/* مدرکِ سندی (بانک/خلافی/راهور/دوربین...) — پوسته‌ی کاغذی به‌جای صفحه‌ی گوشیِ تیره */
.s2-phone.s2-rec-doc { background: linear-gradient(180deg, #f3ead2, #e6d9b8); color: #33291a; border: 1px solid #c9b68a; }
.s2-phone.s2-rec-doc .phone-name { color: #4a3a1a; border-bottom-color: #c9b68a; }
.s2-phone.s2-rec-doc .s2-p-title { color: #6a4f24; opacity: 1; }
.s2-phone.s2-rec-doc .p-rec { background: #fbf5e4; color: #33291a; border-inline-start: 3px solid #b8923a; }
.s2-phone.s2-rec-doc .p-rec.empty { color: #8a7a54; }

/* ---------- مودال‌ها ---------- */
.s2-ov { z-index: 60; }
.s2-doc { max-width: 640px; width: min(94vw, 640px); max-height: 86vh; overflow-y: auto; position: relative; }
.s2-x {
  position: absolute; top: 10px; inset-inline-start: 10px;
  background: #00000014; border: 1px solid #00000033; color: #5a3a1a;
  width: 32px; height: 32px; border-radius: 50%; font-size: 15px; line-height: 1;
}
.s2-x:hover { background: #00000026; }

/* تب‌های بخش‌بخشِ سند */
.s2-sectabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; border-bottom: 2px solid #00000022; padding-bottom: 10px; }
.s2-sectab {
  background: #e3d2a4; border: 1px solid #b8a06a; color: #4a3413;
  border-radius: 9px; padding: 6px 13px; font-size: 14px; transition: .12s;
}
.s2-sectab:hover { background: #d9c390; }
.s2-sectab.on { background: #caa14c; border-color: #a8843a; color: #221a0c; font-weight: 700; }
.s2-locked {
  background: #efe3c4; border: 1.5px dashed #a08040; color: #7a5a2a;
  text-align: center; padding: 28px 14px; border-radius: 10px; font-size: 15px;
}
.s2-secbody { min-height: 120px; }

/* گوشی */
.s2-phone-wrap { width: min(94vw, 430px); }
.s2-phone { max-height: 86vh; overflow-y: auto; }
.s2-p-title { color: #b9c6f0; font-size: 13px; margin: 12px 0 4px; opacity: .9; font-weight: 700; }
.s2-phone .ghost-btn { margin: 16px auto 4px; }
.s2-phone-lock { text-align: center; padding: 18px 8px 10px; color: #dfe3f0; }
.s2-phone-lock p { font-size: 14px; line-height: 1.9; color: #aab4d0; }
.s2-lock-ic { font-size: 46px; margin-bottom: 4px; }

/* ---------- صحنه‌ی آزاد ---------- */
/* اشیای صحنه و ناحیه‌ی لمسیِ آن‌ها کلیک می‌گیرند؛ لایه‌های پس‌زمینه/وینیت نه */
.s2-obj, .s2-obj .s2-hit { pointer-events: auto; }
.s2-obj { cursor: pointer; }
.s2-obj:hover { filter: brightness(1.18); }
.s2-obj-hint { animation: s2hint 2.4s ease-in-out infinite; }
@keyframes s2hint {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(217, 179, 90, 0)); }
  50% { filter: drop-shadow(0 0 8px rgba(217, 179, 90, .8)) brightness(1.12); }
}
.s2-checkmark { pointer-events: none; }
.s2-hit { cursor: pointer; }
.s2-scene { cursor: crosshair; }

/* ---------- واکنشِ فیزیکیِ اشیای صحنه (روی گروهِ داخلیِ .s2-art تا translate نشکند) ---------- */
.s2-obj .s2-art { transform-box: fill-box; }

/* درِ اتاق: بازشدن حولِ لولا (لبه‌ی چپ) و ماندن در حالتِ باز */
.s2-react-door .s2-art {
  transform-origin: left center;
  animation: s2rdoor .7s cubic-bezier(.25, .9, .3, 1) forwards;
}
@keyframes s2rdoor {
  0%   { transform: perspective(620px) rotateY(0deg); }
  100% { transform: perspective(620px) rotateY(-46deg); filter: brightness(.82); }
}

/* کشو: بیرون‌سُریدن به سمتِ پایین و ماندن در حالتِ باز */
.s2-react-drawer .s2-art {
  transform-origin: center bottom;
  animation: s2rdrawer .55s cubic-bezier(.25, .9, .3, 1) forwards;
}
@keyframes s2rdrawer {
  0%   { transform: translateY(0); }
  70%  { transform: translateY(27px); }
  100% { transform: translateY(21px); }
}

/* تابلو: کج‌شدن و کنار رفتن تا پشتش پیدا شود (و ماندن) */
.s2-react-painting .s2-art {
  transform-origin: right top;
  animation: s2rpaint .6s cubic-bezier(.25, .9, .3, 1) forwards;
}
@keyframes s2rpaint {
  0%   { transform: rotate(0) translateX(0); }
  100% { transform: rotate(9deg) translateX(-18px); filter: brightness(.9); }
}

/* پنجره: لرزشِ ناگهانی؛ ترکِ شیشه پس از آن می‌ماند */
.s2-react-window .s2-art {
  transform-origin: center center;
  animation: s2rwindow .5s ease;
}
@keyframes s2rwindow {
  0%, 100% { transform: translate(0, 0); }
  15% { transform: translate(-3px, 1px); }
  35% { transform: translate(3px, -1px); }
  55% { transform: translate(-2px, 1px); }
  78% { transform: translate(1px, 0); }
}
.s2-crackline { animation: s2rcrack .5s ease .16s forwards; }
@keyframes s2rcrack { to { opacity: .85; } }

/* مبل: بالا آمدنِ کوتاهِ نشیمن (گذرا) */
.s2-react-sofa .s2-art {
  transform-origin: center bottom;
  animation: s2rsofa .6s ease;
}
@keyframes s2rsofa {
  0%, 100% { transform: translateY(0) scaleY(1); }
  40% { transform: translateY(-6px) scaleY(1.05); }
}

/* بقیه: تکانِ ظریفِ نوآر */
.s2-react-nudge .s2-art {
  transform-origin: center;
  animation: s2rnudge .45s ease;
}
@keyframes s2rnudge {
  0%, 100% { transform: translateY(0) rotate(0); }
  30% { transform: translateY(-4px) rotate(-1.5deg); }
  60% { transform: translateY(1px) rotate(1deg); }
}

/* موجِ کلیکِ متفرقه — کلِ اتاق قابلِ وارسی است */
.s2-ripple {
  position: absolute; width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border: 2px solid var(--gold); border-radius: 50%;
  pointer-events: none; z-index: 7;
  animation: s2ripple .75s ease-out forwards;
}
@keyframes s2ripple {
  0%   { transform: scale(.35); opacity: .95; box-shadow: 0 0 0 0 rgba(217, 179, 90, .4); }
  100% { transform: scale(2.7); opacity: 0;  box-shadow: 0 0 0 16px rgba(217, 179, 90, 0); }
}

/* نوارِ بررسی (پایینِ صحنه) */
.s2-strip {
  display: flex; gap: 10px; align-items: flex-start;
  background: linear-gradient(180deg, var(--card2), var(--card));
  border: 1px solid #3a2f1d; border-right: 4px solid var(--gold2);
  border-radius: 12px; padding: 12px 14px; margin-top: 10px;
  min-height: 54px; font-size: 15px; line-height: 1.9;
}
.s2-strip b { color: var(--gold); }
.s2-strip-ic { font-size: 20px; }
.s2-strip.anim { animation: s2stripin .3s ease; }
@keyframes s2stripin { from { transform: translateY(7px); opacity: .35; } }
.s2-chips { margin-top: 10px; line-height: 2.6; }
.s2-nochips { color: var(--muted); font-size: 13px; }

/* ---------- اتاقِ بازجویی — ستونِ یگانه: پرتره بالا، گفته و انتخاب‌ها بلافاصله زیرش ---------- */
.s2-int {
  display: flex; flex-direction: column; gap: 12px;
  max-width: 620px; margin-inline: auto; direction: rtl;
}
.s2-int-topbar { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.s2-who h3 { color: var(--gold); font-size: 19px; margin: 0; display: inline-block; }
.s2-who .role { color: var(--muted); font-size: 12.5px; margin-inline-start: 8px; }
.s2-suspects-chip {
  background: none; border: none; color: var(--muted); cursor: pointer;
  font-size: 13.5px; font-family: inherit; padding: 4px 6px; border-radius: 8px;
  white-space: nowrap; transition: color .15s;
}
.s2-suspects-chip:hover { color: var(--gold); }
.s2-int-stage { width: 100%; }
/* پرتره تمام‌عرض؛ روی صفحه‌های بلند/پهن ارتفاعش تا ۴۶vh مهار می‌شود */
.s2-int-stage .s2-room { width: 100%; max-width: calc(46vh * 1.73); margin-inline: auto; }
.s2-room { min-width: 0; background: #0b0d11; border-color: #23262b; }
.s2-bio {
  font-size: 12.5px; color: var(--paper); opacity: .7; line-height: 1.8; margin: 2px 0 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* سرِ مظنون (چهره‌ی Faces روی شانه‌ها) */
.s2-head {
  position: absolute; left: 40.7%; top: 9%; width: 18.6%; z-index: 4;
  pointer-events: none; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .55));
}
.s2-head svg { width: 100%; height: auto; display: block; }

/* تنفسِ آرام — بدن (svg) و سر (div) هم‌زمان */
.s2-breather { animation: s2breathe 3.8s ease-in-out infinite; transform-box: fill-box; }
@keyframes s2breathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }

/* جا خوردن هنگامِ کوبیدن + پریدنِ وسایلِ میز */
.s2-room.flinch .s2-breather { animation: s2flinch .5s cubic-bezier(.2, .8, .3, 1) !important; }
@keyframes s2flinch {
  0% { transform: translate(0, 0); }
  18% { transform: translate(-7px, -11px) rotate(-2deg); }
  45% { transform: translate(6px, 2px) rotate(1deg); }
  72% { transform: translate(-3px, 1px); }
  100% { transform: translate(0, 0); }
}
.s2-item { transform-box: fill-box; transform-origin: center; }
.s2-room.flinch .s2-item { animation: s2jolt .55s ease; }
@keyframes s2jolt {
  0% { transform: translateY(0); }
  22% { transform: translateY(-13px) rotate(4deg); }
  55% { transform: translateY(2px) rotate(-2deg); }
  100% { transform: translateY(0); }
}

/* بلند شدن (قفلِ بازجویی) */
.s2-room.s2-standup .s2-breather {
  animation: none; transform: translateY(-26px);
  transition: transform .45s cubic-bezier(.3, 1.3, .4, 1);
}

/* گفته‌ی مظنون — کارتِ پهن بلافاصله زیرِ پرتره (جایِ اصلیِ متن) */
.s2-say {
  position: relative; display: flex; align-items: flex-start; gap: 10px;
  background: linear-gradient(180deg, rgba(30, 25, 17, .96), rgba(20, 16, 10, .96));
  border: 1px solid #4a3c26; border-inline-start: 4px solid var(--gold2);
  border-radius: 14px; padding: 13px 16px; min-height: 52px;
  font-size: 15.5px; line-height: 1.95; color: #efe3c4;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .4); direction: rtl; text-align: right;
}
.s2-say[hidden] { display: none; }
.s2-say::before { content: "🗨️"; font-size: 15px; opacity: .8; margin-top: 2px; flex-shrink: 0; }
.s2-btxt { flex: 1; min-width: 0; }
.s2-btxt.typing::after { content: "▍"; color: var(--gold); animation: s2caret .7s steps(1) infinite; }
@keyframes s2caret { 50% { opacity: 0; } }

/* 🔊 پخشِ دوباره‌ی جمله‌ی جاری — دکمه‌ی کوچکِ درون‌خطی */
.s2-say .s2-replay {
  display: none; flex-shrink: 0; align-self: center;
  width: 30px; height: 30px; border-radius: 50%; place-items: center;
  background: #2a2114; border: 1px solid #4a3c26; color: var(--gold);
  font-size: 13px; line-height: 1; cursor: pointer; transition: .15s;
}
.s2-say.s2-hasline .s2-replay { display: grid; }
.s2-say .s2-replay:hover { border-color: var(--gold); transform: scale(1.08); }
.s2-say.lie { border-inline-start-color: #c4453f; box-shadow: 0 0 14px rgba(196, 69, 63, .22), 0 6px 18px rgba(0, 0, 0, .4); }
.s2-say.lie::before { content: "🤥"; }
.s2-say.crack { border-inline-start-color: #e8a33d; box-shadow: 0 0 14px rgba(232, 163, 61, .24), 0 6px 18px rgba(0, 0, 0, .4); }
.s2-say.angry { border-inline-start-color: var(--accent); color: #ffd9d4; }
.s2-say.angry::before { content: "😠"; }
/* جمله‌ی وکیل — لحنِ رسمیِ سرد و نشانِ ترازو */
.s2-say.s2-lawyer-say { border-inline-start-color: #6f8bb0; color: #dbe4f2; }
.s2-say.s2-lawyer-say::before { content: "⚖️"; }
.s2-say.s2-think { color: #cdbf9a; }
.s2-say.s2-think::before { display: none; }
.s2-say.s2-think .s2-btxt { font-size: 22px; }

/* ردیفِ کنش — آیکن‌های فشرده: بکوب، پلی‌گراف، نوارِ تنش (نه دکمه‌های درشت) */
.s2-actionstrip {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 2px;
}
.s2-icat {
  flex-shrink: 0; position: relative;
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center; font-size: 20px; line-height: 1;
  background: #1b1611; border: 1px solid #3a2f1d; color: var(--paper);
  cursor: pointer; transition: .15s; font-family: inherit;
}
.s2-icat:hover:not(:disabled) { border-color: var(--gold); transform: translateY(-1px); }
.s2-icat:active:not(:disabled) { transform: translateY(1px) scale(.97); }
.s2-icat:disabled { opacity: .38; cursor: not-allowed; }
.s2-icat-slam:hover:not(:disabled) { border-color: #a14a4a; }
.s2-icat-buy { font-size: 17px; }
.s2-icat-lock { position: absolute; inset-inline-end: 3px; bottom: 2px; font-size: 11px; }
/* 👊 زدنِ مظنون — پرخطرتر و سرخ‌فام */
.s2-icat-hit { border-color: #7a2f2f; background: #241214; }
.s2-icat-hit:hover:not(:disabled) { border-color: #d0524c; background: #2e1618; }
/* 🏁 پایانِ بازجویی در هر لحظه — خنثی و کم‌رنگ */
.s2-icat-end:hover:not(:disabled) { border-color: #6f8bb0; }

/* ---------- نوارِ «شرافت/Honor» — فشرده، زیرِ نوارِ بالای بازجویی ---------- */
.s2-honor {
  display: flex; align-items: center; gap: 8px;
  background: #16110a; border: 1px solid #3a2f1d; border-radius: 10px;
  padding: 5px 11px; align-self: stretch; direction: rtl;
}
.s2-honor-ic { font-size: 15px; flex-shrink: 0; }
.s2-honor-lbl { font-size: 12.5px; font-weight: 700; color: var(--muted); flex-shrink: 0; }
.s2-honor-bar {
  position: relative; flex: 1; min-width: 70px; height: 10px; border-radius: 6px;
  overflow: hidden; background: #0d0f12; border: 1px solid #2a2114; box-shadow: inset 0 2px 5px #000;
}
.s2-honor-fill {
  position: absolute; inset-inline-start: 0; top: 0; bottom: 0;
  border-radius: 6px; transition: width .5s cubic-bezier(.3, 1.1, .4, 1), background .3s;
}
.s2-honor-num { font-size: 14px; font-weight: 800; flex-shrink: 0; transition: color .3s; min-width: 22px; text-align: center; }
.s2-honor-low   .s2-honor-fill { background: linear-gradient(90deg, #b23b34, #e0524c); }
.s2-honor-low   .s2-honor-num  { color: #ff9a8f; }
.s2-honor-mid   .s2-honor-fill { background: linear-gradient(90deg, #c98a34, #e8a33d); }
.s2-honor-mid   .s2-honor-num  { color: #e8c07d; }
.s2-honor-high  .s2-honor-fill { background: linear-gradient(90deg, #3a8a5a, #5cc887); }
.s2-honor-high  .s2-honor-num  { color: #8ef0b0; }

/* نشانِ «با وکیل» کنارِ نامِ مظنون */
.s2-lawyer-badge {
  display: inline-block; margin-inline-start: 8px; vertical-align: middle;
  font-size: 11.5px; font-weight: 700; color: #cdd7ea;
  background: #1a2330; border: 1px solid #3a4a66; border-radius: 999px; padding: 2px 9px;
  white-space: nowrap;
}
/* سایه‌ی وکیل در اتاق (تزئینی) */
.s2-lawyer-fig { pointer-events: none; }

/* نوارِ تنشِ باریک (کنارِ آیکن‌ها) */
.s2-tension { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 120px; }
.s2-tension-ic { font-size: 16px; opacity: .85; flex-shrink: 0; }
.s2-gauge-num { font-size: 15px; font-weight: 800; color: var(--paper); transition: color .3s; flex-shrink: 0; }
.s2-gauge-num.hot { color: #ff8d84; }
.s2-hgauge {
  position: relative; flex: 1; height: 12px; border-radius: 7px; overflow: hidden;
  border: 1px solid #3a2f1d; box-shadow: inset 0 2px 6px #000;
  background: linear-gradient(to left, #3a8a5a 0%, #e8a33d 54%, #e0524c 100%);
}
.s2-hgauge-cover {
  position: absolute; top: 0; bottom: 0; inset-inline-end: 0; width: 85%;
  background: #0d0f12; transition: width .55s cubic-bezier(.3, 1.1, .4, 1);
}

/* خروجیِ پلی‌گراف — تا زمانِ اجرا پنهان است */
.s2-polyout { display: flex; flex-direction: column; gap: 4px; animation: s2stripin .3s ease; }
.s2-polyout[hidden] { display: none; }

/* پلی‌گراف */
.s2-polybox { background: #0d1117; border: 1px solid #2a3550; border-radius: 8px; overflow: hidden; margin-bottom: 6px; }
.s2-poly-strip {
  display: block; width: 100%; height: 58px;
  background:
    repeating-linear-gradient(90deg, transparent 0 19px, rgba(122, 224, 138, .06) 19px 20px),
    repeating-linear-gradient(0deg, transparent 0 13px, rgba(122, 224, 138, .06) 13px 14px);
}
.s2-poly-strip polyline { fill: none; stroke: #7ee08a; stroke-width: 1.7; stroke-linejoin: round; }
.s2-polybox.lie .s2-poly-strip polyline { stroke: #ff7a6f; }
.s2-polybox.drawing polyline { stroke-dasharray: 700; stroke-dashoffset: 700; animation: s2draw 1.15s linear forwards; }
@keyframes s2draw { to { stroke-dashoffset: 0; } }
.s2-poly-verdict { min-height: 22px; font-size: 14px; font-weight: 700; margin: 4px 0 6px; }
.s2-poly-verdict.good { color: #8ef0b0; }
.s2-poly-verdict.bad { color: #ff9a8f; }

/* شمارنده‌ی سؤالِ باقی‌مانده (بالای انتخاب‌ها) */
.s2-qbudget {
  font-size: 12.5px; color: var(--muted); letter-spacing: .3px;
  background: #1b1611; border: 1px solid #3a2f1d; border-radius: 9px;
  padding: 5px 11px; margin-bottom: 2px; align-self: flex-start;
}
.s2-qbudget b { color: var(--gold); font-size: 14px; }
.s2-qbudget[hidden] { display: none; }

/* انتخاب‌ها — تنها عناصرِ آشکارا دکمه‌ای؛ لمسی و تمام‌عرض */
.s2-choices { display: grid; gap: 10px; }
.s2-choice {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px;
  background: linear-gradient(180deg, var(--card2), var(--card));
  border: 1.5px solid #4a3c26; color: var(--paper); border-radius: 12px;
  padding: 12px 16px; font-size: 15px; text-align: right; transition: .15s;
  line-height: 1.7; font-family: inherit; cursor: pointer;
}
.s2-choice:hover { border-color: var(--gold); transform: translateY(-1px); }
.s2-choice:active { transform: translateY(1px) scale(.995); }
.s2-choice-t { flex: 1; min-width: 0; }
.s2-choice-gl { flex-shrink: 0; font-size: 17px; line-height: 1; opacity: .95; }

/* انتخابِ «منطقی» — لحنِ خنثی و سردِ فولادی */
.s2-choice-logic { border-inline-start: 3px solid #6f8bb0; }
.s2-choice-logic:hover { border-color: #8aa6cc; }
.s2-choice-logic .s2-choice-gl { filter: saturate(.6); }

/* انتخابِ «دلبرانه/تله» — لحنِ بنفش‌ـرز */
.s2-choice-charm {
  border-inline-start: 3px solid #b06ab8;
  background: linear-gradient(180deg, rgba(70, 40, 74, .5), var(--card));
}
.s2-choice-charm:hover { border-color: #c98ad0; box-shadow: 0 0 12px rgba(176, 106, 184, .25); }
.s2-endnote {
  color: var(--muted); background: var(--card); border: 1px dashed #4a3c26;
  border-radius: 10px; padding: 10px 14px; text-align: center; font-size: 14px;
}

/* کلیدِ زبانِ گفتار (فارسی | English) — پیلِ کوچکِ بخش‌بندی‌شده */
.s2-langseg { display: flex; align-items: center; gap: 8px; align-self: flex-start; width: 100%; max-width: 280px; }
.s2-seg-ic { font-size: 15px; opacity: .85; }
.s2-seg-wrap {
  display: flex; flex: 1; border: 1px solid #4a3c26; border-radius: 10px; overflow: hidden;
  background: #1b1611;
}
.s2-seg {
  flex: 1; background: none; border: none; color: var(--muted);
  padding: 7px 10px; font-size: 13.5px; cursor: pointer; transition: .15s; font-family: inherit;
}
.s2-seg + .s2-seg { border-inline-start: 1px solid #4a3c26; }
.s2-seg:hover { color: var(--paper); }
.s2-seg.on { background: var(--gold); color: #221a0c; font-weight: 700; }

/* رونوشتِ گفتگو — نوارِ تاشو با اسکرولِ داخلی */
.s2-translog { background: #151009; border: 1px solid #3a2f1d; border-radius: 12px; overflow: hidden; }
.s2-translog summary {
  cursor: pointer; padding: 9px 14px; font-size: 13px; color: var(--muted);
  list-style: none; user-select: none; transition: color .15s;
}
.s2-translog summary::-webkit-details-marker { display: none; }
.s2-translog summary:hover { color: var(--paper); }
.s2-translog[open] summary { color: var(--gold); border-bottom: 1px dashed #2c2417; }
.s2-log { max-height: 120px; overflow-y: auto; padding: 8px 14px; font-size: 13px; line-height: 1.9; }
.s2-log:empty { display: none; }
.s2-line { padding: 4px 0; border-bottom: 1px dashed #2c2417; }
.s2-line:last-child { border-bottom: none; }
.s2-line-p b { color: var(--gold); }
.s2-line-s b { color: #9ec3e8; }

/* انتخابِ مظنون */
.s2-pick-card { cursor: pointer; }
.s2-sus-locked { opacity: .55; filter: grayscale(.6); cursor: not-allowed; }
.s2-sus-locked:hover { transform: none; border-color: #3a2f1d; }
.s2-lockednote { color: #ff9a8f; font-size: 12px; margin-top: 6px; }
.s2-sus-done { opacity: .82; }
.s2-sus-done h4 { color: #7fcf9d; }
.s2-donenote { color: #7fcf9d; font-size: 12px; margin-top: 6px; }

/* ---------- اتهامِ یک‌جا / حکم ---------- */
.s2-acc-sec {
  color: var(--gold); font-size: 17px; margin: 22px 0 12px;
  border-bottom: 1px dashed #3a2f1d; padding-bottom: 7px;
}
.s2-acc-card { cursor: pointer; position: relative; }
.s2-acc-card.sel {
  border-color: var(--gold); background: #221a0f;
  box-shadow: 0 0 16px rgba(217, 179, 90, .28);
  transform: translateY(-4px);
}
.s2-acc-card.sel:hover { border-color: var(--gold); }
.s2-acc-card.sel::after {
  content: "✓"; position: absolute; top: 8px; inset-inline-start: 8px;
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--gold); color: #221a0c; font-weight: 800; font-size: 14px;
  display: grid; place-items: center;
}
.s2-howpills { display: flex; flex-wrap: wrap; gap: 10px; }
.s2-pill {
  background: linear-gradient(180deg, var(--card2), var(--card));
  border: 1.5px solid #4a3c26; color: var(--paper); border-radius: 999px;
  padding: 9px 18px; font-size: 14.5px; line-height: 1.8; text-align: right;
  cursor: pointer; transition: .15s; font-family: inherit;
}
.s2-pill:hover { border-color: var(--gold2); }
.s2-pill.sel {
  border-color: var(--gold); background: #2a2110; color: var(--gold);
  font-weight: 700; box-shadow: 0 0 10px rgba(217, 179, 90, .25);
}
.s2-acc-confirmrow { margin-top: 20px; justify-content: center; display: flex; }
.s2-acc-confirm:disabled { opacity: .38; cursor: not-allowed; filter: grayscale(.5); }
.s2-lose-face { display: grid; place-items: center; font-size: 64px; }

/* کارتِ «تصادف/هیچ‌کس مقصر نبود» — خاکستریِ خنثی، نه پرتره‌ی مظنون */
.s2-acc-accident { background: linear-gradient(180deg, #1b1b1f, #141416); border-color: #3a3a42; }
.s2-acc-accident:hover { border-color: #8a8a96; }
.s2-acc-accident.sel { border-color: #b8b8c4; background: #24242a; box-shadow: 0 0 16px rgba(184, 184, 196, .24); }
.s2-acc-accident.sel:hover { border-color: #b8b8c4; }
.s2-acc-accident.sel::after { background: #b8b8c4; color: #141416; }
.s2-acc-accident .av-face {
  display: grid; place-items: center; font-size: 46px; line-height: 1;
  color: #c4c4cc; background: none; border: none;
}
.s2-acc-accident h4 { color: #dcdce4; }
.s2-acc-accident span { color: #9a9aa6; }

/* چهره‌ی حکمِ «تصادف» — به‌جای پرترهٔ مجرم، نشانِ خنثی */
.s2-verdict-accident { display: grid; place-items: center; font-size: 78px; line-height: 1; color: #c4c4cc; }

/* ---------- ریسپانسیو ---------- */
@media (max-width: 900px) {
  .s2-int { max-width: 100%; }
  .s2-int-stage .s2-room { max-width: calc(46vh * 1.73); }
  .s2-desk-label { font-size: 17px; }
  .s2-fab-notes { right: 12px; bottom: 14px; width: 46px; height: 46px; font-size: 20px; }
}
@media (max-width: 480px) {
  .s2-int { gap: 10px; }
  .s2-int-stage .s2-room { max-width: 100%; }   /* پرتره تمام‌عرض روی موبایل */
  .s2-who h3 { font-size: 17px; }
  .s2-say { font-size: 15px; padding: 12px 14px; }
  .s2-choice { font-size: 15px; padding: 12px 14px; }
  .s2-actionstrip { gap: 8px; }
  .s2-tension { min-width: 90px; }
  .s2-log { max-height: 150px; }
  /* گریدهای چندستونی روی صفحه‌های باریک به دو ستون */
  .accuse-grid, .s2-picker { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .accuse-card .av-face { width: 74px; height: 88px; }
  .s2-howpills { gap: 8px; }
  .s2-pill { padding: 9px 14px; }
  /* اهدافِ لمسیِ درشت‌ترِ سندِ بخش‌بخش و گوشی */
  .s2-sectab { padding: 8px 13px; }
}
