:root{--bg:#f7f2e7;--ink:#1d1712;--muted:#6e6255;--line:#d8cbb7;--panel:#fffaf0;--accent:#7b2430;--accent-strong:#351913;--gold:#b9822e;--rail-max:1120px;--rail-pad-x:clamp(20px, 5vw, 64px)}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:120px}body{background:radial-gradient(circle at 16% -8%, #7b243029, transparent 32rem), radial-gradient(circle at 92% 2%, #b9822e29, transparent 30rem), var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3,h4,.brand{letter-spacing:0;font-family:Georgia,Times New Roman,serif}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#fffaf0ed;justify-content:space-between;align-items:center;padding:16px clamp(20px,5vw,64px);display:flex;position:sticky;top:0}.brand{color:var(--accent-strong);font-size:21px;font-weight:900}nav{color:var(--muted);gap:18px;font-size:14px;display:flex}nav a:hover{color:var(--accent)}.nav-form{display:contents}.nav-button{color:var(--muted);font-size:inherit;font-weight:inherit;background:0 0;border-radius:0;padding:0}.nav-button:hover{color:var(--accent)}.account-trigger{align-items:center;gap:6px;width:auto;max-width:220px;display:inline-flex}.account-trigger[data-state=open]{color:var(--accent)}.account-trigger-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu{background:var(--panel);border:1px solid var(--line);color:var(--ink);z-index:20;border-radius:8px;min-width:220px;max-width:min(320px,100vw - 32px);padding:6px;font-size:14px;box-shadow:0 24px 70px #2b1c0f1a}.account-menu-label{gap:2px;padding:8px 10px;display:grid}.account-menu-caption{color:var(--muted);font-size:12px}.account-menu-name{font-weight:800}.account-menu-name,.account-menu-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-email{color:var(--muted)}.account-menu-separator{background:var(--line);height:1px;margin:6px 0}.account-menu-item{color:var(--ink);cursor:pointer;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;border-radius:3px;outline:none;width:100%;padding:8px 10px;display:block}.account-menu-item[data-highlighted]{color:var(--accent);background:#7b243014}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:right;background:#fffaf0ed;padding:16px clamp(20px,5vw,64px);font-size:14px}.site-footer p{margin:0}.site-footer a:hover{color:var(--accent)}.public-hero{color:#fff4d8;background-position:50%;background-size:cover;border-bottom:1px solid #35191338}.public-hero-inner{max-width:var(--rail-max);padding-left:var(--rail-pad-x);padding-right:var(--rail-pad-x);text-shadow:0 10px 34px #00000073;width:100%;margin:0 auto}.public-hero h1{margin:0 0 16px;line-height:.96}.public-hero p{color:#f1dfbb;max-width:760px;margin:0}.public-hero--cinematic{background-image:linear-gradient(110deg,#140d09d1,#140d0975 42%,#140d091f),url(/artwork/cinematic-home.png);align-items:flex-end;min-height:58vh;padding-block:clamp(36px,7vw,88px);display:flex}.public-hero--cinematic h1{max-width:780px;font-size:clamp(52px,8vw,108px);line-height:.94}.public-hero--cinematic p{max-width:780px;font-size:clamp(19px,2.6vw,29px)}.public-hero-cta{text-shadow:none;margin-top:24px}.public-hero--full{background-image:linear-gradient(110deg,#140d09db,#140d097a 48%,#140d0929),url(/artwork/grimoire-campaign.png);padding-block:clamp(52px,8vw,96px) clamp(40px,6vw,72px)}.public-hero--full h1{max-width:800px;font-size:clamp(44px,6.5vw,86px)}.public-hero .back-link{color:#f1dfbb;background:#ffffff1a;border-color:#f1dfbb66}.public-hero .back-link:hover,.public-hero .back-link:focus-visible{color:#fff4d8;background:#ffffff2e;border-color:#fff4d899}.public-hero--compact{background-image:linear-gradient(110deg,#140d09c7,#140d096b 48%,#140d0924),url(/artwork/grimoire-campaign.png);padding-block:clamp(40px,6vw,72px)}.public-hero--compact h1{font-size:clamp(42px,6vw,76px)}.public-hero--compact p{max-width:720px;font-size:clamp(17px,2.1vw,23px)}.eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900}.section,.recap{max-width:var(--rail-max);padding:clamp(32px, 6vw, 72px) var(--rail-pad-x);margin:0 auto}.public-hero+.section{padding-top:clamp(20px,4vw,40px)}.section-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.section h2,.recap h1{color:var(--accent-strong)}.section h2{margin:0;font-size:clamp(28px,4vw,44px)}.section-header p,.session-row p,.campaign-card p,.unlock-card p,.date{color:var(--muted)}.campaign-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.campaign-card,.session-row,.unlock-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.campaign-card{flex-direction:column;justify-content:space-between;gap:28px;min-height:230px;padding:22px;display:flex;position:relative}.campaign-card:before{background:linear-gradient(90deg, var(--accent), var(--gold));content:"";height:4px;position:absolute;top:0;left:0;right:0}.campaign-card h3{margin:0 0 8px;font-size:28px}.campaign-card-link:after{content:"";position:absolute;inset:0}.campaign-card-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-card-edit{z-index:1;position:relative}.campaign-card span,.session-row span{color:var(--accent);font-size:13px;font-weight:800}.campaign-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.party-list{flex-wrap:wrap;gap:8px;display:flex}.party-list a{border:1px solid var(--line);color:var(--accent-strong);background:#fffaf0d1;border-radius:999px;padding:6px 10px}.party-list a:hover{border-color:var(--accent);color:var(--accent)}.search{gap:10px;margin-bottom:22px;display:flex}input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:8px;flex:1;min-width:0;padding:12px 14px;font-weight:400}input[type=file]{cursor:pointer;padding:10px 12px}select,textarea{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:8px;width:100%;padding:12px 14px;font-weight:400}textarea{resize:vertical;min-height:96px}label{color:var(--accent-strong);gap:6px;font-size:13px;font-weight:800;display:grid}fieldset{border:0;gap:14px;min-inline-size:0;margin:0;padding:0;display:grid}button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:8px;padding:12px 18px;font-weight:800}button:disabled,fieldset:disabled button,fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{cursor:not-allowed;opacity:.62}.button-link{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:fit-content;padding:12px 18px;font-weight:800;display:inline-flex}.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:12px;max-width:620px;padding:22px;display:grid}.empty-state h3{color:var(--accent-strong);margin:0;font-size:24px}.empty-state p{color:var(--muted);margin:0}.access-form{gap:12px;margin-top:4px;display:grid}.dm-tabs{border-bottom:1px solid var(--line);margin-inline:calc(max(0px, (100% - var(--rail-max)) / 2) + var(--rail-pad-x));gap:28px;font-size:15px;font-weight:800}.dm-tabs a{border-bottom:3px solid #0000;margin-bottom:-1px;padding:14px 0 11px}.dm-tabs a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent-strong)}.dm-tabs+.section{padding-top:clamp(20px,4vw,40px)}.dm-subheader{margin-top:clamp(32px,5vw,56px)}.dm-form{max-width:620px}.dm-form--wide{max-width:none}.dm-form button{justify-self:start}.dm-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.form-error,.form-saved,.form-archived,.form-note{background:var(--panel);border:1px solid var(--line);color:var(--accent-strong);border-left-width:4px;border-radius:8px;max-width:620px;margin:0 0 22px;padding:12px 14px;font-weight:800}.form-error{border-left-color:var(--accent)}.form-saved{border-left-color:var(--gold)}.access-form .form-error{margin:0}.field-error{color:var(--accent);font-size:13px;font-weight:800}.field-error:focus,.form-saved:focus,.form-error:focus{outline:none}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--accent)}.unlock-card .form-error{color:var(--accent-strong);margin:0}.form-archived,.form-note{border-left-color:var(--muted)}.dm-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.dm-row a{gap:6px;display:grid}.dm-row a:hover h3{color:var(--accent)}.text-button{color:var(--muted);background:0 0;padding:6px 0;font-size:13px}.text-button:hover{color:var(--accent)}.cookie-note{margin-top:-6px;font-size:13px}.session-list{gap:12px;display:grid}.session-row{gap:6px;padding:18px;display:grid}.session-row h3{color:var(--accent-strong);margin:0;font-size:22px}.session-row p{margin:0}.search-snippet{color:var(--muted);font-size:14px}.search-snippet mark{color:var(--accent-strong);background:#b9822e47;border-radius:3px;padding:0 2px}.unlock-screen{place-items:center;min-height:calc(100vh - 62px);padding:24px;display:grid}.unlock-card{gap:14px;max-width:460px;padding:26px;display:grid}.unlock-card h1{margin:0}.unlock-card .back-link{justify-self:start;margin:0}.back-link{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;width:fit-content;margin:0 0 16px;padding:8px 14px 8px 10px;font-size:13px;font-weight:800;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.back-link span{font-size:15px;line-height:1}.back-link:hover,.back-link:focus-visible{border-color:var(--accent);color:var(--accent);outline:0}.recap{max-width:860px}.recap-page{background:linear-gradient(180deg, #fffaf0c2, #fffaf000 220px), var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:clamp(24px,5vw,56px);box-shadow:0 24px 70px #2b1c0f1a}.recap h1{font-size:clamp(38px,6vw,70px)}.recap-body{font-family:Georgia,Times New Roman,serif;font-size:20px}.recap-body h1,.recap-body h2{color:var(--accent-strong);font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.1}.recap-body li{margin:8px 0}@media (max-width:700px){.site-header{flex-direction:column;align-items:flex-start;gap:10px}.section-header,.search{flex-direction:column;align-items:stretch}button{width:100%}}
