.campaigns{gap:var(--space-4);max-width:720px;padding:calc(var(--safe-top) + var(--space-5)) max(var(--space-4), var(--safe-right)) calc(var(--safe-bottom) + var(--space-6)) max(var(--space-4), var(--safe-left));margin:0 auto;display:grid}.campaigns:focus{outline:none}.campaigns__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.campaigns__title{font-size:var(--text-xl);color:var(--color-gold);overflow-wrap:anywhere;margin:0}.campaigns-subtitle{margin:0 0 var(--space-3);font-size:var(--text-lg);color:var(--color-torch-light)}.campaigns-subsubtitle{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-md);color:var(--color-text-muted)}.campaigns-section{gap:var(--space-3);min-width:0;display:grid}.campaigns-banner{padding:var(--space-3);color:var(--color-ink);background:var(--color-parchment);box-shadow:0 0 0 var(--px) var(--color-outline);margin:0;font-weight:600}.campaigns-notice{gap:var(--space-3);display:grid}.campaigns-notice p{margin:0}.campaigns-field{gap:var(--space-1);display:grid}.campaigns-field>label,.campaigns-fieldset>legend{font:600 var(--text-sm) / 1.2 var(--font-display);color:var(--color-text-muted)}.campaigns-input{width:100%;min-height:var(--touch-comfort);padding:0 var(--space-3);font-size:var(--text-md);color:var(--color-text);background:var(--color-bg-deep);box-shadow:inset 0 0 0 var(--px) var(--color-stone-600), 0 0 0 var(--px) var(--color-outline);border:0;border-radius:0}.campaigns-input--area{min-height:calc(var(--touch-comfort) * 2);padding:var(--space-2) var(--space-3);resize:vertical;font-family:inherit}.campaigns-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.campaigns-input[aria-invalid=true]{box-shadow:inset 0 0 0 var(--px) var(--color-blood-light), 0 0 0 var(--px) var(--color-outline)}.campaigns-fieldset{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.campaigns-fieldset>legend{margin-bottom:var(--space-1);padding:0}.campaigns-choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.campaigns-choice{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-3);background:var(--color-stone-900);box-shadow:inset 0 0 0 var(--px) var(--color-stone-600);cursor:pointer;display:inline-flex}.campaigns-choice:has(input:checked){box-shadow:inset 0 0 0 var(--px) var(--color-torch)}.campaigns-choice input{width:20px;height:20px;accent-color:var(--color-torch);margin:0}.campaigns-list,.campaigns-members{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.campaigns-card{gap:var(--space-2);display:grid}.campaigns-card__title{align-items:center;gap:var(--space-2);font-size:var(--text-md);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;margin:0;display:flex}.campaigns-card__text{white-space:pre-line;overflow-wrap:anywhere;margin:0}.campaigns-member{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:var(--px) solid var(--color-stone-700);display:grid}.campaigns-member:last-child{border-bottom:0;padding-bottom:0}.campaigns-member__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.campaigns-member__name{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;margin:0;font-weight:700;display:flex}.campaigns-facts{gap:var(--space-1);margin:0 0 var(--space-2);font-size:var(--text-sm);display:grid}.campaigns-facts>div{gap:var(--space-2);grid-template-columns:7.5em minmax(0,1fr);display:grid}.campaigns-facts dt{color:var(--color-text-muted)}.campaigns-facts dd{margin:0}.campaigns-break{overflow-wrap:anywhere}.campaigns-badge{padding:2px var(--space-2);font:700 var(--text-xs) / 1.4 var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--color-bg);background:var(--color-text-muted);flex:none}.campaigns-badge--dm{background:var(--color-gold)}.campaigns-badge--player{background:var(--color-heal)}.campaigns-badge--archived{color:var(--color-on-blood);background:var(--color-blood)}.campaigns-badge--you{color:var(--color-text);background:var(--color-arcane-dark)}.campaigns-meta,.campaigns-hint,.campaigns-empty{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.campaigns-error{color:var(--color-blood-text);margin:0;font-weight:600}.campaigns-divider{height:var(--px);margin:var(--space-4) 0;background:var(--color-stone-700)}.admin-confirm p{margin:0}
