/* Tag 23 – gehoert dem zustaendigen web-bauer (KB-ADV-005). Nur Regeln unter .day-23. */

/* Briefbild: Forschungsstation aus der Referenz */
.day-23 .lab-photo figcaption { display:none; }
.day-23 .lab-photo.polaroid { padding:10px 10px 16px; }
.day-23 .lab-photo.polaroid::before { left:9%; }
.day-23 .letter-text { max-width:22em; }
.day-23 .letter-text br { display:none; }
.day-23 .letter-text strong { margin-left:.3em; font-weight:400; }

.mission-paper.chapter-later.day-23 .quest-panel { min-height:0; padding:0; background:none; }
.mission-paper.chapter-later.day-23 .quest-playfield { min-height:0; padding:0; overflow:visible; border:0; background:none; box-shadow:none; }
.mission-paper.chapter-later.day-23 .quest-playfield::before { display:none; }
.day-23 .world-label { display:none; }
.day-23 form > h2 { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Generalprobe (KB-ADV-010, Runde 3): oben die Fortschrittsleiste, darunter die laufende Probe gross im Kontroll-Pult. Alle Spielteile sind gemalte Bilder (assets/daily/day-23). */
.day-23 .gx { display:grid; grid-template-rows:auto minmax(0,1fr); gap:14px; min-width:0; }
.day-23 .gx-steps { display:flex; align-items:center; justify-content:center; gap:0; margin:0; padding:0; list-style:none; }
.day-23 .gx-step { position:relative; display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 14px 6px 8px; color:#1c2a3a; background:linear-gradient(#f4e4bd,#ead4a2); border:1px solid #cdae74; border-radius:5px 12px 6px 11px; box-shadow:0 2px 4px #4a2f1050; font-weight:800; }
.day-23 .gx-step + .gx-step { margin-left:34px; }
.day-23 .gx-step + .gx-step::before { content:''; position:absolute; right:100%; top:50%; width:34px; height:3px; margin-top:-1px; background:repeating-linear-gradient(90deg,#8a6c42 0 6px,transparent 6px 10px); opacity:.7; }
.day-23 .gx-num { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:50%; border:2px solid #5d4a2c; background:#f4ead0; color:#3a2d18; font-size:18px; line-height:1; }
.day-23 .gx-name { font-size:20px; line-height:1.1; white-space:nowrap; }
.day-23 .gx-badge { padding:2px 10px; border-radius:99px; font-size:15px; line-height:1.3; border:2px dashed #8a6c42; color:#5d4a2c; background:#f4ead0a0; }
.day-23 .gx-idle { opacity:.72; filter:saturate(.6); }
.day-23 .gx-run { border-color:#c4801b; box-shadow:0 0 0 3px #ffd45a, 0 3px 6px #4a2f1066; }
.day-23 .gx-run .gx-num { background:#ffd45a; border-color:#12294a; color:#12294a; }
.day-23 .gx-run .gx-badge { border:2px solid #12294a; background:#ffd45a; color:#12294a; }
.day-23 .gx-done .gx-num { background:#1d6b3b; border-color:#14532d; color:#fff; }
.day-23 .gx-done .gx-badge { border:2px solid #1d6b3b; background:#d8efd9; color:#14532d; }

/* Pult: konsole.webp als 9-teiliger Rahmen, innen Probe links und Aufgabe rechts */
.day-23 .gx-stage { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr); gap:14px 22px; align-items:center; min-width:0; padding:10px 14px; color:#e9f3ff; border:34px solid transparent; border-image:url('../../assets/daily/day-23/konsole.webp') 90 fill / 34px stretch; margin:0 -8px 0; }
.day-23 .gx-main { display:grid; justify-items:center; align-content:center; gap:14px; min-width:0; }
.day-23 .gx-side { display:grid; justify-items:center; align-content:center; gap:12px; min-width:0; text-align:center; }
.day-23 .gx-task { max-width:20em; margin:0; padding:10px 14px; border-radius:10px; background:#04101fb8; box-shadow:inset 0 0 0 1px #9fc4e655; color:#fff; font-size:22px; font-weight:700; line-height:1.3; text-wrap:balance; }
.day-23 .gx-say { min-height:2.6em; margin:4px 0 0; display:grid; align-items:center; color:#ffe9a8; font-size:20px; font-weight:700; line-height:1.25; }
.day-23 .gx-go { box-sizing:border-box; min-width:210px; min-height:52px; padding:0 22px; color:#14213a; font-size:21px; font-weight:800; background:linear-gradient(#ffe38a,#f2a516); border:2px solid #7a4f00; border-radius:14px; box-shadow:0 3px 0 #7a4f00, inset 0 1px 0 #fff9; cursor:pointer; }
.day-23 .gx-go:disabled { opacity:.5; cursor:not-allowed; filter:grayscale(.4); }
.day-23 .gx-go:not(:disabled):hover { background:linear-gradient(#fff0b0,#ffb52a); }
.day-23 .gx-stage button:focus-visible { outline:4px solid #fff; outline-offset:3px; box-shadow:0 0 0 8px #10213f; }
.day-23 .gx-stage img { display:block; pointer-events:none; user-select:none; }
.day-23 .check-answer.is-waiting { opacity:.72; filter:saturate(.7); }

/* Probe 1: vier Leuchtsteine */
.day-23 .gx-stones { display:flex; justify-content:center; gap:clamp(6px,2vw,24px); width:100%; }
.day-23 .gx-stone { --glow:#ff5a4a; position:relative; flex:none; width:var(--sz,128px); height:var(--sz,128px); padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
.day-23 .gx-stone-1 { --glow:#4aa3ff; } .day-23 .gx-stone-2 { --glow:#4fd36f; } .day-23 .gx-stone-3 { --glow:#ffd23a; }
.day-23 .gx-stone img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 6px 5px #02101fb0); transition:filter .12s; }
.day-23 .gx-stone[aria-disabled="true"] { cursor:default; }
.day-23 .gx-stone:not([aria-disabled="true"]):hover img { filter:drop-shadow(0 6px 5px #02101fb0) brightness(1.12); }
.day-23 .gx-stone.is-lit img { filter:brightness(1.5) saturate(1.25) drop-shadow(0 0 22px var(--glow)) drop-shadow(0 0 8px #fff); }
.day-23 .gx-dots { display:flex; gap:12px; height:22px; }
.day-23 .gx-dots i { width:20px; height:20px; border:3px solid #6f9ab9; border-radius:50%; background:#0b1b2e; box-shadow:inset 0 2px 3px #000a; }
.day-23 .gx-dots i.is-filled { border-color:#fff; background:#ffd45a; box-shadow:0 0 8px #ffd45a; }
.day-23 .gx-dots i[data-stone="0"].is-filled { background:#ff5a4a; box-shadow:0 0 8px #ff5a4a; } .day-23 .gx-dots i[data-stone="1"].is-filled { background:#4aa3ff; box-shadow:0 0 8px #4aa3ff; } .day-23 .gx-dots i[data-stone="2"].is-filled { background:#4fd36f; box-shadow:0 0 8px #4fd36f; }

/* Probe 2: Lichtcode, Verlauf links, Versuch mitte */
.day-23 .gx-lc { grid-template-columns:minmax(0,230px) minmax(0,1fr); align-items:center; justify-items:stretch; gap:18px; }
.day-23 .gx-hist { display:grid; grid-template-rows:repeat(6,34px); gap:4px; margin:0; padding:6px 8px; list-style:none; border-radius:10px; background:#05122266; box-shadow:inset 0 0 0 1px #6f9ab955; }
.day-23 .gx-row { display:flex; align-items:center; gap:8px; min-width:0; }
.day-23 .gx-row.is-now { box-shadow:inset 3px 0 0 #ffd45a; }
.day-23 .gx-rn { width:16px; font:italic 700 14px/1 Georgia,serif; text-align:center; opacity:.75; }
.day-23 .gx-mini { display:flex; gap:4px; }
.day-23 .gx-mini img { width:28px; height:28px; object-fit:contain; }
.day-23 .gx-mini i { width:28px; height:28px; border-radius:50%; background:#0b1b2e; box-shadow:inset 0 0 0 2px #6f9ab955; }
.day-23 .gx-score { display:flex; gap:8px; margin-left:auto; }
.day-23 .gx-chip { display:inline-flex; align-items:center; gap:2px; }
.day-23 .gx-chip svg { width:18px; height:18px; fill:none; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.day-23 .gx-chip b { font-size:16px; }
.day-23 .gx-exact svg { stroke:#7fe0a0; } .day-23 .gx-near svg { stroke:#ffc65a; }
.day-23 .gx-play { display:grid; justify-items:center; gap:10px; min-width:0; }
.day-23 .gx-try { margin:0; font-size:17px; font-weight:700; }
.day-23 .gx-try b { font-size:21px; }
.day-23 .gx-slots { display:flex; gap:16px; }
.day-23 .gx-slot { position:relative; width:104px; height:104px; padding:0; border:0; border-radius:50%; background:radial-gradient(circle,#0a1a2c 0 62%,#6f9ab944 64%,transparent 68%); cursor:pointer; }
.day-23 .gx-slot img { width:100%; height:100%; object-fit:contain; }
.day-23 .gx-slot.is-current::after { content:''; position:absolute; inset:-5px; border:4px solid #ffd45a; border-radius:50%; box-shadow:0 0 14px #ffd45a; pointer-events:none; }
.day-23 .gx-slot.hint-target::before { content:''; position:absolute; inset:-9px; border:4px dashed #fff; border-radius:50%; animation:gx-pulse 1.4s ease-in-out 3; pointer-events:none; }
.day-23 .gx-picks { display:grid; grid-template-columns:repeat(5,minmax(0,86px)); gap:8px; justify-content:center; }
.day-23 .gx-pick { position:relative; display:grid; justify-items:center; gap:0; min-width:44px; min-height:92px; padding:4px 2px 3px; color:#e9f3ff; font:700 14px/1.1 inherit; border:2px solid #6f9ab9aa; border-radius:12px; background:#0a1c3099; cursor:pointer; }
.day-23 .gx-pick img { width:62px; height:62px; object-fit:contain; }
.day-23 .gx-pick:hover { background:#17385a; border-color:#fff; }
.day-23 .gx-pick.is-used { opacity:.45; }
.day-23 .gx-legend { margin:0; font-size:18px; line-height:1.9; text-align:left; opacity:.92; }

/* Probe 3: 4x4-Platte mit Stahlrahmen, Kacheln als Bilder */
.day-23 .gx-grid { align-content:center; }
.day-23 .gx-board { position:relative; width:var(--bs,300px); aspect-ratio:1; }
.day-23 .gx-frame { position:absolute; inset:0; width:100%; height:100%; }
.day-23 .gx-tiles { position:absolute; inset:9.2%; display:grid; grid-template:repeat(var(--n),1fr) / repeat(var(--n),1fr); }
.day-23 .gx-tile { position:relative; display:block; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:8%; background:none; cursor:pointer; }
.day-23 .gx-tile img { width:100%; height:100%; rotate:var(--rot,0deg); }
.day-23 .gx-fixed { cursor:default; }
.day-23 button.gx-tile:hover img { filter:brightness(1.18); }
.day-23 .gx-tile:focus-visible { z-index:3; outline-offset:-4px; }
.day-23 .gx-tile.hint-target::after { content:''; position:absolute; inset:2px; border:4px solid #ffcc33; border-radius:10%; box-shadow:0 0 12px 2px #ffcc33; animation:gx-pulse 1.4s ease-in-out 3; pointer-events:none; }
.day-23 .gx-tile.is-lit img { filter:drop-shadow(0 0 5px #ffb81acc); }
.day-23 .gx-leak { position:absolute; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:#ff5a3a; border:2px solid #fff; box-shadow:0 0 6px #ff5a3a; pointer-events:none; }
.day-23 .gx-leak-0 { left:50%; top:3%; } .day-23 .gx-leak-1 { left:97%; top:50%; } .day-23 .gx-leak-2 { left:50%; top:97%; } .day-23 .gx-leak-3 { left:3%; top:50%; }
.day-23 .gx-lampline { display:flex; align-items:center; gap:12px; margin:0; font-size:19px; font-weight:700; line-height:1.3; text-align:left; }
.day-23 .gx-lampline img { width:76px; height:76px; object-fit:contain; flex:none; }
.day-23 .gx-lampline b { font-size:22px; }
.day-23 .gx-lampline.is-on { color:#ffe9a8; }
@keyframes gx-pulse { 50% { opacity:.45; } }

/* Alle Proben bestanden */
.day-23 .gx-all { display:grid; gap:14px; justify-items:center; grid-column:1 / -1; }
.day-23 .gx-all-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.day-23 .gx-all-list li { display:flex; align-items:center; gap:12px; font-size:19px; }
.day-23 .gx-all-list b { min-width:9em; font-size:21px; }
.day-23 .gx-all-list .gx-num { background:#1d6b3b; border-color:#7fe0a0; color:#fff; }

.day-23 .read-aloud, .day-23 .chapter-tools .tool-button { box-sizing:border-box; min-width:150px; height:50px; min-height:50px; padding:0 14px; border-width:2px; border-radius:14px; gap:10px; font-size:22px; }
.day-23 .read-aloud svg, .day-23 .chapter-tools .tool-button svg { width:28px; height:28px; }
.day-23 .read-aloud { display:flex; width:max-content; margin:14px auto 0; }

@media (prefers-reduced-motion:reduce) {
  .day-23 .gx-stone img { transition:none; }
  .day-23 .gx-tile.hint-target::after, .day-23 .gx-slot.hint-target::before { animation:none; }
}

/* Schmale Fenster: alles untereinander, Pult waechst mit */
@media (max-width:1250px) {
  .day-23 .gx { max-width:640px; margin-inline:auto; }
  .day-23 .gx-steps { flex-wrap:wrap; gap:8px; }
  .day-23 .gx-step + .gx-step { margin-left:0; }
  .day-23 .gx-step + .gx-step::before { display:none; }
  .day-23 .gx-stage { padding:12px 14px; }
  .day-23 .gx-stage-0 { --sz:min(128px,19vw); }
  .day-23 .gx-stage-2 { --bs:min(320px,100%); }
  .day-23 .gx-lc { grid-template-columns:minmax(0,1fr); }
  .day-23 .gx-hist { grid-template-columns:1fr; grid-template-rows:repeat(6,30px); gap:2px; }
}
@media (max-width:1250px) { .day-23 .gx { gap:22px; } }
@media (max-width:480px) {
  .day-23 .gx-step { padding-right:10px; }
  .day-23 .gx-name { font-size:17px; }
  .day-23 .gx-badge { font-size:13px; }
  .day-23 .gx-stage { padding:6px 0; border-width:26px; border-image-width:26px; margin:0 -14px -6px; }
  .day-23 .gx-stage-0 { --sz:min(74px,18vw); }
  .day-23 .gx-hist { grid-template-columns:1fr; grid-template-rows:repeat(6,30px); gap:2px; }
  .day-23 .gx-slot { width:80px; height:80px; }
  .day-23 .gx-slots { gap:10px; }
  .day-23 .gx-picks { grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
  .day-23 .gx-pick { min-height:78px; font-size:12px; }
  .day-23 .gx-pick img { width:46px; height:46px; }
  .day-23 .gx-stage-2 { --bs:min(300px,100%); }
  .day-23 .gx-task { font-size:18px; padding:8px 10px; }
  .day-23 .gx-go { min-width:180px; }
}

/* Desktop: Kopf, Fortschrittsleiste und Pult in einer Zeile, unten Vorlesen, Hinweis und Aktion */
@media (min-width:1251px) {
  .mission-paper.chapter-later.day-23 {
    height:770px;
    grid-template-columns:180px 170px minmax(0,1fr);
    grid-template-rows:220px minmax(0,1fr) 28px 66px;
    padding-top:22px;
  }
  .day-23 .compact-briefing { grid-column:1 / -1; }
  /* geloest: quest-panel ist display:contents, die Erfolgsmeldung braucht die volle Breite unter dem Brief */
  .mission-paper.chapter-later.day-23 .day-success { grid-column:1 / -1; grid-row:2 / -1; align-self:center; }
  .mission-paper.chapter-later.day-23:has(.day-success) { height:770px; }
  .mission-paper.chapter-later.day-23 .quest-panel,
  .mission-paper.chapter-later.day-23 form,
  .mission-paper.chapter-later.day-23 .quest-playfield { display:contents; }
  .day-23 .gx { grid-column:1 / -1; grid-row:2; align-self:stretch; height:100%; padding:2px 6px 0; }
  .day-23 .gx-stage { grid-template-columns:minmax(0,1fr) 290px; }
  .day-23 .gx-stage-3 { grid-template-columns:minmax(0,1fr); }
  .day-23 .gx-stage { border-width:26px; border-image-width:26px; }
  .day-23 .gx-stage-2 { --bs:256px; }
  .day-23 .gx-stage-0 { --sz:136px; }
  .day-23 .read-aloud { grid-column:1; grid-row:4; justify-self:start; margin:0 0 0 22px; align-self:center; }
  .mission-paper.chapter-later.day-23 .chapter-tools { grid-column:2; grid-row:4; justify-self:start; align-self:center; display:flex; justify-content:center; margin:0 0 0 10px; padding:0; width:auto; }
  .day-23 .feedback-space { grid-column:1 / -1; grid-row:3; min-height:0; }
  .day-23 .feedback-space { display:grid; align-items:center; }
  .day-23 .answer-feedback { margin:0; font-size:20px; font-weight:700; line-height:1.2; color:#3a1a0a; }
  .day-23 .check-answer { grid-column:3; grid-row:4; justify-self:start; width:430px; min-height:60px; margin:0 0 0 14px; font-size:32px; }
}
