/*
 * Сказания Разлома — тёмная тема встроенного плагина, v1.0
 * Корень: <section id="rift-plugin" class="rift-plugin">…</section>
 * Цвета закреплены локально и не зависят от темы форума.
 * Названия классов ниже — пример для адаптации к существующему плагину.
 * Подключать после CSS форума. Локальный слой совместимости — в конце.
 */

#rift-plugin {
  /* Точные базовые цвета light.dark из CSS форума. */
  --rift-bg: #1f2525;
  --rift-surface: #232927;
  --rift-surface-raised: #272c2a;
  --rift-surface-inset: #171f1e;
  --rift-header: #232c2e;
  --rift-text: #b2c0be;
  --rift-heading: #d3dfdb;
  --rift-text-muted: #97a4a1;
  --rift-link: #95ada7;
  --rift-link-hover: #b5c7c2;
  --rift-border: #3f4a46;

  /* Акцент из светлой темы связывает плагин с окружением. */
  --rift-accent: #88a19d;
  --rift-accent-hover: #a8bab6;
  --rift-on-accent: #1f2525;
  --rift-focus: #aac3a3;
  --rift-secondary: #2e3a37;
  --rift-secondary-text: #c2cecb;
  --rift-secondary-hover: #445150;
  --rift-secondary-text-hover: #e2ecea;

  /* Новые функциональные производные для плагина. */
  --rift-accent-pressed: #78958e;
  --rift-border-control: #738d87;
  --rift-disabled-bg: #272c2a;
  --rift-disabled-text: #97a4a1;
  --rift-copper-text: #c28f7d;

  /* Исходная терракота .opisbutt: только редкая тематическая метка. */
  --rift-copper: #974337;
  --rift-on-copper: #d3dfdb;

  /* Семантическое расширение: новые пары, кроме исходного #AAC3A3. */
  --rift-success: #aac3a3;
  --rift-success-bg: #27332d;
  --rift-warning: #c6af82;
  --rift-warning-bg: #322e25;
  --rift-danger: #d59a8e;
  --rift-danger-bg: #342724;
  --rift-info: #a6bcc4;
  --rift-info-bg: #263238;

  --rift-font-body: Verdana, Arial, sans-serif;
  --rift-font-title: "Playfair", Georgia, serif;
  --rift-radius: 8px;
  --rift-radius-control: 5px;
  --rift-shadow: 0 5px 18px rgb(23 31 30 / 16%);

  color-scheme: dark;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 20px 0;
  background: var(--rift-bg);
  color: var(--rift-text);
  border: 1px solid var(--rift-border);
  border-radius: var(--rift-radius);
  box-shadow: var(--rift-shadow);
  font: 400 14px/1.55 var(--rift-font-body);
  text-transform: none;
  text-shadow: none;
  letter-spacing: normal;
  overflow-wrap: anywhere;
  /* Не ставить overflow:hidden: он обрежет focus и выпадающие панели. */
}

#rift-plugin *,
#rift-plugin *::before,
#rift-plugin *::after { box-sizing: border-box; }

#rift-plugin [hidden] { display: none !important; }

#rift-plugin .rift-header {
  padding: 20px 22px;
  background: var(--rift-header);
  border-bottom: 1px solid var(--rift-border);
  border-radius: 7px 7px 0 0;
}

#rift-plugin .rift-title {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  color: var(--rift-heading);
  font: 500 25px/1.25 var(--rift-font-title);
  text-transform: none;
  text-shadow: none;
  letter-spacing: normal;
}

#rift-plugin .rift-body { padding: 22px; }
#rift-plugin .rift-section { background: var(--rift-surface); }
#rift-plugin .rift-card {
  padding: 16px;
  background: var(--rift-surface-raised);
  border: 1px solid var(--rift-border);
  border-radius: 6px;
}

#rift-plugin .rift-muted { color: var(--rift-text-muted); }
#rift-plugin .rift-label {
  display: block;
  margin: 0 0 6px;
  color: var(--rift-text);
  font: 400 14px/1.5 var(--rift-font-body);
}
#rift-plugin .rift-hint {
  margin: 6px 0 0;
  color: var(--rift-text-muted);
  font-size: 13px;
  line-height: 1.5;
}

#rift-plugin .rift-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

#rift-plugin .rift-button {
  --rift-button-bg: var(--rift-secondary);
  --rift-button-fg: var(--rift-secondary-text);
  --rift-button-border: var(--rift-border-control);
  --rift-button-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  min-width: 0;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 10px 16px;
  background: var(--rift-button-bg);
  color: var(--rift-button-fg);
  border: 1px solid var(--rift-button-border);
  border-radius: var(--rift-radius-control);
  font: 400 14px/1.4 var(--rift-font-body);
  text-align: center;
  text-transform: none;
  text-decoration: none;
  white-space: normal;
  text-shadow: none;
  box-shadow: var(--rift-button-shadow);
  appearance: none;
  transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

#rift-plugin .rift-button:hover:not(:disabled):not([aria-disabled="true"]) {
  --rift-button-bg: var(--rift-secondary-hover);
  --rift-button-fg: var(--rift-secondary-text-hover);
  --rift-button-border: var(--rift-accent);
}
#rift-plugin .rift-button:active:not(:disabled):not([aria-disabled="true"]) {
  --rift-button-bg: var(--rift-surface-inset);
  --rift-button-fg: var(--rift-heading);
  --rift-button-border: var(--rift-accent);
}

