/* Кабинет администратора — собственные стили. Общее с игрой и кабинетом участника — только
   shared/tokens.css (цвета, шрифты, кнопка). Файла cabinet.css эта страница не подключает. */
[hidden]{display:none!important}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--sans);-webkit-text-size-adjust:100%}
a{color:var(--gold-text)}
.muted{color:var(--muted)}
.faint{color:var(--faint)}
.empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}

/* ── вход и «нет доступа» ───────────────────────────────────────────────────── */
.gate{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.gate-card{width:100%;max-width:420px;display:grid;gap:12px;padding:26px 22px;background:var(--panel);
           border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.gate-card h1{margin:0;font-family:var(--serif);font-size:1.6rem;color:var(--gold-text-lit)}
.gate-brand{font-family:var(--serif);font-weight:700;color:var(--gold-text);letter-spacing:.04em}
.gate-fine{margin:0;font-size:.78rem}

/* ── шапка ──────────────────────────────────────────────────────────────────── */
.adm-bar{position:sticky;top:0;z-index:60;display:flex;gap:12px;align-items:center;padding:10px 16px;
         background:rgba(11,10,15,.95);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.adm-brand{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--serif);font-weight:700;color:var(--gold-text-lit);font-size:1.15rem;white-space:nowrap}
.adm-who{flex:1;min-width:0;text-align:right;color:var(--muted);font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* «⟳ + язык» — один блок, как .bar-r в личном кабинете: в шапке админки и в углу на экранах входа. */
.adm-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.gate-tools{position:fixed;top:10px;right:14px;z-index:70}
.adm-tools-slot{display:flex;flex:0 0 auto}
.adm-tools-slot:empty{display:none}

/* ── каркас: меню слева, страница справа ───────────────────────────────────── */
.adm-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;max-width:1240px;margin:0 auto;padding:18px 16px 70px}
.adm-nav{position:sticky;top:68px;align-self:start;display:grid;gap:4px}
.adm-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 14px;border-radius:12px;
           border:1px solid transparent;color:var(--muted);text-decoration:none;font-weight:600}
.adm-nav a:hover{color:var(--text);background:rgba(255,255,255,.03)}
.adm-nav a.on{color:var(--gold-text-lit);border-color:var(--gold-line);background:rgba(201,163,78,.09)}
.adm-n{font-style:normal;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:inline-grid;place-items:center;
       background:var(--gold-3d);color:var(--gold-ink);font-size:.72rem;font-weight:800}
.adm-page{display:none}
.adm-page.on{display:block}
.adm-main{min-width:0}
.adm-main .mblock{max-width:780px}
.adm-sub{margin:22px 0 10px}
.adm-build{margin:22px 0 0;font-family:var(--mono);font-size:.74rem}
.vh{display:flex;align-items:center;gap:14px;margin:4px 0 14px}
.vh h2{margin:0;font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--text)}
.vh .rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}

/* ── обзор ──────────────────────────────────────────────────────────────────── */
.adm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:16px 0}
.adm-card{display:grid;gap:4px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);
          text-decoration:none;color:var(--text)}
.adm-card:hover{border-color:var(--gold-line)}
.adm-card b{font-size:2rem;line-height:1;color:var(--gold-text-lit)}
.adm-card span{font-weight:600}
.adm-card em{font-style:normal;font-size:.8rem;color:var(--faint)}

/* ── лента: модерация ───────────────────────────────────────────────────────── */
.fd{display:grid;gap:6px;margin:0 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);max-width:780px}
.fd-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fd-w{margin-left:auto;font-size:.78rem}
.fd-t{font-weight:700}
.fd-b{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}
.fd-a{gap:8px}
.fd-del{color:var(--crit)}
.fd-edit{display:grid;gap:8px}

/* ── возврат в личный кабинет ───────────────────────────────────────────────────
   В шапке — на компьютере; на телефоне там тесно (бренд, три языка, «Выйти»), и та же ссылка становится
   ПЕРВОЙ вкладкой полосы меню (#admBackNav). Одна из двух всегда скрыта, а обе — если личного сеанса нет. */
.adm-back{color:var(--gold-text);border-color:var(--gold-line);white-space:nowrap}
.adm-back:hover{color:var(--gold-text-lit);border-color:var(--gold-line-lit)}
#admBackNav{display:none;color:var(--gold-text);border-color:var(--gold-line)}

