/* Shared spacing corrections, loaded after feature styles. */
.story-workspace .scene-controls{align-items:flex-end}
.story-workspace .scene-controls>.btn{min-height:34px;flex-shrink:0}
.story-context-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.story-context-links>.btn{width:100%;min-width:0;min-height:38px;white-space:normal}
.story-context-links>.btn:last-child{grid-column:1/-1}
.story-hero-summary .ability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.story-hero-summary .ability-summary>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 10px;text-align:left}
.story-hero-summary .ability-summary small{grid-column:1/-1;font-size:var(--text-10);letter-spacing:0}
.story-hero-summary .ability-summary span{font-size:var(--text-11);align-self:center}
.story-mobile-party .story-companion-heading .eyebrow{display:none}
.story-mobile-party .story-companion-heading{margin-bottom:16px}
dialog .modal-head{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;gap:16px;padding:20px 24px;align-items:center}
dialog .modal-emblem{width:42px;height:46px}
dialog .modal-heading h2{margin:0;font-size:clamp(21px,2.2vw,28px);line-height:1.25;letter-spacing:-.35px;overflow-wrap:anywhere}
dialog .modal-heading .eyebrow{font-size:var(--text-9);line-height:1.4;letter-spacing:1.2px;margin:0 0 6px}
dialog .modal-head>.icon{width:36px;height:36px;min-height:36px;margin:4px 0 0;align-self:start}
dialog .modal-body{padding:24px;min-width:0}
.modal-body>:first-child{margin-top:0}
.modal-body .modal-actions{gap:12px;bottom:0;margin-bottom:0;padding:16px 0}
.modal-actions>.btn{min-width:0;white-space:normal;line-height:1.45}
#modal-error:empty{display:none}
.page-heading>div,.fields>*,.scene-controls label,.section-label>span{min-width:0}
.page-heading h2,.topbar h1,.modal-body h3{overflow-wrap:anywhere}
.section-label{gap:10px;align-items:center}
.section-label>.btn{flex-shrink:0}
.row.wrap{row-gap:10px}
.book-tools label,.inventory-filters label{min-width:0}
@media(max-width:640px){
  dialog .modal-head{grid-template-columns:32px minmax(0,1fr) 34px;gap:10px;padding:16px}
  dialog .modal-emblem{width:32px;height:38px;border-radius:10px}
  dialog .modal-emblem .ui-icon{width:19px;height:19px}
  dialog .modal-heading h2{font-size:22px;line-height:1.25}
  dialog .modal-heading .eyebrow{font-size:var(--text-8);letter-spacing:.8px;margin-bottom:5px}
  dialog .modal-head>.icon{width:34px;height:34px;min-height:34px}
  dialog .modal-body{padding:18px}
  .modal-body .modal-actions{padding:14px 0;bottom:0;margin-bottom:0;gap:10px}
  .modal-actions>.btn{flex:1 1 130px;min-height:40px}
  .story-workspace .game-tools{column-gap:10px}
  .story-view-actions .btn{min-height:38px;min-width:34px}
  .story-mobile-party .story-context-links{margin-top:18px}
}

.public-library{margin-top:40px}.public-library .campaign-card h2{overflow-wrap:anywhere}.world-wizard .check{display:flex;align-items:flex-start;gap:10px}.world-wizard .check input[type=radio]{flex:none;width:16px;height:16px;margin-top:5px;accent-color:var(--green)}