#rift-plugin .rift-button--primary {
  --rift-button-bg: var(--rift-accent);
  --rift-button-fg: var(--rift-on-accent);
  --rift-button-border: var(--rift-accent);
}
#rift-plugin .rift-button--primary:hover:not(:disabled):not([aria-disabled="true"]) {
  --rift-button-bg: var(--rift-accent-hover);
  --rift-button-fg: var(--rift-on-accent);
  --rift-button-border: var(--rift-accent-hover);
}
#rift-plugin .rift-button--primary:active:not(:disabled):not([aria-disabled="true"]) {
  --rift-button-bg: var(--rift-accent-pressed);
  --rift-button-fg: var(--rift-on-accent);
  --rift-button-border: var(--rift-accent-pressed);
}

#rift-plugin .rift-button[aria-pressed="true"],
#rift-plugin .rift-button[aria-selected="true"] {
  --rift-button-bg: var(--rift-secondary);
  --rift-button-fg: var(--rift-heading);
  --rift-button-border: var(--rift-accent);
  /* В разметке дополнительно показать галочку или текст «Выбрано». */
  --rift-button-shadow: inset 3px 0 0 var(--rift-accent);
}

#rift-plugin .rift-button:disabled,
#rift-plugin .rift-button[aria-disabled="true"] {
  --rift-button-bg: var(--rift-disabled-bg);
  --rift-button-fg: var(--rift-disabled-text);
  --rift-button-border: var(--rift-border);
  opacity: 1;
  cursor: not-allowed;
  --rift-button-shadow: none;
  /* aria-disabled сам по себе не блокирует обработчик — это обязанность JS. */
}

#rift-plugin .rift-field {
  --rift-field-bg: var(--rift-surface-inset);
  --rift-field-fg: var(--rift-text);
  --rift-field-border: var(--rift-border-control);
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  background: var(--rift-field-bg);
  color: var(--rift-field-fg);
  border: 1px solid var(--rift-field-border);
  border-radius: var(--rift-radius-control);
  font: 400 14px/1.5 var(--rift-font-body);
  box-shadow: none;
  text-shadow: none;
  text-transform: none;
  caret-color: var(--rift-heading);
}
#rift-plugin .rift-field::placeholder { color: var(--rift-text-muted); opacity: 1; }
#rift-plugin .rift-field:focus { --rift-field-border: var(--rift-focus); }
#rift-plugin .rift-field[aria-invalid="true"] { --rift-field-border: var(--rift-danger); }
#rift-plugin textarea.rift-field { min-height: 96px; resize: vertical; }

#rift-plugin .rift-link {
  --rift-link-current: var(--rift-link);
  color: var(--rift-link-current);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  border-bottom: 0;
  text-shadow: none;
  box-shadow: none;
}
#rift-plugin .rift-link:hover,
#rift-plugin .rift-link:focus-visible { --rift-link-current: var(--rift-link-hover); }

#rift-plugin :is(button, input, select, textarea, a, summary):focus-visible {
  outline: 2px solid var(--rift-focus);
  outline-offset: 3px;
}

#rift-plugin .rift-status {
  --rift-status-fg: var(--rift-info);
  --rift-status-bg: var(--rift-info-bg);
  margin: 0;
  padding: 12px 14px;
  background: var(--rift-status-bg);
  color: var(--rift-status-fg);
  border: 0;
  border-left: 3px solid var(--rift-status-fg);
  border-radius: 4px;
  font: 400 14px/1.5 var(--rift-font-body);
  /* Важный статус обязательно назвать словами в разметке. */
}
#rift-plugin .rift-status--success { --rift-status-fg: var(--rift-success); --rift-status-bg: var(--rift-success-bg); }
#rift-plugin .rift-status--warning { --rift-status-fg: var(--rift-warning); --rift-status-bg: var(--rift-warning-bg); }
#rift-plugin .rift-status--danger { --rift-status-fg: var(--rift-danger); --rift-status-bg: var(--rift-danger-bg); }

#rift-plugin .rift-tag--lore {
  display: inline-block;
  padding: 4px 9px;
  background: var(--rift-copper);
  color: var(--rift-on-copper);
  border-radius: 4px;
  font: 400 12px/1.5 var(--rift-font-body);
}

#rift-plugin ::selection { background: var(--rift-accent); color: var(--rift-on-accent); }

/*
 * Совместимость с предоставленными CSS форума.
 * Эти локальные !important отвечают существующим глобальным !important.
 * Два ID усиливают специфичность только внутри плагина в #pun.
 * Состояния меняют локальные переменные; этот слой не дублирует их цвета.
 * Если корень или размещение другие, адаптировать #pun/#rift-plugin.
 */
#pun #rift-plugin button.rift-button,
#pun #rift-plugin input.rift-button,
#pun #rift-plugin a.rift-button {
  background: var(--rift-button-bg) !important;
  color: var(--rift-button-fg) !important;
  border: 1px solid var(--rift-button-border) !important;
  border-radius: var(--rift-radius-control) !important;
  font: 400 14px/1.4 var(--rift-font-body) !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: var(--rift-button-shadow) !important;
  white-space: normal !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

#pun #rift-plugin input.rift-field,
#pun #rift-plugin select.rift-field,
#pun #rift-plugin textarea.rift-field {
  background: var(--rift-field-bg) !important;
  color: var(--rift-field-fg) !important;
  border: 1px solid var(--rift-field-border) !important;
  border-radius: var(--rift-radius-control) !important;
  font: 400 14px/1.5 var(--rift-font-body) !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
}

#pun #rift-plugin select.rift-field option {
  font: inherit !important;
  text-transform: none !important;
}

