/* Cinemory 2 – Detailseite, Dialoge, Poster-Vollbild, Dashboard-Ergänzungen */

/* --- kleine Ergänzungen --- */
.h-ico { width: .8em; height: .8em; margin-right: 12px; color: var(--vi); vertical-align: -0.04em; }
.sec-ico { width: 22px; height: 22px; color: var(--vi); align-self: center; }
.backbtn { margin: -6px 0 18px -10px; }
.fld { display: flex; flex-direction: column; } .fld.grow { flex: 1; min-width: 220px; } .grow { flex: 1; }
.dgap { margin-top: 30px; }
.two > div { display: flex; flex-direction: column; } .two > div > .panel { flex: 1; }
.rk-name, .rk-sub, .rk-films, .sf-title, .sf-subl { display: block; }
.sf-title, .rk-name { font-size: 14.5px; }
.more-link { display: inline-block; margin-top: 12px; color: var(--mu); font-weight: 600; font-size: 13.5px; } .more-link:hover { color: var(--vi); }
.lnk { color: var(--vi); } .lnk:hover { text-decoration: underline; }
.rk-img.ph { display: flex; align-items: center; justify-content: center; color: var(--mu2); }
.rk-logo.ph { background: #222838; color: var(--tx2); }
.sf-pos { width: 20px; text-align: center; color: var(--mu2); font-weight: 700; font-size: 13px; flex: none; }
.sf-val .g { color: var(--gold); }
.sf-val { color: var(--tx); } .sf-val:not(.neg) { color: var(--gold); }

/* --- Dashboard-Suche --- */
.dsearch { position: relative; margin: 26px 0 0; max-width: 640px; }
.dsearch .input { width: 100%; padding-left: 44px; height: 46px; border-radius: 999px; }
.ds-ico { position: absolute; left: 15px; top: 13px; color: var(--mu); } .ds-ico .ico { width: 19px; height: 19px; }
.sgbox { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; background: var(--card2); border: 1px solid var(--line2); border-radius: 16px; padding: 6px; box-shadow: 0 24px 60px rgba(0,0,0,.6); }
.sg { display: flex; align-items: center; gap: 12px; width: 100%; border: 0; background: none; padding: 6px 8px; border-radius: 10px; cursor: pointer; text-align: left; }
.sg:hover, .sg.on { background: #20263a; }
.sg-img { width: 30px; height: 45px; border-radius: 5px; background: #1a1d28 center / cover; flex: none; }
.sg-t { flex: 1; font-weight: 600; } .sg-s { color: var(--mu); font-size: 13px; }

/* --- Dashboard: Tagebuch-Teil --- */
.diary3 { display: grid; grid-template-columns: 5fr 5fr 3fr; gap: 20px; }
.pv-head { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-left: 12px; border-left: 3px solid rgb(var(--c)); }
.pv-lbl { font-family: var(--serif); font-weight: 700; font-size: 18px; } .pv-avg { color: var(--gold); font-weight: 700; } .pv-n { color: var(--mu); font-size: 13px; margin-left: auto; }
.cw-row { display: flex; justify-content: space-between; padding: 8px 6px; border-bottom: 1px solid #1a1f2c; font-size: 14px; } .cw-row:last-child { border: 0; }
.cw-row.muted { color: var(--mu); }

/* --- Detail: Aufbau --- */
.d-backdrop { position: absolute; left: -48px; right: -48px; top: -34px; height: 520px; background: center 20% / cover no-repeat; opacity: .22; pointer-events: none; z-index: -1;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 100%); }
.page { position: relative; isolation: isolate; }
.dgrid { display: grid; grid-template-columns: minmax(240px, 1fr) 2fr; gap: 44px; align-items: start; }
.d-left { position: sticky; top: 24px; }
.d-head { display: flex; align-items: flex-start; gap: 14px; }
.d-title { flex: 1; margin-top: 0; } .d-year { color: var(--mu); font-weight: 500; }
.d-tune { width: 46px; height: 46px; padding: 0; border-radius: 14px; flex: none; margin-top: 4px; } .d-tune .ico { width: 21px; height: 21px; }
.st-line { color: var(--tx2); margin: 4px 0 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.st-line b { color: var(--tx); font-weight: 700; }
.st-ico { display: inline-flex; width: 24px; height: 24px; border-radius: 7px; align-items: center; justify-content: center; background: rgba(var(--c), .16); color: rgb(var(--c)); margin: 0 4px 0 2px; }
.st-ico .ico { width: 15px; height: 15px; }
.se-top { display: inline-flex; align-items: center; gap: 10px; color: var(--gold); font-weight: 700; font-size: 14px; margin-bottom: 8px; }
.se-badge { background: var(--teal); color: #04120f; font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 999px; }
.d-genres { margin: 12px 0 4px; } .d-genres b { font-weight: 700; }
.d-tag { font-style: italic; font-family: var(--serif); font-size: 15px; color: var(--tx2); }
.d-ov { font-size: 16px; line-height: 1.65; color: var(--tx2); max-width: 760px; }
.dblock { margin-top: 34px; }
.dsec { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 700; font-size: 22px; margin: 0 0 12px; }
.dsec .ico { width: 21px; height: 21px; color: var(--vi); }

/* --- Ausklapp-Abschnitte --- */
.exp { margin-top: 16px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(180deg, var(--card), #0e1016); }
.exp > summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 13px 16px; cursor: pointer; font-weight: 700; }
.exp > summary::-webkit-details-marker { display: none; }
.exp > summary .ico { width: 19px; height: 19px; color: var(--vi); }
.exp > summary .chev { margin-left: auto; display: inline-flex; transition: transform .2s; color: var(--mu); } .exp > summary .chev .ico { color: var(--mu); }
.exp[open] > summary .chev { transform: rotate(90deg); }
.exp > summary:hover { color: var(--vi); }
.exp-body { padding: 4px 16px 16px; }
.trailer iframe { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 12px; display: block; background: #000; }

/* --- Galerie --- */
.gal-big { position: relative; display: block; width: 100%; aspect-ratio: 2/3; border: 0; padding: 0; border-radius: 16px; background: #151821 center / cover no-repeat; cursor: zoom-in;
  box-shadow: 0 30px 60px rgba(0,0,0,.6); overflow: hidden; }
.gal-big .noimg { position: absolute; inset: 0; }
.gal-zoom { position: absolute; right: 12px; bottom: 12px; width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
  background: rgba(7,8,11,.7); backdrop-filter: blur(6px); color: var(--tx); opacity: 0; transition: opacity .2s; }
.gal-big:hover .gal-zoom { opacity: 1; }
.gal-strip { display: flex; gap: 8px; overflow-x: auto; padding: 12px 2px 6px; }
.gal-strip:empty { display: none; }
.gal-th, .lb-th { flex: none; width: 58px; border: 0; padding: 0; background: none; cursor: pointer; color: var(--mu); text-align: center; }
.gal-th span, .lb-th span { display: block; width: 58px; height: 87px; border-radius: 8px; background: #151821 center / cover; box-shadow: 0 0 0 2px transparent; transition: box-shadow .15s, transform .15s; }
.gal-th small, .lb-th small { display: block; font-size: 10.5px; font-weight: 700; margin-top: 4px; }
.gal-th:hover span, .lb-th:hover span { transform: translateY(-2px); }
.gal-th.on span, .lb-th.on span { box-shadow: 0 0 0 2px var(--vi); } .gal-th.on, .lb-th.on { color: var(--tx); }

/* --- Poster-Vollbild --- */
.lb { position: fixed; inset: 0; z-index: 150; background: #000; animation: fadein .18s ease; }
.lb-stage { position: absolute; inset: 0; }
.lb-big { position: absolute; inset: 0; background: center / contain no-repeat; }
.lb-x, .lb-nav { position: absolute; z-index: 3; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(10,10,14,.55); color: #fff;
  display: flex; align-items: center; justify-content: center; cursor: pointer; backdrop-filter: blur(6px); transition: background .15s; }
.lb-x:hover, .lb-nav:hover { background: rgba(40,40,52,.85); }
.lb-x { top: 18px; right: 18px; }
.lb-nav { top: 50%; transform: translateY(-50%); } .lb-nav.prev { left: 18px; } .lb-nav.next { right: 18px; }
.lb-zone { position: absolute; left: 0; right: 0; bottom: 0; height: 150px; z-index: 2; display: flex; align-items: flex-end; justify-content: center; }
.lb-strip { display: flex; gap: 8px; overflow-x: auto; max-width: 100%; padding: 12px 18px 16px; background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,0));
  transform: translateY(100%); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.lb-zone:hover .lb-strip { transform: none; opacity: 1; }
.lb-hint { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); z-index: 1; font-size: 12px; color: rgba(255,255,255,.45); pointer-events: none; }

/* --- Sichtungen --- */
.vw-sum { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: space-between; padding: 10px 14px; margin: 6px 0 4px; border-radius: 12px; background: rgba(255,255,255,.025); border: 1px solid var(--line); }
.vw-sum > div { flex: 1; min-width: 220px; }
.vw-chip { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: rgba(var(--c), .14); color: rgb(var(--c)); border: 1px solid rgba(var(--c), .35); vertical-align: 1px; }
.vw-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--card); margin-bottom: 8px; }
.vw-date { font-weight: 700; min-width: 92px; font-variant-numeric: tabular-nums; }
.vw-first, .vw-re { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 6px; }
.vw-first { background: rgba(245,184,61,.16); color: var(--gold); } .vw-re { background: rgba(180,156,255,.14); color: var(--vi); }
.vw-with { color: var(--tx2); font-size: 13.5px; } .vw-note { color: var(--mu); font-style: italic; font-size: 13.5px; }
.vw-ed { margin-left: auto; }

/* --- Studios / Sender --- */
.stu-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 18px 0 4px; }
.stu-lbl { font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mu); margin-right: 6px; }
.stu-chip { display: inline-flex; align-items: center; gap: 9px; padding: 5px 13px 5px 5px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); font-size: 13.5px; font-weight: 600; transition: border-color .15s, transform .15s; }
.stu-chip:hover { border-color: var(--vi2); transform: translateY(-1px); }
.stu-logo { width: 44px; height: 26px; border-radius: 999px; background: #fff center / contain no-repeat; background-origin: content-box; padding: 3px 6px; flex: none; }
.stu-logo.ph { background: #222838; color: var(--tx2); font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0; }
.stu-more { color: var(--mu); font-size: 13px; }

/* --- Auszeichnungen --- */
.aw-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.aw-chip { display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); }
.aw-logo { width: 30px; height: 30px; border-radius: 8px; background: #fff; object-fit: contain; padding: 3px; flex: none; }
.aw-ico { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex: none; }
.aw-name { font-weight: 700; font-size: 13.5px; } .aw-cnt { color: var(--mu); font-size: 12.5px; }
.aw-list { display: flex; flex-direction: column; gap: 6px; }
.aw-det > summary { list-style: none; cursor: pointer; } .aw-det > summary::-webkit-details-marker { display: none; }
.aw-row { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 12px; background: var(--bg2); border: 1px solid var(--line); transition: border-color .15s; }
.aw-row:hover { border-color: var(--line2); }
.aw-main { flex: 1; min-width: 0; } .aw-title { font-weight: 600; font-size: 14px; } .aw-sub { color: var(--mu); font-size: 12.5px; }
.aw-badge { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.aw-badge.won { background: rgba(245,184,61,.15); color: var(--gold); } .aw-badge.nom { background: rgba(255,255,255,.06); color: var(--tx2); }
.aw-go { color: var(--mu); transition: transform .2s; } .aw-det[open] .aw-go { transform: rotate(90deg); }
.aw-det .lnk-row { padding: 8px 0 6px 54px; }
.aw-imdb { margin-top: 14px; padding: 10px 14px; border-radius: 12px; background: rgba(245,197,24,.07); border: 1px solid rgba(245,197,24,.25); color: var(--tx2); }
.aw-imdb b { color: #f5c518; }
.lnk-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.lnk-btn { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 9px; border-radius: 999px; border: 1px solid var(--line2); background: var(--card); font-size: 13px; font-weight: 600; }
.lnk-btn:hover { border-color: var(--vi2); color: var(--vi); }
.lnk-btn img { width: 18px; height: 18px; border-radius: 4px; }

/* --- Geld & Bewertungen anderer Seiten --- */
.mgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } .mgrid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mtile, .rtile { display: block; padding: 16px 18px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); }
.mtile .k-lbl, .rtile .k-lbl { color: var(--mu); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.m-val { font-family: var(--serif); font-size: 26px; font-weight: 700; margin-top: 4px; letter-spacing: -.01em; }
.mtile.pos { background: rgba(62,207,142,.08); border-color: rgba(62,207,142,.4); } .mtile.pos .m-val { color: var(--green); }
.mtile.neg { background: rgba(255,107,107,.08); border-color: rgba(255,107,107,.4); } .mtile.neg .m-val { color: var(--red); }
.rtile { border-top: 3px solid rgb(var(--c)); transition: transform .15s, border-color .15s; } .rtile:hover { transform: translateY(-2px); }
.rtile .m-val { color: rgb(var(--c)); } .rt-hint { color: var(--mu); font-size: 12px; margin-top: 2px; }

/* --- Verlauf --- */
.hist { display: flex; flex-direction: column; }
.hist-row { display: flex; gap: 16px; padding: 7px 0; border-bottom: 1px solid #1a1f2c; font-size: 14px; } .hist-row:last-child { border: 0; }
.hist-t { color: var(--mu); min-width: 96px; font-variant-numeric: tabular-nums; }

/* --- Kino --- */
.kn-box { display: flex; flex-direction: column; gap: 10px; }
.kn-row { display: flex; gap: 16px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); }
.kn-cin { width: 150px; flex: none; display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 14px; } .kn-cin:hover { color: var(--amber); }
.kn-logo { width: 28px; height: 28px; border-radius: 7px; background: #fff; padding: 2px; }
.kn-days { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 2px; }
.kn-day { flex: none; width: 74px; display: flex; flex-direction: column; gap: 5px; }
.kn-dh { text-align: center; line-height: 1.1; margin-bottom: 2px; } .kn-dh b { display: block; font-size: 13px; } .kn-dh small { color: var(--mu); font-size: 11px; }
.kn-time { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 4px 0; border-radius: 8px; font-size: 13px; font-weight: 600; background: rgba(245,166,35,.12); color: var(--amber); border: 1px solid rgba(245,166,35,.3); }
.kn-time:hover { background: var(--amber); color: #1a1200; }
.kn-time i { font-style: normal; font-size: 10px; font-weight: 800; opacity: .8; }
.kn-none { text-align: center; color: var(--mu2); }

/* --- Verfügbarkeit --- */
.av-list { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }
.av-chip { display: flex; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); transition: border-color .15s, transform .15s; }
.av-chip:hover { border-color: var(--blue); transform: translateY(-1px); }
.av-chip img { width: 34px; height: 34px; border-radius: 9px; flex: none; }
.av-chip b { display: block; font-size: 13.5px; line-height: 1.2; } .av-chip small { display: block; color: var(--mu); font-size: 11.5px; }

/* --- Crew & Cast --- */
.crew-flow { display: flex; flex-wrap: wrap; gap: 22px 28px; margin-bottom: 22px; }
.crew-sec { min-width: 0; } .crew-sec.wide { width: 100%; }
.crew-title { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mu); margin-bottom: 10px; }
.crew-title svg { width: 16px; height: 16px; fill: none; stroke: var(--vi); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.crew-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.crew-sec.wide .crew-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
.crew-card { width: 118px; border-radius: 14px; overflow: hidden; background: var(--card); border: 1px solid var(--line); transition: transform .15s, border-color .15s, box-shadow .15s; display: block; }
.crew-sec.wide .crew-card { width: auto; }
.crew-card:hover { transform: translateY(-3px); border-color: rgba(180,156,255,.45); box-shadow: 0 12px 26px rgba(0,0,0,.45); }
.crew-img { width: 100%; aspect-ratio: 3/4; object-fit: cover; background: #1a1d28; }
.crew-img.ph { display: flex; align-items: center; justify-content: center; color: var(--mu2); } .crew-img.ph .ico { width: 34px; height: 34px; }
.crew-txt { padding: 8px 10px 10px; }
.crew-name { font-weight: 700; font-size: 13px; line-height: 1.25; }
.crew-char { color: var(--mu); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; }

/* --- Staffeln --- */
.se-exp > summary { font-weight: 400; } .se-exp > summary b { font-weight: 700; }
.se-mine { margin-left: 10px; color: var(--gold); font-weight: 700; }
.se-body { display: flex; gap: 16px; align-items: flex-start; } .se-body p { margin: 0 0 10px; color: var(--tx2); font-size: 14px; } .se-body b { color: var(--tx); }
.se-poster { width: 92px; aspect-ratio: 2/3; border-radius: 9px; background: #1a1d28 center / cover; flex: none; }
.se-row { display: grid; grid-template-columns: 44px 1fr auto 118px 38px; gap: 12px; align-items: center; padding: 7px 4px; }
.se-row .sf-img { width: 40px; height: 60px; }
.sf-img.allimg { display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #2a2045, #151225); color: var(--vi); }
.se-name { font-weight: 700; } .se-sub { color: var(--mu); font-size: 12.5px; }
.se-dirt.on { border-color: var(--red); color: var(--red); }
.se-sep { height: 1px; background: var(--line); margin: 4px 0 8px; }
.se-sum { margin: 16px 0 12px; font-family: var(--serif); font-size: 20px; font-weight: 700; color: var(--gold); text-align: center; }
.btn.wide { width: 100%; margin-top: 8px; padding: 13px; }

/* --- Menü neben dem Titel --- */
.menu-stars { display: flex; justify-content: center; margin-bottom: 6px; }

/* --- Formular im Dialog --- */
.vd-row { display: flex; gap: 18px; align-items: flex-end; flex-wrap: wrap; margin: 14px 0 16px; }
.vd-row > div { min-width: 200px; } .vd-row .input { width: 100%; }
.vd-when { min-width: 220px; }
#vd-prec, #vd-place { margin-bottom: 4px; }
.seg.wrap { flex-wrap: wrap; border-radius: 18px; }
.dialog .chips { margin-bottom: 4px; }
.vd-btns { display: flex; gap: 10px; margin-top: 22px; }
input[type="date"].input { color-scheme: dark; }
.tog { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; font-size: 14px; padding: 10px 0; user-select: none; }
.tog input { display: none; }
.tog-ui { width: 40px; height: 22px; border-radius: 999px; background: #252a3a; position: relative; transition: background .2s; flex: none; }
.tog-ui::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--tx); transition: transform .2s; }
.tog input:checked + .tog-ui { background: var(--vi2); } .tog input:checked + .tog-ui::after { transform: translateX(18px); }

@media (max-width: 1200px) { .diary3 { grid-template-columns: 1fr 1fr; } .mgrid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .dgrid { grid-template-columns: 1fr; gap: 24px; } .d-left { position: static; max-width: 340px; }
  .d-backdrop { left: -16px; right: -16px; }
  .diary3, .mgrid { grid-template-columns: 1fr; }
  .se-row { grid-template-columns: 40px 1fr; } .se-row .srate, .se-row .se-dirt { grid-column: 2; }
  .kn-row { flex-direction: column; } .kn-cin { width: auto; flex-direction: row; align-items: center; }
}

/* ===== Personen, Studios, Sender, Listen ===== */
.rank-line { margin: 8px 0 4px; font-size: 14.5px; color: var(--tx2); } .rank-line b { color: var(--tx); }
.rl-num { font-weight: 800; color: rgb(var(--mc)); border-bottom: 2px solid rgba(var(--mc), .5); }
.rl-num:hover { border-bottom-color: rgb(var(--mc)); }
.rl-num.gold { --mc: 245,166,35; } .rl-num.silver { --mc: 180,188,200; } .rl-num.bronze { --mc: 201,128,63; } .rl-num.plain { --mc: 243,234,216; }
.rl-of { color: var(--mu); }
.ring1 { box-shadow: 0 0 0 3px #f5a623, 0 0 24px rgba(245,166,35,.35) !important; } .ring2 { box-shadow: 0 0 0 3px #b4bcc8, 0 0 24px rgba(180,188,200,.25) !important; } .ring3 { box-shadow: 0 0 0 3px #c9803f, 0 0 24px rgba(201,128,63,.3) !important; }
.myr { color: var(--mu); font-weight: 500; font-size: 12.5px; }
.sf-val.pos { color: var(--green); } .sf-val.neg { color: var(--red); }
.more-btn { width: 100%; margin-top: 14px; border: 1px dashed var(--line2); }
.divider { height: 1px; background: var(--line); margin: 30px 0 20px; }
.seg.tabs button { padding: 9px 18px; }

/* Personenseite */
.p-hero { display: grid; grid-template-columns: 240px 1fr; gap: 40px; align-items: start; }
.p-photo { width: 240px; aspect-ratio: 2/3; border-radius: 18px; background: #151821 center / cover no-repeat; box-shadow: 0 30px 60px rgba(0,0,0,.55); }
.p-photo.ph { display: flex; align-items: center; justify-content: center; color: var(--mu2); } .p-photo.ph .ico { width: 60px; height: 60px; }
.p-main h1.t { margin-top: 0; }
.p-facts { color: var(--tx2); line-height: 1.8; } .p-facts b { color: var(--tx); }
.person-bio { margin-top: 16px; color: var(--tx2); line-height: 1.7; max-width: 820px; }
.person-bio.clamp { display: -webkit-box; -webkit-line-clamp: 9; -webkit-box-orient: vertical; overflow: hidden; }
.bio-t { display: none; } .bio-t:checked + .person-bio.clamp { -webkit-line-clamp: unset; display: block; }
.bio-more { display: inline-block; margin-top: 6px; color: var(--vi); font-weight: 700; font-size: 14px; cursor: pointer; }
.bio-more::after { content: "Weiterlesen ›"; } .bio-t:checked ~ .bio-more::after { content: "Weniger anzeigen"; }
.bio-note { margin-top: 10px; color: var(--mu); font-size: 12.5px; font-style: italic; padding-left: 12px; border-left: 2px solid var(--line2); max-width: 820px; }
#p-awards:not(:empty) { margin-top: 10px; }
.p-films-head { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); }
.acts-grid .pc { padding: 10px; }
.acts-stars { display: flex; justify-content: center; margin: 2px 0 4px; } .acts-stars .srate { gap: 6px; }
.pc .acts .btn .ico { width: 15px; height: 15px; }

/* Studio / Sender */
.stu-hero { display: flex; gap: 28px; align-items: center; margin-bottom: 10px; }
.stu-hero h1.t { margin: 0 0 4px; }
.hero-logo { width: 170px; height: 100px; border-radius: 18px; background: #fff center / contain no-repeat; background-origin: content-box; padding: 14px 18px; flex: none; box-shadow: 0 20px 40px rgba(0,0,0,.45); }
.hero-logo.ph { background: #222838; color: var(--tx2); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 32px; font-weight: 700; padding: 0; }
.stu-facts { color: var(--tx2); }
.grid.strip { gap: 18px 14px; }
.grid.strip .pt { font-size: 13px; }
.cf { margin-top: 14px; } .cf-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; } .cf-head .btn { margin-left: auto; }
.cf-x { margin-top: 6px; width: 100%; } .cf-add { margin-top: 14px; max-width: none; }

/* Personen-Übersicht */
.az { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 14px; }
.az-b { min-width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg2); color: var(--tx2); font-weight: 700; cursor: pointer; transition: all .15s; }
.az-b:hover { border-color: var(--vi2); color: var(--tx); } .az-b.on { background: var(--vi); border-color: var(--vi); color: #0d0a18; }
.ppl-tools { align-items: center; } .ppl-search { flex: 1; margin: 0; max-width: none; } .ppl-tools select { min-width: 200px; height: 46px; }
.sg-img.round { width: 34px; height: 34px; border-radius: 50%; }
a.sg { text-decoration: none; }
.pw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr)); gap: 14px; }
.pw { display: flex; align-items: center; gap: 16px; padding: 12px 18px 12px 12px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); transition: border-color .15s, transform .15s; height: 100%; }
.pw:hover { border-color: rgba(180,156,255,.5); transform: translateY(-2px); }
.pw-img { width: 88px; height: 132px; border-radius: 12px; background: #1a1d28 center top / cover no-repeat; flex: none; }
.pw-img.ph { display: flex; align-items: center; justify-content: center; color: var(--tx2); font-weight: 800; font-size: 20px; }
.pw-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pw-name { font-weight: 700; font-size: 17px; line-height: 1.25; } .pw-sub { color: var(--mu); font-size: 12.5px; line-height: 1.35; }
.pw-posters { display: flex; gap: 6px; margin-top: 8px; } .pw-pos { width: 38px; height: 57px; border-radius: 6px; background: #1a1d28 center / cover; flex: none; }
.pw-go { color: var(--mu); font-size: 26px; opacity: .6; flex: none; }
.ptres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* Watchlist / Re-Watch */
.grid.c5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .grid.c6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.grid .pcard { display: flex; flex-direction: column; } .grid .pcard .acts { margin-top: 12px; }
.prov-head { display: flex; align-items: center; gap: 14px; margin: 36px 0 16px; }
.prov-logo { width: 46px; height: 46px; border-radius: 12px; flex: none; object-fit: cover; }
.prov-logo.ph { display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #2a2045, #151225); color: var(--vi); }
.prov-name { font-family: var(--serif); font-weight: 700; font-size: 22px; line-height: 1.1; } .prov-sub { color: var(--mu); font-size: 13px; }
.prov-head .count { margin-left: 4px; }
.prov { display: flex; align-items: center; gap: 5px; height: 30px; margin-top: 8px; overflow: hidden; }
.prov img { width: 26px; height: 26px; border-radius: 7px; }
.prov-chip { font-size: 11px; font-weight: 700; padding: 3px 7px; border-radius: 7px; background: #1d2230; color: var(--tx2); white-space: nowrap; }
.prov-none { color: var(--mu2); font-size: 12px; }
.offer-lbl { font-size: 11.5px; font-weight: 700; color: var(--blue); margin-right: 4px; white-space: nowrap; }
@media (max-width: 1250px) { .grid.c6 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .grid.c5 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .p-hero { grid-template-columns: 1fr; } .p-photo { width: 180px; }
  .stu-hero { flex-direction: column; align-items: flex-start; }
  .grid.c5, .grid.c6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw-grid { grid-template-columns: 1fr; }
}

/* ===== Entdecken, Aktuell, Tagebuch, Einstellungen, Auszeichnungen ===== */
.grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pool-search { max-width: none; margin-top: 4px; }
.pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 16px 0; }
.pager span { min-width: 110px; text-align: center; color: var(--tx2); }
.pager .btn[disabled] { opacity: .35; cursor: default; }
.in-list { text-align: center; margin: 12px 0 0; }
.info.ok { background: rgba(62,207,142,.08); border-color: rgba(62,207,142,.3); }
.single { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 36px; padding: 22px; align-items: start; }
.single-poster { display: block; height: min(calc(100vh - 92px), 820px); min-height: 360px; aspect-ratio: 2/3; border-radius: 16px; background: #151821 center / cover no-repeat; box-shadow: 0 30px 60px rgba(0,0,0,.55); position: relative; }
.single-poster .noimg { position: absolute; inset: 0; }
.single-title { font-size: 36px; margin-bottom: 6px; }
.single-stars { margin: 18px 0 8px; }
.single-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.single-prov { display: flex; align-items: center; gap: 8px; margin: 14px 0 4px; } .single-prov img { width: 30px; height: 30px; border-radius: 8px; }
.dy-month { font-family: var(--serif); font-weight: 700; font-size: 20px; margin: 30px 0 10px; display: flex; align-items: center; gap: 10px; }
.dy-month span { font-family: var(--sans); font-size: 12.5px; color: var(--mu); background: var(--card); border: 1px solid var(--line); padding: 1px 9px; border-radius: 999px; }
.dy-panel { padding: 6px 8px; }
.dy-row { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 12px; transition: background .15s; }
.dy-row:hover { background: #151925; }
.dy-day { width: 36px; text-align: center; flex: none; line-height: 1.1; } .dy-day b { display: block; font-family: var(--serif); font-size: 20px; } .dy-day small { color: var(--mu); font-size: 11px; }
.dy-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.dy-title { font-weight: 700; } .dy-title small { color: var(--mu); font-weight: 500; }
.dy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.settings { max-width: 640px; } .keyrow { display: flex; gap: 8px; } .keyrow .input { flex: 1; }
code { font-family: ui-monospace, Consolas, monospace; font-size: .9em; background: #161a25; padding: 1px 6px; border-radius: 6px; }
.yearnav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin: 24px 0 8px; max-width: 520px; }
.yearnav b { font-family: var(--serif); font-size: 22px; } .yearnav .btn:last-child { justify-self: end; }
.aw-hlogo { background: #f2f2f2; padding: 4px; object-fit: contain; }
.ms-card { display: flex; gap: 18px; margin-top: 16px; } .ms-card img { width: 110px; border-radius: 10px; flex: none; align-self: flex-start; }
@media (max-width: 1250px) { .grid.c4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) { .grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .single { grid-template-columns: 1fr; } .single-poster { height: auto; min-height: 0; width: 100%; max-width: 320px; } }
.pager .btn { width: 42px; height: 36px; padding: 0; }

/* ===== Rückblick ===== */
.yr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.yr-card { position: relative; overflow: hidden; text-align: left; border: 1px solid var(--line2); border-radius: 22px; padding: 26px 26px 22px; min-height: 300px; cursor: pointer; color: var(--tx);
  background: radial-gradient(120% 90% at 100% 0%, rgba(143,115,240,.35), transparent 60%), linear-gradient(160deg, #221a3c, #0e0c18); display: flex; flex-direction: column; gap: 6px; transition: transform .2s, border-color .2s; }
.yr-card:hover { transform: translateY(-4px); border-color: var(--vi); }
.yr-card.all { background: radial-gradient(120% 90% at 100% 0%, rgba(245,184,61,.28), transparent 60%), linear-gradient(160deg, #2a2110, #100d07); }
.yr-num { font-family: var(--serif); font-weight: 900; font-size: 74px; line-height: .95; letter-spacing: -.04em; margin-top: auto; position: relative; z-index: 20; text-shadow: 0 4px 24px rgba(0,0,0,.6); }
.yr-card.all .yr-num { font-size: 52px; }
.yr-stats { color: var(--tx2); font-size: 14px; position: relative; z-index: 20; } .yr-stats b { color: var(--tx); }
.yr-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 700; font-size: 13.5px; color: var(--vi); position: relative; z-index: 20; } .yr-card.all .yr-go { color: var(--gold); }
.yr-go .ico { width: 15px; height: 15px; }
.yr-fan { position: absolute; right: 22px; top: 20px; width: 190px; height: 120px; }
.yr-fan i { position: absolute; right: calc(var(--i) * 30px); top: calc(var(--i) * 4px); width: 66px; height: 99px; border-radius: 8px; background: #1a1d28 center / cover; box-shadow: 0 10px 24px rgba(0,0,0,.55);
  transform: rotate(calc((var(--i) - 2) * 4deg)); opacity: calc(1 - var(--i) * .12); z-index: calc(10 - var(--i)); }

.story { position: fixed; inset: 0; z-index: 160; display: flex; align-items: center; justify-content: center; color: var(--tx); overflow: hidden; animation: fadein .25s ease;
  --g1: #2a1f4d; --g2: #0b0914; --ac: 180,156,255; background: radial-gradient(90% 70% at 85% 10%, rgba(var(--ac), .32), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(var(--ac), .14), transparent 60%), linear-gradient(160deg, var(--g1), var(--g2)); }
.story.t-b { --g1: #0f2240; --g2: #060b16; --ac: 110,168,255; } .story.t-c { --g1: #3a2a0c; --g2: #120d04; --ac: 245,184,61; } .story.t-d { --g1: #3d1430; --g2: #12060f; --ac: 255,140,190; }
.story.t-e { --g1: #3b0f12; --g2: #120506; --ac: 255,107,107; } .story.t-f { --g1: #0d3532; --g2: #04110f; --ac: 79,209,197; } .story.t-g { --g1: #1d1a4d; --g2: #08071a; --ac: 150,140,255; }
.story.t-h, .story.t-i { --g1: #351a3d; --g2: #100812; --ac: 220,150,255; } .story.t-j { --g1: #1f2633; --g2: #090b10; --ac: 200,210,230; } .story.t-k { --g1: #0f3322; --g2: #04110b; --ac: 62,207,142; }
.story.t-l { --g1: #3d2208; --g2: #130b03; --ac: 245,166,35; } .story.t-m { --g1: #3d1626; --g2: #12070c; --ac: 255,120,160; } .story.t-n { --g1: #10284a; --g2: #050c18; --ac: 120,180,255; }
.story.t-o { --g1: #33270f; --g2: #100c05; --ac: 230,200,140; } .story.t-p { --g1: #24184a; --g2: #0a0716; --ac: 180,156,255; }
.st-loading { display: flex; flex-direction: column; align-items: center; gap: 14px; font-family: var(--serif); font-size: 22px; color: var(--tx2); }
.st-loading .ico { width: 44px; height: 44px; color: var(--vi); animation: spin 2.4s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }
.st-bars-top { position: absolute; top: 16px; left: 24px; right: 140px; display: flex; gap: 5px; z-index: 3; }
.st-bars-top i { flex: 1; height: 4px; border-radius: 4px; background: rgba(255,255,255,.18); overflow: hidden; } .st-bars-top i.done { background: rgba(255,255,255,.75); } .st-bars-top i.on { background: rgba(255,255,255,.32); }
.st-bars-top i b { display: block; height: 100%; width: 0; background: rgb(var(--ac)); border-radius: 4px; }
.story.paused .st-bars-top i.on b { width: 100% !important; opacity: .75; }
.st-x, .st-pp { z-index: 3; }
.st-pp { position: absolute; top: 10px; right: 74px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.3); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.st-pp svg { width: 20px; height: 20px; fill: currentColor; stroke: none; }
.st-x { position: absolute; top: 10px; right: 18px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.3); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.st-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.28); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.st-nav.prev { left: 24px; } .st-nav.next { right: 24px; } .st-nav[disabled] { opacity: .2; cursor: default; } .st-nav .ico { width: 24px; height: 24px; }
.st-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.45); font-size: 13px; font-weight: 600; }
.st-slide { width: min(860px, calc(100% - 180px)); max-height: calc(100vh - 110px); overflow-y: auto; text-align: center; animation: stin .45s cubic-bezier(.2,.8,.2,1); padding: 10px; }
@keyframes stin { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.st-kicker { font-size: 13px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; color: rgb(var(--ac)); margin-bottom: 14px; }
.st-title { font-family: var(--serif); font-weight: 900; font-size: clamp(34px, 4.6vw, 64px); line-height: 1; letter-spacing: -.03em; margin: 0 0 22px; }
.st-title.sm { font-size: clamp(26px, 3vw, 40px); } .st-title em { font-style: italic; color: rgb(var(--ac)); }
.st-big { font-family: var(--serif); font-weight: 900; font-size: clamp(90px, 13vw, 180px); line-height: .9; letter-spacing: -.05em; background: linear-gradient(180deg, #fff, rgb(var(--ac))); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-cap { font-family: var(--serif); font-weight: 700; font-size: clamp(22px, 2.4vw, 32px); margin-top: 6px; } .st-sub { color: var(--tx2); font-size: 16px; margin-top: 8px; }
.st-note { color: var(--tx2); font-size: 16px; margin-top: 14px; } .st-note b { color: var(--tx); }
.st-split { display: flex; justify-content: center; gap: 18px; margin: 26px 0 6px; flex-wrap: wrap; }
.st-split > div { min-width: 150px; padding: 16px 22px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.st-split b { display: block; font-family: var(--serif); font-size: 40px; line-height: 1; } .st-split small { color: var(--tx2); font-size: 14px; }
.st-split.big b { font-size: clamp(56px, 7vw, 96px); } .st-split.big > div { min-width: 200px; padding: 22px 30px; }
.st-bars { max-width: 620px; margin: 18px auto 0; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.st-bar { display: grid; grid-template-columns: 150px 1fr 110px; gap: 14px; align-items: center; font-size: 15px; }
.st-bl { color: var(--tx); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .st-bv { color: var(--tx2); text-align: right; font-variant-numeric: tabular-nums; }
.st-bt { height: 14px; border-radius: 10px; background: rgba(255,255,255,.08); overflow: hidden; } .st-bt i { display: block; height: 100%; border-radius: 10px; background: linear-gradient(90deg, rgba(var(--ac), .55), rgb(var(--ac))); animation: grow 2.6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--k, 0) * 450ms + 2.2s); transform-origin: left; }
@keyframes grow { from { transform: scaleX(0); } }
.st-poster { display: block; aspect-ratio: 2/3; border-radius: 12px; background: #1a1d28 center / cover; box-shadow: 0 20px 44px rgba(0,0,0,.55); position: relative; }
.st-poster span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 8px; font-family: var(--serif); font-size: 13px; color: var(--tx2); }
.st-collage { display: flex; justify-content: center; align-items: flex-end; margin: 0 0 26px; height: 210px; }
.st-collage .st-poster { width: 118px; margin: 0 -14px; transition: transform .3s; } .st-collage .c0 { transform: rotate(-9deg) translateY(16px); } .st-collage .c1 { transform: rotate(-4deg) translateY(4px); z-index: 2; }
.st-collage .c2 { width: 140px; z-index: 3; } .st-collage .c3 { transform: rotate(4deg) translateY(4px); z-index: 2; } .st-collage .c4 { transform: rotate(9deg) translateY(16px); }
.st-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 140px)); justify-content: center; gap: 18px 16px; }
.st-row3 { display: flex; justify-content: center; gap: 22px; flex-wrap: wrap; } .st-row3 .st-gi { width: 170px; }
.st-gi { display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 13.5px; line-height: 1.25; } .st-gi small { color: rgb(var(--ac)); font-weight: 700; }
.st-people { display: flex; flex-direction: column; gap: 10px; max-width: 520px; margin: 0 auto; text-align: left; }
.st-person { display: flex; align-items: center; gap: 16px; padding: 10px 14px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); transition: background .15s; }
.st-person:hover { background: rgba(255,255,255,.1); }
.st-person.first { background: rgba(var(--ac), .14); border-color: rgba(var(--ac), .45); }
.st-face { width: 56px; height: 84px; border-radius: 10px; background: #1a1d28 center top / cover; flex: none; } .st-person.first .st-face { width: 72px; height: 108px; }
.st-logo { width: 96px; height: 54px; border-radius: 10px; background: #fff center / contain no-repeat; background-origin: content-box; padding: 6px 10px; flex: none; color: #222; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.st-pn b { display: block; font-size: 17px; } .st-person.first .st-pn b { font-family: var(--serif); font-size: 24px; } .st-pn small { color: var(--tx2); }
.st-close-btn { margin-top: 28px; }
@media (max-width: 960px) { .st-slide { width: calc(100% - 32px); } .st-nav { display: none; } .st-bar { grid-template-columns: 90px 1fr 70px; } .yr-grid { grid-template-columns: 1fr; } }
.sg-all { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 10px; color: var(--vi); } .sg-all .ico { width: 18px; height: 18px; margin: 0 6px 0 6px; }
.pool-search .sgbox { max-height: min(70vh, 640px); overflow-y: auto; }

.se-clr { width: 38px; height: 34px; padding: 0; } .se-clr:hover { color: var(--red); }

/* Filmografie auf der Personenseite */
.fo-exp { margin-top: 26px; }
.fo-tools { margin-bottom: 10px; } .fo-tools select { min-width: 190px; }
.fo-list { display: flex; flex-direction: column; gap: 2px; max-height: 620px; overflow-y: auto; padding-right: 6px; }
.fo-year { display: grid; grid-template-columns: 96px 1fr; gap: 14px; padding: 10px 0; border-top: 1px solid #1a1f2c; } .fo-year:first-child { border-top: 0; }
.fo-y { font-family: var(--serif); font-weight: 700; font-size: 20px; color: var(--tx2); padding-top: 6px; }
.fo-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 6px 14px; }
.fo-row { display: flex; align-items: center; gap: 12px; padding: 6px 8px; border-radius: 10px; transition: background .15s; min-width: 0; }
.fo-row:hover { background: #151925; }
.fo-p { width: 40px; height: 60px; border-radius: 6px; background: #1a1d28 center / cover; flex: none; }
.fo-m { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fo-t { font-weight: 700; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo-tv { font-size: 10.5px; font-weight: 800; color: var(--teal); text-transform: uppercase; letter-spacing: .06em; margin-left: 4px; }
.fo-r { color: var(--mu); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo-b { flex: none; font-size: 11.5px; font-weight: 800; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.fo-b.w { color: var(--gold); background: rgba(245,184,61,.12); } .fo-b.wl { color: var(--blue); background: rgba(110,168,255,.12); } .fo-b.rw { color: var(--vi); background: rgba(180,156,255,.12); }

/* Rückblick: Bewegung */
.yr-acts { display: flex; gap: 16px; flex-wrap: wrap; position: relative; z-index: 20; }
.yr-go { cursor: pointer; } .yr-go:hover { text-decoration: underline; } .yr-go.play { color: var(--gold); }
.st-slide { position: relative; z-index: 2; animation: none; }
.st-slide > * { opacity: 0; animation: strise 1.9s cubic-bezier(.2,.7,.2,1) forwards; }
.st-slide > *:nth-child(1) { animation-delay: .2s; } .st-slide > *:nth-child(2) { animation-delay: .9s; } .st-slide > *:nth-child(3) { animation-delay: 1.6s; }
.st-slide > *:nth-child(4) { animation-delay: 2.3s; } .st-slide > *:nth-child(5) { animation-delay: 3s; } .st-slide > *:nth-child(6) { animation-delay: 3.6s; } .st-slide > *:nth-child(n+7) { animation-delay: 4.2s; }
@keyframes strise { from { opacity: 0; transform: translateY(26px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
.st-big { animation: strise 1.9s cubic-bezier(.2,.7,.2,1) forwards, stglow 4.5s ease-in-out 3s infinite alternate !important; }
@keyframes stglow { from { filter: drop-shadow(0 0 0 rgba(var(--ac), 0)); } to { filter: drop-shadow(0 0 28px rgba(var(--ac), .55)); } }
.st-grid > *, .st-row3 > *, .st-people > *, .st-bars > *, .st-split > * { opacity: 0; animation: stpop 1.5s cubic-bezier(.2,.8,.3,1.05) forwards; animation-delay: calc(var(--k, 0) * 450ms + 1.8s); }
@keyframes stpop { from { opacity: 0; transform: translateY(18px) scale(.92); } to { opacity: 1; transform: none; } }
.st-people > * { animation-name: stslide; } @keyframes stslide { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }
.st-collage .st-poster { animation: stdeal 2.2s cubic-bezier(.2,.8,.3,1) both; animation-delay: calc(var(--k, 0) * 650ms + 1.2s); }
@keyframes stdeal { from { opacity: 0; translate: 0 120px; scale: .6; } to { opacity: 1; translate: 0 0; scale: 1; } }
.st-grid .st-poster:hover, .st-row3 .st-poster:hover { transform: translateY(-6px) rotate(-1.5deg); transition: transform .25s; }
.st-bgfx { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.st-bgfx i { position: absolute; width: 46vmax; height: 46vmax; border-radius: 50%; background: radial-gradient(circle, rgba(var(--ac), .22), transparent 65%); filter: blur(10px); animation: stdrift 18s ease-in-out infinite alternate; }
.st-bgfx i:nth-child(1) { left: -12vmax; top: -16vmax; } .st-bgfx i:nth-child(2) { right: -14vmax; bottom: -18vmax; animation-duration: 22s; animation-delay: -6s; }
.st-bgfx i:nth-child(3) { left: 30%; top: 40%; width: 30vmax; height: 30vmax; opacity: .6; animation-duration: 26s; animation-delay: -12s; }
@keyframes stdrift { from { transform: translate(0, 0) scale(1); } to { transform: translate(8vmax, 6vmax) scale(1.25); } }
.st-sparkles { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: hidden; }
.st-sparkles i { position: absolute; bottom: -30px; font-style: normal; color: rgb(var(--ac)); opacity: 0; font-size: calc(18px * var(--s, 1)); animation: stfloat 7s linear infinite; text-shadow: 0 0 12px rgba(var(--ac), .8); }
@keyframes stfloat { 0% { opacity: 0; transform: translateY(0) rotate(0); } 10% { opacity: .8; } 80% { opacity: .5; } 100% { opacity: 0; transform: translateY(-105vh) rotate(220deg); } }
.story.paused .st-sparkles i, .story.paused .st-bgfx i { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .st-slide > *, .st-grid > *, .st-people > *, .st-bars > *, .st-split > *, .st-collage .st-poster { animation: none !important; opacity: 1 !important; } .st-bgfx, .st-sparkles { display: none; } }

/* Detailbewertung */
.dt-exp { margin-top: 12px; }
.dt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 4px 28px; }
.dt-row { display: grid; grid-template-columns: 140px max-content 34px; justify-content: start; align-items: center; gap: 10px; padding: 4px 0; }
.dt-l { font-weight: 700; font-size: 14px; color: var(--tx2); }
.dt-x { width: 30px; height: 28px; padding: 0; justify-self: start; }

/* Meine Abos (Etappe 7) */
.mine-tag { display: inline-block; margin-left: 10px; padding: 2px 8px; border-radius: 999px; font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .02em; vertical-align: middle;
  background: rgba(62, 207, 142, .14); color: var(--green); border: 1px solid rgba(62, 207, 142, .35); }
.prov img.mine, .single-prov img.mine { box-shadow: 0 0 0 2px var(--green); }
.prov-chip.mine { background: rgba(62, 207, 142, .16); color: var(--green); }
.prov-head.mine .prov-logo { box-shadow: 0 0 0 2px var(--green), 0 0 18px rgba(62, 207, 142, .25); }
.av-chip.mine { border-color: rgba(62, 207, 142, .6); background: linear-gradient(135deg, rgba(62, 207, 142, .12), var(--card) 70%); }
.av-chip.mine small { color: var(--green); font-weight: 700; }
.single-prov .mine-tag { margin-left: 2px; }
.subs-head { display: flex; align-items: flex-start; gap: 14px; justify-content: space-between; }
.subs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.sub-tile { position: relative; display: flex; align-items: center; gap: 9px; padding: 7px 10px 7px 7px; border-radius: 12px; background: var(--card2); border: 1px solid var(--line); color: var(--tx2);
  font: inherit; font-size: 13px; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; min-width: 0; }
.sub-tile:hover { border-color: var(--line2); color: var(--tx); }
.sub-tile img, .sub-tile .sub-ph { width: 30px; height: 30px; border-radius: 8px; flex: none; }
.sub-tile .sub-ph { display: grid; place-items: center; background: #1d2230; font-weight: 700; }
.sub-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.sub-check { display: none; color: var(--green); flex: none; } .sub-check svg { width: 16px; height: 16px; }
.sub-tile.on { border-color: rgba(62, 207, 142, .6); background: rgba(62, 207, 142, .1); color: var(--tx); }
.sub-tile.on .sub-check { display: block; }

/* Eigene Listen (Etappe 9) */
.cl-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 4px; }
.cl-chip { padding: 5px 12px; border-radius: 999px; background: rgba(180, 156, 255, .12); border: 1px solid rgba(180, 156, 255, .35); color: var(--tx); font-size: 13px; font-weight: 600; }
.cl-chip:hover { border-color: var(--vi); }
.cl-rows { display: flex; flex-direction: column; gap: 6px; }
.cl-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); cursor: pointer; }
.cl-row:hover { border-color: var(--line2); }
.cl-row input { width: 18px; height: 18px; accent-color: var(--vi); cursor: pointer; flex: none; }
.cl-row .cl-nm { flex: 1; font-weight: 600; }
.cl-new { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.cl-new .keyrow { display: flex; gap: 10px; } .cl-new .keyrow .input { flex: 1; }
.cl-emojis { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cl-emojis button { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--line); background: var(--card); color: var(--mu); font-size: 18px; cursor: pointer; line-height: 1; }
.cl-emojis button.on { border-color: var(--vi); background: rgba(180, 156, 255, .15); color: var(--tx); }
.cl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 22px; margin-top: 24px; }
.cl-tile { display: block; text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 12px 12px 16px; color: var(--tx); font: inherit; cursor: pointer; transition: transform .15s, border-color .15s; }
.cl-tile:hover { transform: translateY(-3px); border-color: var(--vi2); }
.cl-mosaic { display: grid; gap: 4px; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--bg2); }
.cl-mosaic.n2, .cl-mosaic.n3, .cl-mosaic.n4 { grid-template-columns: 1fr 1fr; }
.cl-mosaic.n3 span:first-child { grid-row: span 2; }
.cl-mosaic span { background: center/cover no-repeat; }
.cl-mosaic .cl-empty { display: grid; place-items: center; font-size: 46px; color: var(--mu); }
.cl-mosaic .cl-empty svg { width: 46px; height: 46px; }
.cl-add .cl-mosaic { border: 2px dashed var(--line2); background: transparent; }
.cl-tname { margin-top: 12px; font-family: var(--serif); font-weight: 700; font-size: 18px; line-height: 1.25; }
.cl-tsub { color: var(--mu); font-size: 13px; margin-top: 2px; }
.cl-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: space-between; }
.cl-hacts { display: flex; gap: 8px; }
.cl-hemo { margin-right: 12px; }
.pc .cl-rm { width: 100%; margin-top: 8px; justify-content: center; }

/* Eigene Listen: Symbole statt Emojis */
.cl-ic { --c: 180,156,255; display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px; vertical-align: middle;
  background: linear-gradient(145deg, rgba(var(--c), .26), rgba(var(--c), .1)); color: rgb(var(--c)); box-shadow: inset 0 0 0 1px rgba(var(--c), .35); }
.cl-ic svg { width: 58%; height: 58%; }
.cl-ic.xs { width: 20px; height: 20px; border-radius: 6px; margin-right: 6px; }
.cl-ic.sm { width: 26px; height: 26px; border-radius: 8px; margin-right: 8px; }
.cl-ic.lg { width: 54px; height: 54px; border-radius: 16px; margin-right: 16px; }
.cl-ic.xl { width: 96px; height: 96px; border-radius: 28px; box-shadow: inset 0 0 0 1px rgba(var(--c), .35), 0 10px 40px rgba(var(--c), .18); }
.cl-ic.cl-txt { background: var(--card2); box-shadow: inset 0 0 0 1px var(--line2); font-size: 15px; }
.cl-ic.lg.cl-txt { font-size: 30px; } .cl-ic.xl.cl-txt { font-size: 50px; }
.cl-chip { display: inline-flex; align-items: center; padding-left: 5px; }
.cl-tname { display: flex; align-items: center; }
.cl-head h1 { display: flex; align-items: center; }
.cl-mosaic .cl-empty { background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.03), transparent 70%); }
.cl-pick { margin-top: 10px; }
.cl-icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 6px; }
.cl-icons button { aspect-ratio: 1; border-radius: 11px; border: 1px solid var(--line); background: var(--card); color: var(--mu); cursor: pointer; display: grid; place-items: center; transition: color .15s, border-color .15s, background .15s; }
.cl-icons button svg { width: 20px; height: 20px; }
.cl-icons button:hover { color: var(--tx); border-color: var(--line2); }
.cl-icons button.on { color: rgb(var(--c)); border-color: rgba(var(--c), .7); background: rgba(var(--c), .14); }
.cl-colors { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.cl-colors button { width: 26px; height: 26px; border-radius: 50%; border: 2px solid transparent; background: rgb(var(--dot)); cursor: pointer; box-shadow: inset 0 0 0 2px rgba(0,0,0,.25); }
.cl-colors button.on { border-color: var(--tx); box-shadow: 0 0 0 2px var(--bg2) inset; }
.cl-ic svg, .cl-icons svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.cl-ic.xl svg { stroke-width: 1.6; }

/* Duell-Modus */
.du-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.du-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: var(--card); border: 1px solid var(--line); color: var(--tx2); font-weight: 600; font-size: 14px; }
.du-tab svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.du-tab:hover { color: var(--tx); border-color: var(--line2); }
.du-tab.on { color: var(--tx); border-color: var(--vi2); background: linear-gradient(135deg, rgba(180,156,255,.22), rgba(180,156,255,.06)); }
.du-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.du-blind { margin: 0; }
.du-arena { display: grid; grid-template-columns: 1fr 74px 1fr; align-items: stretch; gap: 0; }
.du-vs { display: grid; place-items: center; }
.du-vs span { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-weight: 800; font-size: 20px; color: var(--gold);
  background: radial-gradient(circle, rgba(245,184,61,.2), rgba(245,184,61,.04)); border: 1px solid rgba(245,184,61,.45); box-shadow: 0 0 30px rgba(245,184,61,.18); }
.du-card { display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 22px; transition: transform .35s, opacity .35s, border-color .3s, box-shadow .3s; min-width: 0; }
.du-card:hover { border-color: var(--line2); }
.du-card.won { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(245,184,61,.5), 0 20px 60px rgba(245,184,61,.18); transform: scale(1.02); }
.du-card.lost { opacity: .35; transform: scale(.97); }
.du-pimg { display: block; width: min(260px, 100%); aspect-ratio: 2/3; border-radius: 16px; background: var(--bg2) center/cover no-repeat; box-shadow: 0 18px 40px rgba(0,0,0,.45); position: relative; }
.du-pimg.du-face { aspect-ratio: 4/5; }
.du-pimg.blind { background: radial-gradient(circle at 50% 40%, rgba(180,156,255,.25), transparent 65%), var(--bg2); display: grid; place-items: center; }
.du-q { display: grid; place-items: center; color: var(--vi); } .du-q svg { width: 64px; height: 64px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.du-name { display: block; margin-top: 14px; font-family: var(--serif); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--tx); }
.du-sub { display: block; color: var(--mu); font-size: 13.5px; margin-top: 3px; }
.du-person { display: flex; align-items: center; gap: 14px; align-self: stretch; text-align: left; margin-bottom: 14px; }
.du-person .du-name { margin-top: 0; }
.du-avatar { width: 64px; height: 64px; border-radius: 50%; flex: none; background: var(--bg2) center/cover no-repeat; display: grid; place-items: center; color: var(--mu); box-shadow: 0 0 0 2px var(--line2); }
.du-avatar svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.du-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; align-self: stretch; margin-top: 14px; }
.du-strip a { aspect-ratio: 2/3; border-radius: 9px; background: var(--bg2) center/cover no-repeat; transition: transform .15s; }
.du-strip a:hover { transform: translateY(-2px); }
.du-shots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-self: stretch; }
.du-shots button { aspect-ratio: 16/9; border: 0; border-radius: 10px; background: var(--bg2) center/cover no-repeat; cursor: zoom-in; transition: transform .15s, box-shadow .15s; }
.du-shots button:hover { transform: scale(1.03); box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.du-shots button:only-child { grid-column: span 2; }
.du-cap { align-self: stretch; text-align: left; margin: 8px 0 0; }
.du-audio { align-self: stretch; text-align: left; margin-top: 16px; padding: 14px; border-radius: 14px; background: var(--bg2); border: 1px solid var(--line); }
.du-alb { display: flex; align-items: center; gap: 8px; color: var(--tx2); font-size: 13px; margin-bottom: 10px; }
.du-alb svg { width: 16px; height: 16px; flex: none; color: var(--vi); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.du-tracks { display: flex; flex-direction: column; gap: 6px; }
.du-tr { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--tx2); min-width: 0; }
.du-tr span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.du-play { width: 34px; height: 34px; flex: none; border-radius: 50%; border: 1px solid rgba(180,156,255,.5); background: rgba(180,156,255,.12); color: var(--vi); cursor: pointer; display: grid; place-items: center; transition: background .15s, transform .15s; }
.du-play svg { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.du-play:hover { transform: scale(1.08); background: rgba(180,156,255,.22); }
.du-play.on { background: var(--vi); color: var(--bg); box-shadow: 0 0 18px rgba(180,156,255,.5); }
.du-yt { margin-top: 10px; }
.du-foot { margin-top: auto; padding-top: 18px; align-self: stretch; }
.du-win { width: 100%; justify-content: center; }
.du-card kbd, .du-more kbd { margin-left: 8px; padding: 1px 6px; border-radius: 5px; font: 600 11px var(--sans); background: rgba(0,0,0,.25); opacity: .75; }
.du-more { display: flex; justify-content: center; gap: 10px; margin: 18px 0 8px; }
.du-rhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 34px 0 12px; flex-wrap: wrap; }
.du-rhead h2 { margin: 0; }
.du-rlist { padding: 8px 10px; }
.du-rrow { display: grid; grid-template-columns: 34px 44px 1fr auto 64px; align-items: center; gap: 12px; padding: 8px 8px; border-radius: 12px; color: var(--tx); }
.du-rrow:hover { background: var(--card2); }
.du-rk { font-family: var(--serif); font-weight: 700; color: var(--mu); text-align: center; }
.du-rk.m1 { color: var(--gold); } .du-rk.m2 { color: #cfd6e4; } .du-rk.m3 { color: #d39a6a; }
.du-rimg { width: 44px; height: 62px; border-radius: 8px; background: var(--bg2) center/cover no-repeat; }
.du-rimg.round { height: 44px; border-radius: 50%; }
.du-rname { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .du-rname small { color: var(--mu); font-weight: 400; }
.du-rwl { color: var(--mu); font-size: 12.5px; white-space: nowrap; }
.du-relo { font-family: var(--serif); font-weight: 700; color: var(--gold); text-align: right; font-size: 17px; }
@media (max-width: 900px) { .du-arena { grid-template-columns: 1fr; gap: 12px; } .du-vs span { width: 46px; height: 46px; font-size: 16px; } }
.du-score .du-pimg, .du-mus .du-pimg { width: min(190px, 100%); }

/* Duell: ganze Karte anklickbar, Lautstärke, Bilder ausblenden */
.du-card { position: relative; cursor: pointer; outline: none; }
.du-card:hover, .du-card:focus-visible { border-color: rgba(180,156,255,.65); box-shadow: 0 0 0 1px rgba(180,156,255,.35), 0 18px 50px rgba(143,115,240,.18); transform: translateY(-3px); }
.du-card:hover .du-pick { background: linear-gradient(135deg, var(--vi), var(--vi2)); color: #120d24; border-color: transparent; }
.du-pick { align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px; border-radius: 14px;
  border: 1px dashed var(--line2); color: var(--tx2); font-weight: 700; font-size: 14px; transition: background .2s, color .2s; margin-top: auto; }
.du-pick > span { display: inline-flex; align-items: center; gap: 8px; } .du-pick svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.du-pick kbd { margin-left: 4px; }
.du-open { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--mu); background: var(--card2); border: 1px solid var(--line); z-index: 2; }
.du-open:hover { color: var(--tx); border-color: var(--line2); }
.du-open svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.du-strip span { aspect-ratio: 2/3; border-radius: 9px; background: var(--bg2) center/cover no-repeat; }
.du-shot { position: relative; aspect-ratio: 16/9; border-radius: 10px; background: var(--bg2) center/cover no-repeat; cursor: zoom-in; transition: transform .15s, box-shadow .15s; }
.du-shot:hover { transform: scale(1.03); box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.du-shot:only-child { grid-column: span 2; }
.du-x { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: 8px; border: 0; background: rgba(8,9,12,.72); color: #fff; cursor: pointer; display: grid; place-items: center; opacity: 0; transition: opacity .15s; }
.du-shot:hover .du-x { opacity: 1; } .du-x:hover { background: var(--red); }
.du-x svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.du-audio { cursor: default; }
.du-tr small { color: var(--mu); }
.du-vol { display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px; border-radius: 999px; background: var(--card); border: 1px solid var(--line); cursor: default; }
.du-vico svg { width: 18px; height: 18px; display: block; color: var(--tx2); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.du-vol input { width: 140px; accent-color: var(--vi); cursor: pointer; }
.du-vnum { min-width: 26px; text-align: right; color: var(--mu); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.du-bar { gap: 12px 18px; } .du-bar > .note { margin-right: auto; }

.du-card > .du-pick { margin-top: auto; } .du-card > :nth-last-child(2) { margin-bottom: 18px; }

/* Abspiel-Knopf: Dreieck optisch mittig */
.du-play .ico { width: 14px; height: 14px; display: grid; place-items: center; margin: 0; }
.du-play .ico svg { width: 14px; height: 14px; display: block; }
.du-play:not(.on) .ico { transform: translateX(1.5px); }

/* Spiele: Score-Quiz */
.du-tab.soon { opacity: .55; cursor: default; border-style: dashed; }
.du-tab .ico { width: 17px; height: 17px; }
.sq-intro { margin: -8px 0 18px; }
.sq { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 28px; align-items: start; }
.sq-left { display: flex; flex-direction: column; gap: 16px; }
.sq-cover { aspect-ratio: 2/3; border-radius: 20px; background: var(--bg2) center/cover no-repeat; box-shadow: 0 24px 60px rgba(0,0,0,.5); position: relative; overflow: hidden; border: 1px solid var(--line); }
.sq-cover.blind { display: grid; place-items: center; background-color: #0d0b18; background-image: radial-gradient(circle at 50% 40%, rgba(180,156,255,.28), transparent 62%); }
.sq-cover.blur { background-size: cover; background-position: center; }
.sq-cover.blur::before { content: ""; position: absolute; inset: -20px; background: inherit; filter: blur(22px) saturate(1.2); }
.sq-cover.blur .sq-eq { position: relative; }
.sq-eq { display: flex; align-items: flex-end; gap: 7px; height: 90px; }
.sq-eq i { width: 9px; border-radius: 5px; background: linear-gradient(var(--vi), var(--vi2)); animation: sqeq 1.1s ease-in-out infinite; }
.sq-eq i:nth-child(2) { animation-delay: -.2s } .sq-eq i:nth-child(3) { animation-delay: -.45s } .sq-eq i:nth-child(4) { animation-delay: -.7s }
.sq-eq i:nth-child(5) { animation-delay: -.3s } .sq-eq i:nth-child(6) { animation-delay: -.85s } .sq-eq i:nth-child(7) { animation-delay: -.55s }
@keyframes sqeq { 0%, 100% { height: 18%; } 50% { height: 100%; } }
.sq-loading { display: grid; place-items: center; gap: 14px; padding: 80px 0; }
.sq-tracks { display: flex; flex-direction: column; gap: 8px; }
.sq-row { display: flex; align-items: center; gap: 12px; }
.sq-trk.locked { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px dashed var(--line2); color: var(--mu2); }
.sq-trk.locked .ico { width: 14px; height: 14px; }
.sq-tname { font-weight: 600; } .sq-tname.muted { color: var(--mu2); font-weight: 500; }
.sq-left .du-vol { align-self: flex-start; }
.sq-lead { font-family: var(--serif); font-size: 26px; font-weight: 700; margin: 4px 0 14px; } .sq-lead .muted { font-family: var(--sans); font-size: 14px; font-weight: 500; margin-left: 10px; color: var(--mu); }
.sq-search { margin: 0; }
.sq-acts { display: flex; gap: 10px; margin: 14px 0 22px; }
.sq-tries { display: flex; flex-direction: column; gap: 8px; }
.sq-try { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); color: var(--tx2); }
.sq-try .sq-n { width: 22px; color: var(--mu2); font-weight: 700; }
.sq-try > span:nth-child(2) { flex: 1; }
.sq-try .ico { width: 18px; height: 18px; }
.sq-try.bad { border-color: rgba(255,107,107,.35); background: rgba(255,107,107,.06); } .sq-try.bad .ico { color: var(--red); }
.sq-try.ok { border-color: rgba(62,207,142,.55); background: rgba(62,207,142,.1); color: var(--tx); } .sq-try.ok .ico { color: var(--green); }
.sq-hints { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 18px; }
.sq-hint { padding: 12px 14px; border-radius: 12px; background: linear-gradient(135deg, rgba(245,184,61,.12), rgba(245,184,61,.03)); border: 1px solid rgba(245,184,61,.3); animation: sqin .4s ease both; }
.sq-hint span { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); } .sq-hint b { display: block; margin-top: 3px; }
@keyframes sqin { from { opacity: 0; transform: translateY(6px); } }
.sq-result { padding: 22px; border-radius: 18px; background: var(--card); border: 1px solid var(--line); margin-bottom: 18px; animation: sqin .4s ease both; }
.sq-result.won { border-color: rgba(62,207,142,.55); box-shadow: 0 0 40px rgba(62,207,142,.12); } .sq-result.lost { border-color: rgba(255,107,107,.4); }
.sq-rhead { font-weight: 700; color: var(--tx2); margin-bottom: 6px; }
.sq-film { display: block; font-family: var(--serif); font-size: 30px; font-weight: 700; color: var(--tx); line-height: 1.15; } .sq-film span { color: var(--mu); font-weight: 400; }
.sq-result kbd { margin-left: 8px; padding: 1px 6px; border-radius: 5px; font: 600 11px var(--sans); background: rgba(0,0,0,.25); }
.sq-stats { margin: 0 0 18px; padding: 18px; border-radius: 18px; background: var(--card); border: 1px solid var(--line); }
.sq-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; text-align: center; margin-bottom: 14px; }
.sq-kpis b { display: block; font-family: var(--serif); font-size: 26px; } .sq-kpis span { font-size: 12px; color: var(--mu); }
.sq-dist { display: flex; flex-direction: column; gap: 5px; }
.sq-bar { display: grid; grid-template-columns: 18px 1fr 30px; align-items: center; gap: 8px; font-size: 12.5px; color: var(--mu); }
.sq-bar i { display: block; height: 14px; border-radius: 4px; background: linear-gradient(90deg, var(--vi2), var(--vi)); } .sq-bar em { font-style: normal; text-align: right; }
@media (max-width: 900px) { .sq { grid-template-columns: 1fr; } .sq-cover { max-width: 300px; } }
.sq-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.sq-loop { margin: 0; font-size: 13.5px; }
.sq-racts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.gm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 20px; }
.gm-card { padding: 20px; border-radius: 20px; background: var(--card); border: 1px solid var(--line); }
.gm-card .sq-stats { margin: 16px 0 0; background: var(--bg2); }
.gm-head { display: flex; align-items: center; gap: 14px; }
.gm-head > div { flex: 1; min-width: 0; }
.gm-ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; flex: none; color: var(--vi); background: linear-gradient(145deg, rgba(180,156,255,.25), rgba(180,156,255,.08)); box-shadow: inset 0 0 0 1px rgba(180,156,255,.35); }
.gm-ico .ico { width: 24px; height: 24px; }
.gm-name { font-family: var(--serif); font-size: 21px; font-weight: 700; }
.gm-soon { border-style: dashed; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; opacity: .7; }
.du-modes .du-tabs { margin-top: 0; }
.du-modes .du-tab { padding: 7px 13px; font-size: 13px; background: transparent; }
.du-modes .du-tab.on { background: linear-gradient(135deg, rgba(245,184,61,.2), rgba(245,184,61,.05)); border-color: rgba(245,184,61,.55); }
.gm-duel { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; }
.gm-dm { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; background: var(--bg2); color: var(--tx); }
.gm-dm:hover { background: var(--card2); }
.gm-dl { font-weight: 700; font-size: 13.5px; color: var(--tx2); }
.gm-lead { display: flex; align-items: center; gap: 10px; min-width: 0; } .gm-lead > span:last-child { min-width: 0; }
.gm-lead b { display: block; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gm-lead small { color: var(--gold); font-size: 11.5px; }
.gm-limg { width: 30px; height: 42px; border-radius: 6px; flex: none; background: var(--card) center/cover no-repeat; } .gm-limg.round { height: 30px; border-radius: 50%; }
.gm-dn { color: var(--mu); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.dt-all { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 10px 14px; margin: 4px 0 12px; border-radius: 12px; background: rgba(245,184,61,.07); border: 1px dashed rgba(245,184,61,.35); }
.dt-all .dt-l { width: 126px; color: var(--gold); }
.dt-all [data-clrall] { margin-left: auto; }

/* Rückblick: Spiele-Folien */
.st-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; width: min(980px, 100%); margin: 26px auto 0; }
.st-champ { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 16px 12px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); color: inherit; transition: transform .2s, background .2s; }
.st-champ:hover { transform: translateY(-4px); background: rgba(255,255,255,.09); }
.st-cimg { width: 92px; height: 132px; border-radius: 12px; background: rgba(0,0,0,.3) center/cover no-repeat; box-shadow: 0 12px 30px rgba(0,0,0,.45); margin-bottom: 6px; }
.st-cimg.round { width: 104px; height: 104px; border-radius: 50%; box-shadow: 0 0 0 3px rgba(var(--ac), .5), 0 12px 30px rgba(0,0,0,.45); margin: 14px 0 20px; }
.st-cmode { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: rgb(var(--ac)); }
.st-champ b { font-size: 15px; line-height: 1.2; } .st-champ small { color: rgba(255,255,255,.6); font-weight: 600; }
.st-champs > * { opacity: 0; animation: stpop 1.5s cubic-bezier(.2,.8,.3,1.05) forwards; animation-delay: calc(var(--k, 0) * 450ms + 1.8s); }

/* Glücksrad */
.wheel-btn .ico { color: var(--gold); }
.dialog h2 .ico { width: 24px; height: 24px; color: var(--gold); margin-right: 8px; vertical-align: -3px; }
.wh-load { display: grid; place-items: center; gap: 14px; padding: 50px 0; text-align: center; }
.wh-spin .ico { width: 64px; height: 64px; color: var(--gold); animation: whrot 1.4s linear infinite; }
@keyframes whrot { to { transform: rotate(360deg); } }
.wh-f { margin-bottom: 14px; } .wh-f .lbl { margin-bottom: 8px; }
.wh-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.wh-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--tx2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s; }
.wh-chip small { color: var(--mu); font-weight: 600; font-size: 11.5px; }
.wh-chip:hover { border-color: var(--line2); color: var(--tx); }
.wh-chip.on { border-color: rgba(245,184,61,.7); background: rgba(245,184,61,.14); color: var(--tx); } .wh-chip.on small { color: var(--gold); }
.wh-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 24px; }
.wh-mine { margin: 0 0 18px; }
.wh-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 6px 0 14px; } .wh-go .note { margin: 0 auto 0 0; }
.wh-spinbtn { padding: 12px 26px; font-size: 16px; } .wh-spinbtn .ico { width: 20px; height: 20px; }
.lnk { background: none; border: 0; color: var(--vi); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
.wh-stage { position: relative; overflow: hidden; border-radius: 18px; background: radial-gradient(ellipse at center, rgba(245,184,61,.08), transparent 70%), var(--bg); border: 1px solid var(--line); padding: 18px 0;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.wh-strip { display: flex; gap: 14px; padding: 0 7px; will-change: transform; }
.wh-tile { flex: none; width: 128px; aspect-ratio: 2/3; border-radius: 12px; background: var(--card2) center/cover no-repeat; display: grid; place-items: center; text-align: center; font-size: 12px; padding: 6px; color: var(--mu); transition: transform .4s, box-shadow .4s; }
.wh-tile.win { transform: scale(1.1); box-shadow: 0 0 0 3px var(--gold), 0 0 40px rgba(245,184,61,.5); }
.wh-marker { position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; transform: translateX(-50%); background: none; z-index: 2; pointer-events: none; }
.wh-marker::before, .wh-marker::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); border: 9px solid transparent; }
.wh-marker::before { top: 0; border-top-color: var(--gold); } .wh-marker::after { bottom: 0; border-bottom-color: var(--gold); }
.wh-result { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 18px 20px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(245,184,61,.12), rgba(245,184,61,.02)); border: 1px solid rgba(245,184,61,.4); animation: sqin .4s ease both; }
.wh-kick { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.wh-title { font-family: var(--serif); font-size: 28px; font-weight: 700; line-height: 1.15; margin-top: 2px; }
.wh-moods { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.wh-mood { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: rgba(180,156,255,.14); color: var(--vi); }
.wh-ract { display: flex; flex-wrap: wrap; gap: 8px; }

/* Empfehlungen „Für dich“ */
.e-tabs .ico { width: 16px; height: 16px; }
.rc-load { display: grid; place-items: center; gap: 12px; padding: 60px 0; text-align: center; }
.rc-load .wh-spin .ico { color: var(--vi); animation: whrot 2.4s linear infinite; }
.rc-why { display: flex; flex-direction: column; gap: 3px; margin: 2px 0 10px; padding: 8px 10px; border-radius: 10px; background: rgba(180,156,255,.08); border: 1px solid rgba(180,156,255,.18); font-size: 12px; line-height: 1.35; color: var(--tx2); }
.rc-why div::before { content: "✦ "; color: var(--vi); }
.rc-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.rc-mini { display: flex; flex-direction: column; gap: 6px; color: var(--tx); min-width: 0; }
.rc-mp { aspect-ratio: 2/3; border-radius: 12px; background: var(--card2) center/cover no-repeat; box-shadow: 0 10px 26px rgba(0,0,0,.4); transition: transform .2s; }
.rc-mini:hover .rc-mp { transform: translateY(-4px); }
.rc-mini b { font-size: 13.5px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-mini small { font-size: 11.5px; color: var(--mu); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 1100px) { .rc-strip { grid-template-columns: repeat(3, 1fr); } }

/* Cast-Quiz & Szenenbild-Quiz */
.gq { display: grid; gap: 26px; align-items: start; }
.gq-cast { grid-template-columns: 1fr; } .gq-cast .gq-side { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; align-items: start; }
.gq-cast .gq-side > .sq-result, .gq-cast .gq-side > .sq-lead, .gq-cast .gq-side > .sq-search, .gq-cast .gq-side > .sq-acts { grid-column: 1; }
.gq-cast .gq-side > .sq-tries { grid-column: 2; grid-row: 1 / span 4; } .gq-cast .gq-side > .sq-hints { grid-column: 1 / -1; }
.gq-scene { grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr); }
.cq-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.cq-slot { display: flex; flex-direction: column; gap: 8px; text-align: center; }
.cq-face { aspect-ratio: 2/3; border-radius: 16px; background: var(--card2) center 20%/cover no-repeat; box-shadow: 0 16px 40px rgba(0,0,0,.45); border: 1px solid var(--line); }
.cq-slot.new .cq-face { animation: cqin .7s cubic-bezier(.2,.8,.3,1.1) both; box-shadow: 0 0 0 2px var(--gold), 0 16px 40px rgba(0,0,0,.45); }
@keyframes cqin { from { opacity: 0; transform: translateY(16px) scale(.9) rotate(-2deg); } }
.cq-slot.locked { aspect-ratio: 2/3; border-radius: 16px; border: 1px dashed var(--line2); display: grid; place-items: center; color: var(--mu2); }
.cq-slot.locked .ico { width: 22px; height: 22px; }
.cq-name { font-weight: 700; font-size: 14px; } .cq-role { font-size: 12px; color: var(--mu); margin-top: -4px; }
.sc-frame { position: relative; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; background: var(--card2); border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.sc-frame.busy { opacity: .4; }
.sc-img { position: absolute; inset: 0; background: center/cover no-repeat; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.sc-zoom { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(8,9,12,.72); font-size: 12px; font-weight: 700; color: var(--gold); }
.sc-bad { position: absolute; right: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; border: 0; background: rgba(8,9,12,.72); color: #fff; font: 600 12px var(--sans); cursor: pointer; opacity: .75; }
.sc-bad:hover { opacity: 1; background: var(--red); } .sc-bad .ico { width: 14px; height: 14px; }
.gq-res { display: flex; gap: 16px; align-items: center; } .gq-rp { width: 74px; aspect-ratio: 2/3; border-radius: 10px; flex: none; background: var(--card2) center/cover no-repeat; }
.gq-pts { margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: rgba(245,184,61,.18); color: var(--gold); font-size: 12.5px; }
.wh-spin .ico { width: 56px; height: 56px; }
@media (max-width: 1000px) { .gq-scene, .gq-cast .gq-side { grid-template-columns: 1fr; } .gq-cast .gq-side > .sq-tries { grid-column: 1; grid-row: auto; } }
.sq-loading .wh-spin .ico { animation: sqpulse 1.2s ease-in-out infinite; color: var(--vi); } @keyframes sqpulse { 50% { transform: scale(1.15); opacity: .6; } }
.cq-face.locked { display: grid; place-items: center; background: transparent; border: 1px dashed var(--line2); box-shadow: none; color: var(--mu2); }
.cq-face.locked .ico { width: 22px; height: 22px; }

/* Handlungs-Quiz */
.gq-plot, .gq-trailer { grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); }
.pq-card { padding: 26px 28px; border-radius: 20px; background: linear-gradient(160deg, var(--card2), var(--card)); border: 1px solid var(--line); box-shadow: 0 20px 50px rgba(0,0,0,.4); }
.pq-txt { font-family: var(--serif); font-size: 21px; line-height: 1.6; color: var(--tx); }
.pq-new { background: linear-gradient(transparent 60%, rgba(245,184,61,.25) 60%); animation: sqin .6s ease both; }
.pq-more { display: flex; flex-direction: column; gap: 9px; margin-top: 18px; }
.pq-more i { display: block; height: 14px; border-radius: 7px; background: linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); }
.pq-more small { color: var(--mu); font-size: 12px; margin-top: 4px; }
/* Trailer-Quiz */
.tq-wrap { position: relative; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; background: #000; border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.tq-player, .tq-player iframe, .tq-player > div { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tq-mask { position: absolute; left: 0; right: 0; z-index: 2; pointer-events: none; }
.tq-mask.top { top: 0; height: 22%; background: linear-gradient(#000 55%, transparent); }
.tq-mask.bottom { bottom: 0; height: 16%; background: linear-gradient(transparent, #000 60%); }
.tq-cover { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; background: radial-gradient(circle, rgba(0,0,0,.25), rgba(0,0,0,.65)); transition: background .3s; }
.tq-wrap.playing .tq-cover { background: transparent; } .tq-wrap.playing .tq-play { opacity: 0; pointer-events: none; }
.tq-play { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; border: 0; cursor: pointer; font: 700 16px var(--sans); color: #120d24; background: linear-gradient(135deg, var(--vi), var(--vi2)); box-shadow: 0 10px 30px rgba(143,115,240,.4); transition: opacity .3s, transform .2s; }
.tq-play:hover { transform: scale(1.04); } .tq-play .ico { width: 20px; height: 20px; }
/* Tagesrätsel */
.gm-daily { margin-bottom: 20px; border-color: rgba(245,184,61,.35); background: linear-gradient(135deg, rgba(245,184,61,.07), var(--card) 55%); }
.gm-ico.gold { color: var(--gold); background: linear-gradient(145deg, rgba(245,184,61,.25), rgba(245,184,61,.08)); box-shadow: inset 0 0 0 1px rgba(245,184,61,.4); }
.gm-dtiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 16px; }
.gm-dt { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 8px; border-radius: 14px; background: var(--bg2); border: 1px solid var(--line); color: var(--tx); text-align: center; transition: transform .15s, border-color .15s; }
.gm-dt:hover { transform: translateY(-3px); border-color: var(--line2); }
.gm-dtp { width: 64px; aspect-ratio: 2/3; border-radius: 9px; background: var(--card2) center/cover no-repeat; display: grid; place-items: center; color: var(--gold); }
.gm-dtp .ico { width: 26px; height: 26px; }
.gm-dt b { font-size: 13.5px; } .gm-dt small { font-size: 11.5px; color: var(--mu); }
.gm-dt.open { border-style: dashed; border-color: rgba(245,184,61,.45); } .gm-dt.open small { color: var(--gold); font-weight: 700; }
.gm-dt.won small { color: var(--green); font-weight: 700; } .gm-dt.lost small { color: var(--red); }
.gm-dailybar { display: flex; align-items: center; gap: 8px; margin: -6px 0 16px; padding: 9px 14px; border-radius: 12px; background: rgba(245,184,61,.1); border: 1px solid rgba(245,184,61,.35); color: var(--tx2); font-size: 13.5px; }
.gm-dailybar .ico { width: 16px; height: 16px; color: var(--gold); } .gm-dailybar a { margin-left: auto; color: var(--gold); font-weight: 700; }
@media (max-width: 1000px) { .gq-plot, .gq-trailer { grid-template-columns: 1fr; } .gm-dtiles { grid-template-columns: repeat(3, 1fr); } }

/* Jahr schätzen */
.yq-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.yq-dots { display: flex; gap: 8px; }
.yq-dot { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 14px; background: var(--card); border: 1px solid var(--line); color: var(--mu); }
.yq-dot.cur { border-color: var(--gold); color: var(--gold); box-shadow: 0 0 0 3px rgba(245,184,61,.15); }
.yq-dot.good { background: rgba(62,207,142,.18); border-color: rgba(62,207,142,.6); color: var(--green); }
.yq-dot.ok { background: rgba(245,184,61,.15); border-color: rgba(245,184,61,.5); color: var(--gold); }
.yq-dot.bad { background: rgba(255,107,107,.12); border-color: rgba(255,107,107,.45); color: var(--red); }
.yq-sum { font-size: 15px; color: var(--tx2); } .yq-sum b { font-family: var(--serif); font-size: 26px; color: var(--tx); }
.yq-main { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr); gap: 26px; align-items: start; }
.yq-year { display: flex; gap: 8px; align-items: center; } .yq-year .input { width: 130px; font-size: 26px; font-family: var(--serif); font-weight: 700; text-align: center; padding: 8px; }
.yq-year .btn { width: 46px; height: 46px; justify-content: center; font-size: 22px; padding: 0; }
#yq-range { width: 100%; margin-top: 18px; accent-color: var(--gold); }
.yq-scale { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--mu); }
.yq-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.yq-li { display: flex; align-items: center; gap: 12px; color: var(--tx); } .yq-lp { width: 36px; aspect-ratio: 2/3; border-radius: 6px; flex: none; background: var(--card2) center/cover no-repeat; }
.yq-li b { display: block; font-size: 14px; } .yq-li small { color: var(--mu); font-size: 12px; }
/* Höher oder tiefer */
.hl-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.hl-streak { color: var(--tx2); } .hl-streak b { font-family: var(--serif); font-size: 26px; color: var(--gold); }
.hl-arena { display: grid; grid-template-columns: 1fr 190px 1fr; gap: 10px; align-items: stretch; }
.hl-card { display: flex; gap: 18px; padding: 18px; border-radius: 20px; background: var(--card); border: 1px solid var(--line); }
.hl-card.b { flex-direction: row-reverse; text-align: right; }
.hl-poster { width: 140px; aspect-ratio: 2/3; flex: none; border-radius: 14px; background: var(--card2) center/cover no-repeat; box-shadow: 0 14px 34px rgba(0,0,0,.45); }
.hl-info { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.hl-title { font-family: var(--serif); font-size: 22px; font-weight: 700; line-height: 1.2; } .hl-year { color: var(--mu); margin-top: 2px; }
.hl-val { font-family: var(--serif); font-size: 32px; font-weight: 800; color: var(--gold); margin-top: 14px; animation: sqin .5s ease both; }
.hl-mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.hl-btn { width: 100%; justify-content: center; }
.hl-res { width: 70px; height: 70px; border-radius: 50%; display: grid; place-items: center; animation: cqin .5s ease both; } .hl-res .ico { width: 34px; height: 34px; }
.hl-res.ok { background: rgba(62,207,142,.2); color: var(--green); box-shadow: 0 0 30px rgba(62,207,142,.35); } .hl-res.bad { background: rgba(255,107,107,.18); color: var(--red); }
.hl-q { text-align: center; margin-top: 16px; } .hl-over { margin-top: 16px; text-align: center; } .hl-over .sq-racts { justify-content: center; }
.hl-mid kbd, .yq kbd { margin-left: 8px; padding: 1px 6px; border-radius: 5px; font: 600 11px var(--sans); background: rgba(0,0,0,.25); }
/* Verbindungs-Spiel */
.lk-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px; border-radius: 20px; background: var(--card); border: 1px solid var(--line); margin-bottom: 18px; }
.lk-face { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 104px; text-align: center; }
.lk-face b { font-size: 13px; line-height: 1.2; } .lk-face small { font-size: 11px; color: var(--mu); line-height: 1.2; }
.lk-img { width: 74px; height: 74px; border-radius: 50%; background: var(--card2) center 20%/cover no-repeat; display: grid; place-items: center; color: var(--mu); box-shadow: 0 0 0 2px var(--line2); }
.lk-face.start .lk-img { box-shadow: 0 0 0 3px var(--vi); } .lk-face.target .lk-img { box-shadow: 0 0 0 3px var(--gold); } .lk-face.hit .lk-img { box-shadow: 0 0 0 3px var(--green), 0 0 26px rgba(62,207,142,.5); }
.lk-link { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 80px; text-align: center; }
.lk-film { width: 44px; aspect-ratio: 2/3; border-radius: 6px; background: var(--card2) center/cover no-repeat; } .lk-link small { font-size: 10.5px; color: var(--mu); line-height: 1.2; }
.lk-gap { font-size: 28px; color: var(--mu2); padding: 0 8px; }
.lk-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 14px; font-size: 16px; } .lk-head .note { margin: 0; }
.lk-filter { max-width: 240px; margin-left: auto; }
.lk-grid { display: grid; gap: 12px; } .lk-grid.films { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); } .lk-grid.people { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.lk-f, .lk-p { display: flex; flex-direction: column; gap: 5px; padding: 8px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); color: var(--tx); font: inherit; text-align: left; cursor: pointer; transition: transform .15s, border-color .15s; }
.lk-f:hover, .lk-p:hover { transform: translateY(-3px); border-color: var(--vi2); }
.lk-f span { aspect-ratio: 2/3; border-radius: 9px; background: var(--card2) center/cover no-repeat; }
.lk-f b, .lk-p b { font-size: 13px; line-height: 1.2; } .lk-f small, .lk-p small { font-size: 11.5px; color: var(--mu); }
.lk-p { align-items: center; text-align: center; } .lk-p .lk-img { width: 84px; height: 84px; }
.lk-p.is-target { border-color: rgba(245,184,61,.7); background: rgba(245,184,61,.1); }
@media (max-width: 1000px) { .yq-main, .hl-arena { grid-template-columns: 1fr; } .hl-card.b { flex-direction: row; text-align: left; } }
/* Anbieter-Logos: Rahmen „Dein Abo“ nicht abschneiden */
.prov { height: auto; min-height: 34px; padding: 3px; margin-left: -3px; flex-wrap: wrap; overflow: visible; }

/* Höher oder tiefer – große Karten */
.hl2-arena { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: stretch; }
.hl2-card { position: relative; min-height: min(64vh, 600px); border-radius: 24px; overflow: hidden; background: var(--card2) center 25%/cover no-repeat; border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0,0,0,.5); display: flex; }
.hl2-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,9,12,.25) 0%, rgba(8,9,12,.55) 45%, rgba(8,9,12,.92) 100%); }
.hl2-card.guess .hl2-shade { background: linear-gradient(180deg, rgba(8,9,12,.45), rgba(8,9,12,.78) 50%, rgba(8,9,12,.94)); }
.hl2-body { position: relative; z-index: 1; margin-top: auto; width: 100%; padding: 28px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.hl2-card.guess .hl2-body { margin: auto 0; }
.hl2-title { font-family: var(--serif); font-size: clamp(24px, 2.6vw, 36px); font-weight: 800; line-height: 1.1; text-shadow: 0 2px 16px rgba(0,0,0,.6); }
.hl2-year { color: rgba(255,255,255,.65); font-weight: 600; }
.hl2-val { font-family: var(--serif); font-size: clamp(36px, 4.4vw, 60px); font-weight: 800; color: var(--gold); line-height: 1.05; margin-top: 14px; text-shadow: 0 2px 20px rgba(0,0,0,.6); animation: sqin .5s ease both; }
.hl2-unit { color: rgba(255,255,255,.7); font-size: 14px; }
.hl2-ask { color: rgba(255,255,255,.8); font-size: 17px; margin-top: 12px; } .hl2-ask b { color: #fff; }
.hl2-btns { display: flex; flex-direction: column; gap: 12px; width: min(300px, 100%); margin-top: 12px; }
.hl2-btn { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 20px; border-radius: 16px; border: 2px solid transparent; font: 800 20px var(--sans); cursor: pointer; transition: transform .15s, box-shadow .15s; }
.hl2-btn .ico { width: 24px; height: 24px; } .hl2-btn kbd { margin-left: auto; padding: 2px 7px; border-radius: 6px; font: 700 12px var(--sans); background: rgba(0,0,0,.2); }
.hl2-btn.up { background: linear-gradient(135deg, #3ecf8e, #23a46c); color: #04170e; } .hl2-btn.down { background: linear-gradient(135deg, #ff7b7b, #e04848); color: #210404; }
.hl2-btn:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.hl2-vs { display: grid; place-items: center; } .hl2-vs span { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-weight: 800; font-size: 20px; color: var(--gold); background: var(--bg); border: 2px solid rgba(245,184,61,.5); box-shadow: 0 0 30px rgba(245,184,61,.2); z-index: 2; }
.hl2-card.ok { border-color: rgba(62,207,142,.8); box-shadow: 0 0 0 2px rgba(62,207,142,.5), 0 24px 60px rgba(0,0,0,.5); }
.hl2-card.bad { border-color: rgba(255,107,107,.8); box-shadow: 0 0 0 2px rgba(255,107,107,.5), 0 24px 60px rgba(0,0,0,.5); }
.hl2-badge { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 16px; border-radius: 999px; font-weight: 800; animation: cqin .5s ease both; }
.hl2-card.ok .hl2-badge { background: rgba(62,207,142,.25); color: var(--green); } .hl2-card.bad .hl2-badge { background: rgba(255,107,107,.22); color: var(--red); }
.hl2-badge .ico { width: 18px; height: 18px; }
@media (max-width: 900px) { .hl2-arena { grid-template-columns: 1fr; gap: 10px; } .hl2-card { min-height: 380px; } }
/* Verbindung: Lösung */
.lk-solhead { margin: 10px 0 8px; font-weight: 700; color: var(--tx2); }
.lk-chain.mini { margin: 0 0 6px; padding: 12px; background: var(--bg2); } .lk-chain.mini .lk-img { width: 54px; height: 54px; } .lk-chain.mini .lk-face { width: 90px; }
/* Höher oder tiefer: beide Karten identisch aufgebaut */
.hl2-card.guess .hl2-shade { background: linear-gradient(180deg, rgba(8,9,12,.25) 0%, rgba(8,9,12,.55) 45%, rgba(8,9,12,.92) 100%); }
.hl2-card.guess .hl2-body { margin: auto 0 0; }
.hl2-slot { min-height: 118px; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 10px; }
.hl2-slot .hl2-val { margin-top: 0; }
.hl2-btns { flex-direction: row; width: min(420px, 100%); margin: 0 0 8px; }
.hl2-btn { flex: 1; padding: 18px 16px; font-size: 21px; }
.hl2-keys { margin-left: 6px; padding: 1px 6px; border-radius: 5px; font-size: 11px; font-weight: 700; background: rgba(255,255,255,.12); }
.hl2-badge { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); z-index: 2; margin: 0; font-size: 16px; }

/* Rückblick: alle Spiele auf einen Blick */
.st-games { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; width: min(640px, 100%); margin: 22px auto 0; }
.st-gt { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 14px 10px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
}
.st-gtico { color: var(--gold); } .st-gtico .ico { width: 22px; height: 22px; }
.st-gt b { font-family: var(--serif); font-size: 32px; line-height: 1.05; margin-top: 4px; }
.st-gtn { font-weight: 700; font-size: 13.5px; }
.st-gt small { color: var(--tx2); font-size: 12px; line-height: 1.3; }
@media (max-width: 960px) { .st-games { grid-template-columns: repeat(2, 1fr); gap: 8px; } .st-gt b { font-size: 26px; } }

/* Spiele: Rangliste aller Profile */
.gm-lb { margin-bottom: 20px; border-color: rgba(180,156,255,.3); background: linear-gradient(135deg, rgba(143,115,240,.08), var(--card) 55%); }
.lb-tabs { display: flex; gap: 6px; margin: 14px 0 12px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.lb-tabs::-webkit-scrollbar { display: none; }
.lb-tabs .chip { display: inline-flex; align-items: center; gap: 6px; flex: none; } .lb-tabs .chip .ico { width: 15px; height: 15px; }
.lb-rows { display: flex; flex-direction: column; gap: 6px; }
.lb-row { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 12px; background: var(--bg2); border: 1px solid var(--line); }
.lb-row.me { border-color: rgba(180,156,255,.55); background: linear-gradient(90deg, rgba(143,115,240,.14), var(--bg2)); }
.lb-pl { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 14px; color: var(--tx2); background: var(--card2); }
.lb-pl.m1 { background: #f5a623; color: #1a1200; } .lb-pl.m2 { background: #b4bcc8; color: #12151c; } .lb-pl.m3 { background: #c9803f; color: #1a0f05; } .lb-pl.none { color: var(--mu2); }
.lb-nm { flex: 1; min-width: 0; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .lb-nm small { color: var(--mu); font-weight: 600; }
.lb-val { text-align: right; font-size: 13px; color: var(--tx2); display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.lb-val b { font-family: var(--serif); font-size: 20px; color: var(--tx); } .lb-val small { color: var(--mu); font-size: 11.5px; }
.gm-place { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; vertical-align: middle; padding: 2px 9px; border-radius: 999px; font: 700 11.5px var(--sans);
  background: var(--card2); color: var(--tx2); border: 1px solid var(--line2); }
.gm-place .ico { width: 13px; height: 13px; }
.gm-place.p1 { color: #1a1200; background: #f5a623; border-color: #f5a623; } .gm-place.p2 { color: #12151c; background: #b4bcc8; border-color: #b4bcc8; } .gm-place.p3 { color: #1a0f05; background: #c9803f; border-color: #c9803f; }

/* Detailbewertung -> Gesamtbewertung */
.dt-row { grid-template-columns: 170px max-content 34px; }
.dt-l { display: flex; align-items: baseline; gap: 8px; }
.dt-w { font-size: 11px; font-weight: 700; color: var(--mu); letter-spacing: .02em; }
.dt-w.core { color: var(--gold); }
.dt-res { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: rgba(180,156,255,.08); border: 1px solid rgba(180,156,255,.28); font-size: 14.5px; color: var(--tx2); }
.dt-res > .ico { width: 18px; height: 18px; color: var(--gold); flex: none; }
.dt-res.muted { background: var(--bg2); border-color: var(--line); }
.dt-res .dt-stars { color: var(--gold); letter-spacing: 2px; font-size: 17px; }
