.campaign-page{max-width:1500px}
.campaign-page h1{font:400 clamp(32px,4vw,52px)/1.2 var(--serif);overflow-wrap:anywhere;margin:14px 0}
.campaign-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px;align-items:start}
.campaign-setup-grid>.campaign-books:only-child{grid-column:1/-1}
.campaign-books .sheet-section-heading{align-items:flex-start}
.campaign-book-list{max-height:340px;overflow:auto;overscroll-behavior:contain}
.campaign-book-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line,#514833)}
.campaign-book-row>div{min-width:0}
.campaign-book-row a,.campaign-book-row strong{font-size:1.08rem;overflow-wrap:anywhere}
.campaign-book-warning{color:#d1b27d;font-size:.95rem;line-height:1.6;margin:7px 0 0}
.campaign-books .sheet-help,.campaign-dm-workspace .sheet-help{font-size:.95rem;line-height:1.7}
.campaign-books-edit{margin:22px 0;padding:16px;border:1px solid #655634}
.campaign-books-edit legend{padding:0 8px;font-family:var(--serif);font-size:1.3rem}
.campaign-book-edition{display:block;color:var(--muted,#b4a995);font-size:.86rem;margin-top:3px}
.campaign-book-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.campaign-book-preset{padding:14px 0;border-bottom:1px solid var(--line,#514833);overflow-wrap:anywhere}
.campaign-book-preset h3{margin:0;font:1.23rem var(--serif);color:#ecdab8}
.campaign-book-preset p{margin:5px 0;color:#c8bdac}
.campaign-rule-mismatch{border-left:2px solid #caa16b;padding:6px 10px;background:#99734218;overflow-wrap:anywhere}
.campaign-book-back{margin-top:18px}
.campaign-empty-compact{padding:12px 0!important;margin:0}
.campaign-dm-workspace>p{font-size:1rem;line-height:1.8}
.campaign-dm-workspace>.home-actions{margin:20px 0}
.campaign-dm-workspace>.campaign-party-grid{margin-top:20px}
.campaign-dm-workspace .campaign-party-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.campaign-party>.campaign-party-grid{margin-top:16px}
.campaign-card{display:flex;flex-direction:column;gap:12px;min-height:240px}
.campaign-card h2{margin:0;font-size:1.8rem}
.campaign-card p{margin:0;font-size:var(--ui-text);line-height:1.65;overflow-wrap:anywhere}
.campaign-card>.button,.campaign-card>.home-actions{margin-top:auto;align-self:flex-start}
.campaign-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;margin-top:28px;align-items:start}
.campaign-party{grid-column:1/-1}
.campaign-party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.campaign-character,.campaign-session{border:1px solid var(--line,#514833);background:linear-gradient(135deg,#22251f88,#101411);padding:22px}
.campaign-character h3,.campaign-session h3{font-size:1.45rem;margin:10px 0}
.campaign-character .sheet-text-button{display:block;margin-top:14px}
.campaign-session{margin-top:16px;border-left:3px solid var(--gold,#c8ab72)}
.campaign-session time{font-size:1.1rem;color:var(--gold,#c8ab72)}
.campaign-session.status-cancelled{opacity:.65;border-left-color:#9a7772}
.campaign-session.status-completed{border-left-color:#7c987e}
.campaign-member{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line,#514833)}
.campaign-member strong,.campaign-member span{display:block;overflow-wrap:anywhere}
.campaign-member span{font-size:.95rem;margin-top:5px;color:var(--muted,#b8b0a0)}
.campaign-invite-links{display:grid;gap:12px;border-bottom:1px solid var(--line,#514833);padding-bottom:20px;margin-bottom:20px}
.campaign-invite-links h3,#campaign-invite-form h3{margin:0;font:400 1.35rem var(--serif);color:#ecdab8}
.campaign-invite-links p{margin:0}
#campaign-link-form{display:grid;gap:10px}
.campaign-link-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:14px}
.campaign-link-duration{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.campaign-link-settings label{margin:0 0 5px}
.campaign-link-settings input{min-width:0}
.campaign-link-generated{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.campaign-link-generated label{grid-column:1/-1;margin:0}
.campaign-link-generated input{min-width:0}
.campaign-link-list{margin:4px 0 0;padding:0;list-style:none;max-height:190px;overflow:auto;overscroll-behavior:contain}
.campaign-link-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}
.campaign-link-actions{display:flex;flex-wrap:wrap;gap:6px}
.campaign-link-list li+li{border-top:1px solid var(--line,#514833)}
.campaign-link-list small{display:block;margin-top:3px;color:var(--muted,#b8b0a0)}
.campaign-invite-page{max-width:38rem}
.campaign-invite-page h1{margin-top:0;font-size:clamp(1.7rem,4vw,2.6rem)}
.campaign-invite-name{font:400 1.55rem var(--serif);color:var(--gold-light);overflow-wrap:anywhere}
.campaign-invite-page .back-link{display:block;width:fit-content;margin:18px 0 0}
.campaign-invite-page .form-error{margin:0 0 12px}
.campaign-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.campaign-empty{padding:30px 0;line-height:1.8;color:var(--muted,#b8b0a0)}
.campaign-option{display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.7rem;line-height:1.5;cursor:pointer}
.campaign-option input:is([type="checkbox"],[type="radio"]){width:1.25rem;height:1.25rem;min-height:0;padding:0;margin:.1em 0 0;accent-color:#bca16b;cursor:pointer}
.campaign-option input:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.campaign-pick-list{display:grid;gap:10px}
.campaign-pick{padding:18px;text-align:left;display:flex;align-items:center;justify-content:space-between;border:1px solid #655634;background:#181d18;color:#e5dcc8;gap:15px}
.campaign-pick:hover{border-color:#d0b57d;background:#282b21}
.sheet-sharing-bar{border:1px solid #685b3d;background:#1b211c;padding:16px 20px;margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:1rem}
.sheet-sharing-bar p{margin:0;line-height:1.6}
.sheet-sharing-bar:empty{display:none}
.sheet-readonly input:disabled,.sheet-readonly select:disabled,.sheet-readonly textarea:disabled{opacity:1;color:inherit;-webkit-text-fill-color:currentColor;cursor:default}
.sheet-readonly .sheet-help{font-size:.95rem}
.sheet-readonly [hidden]{display:none!important}
.sheet-readonly .proficiency-dot:disabled,.sheet-readonly .death-circle:disabled{opacity:1;cursor:default}
@media(max-width:950px){.campaign-setup-grid{grid-template-columns:1fr}.campaign-layout{grid-template-columns:1fr}.campaign-party{grid-column:1}.campaign-layout .sheet-section-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:510px){.campaign-link-settings{grid-template-columns:minmax(0,1fr);gap:10px}}