#pun #rift-plugin .rift-button:disabled,
#pun #rift-plugin .rift-button[aria-disabled="true"] {
  cursor: not-allowed !important;
}

#pun #rift-plugin a.rift-link {
  color: var(--rift-link-current) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  border-bottom: 0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

#pun #pun-main #rift-plugin .rift-title {
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  color: var(--rift-heading) !important;
  font: 500 25px/1.25 var(--rift-font-title) !important;
  text-transform: none !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
  position: static !important;
  left: auto !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  text-align: left !important;
  border-radius: 0 !important;
}

#pun #rift-plugin :is(button, input, select, textarea, a, summary):focus-visible {
  outline: 2px solid var(--rift-focus) !important;
  outline-offset: 3px !important;
}

@media (max-width: 600px) {
  #rift-plugin .rift-header,
  #rift-plugin .rift-body { padding: 16px; }
  #rift-plugin .rift-field,
  #pun #rift-plugin input.rift-field,
  #pun #rift-plugin select.rift-field,
  #pun #rift-plugin textarea.rift-field { font-size: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  #rift-plugin .rift-button { transition: none; }
}

@media (forced-colors: active) {
  #rift-plugin .rift-button[aria-pressed="true"],
  #rift-plugin .rift-button[aria-selected="true"] { outline: 2px solid Highlight; outline-offset: 2px; }
  #pun #rift-plugin :is(button, input, select, textarea, a, summary):focus-visible {
    outline-color: Highlight !important;
  }
}

