@font-face{font-family:"Bebas Neue";src:url("fonts/bebas-neue-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/playfair-display-variable.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/playfair-display-italic-variable.woff2") format("woff2");font-style:italic;font-weight:400 900;font-display:swap}
@font-face{font-family:Figtree;src:url("fonts/figtree-variable.woff2") format("woff2");font-style:normal;font-weight:300 900;font-display:swap}
@font-face{font-family:Figtree;src:url("fonts/figtree-italic-variable.woff2") format("woff2");font-style:italic;font-weight:300 900;font-display:swap}
/* Arkham Club palette language, adapted to Be Dice's own layout. */
:root{--paper:#0b0710;--white:#17101d;--surface:#24142f;--ink:#f5eff8;--muted:#b9acbf;--line:#654d71;--orange:#a72bd4;--highlight:#db72ff;--secondary:#d9c7df;--focus:#efb0ff;--green:var(--surface);--orange-light:var(--surface);--font-heading:"Bebas Neue",Impact,sans-serif;--font-subheading:"Playfair Display",Georgia,"Times New Roman",serif;--font-body:Figtree,Arial,Helvetica,sans-serif;--font-size-heading:64px;--font-size-subheading:34px;--font-size-body:16px;--font-size-small:13px;color-scheme:dark}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body)}
h1,h2,h3{font-weight:500;letter-spacing:-.035em}
h1{font-family:var(--font-heading)}
h2,h3,.eyebrow,.hero-kicker,.community-banner h2,.empty-state h3,.editor-note h3{font-family:var(--font-subheading)}
h1{font-size:clamp(40px,4.6vw,var(--font-size-heading))}
h2,.section-heading h2,.community-banner h2,.customizer-heading h2{font-size:var(--font-size-subheading)}
h3,.panel h2,.editor-layout h2,.steps h2{font-size:calc(var(--font-size-subheading) - 6px)}
.card-body h3{font-size:calc(var(--font-size-subheading) - 8px)}
.hero h1{font-size:clamp(42px,4.7vw,var(--font-size-heading))}
.hero-copy>p,.page-heading p,.card-excerpt,.prose,.panel>p,.steps p,.about-note p,.community-banner p,.auth-panel>p,.auth-intro>p{font-size:var(--font-size-body)}
.button,.button.small,input,select,textarea,label,.filters label,.filters input,.filters select,.filters>.button,.check,.filter-checks .check{font-size:calc(var(--font-size-small) + 1px)}
.navigation,.login-link,.account-link,.hero-link,.results-heading,.card-meta,.host,.seats,.availability,.facts,.hint,.footer-links,.application-row small{font-size:var(--font-size-small)}
.eyebrow,.hero-kicker,.hero-footnote,.values-strip,.tag,.beginner,.site-footer p,.footer-note,.art-coordinate{font-size:calc(var(--font-size-small) - 1px)}
.hero{background:radial-gradient(ellipse 34% 68% at 79% 48%,color-mix(in srgb,var(--orange) 18%,transparent) 0%,transparent 72%),linear-gradient(115deg,var(--white),var(--surface));color:var(--ink);border:1px solid var(--line);border-radius:8px}
.hero h1,.hero h1 em,.auth-intro h1{font-family:var(--font-heading)}
.hero h1{font-weight:400;line-height:1.13;letter-spacing:-.04em}
.hero h1 em,.eyebrow,.text-link,.navigation>a.active{color:var(--highlight)}
.hero-kicker,.hero-copy>p,.hero-footnote,.values-strip,.card-meta,.host,.site-footer p,.footer-note{color:var(--muted)}
.hero-link,.values-strip strong,.floating-note strong,.editor-note h3{color:var(--ink)}
.live-dot{background:var(--highlight);box-shadow:0 0 0 4px color-mix(in srgb,var(--highlight) 12%,transparent)}
.hero-art{background:none}
.orbit{border-color:color-mix(in srgb,var(--line) 45%,transparent)}
.giant-die svg{stroke:var(--secondary);fill:color-mix(in srgb,var(--orange) 12%,transparent)}
.giant-die svg text{fill:var(--secondary)}
.mini-dice,.star,.floating-note>span,.empty-dice,.step-number,.auth-symbol{color:var(--secondary)}
.floating-note{background:var(--white);color:var(--muted);border-color:var(--line)}
.art-coordinate{color:var(--muted)}
.button{color:var(--button-text,#fff);border-radius:5px;background:var(--orange)}
.button:hover{background:var(--orange);filter:brightness(1.12)}
.button.light{background:var(--ink);color:var(--paper)}
.button.light:hover{background:var(--ink)}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover{background:var(--surface)}
.button.danger{background:var(--surface);color:var(--ink);border-color:var(--highlight)}
.round-card,.panel{background:var(--white);border-color:var(--line);border-radius:8px}
.round-card:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--orange) 14%,transparent);border-color:var(--highlight)}
.card-art,.theme-1,.theme-2{background:linear-gradient(130deg,var(--surface),var(--white));color:var(--secondary)}
.tag{color:var(--highlight);background:var(--surface)}
.tag.neutral,.avatar,.count-badge{background:var(--surface);color:var(--ink)}
.beginner,.seats,.availability,.private-panel .eyebrow{color:var(--highlight)}
.empty-state,.community-banner,.editor-note,.private-panel,.about-note{background:var(--surface);color:var(--ink);border-color:var(--line)}
.community-banner .eyebrow,.community-banner p,.editor-note{color:var(--muted)}
.editor-note hr{border-color:var(--line)}
.notice,.notice.error{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--highlight)}
.notice.error{border-left-style:double;border-left-width:7px}
input,select,textarea{background:var(--white);border-color:var(--line);color:var(--ink);border-radius:5px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}
input[type=checkbox]{accent-color:var(--orange)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--focus)}
.danger-zone{color:var(--highlight)}
.header-inner{gap:24px;flex-wrap:wrap}.header-actions{gap:18px}.brand{white-space:normal;max-width:260px;overflow-wrap:anywhere}.brand .site-logo{width:auto;height:42px;max-width:120px;object-fit:contain;flex-shrink:0}.brand>span{line-height:1.1}
.theme-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:6px;flex-shrink:0}
.theme-switch button{display:flex;align-items:center;gap:5px;border:0;border-radius:3px;background:transparent;color:var(--muted);min-height:32px;padding:5px 8px;font-size:var(--font-size-small)}
.theme-switch button[aria-pressed=true]{background:var(--surface);color:var(--highlight)}
.backend-heading{padding:20px 0 12px}.backend-heading h1{font-size:clamp(40px,4vw,calc(var(--font-size-heading) - 12px))}.backend-heading h1 br{display:none}.backend-stats .panel{padding:22px}.backend-stats strong{font-size:calc(var(--font-size-subheading) - 4px)}
.customizer-heading{margin:28px 0}.customizer-heading h2{font-size:var(--font-size-subheading)}.branding-editor{display:grid;grid-template-columns:180px 1fr;gap:30px}.logo-preview{border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;padding:20px;align-self:start;min-height:150px;background:var(--surface)}.logo-preview img{max-width:100%;max-height:140px;object-fit:contain}
.palette-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.palette-editor{border:1px solid var(--line);border-radius:8px;padding:22px;min-width:0}.palette-editor legend{padding:0 12px;font-family:var(--font-subheading);font-size:calc(var(--font-size-subheading) - 8px);color:var(--ink)}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.color-grid input[type=color]{width:100%;height:42px;padding:5px;cursor:pointer}.color-grid label{font-size:var(--font-size-small)}.text-editor-toolbar{display:flex;justify-content:space-between;align-items:start;gap:25px}.text-editor-toolbar label{min-width:240px}.text-entry{padding:20px 0;border-top:1px solid var(--line)}.text-entry>label{font-size:var(--font-size-small);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.text-entry .tag{margin-left:10px}.text-entry[hidden]{display:none}.text-editor .form-actions{position:sticky;bottom:0;background:var(--white);padding:16px 0;border-top:1px solid var(--line)}
.hero h1,.hero-copy>p,.hero-footnote,.panel h2,.auth-intro h1,.auth-intro p,.community-banner p{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:1150px){.header-inner{gap:18px}.header-actions{gap:12px}.theme-switch button span{display:none}.navigation{flex-grow:1}.palette-columns{gap:14px}}
@media(max-width:850px){.branding-editor{grid-template-columns:1fr}.logo-preview{max-width:210px}.palette-columns{grid-template-columns:1fr}.header-inner .navigation{order:3;flex-basis:100%}}
@media(max-width:560px){.header-inner{gap:10px}.brand{max-width:48%;font-size:19px}.brand .site-logo{max-width:60px;height:32px}.header-actions{margin-left:auto}.theme-switch{padding:2px}.theme-switch button{min-width:28px;min-height:32px;padding:4px}.menu-toggle{order:2}.header-inner .navigation{order:4}.palette-editor{padding:15px}.customizer-heading h2{font-size:29px}.color-grid{gap:8px}.text-editor-toolbar{flex-direction:column}.text-editor-toolbar label{min-width:0;width:100%}.text-editor .form-actions{position:static}.backend-tabs .button{flex:1 1 42%}}
