/* Scenario register, chapter pages, authors' workshop, casting and import. */
body.scenario-grimoire {
  --scn-ink-soft: var(--gr-raised); --scn-border: var(--gr-line); --scn-border-hover: #95713c;
  --scn-rune: var(--gr-wax); --scn-rune-soft: var(--gr-wax); --scn-text: var(--gr-ink); --scn-text-dim: var(--gr-muted);
  --scn-shadow: 0 7px 20px #60402316; --scn-radius: 6px;
  --cs-ink: var(--gr-paper); --cs-panel: #f3e5bed9; --cs-panel-soft: #e5d1a5;
  --cs-border: var(--gr-line); --cs-border-soft: #95713c33; --cs-rune: var(--gr-wax); --cs-rune-soft: var(--gr-wax);
  --cs-text: var(--gr-ink); --cs-text-dim: var(--gr-muted); --cs-danger: var(--gr-danger); --cs-radius: 7px; --cs-shadow: 0 6px 22px #60402312;
  --cast-ink: var(--gr-paper); --cast-panel: var(--gr-page); --cast-border: var(--gr-line); --cast-border-soft: #95713c33;
  --cast-rune: var(--gr-wax); --cast-rune-soft: var(--gr-wax); --cast-text: var(--gr-ink); --cast-text-dim: var(--gr-muted);
  --cast-danger: var(--gr-danger); --cast-success: var(--gr-success); --cast-radius: 6px; --cast-shadow: 0 6px 22px #60402312;
  --rpi-ink: var(--gr-paper); --rpi-panel: var(--gr-page); --rpi-panel-soft: #e5d1a5; --rpi-border: var(--gr-line);
  --rpi-rune: var(--gr-wax); --rpi-rune-soft: var(--gr-wax); --rpi-text: var(--gr-ink); --rpi-text-dim: var(--gr-muted);
  --rpi-success: var(--gr-success); --rpi-warning: var(--gr-warning); --rpi-danger: var(--gr-danger); --rpi-radius: 6px;
  --lore-ink: var(--gr-paper); --lore-ink-card: var(--gr-page); --lore-hairline: var(--gr-line); --lore-hairline-strong: #95713c77;
  --lore-parchment: var(--gr-wax); --lore-parchment-dim: var(--gr-muted); --lore-text: var(--gr-ink); --lore-text-dim: var(--gr-muted);
  --lore-text-faint: #79634a; --lore-rune: var(--gr-wax); --lore-sigil: var(--gr-gold); --lore-shadow: 0 6px 22px #60402312;
}
body.scenario-grimoire :is(#grimoire-settings,#grimoire-history,#grimoire-publish) { scroll-margin-top: 88px; }
body.scenario-grimoire .invitation-section { background: #ecdcb8; border: 1px solid var(--gr-line); border-radius: 5px; box-shadow: none; padding: 18px; }
body.scenario-grimoire .invitation-section-title { color: var(--gr-wax); font: 600 1rem/1.5 var(--gr-heading); text-shadow: none; }
body.scenario-grimoire :is(.invitation-scenario-name,.invitation-sender,.invitation-info) { color: var(--gr-ink); text-shadow: none; }
body.scenario-grimoire :is(.container,.container-fluid,.page-container,.cast-page,.rpi-container,.lore-page-inner,.relations-container) { min-width: 0; }
body.scenario-grimoire .grimoire-shell.container-fluid { padding-top: 28px !important; overflow: visible !important; height: auto !important; }
body.scenario-grimoire .grimoire-shell > .row { margin-inline: -10px; }
body.scenario-grimoire .grimoire-shell > .row > [class*=col-] { padding-inline: 10px; }
body.scenario-grimoire :is(#mes-univers-panel,#mes-aventures-panel) {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 18px 20px !important; overflow: visible !important; height: auto !important;
}
body.scenario-grimoire #mes-univers-panel { border-right: 1px solid var(--gr-line) !important; }
body.scenario-grimoire :is(.sidebar-main-title,.mus-title) { color: var(--gr-wax); text-shadow: none; font: 600 1rem var(--gr-heading); text-align: left !important; }
body.scenario-grimoire .scn-page-header { gap: 14px; align-items: center; flex-wrap: wrap; }
body.scenario-grimoire .scn-page-header h1 { font: 600 clamp(1.5rem,3vw,2.3rem) var(--gr-heading); color: var(--gr-wax); }
body.scenario-grimoire .scn-page-subtitle { color: var(--gr-muted); font-size: 1.08rem; }
body.scenario-grimoire :is(.scenario-card,.scenario-card-compact,.invitation-card) {
  border: 1px solid #b99c69 !important; border-radius: 6px !important;
  background: url('codex-paper-grain.svg') repeat, #f3e5be !important;
  box-shadow: 0 5px 15px #603e2212 !important; color: var(--gr-ink); overflow: visible;
}
body.scenario-grimoire .scenario-card { position: relative; height: 100%; display: flex; flex-direction: column; transition: border-color .18s,box-shadow .18s; }
body.scenario-grimoire .grimoire-card-menu { position: absolute; right: 8px; top: 8px; z-index: 4; width: 40px; height: 40px; padding: 0; color: #f9edce; background: #74303a; border: 1px solid #692833; border-radius: 5px; font: 700 1.5rem/1 var(--gr-ui); }
body.scenario-grimoire .grimoire-results { margin: 16px 0; color: var(--gr-muted); font: .8rem var(--gr-ui); }
body.scenario-grimoire .grimoire-empty { padding: 20px; border: 1px dashed var(--gr-line); background: var(--gr-page); }
body.scenario-grimoire .grimoire-empty[hidden] { display: none; }
body.scenario-grimoire .scenario-card:hover { transform: none; border-color: #8e6840 !important; box-shadow: 0 7px 22px #603e2226 !important; }
body.scenario-grimoire #scenario-cards-row { align-items: stretch; row-gap: 22px; }
body.scenario-grimoire #scenario-cards-row > [class*=col-] { margin-bottom: 0; min-width: 0; }
body.scenario-grimoire .scenario-image-link { color: inherit; text-decoration: none; }
body.scenario-grimoire .scenario-card-image-wrapper {
  height: auto !important; padding-top: 0 !important; overflow: hidden;
  display: flex; flex-direction: column; border-radius: 5px 5px 0 0;
  background: #dfc693;
}
body.scenario-grimoire .scenario-card-image-wrapper::before,
body.scenario-grimoire .scenario-card-image-wrapper::after { display:none; }
body.scenario-grimoire .scenario-card-image { position: static !important; height: auto !important; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
body.scenario-grimoire .scenario-card .card-title {
  position: static !important; inset: auto; padding: 16px 18px 5px !important; margin: 0;
  color: var(--gr-wax) !important; background: #f3e5be !important;
  font: 600 1.13rem/1.4 var(--gr-heading); text-align: left !important;
  text-shadow: none !important; white-space: normal; overflow-wrap: anywhere;
}
body.scenario-grimoire .scenario-card .card-body > .card-title { padding: 0 0 12px !important; background: transparent !important; }
body.scenario-grimoire .scenario-card-creator-info-on-image {
  position: static !important; inset: auto; padding: 5px 18px 14px; background: #f3e5be !important;
  color: var(--gr-muted) !important; font: .74rem var(--gr-ui); justify-content: flex-start;
  text-shadow: none !important; display: flex; gap: 8px; align-items: center;
}
body.scenario-grimoire .creator-avatar-on-card { width: 26px; height: 26px; border: 1px solid #ad8b56; }
body.scenario-grimoire .scenario-card .card-body { padding: 15px 18px 18px; display: flex; flex-direction: column; gap: 8px; }
body.scenario-grimoire :is(.scenario-background,.scenario-background p,.scenario-description,.invitation-sender-info,.compact-title,.info-value,.member-name,.character-name) { color: var(--gr-ink); text-shadow: none; }
body.scenario-grimoire .scenario-background { font-size: 1.08rem; line-height: 1.65; }
body.scenario-grimoire :is(.compact-image-placeholder,.mus-chip-img,.info-icon) { background-color: #e1c794; color: var(--gr-gold); }
body.scenario-grimoire .compact-title { font-family: var(--gr-reading); font-size: 1.1rem; }
body.scenario-grimoire :is(.compact-role-tag,.invitation-date,.character-player,.info-label) { color: var(--gr-muted); }
body.scenario-grimoire :is(.tag-badge,.confidentiality-badge,.meta-badge,.tag-filter-btn,.tag-filter-reset-btn) {
  color: #634a2e; background: #e7d3a8; border: 1px solid #b79a69;
  border-radius: 4px; text-shadow: none; font: 600 .65rem/1.5 var(--gr-ui); padding: 4px 8px;
}
body.scenario-grimoire .tag-filter-btn { min-height: 40px; }
body.scenario-grimoire .tag-filter-btn.active { color: #f9edce; background: var(--gr-wax); border-color: var(--gr-wax); }
body.scenario-grimoire :is(.requested-badge,.connected-users-badge) { font: .65rem var(--gr-ui); color: #f9edce; background: #386047; border-radius: 4px; }
body.scenario-grimoire .requested-badge { background: var(--gr-wax); top: 10px; right: 10px; padding: 7px 10px; }
body.scenario-grimoire :is(.scenario-tw-alert-banner,.trigger-warning-box) { color: #77352d; background: #edcfad; border: 1px solid #b27b54; border-radius: 5px; }
body.scenario-grimoire #scenario-search-form {
  padding: 16px; border-block: 1px solid var(--gr-line); background: #e9d7ad; border-radius: 4px;
}
body.scenario-grimoire #scenario-search-form :is(input,select) { min-height: 44px; background: var(--gr-raised); color: var(--gr-ink); }
body.scenario-grimoire #scenario-search-form select option { background: var(--gr-page); }
body.scenario-grimoire #advanced-search-toggle { color: var(--gr-wax) !important; min-height: 44px; }
body.scenario-grimoire .scn-fab { background: var(--gr-wax); color: #f9edce; box-shadow: 0 5px 18px #35271d44; }
body.scenario-grimoire .scn-result-count { margin: 12px 0; font: .76rem var(--gr-ui); color: var(--gr-muted); }
/* A chapter cover stays photographic; the document below stays calm and light. */
body.scenario-grimoire .scenario-hero { margin: 0 0 28px; border-radius: 5px; min-height: 0; background-color: #8b6a41; }
body.scenario-grimoire .scenario-hero-overlay { position: relative; min-height: 360px; background: linear-gradient(180deg,#35271d18,#35271deb); padding: clamp(20px,4vw,40px); }
body.scenario-grimoire .scenario-title { color: #f9edce; font: 600 clamp(1.6rem,3.8vw,2.8rem)/1.3 var(--gr-heading); overflow-wrap: anywhere; }
body.scenario-grimoire .scenario-hero :is(.meta-badge,.creator-name,.creator-label) { color: #f9edce; }
body.scenario-grimoire .scenario-hero .meta-badge { background: #35271db3; border-color: #ead3a56b; }
body.scenario-grimoire .creator-card { background: #35271d80; border-color: #ead3a56b; border-radius: 5px; }
body.scenario-grimoire .hero-actions { gap: 8px; }
body.scenario-grimoire .scenario-content { grid-template-columns: minmax(0,1fr) minmax(240px,.4fr); gap: 28px; }
body.scenario-grimoire :is(.content-card,.cast-panel,.rpi-card,.relations-card) { color: var(--gr-ink); background: transparent; border: none; border-radius: 0; box-shadow: none; padding: 18px 0; border-bottom: 1px solid var(--gr-line); }
body.scenario-grimoire :is(.content-card h2,.cast-panel h2,.rpi-card h2) { color: var(--gr-wax); font-size: 1.1rem; border-color: var(--gr-line); text-align: left; }
body.scenario-grimoire .sidebar-column { padding-left: 24px; border-left: 1px solid var(--gr-line); }
body.scenario-grimoire .scenario-description { font: 1.25rem/1.8 var(--gr-reading); overflow-wrap: anywhere; }
body.scenario-grimoire .scenario-description > p:first-child::first-letter { float: left; font: 3.1rem/1 var(--gr-heading); color: var(--gr-wax); padding: 5px 9px 0 0; }
body.scenario-grimoire :is(.info-item,.member-item,.character-card,.empty-state,.cast-card,.rpi-guild-row,.relations-item) { background: #ead8b0; border-color: var(--gr-line); border-radius: 5px; color: var(--gr-ink); box-shadow: none; }
body.scenario-grimoire :is(.characters-grid-new,.cast-grid) { grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); gap: 14px; }
body.scenario-grimoire .character-image { filter: none; }
/* Workshop: the page scrolls naturally; only the writing surface scrolls. */
body.scenario-grimoire .page-container.grimoire-shell { display: block; height: auto; max-height: none; overflow: visible; padding-top: 28px; }
body.scenario-grimoire .main-content-wrapper { display: block; overflow: visible; }
body.scenario-grimoire .form-columns-wrapper { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,290px); height: auto; gap: 24px; overflow: visible; }
body.scenario-grimoire .settings-panel { width: auto; height: auto; overflow: visible; padding: 0 0 20px 22px; border: none; border-left: 1px solid var(--gr-line); border-radius: 0; box-shadow: none; background: transparent; align-items: stretch; }
body.scenario-grimoire .form-sidebar { width: auto; overflow: visible; padding: 20px 20px 20px 0; border: 0; border-right: 1px solid var(--gr-line); box-shadow: none; border-radius: 0; background: transparent; align-items: stretch; }
body.scenario-grimoire .editor-panel { width: auto; overflow: visible; border: none; border-radius: 0; box-shadow: none; background: transparent; }
body.scenario-grimoire .sidebar-title { font: 600 1.1rem var(--gr-heading); text-transform: none; text-align: left; }
body.scenario-grimoire .settings-panel :is(label,.form-label,.content-tag-checkbox) { color: var(--gr-ink) !important; font: .82rem/1.5 var(--gr-ui); }
body.scenario-grimoire .settings-panel :is(input,select,textarea) { max-width: 100%; min-width: 0; }
body.scenario-grimoire .settings-panel select { width: 100%; }
body.scenario-grimoire .settings-panel .sidebar-title img { display: none; }
body.scenario-grimoire .settings-panel .sidebar-title:first-child::after { content: 'Le cadre de l’aventure'; }
body.scenario-grimoire .settings-panel .sidebar-title:not(:first-child)::after { content: 'Les salons'; }
body.scenario-grimoire .grimoire-shell a[href='/scenarios/import_discord.php'] { color: var(--gr-wax) !important; }
body.scenario-grimoire .form-sidebar :is(input,select,textarea) { width: 100%; max-width: 100%; min-width: 0; background: var(--gr-raised); color: var(--gr-ink); border-color: var(--gr-line); }
body.scenario-grimoire .adventure-header-section { border-radius: 5px; background-color: #dec697; height: 200px; }
body.scenario-grimoire .adventure-name-input { min-width: 0; max-width: 100%; width: min(100%,480px); background: #f3e5beed; color: var(--gr-wax); font: 600 1.15rem var(--gr-heading); }
body.scenario-grimoire .custom-toolbar { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 3px; height: auto; padding: 9px; background: #e5d1a5; border-block: 1px solid var(--gr-line); }
body.scenario-grimoire .custom-toolbar :is(button,select) { min-height: 38px; background-color: #f3e5be; color: var(--gr-ink); border-color: var(--gr-line); }
body.scenario-grimoire .background-editor-contenteditable { height: auto; min-height: 460px; max-height: 75dvh; overflow: auto; padding: 24px; background: #faf0d2; color: var(--gr-ink); font: 1.2rem/1.8 var(--gr-reading); border: 1px solid var(--gr-line); }
body.scenario-grimoire .page-footer-actions { position: static; background: transparent; border-top: 1px solid var(--gr-line); padding: 18px 0; gap: 10px; flex-wrap: wrap; }
body.scenario-grimoire :is(.cast-page.grimoire-shell,.rpi-container.grimoire-shell) { padding-top: 28px; }
body.scenario-grimoire .cast-settings-form { gap: 18px; }
body.scenario-grimoire :is(.cast-field label,.cast-hint,.rpi-subtitle) { color: var(--gr-muted); }
body.scenario-grimoire :is(.cast-field input,.cast-field textarea,.cast-field select,.rpi-input,.rpi-select) { color: var(--gr-ink); background: var(--gr-raised); min-height: 44px; }
body.scenario-grimoire .cast-field input[type=checkbox], body.scenario-grimoire .cast-field input[type=radio] { min-height: 0; }
body.scenario-grimoire .cast-radio { padding: 10px; background: #e9d8b2; border-color: var(--gr-line); }
body.scenario-grimoire :is(.cast-field-row,.cast-toggle-row,.rpi-guild-row) { flex-wrap: wrap; gap: 12px; }
body.scenario-grimoire .rpi-step-list { background: #ecdcb8; border-color: var(--gr-line); }
body.scenario-grimoire :is(.relations-header,.relations-title,.lore-page-masthead) { color: var(--gr-wax); text-shadow: none; background: transparent; }
body.scenario-grimoire :is(.lore-chapter,.lore-page-toc,.lore-page-cta,.relations-form,.relations-list,.relations-filter-bar) { background: #f3e5be; color: var(--gr-ink); border-color: var(--gr-line); box-shadow: none; }
body.scenario-grimoire :is(.lore-chapter-title,.lore-chapter-content,.lore-page-subtitle,.relation-description) { color: var(--gr-ink); text-shadow: none; }
body.scenario-grimoire .lore-chapter-content { font: 1.2rem/1.8 var(--gr-reading); }
@media(min-width:992px) and (max-width:1199px) { body.scenario-grimoire #scenario-cards-row > .col-md-4 { flex: 0 0 50%; max-width: 50%; } }
@media(max-width:991px) {
  body.scenario-grimoire .scenario-content { grid-template-columns: minmax(0,1fr); }
  body.scenario-grimoire .sidebar-column { padding-left: 0; border-left: 0; }
  body.scenario-grimoire .form-columns-wrapper { grid-template-columns: minmax(0,1fr); }
  body.scenario-grimoire .settings-panel { order: -1; padding: 18px 0; border-left: none; border-bottom: 1px solid var(--gr-line); }
  body.scenario-grimoire .form-sidebar { padding: 16px 0; border: 0; border-bottom: 1px solid var(--gr-line); }
}
@media(max-width:767px) {
  body.scenario-grimoire .grimoire-shell.container-fluid { padding-top: 18px !important; }
  body.scenario-grimoire .scenario-hero-overlay { min-height: 300px; padding: 20px 16px; }
  body.scenario-grimoire .hero-btn { padding: 10px 13px; flex: 1 1 auto; justify-content: center; }
  body.scenario-grimoire #scenario-cards-row > [class*=col-] { flex: 0 0 100%; max-width: 100%; }
  body.scenario-grimoire .background-editor-contenteditable { min-height: 340px; padding: 18px; }
  body.scenario-grimoire .custom-toolbar { position: relative; top: auto; }
  body.scenario-grimoire .scenario-description { font-size: 1.16rem; line-height: 1.75; }
}
