/* 18+ и оскорбительные слова: блюр + бейджи «наиболее подходящее» + подсказки длины.
 * Подключается вместе с sensitive.js на страницах поиска и редакторах. */
.is-sensitive.is-locked .blur-word{
  filter:blur(6px) saturate(.7);
  -webkit-filter:blur(6px) saturate(.7);
  user-select:none;
  -webkit-user-select:none;
  opacity:.85;
}
.sensitive-tag{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.4px;
  color:#8a5a00;
  background:#fff3d6;
  border:1px solid #e8c96a;
  border-radius:999px;
  padding:2px 8px;
  white-space:nowrap;
}
[data-theme="dark"] .sensitive-tag{
  color:#ffd98a;
  background:#3a2f10;
  border-color:#7a6420;
}
/* Круглая печать «18+» по центру скрытого слова. Сквозь неё кликают в карточку. */
.sensitive-stamp{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #b3261e;
  color:#b3261e;
  background:rgba(255,255,255,.88);
  font-size:13px;
  font-weight:800;
  letter-spacing:.3px;
  z-index:4;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
}
[data-theme="dark"] .sensitive-stamp{
  border-color:#ff8a80;
  color:#ff8a80;
  background:rgba(20,20,20,.78);
}
/* Скрытое слово: бледно-красные фон и рамка. После подтверждения
 * слово видно, но бледно-красная обводка остаётся. */
.word-result.is-sensitive.is-locked,
.result-item.is-sensitive.is-locked{
  background:#fdecea;
  border-color:#e5a49d;
}
.word-result.is-sensitive.is-unlocked,
.result-item.is-sensitive.is-unlocked{
  border-color:#e5a49d;
}
[data-theme="dark"] .word-result.is-sensitive.is-locked,
[data-theme="dark"] .result-item.is-sensitive.is-locked{
  background:rgba(178,40,30,.16);
  border-color:#8f5a55;
}
[data-theme="dark"] .word-result.is-sensitive.is-unlocked,
[data-theme="dark"] .result-item.is-sensitive.is-unlocked{
  border-color:#8f5a55;
}
.best-group-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:14px 0 8px;
}
.best-group-head h3{
  font-size:13px;
  font-weight:700;
  letter-spacing:.3px;
  margin:0;
}
.best-group-head .best-sub{
  font-size:11px;
  color:var(--muted,#777);
}
.clue-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid var(--line,#ddd);
  background:var(--surface-2,#f3f4f1);
  color:var(--text,#222);
  font-size:11px;
  font-weight:700;
  cursor:help;
  flex-shrink:0;
}
/* Счётчик вопросов — в правом верхнем углу карточки. В викторине карточка — закрытый
 * <details> (браузер прячет всё, кроме summary), поэтому бейдж живёт в обёртке
 * .word-result-wrap и наполовину выступает за рамку, как уведомление о непрочитанном.
 * В редакторах карточки — обычные div, бейдж внутри угла (там overflow:hidden). */
.word-result,.result-item{position:relative;}
.word-result-wrap{position:relative;min-width:0;}
.word-result-wrap:has(.word-result[open]){grid-column:1/-1;}
.word-result-wrap > .clue-count.is-corner{
  position:absolute;
  top:-9px;
  right:-6px;
  z-index:3;
  min-width:24px;
  height:24px;
  background:var(--accent-soft,#e8f3e4);
  border-color:var(--accent,#2d7d2d);
  color:var(--accent,#2d7d2d);
  box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.result-item > .clue-count.is-corner{
  position:absolute;
  top:5px;
  right:8px;
  z-index:3;
  min-width:24px;
  height:24px;
  background:var(--pastel-green,#e8f3e4);
  border-color:#2d7d2d;
  color:#2d7d2d;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.word-badges{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 12px 10px;
}
.other-lengths{
  border:1px dashed var(--line,#ddd);
  border-radius:12px;
  padding:12px 14px;
  margin:12px 0;
  font-size:13px;
}
.other-lengths p{margin:0 0 8px;}
.other-lengths .other-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.other-lengths button{
  border:1px solid var(--line,#ddd);
  background:var(--surface,#fff);
  border-radius:8px;
  padding:6px 10px;
  font-size:13px;
  cursor:pointer;
}
.sensitive-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(20,20,20,.55);
}
.sensitive-overlay[hidden]{display:none;}
.sensitive-card{
  max-width:min(92vw,440px);
  width:100%;
  background:var(--surface,#fff);
  color:var(--text,#222);
  border-radius:16px;
  padding:24px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
.sensitive-card h2{margin:8px 0 10px;font-size:20px;}
.sensitive-card .sensitive-title{
  margin:0 0 14px;
  font-size:23px;
  font-weight:800;
  letter-spacing:.4px;
  text-align:center;
  color:#b3261e;
}
[data-theme="dark"] .sensitive-card .sensitive-title{color:#ff9e99;}
.sensitive-text{font-size:14px;line-height:1.6;margin:0 0 18px;}
.sensitive-actions{display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:480px){
  .sensitive-actions .btn{flex:1 1 100%;}
}