/* Component layout; palette and forum-control isolation come from the supplied theme. */
#rift-plugin {max-width:1120px;margin:24px auto;--l5r-serif:"Playfair","Playfair Display",Georgia,serif}
#rift-plugin .l5r-header {padding:25px 30px 20px;position:relative;background:#232c2e}
#rift-plugin .l5r-header-top,#rift-plugin .l5r-title-row {display:flex;justify-content:space-between;align-items:center;gap:16px}
#rift-plugin .l5r-eyebrow {font:11px/1.5 Verdana,sans-serif;letter-spacing:1.25px;text-transform:uppercase;color:var(--rift-text-muted)}
#rift-plugin .l5r-edition {font-size:11px;color:var(--rift-copper-text);white-space:nowrap}
#rift-plugin .rift-title {font:400 44px/1.2 var(--l5r-serif);margin:12px 0 2px}
#rift-plugin .l5r-seal {position:relative;display:block;flex:0 0 64px;width:64px;height:64px;margin:8px 4px;border:1px solid var(--rift-accent);border-radius:50%;opacity:.65}
#rift-plugin .l5r-seal::before,#rift-plugin .l5r-seal::after {content:"";position:absolute;border:1px solid var(--rift-accent);border-radius:50%}
#rift-plugin .l5r-seal::before {inset:10px;box-shadow:0 0 0 5px #232c2e,0 0 0 6px var(--rift-accent)}
#rift-plugin .l5r-seal::after {inset:22px;box-shadow:0 0 0 5px #232c2e,0 0 0 6px var(--rift-accent)}
#rift-plugin .l5r-weapon-editor {padding:14px 0;border-bottom:1px solid var(--rift-border);margin-bottom:14px}
#rift-plugin .l5r-subtitle {margin:0 0 19px;color:var(--rift-text-muted);font-size:13px}
#rift-plugin .l5r-scene-meta {display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid var(--rift-border);padding-top:14px;font-size:12px}
#rift-plugin .l5r-scene-meta span:first-child {color:var(--rift-heading)}
#rift-plugin .l5r-nav {display:flex;gap:4px;flex-wrap:wrap;padding:8px 22px;background:var(--rift-surface-inset);border-bottom:1px solid var(--rift-border)}
#rift-plugin .l5r-nav-button.rift-button {--rift-button-bg:transparent;--rift-button-border:transparent;--rift-button-fg:var(--rift-text-muted);border-radius:3px;font-size:12px;min-height:42px;padding:8px 16px}
#rift-plugin .l5r-nav-button[aria-pressed=true] {--rift-button-bg:var(--rift-secondary);--rift-button-fg:var(--rift-heading);--rift-button-border:var(--rift-border);box-shadow:inset 0 -2px var(--rift-accent)}
#rift-plugin .l5r-scene {display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px}
#rift-plugin .l5r-roster {min-width:0}
#rift-plugin .l5r-roster>.l5r-eyebrow {margin:0 0 12px}
#rift-plugin .l5r-person {background:var(--rift-surface-raised);border:1px solid var(--rift-border);border-radius:6px;padding:17px;margin-bottom:14px}
#rift-plugin .l5r-person.is-active {border-left:3px solid var(--rift-accent)}
#rift-plugin .l5r-person-top {display:flex;align-items:center;gap:11px;margin-bottom:20px}
#rift-plugin .l5r-avatar {display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid var(--rift-border-control);border-radius:50%;font:22px var(--l5r-serif);color:var(--rift-heading)}
#rift-plugin .l5r-person-name {font:400 18px/1.3 var(--l5r-serif);color:var(--rift-heading);margin:0}
#rift-plugin .l5r-person-top .rift-hint {font-size:11px;margin-top:4px}
#rift-plugin .l5r-meter {margin:13px 0}
#rift-plugin .l5r-meter-label {display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:6px}
#rift-plugin .l5r-meter-label strong {font-weight:normal;color:var(--rift-heading);font-variant-numeric:tabular-nums}
#rift-plugin .l5r-track {height:5px;border-radius:5px;background:var(--rift-surface-inset)}
#rift-plugin .l5r-fill {height:100%;background:var(--rift-accent);border-radius:5px}
#rift-plugin .l5r-strife .l5r-fill {background:var(--rift-copper-text)}
#rift-plugin .l5r-person-meta {display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:11px;margin:18px 0 0}
#rift-plugin .l5r-status {font-size:11px;color:var(--rift-success);margin:12px 0 0}
#rift-plugin .l5r-workspace {min-width:0}
#rift-plugin .l5r-section {margin:0 0 24px}
#rift-plugin .l5r-section-title {font:400 25px/1.25 var(--l5r-serif);color:var(--rift-heading);margin:0 0 10px}
#rift-plugin .l5r-section>p {margin-top:8px;margin-bottom:16px}
#rift-plugin .l5r-rings {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 14px}
#rift-plugin .l5r-ring,#rift-plugin .l5r-ring.rift-button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:var(--rift-surface-raised);border:1px solid var(--rift-border);border-radius:5px;min-width:0;padding:12px 3px;min-height:112px;color:var(--rift-text)}
#rift-plugin .l5r-ring.is-selected {border-color:var(--rift-accent);background:var(--rift-secondary);box-shadow:inset 0 -3px var(--rift-accent)}
#rift-plugin .l5r-ring-name {font-size:11px}
#rift-plugin .l5r-ring-number {display:block;font:32px/1.5 var(--l5r-serif);color:var(--rift-heading)}
#rift-plugin .l5r-ring-verb {font-size:9px;color:var(--rift-text-muted)}
#rift-plugin .l5r-stance-copy {padding:12px 15px;background:var(--rift-surface);border-left:2px solid var(--rift-accent);font-size:12px;margin:12px 0 18px}
#rift-plugin .l5r-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#rift-plugin .l5r-field {display:block;min-width:0;margin:0 0 15px}
#rift-plugin .l5r-field .rift-label {font-size:12px}
#rift-plugin .l5r-check {display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:12px;cursor:pointer}
#rift-plugin .l5r-check input {flex:0 0 18px;width:18px;min-height:18px;margin:2px 0 0;accent-color:var(--rift-accent)}
#rift-plugin .l5r-formula {padding:12px 15px;margin:14px 0 17px;background:var(--rift-surface-inset);border:1px solid var(--rift-border);border-radius:5px;font-size:12px;color:var(--rift-heading);font-variant-numeric:tabular-nums}
#rift-plugin .l5r-details {border-top:1px solid var(--rift-border);padding:14px 0;margin:9px 0}
#rift-plugin .l5r-details summary {cursor:pointer;}
#rift-plugin .l5r-details[open]>summary {margin-bottom:16px}
#rift-plugin .l5r-details>p {font-size:13px}
#rift-plugin .l5r-editor-rings {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#rift-plugin .l5r-skill-group h4,#rift-plugin h4 {font:400 18px/1.4 var(--l5r-serif);color:var(--rift-heading);margin:14px 0}
#rift-plugin .l5r-skill-group {margin:20px 0}
#rift-plugin .l5r-steps {display:flex;list-style:none;gap:0;padding:0;margin:20px 0;border-bottom:1px solid var(--rift-border)}
#rift-plugin .l5r-steps li {flex:1;padding:10px 4px;color:var(--rift-text-muted);font-size:11px;text-align:center}
#rift-plugin .l5r-steps .is-current {border-bottom:2px solid var(--rift-accent);color:var(--rift-heading)}
#rift-plugin .l5r-dice-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:20px 0}
#rift-plugin .l5r-die,#rift-plugin .l5r-die.rift-button {display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:13px 7px;background:var(--rift-surface-raised);border:1px solid var(--rift-border-control);min-height:142px;border-radius:6px;color:var(--rift-text)}
#rift-plugin .l5r-die.skill {border-radius:18px 6px 18px 6px}
#rift-plugin .l5r-die.is-selected {background:var(--rift-secondary);box-shadow:inset 0 -3px var(--rift-accent);border-color:var(--rift-accent)}
#rift-plugin .l5r-die-type,#rift-plugin .l5r-die-index {font-size:10px;color:var(--rift-text-muted);text-align:center}
#rift-plugin .l5r-die-symbols {display:flex;justify-content:center;gap:6px;font:30px/1.2 Georgia,serif;color:var(--rift-heading)}
#rift-plugin .l5r-die-strife {color:var(--rift-copper-text)}
#rift-plugin .l5r-die-caption {font-size:10px;line-height:1.5;text-align:center}
#rift-plugin .l5r-die:disabled {background:var(--rift-disabled-bg);border-style:dashed}
#rift-plugin .l5r-die:disabled .l5r-die-symbols {color:var(--rift-disabled-text)}
#rift-plugin .l5r-result {background:var(--rift-success-bg);border:1px solid var(--rift-border);padding:22px;border-radius:6px}
#rift-plugin .l5r-result.is-failure {background:var(--rift-warning-bg)}
#rift-plugin .l5r-result-number {display:block;font:44px/1.2 var(--l5r-serif);margin:12px 0;color:var(--rift-heading)}
#rift-plugin .l5r-result p {margin:0 0 12px;font-size:13px}
#rift-plugin .l5r-result-stats {display:flex;flex-wrap:wrap;gap:18px;font-size:12px}
#rift-plugin .l5r-timeline {list-style:none;padding:0;margin:24px 0}
#rift-plugin .l5r-timeline li {border-left:1px solid var(--rift-border-control);padding:0 0 22px 20px;position:relative}
#rift-plugin .l5r-timeline li:before {content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--rift-accent);left:-4px;top:7px}
#rift-plugin .l5r-timeline p {margin:8px 0;font-size:13px}
#rift-plugin .l5r-timeline-meta {display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--rift-text-muted)}
#rift-plugin .l5r-output {margin:24px 0;padding-top:20px;border-top:1px solid var(--rift-border)}
#rift-plugin .l5r-output textarea {margin-bottom:12px}
#rift-plugin .l5r-footer {border-top:1px solid var(--rift-border);padding:14px 24px;color:var(--rift-text-muted);font-size:10px}
#rift-plugin .rift-message {margin:0 0 18px}
#rift-plugin .rift-message {padding:12px 15px;border:1px solid var(--rift-border);border-radius:5px;font-size:13px}
#rift-plugin .rift-message--danger {background:var(--rift-danger-bg);color:var(--rift-danger)}
#rift-plugin .rift-message--warning {background:var(--rift-warning-bg);color:var(--rift-warning)}
#rift-plugin .rift-message--success {background:var(--rift-success-bg);color:var(--rift-success)}
#rift-plugin .rift-message--info {background:var(--rift-info-bg);color:var(--rift-info)}
/* Match the forum's ID-heavy rules, including !important inputs and uppercase. */
#pun #pun-main #rift-plugin .rift-title {font:400 44px/1.2 var(--l5r-serif)!important;padding:0!important;margin:12px 0 2px!important;background:none!important;color:var(--rift-heading)!important;border:0!important}
#pun #rift-plugin .l5r-nav-button {font-size:12px!important;padding:8px 16px!important;min-height:42px!important}
#pun #rift-plugin .l5r-ring.rift-button {display:flex!important;padding:12px 3px!important;background:var(--rift-surface-raised)!important;border-color:var(--rift-border)!important}
#pun #rift-plugin .l5r-ring.is-selected {background:var(--rift-secondary)!important;border-color:var(--rift-accent)!important;box-shadow:inset 0 -3px var(--rift-accent)!important}
#pun #rift-plugin .l5r-die.rift-button {display:flex!important;padding:13px 7px!important;background:var(--rift-surface-raised)!important;border-color:var(--rift-border-control)!important}
#pun #rift-plugin .l5r-die.is-selected {background:var(--rift-secondary)!important;box-shadow:inset 0 -3px var(--rift-accent)!important}
#pun #rift-plugin .l5r-check input {width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;margin:2px 0 0!important;padding:0!important;appearance:auto!important}
#pun #rift-plugin :is(h3,h4) {background:none!important;border:0!important;text-transform:none!important;letter-spacing:normal!important;text-align:left!important;color:var(--rift-heading)!important}
#rift-plugin :is(button,input,select,summary,a):focus-visible {outline:2px solid var(--rift-focus)!important;outline-offset:3px!important}
@media(max-width:800px){
  #rift-plugin .l5r-scene {grid-template-columns:minmax(0,1fr);gap:18px}
  #rift-plugin .l5r-roster {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #rift-plugin .l5r-roster>.l5r-eyebrow {grid-column:1/-1;margin:0}
  #rift-plugin .l5r-person {margin:0}
}
@media(max-width:480px){
  #rift-plugin .rift-body {padding:18px 14px}
  #rift-plugin .l5r-header {padding:20px 16px 16px}
  #rift-plugin .l5r-header-top {align-items:flex-start;gap:12px}
  #rift-plugin .l5r-eyebrow {font-size:9px;letter-spacing:.8px}
  #rift-plugin .l5r-edition {font-size:9px}
  #rift-plugin .rift-title,#pun #pun-main #rift-plugin .rift-title {font-size:35px!important}
  #rift-plugin .l5r-nav {padding:6px;gap:0}
  #rift-plugin .l5r-nav-button,#pun #rift-plugin .l5r-nav-button {padding:8px!important;font-size:11px!important}
  #rift-plugin .l5r-roster {grid-template-columns:minmax(0,1fr)}
  #rift-plugin .l5r-person {padding:14px}
  #rift-plugin .l5r-form-grid {grid-template-columns:minmax(0,1fr);gap:0}
  #rift-plugin .l5r-rings {gap:4px}
  #rift-plugin .l5r-ring,#rift-plugin .l5r-ring.rift-button {min-height:99px}
  #rift-plugin .l5r-ring-name {font-size:10px}
  #rift-plugin .l5r-ring-verb {font-size:8px}
  #rift-plugin .l5r-editor-rings {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  #rift-plugin .l5r-field :is(input,select),#pun #rift-plugin .l5r-field :is(input,select) {font-size:16px!important}
  #rift-plugin .l5r-section-title {font-size:23px}
  #rift-plugin .l5r-dice-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  #rift-plugin .l5r-footer {padding:14px}
}
@media(prefers-reduced-motion:reduce){#rift-plugin * {transition:none!important}}
/* Independent of the panel's scroll position and forum stacking contexts. */
#rift-l5r-toast {
  all:initial;position:fixed!important;inset:auto!important;top:var(--l5r-toast-top,16px)!important;
  left:var(--l5r-toast-left,50%)!important;transform:translateX(-50%)!important;z-index:2147483647!important;
  box-sizing:border-box!important;display:flex!important;align-items:flex-start!important;gap:16px!important;
  width:min(560px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;
  margin:0!important;padding:16px!important;border:1px solid #88a19d!important;border-radius:8px!important;
  background:#232c2e!important;color:#d3dfdb!important;box-shadow:0 8px 30px #0008!important;
  font:14px/1.5 Verdana,sans-serif!important;white-space:normal!important;overflow-wrap:anywhere!important;
}
#rift-l5r-toast[hidden] {display:none!important}
#rift-l5r-toast[data-kind=danger] {background:#352824!important;border-color:#c28f7d!important;color:#f1c1ab!important}
#rift-l5r-toast > div {all:unset;flex:1;min-width:0}
#rift-l5r-toast > button {
  all:unset!important;box-sizing:border-box!important;flex:0 0 36px!important;width:36px!important;height:36px!important;
  display:grid!important;place-items:center!important;color:inherit!important;background:transparent!important;
  border:1px solid currentColor!important;border-radius:5px!important;cursor:pointer!important;font:24px/1 Verdana!important;
}
#rift-l5r-toast > button:focus-visible {outline:2px solid #d3dfdb!important;outline-offset:3px!important}
/* Isolate the legend from forum-wide spoiler/summary formatting. */
#rift-plugin .l5r-symbol-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#rift-plugin .l5r-symbol-help { display:block!important; width:auto!important; min-width:0!important; margin:0!important; padding:12px!important; border:1px solid var(--rift-border); border-radius:6px; background:var(--rift-surface); }
#rift-plugin .l5r-symbol-help > summary { all:unset!important; display:block!important; box-sizing:border-box!important; width:100%!important; min-width:0!important; padding:0!important; margin:0!important; cursor:pointer!important; font:14px/1.5 Verdana,Arial,sans-serif!important; color:var(--rift-text)!important; text-align:left!important; white-space:normal!important; overflow-wrap:normal!important; word-break:normal!important; }
#rift-plugin .l5r-symbol-help > summary::before, #rift-plugin .l5r-symbol-help > summary::after, #rift-plugin .l5r-symbol-help > summary::marker, #rift-plugin .l5r-symbol-help > summary::-webkit-details-marker { content:none!important; display:none!important; }
#rift-plugin .l5r-symbol-help > summary > strong, #rift-plugin .l5r-symbol-help > summary > span { display:block!important; float:none!important; width:auto!important; max-width:none!important; padding:0!important; margin:0!important; font:inherit!important; white-space:normal!important; word-break:normal!important; overflow-wrap:normal!important; }
#rift-plugin .l5r-symbol-help > summary > strong { font-weight:bold!important; }
#rift-plugin .l5r-symbol-help > summary > span { margin-top:5px!important; font-size:12px!important; }
#rift-plugin .l5r-symbol-help > p { margin:12px 0 0!important; font:13px/1.6 Verdana,Arial,sans-serif!important; white-space:normal!important; word-break:normal!important; }
#rift-plugin .l5r-symbol-help > summary:focus-visible { outline:2px solid var(--rift-focus)!important; outline-offset:4px!important; }
#rift-plugin .l5r-symbol-legend { margin:16px 0; }
#rift-plugin .l5r-symbol-S { color:#b7d6b2!important; }
#rift-plugin .l5r-symbol-E { color:#e6c77e!important; }
#rift-plugin .l5r-symbol-O { color:#9bcbdc!important; }
#rift-plugin .l5r-symbol-T { color:#dba78d!important; }
@media(max-width:380px) { #rift-plugin .l5r-symbol-grid { grid-template-columns:minmax(0,1fr); } }

#rift-plugin .l5r-dice { max-width:140px; width:100%; box-sizing:border-box; }

#rift-plugin .l5r-dice-grid:has(> .l5r-die:only-child) { display:flex; justify-content:center; }
#rift-plugin .l5r-dice-grid > .l5r-die:only-child { width:calc((100% - 40px) / 5); min-width:112px; max-width:140px; flex:none; }

#rift-plugin .l5r-result.is-success .l5r-check-status { color:#b7d6b2; font-weight:bold; }

#rift-plugin .l5r-result.is-success .l5r-check-status { display:flex; align-items:center; gap:10px; color:var(--rift-text); font:700 13px/1.5 Verdana,Arial,sans-serif; }
#rift-plugin .l5r-check-status > span { font:inherit; }
#rift-plugin .l5r-check-status .l5r-check-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 13px; width:13px; height:13px; box-sizing:border-box; border:1.5px solid #45d48a; border-radius:50%; color:#45d48a; font:700 9px/1 Arial,sans-serif; }

#rift-plugin .l5r-effect-results { display:grid; gap:12px; margin:12px 0; }
#rift-plugin .l5r-effect-card { padding:14px; border:1px solid var(--rift-border); border-radius:6px; background:var(--rift-surface); }

#rift-plugin .l5r-effect-picker { position:relative; }
#rift-plugin .l5r-effect-picker .l5r-effect-results { position:absolute; top:100%; left:0; right:0; z-index:20; max-height:340px; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:8px; border:1px solid var(--rift-border); border-radius:6px; background:var(--rift-bg); box-shadow:0 8px 20px #0006; }
#rift-plugin .l5r-effect-results[hidden] { display:none!important; }
#rift-plugin .l5r-effect-card.is-unavailable { opacity:.48; }

#rift-plugin .l5r-effect-picker > .l5r-field > .rift-label { padding-right:44px; min-height:32px; display:block; }
#rift-plugin .l5r-filter-toggle { position:absolute; right:0; top:0; width:32px!important; height:30px; min-height:0; padding:5px!important; display:flex; align-items:center; justify-content:center; }
#rift-plugin .l5r-effect-filters { position:absolute; right:0; top:34px; z-index:22; width:min(290px,100%); padding:14px; border:1px solid var(--rift-border); border-radius:6px; background:var(--rift-bg); box-shadow:0 6px 20px #0006; }
#rift-plugin .l5r-effect-filters[hidden] { display:none!important; }
#rift-plugin button.l5r-effect-card { display:block; width:100%; margin:0; text-align:left; font:14px/1.5 Verdana,Arial,sans-serif; color:var(--rift-text); cursor:pointer; }
#rift-plugin button.l5r-effect-card:disabled { cursor:default; }
#rift-plugin button.l5r-effect-card:not(:disabled):hover { border-color:var(--rift-accent); background:var(--rift-surface-raised); }
#rift-plugin .l5r-effect-text { display:block; }
#rift-plugin .l5r-effect-meta { display:block; margin-top:7px; font-size:12px; color:var(--rift-text-muted); }

/* Effect options are text rows, regardless of forum button typography. */
#rift-plugin .l5r-effect-results button.l5r-effect-card,
#rift-plugin .l5r-effect-results button.l5r-effect-card > span {
  text-transform:none!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:normal!important;
  text-shadow:none!important;
}
#rift-plugin .l5r-effect-results button.l5r-effect-card { font-size:14px!important; line-height:1.5!important; border-radius:6px!important; text-align:left!important; }
#rift-plugin .l5r-effect-results .l5r-effect-text { font-size:14px!important; }
#rift-plugin .l5r-effect-results .l5r-effect-meta { font-size:12px!important; }

