/* PULT · WEIHNACHTEN (data-welt="fest") — aus online-pult.css überführt (2026-11-01); die gemeinsamen Regeln bleiben dort.
   Geladen direkt NACH online-pult.css (spiel.html, host.html, runde-trailer.html, handy-*.html). */
/* ---- FEST · der Kaminsims ------------------------------------------------- */
.qo-pult[data-welt="fest"] {
  --pult-grund: linear-gradient(180deg, rgba(255, 226, 170, .16), transparent 30%), repeating-linear-gradient(90deg, #3c2415 0 11cqmin, #2f1b0e 11cqmin 11.25cqmin, #42281a 11.25cqmin 23cqmin, #2f1b0e 23cqmin 23.2cqmin), repeating-linear-gradient(180deg, rgba(0, 0, 0, .1) 0 .2cqmin, transparent .2cqmin 1.3cqmin), #3c2415;
  --kante: linear-gradient(180deg, #8a5a34, #5a3519); --kante-h: 1.3cqmin;
  --sitz: linear-gradient(180deg, color-mix(in srgb, var(--acc) 55%, #10200f), color-mix(in srgb, var(--acc) 26%, #070d06)); --sitz-naht: var(--acc2);
  --disp-grund: repeating-linear-gradient(180deg, transparent 0 2.5cqmin, rgba(90, 60, 20, .14) 2.5cqmin 2.65cqmin), linear-gradient(180deg, #fbf2dd, #eedcb8);
  --disp-rahmen: inset 1.5cqmin 0 0 var(--acc), inset 1.75cqmin 0 0 var(--acc2), 0 .9cqmin 2cqmin rgba(0, 0, 0, .55); --disp-rund: .9cqmin; --disp-glas: none;
  --disp-leer: #8a7a5c; --disp-an: #1f3a22; --disp-fest: #14260f; --disp-neben: #6e5a36; --disp-trenn: rgba(90, 60, 20, .4);
  --taste-rahmen: linear-gradient(180deg, #f4d58a, #b98a2e 60%, #dab04f); --taste-rund: 6cqmin;
}
.qo-pult[data-welt="fest"] .qo-display { padding-left: 3.4cqmin; transform: rotate(-.7deg); }
.qo-pult[data-welt="fest"] .qo-sagt { background: #fbf2dd; }
.qo-pult[data-welt="fest"] .qo-sagt::before { background: #fbf2dd; }
.qo-pult[data-welt="fest"] .qo-sagt-text { color: #1f3a22; }
/* DIE TASTE IST EIN PÄCKCHEN (Tobi 05.10.: „Abschicken-Knopf Weihnachten muss neu, der deckt sich
   fast 1:1 mit dem Hintergrund"). Vorher lag die Kappe leer und abgeschickt in --g2 auf dem Holz
   (gemessen 1,18 : 1) und bereit Gold in Gold im Rahmen (1,33 : 1). Jetzt hat jeder Zustand eine
   eigene, helle Fläche — alle aus den Rollen des Sets, keine festen Töne:
     leer         Raureif: blass (--t0/--t1), eine gestrichelte Naht — noch nicht verschnürt
     bereit       Kerzengold (--acc2), es leuchtet; die Schleife (--acc) springt auf den Rand
     abgeschickt  Tannengrün (--acc), eingedrückt; der Haken sitzt als goldenes Siegel darauf
   Gemessen an den Pixeln (L): Kappe gegen das Holz daneben 9,7 · 7,5 · 4,7 : 1 (Soll 3), Schrift
   auf der Kappe 10,0 · 9,8 · 5,6 : 1 (Soll 4,5). Eine dunkle Nut trennt die Kappe vom goldenen
   Rahmen; der Rahmen selbst (auch der der Tafel in der Auflösung) kommt jetzt aus --acc2.
   Aufbau, Maße und Verhalten bleiben; bewegt wird nur transform und opacity. */
.qo-pult[data-welt="fest"] {
  --taste-rahmen: linear-gradient(180deg, color-mix(in srgb, var(--acc2) 58%, var(--t0)), color-mix(in srgb, var(--acc2) 70%, var(--g0)) 60%, color-mix(in srgb, var(--acc2) 84%, var(--t0)));
  --qo-fest-nut: 0 0 0 .3cqmin color-mix(in srgb, var(--g0) 80%, var(--acc2));
  --qo-fest-schleife: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'%3E%3Cpath fill-rule='evenodd' d='M28 17C22 6 9 1 5 7 1 13 5 27 12 29c6 1 12-4 16-8zM24 17c-4-6-11-9-14-6-2 3 0 11 4 12 4 0 7-3 10-6z'/%3E%3Cpath fill-rule='evenodd' d='M36 17C42 6 55 1 59 7c4 6 0 20-7 22-6 1-12-4-16-8zM40 17c4-6 11-9 14-6 2 3 0 11-4 12-4 0-7-3-10-6z'/%3E%3Crect x='27.5' y='12.5' width='9' height='11' rx='3.2'/%3E%3Cpath d='M27 26 19 42l6-2 4 4 2-17z'/%3E%3Cpath d='M37 26l8 16-6-2-4 4-2-17z'/%3E%3C/svg%3E");
}
.qo-pult[data-welt="fest"] .qo-los .qo-kappe { box-shadow: var(--qo-fest-nut), inset 0 .35cqmin 0 color-mix(in srgb, var(--t0) 34%, transparent); }
.qo-pult[data-welt="fest"] .qo-los[data-zustand="leer"] .qo-kappe {
  background: linear-gradient(180deg, color-mix(in srgb, var(--t0) 74%, var(--t1)), color-mix(in srgb, var(--t1) 88%, var(--acc2)));
  color: var(--g3);
  outline: max(1px, .22cqmin) dashed color-mix(in srgb, var(--g3) 46%, transparent); outline-offset: -1cqmin;
}
.qo-pult[data-welt="fest"] .qo-los[data-zustand="gewaehlt"] .qo-kappe {
  background: linear-gradient(180deg, color-mix(in srgb, var(--acc2) 70%, var(--t0)), var(--acc2) 48%, color-mix(in srgb, var(--acc2) 86%, var(--g0)));
  color: var(--auf-acc2);
  box-shadow: var(--qo-fest-nut), inset 0 .4cqmin 0 color-mix(in srgb, var(--t0) 46%, transparent), 0 0 3.4cqmin color-mix(in srgb, var(--acc2) 58%, transparent);
}
.qo-pult[data-welt="fest"] .qo-los[data-zustand="gesendet"] .qo-kappe {
  background: linear-gradient(180deg, color-mix(in srgb, var(--acc) 88%, var(--t0)), var(--acc) 50%, color-mix(in srgb, var(--acc) 94%, var(--g0)));
  color: var(--auf-acc);
  box-shadow: var(--qo-fest-nut), inset 0 .5cqmin .9cqmin color-mix(in srgb, var(--g0) 34%, transparent);
}
/* Das Siegel: der Haken von „Abgeschickt" auf einer goldenen Scheibe */
.qo-pult[data-welt="fest"] .qo-los-haken {
  flex: none; display: grid; place-items: center; width: 4.4cqmin; height: 4.4cqmin; border-radius: 50%; color: var(--auf-acc2);
  background: radial-gradient(circle at 38% 30%, color-mix(in srgb, var(--acc2) 62%, var(--t0)), var(--acc2) 56%, color-mix(in srgb, var(--acc2) 78%, var(--g0)));
  box-shadow: 0 0 0 .22cqmin color-mix(in srgb, var(--acc2) 58%, var(--g0)), 0 .3cqmin .7cqmin color-mix(in srgb, var(--g0) 60%, transparent);
}
.qo-pult[data-welt="fest"] .qo-los-haken svg { width: 2.7cqmin; height: 2.7cqmin; }
/* Die Schleife sitzt oben links auf dem Rahmen: Sie kommt mit der Wahl und bleibt nach dem Abschicken (dann in Gold). */
.qo-pult[data-welt="fest"] .qo-los[data-zustand]::before {
  content: ""; display: block; position: absolute; z-index: 3; left: 1.2cqmin; right: auto; top: -1.6cqmin; bottom: auto; width: 6.2cqmin; height: 4.3cqmin; border-radius: 0; pointer-events: none;
  background: linear-gradient(180deg, color-mix(in srgb, var(--acc) 78%, var(--t0)), var(--acc) 45%, color-mix(in srgb, var(--acc) 62%, var(--g0)));
  box-shadow: none; -webkit-mask: var(--qo-fest-schleife) 50% 50% / contain no-repeat; mask: var(--qo-fest-schleife) 50% 50% / contain no-repeat;
  opacity: 0; transform: rotate(-17deg) scale(.3); transform-origin: 50% 40%;
  transition: transform var(--d-mittel) var(--k-schnapp), opacity var(--d-kurz) var(--k-ein);
}
.qo-pult[data-welt="fest"] .qo-los[data-zustand="gewaehlt"]::before, .qo-pult[data-welt="fest"] .qo-los[data-zustand="gesendet"]::before { opacity: 1; transform: rotate(-17deg); }
.qo-pult[data-welt="fest"] .qo-los[data-zustand="gesendet"]::before { background: linear-gradient(180deg, color-mix(in srgb, var(--acc2) 66%, var(--t0)), var(--acc2) 45%, color-mix(in srgb, var(--acc2) 70%, var(--g0))); }
/* Die Kopie der Taste auf der Tafel (Übergang zur Auflösung) liegt um den Rahmen weiter innen — die Schleife bleibt, wo sie war. */
.qo-pult[data-welt="fest"] .qo-rang .qo-los.qo-rang-alt::before { left: .1cqmin; top: -2.7cqmin; }
@media (prefers-reduced-motion: reduce) { .qo-pult[data-welt="fest"] .qo-los[data-zustand]::before { transition: none; } }

@container (max-width: 900px) {
  .qo-pult[data-welt="fest"] .qo-display { padding-left: 2.8cqmin; }
}
/* Auf dem Wunschzettel (Papier) brauchen Urteil und Punkte dunkle Töne */
.qo-pult[data-welt="fest"] .qo-display { --disp-urteil: color-mix(in srgb, var(--u) 42%, #14260f); }
.qo-pult[data-welt="fest"] .qo-z-uwort { text-shadow: none; }
.qo-pult[data-welt="fest"] .qo-punkte b { color: #1f3a22; }
.qo-pult[data-welt="fest"] { --disp-mittel: #3f4a2c; }
.qo-pult[data-welt="fest"] .qo-display { --jetzt: #a3540a; }
.qo-pult[data-welt="fest"] .qo-f-wz { background: rgba(90, 60, 20, .1); box-shadow: inset 0 0 0 .22cqmin rgba(90, 60, 20, .32); }
/* Der Stempel „abgeschickt" trägt die Farbe der Welt */
.qo-pult[data-welt="fest"] .qo-a-stempel { background: #1f6b3a; color: #fbf2dd; }
.qo-pult[data-welt="fest"] .qo-pt-wort b, .qo-pult[data-welt="fest"] .qo-pt-satz b { color: #1f6b3a; text-shadow: none; }
.qo-pult[data-welt="fest"] .qo-pt-platz .qo-sprung.hoch { color: #1f6b3a; }

/* =====================================================================
   DER KAMINSIMS AUF DEM NIVEAU VON WELTREISE (Tobi, 02.11.2026: „die auf das Niveau von Weltreise angleichen, alle Pulte.“)
   Die Geschichte: Heiligabend, du sitzt am Kamin. Hinter dem Buddy die Öffnung des Kamins mit dem Feuer
   (es flackert leise), über dem Sims hängt die Tannengirlande mit ihren Lichtern. Die ANZEIGE ist dein
   Wunschzettel — rechts mit Bleistift ein kleiner Tannenbaum gekritzelt, sein Stern funkelt. Der Buddy
   spricht auf einem GESCHENKANHÄNGER (Karton mit Öse). Die TASTE bleibt das Päckchen mit der Schleife.
   Ziegel, Tanne, Papier und Karton sind Material; Licht, Schrift und Zustände kommen aus den Rollen des Sets.
   Bewegung nur transform und opacity, ruhig; prefers-reduced-motion hält alles an.
   ===================================================================== */
.qo-pult[data-welt="fest"] {
  /* die Bleistift-Kritzelei auf dem Zettel: ein Tannenbaum mit Stern (der Stern selbst funkelt darüber, .qo-display::after) */
  --qo-fe-baum: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 80' fill='none' stroke='%235a4526' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.42'%3E%3Cpath d='M30 12 18 30h7L13 46h8L8 64h44L39 46h8L35 30h7z'/%3E%3Cpath d='M26 64v9h8v-9'/%3E%3Cpath d='M20 52c6 3 14 3 22-1M24 38c4 2 9 2 13-1' stroke-dasharray='2 3'/%3E%3C/svg%3E");
  --disp-grund: var(--qo-fe-baum) right var(--qo-motiv-r) center / 6cqmin 8cqmin no-repeat,
    repeating-linear-gradient(180deg, transparent 0 2.5cqmin, rgba(90, 60, 20, .14) 2.5cqmin 2.65cqmin), linear-gradient(180deg, #fbf2dd, #eedcb8);
}
/* DER KAMIN hinter dem Buddy: die Öffnung im Ziegelbogen, drinnen Glut */
.qo-pult[data-welt="fest"] .qo-buddy::before {
  left: 1%; right: 1%; top: 2%; bottom: -1.4cqmin; border-radius: 48% 48% 5% 5% / 42% 42% 4% 4%;
  background: radial-gradient(60% 30% at 50% 100%, #ffc76b, color-mix(in srgb, #ff7a26 60%, transparent) 45%, transparent 80%),
    linear-gradient(180deg, #0e0805, #1c100a 62%, #2b160b);
  box-shadow: inset 0 0 0 .95cqmin #9a5233, inset 0 0 0 1.1cqmin #5a2a17, inset 0 .25cqmin 0 1.25cqmin #120905, inset 0 1.6cqmin 1.6cqmin rgba(0, 0, 0, .55), 0 .6cqmin 1.6cqmin rgba(0, 0, 0, .5);
}
/* DAS FEUER: ein warmer Schein im Bogen, links und rechts neben dem Buddy züngeln die Flammen; er flackert
   (statt der Sitzkante — der Buddy sitzt vor dem Kamin) */
.qo-pult[data-welt="fest"] .qo-buddy::after {
  left: 6%; right: 6%; top: 14%; bottom: -1.4cqmin; height: auto; z-index: 0; border-radius: 46% 46% 4% 4% / 40% 40% 4% 4%;
  background: radial-gradient(22% 46% at 17% 100%, #ffe6a6, color-mix(in srgb, #ff9a3a 75%, transparent) 45%, transparent 78%),
    radial-gradient(22% 52% at 83% 100%, #ffe6a6, color-mix(in srgb, #ff9a3a 75%, transparent) 45%, transparent 78%),
    radial-gradient(90% 80% at 50% 100%, color-mix(in srgb, #ff7a26 70%, transparent), color-mix(in srgb, #c43a12 40%, transparent) 50%, transparent 82%);
  box-shadow: none; transform-origin: 50% 100%; animation: qo-fe-feuer 2.2s ease-in-out infinite alternate;
}
@keyframes qo-fe-feuer { 0% { opacity: .74; transform: scale(1, .93); } 45% { opacity: 1; transform: scale(1.02, 1.04); } 100% { opacity: .84; transform: scale(.99, .97); } }

/* DIE TANNENGIRLANDE über dem Sims: grüne Bögen, darin Lichter — Gold am tiefsten Punkt (steht), Rot und Weiß an den Seiten (funkeln).
   Je Bogen 9 cqmin; die Lichter sitzen auf der Mitte des Bogens (gerechnet aus der Ellipse unten). */
.qo-pult[data-welt="fest"] .k-kante::before, .qo-pult[data-welt="fest"] .k-kante::after {
  content: ""; position: absolute; left: 0; right: 0; top: .55cqmin; height: 2.8cqmin; pointer-events: none;
}
.qo-pult[data-welt="fest"] .k-kante::before {
  background: radial-gradient(circle at 4.5cqmin 1.65cqmin, #fff3c4 0 .2cqmin, var(--acc2) .36cqmin, color-mix(in srgb, var(--acc2) 30%, transparent) .62cqmin, transparent .85cqmin) 0 0 / 9cqmin 100% repeat-x,
    radial-gradient(64% 170% at 50% -60%, transparent 0 54%, #3b7344 56%, #275a30 66%, #1a4222 78%, #10301a 84%, transparent 86.5%) 0 0 / 9cqmin 100% repeat-x;
  filter: drop-shadow(0 .3cqmin .4cqmin rgba(0, 0, 0, .5));
}
.qo-pult[data-welt="fest"] .k-kante::after {
  background: radial-gradient(circle at 2.6cqmin 1.3cqmin, #ffe4e0 0 .18cqmin, var(--jetzt, #e0463c) .32cqmin, color-mix(in srgb, var(--jetzt, #e0463c) 30%, transparent) .58cqmin, transparent .8cqmin) 0 0 / 9cqmin 100% repeat-x,
    radial-gradient(circle at 6.4cqmin 1.3cqmin, #fff 0 .18cqmin, #fff6dc .32cqmin, rgba(255, 246, 220, .3) .58cqmin, transparent .8cqmin) 0 0 / 9cqmin 100% repeat-x;
  animation: qo-fe-funkeln 2.8s ease-in-out infinite alternate;
}
@keyframes qo-fe-funkeln { from { opacity: .35; } to { opacity: 1; } }

/* DER GESCHENKANHÄNGER: Karton mit abgeschrägten Ecken, links die Öse (durch sie sieht man das Holz) */
.qo-pult[data-welt="fest"] .qo-sagt {
  padding-left: 3.8cqmin; border-radius: .5cqmin;
  clip-path: polygon(2cqmin 0, 100% 0, 100% 100%, 2cqmin 100%, 0 calc(100% - 2cqmin), 0 2cqmin);
  background: radial-gradient(circle at 1.8cqmin 50%, transparent 0 .5cqmin, color-mix(in srgb, var(--acc2) 80%, #6b4a10) .55cqmin .82cqmin, transparent .87cqmin),
    linear-gradient(180deg, #fdf6e6, #f0dfbd);
  box-shadow: inset 0 0 0 .22cqmin rgba(140, 95, 30, .3);
}
.qo-pult[data-welt="fest"] .qo-sagt::before { display: none; }
/* DER STERN auf der Kritzelei funkelt (über der Spitze des Baums: Mitte der Kritzelei, 0,6 cqmin unter ihrer Oberkante) */
.qo-pult[data-welt="fest"] .qo-display::after {
  content: ""; position: absolute; z-index: 0; left: auto; right: calc(var(--qo-motiv-r) + 3cqmin - .9cqmin); top: 50%; width: 1.8cqmin; height: 1.8cqmin; margin-top: calc(-4cqmin - .25cqmin); pointer-events: none;
  background: color-mix(in srgb, var(--acc2) 80%, #8a5a00);
  -webkit-mask: var(--qo-fe-stern) center / contain no-repeat; mask: var(--qo-fe-stern) center / contain no-repeat;
  --qo-fe-stern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0l2.6 6.6L20 7.6l-5.6 4.8L16.2 20 10 16l-6.2 4 1.8-7.6L0 7.6l7.4-1z'/%3E%3C/svg%3E");
  animation: qo-fe-stern 3.6s ease-in-out infinite;
}
@keyframes qo-fe-stern { 0%, 70%, 100% { transform: scale(1) rotate(0deg); opacity: .8; } 82% { transform: scale(1.3) rotate(18deg); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .qo-pult[data-welt="fest"] .qo-buddy::after, .qo-pult[data-welt="fest"] .k-kante::after, .qo-pult[data-welt="fest"] .qo-display::after { animation: none; }
}
/* Wo das lebende Motiv der Anzeige steht: sein rechter Rand bleibt vor „eingeloggt“ (auf M, L, XL beginnt das 17,3 cqmin vor dem
   rechten Rand der Anzeige, auf S — größere Mindestschrift — 21,4 cqmin). */
.qo-pult[data-welt="fest"] { --qo-motiv-r: 19.5cqmin; --qo-motiv-frei: calc(var(--qo-motiv-r) + 6cqmin); }   /* frei: die Schrift endet vor dem Baum (online-pult.css) */
@container (max-width: 900px) { .qo-pult[data-welt="fest"] { --qo-motiv-r: 23.6cqmin; } }
/* In der Lobby (.qla-pult) steht kein „eingeloggt“ in der Anzeige — das Motiv rückt an ihren rechten Rand, weg vom Satz. */
.qo-pult.qla-pult[data-welt="fest"] { --qo-motiv-r: 2.6cqmin; }
/* Am Abendende füllen Titel und Geschichte die ganze Anzeige — das Motiv tritt ab (aus dem Bild geschoben, die Anzeige schneidet es ab). */
.qo-pult.qo-pult-e[data-welt="fest"] { --qo-motiv-r: -40cqmin; }
/* Auf S reicht der Satz der Lobby bis an den Rand der Anzeige — dort tritt das Motiv ab wie am Abendende. */
@container (max-width: 900px) { .qo-pult.qla-pult[data-welt="fest"] { --qo-motiv-r: -40cqmin; } }
/* Am Handy (handy-rahmen, .k1-pult) ist die Anzeige schmal und trägt den Namen — das Motiv stünde hinter ihm; dort tritt es ab. */
.qo-pult.k1-pult[data-welt="fest"] { --qo-motiv-r: -40cqmin; }
