/* Startseiten-Banner „Bewerte unsere Spiele“: Belohnung als Abzeichen, ein Satz, ein Knopf, Fortschritt für Angemeldete. */
.rating-banner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; margin:18px clamp(18px,2.3vw,32px); padding:18px 22px; border:1px solid #fbbf2438; border-radius:20px; background:radial-gradient(460px 180px at 0% 50%,#fbbf241c,transparent 70%),linear-gradient(115deg,#162a2a,#141c33); color:#f1f6f4; box-shadow:0 12px 32px #0006; }
.rating-banner-medal { display:grid; justify-items:center; gap:3px; min-width:128px; padding:12px 16px; border-radius:16px; border:1px solid #fbbf2455; background:linear-gradient(180deg,#fbbf2414,#0b12229e); }
.rating-banner-stars { display:flex; gap:2px; font-size:15px; line-height:1; color:#fbbf24; text-shadow:0 0 10px #fbbf2466; }
.rating-banner-stars span { display:inline-block; animation:rbStarIn .5s cubic-bezier(.3,1.6,.5,1) both; animation-delay:calc(var(--i) * 80ms + 250ms); }
.rating-banner:hover .rating-banner-stars span { animation:rbStarWave .6s ease-in-out both; animation-delay:calc(var(--i) * 60ms); }
@keyframes rbStarIn { from { opacity:0; transform:scale(.3) rotate(-40deg); } to { opacity:1; transform:none; } }
@keyframes rbStarWave { 40% { transform:translateY(-4px) scale(1.2); } }
.rating-banner-reward { font-size:26px; font-weight:800; line-height:1.05; letter-spacing:-.02em; color:#ffe08a; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rating-banner-medal small { font-size:12px; font-weight:600; color:#c9d6d3; }
.rating-banner-copy { min-width:0; }
.rating-banner h2 { margin:0 0 4px; font-size:clamp(19px,1.7vw,23px); line-height:1.2; color:#fff; }
.rating-banner p { margin:0; max-width:72ch; color:#d2e1de; font-size:13.5px; line-height:1.5; }
.rating-banner p b { color:#ffe08a; white-space:nowrap; }
.rating-banner-note { display:block; margin-top:6px; color:#9fb3b0; font-size:12px; line-height:1.4; }
.rating-banner-progress { display:flex; align-items:center; gap:10px; max-width:520px; margin-top:10px; }
.rating-banner-progress[hidden], .rating-banner-note[hidden] { display:none; }
.rating-banner-track { flex:1; height:8px; min-width:80px; border-radius:999px; background:#ffffff14; overflow:hidden; }
.rating-banner-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#fbbf24,#34d399); transition:width .9s cubic-bezier(.2,.8,.2,1); }
.rating-banner-progress small { font-size:12.5px; color:#cfe2dd; white-space:nowrap; }
.rating-banner-progress small b { color:#ffe08a; }
.rating-banner-actions { display:grid; gap:6px; min-width:180px; }
.rating-banner-actions .btn { justify-content:center; min-height:42px; padding:9px 18px; font-size:13.5px; white-space:nowrap; }
.rating-banner-link { padding:4px; border:0; background:none; color:#c3d3d0; font:inherit; font-size:12.5px; text-decoration:underline; text-decoration-color:#c3d3d055; text-underline-offset:3px; cursor:pointer; }
.rating-banner-link:hover { color:#fff; text-decoration-color:#fff; }
.rating-eyebrow { font-size:10px; font-weight:800; letter-spacing:1.6px; color:#9fe8c3; }
.rating-dialog { margin:auto; box-sizing:border-box; width:min(520px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); padding:26px; border:1px solid #49665f; border-radius:22px; background:linear-gradient(145deg,#152c29,#111e32 60%); color:#eaf4f1; box-shadow:0 30px 120px #0009; overflow-y:auto; }
.rating-dialog::backdrop { background:#020a16c9; backdrop-filter:blur(5px); }
.rating-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.rating-dialog h2 { margin:16px 0 10px; font-size:26px; line-height:1.2; }
.rating-dialog p { font-size:13px; line-height:1.65; color:#bed0d0; }
.rating-dialog .rating-progress { color:#a9edc8; font-size:12px; }
.rating-dialog label,.rating-dialog legend { font-size:12px; font-weight:700; }
.rating-dialog label span,.rating-dialog small { color:#aabfc5; font-weight:400; }
.rating-dialog select, .rating-dialog textarea { display:block; box-sizing:border-box; width:100%; border:1px solid #425e6b; background:#0c1929; border-radius:10px; color:#edf8f5; padding:12px; margin:8px 0; font:inherit; font-size:14px; }
.rating-dialog textarea { resize:vertical; min-height:90px; }.rating-dialog small { font-size:11px; }
.rating-dialog fieldset { border:0; padding:0; margin:23px 0; }
.rating-star-options { display:flex; gap:10px; margin:10px 0; }
.rating-star-options label { position:relative; display:grid; place-items:center; flex:1; cursor:pointer; }
.rating-star-options input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.rating-star-options label>span:first-of-type { display:grid; place-items:center; width:100%; height:55px; box-sizing:border-box; border:1px solid #41576b; border-radius:12px; font-size:32px; color:#75909d; background:#192c3c; }
.rating-star-options label.is-selected>span:first-of-type { color:#ffe09a; border-color:#ddbb64; background:#8e67142b; }
.rating-star-options input:focus-visible+span { outline:3px solid #94e6c9; outline-offset:3px; }
.rating-dialog :is(button,select,textarea):focus-visible,.rating-banner button:focus-visible { outline:3px solid #94e6c9; outline-offset:3px; }
#ratingStarDescription { font-size:12px; color:#ffe09a; }#ratingMessage { color:#b8efd2; min-height:20px; }
.rating-dialog .btn { width:100%; justify-content:center; }.rating-dialog button:disabled { opacity:.5; cursor:not-allowed; }
.rating-ticket-link { display:block; width:100%; margin-top:17px; padding:8px 0; border:0; background:transparent; color:#a6d8e9; font-size:12px; cursor:pointer; }
.rating-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:800px) { .rating-banner { grid-template-columns:auto minmax(0,1fr); gap:14px 16px; padding:16px; }.rating-banner-medal { min-width:0; padding:10px 12px; }.rating-banner-reward { font-size:21px; }.rating-banner-actions { grid-column:1/-1; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-width:0; }.rating-banner-actions .btn { white-space:normal; }.rating-banner-progress { max-width:none; }.rating-dialog { padding:22px; } }
@media(max-width:450px) { .rating-banner { grid-template-columns:minmax(0,1fr); }.rating-banner-medal { grid-auto-flow:column; justify-content:start; align-items:center; gap:10px; padding:8px 12px; }.rating-banner-reward { font-size:19px; }.rating-banner h2 { font-size:18px; }.rating-banner p { font-size:13px; }.rating-banner-progress { flex-wrap:wrap; gap:6px; }.rating-banner-track { flex-basis:100%; }.rating-banner-progress small { white-space:normal; }.rating-dialog h2 { font-size:23px; }.rating-star-options { gap:7px; }.rating-star-options label>span:first-of-type { height:49px; }.tc-redesign #gameOverlay .rating-game-button { width:30px; min-width:30px; padding:3px; } }
@media not all { .rating-banner-stars span { animation:none !important; } .rating-banner-track span { transition:none; } }