/* ── телефон: меню — лента вкладок над страницей ─────────────────────────────── */
@media(max-width:860px){
  .adm-back{display:none!important}
  #admBackNav:not([hidden]){display:flex}
  .adm-wrap{grid-template-columns:minmax(0,1fr);gap:10px;padding:8px 12px 60px}
  .adm-who{display:none}
  .adm-bar{padding:8px 12px;gap:8px}
  .adm-brand{flex:1 1 0;font-size:1rem}
  .adm-tools{gap:6px}
  .adm-tools .chipbtn,.adm-bar #admOut{padding:6px 9px}
  .gate-tools{top:8px;right:8px}
  .adm-nav{position:sticky;top:52px;z-index:40;display:flex;gap:6px;overflow-x:auto;padding:6px 0;background:var(--bg);scrollbar-width:none}
  .adm-nav::-webkit-scrollbar{display:none}
  .adm-nav a{flex:0 0 auto;white-space:nowrap;padding:9px 14px}
}

/* ── мелкие общие детали (копии, а не ссылка на cabinet.css: страницы независимы) ───────────── */
.chipbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(255,255,255,.02);
  color:var(--muted);border-radius:99px;padding:7px 12px;font:600 12px/1 var(--sans);cursor:pointer;min-height:32px}
.chipbtn:hover{border-color:var(--gold-line);color:var(--gold-text)}
.chipbtn:disabled{opacity:.55;cursor:default}

/* ── значки, кнопка ⟳ и выпадающий язык: копия из личного кабинета (cabinet.css), правила те же ─────────────
   Отличие одно: плашки висят position:fixed, а не absolute — страницы админки длинные, и при прокрутке ответ на
   нажатие ⟳ не должен уезжать за верх экрана. */