/* Compact stage segments and element icons. */
#rift-plugin .l5r-ring-value {display:flex;align-items:center;justify-content:center;gap:8px}
#rift-plugin .l5r-ring-icon {display:block;width:22px;height:22px;flex:none;margin:0;color:var(--rift-heading)}
#rift-plugin .l5r-steps {gap:8px;border-bottom:0}
#rift-plugin .l5r-steps li {display:flex;flex-direction:column;gap:10px;padding:8px 0;border-bottom:0;min-width:0}
#rift-plugin .l5r-step-pill {display:block;box-sizing:border-box;height:5px;width:100%;border:1px solid var(--rift-border);border-radius:999px;background:transparent}
#rift-plugin .l5r-steps .is-complete .l5r-step-pill {background:var(--rift-accent);border-color:var(--rift-accent)}
#rift-plugin .l5r-steps .is-current .l5r-step-pill {background:var(--rift-heading);border-color:var(--rift-heading)}
#rift-plugin .l5r-steps .is-current {border-bottom:0;color:var(--rift-heading)}

#rift-plugin .l5r-examples-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
#rift-plugin .l5r-examples-head .l5r-filter-toggle {position:static;flex:none}
#rift-plugin .l5r-examples-head h4 {margin:0;font:inherit;color:var(--rift-heading)}
#rift-plugin .l5r-example-list {list-style:none;padding:0;margin:12px 0}
#rift-plugin .l5r-example {padding:12px;margin:0 0 8px;border:1px solid var(--rift-border);border-radius:5px;font-weight:400;text-transform:none}
#rift-plugin .l5r-example p {margin:0 0 6px}
#rift-plugin .l5r-example.is-unavailable {opacity:.5}

