/* ── Banner ──────────────────────────────────────────────── */
.nwsflsh-banner-wrap { display:flex; justify-content:center; margin:1em 0; position:relative; z-index:10; cursor:pointer; }
.nwsflsh-banner-img { max-width:100%; height:auto; border-radius:4px; transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.nwsflsh-banner-img:hover { transform:scale(1.03); box-shadow:0 4px 20px rgba(0,0,0,.25); filter:brightness(1.08); }
.nwsflsh-banner-img img { border-radius:4px; max-width: 100%; height: auto; display: block; }

/* ── Text-Link ───────────────────────────────────────────── */
.nwsflsh-text-link { display:inline-flex; align-items:center; color:#e53e3e; font-weight:700; text-decoration:none; cursor:pointer; transition: opacity 0.2s; margin: 10px 0; border:none; background:none; padding:0; font-family:inherit; font-size:inherit; }
.nwsflsh-text-link:hover { opacity: 0.8; text-decoration:underline; }
.nwsflsh-text-link svg { margin-right: 6px; }

/* ── Overlay ─────────────────────────────────────────────── */
.nwsflsh-overlay { position:fixed; inset:0; z-index:999999; background:rgba(255,255,255,0.8); color:#000; display:flex; flex-direction:column; font-family:system-ui,sans-serif; backdrop-filter: blur(3px); }

/* Versionsanzeige im Overlay */
.nwsflsh-version-display { position:absolute; top:16px; left:16px; font-size:0.8rem; font-weight:600; color:#999; z-index:100; pointer-events:none; }

.nwsflsh-top { display:flex; justify-content:center; align-items:center; padding:12px 16px; min-height:60px; position:relative; }
/* WPM Anzeige in Rot */
.nwsflsh-wpm { font-size:1.8rem; font-weight:800; color:#e53e3e; text-align:center; }

.nwsflsh-close, .nwsflsh-restart, .nwsflsh-play-btn, .nwsflsh-speed, .nwsflsh-help-btn {
  width:56px; height:56px; border:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:0; padding:0; transition: transform 0.1s;
}
.nwsflsh-close:active, .nwsflsh-restart:active, .nwsflsh-play-btn:active, .nwsflsh-speed:active, .nwsflsh-help-btn:active { transform: scale(0.9); }

.nwsflsh-close, .nwsflsh-play-btn { background:#e53e3e !important; color:#fff !important; }
/* Deutlich helleres Grau für sekundäre Buttons */
.nwsflsh-restart, .nwsflsh-speed { background:#aaa !important; color:#fff !important; }
/* Fragezeichen-Button wie gefordert in Rot (identisch zum Schließen-Button) */
.nwsflsh-help-btn { background:#e53e3e !important; color:#fff !important; }

/* Schließen-Button oben rechts, Hilfe-Button unten rechts mit 112px Abstand (2x eigene Größe) */
.nwsflsh-close { position:absolute; right:16px; top:12px; }
.nwsflsh-help-btn { position:absolute; right:16px; bottom:112px; z-index: 1000005; }

.nwsflsh-speed { position:absolute; left:50%; transform:translateX(-50%); }
.nwsflsh-speed:active { transform:translateX(-50%) scale(0.9); }
.nwsflsh-speed.up { top:28%; }
.nwsflsh-speed.down { top:68%; }
.nwsflsh-speed.flash { background:#e53e3e !important; }

/* Labels neben den Speed-Buttons, nur sichtbar in Pause (Klasse .is-paused) */
.nwsflsh-speed-label {
    display: none; position: absolute; left: 100%; margin-left: 15px;
    color: #e53e3e; font-size: 1.2rem; font-weight: 700; white-space: nowrap; pointer-events: none;
}
.is-paused .nwsflsh-speed-label { display: block; }

.nwsflsh-speed .hint { position:absolute; font-size:1rem; font-weight:700; color:#e53e3e; background:rgba(255,255,255,0.9); padding:4px 10px; border-radius:4px; white-space:nowrap; pointer-events:none; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.nwsflsh-speed.up .hint { bottom:calc(100% + 10px); }
.nwsflsh-speed.down .hint { top:calc(100% + 10px); }

.nwsflsh-center { flex:1; display:flex; align-items:center; justify-content:center; padding:0 24px; user-select:none; cursor:pointer; }
.nwsflsh-word { font-size:3.5rem; font-weight:700; text-align:center; line-height:1.3; color:#000; transition: color 0.1s; }

/* Schrift auf mobilen Geräten um ca. 25% verkleinern */
@media (max-width: 768px) {
    .nwsflsh-word { font-size: 2.6rem; }
}

.nwsflsh-countdown { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:4rem; font-weight:800; color:#000; z-index:1000000; background:transparent; pointer-events: none; }

.nwsflsh-info-link { position:absolute; top:72px; left:0; right:0; text-align:center; }
.nwsflsh-info-link button { background:none; border:none; color:#000; font-size:1.1rem; font-weight:700; text-decoration:underline; cursor:pointer; }

.nwsflsh-bar { position:absolute; bottom:0; left:0; right:0; height:6px; background:#ddd; }
.nwsflsh-bar-fill { height:100%; background:#e53e3e; transition:width .15s linear; }

.nwsflsh-paused { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.nwsflsh-paused > * { pointer-events:auto; }

.nwsflsh-info-modal { position:absolute; inset:0; z-index:1000001; background:rgba(255,255,255,0.95); display:flex; align-items:center; justify-content:center; padding:24px; }
.nwsflsh-info-box { background:#fff; color:#333; border: 1px solid #ddd; border-radius:8px; padding:30px; max-width:480px; width:100%; position:relative; font-size:1rem; line-height:1.6; box-shadow: 0 10px 40px rgba(0,0,0,0.1); }
.nwsflsh-info-box h2 { color:#000; margin:0 0 16px; font-size: 1.5rem; }
.nwsflsh-info-box ul { padding-left:20px; margin:.8em 0; }
.nwsflsh-info-close { position:absolute; top:8px; right:8px; background:none !important; border:none; color:#e53e3e !important; cursor:pointer; width:48px; height:48px; padding:0; }

.nwsflsh-info-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid #eee; text-align: center; font-size: 0.95rem; }
.nwsflsh-info-link-red { color: #e53e3e; font-weight: bold; text-decoration: underline; display: inline-block; }