/* Barra discreta y vista previa; alcance limitado a anuncios. */
.tm-ann-bar { display:flex; align-items:center; gap:12px; min-height:36px; padding:0 16px; background:var(--ann-bg); color:var(--ann-fg); }
.tm-ann-window { flex:1; min-width:0; overflow:hidden; }
.tm-ann-track { display:flex; width:max-content; animation:tm-ann-scroll var(--ann-duration,30s) linear infinite; }
.tm-ann-group { min-width:var(--ann-min-width,0px); display:flex; flex:0 0 auto; align-items:center; gap:32px; padding-right:32px; min-height:36px; }
.tm-ann-message { white-space:nowrap; font-size:12px; letter-spacing:.2px; }
.tm-ann-dot { opacity:.5; }
.tm-ann-pause { flex-shrink:0; background:transparent; color:inherit; border:1px solid currentColor; border-radius:4px; padding:3px 8px; font-size:10px; cursor:pointer; }
.tm-ann-bar:hover .tm-ann-track,.tm-ann-window:focus .tm-ann-track,.tm-ann-bar.is-paused .tm-ann-track { animation-play-state:paused; }
.tm-ann-bar :focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@keyframes tm-ann-scroll { to { transform:translateX(calc(-1 * var(--ann-distance,0px))); } }
.tm-ann-editor { margin-bottom:24px; border:1px solid var(--line); border-radius:10px; }
.tm-ann-editor > summary { padding:14px 18px; cursor:pointer; font-size:12px; color:var(--muted); }
.tm-ann-editor-body { padding:8px 18px 22px; }
.tm-ann-editor h2 { font-size:16px; margin:22px 0 10px; }
.tm-ann-editor label { display:block; font-size:12px; margin:12px 0 8px; }
.tm-ann-editor textarea { width:100%; box-sizing:border-box; padding:12px; background:var(--bg); color:var(--paper); border:1px solid var(--line); border-radius:8px; font:inherit; font-size:13px; resize:vertical; margin-top:6px; }
.tm-ann-settings { display:grid; grid-template-columns:1fr 1fr 2fr; gap:20px; }
.tm-ann-settings input[type=color] { width:64px; height:36px; border:1px solid var(--line); border-radius:6px; background:transparent; cursor:pointer; }
.tm-ann-settings input[type=range] { width:100%; accent-color:var(--orange); }
.tm-ann-editor-actions { margin-top:20px; }
.tm-home-content { position:relative; }
.tm-ann-home-note { font-size:10px; line-height:1.5; padding:6px 16px; background:var(--bg); color:var(--muted); text-align:right; }
.tm-ann-home-note a { text-decoration:underline; text-underline-offset:3px; }
body:has(.tm-home-announcement) .app-menu-toggle { top:72px; }
body:has(.tm-home-announcement.is-preview) .app-menu-toggle { top:96px; }
@media(max-width:600px) { .tm-ann-settings { grid-template-columns:1fr 1fr; gap:12px; } .tm-ann-settings > :last-child { grid-column:1 / -1; } .tm-ann-bar { padding-inline:10px; } .tm-ann-message { font-size:11px; } body:has(.tm-home-announcement) .app-menu-toggle { top:62px; } body:has(.tm-home-announcement.is-preview) .app-menu-toggle { top:86px; } }
@media(prefers-reduced-motion:reduce) { .tm-ann-track { animation:none; width:100%; } .tm-ann-group { min-width:0; flex-wrap:wrap; padding:8px 0; gap:8px 16px; } .tm-ann-message { white-space:normal; overflow-wrap:anywhere; } .tm-ann-copy,.tm-ann-pause { display:none; } }

.tm-ann-validation { color:var(--orange); font-size:12px; line-height:1.7; }

.tm-ann-fields { border:0; padding:0; margin:0; min-width:0; }
.tm-ann-editor-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; }
.tm-ann-saved-state { color:var(--muted); font-size:12px; }
.tm-ann-editor label.tm-ann-visible { display:flex; align-items:center; gap:10px; font-size:13px; }
.tm-ann-visible input { accent-color:var(--orange); width:16px; height:16px; }