#rift-plugin .l5r-example {position:relative;padding-right:36px}
#rift-plugin .l5r-example[role=checkbox] {cursor:pointer}
#rift-plugin .l5r-example.is-selected {opacity:1;border-color:var(--rift-accent);background:var(--rift-secondary)}
#rift-plugin .l5r-example-check {position:absolute;right:12px;top:10px;color:var(--rift-accent);font-size:16px}
#rift-plugin .l5r-example:focus-visible {outline:2px solid var(--rift-accent);outline-offset:2px}

#rift-plugin .l5r-history-source {display:block;margin:12px 0 0;font-size:12px}
#rift-plugin .l5r-history-actions {display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:20px}
#rift-plugin .l5r-history-actions .rift-button {display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;max-width:100%;min-height:44px;margin:0!important;white-space:normal;text-align:center}
#rift-plugin .l5r-history-check,#rift-plugin .l5r-history-check svg {display:block;width:18px;height:18px;flex:none}
@media(max-width:480px){#rift-plugin .l5r-history-actions .rift-button {width:100%!important}}

#rift-plugin .l5r-player-message {margin:18px 0;padding:16px 18px;border:1px solid var(--rift-border);border-left:3px solid var(--rift-accent);border-radius:5px;background:var(--rift-surface-raised);overflow-wrap:anywhere}
#rift-plugin .l5r-player-message-author {margin-bottom:8px;font-size:12px;color:var(--rift-text-muted)}
#rift-plugin .l5r-player-message-text {margin:0;color:var(--rift-heading);white-space:pre-wrap;line-height:1.6}

#rift-plugin .l5r-form-grid {align-items:end}
#rift-plugin .l5r-skills-summary {display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);gap:24px;margin:18px 0;align-items:start}
#rift-plugin .l5r-skills-values {margin:0;min-width:0;width:300px;max-width:100%}
#rift-plugin .l5r-skill-value {display:grid;grid-template-columns:minmax(0,1fr) 2ch;gap:16px;padding:5px 0}
#rift-plugin .l5r-skill-value dt,#rift-plugin .l5r-skill-value dd {margin:0;font-weight:normal}
#rift-plugin .l5r-skill-value dd {text-align:right;font-variant-numeric:tabular-nums}
#rift-plugin .l5r-skills-legend {border-left:1px solid var(--rift-border);padding-left:20px}
#rift-plugin .l5r-skills-legend ul {list-style:none;margin:8px 0 0;padding:0}
#rift-plugin .l5r-skills-legend li {margin:0;padding:3px 0}
#rift-plugin .l5r-level-title {font-weight:normal}
#rift-plugin .l5r-person .l5r-skills-summary {grid-template-columns:minmax(0,1fr);gap:12px}
@media(max-width:560px){#rift-plugin .l5r-skills-summary{grid-template-columns:minmax(0,1fr);gap:16px}}
#rift-plugin .l5r-equipment-choice {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#rift-plugin .l5r-equipment-column {min-width:0}
@media(max-width:560px){#rift-plugin .l5r-equipment-choice{grid-template-columns:minmax(0,1fr);gap:0}}

#rift-plugin .l5r-self-guard { margin-bottom: 16px; }
.l5r-kata:not(:empty){margin:16px 0;padding:16px;border:1px solid var(--rift-border,#40504a);border-radius:5px;}
.l5r-kata h4{margin:0 0 10px;}
.l5r-trait-results{max-height:420px;overflow-y:auto;overscroll-behavior:contain;margin-top:12px;}
.l5r-trait-card{border:1px solid #40504a;border-radius:4px;padding:12px;margin:10px 0;overflow-wrap:anywhere;}
#rift-plugin .l5r-trait-card, #rift-plugin .l5r-trait-editor {font-size:14px;line-height:1.6;text-align:left;}
#rift-plugin .l5r-trait-title {display:block;margin:0 0 12px;padding:0;font-size:17px;line-height:1.4;text-align:left;}
#rift-plugin .l5r-trait-card p {font-size:14px;line-height:1.6;margin:10px 0;}
#rift-plugin .l5r-trait-editor {margin:18px 0;}
.l5r-trait-card .rift-button{margin-top:10px;}

#rift-plugin .l5r-check-result { padding: 14px; margin: 10px 0; border: 1px solid rgba(145,174,169,.3); border-radius: 4px; }
#rift-plugin .l5r-check-result a { color: inherit; font-size: .9em; }
/* Shared disclosure style. Scoped to the plugin, independent of forum spoilers. */
#rift-plugin details[class] {
  box-sizing:border-box!important; width:auto!important; min-width:0!important;
  margin:16px 0!important; padding:0!important;
  border:1px solid #465854!important;
  border-radius:3px!important; background:#1c2523!important;
}
#rift-plugin details[class] > summary {
  all:unset!important; display:block!important; position:relative!important;
  box-sizing:border-box!important; width:100%!important; min-height:56px!important;
  padding:15px 18px 15px 62px!important; margin:0!important;
  background:linear-gradient(to right,#354743 0 45px,#526661 45px 46px,#2b3936 46px)!important;
  border:0!important; border-left:3px solid #91aaa3!important; border-radius:0!important;
  font:600 17px/1.5 Verdana,Arial,sans-serif!important; color:var(--rift-heading)!important;
  text-align:left!important; white-space:normal!important; overflow-wrap:anywhere!important;
  word-break:normal!important; cursor:pointer!important; list-style:none!important;
}
#rift-plugin details[class] > summary::before {
  all:unset!important; content:''!important; display:block!important; position:absolute!important;
  left:17px!important; top:23px!important; width:10px!important; height:11px!important;
  box-sizing:border-box!important; border:0!important; border-radius:0!important;
  background:var(--rift-accent)!important; box-shadow:none!important;
  clip-path:polygon(15% 0,100% 50%,15% 100%)!important;
  transform:rotate(0deg)!important; transform-origin:50% 50%!important;
  transition:transform .15s ease!important;
}
#rift-plugin details[class][open] > summary::before {transform:rotate(90deg)!important;}
#rift-plugin details[class][open] {padding:0 16px 16px!important;border-color:#6f8981!important;}
#rift-plugin details[class][open] > summary {width:calc(100% + 32px)!important;margin:0 -16px 18px!important;border-bottom:1px solid #526661!important;background:linear-gradient(to right,#405952 0 45px,#607a72 45px 46px,#31433e 46px)!important;}
#rift-plugin details[class] > summary::after,
#rift-plugin details[class] > summary::marker,
#rift-plugin details[class] > summary::-webkit-details-marker {display:none!important;content:none!important;}
#rift-plugin details[class] > summary:hover {color:#eef4f1!important;border-left-color:#c1d5ce!important;}
#rift-plugin details[class] > summary:focus-visible {outline:2px solid var(--rift-focus)!important;outline-offset:2px!important;}
@media(prefers-reduced-motion:reduce){#rift-plugin details[class] > summary::before {transition:none!important;}}
#rift-plugin .l5r-symbol-help > summary > strong,
#rift-plugin .l5r-symbol-help > summary > span {overflow-wrap:anywhere!important;}
@media(max-width:600px){#rift-plugin .l5r-symbol-grid {grid-template-columns:minmax(0,1fr);}}
#rift-plugin .l5r-person details[class] > summary {font-size:14px!important;min-height:46px!important;padding:12px 10px 12px 42px!important;background:linear-gradient(to right,#354743 0 30px,#526661 30px 31px,#2b3936 31px)!important;}
#rift-plugin .l5r-person details[class][open] > summary {background:linear-gradient(to right,#405952 0 30px,#607a72 30px 31px,#31433e 31px)!important;}
#rift-plugin .l5r-person details[class] > summary::before {left:10px!important;top:18px!important;width:8px!important;height:9px!important;}
