/* ================================================================
   Party-Spiele (Junggesellenabschied) – pro Spiel über theme.brand_key = 'party'
   hell und festlich: Akzentfarbe aus theme.accent, dunkle Farbe aus theme.party_ink, Champagner-Gold
   Schriften: Morganite (große Plakat-Titel), Figtree (Text), Playfair kursiv (Akzente)
   ================================================================ */
@import url(/fonts/cc/cc-fonts.css);
@font-face { font-family: 'Morganite'; font-weight: 900; font-style: normal; font-display: swap; src: url(/fonts/nwo/Morganite-900.woff2) format('woff2'); }
html[data-brand="party"] {
  --pink: var(--accent); --pk: var(--party-ink, #2A1033); --champ: #C9A45C; --champ-2: #E6CC8F;
  --paper: var(--party-paper, #FFF6F8); --paper-2: color-mix(in srgb, var(--accent) 8%, white); --paper-3: color-mix(in srgb, var(--accent) 16%, white); --card: #FFFFFF;
  --ink: var(--pk); --ink-2: color-mix(in srgb, var(--pk) 82%, white); --ink-3: color-mix(in srgb, var(--pk) 55%, white); --ink-4: color-mix(in srgb, var(--pk) 32%, white);
  --line: color-mix(in srgb, var(--pk) 9%, transparent); --line-2: color-mix(in srgb, var(--pk) 16%, transparent); --shell: color-mix(in srgb, var(--pk) 4%, transparent);
  --on-ink: #FFFFFF; --glass: color-mix(in srgb, var(--pk) 92%, transparent); --polaroid: #FFFFFF;
  --gold: var(--champ); --gold-2: var(--champ-2);
  --sans: 'Figtree', ui-sans-serif, system-ui, sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
  --disp: 'Morganite', 'Figtree', 'Arial Narrow', sans-serif;
  --sh-1: 0 1px 1px rgba(42, 16, 51, .04), 0 2px 8px -2px rgba(42, 16, 51, .10);
  --sh-2: 0 1px 1px rgba(42, 16, 51, .03), 0 18px 40px -18px rgba(42, 16, 51, .28);
}
html[data-brand="party"] body { font-family: var(--sans); font-weight: 400; background: var(--paper); }
html[data-brand="party"] .display, html[data-brand="party"] .h1, html[data-brand="party"] .h2 { font-family: var(--disp); font-weight: 900; text-transform: uppercase; letter-spacing: .01em; line-height: .92; }
html[data-brand="party"] .h1 { font-size: clamp(48px, 13vw, 76px); }
html[data-brand="party"] .h2 { font-size: clamp(34px, 9vw, 48px); }
html[data-brand="party"] .display em, html[data-brand="party"] .h1 em, html[data-brand="party"] .h2 em { font-family: var(--serif); font-style: italic; text-transform: none; color: var(--pink); }
html[data-brand="party"] .pz .h2, html[data-brand="party"] .pz h2 { color: var(--ink); }
html[data-brand="party"] .eyebrow { color: var(--pink); font-weight: 800; }
html[data-brand="party"] .eyebrow .dot { background: var(--pink); border-radius: 50%; transform: none; }

/* runde, knallige Knöpfe */
html[data-brand="party"] .btn { border-radius: 999px; font-weight: 700; }
html[data-brand="party"] .btn .knob { border-radius: 999px; }
html[data-brand="party"] .btn.accent { clip-path: none; background: var(--pink); color: #fff; box-shadow: 0 14px 28px -14px color-mix(in srgb, var(--pink) 85%, transparent); }
html[data-brand="party"] .btn.accent .knob { background: #fff; color: var(--pink); }
html[data-brand="party"] .btn.soft, html[data-brand="party"] .iconbtn, html[data-brand="party"] .hintbtn { border-radius: 999px; }
html[data-brand="party"] .opt, html[data-brand="party"] .input, html[data-brand="party"] .textarea { border-radius: 16px; }
html[data-brand="party"] .opt.on { box-shadow: inset 0 0 0 2px var(--pink), var(--sh-1); }
html[data-brand="party"] .opt.on .mk { background: var(--pink); color: #fff; }
html[data-brand="party"] .bezel > .core, html[data-brand="party"] .core { border-radius: 24px; }
html[data-brand="party"] .chip.accent { background: var(--pink); color: #fff; }

/* Kopf, HUD, Dock */
html[data-brand="party"] .nwo-logo.dk, html[data-brand="party"] .nwo-logo.lt { display: none !important; }
html[data-brand="party"] .brand-logo { display: block; height: 42px; width: auto; }
html[data-brand="party"] .hud { background: var(--pk); border-radius: 999px; color: #fff; }
html[data-brand="party"] .hud .timer b { font-family: var(--disp); font-weight: 900; font-size: 26px; letter-spacing: .02em; }
html[data-brand="party"] .hud .ringp circle:last-child { stroke: var(--pink); }
html[data-brand="party"] .dock { background: var(--pk); border-radius: 24px; }
html[data-brand="party"] .dock .pill { background: var(--pink); border-radius: 18px; box-shadow: 0 8px 20px -8px color-mix(in srgb, var(--pink) 90%, transparent); }
html[data-brand="party"] .dock button.on { color: #fff; }
html[data-brand="party"] .dock button .badge { color: var(--pk); background: var(--champ-2); box-shadow: 0 0 0 2px var(--pk); }
html[data-brand="party"] .progress-dots i { border-radius: 99px; }
html[data-brand="party"] .progress-dots i.c { background: var(--pink); }
html[data-brand="party"] .notice .core { border-left-color: var(--pink); }
html[data-brand="party"] .cover { background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--pink) 70%, var(--pk)), var(--pk) 72%); }
html[data-brand="party"] .aura::before { background: radial-gradient(circle, color-mix(in srgb, var(--pink) 26%, transparent), transparent 62%); }
html[data-brand="party"] .route-art .draw { stroke: var(--pink); }
html[data-brand="party"] .ar-teaser { background: linear-gradient(135deg, var(--pk), color-mix(in srgb, var(--pink) 60%, var(--pk))); }
html[data-brand="party"] .done-hero .seal { background: var(--pink); color: #fff; }
html[data-brand="party"] .pin span { background: var(--pk); color: #fff; font-family: var(--disp); font-weight: 900; font-size: 52px; }
html[data-brand="party"] .mk.st.done { background: var(--pink); }
html[data-brand="party"] .switch.on { background: var(--pink); }

/* Kapitel-Vorspann: große Plakatzahl, Konfetti-Schimmer */
html[data-brand="party"] .ch-num { font: 900 clamp(170px, 54vw, 320px) / .82 var(--disp); color: var(--pink); }
html[data-brand="party"] .ch-title { font: 900 clamp(40px, 11vw, 64px) / .95 var(--disp); text-transform: uppercase; letter-spacing: .01em; }
html[data-brand="party"] .ch-line { background: var(--champ); }
html[data-brand="party"] .ch-kicker { color: var(--pink); }
html[data-brand="party"] .ch-grain { background: radial-gradient(ellipse at 85% 10%, color-mix(in srgb, var(--pink) 22%, transparent), transparent 55%), radial-gradient(ellipse at 10% 90%, rgba(201, 164, 92, .18), transparent 50%); }
html[data-brand="party"] .bigtime, html[data-brand="party"] .kv b, html[data-brand="party"] .dist, html[data-brand="party"] .gear-ring b { font-family: var(--disp); font-weight: 900; letter-spacing: .02em; }
html[data-brand="party"] .bigtime { font-size: clamp(84px, 26vw, 150px); }
html[data-brand="party"] .otp .cell, html[data-brand="party"] .dial .reel span { font-family: var(--disp); font-weight: 900; }
html[data-brand="party"] .mk.st { font-family: var(--disp); font-weight: 900; font-size: 20px; border-radius: 50%; }

/* Party-Setup: Stufe und Name */
.party-lvl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.party-lvl button { text-align: left; padding: 14px 14px 12px; border-radius: 18px; border: 0; background: var(--paper-2, #f4f4f4); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-2); cursor: pointer; font: inherit; }
.party-lvl button b { display: block; font: 900 26px/1 var(--disp); text-transform: uppercase; letter-spacing: .02em; }
.party-lvl button small { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.3; color: var(--ink-3); }
.party-lvl button.on { background: var(--accent); color: #fff; box-shadow: 0 12px 24px -14px rgba(var(--accent-rgb), .9); }
.party-lvl button.on small { color: rgba(255, 255, 255, .88); }
.lvl-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 99px; font: 800 11px/1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; background: var(--accent); color: #fff; }
.lvl-tag.mild { background: var(--champ, #C9A45C); }

/* Party-Variante mit eleganter Serifen-Schrift (z. B. Genussreise): theme.display = 'serif' */
html[data-brand="party"][data-disp="serif"] .display, html[data-brand="party"][data-disp="serif"] .h1, html[data-brand="party"][data-disp="serif"] .h2 { font-family: var(--serif); font-weight: 600; text-transform: none; letter-spacing: -.01em; line-height: 1.08; }
html[data-brand="party"][data-disp="serif"] .h1 { font-size: clamp(34px, 9vw, 50px); }
html[data-brand="party"][data-disp="serif"] .h2 { font-size: clamp(26px, 6.6vw, 34px); }
html[data-brand="party"][data-disp="serif"] .ch-num { font: italic 600 clamp(150px, 46vw, 280px) / .85 var(--serif); }
html[data-brand="party"][data-disp="serif"] .ch-title { font: 600 clamp(30px, 8vw, 46px) / 1.08 var(--serif); text-transform: none; letter-spacing: -.01em; }
html[data-brand="party"][data-disp="serif"] .hud .timer b, html[data-brand="party"][data-disp="serif"] .bigtime, html[data-brand="party"][data-disp="serif"] .kv b, html[data-brand="party"][data-disp="serif"] .pin span, html[data-brand="party"][data-disp="serif"] .mk.st { font-family: var(--serif); font-weight: 600; letter-spacing: 0; }
html[data-brand="party"][data-disp="serif"] .party-lvl button b { font-family: var(--serif); text-transform: none; }
html[data-brand="party"][data-disp="serif"] .w-item.r .w-lab { font: 600 13.5px/1.2 var(--sans); letter-spacing: 0; color: rgba(255,255,255,.9); }
html[data-brand="party"][data-disp="serif"] .bigtime { font-size: clamp(54px, 17vw, 104px); white-space: nowrap; }
html[data-brand="party"][data-disp="serif"] .kv b { font-size: 24px; }
html[data-brand="party"] .cover::after { background: linear-gradient(180deg, color-mix(in srgb, var(--party-ink, #1a1020) 25%, transparent) 0%, color-mix(in srgb, var(--party-ink, #1a1020) 55%, transparent) 45%, color-mix(in srgb, var(--party-ink, #1a1020) 88%, transparent) 100%); }
html[data-brand="party"] .cover .h1, html[data-brand="party"] .cover .sub { text-shadow: 0 2px 18px rgba(0,0,0,.35); }
html[data-brand="party"][data-disp="serif"] .cover .h1 { font-size: clamp(30px, 8vw, 44px); }