.ico{width:1.2em;height:1.2em;flex:0 0 auto}
.ico *{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chipbtn.sync .ico{transition:transform .2s}
.chipbtn.sync:active .ico{transform:rotate(-40deg)}
.chipbtn.sync.spin .ico{animation:syncSpin .9s linear infinite}
@keyframes syncSpin{to{transform:rotate(360deg)}}

.sync-pop{position:fixed;right:14px;top:56px;z-index:1200;max-width:min(78vw,320px);
  display:grid;gap:3px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;
  background:#11131a;box-shadow:0 14px 34px rgba(0,0,0,.5);animation:syncIn .18s ease-out}
.sync-pop b{font-weight:600;font-size:.92rem;color:var(--text)}
.sync-pop.good{border-color:var(--gold-line)}
.sync-pop.good b{color:var(--gold-text-lit)}
.sync-pop.bad{border-color:#8c3b3b}
.sync-pop.bad b{color:#ff9a9a}
.sync-pop.out{opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
@keyframes syncIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:640px){.sync-pop{right:8px;top:52px}}

.lang-pop{position:fixed;right:14px;top:56px;z-index:1200;display:grid;gap:2px;padding:6px;
  background:var(--bg-1,#0e0d13);border:1px solid var(--gold-line);border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.5)}
.lang-pop button{background:none;border:0;color:var(--text);font:inherit;font-size:.9rem;
  padding:8px 16px;border-radius:8px;cursor:pointer;text-align:left;white-space:nowrap}
.lang-pop button:hover{background:rgba(255,255,255,.06)}
.lang-pop button.on{color:var(--gold-text-lit)}
@media (max-width:640px){.lang-pop{right:8px;top:52px}}
.act{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;
  color:var(--muted);font:600 12.5px/1 var(--sans);padding:9px;border-radius:10px;cursor:pointer}
.act:hover{background:rgba(255,255,255,.04);color:var(--gold-text)}
.mini-h{font-family:var(--mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.cm-no,.cm-when{font-family:var(--mono);font-size:.66rem;color:var(--faint)}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;border:1px solid var(--gold-line);color:var(--gold-text);
  font:700 .62rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}

/* ── управление кабинетом ──────────────────────────────────────────────────
   Формы раздачи пассов и прав. Каждое действие — свой блок с пояснением:
   человек должен понимать последствие ДО нажатия, особенно у слияния. */
.mblock{border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:14px;display:grid;gap:10px;max-width:560px}
.mblock .mh{font-weight:650;font-size:1rem}
.mblock .mhint{color:var(--muted);font-size:.86rem;line-height:1.45}
.minp{padding:10px 13px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.03);
      color:var(--text);font:inherit;font-size:.92rem;outline:none;width:100%}
.minp:focus{border-color:var(--gold-line)}

/* ВЫПАДАЮЩИЙ СПИСОК РИСУЕТ СИСТЕМА, А НЕ МЫ — И ОН БЫЛ БЕЛЫМ ПО БЕЛОМУ.
 *
 * Владелец, 27.08: «как выбрать город, если на белом фоне белыми буквами?»
 *
 * Само поле мы оформили тёмным и написали в нём светлым. А раскрытый список
 * областей рисует операционная система, и фон она берёт свой — светлый, потому
 * что не знает, что страница тёмная. Цвет же букв наследуется от нашего
 * правила. Получилось белое на белом: список есть, читать нечего.
 *
 * color-scheme: dark — это и есть способ сказать системе «страница тёмная»:
 * она сама нарисует и список, и полосу прокрутки в тёмных тонах. Явные цвета
 * для option оставлены рядом: часть браузеров (и старый Android) на
 * color-scheme не смотрит, и без них список остался бы белым именно там, где
 * его чаще всего и открывают — на телефоне. */
.minp{color-scheme:dark}
select.minp option{background:#14121c;color:var(--text)}
select.minp option:checked{background:#241f33}
.mrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mrow .minp{flex:1;min-width:140px}
.msay{margin-top:14px;font-size:.9rem;color:var(--gold-text-lit);min-height:1.4em;max-width:560px}

/* ── управление: площадки и анонсы ────────────────────────────────────────── */
.mchk{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.7rem;
      letter-spacing:.06em;text-transform:uppercase;color:var(--faint);cursor:pointer;white-space:nowrap}
.mchk input{accent-color:#C9A34E;width:15px;height:15px;cursor:pointer}
.mlist{margin-top:12px}
.mlist-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
         color:var(--faint);margin-bottom:6px}
.mline{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
       padding:7px 10px;border-radius:8px;font-size:.86rem}
.mline:nth-child(odd){background:rgba(255,255,255,.02)}
.mline span:first-of-type{font-family:var(--mono);font-size:.76rem;color:var(--gold-text)}
.club .badge{margin-left:6px}

/* ── чистка кабинетов ─────────────────────────────────────────────────────────
   Список, по которому владелец глазами отделяет тестовые регистрации от живых
   людей. Поэтому строка плотная: чем больше кабинетов помещается на экран, тем
   меньше прокрутки между решениями. Квадратик слева — крупнее обычного: по нему
   попадают пальцем на телефоне, и промах здесь стоит дорого. */
.acc-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.acc-tools .minp{flex:1;min-width:140px}
.acc-box{max-height:52vh;overflow-y:auto;border:1px solid var(--line);border-radius:10px;
         padding:4px;background:rgba(0,0,0,.18)}
.acc{display:grid;grid-template-columns:auto auto 1fr auto;gap:9px;align-items:center;
     padding:7px 9px;border-radius:8px;font-size:.86rem;cursor:pointer}
.acc:nth-child(odd){background:rgba(255,255,255,.02)}
.acc:hover{background:rgba(201,163,78,.07)}
.acc input{accent-color:#C9A34E;width:18px;height:18px;cursor:pointer;flex:none}
.acc input:disabled{cursor:not-allowed;opacity:.35}
.acc.off{cursor:default;opacity:.72}
.acc.on{background:rgba(201,163,78,.14)}
.acc-no{font-family:var(--mono);font-size:.74rem;color:var(--gold-text)}
/* Логин рядом с именем — тише имени, но читаемо: по нему человек входит. */
.acc-login{font-family:var(--mono);font-size:.72rem;color:var(--gold-text);opacity:.85;margin-left:6px}
.acc-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-fx{font-family:var(--mono);font-size:.66rem;color:var(--faint);white-space:nowrap;text-align:right}
.acc-tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
         border-radius:99px;padding:2px 7px;margin-left:6px;white-space:nowrap}
.acc-tag.empty{background:rgba(255,255,255,.07);color:var(--faint)}
.acc-tag.keep{background:rgba(201,163,78,.16);color:var(--gold-text-lit)}
.acc-danger{border-color:rgba(220,90,70,.5);color:#e8a094}
.acc-danger:hover{background:rgba(220,90,70,.14)}

/* ── таблица агентов ──────────────────────────────────────────────────────────
   Двадцать колонок на телефон не влезут никогда, и сжимать их бессмысленно:
   таблицу читают по числам. Поэтому она едет вбок внутри своей рамки, а страница
   при этом стоит на месте — заголовок строки и шапка остаются прилипшими. */
.tw{overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:10px;
    background:rgba(0,0,0,.18)}
.tbl{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;
     font-size:.8rem;font-variant-numeric:tabular-nums}
.tbl th{position:sticky;top:0;z-index:2;background:#171310;text-align:left;cursor:pointer;
        font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
        color:var(--faint);padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;
        user-select:none}
.tbl th:hover{color:var(--gold-text)}
.tbl th.s{color:var(--gold-text-lit)}
.tbl td{padding:7px 10px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.04)}
.tbl tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.tbl tbody tr:hover{background:rgba(201,163,78,.08)}
.tbl td:first-child{font-family:var(--mono);font-size:.74rem;color:var(--gold-text);
                    position:sticky;left:0;z-index:1;background:#141110}
.tbl tbody tr:nth-child(odd) td:first-child{background:#171412}

/* ── начисления ───────────────────────────────────────────────────────────── */
.earn{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:20px;align-items:start}
@media(max-width:760px){.earn{grid-template-columns:1fr}}
.earn-side{padding:14px 16px}

/* ── сигналы в поддержку ──────────────────────────────────────────────────── */
.sup-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  padding:10px 0;border-top:1px solid rgba(255,255,255,.05)}
.sup-row:first-of-type{border-top:0}

/* ── ЗАЯВКИ НА ВЫВОД ─────────────────────────────────────────────────────────
   Карточка, а не строка таблицы: на телефоне таблица из пяти колонок
   превращается в горизонтальную прокрутку, а адрес кошелька — самое длинное
   поле — оказывается за краем экрана ровно тогда, когда его надо скопировать. */
.wd {
  border: 1px solid var(--line, #23304f);
  border-left: 3px solid var(--line, #23304f);
  border-radius: 10px;
  padding: 11px 13px;
  margin: 0 0 10px;
}
.wd[data-st="pending"]   { border-left-color: #fbbf24; }
.wd[data-st="confirmed"] { border-left-color: #22c55e; }
.wd[data-st="cancelled"] { border-left-color: #64748b; opacity: .72; }
.wd-top { display: flex; align-items: baseline; gap: 10px; justify-content: space-between; }
.wd-top b { font-size: 1.05rem; }
.wd-st { font-size: .8rem; opacity: .8; }
.wd-who { font-size: .9rem; margin-top: 2px; }
/* Адрес переносится по знакам: рвать его многоточием нельзя — по нему платят. */
.wd-addr code {
  display: block; margin: 6px 0 4px; padding: 6px 8px;
  background: rgba(255,255,255,.05); border-radius: 6px;
  font-size: .82rem; word-break: break-all; user-select: all;
}
.wd-date { font-size: .78rem; }
.wd .mrow { margin-top: 8px; }
.wd-say:not(:empty) { margin-top: 6px; font-size: .85rem; }

/* ── АНАЛИТИКА ───────────────────────────────────────────────────────────────
   Карточки для сводки, таблица для рейтинга: цифры сводки читают по одной, а
   строки рейтинга — сравнивая между собой, и для сравнения нужны колонки. */
.an-grid {
  display: grid; gap: 10px; margin: 0 0 12px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.an-card {
  padding: 12px 14px;
  border: 1px solid var(--line, #23304f);
  border-radius: 12px;
  background: rgba(255, 255, 255, .03);
}
.an-k { font-size: .82rem; opacity: .75; }
.an-v { font-size: 1.5rem; font-weight: 600; color: var(--gold-text-lit, #fbbf24); margin: 2px 0; }
.an-n { font-size: .76rem; opacity: .6; line-height: 1.35; }
.an-h { font-weight: 600; margin: 18px 0 8px; }
/* Таблица прокручивается вбок, а не ломает страницу: на телефоне четыре колонки
   в ширину не помещаются, и сжимать их до нечитаемости хуже, чем прокрутить. */
.an-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.an-table table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.an-table th, .an-table td { padding: 8px 10px; text-align: left; white-space: nowrap; }
.an-table th { font-weight: 600; opacity: .7; font-size: .8rem; }
.an-table tbody tr { border-top: 1px solid var(--line, #23304f); }
.an-table .num { text-align: right; font-variant-numeric: tabular-nums; }

/* ── выдача билетов: подтверждение под кнопкой и окно «Просят билеты» ─────────
   Владелец, 16.10.2026: «кнопка работает, просто нет эффекта, что билет
   отправлен». Так и было: ответ писался в строку #mSay в самом низу страницы,
   под всеми формами, и на экране, где стоит кнопка, его не было. Теперь у каждой
   формы свой ответ — сразу под кнопкой, крупный, и он не пропадает, пока человек
   не отправит следующее. */
.mi-go[disabled]{opacity:.7;cursor:progress}
.mi-out{display:none;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;
        border:1px solid var(--line)}
.mi-out.show{display:flex}
.mi-out.ok{border-color:rgba(95,191,143,.6);background:rgba(95,191,143,.1);animation:miPop .5s ease-out}
.mi-out.bad{border-color:rgba(224,101,95,.6);background:rgba(224,101,95,.1)}
.mi-out.busy{color:var(--muted)}
.mi-ico{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
        font-size:18px;font-weight:800;background:var(--line);color:var(--text)}
.mi-out.ok .mi-ico{background:var(--good);color:#0b1a12}
.mi-out.bad .mi-ico{background:var(--crit);color:#2a0a08}
.mi-t{font-weight:700;font-size:.95rem}
.mi-s{font-size:.84rem;color:var(--muted);margin-top:2px;word-break:break-word}
@keyframes miPop{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(95,191,143,.55)}
                 60%{box-shadow:0 0 0 12px rgba(95,191,143,0)}
                 100%{transform:none;box-shadow:0 0 0 0 rgba(95,191,143,0)}}

/* Плавающий ответ для остальных форм этой страницы: их #mSay лежит внизу. */
.mtoast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:400;
        max-width:min(92vw,520px);padding:12px 18px;border-radius:12px;font-size:.92rem;
        background:var(--panel-2);border:1px solid var(--gold-line);color:var(--gold-text-lit);
        box-shadow:0 10px 30px rgba(0,0,0,.55)}
.mtoast[hidden]{display:none}

/* Строка очереди — кнопка: нажатие открывает окно человека. */
button.mline{width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;
             cursor:pointer;min-height:44px}
button.mline:nth-child(odd){background:rgba(255,255,255,.02)}
button.mline:hover,button.mline:focus-visible{background:rgba(201,163,78,.1)}
.rq-n{font-style:normal;font-family:var(--mono);font-size:.7rem;color:var(--gold-text);margin-left:6px}
#reqCount{color:var(--gold-text);font-family:var(--mono);font-size:.85em}

body.rq-lock{overflow:hidden}
.rq-ov{position:fixed;inset:0;z-index:300;background:rgba(5,4,8,.74);display:flex;
       align-items:flex-end;justify-content:center;overflow-y:auto;overscroll-behavior:contain}
.rq-sheet{width:100%;max-width:560px;max-height:94vh;overflow-y:auto;display:grid;gap:14px;
          align-content:start;padding:18px 18px 24px;background:var(--panel);
          border:1px solid var(--line);border-radius:18px 18px 0 0;outline:none}
@media(min-width:700px){.rq-ov{align-items:center;padding:24px}.rq-sheet{border-radius:18px;max-height:90vh}}
.rq-head{display:flex;gap:12px;align-items:center;justify-content:space-between}
.rq-who{display:flex;gap:12px;align-items:center;min-width:0}
.rq-ava{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
        font-weight:800;font-size:1.1rem;color:var(--gold-ink);background:var(--gold-3d)}
.rq-name{font-weight:700;font-size:1.1rem;overflow-wrap:anywhere}
.rq-sub{font-family:var(--mono);font-size:.74rem;color:var(--gold-text)}
.rq-x{flex:0 0 auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
      background:none;color:var(--muted);font-size:1.1rem;cursor:pointer}
.rq-x:hover{color:var(--gold-text);border-color:var(--gold-line)}
.rq-ask{padding:12px 14px;border-radius:12px;border:1px solid var(--gold-line);
        background:rgba(201,163,78,.08);font-size:.92rem}
.rq-ask q{display:block;margin-top:6px;color:var(--text);font-style:italic;quotes:none;overflow-wrap:anywhere}
.rq-ask q::before{content:"«"}.rq-ask q::after{content:"»"}
.rq-done{padding:12px 14px;border-radius:12px;border:1px solid rgba(95,191,143,.6);
         background:rgba(95,191,143,.1);font-weight:700;color:var(--good)}
.rq-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rq-fact{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);min-width:0}
.rq-fact b{display:block;font-size:1rem;overflow-wrap:anywhere}
.rq-fact span{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.rq-sec{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line-soft)}
.rq-ct{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rq-cv{flex:1 1 150px;min-width:0;font-size:.9rem;overflow-wrap:anywhere}
.rq-cv small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;
             text-transform:uppercase;color:var(--faint)}
a.chipbtn{text-decoration:none}
@media(max-width:520px){.rq-facts{grid-template-columns:1fr 1fr}}
