.digital-banner { display:flex; align-items:center; gap:12px; margin:0 0 22px; padding:16px 12px; background:#fff; border:1px solid #c9cdca; border-radius:5px; box-shadow:inset 0 0 0 4px #f2f3f2,0 3px 10px rgba(0,0,0,.05); color:var(--banner-color,#111111); font-family:"Courier New",Courier,monospace; font-size:clamp(34px,4.2vw,56px); font-weight:900; line-height:1.25; letter-spacing:.07em; }
.digital-banner[hidden] { display:none!important; }
.digital-banner-brand { display:flex; flex-direction:column; justify-content:center; flex-shrink:0; gap:7px; padding:5px 18px 5px 8px; border-right:1px solid #c9cdca; color:#111; font-family:system-ui,sans-serif; line-height:1; letter-spacing:.06em; }
.digital-banner-brand strong { font-size:24px; font-weight:800; }
.digital-banner-brand small { font-size:8px; font-weight:700; letter-spacing:.15em; }
.digital-banner[data-banner-theme="exchange"] { padding:18px 12px; border:5px solid #10151e; border-radius:3px; background-color:#06154e; background-image:radial-gradient(circle,rgba(81,132,255,.27) .85px,transparent 1px),linear-gradient(100deg,#04183d,#0b1274 65%,#092350); background-size:4px 4px,100% 100%; box-shadow:inset 0 2px 12px #000b,0 2px 0 #66707c,0 7px 18px #13243b21; color:var(--banner-color,#8feaff); }
.digital-banner[data-banner-theme="exchange"] .digital-banner-brand { border-right:1px solid #54b7fa70; color:#e8faff; text-shadow:0 0 10px #77d5ff70; }
.digital-banner[data-banner-theme="exchange"] .digital-banner-pause { color:#b4dfff; background:#071834; border-color:#39618d; }
.digital-banner[data-banner-theme="exchange"] .dot-matrix-svg { filter:drop-shadow(0 0 2px currentColor); }
.digital-banner[data-banner-theme="green"] { padding:18px 12px; border:5px solid #182b15; border-radius:3px; background-color:#34592b; background-image:radial-gradient(circle,rgba(183,218,143,.25) .85px,transparent 1px),linear-gradient(100deg,#1b3418,#34592b 65%,#274823); background-size:4px 4px,100% 100%; box-shadow:inset 0 2px 12px #0008,0 2px 0 #6b805d,0 7px 18px #263b2021; color:var(--banner-color,#e5f49c); }
.digital-banner[data-banner-theme="green"] .digital-banner-brand { border-right:1px solid #c9e8a970; color:#f0f8e8; text-shadow:0 0 10px #bada9770; }
.digital-banner[data-banner-theme="green"] .digital-banner-pause { color:#e5f49c; background:#223e1d; border-color:#789466; }
.digital-banner[data-banner-theme="green"] .dot-matrix-svg { filter:drop-shadow(0 0 2px currentColor); }
@media(max-width:600px) {
  .digital-banner-brand { padding-right:10px; padding-left:0; }
  .digital-banner-brand strong { font-size:18px; }
  .digital-banner-brand small { font-size:7px; }
}
.digital-banner-window { min-width:0; flex:1; overflow:hidden; }
.digital-banner-track { display:flex; width:max-content; animation:tmr-banner-scroll var(--banner-duration,35s) linear infinite; }
.digital-banner-track span { display:block; box-sizing:border-box; min-width:100vw; padding:0 40px; white-space:nowrap; }
.digital-banner-track span.dot-matrix-message { display:flex; align-items:center; background:none; color:var(--banner-color,#111111); }
.dot-matrix-svg { display:block; flex-shrink:0; height:clamp(30px,3.4vw,42px); width:auto; overflow:visible; }
.dot-matrix-fallback { display:none; font-style:normal; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .digital-banner-track span { background-image:radial-gradient(circle,var(--banner-color,#111111) 1.45px,transparent 1.65px); background-size:4px 4px; background-clip:text; -webkit-background-clip:text; color:transparent; }
}
.digital-banner:hover .digital-banner-track,.digital-banner:focus-within .digital-banner-track,.digital-banner.is-paused .digital-banner-track { animation-play-state:paused; }
.digital-banner-pause { flex-shrink:0; border:1px solid #b7bdb8; border-radius:4px; padding:6px 10px; color:#111; background:#fff; font:600 12px system-ui,sans-serif; letter-spacing:0; cursor:pointer; }
.digital-banner-accessible { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.banner-admin-form { display:grid; gap:18px; }
.banner-admin-form .banner-toggle { display:flex; align-items:center; gap:12px; }
.banner-admin-form .banner-toggle input { width:22px; height:22px; }
.banner-admin-form textarea { width:100%; box-sizing:border-box; }
.banner-admin-form label:not(.banner-toggle) { display:grid; gap:8px; }
.banner-admin-form textarea { border:1px solid #cfc9bd; border-radius:8px; padding:12px; font:inherit; resize:vertical; background:white; color:#1b1a18; }
.banner-admin-form small { color:#655b52; }
.banner-admin-form select { width:min(100%,360px); border:1px solid #cfc9bd; border-radius:8px; padding:10px 12px; font:inherit; background:white; color:#1b1a18; }
.banner-color-controls { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.banner-color-controls input[type="color"] { width:64px; height:44px; padding:3px; cursor:pointer; }
.banner-admin-status { min-height:1.5em; margin:0; }
.banner-admin-status[data-error="true"] { color:#a12626; }
.banner-admin-form .digital-banner { margin-bottom:0; }
.banner-admin-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
@keyframes tmr-banner-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce) {
  .digital-banner-track { animation:none; width:100%; }
  .digital-banner-track span { min-width:0; padding:0; white-space:normal; overflow-wrap:anywhere; }
  .digital-banner-track span+span,.digital-banner-pause { display:none; }
  .digital-banner-track .dot-matrix-svg { display:none; }
  .digital-banner-track .dot-matrix-fallback { display:block; white-space:normal; }
}
.homepage-ticker{margin:0 0 22px}.homepage-ticker[hidden],.banner-news-status[hidden]{display:none!important}.homepage-ticker .digital-banner{margin-bottom:0}.banner-news-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0;font:10px/1.6 system-ui,sans-serif;color:#6e7e60}.banner-news-status a{color:#4b6b39}.banner-content-switches{display:grid;gap:10px;border:1px solid #cedac1;border-radius:7px;padding:16px;background:#f1f6ea;font-size:13px}.banner-content-switches label{display:flex!important;gap:9px;align-items:center}.banner-content-switches small{line-height:1.8;color:#657653}
.digital-banner[data-banner-holiday]:not([data-banner-holiday="none"]){border-color:var(--holiday-accent);background-color:var(--holiday-start);background-image:radial-gradient(circle,rgba(255,255,255,.19) .85px,transparent 1px),linear-gradient(110deg,var(--holiday-start),var(--holiday-end));background-size:4px 4px,100% 100%;box-shadow:inset 0 2px 12px #0009,0 0 0 1px var(--holiday-accent),0 5px 18px #18221522}.digital-banner[data-banner-holiday]:not([data-banner-holiday="none"]) .digital-banner-brand{color:var(--banner-color);border-right-color:var(--holiday-accent);text-shadow:none}.digital-banner[data-banner-holiday]:not([data-banner-holiday="none"]) .digital-banner-pause{background:var(--holiday-start);color:var(--banner-color);border-color:var(--holiday-accent)}.banner-holiday-controls{display:grid;gap:12px;border:1px solid #d4dccc;border-radius:7px;padding:16px;background:#f7f7ef}.banner-holiday-controls small{font-size:12px;line-height:1.8}
.digital-banner[data-banner-festival="edge"],.digital-banner[data-banner-festival="overflow"]{position:relative;isolation:isolate;overflow:visible;padding-top:27px;padding-bottom:27px}.banner-festival-art{position:absolute;inset:0;pointer-events:none;z-index:2;display:block;line-height:0}.banner-festival-art svg{position:absolute;display:block;overflow:visible;pointer-events:none}.banner-festival-string{top:-7px;left:8%;width:84%;height:18px}.banner-festival-corner{width:34px;height:34px;filter:drop-shadow(0 2px 2px #0004)}.banner-festival-tl{top:-10px;left:-3px;transform:rotate(-9deg)}.banner-festival-tr{top:-10px;right:-3px;transform:rotate(9deg)}.banner-festival-bl{bottom:-10px;left:-3px;transform:rotate(-9deg)}.banner-festival-br{bottom:-10px;right:-3px;transform:rotate(9deg)}.digital-banner[data-banner-festival="overflow"]{margin-top:28px!important;margin-bottom:28px!important}.digital-banner[data-banner-festival="overflow"] .banner-festival-string{top:-17px;height:30px;left:9%;width:82%}.digital-banner[data-banner-festival="overflow"] .banner-festival-corner{width:58px;height:58px}.digital-banner[data-banner-festival="overflow"] .banner-festival-tl{top:-26px;left:-14px}.digital-banner[data-banner-festival="overflow"] .banner-festival-tr{top:-26px;right:-14px}.digital-banner[data-banner-festival="overflow"] .banner-festival-bl{bottom:-24px;left:-14px}.digital-banner[data-banner-festival="overflow"] .banner-festival-br{bottom:-24px;right:-14px}@media(max-width:600px){.digital-banner[data-banner-festival="overflow"] .banner-festival-corner{width:44px;height:44px}.digital-banner[data-banner-festival="overflow"] .banner-festival-tl{top:-21px;left:-9px}.digital-banner[data-banner-festival="overflow"] .banner-festival-tr{top:-21px;right:-9px}.digital-banner[data-banner-festival="overflow"] .banner-festival-bl{bottom:-21px;left:-9px}.digital-banner[data-banner-festival="overflow"] .banner-festival-br{bottom:-21px;right:-9px}}
.homepage-ticker .stock-led-banner{margin-top:8px}.banner-quote-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0;font:10px/1.6 system-ui,sans-serif;color:#6e7e60}.banner-quote-status a{color:#4b6b39}.banner-quote-status[hidden]{display:none!important}
