/* Aetherline Signals component: namespaced to avoid changing the existing dashboard wrapper. */
.asl {
  --asl-ink: #edf4fb; --asl-muted: #91a4bb; --asl-subtle: #71869f;
  --asl-surface: #091321; --asl-surface-2: #0c1929; --asl-hover: #0e1e31; --asl-selected: #10243a;
  --asl-border: #1c3148; --asl-border-soft: #15283b; --asl-accent: #75bce9;
  color: var(--asl-ink); background: var(--asl-surface);
}
.asl [hidden], .asl-backdrop[hidden], .asl-drawer[hidden] { display: none !important; }
body.asl-locked { overflow: hidden; }
.asl-summary { padding: 24px 28px 19px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--asl-border); }
.asl-kicker { margin: 0 0 6px; color: #a9d7f4; font-size: .73rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.asl-summary h3 { margin: 0; color: var(--asl-ink); font-size: 1.55rem; line-height: 1.15; letter-spacing: -.03em; }
.asl-data-status { margin: 0; color: var(--asl-subtle); font-size: .82rem; }
.asl-controls { padding: 16px 28px; display: grid; grid-template-columns: minmax(240px,1fr) 220px; gap: 10px; border-bottom: 1px solid var(--asl-border); background: rgba(12,25,41,.58); }
.asl input[type="search"], .asl select { width: 100%; height: 43px; padding: 0 13px; outline: none; border: 1px solid #294159; border-radius: 10px; color: var(--asl-ink); background: #07111d; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.asl input[type="search"]::placeholder { color: #71869e; }
.asl input:hover, .asl select:hover { border-color: #385570; background: #091522; }
.asl input:focus, .asl select:focus, .asl button:focus-visible, .asl-icon-button:focus-visible { border-color: var(--asl-accent); box-shadow: 0 0 0 3px rgba(117,188,233,.18); outline: none; }
.asl-signal-list { min-height: 240px; }
.asl-signal-card { position: relative; width: 100%; min-height: 86px; padding: 17px 28px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; border: 0; border-bottom: 1px solid var(--asl-border-soft); color: var(--asl-ink); background: transparent; text-align: left; cursor: pointer; transition: background-color .16s ease, box-shadow .16s ease; }
.asl-signal-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: transparent; transition: background-color .16s ease; }
.asl-signal-card:hover { background: var(--asl-hover); }
.asl-signal-card:hover::before { background: #476d8e; }
.asl-signal-card.is-selected { background: var(--asl-selected); box-shadow: inset 0 1px rgba(255,255,255,.02); }
.asl-signal-card.is-selected::before { background: var(--asl-accent); }
.asl-signal-card h3 { max-width: 920px; margin: 0 0 9px; color: #e7eef6; font-size: 1rem; font-weight: 680; line-height: 1.38; letter-spacing: -.01em; }
.asl-signal-card:hover h3, .asl-signal-card.is-selected h3 { color: #fff; }
.asl-meta { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.asl-date { color: var(--asl-subtle); font-size: .78rem; font-variant-numeric: tabular-nums; }
.asl-arrow { align-self: center; color: #6383a0; font-size: 1.25rem; transition: color .16s ease, transform .16s ease; }
.asl-signal-card:hover .asl-arrow, .asl-signal-card.is-selected .asl-arrow { color: var(--asl-accent); transform: translateX(2px); }
.asl-badge { --badge-bg: #182b3d; --badge-border: #2c465e; --badge-ink: #c6d7e6; display: inline-flex; align-items: center; width: fit-content; padding: 4px 9px; border: 1px solid var(--badge-border); border-radius: 999px; color: var(--badge-ink); background: var(--badge-bg); font-size: .78rem; font-weight: 650; line-height: 1.2; letter-spacing: .005em; }
.asl-badge[data-tone="blue"] { --badge-bg: #142c42; --badge-border: #27516f; --badge-ink: #b9dff5; }
.asl-badge[data-tone="teal"] { --badge-bg: #123537; --badge-border: #27605e; --badge-ink: #b4e1dc; }
.asl-badge[data-tone="green"] { --badge-bg: #183429; --badge-border: #34634c; --badge-ink: #bce1cc; }
.asl-badge[data-tone="amber"] { --badge-bg: #3b2d18; --badge-border: #70512b; --badge-ink: #ecd3a5; }
.asl-badge[data-tone="orange"] { --badge-bg: #40271d; --badge-border: #754533; --badge-ink: #efc2ac; }
.asl-badge[data-tone="rose"] { --badge-bg: #3a222b; --badge-border: #704151; --badge-ink: #e9bdca; }
.asl-badge[data-tone="violet"] { --badge-bg: #2c2742; --badge-border: #554b78; --badge-ink: #d3c8ef; }
.asl-badge[data-tone="slate"] { --badge-bg: #242d37; --badge-border: #465565; --badge-ink: #c7d0d9; }
.asl-load-more { display: block; margin: 22px auto; padding: 10px 17px; border: 1px solid #31506c; border-radius: 10px; color: #d9e8f5; background: #102136; cursor: pointer; }
.asl-load-more:hover { border-color: #456b8b; background: #142a43; }
.asl-notice { margin: 20px 28px; padding: 15px; border: 1px solid #344d65; border-radius: 10px; color: #b7c9da; background: #0a1624; }
.asl-backdrop { position: fixed; z-index: 100; inset: 0; background: rgba(1,5,10,.72); backdrop-filter: blur(3px); }
.asl-drawer { --asl-reading: #111b26; --asl-reading-ink: #d9e3ea; --asl-reading-muted: #8799a8; --asl-reading-border: #2a3a49; position: fixed; z-index: 110; top: 0; right: 0; width: min(780px,100%); height: 100dvh; overflow: auto; color: var(--asl-reading-ink); background: var(--asl-reading); box-shadow: -28px 0 80px rgba(0,0,0,.62); font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.asl-drawer-top { position: sticky; z-index: 3; top: 0; min-height: 68px; padding: 12px 24px 12px 32px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #294055; color: #edf4fb; background: rgba(9,19,31,.97); backdrop-filter: blur(14px); }
.asl-drawer-top p { margin: 0; color: #aac4da; font-size: .72rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.asl-icon-button { width: 42px; height: 42px; border: 1px solid #3a5269; border-radius: 50%; color: #dceaf5; background: #102235; font-size: 1.55rem; line-height: 1; cursor: pointer; }
.asl-icon-button:hover { border-color: #64839e; background: #172d42; }
.asl-drawer-content { padding: 40px 50px 74px; }
.asl-drawer-content > h2 { max-width: 680px; margin: 0 0 36px; color: #f0f5f8; font-size: clamp(1.85rem,3vw,2.5rem); line-height: 1.12; letter-spacing: -.038em; text-wrap: balance; }
.asl-detail-section { padding: 31px 0 25px; border-top: 1px solid var(--asl-reading-border); }
.asl-detail-section h3 { margin: 0 0 24px; color: #b9d4e6; font-size: 1.2rem; line-height: 1.2; letter-spacing: -.02em; }
.asl-field { margin: 0 0 21px; display: grid; grid-template-columns: 148px minmax(0,1fr); gap: 18px; }
.asl-field dt { color: #b8c7d2; font-size: .91rem; font-weight: 720; line-height: 1.55; }
.asl-field dd { margin: 0; color: #d8e1e7; font-size: .98rem; line-height: 1.67; white-space: pre-wrap; }
.asl-field .asl-badge { --badge-bg: #1b2b3a; --badge-border: #344a5d; --badge-ink: #d0dce5; }
.asl-field .asl-badge[data-tone="blue"] { --badge-bg: #173249; --badge-border: #2e5875; --badge-ink: #c1e3f6; }
.asl-field .asl-badge[data-tone="teal"] { --badge-bg: #15383a; --badge-border: #2d6361; --badge-ink: #bce5df; }
.asl-field .asl-badge[data-tone="green"] { --badge-bg: #1b382d; --badge-border: #396850; --badge-ink: #c3e5d1; }
.asl-field .asl-badge[data-tone="amber"] { --badge-bg: #3d301d; --badge-border: #725632; --badge-ink: #efd9ad; }
.asl-field .asl-badge[data-tone="orange"] { --badge-bg: #422b20; --badge-border: #784b38; --badge-ink: #f0c8b5; }
.asl-field .asl-badge[data-tone="rose"] { --badge-bg: #3d2630; --badge-border: #744657; --badge-ink: #ecc5d0; }
.asl-field .asl-badge[data-tone="violet"] { --badge-bg: #302a46; --badge-border: #5a507d; --badge-ink: #d8cff1; }
.asl-field .asl-badge[data-tone="slate"] { --badge-bg: #27323c; --badge-border: #4b5b69; --badge-ink: #d0d8df; }
.asl-badge-row { display: flex; gap: 7px; flex-wrap: wrap; }
.asl-source-action { display: inline-flex; color: #82c4eb; font-weight: 700; text-decoration: none; }
.asl-source-action:hover { color: #b2dcf4; text-decoration: underline; text-underline-offset: 3px; }
.asl-source-domain { display: block; margin-top: 4px; color: var(--asl-reading-muted); font-size: .8rem; }
.asl-loading { padding: 38px 0; color: var(--asl-reading-muted); }
.asl-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:700px) {
  .asl-summary { padding: 22px 19px 18px; align-items: start; flex-direction: column; gap: 10px; }
  .asl-controls { padding: 14px 19px; grid-template-columns: 1fr; }
  .asl-signal-card { min-height: 82px; padding: 16px 19px; gap: 14px; }
  .asl-signal-card h3 { font-size: .96rem; }
  .asl-drawer-top { min-height: 62px; padding: 10px 16px 10px 21px; }
  .asl-drawer-content { padding: 30px 22px 58px; }
  .asl-drawer-content > h2 { margin-bottom: 28px; font-size: clamp(1.72rem,7.5vw,2.25rem); }
  .asl-detail-section { padding: 27px 0 20px; }
  .asl-field { grid-template-columns: 1fr; gap: 5px; margin-bottom: 20px; }
  .asl-field dd { font-size: .96rem; line-height: 1.62; }
}
@media (prefers-reduced-motion:reduce) { .asl *, .asl-drawer *, .asl-backdrop { transition-duration: .01ms !important; } }

/* Final interface polish: shared type rhythm, bounded research pane, and drawer dimensions. */
.asl-data-status { color: var(--asl-muted); font-size: .86rem; }
.asl-signal-list { min-height: 240px; max-height: min(68vh,760px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #38536c #0a1623; }
.asl-signal-list::-webkit-scrollbar { width: 10px; }
.asl-signal-list::-webkit-scrollbar-track { background: #0a1623; }
.asl-signal-list::-webkit-scrollbar-thumb { border: 2px solid #0a1623; border-radius: 999px; background: #38536c; }
.asl-signal-list::-webkit-scrollbar-thumb:hover { background: #4a6b88; }
.asl-signal-card h3 { color: #eaf1f7; font-size: 1.02rem; line-height: 1.42; }
.asl-date { color: #91a4b7; font-size: .82rem; }
.asl-drawer { width: min(820px,100%); overflow-wrap: anywhere; --asl-reading-muted: #93a6b7; }
@media (max-width:700px) { .asl-signal-list { max-height: min(58dvh,520px); } }

/* Premium surface pass; decorative signal marks do not represent trend data. */
.asl{--asl-highlight:inset 0 1px 0 rgba(255,255,255,.035)}.asl-summary{background:linear-gradient(180deg,rgba(17,35,55,.38),rgba(9,19,33,.08))}.asl-kicker{display:flex;align-items:center;gap:8px}.asl-kicker::before{content:"";width:18px;height:1px;background:linear-gradient(90deg,#75bce9,rgba(117,188,233,.15));box-shadow:5px -3px 0 -0.25px #75bce9}.asl-controls{padding-block:18px}.asl input[type="search"],.asl select{border-color:#304a62;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.asl-signal-list{border-top:1px solid #22384d;border-bottom:1px solid #182c40;background:linear-gradient(180deg,#091624,#07121e);box-shadow:var(--asl-highlight),inset 0 -18px 35px rgba(0,0,0,.08)}.asl-signal-card{padding-block:18px}.asl-signal-card:hover{background:linear-gradient(90deg,rgba(117,188,233,.075),rgba(14,30,49,.92))}.asl-arrow{transition:color .16s ease,transform .16s ease}.asl-notice{color:#c1d0de;box-shadow:var(--asl-highlight)}
.asl-drawer{scrollbar-width:thin;scrollbar-color:#38536c #0a1623}.asl-drawer::-webkit-scrollbar{width:10px}.asl-drawer::-webkit-scrollbar-track{background:#0a1623}.asl-drawer::-webkit-scrollbar-thumb{border:2px solid #0a1623;border-radius:999px;background:#38536c}.asl-drawer-top{box-shadow:0 10px 28px rgba(0,0,0,.18)}.asl-detail-section h3{display:flex;align-items:center;gap:10px}.asl-detail-section h3::before{content:"";width:20px;height:1px;background:#507997}.asl-field{margin-bottom:22px}.asl-field dt{color:#bfd0dc}.asl-field dd{font-size:1rem;line-height:1.7}
@media(max-width:700px){.asl-signal-card{padding-block:16px}.asl-field dd{font-size:.97rem}.asl-detail-section h3::before{width:14px}}
