:root {
  color-scheme: light;
  --ink: #102b29;
  --forest: #0e3c38;
  --deep: #071c1a;
  --mint: #a7f0c5;
  --lime: #d8f5a2;
  --paper: #f3f1e9;
  --white: #fffdf8;
  --muted: #6f7d79;
  --line: #dcded6;
  --coral: #f26f5b;
  --amber: #e5a643;
  --blue: #69a7ba;
  --shadow: 0 14px 40px rgba(7, 28, 26, .12);
}

* { box-sizing: border-box; }
html { background: #d8ddd8; }
body {
  margin: 0;
  min-width: 320px;
  background: #d8ddd8;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button { color: inherit; }

.app-shell {
  width: min(100%, 440px);
  min-height: 100dvh;
  margin: 0 auto;
  background: var(--paper);
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 70px rgba(7, 28, 26, .18);
}

.topbar {
  height: calc(92px + env(safe-area-inset-top));
  padding: calc(22px + env(safe-area-inset-top)) 22px 13px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(243, 241, 233, .94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(16, 43, 41, .08);
}
.eyebrow, .section-kicker {
  display: block;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .19em;
  font-weight: 800;
  color: #59706c;
}
.brand-row { display: flex; align-items: center; gap: 10px; margin-top: 5px; }
.brand-row h1 { margin: 0; font-family: Georgia, serif; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.theme-toggle { border: 0; background: none; padding: 0; }
.theme-toggle:focus { outline: none; }
.theme-toggle:focus-visible .theme-track { box-shadow: 0 0 0 2px var(--paper), 0 0 0 4px #3b91b5; }
.theme-track {
  width: 54px;
  height: 30px;
  border-radius: 99px;
  padding: 3px;
  display: block;
  position: relative;
  background: #d7ddd7;
  border: 1px solid #c7cec8;
  box-shadow: inset 0 1px 3px rgba(7,28,26,.08);
  transition: background .28s ease, border-color .28s ease;
}
.theme-track svg {
  width: 13px;
  height: 13px;
  position: absolute;
  top: 8px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  z-index: 2;
}
.sun-icon { left: 8px; color: #9a6f24; }
.moon-icon { right: 7px; color: #70807b; }
.theme-thumb {
  position: absolute;
  z-index: 3;
  width: 22px;
  height: 22px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fffdf8;
  box-shadow: 0 2px 7px rgba(7,28,26,.18);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, box-shadow .28s ease;
}
.live-pill {
  border: 1px solid #bfd0c8;
  padding: 4px 8px 4px 7px;
  border-radius: 99px;
  text-transform: uppercase;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}
.live-pill i { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--coral); margin-right: 4px; animation: pulse 1.8s infinite; }
.icon-button {
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid #d4d9d3; background: rgba(255,255,255,.6); display: grid; place-items: center; position: relative;
}
.icon-button svg { width: 20px; fill: none; stroke: var(--ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notification-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); position: absolute; right: 7px; top: 6px; border: 2px solid var(--paper); }

main { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
.view { display: none; min-height: calc(100dvh - 92px); animation: viewIn .28s ease; }
.view.active { display: block; }

.hero {
  margin: 0 12px;
  min-height: 330px;
  padding: 22px 20px 20px;
  border-radius: 0 0 26px 26px;
  color: var(--white);
  background:
    radial-gradient(circle at 78% 28%, rgba(167,240,197,.18), transparent 21%),
    radial-gradient(circle at 78% 28%, transparent 0 24%, rgba(167,240,197,.10) 24.5% 25%, transparent 25.5% 34%, rgba(167,240,197,.08) 34.5% 35%, transparent 35.5%),
    linear-gradient(145deg, #124d46, #082723 68%);
  position: relative;
  overflow: hidden;
}
.hero::after { content: ""; position: absolute; width: 140px; height: 140px; right: -65px; bottom: -65px; border: 1px solid rgba(167,240,197,.24); transform: rotate(45deg); }
.hero-top { display: flex; justify-content: space-between; align-items: center; }
.date-label { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #b8cbc5; font-weight: 700; }
.location-chip { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: white; border-radius: 99px; padding: 7px 10px; font-size: 11px; display: flex; gap: 5px; align-items: center; }
.location-chip svg { width: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hero h2, .page-title h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.055em;
}
.hero h2 { font-size: 50px; line-height: .91; margin: 34px 0 14px; }
.hero > p { color: #b9cbc5; margin: 0; font-size: 13px; line-height: 1.45; width: 82%; }
.hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 16px; }
.hero-metrics div { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.12); padding-left: 14px; }
.hero-metrics div:first-child { padding-left: 0; }
.hero-metrics div:last-child { border: 0; }
.hero-metrics strong { font-family: Georgia, serif; font-size: 23px; font-weight: 500; }
.hero-metrics span { font-size: 9px; color: #9fb5ae; margin-top: 2px; }

.section-heading { display: flex; align-items: flex-end; justify-content: space-between; padding: 29px 22px 13px; }
.section-heading.compact { padding-top: 27px; }
.section-heading h3 { margin: 4px 0 0; font-family: Georgia, serif; font-size: 25px; font-weight: 500; letter-spacing: -.035em; }
.risk-badge { font-size: 9px; font-weight: 800; text-transform: uppercase; padding: 6px 8px; border-radius: 4px; letter-spacing: .05em; }
.risk-high { background: #fce1da; color: #a23e31; }
.text-button { border: 0; background: none; color: #55716c; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }

.lead-card { margin: 0 14px; border-radius: 18px; overflow: hidden; background: var(--white); box-shadow: 0 8px 28px rgba(7,28,26,.08); cursor: pointer; }
.lead-visual { height: 142px; background: #bdddc7; position: relative; overflow: hidden; }
.lead-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg, transparent 45%, rgba(14,60,56,.09)); }
.lead-number { position: absolute; left: 15px; top: 11px; font-family: Georgia, serif; font-size: 45px; color: rgba(14,60,56,.28); }
.lead-area { position: absolute; z-index: 2; left: 16px; bottom: 13px; font-size: 8px; font-weight: 900; letter-spacing: .18em; color: #174d46; }
.signal-rings { position: absolute; width: 124px; height: 124px; right: 22px; top: 9px; display: grid; place-items: center; }
.signal-rings i { position: absolute; border: 1px solid rgba(14,60,56,.36); border-radius: 50%; }
.signal-rings i:nth-child(1) { width: 40px; height: 40px; background: var(--forest); box-shadow: 0 0 0 8px rgba(255,255,255,.15); }
.signal-rings i:nth-child(2) { width: 78px; height: 78px; }
.signal-rings i:nth-child(3) { width: 118px; height: 118px; }
.signal-rings::after { content: "⚡"; position: relative; z-index: 2; color: var(--mint); font-size: 17px; }
.lead-content { padding: 16px; }
.topic-row { display: flex; justify-content: space-between; font-size: 9px; color: #687b77; text-transform: uppercase; letter-spacing: .1em; }
.topic-row span { color: #ad4638; font-weight: 800; }
.lead-content h3 { font-family: Georgia, serif; font-size: 21px; line-height: 1.13; letter-spacing: -.03em; font-weight: 500; margin: 12px 0 9px; }
.lead-content p { margin: 0; color: #67736f; line-height: 1.45; font-size: 12px; }
.card-footer { border-top: 1px solid #e3e5df; margin-top: 15px; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; color: #7c8985; font-size: 10px; }
.round-arrow { width: 29px; height: 29px; border-radius: 50%; border: 0; background: var(--forest); color: white; font-size: 15px; }

.scope-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 14px; }
.scope-card { min-height: 143px; border: 0; border-radius: 14px; padding: 13px; text-align: left; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.scope-card::after { content: ""; position: absolute; width: 70px; height: 70px; border-radius: 50%; border: 1px solid currentColor; opacity: .11; right: -30px; bottom: -28px; }
.scope-card.city { background: #dce9df; }
.scope-card.country { background: #f5dfcb; }
.scope-card.world { background: #d9e6ea; }
.scope-icon { font-size: 20px; }
.scope-name { font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; margin-top: 13px; }
.scope-card strong { font-family: Georgia, serif; font-size: 32px; font-weight: 500; margin-top: 3px; line-height: 1; }
.scope-card small { font-size: 8px; color: #6c7a76; margin-top: 4px; }

.digest-cta { margin: 25px 14px 10px; width: calc(100% - 28px); border: 0; border-radius: 16px; padding: 14px; background: var(--forest); color: white; display: grid; grid-template-columns: 48px 1fr 24px; align-items: center; text-align: left; gap: 11px; }
.digest-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--mint); color: var(--forest); display: grid; place-items: center; }
.digest-icon svg, .export-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.digest-cta span:nth-child(2) { display: flex; flex-direction: column; }
.digest-cta small { color: var(--mint); font-size: 8px; letter-spacing: .11em; font-weight: 800; }
.digest-cta strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; margin: 2px 0; }
.digest-cta em { font-size: 9px; font-style: normal; color: #a8bdb6; }
.insight-teaser { margin: 9px 14px 10px; width: calc(100% - 28px); border: 1px solid #cad5cf; border-radius: 16px; padding: 14px; background: #e5ece5; display: grid; grid-template-columns: 48px 1fr 22px; align-items: center; gap: 11px; text-align: left; }
.insight-teaser-mark { width: 48px; height: 58px; display: grid; place-items: center; border-radius: 10px; background: var(--white); color: var(--forest); font-family: Georgia, serif; font-size: 28px; border: 1px solid #c8d5ce; }
.insight-teaser > span:nth-child(2) { display: flex; flex-direction: column; }
.insight-teaser small { font-size: 7px; letter-spacing: .12em; font-weight: 900; color: #55716c; }
.insight-teaser strong { font-family: Georgia, serif; font-size: 15px; line-height: 1.15; font-weight: 500; margin: 4px 0; }
.insight-teaser em { font-size: 8px; font-style: normal; color: #77837f; }

.page-title { padding: 30px 22px 18px; }
.page-title h2 { font-size: 42px; line-height: .98; margin: 8px 0 10px; }
.page-title p { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.45; }
.live-feed-panel { margin: 0 14px 5px; padding: 16px; border-radius: 16px; background: #e3ece5; border: 1px solid #ccd8cf; }
.live-feed-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.live-feed-head h3 { margin: 5px 0 0; font-family: Georgia, serif; font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
.refresh-news-button { border: 1px solid #b9cbbf; border-radius: 99px; background: rgba(255,255,255,.6); padding: 8px 10px; display: flex; align-items: center; gap: 5px; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; font-weight: 900; }
.refresh-news-button svg { width: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.refresh-news-button.loading svg { animation: sweep 1s linear infinite; }
.live-feed-status { margin-top: 13px; display: flex; align-items: center; gap: 7px; font-size: 9px; color: #60716b; }
.live-feed-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(229,166,67,.13); }
.live-feed-status.connected i { background: #54a879; box-shadow: 0 0 0 4px rgba(84,168,121,.13); }
.live-feed-status.error i { background: var(--coral); box-shadow: 0 0 0 4px rgba(242,111,91,.13); }
.live-feed-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 13px; padding: 11px 0; border-top: 1px solid #c6d3ca; border-bottom: 1px solid #c6d3ca; }
.live-feed-metrics div { display: flex; flex-direction: column; padding-left: 10px; border-right: 1px solid #c6d3ca; }
.live-feed-metrics div:first-child { padding-left: 0; }
.live-feed-metrics div:last-child { border: 0; }
.live-feed-metrics strong { font-family: Georgia, serif; font-size: 19px; font-weight: 500; }
.live-feed-metrics span { font-size: 7px; color: #72817c; }
.live-news-list { display: flex; flex-direction: column; }
.live-news-card { padding: 14px 0; border-bottom: 1px solid #c9d5cd; cursor: pointer; }
.live-news-card:last-child { border-bottom: 0; padding-bottom: 4px; }
.live-news-meta { display: flex; gap: 7px; align-items: center; text-transform: uppercase; font-size: 7px; letter-spacing: .08em; color: #6b7d76; font-weight: 800; }
.live-news-meta b { color: #a14b3e; }
.live-news-card h4 { margin: 7px 0 5px; font-family: Georgia, serif; font-size: 17px; line-height: 1.18; font-weight: 500; letter-spacing: -.02em; }
.live-news-card p { margin: 0; color: #6e7d78; font-size: 9px; line-height: 1.4; }
.live-news-card-footer { margin-top: 8px; display: flex; justify-content: space-between; align-items: center; font-size: 7px; color: #76857f; }
.live-news-card-footer strong { color: var(--forest); text-transform: uppercase; letter-spacing: .08em; }
.live-feed-note { margin: 10px 0 0; font-size: 7px; color: #7b8984; line-height: 1.45; }
.feed-demo-heading { padding-left: 18px; padding-right: 18px; }
.source-open-button { display: flex; width: 100%; justify-content: center; margin-top: 20px; border: 0; border-radius: 11px; padding: 13px; background: var(--forest); color: white; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; font-size: 9px; font-weight: 900; }
.search-box { margin: 4px 14px 14px; height: 47px; display: flex; align-items: center; background: white; border: 1px solid #dcdfda; border-radius: 12px; padding: 0 13px; gap: 9px; }
.search-box svg { width: 18px; fill: none; stroke: #657671; stroke-width: 1.8; }
.search-box input { border: 0; outline: 0; background: transparent; width: 100%; color: var(--ink); font-size: 13px; }
.filter-row { display: flex; padding: 0 14px; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.filter, .type-chip { border-radius: 99px; white-space: nowrap; }
.filter { border: 1px solid #cfd6d0; background: transparent; padding: 9px 16px; font-size: 11px; }
.filter.active { background: var(--forest); color: white; border-color: var(--forest); }
.type-filter { display: flex; padding: 10px 14px 0; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.type-chip { border: 0; padding: 6px 11px; font-size: 9px; background: #e5e5dc; color: #61716d; }
.type-chip.active { background: #cce9d4; color: var(--forest); font-weight: 800; }
.feed-summary { padding: 24px 16px 9px; display: flex; justify-content: space-between; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #687873; }
.feed-summary button { border: 0; background: none; font-size: 9px; color: var(--ink); text-transform: uppercase; letter-spacing: .06em; }
.news-list { padding: 0 14px; }
.news-card { background: var(--white); border-bottom: 1px solid #dfe1da; padding: 17px 3px; display: grid; grid-template-columns: 1fr 88px; gap: 12px; cursor: pointer; animation: cardIn .25s both; }
.news-card:first-child { border-top: 1px solid #dfe1da; }
.news-card-meta { display: flex; align-items: center; gap: 7px; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; color: #76827f; font-weight: 700; }
.news-card-meta .dot { width: 4px; height: 4px; border-radius: 50%; background: #a6afac; }
.news-card h3 { font-family: Georgia, serif; font-size: 17px; line-height: 1.18; font-weight: 500; letter-spacing: -.02em; margin: 8px 0; }
.news-card p { font-size: 10px; line-height: 1.4; color: #71807b; margin: 0; }
.news-thumb { border-radius: 10px; min-height: 94px; position: relative; overflow: hidden; background: #cfe1d4; }
.news-thumb::before, .news-thumb::after { content: ""; position: absolute; border: 1px solid rgba(14,60,56,.2); border-radius: 50%; }
.news-thumb::before { width: 70px; height: 70px; right: -14px; top: 13px; }
.news-thumb::after { width: 38px; height: 38px; right: 2px; top: 29px; background: rgba(14,60,56,.13); }
.news-thumb.coral { background: #f3d2c7; }
.news-thumb.blue { background: #cbdfe5; }
.news-thumb.amber { background: #f1dfbd; }
.news-risk { position: absolute; bottom: 7px; left: 7px; font-size: 7px; text-transform: uppercase; font-weight: 900; letter-spacing: .06em; background: rgba(255,255,255,.82); padding: 4px 5px; border-radius: 3px; z-index: 2; }
.empty-state { text-align: center; padding: 70px 20px; color: #73807c; }
.empty-state span { font-family: Georgia, serif; font-size: 44px; }
.empty-state h3 { font-family: Georgia, serif; color: var(--ink); margin-bottom: 4px; }
.empty-state p { font-size: 12px; }

.digest-title { padding-bottom: 13px; }
.digest-title p { text-transform: uppercase; letter-spacing: .1em; font-size: 9px; font-weight: 800; }
.duration-control { margin-top: 22px; padding: 15px; border-radius: 14px; background: rgba(255,255,255,.46); border: 1px solid #d3d8d2; }
.duration-control-head { display: flex; align-items: center; justify-content: space-between; }
.duration-control-head label { font-size: 8px; letter-spacing: .12em; font-weight: 900; color: #667772; }
.duration-control-head output { min-width: 62px; padding: 6px 9px; border-radius: 99px; background: var(--forest); color: white; text-align: center; font-family: Georgia, serif; font-size: 16px; }
.duration-control input[type="range"] { width: 100%; height: 28px; margin: 10px 0 0; appearance: none; background: transparent; accent-color: var(--forest); }
.duration-control input[type="range"]::-webkit-slider-runnable-track { height: 5px; border-radius: 99px; background: linear-gradient(90deg, var(--forest) 0 var(--range-progress, 45.45%), #cfd5cf var(--range-progress, 45.45%) 100%); }
.duration-control input[type="range"]::-webkit-slider-thumb { appearance: none; width: 23px; height: 23px; margin-top: -9px; border-radius: 50%; background: var(--white); border: 7px solid var(--forest); box-shadow: 0 2px 7px rgba(7,28,26,.22); }
.duration-control input[type="range"]::-moz-range-track { height: 5px; border-radius: 99px; background: #cfd5cf; }
.duration-control input[type="range"]::-moz-range-progress { height: 5px; border-radius: 99px; background: var(--forest); }
.duration-control input[type="range"]::-moz-range-thumb { width: 10px; height: 10px; border-radius: 50%; background: var(--white); border: 7px solid var(--forest); }
.duration-control input[type="range"]:focus-visible { outline: 2px solid #3b91b5; outline-offset: 5px; border-radius: 8px; }
.duration-scale { display: flex; justify-content: space-between; font-size: 7px; color: #81908b; margin-top: -2px; }
.duration-control > p { margin: 9px 0 0; font-size: 9px; line-height: 1.35; color: #73827d; }
.digest-status { margin: 0 14px; background: var(--deep); color: white; border-radius: 16px; padding: 14px; display: grid; grid-template-columns: 58px 1fr 24px; gap: 12px; align-items: center; }
.score-ring { --readiness: 90%; width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: baseline; justify-content: center; padding-top: 19px; position: relative; background: conic-gradient(var(--mint) var(--readiness), rgba(167,240,197,.18) 0); }
.score-ring::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--deep); }
.score-ring span, .score-ring small { transform: rotate(15deg); }
.score-ring span, .score-ring small { transform: none; position: relative; z-index: 2; }
.score-ring span { font-family: Georgia, serif; font-size: 19px; line-height: 1; }
.score-ring small { font-size: 7px; color: #9db2ab; margin-left: 1px; }
.digest-status div:nth-child(2) { display: flex; flex-direction: column; }
.digest-status div:nth-child(2) small { color: var(--mint); font-size: 7px; letter-spacing: .12em; font-weight: 800; }
.digest-status div:nth-child(2) strong { font-family: Georgia, serif; font-weight: 500; margin-top: 3px; }
.digest-status div:nth-child(2) p { margin: 2px 0 0; color: #9eb2ac; font-size: 8px; }
.checkmark { width: 22px; height: 22px; background: var(--mint); color: var(--forest); border-radius: 50%; display: grid; place-items: center; font-weight: 900; font-size: 12px; }
.checkmark.pending { background: var(--amber); color: #3d2809; }
.duration-summary { margin: 9px 14px 0; padding: 13px 14px; border-radius: 13px; background: #e1ebe3; display: grid; grid-template-columns: 104px 1fr; gap: 12px; align-items: center; border: 1px solid #ced9d1; }
.duration-summary > div:first-child { display: flex; flex-direction: column; border-right: 1px solid #c7d3ca; }
.duration-summary small { font-size: 7px; letter-spacing: .11em; font-weight: 900; color: #557067; }
.duration-summary strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; margin-top: 3px; }
.duration-summary-copy { display: flex; flex-direction: column; gap: 8px; }
.duration-summary-copy > span { font-size: 9px; line-height: 1.35; color: #596c65; }
.readiness-bar { height: 5px; overflow: hidden; border-radius: 99px; background: #c5d1c8; }
.readiness-bar i { display: block; width: 90%; height: 100%; border-radius: inherit; background: var(--forest); transition: width .25s ease, background .25s ease; }
.script-intro { margin: 20px 14px 8px; padding: 18px; border: 1px solid #cfd5cf; border-radius: 14px; background: rgba(255,255,255,.38); }
.script-intro > span, .story-meta { font-size: 8px; letter-spacing: .12em; font-weight: 900; color: #6c7c77; }
.script-intro p { font-family: Georgia, serif; font-size: 17px; line-height: 1.35; letter-spacing: -.01em; }
.copy-button { border: 0; border-bottom: 1px solid #6a7a75; background: none; padding: 0 0 2px; text-transform: uppercase; font-size: 8px; letter-spacing: .08em; }
.story-stack { padding: 5px 14px; }
.story-block { display: grid; grid-template-columns: 41px 1fr; gap: 10px; padding: 20px 0; border-bottom: 1px solid #d4d8d2; }
.story-index { font-family: Georgia, serif; font-size: 30px; color: #99a7a2; }
.story-meta { display: flex; justify-content: space-between; }
.story-meta span { color: #9b493d; }
.story-body h3 { font-family: Georgia, serif; font-size: 23px; line-height: 1.08; margin: 8px 0; font-weight: 500; letter-spacing: -.03em; }
.story-body > p { color: #677570; font-size: 11px; line-height: 1.5; }
.explain-box { background: #dcece1; padding: 11px; border-left: 3px solid #5d9b78; display: flex; flex-direction: column; gap: 4px; }
.explain-box.amber { background: #f3e5c9; border-color: var(--amber); }
.explain-box b { text-transform: uppercase; font-size: 7px; letter-spacing: .12em; }
.explain-box span { font-size: 10px; line-height: 1.4; }
.export-button { margin: 18px 14px 8px; width: calc(100% - 28px); border: 0; border-radius: 12px; background: var(--forest); color: white; padding: 15px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 11px; font-weight: 800; }
.editor-note { padding: 0 25px; text-align: center; color: #87928f; font-size: 8px; line-height: 1.4; }
.vector-story { background: linear-gradient(90deg, rgba(105,167,186,.08), transparent); }
.inline-insight-link { border: 0; background: none; padding: 4px 0 0; color: #376c78; text-transform: uppercase; letter-spacing: .08em; font-size: 8px; font-weight: 900; }

.insights-title { padding-bottom: 15px; }
.insight-feature { margin: 0 14px 16px; min-height: 350px; padding: 18px; border-radius: 18px; color: white; cursor: pointer; position: relative; overflow: hidden; background: linear-gradient(145deg, #163f49, #071c1a 72%); box-shadow: var(--shadow); }
.insight-feature::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, transparent 55%, rgba(167,240,197,.08)); }
.insight-feature-top { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 2; }
.insight-kind { font-size: 8px; letter-spacing: .15em; font-weight: 900; color: var(--mint); }
.insight-read { font-size: 8px; color: #9eb7b1; }
.insight-orbit { width: 130px; height: 130px; margin: 15px auto 5px; display: grid; place-items: center; position: relative; }
.insight-orbit i { position: absolute; border: 1px solid rgba(167,240,197,.27); border-radius: 50%; }
.insight-orbit i:nth-child(1) { width: 55px; height: 55px; }
.insight-orbit i:nth-child(2) { width: 91px; height: 91px; }
.insight-orbit i:nth-child(3) { width: 127px; height: 127px; }
.insight-orbit b { width: 52px; height: 52px; border-radius: 50%; background: var(--mint); color: var(--forest); display: grid; place-items: center; font-family: Georgia, serif; font-size: 18px; box-shadow: 0 0 25px rgba(167,240,197,.2); }
.insight-scope { display: block; color: #85b5a9; font-size: 7px; letter-spacing: .15em; font-weight: 900; }
.insight-feature h3 { font-family: Georgia, serif; font-size: 25px; line-height: 1.06; letter-spacing: -.035em; font-weight: 500; margin: 9px 0; position: relative; z-index: 2; }
.insight-feature p { color: #a7bcb6; font-size: 10px; line-height: 1.45; margin: 0; width: 90%; }
.insight-feature-footer { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.13); margin-top: 15px; padding-top: 10px; color: #8facaa; font-size: 8px; }
.insight-feature-footer b { color: var(--mint); font-size: 17px; }
.insight-stats { margin: 0 14px 18px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #d4d9d3; border-radius: 13px; background: rgba(255,255,255,.38); }
.insight-stats div { padding: 12px; display: flex; flex-direction: column; border-right: 1px solid #d9ddd7; }
.insight-stats div:last-child { border: 0; }
.insight-stats strong { font-family: Georgia, serif; font-size: 23px; font-weight: 500; }
.insight-stats span { font-size: 8px; color: #71807b; }
.insight-list { padding: 0 14px; display: flex; flex-direction: column; gap: 9px; }
.insight-card { border: 1px solid #d6dbd5; background: var(--white); border-radius: 14px; padding: 15px; cursor: pointer; box-shadow: 0 5px 18px rgba(7,28,26,.045); animation: cardIn .25s both; }
.insight-card-top { display: flex; align-items: center; justify-content: space-between; }
.format-badge { font-size: 7px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; padding: 5px 6px; border-radius: 4px; background: #dcebe1; color: #28644f; }
.format-badge.interview { background: #dce8ed; color: #396c7a; }
.format-badge.regulator { background: #f2e1c4; color: #8a5e20; }
.format-badge.review { background: #eadfef; color: #695176; }
.insight-card-top time { font-size: 8px; color: #7a8783; }
.insight-card h3 { font-family: Georgia, serif; font-size: 20px; line-height: 1.12; letter-spacing: -.025em; font-weight: 500; margin: 11px 0 8px; }
.insight-card p { font-size: 10px; color: #6d7b77; line-height: 1.45; margin: 0; }
.insight-card-bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e0e2dd; margin-top: 13px; padding-top: 10px; font-size: 8px; color: #71807b; }
.insight-card-bottom strong { color: var(--forest); text-transform: uppercase; letter-spacing: .08em; font-size: 7px; }
.insight-disclaimer { margin: 20px 25px 0; text-align: center; font-size: 8px; line-height: 1.45; color: #84908c; }
.insight-sheet-meta { display: flex; gap: 7px; flex-wrap: wrap; margin: 4px 0 18px; }
.insight-sheet-meta span { border: 1px solid #ccd4ce; border-radius: 99px; padding: 5px 8px; color: #677772; font-size: 8px; }
.takeaway-box { padding: 15px; border-radius: 13px; background: #dce9df; margin: 18px 0; }
.takeaway-box b { text-transform: uppercase; letter-spacing: .1em; font-size: 8px; color: #376552; }
.takeaway-box p { margin: 7px 0 0; font-size: 11px; line-height: 1.5; color: #4f635c; }
.question-list { margin: 18px 0; }
.question-list b { font-family: Georgia, serif; font-weight: 500; font-size: 18px; }
.question-list ul { padding-left: 17px; color: #60716b; font-size: 11px; line-height: 1.45; }

.radar-panel { margin: 0 14px; min-height: 210px; background: var(--deep); color: white; border-radius: 18px; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; overflow: hidden; }
.radar-visual { width: 185px; height: 185px; position: relative; margin-left: -22px; display: grid; place-items: center; }
.radar-visual i { position: absolute; border: 1px solid rgba(167,240,197,.21); border-radius: 50%; }
.radar-visual i:nth-child(1) { width: 55px; height: 55px; }
.radar-visual i:nth-child(2) { width: 95px; height: 95px; }
.radar-visual i:nth-child(3) { width: 135px; height: 135px; }
.radar-visual i:nth-child(4) { width: 175px; height: 175px; }
.radar-visual::before { content:""; position:absolute; width: 87px; height: 87px; background: conic-gradient(from 0deg, rgba(167,240,197,.25), transparent 25%); transform-origin: bottom right; top: 5px; left: 5px; animation: sweep 5s linear infinite; border-radius: 100% 0 0; }
.radar-center { width: 43px; height: 43px; border-radius: 50%; background: var(--mint); color: var(--forest); display:grid; place-items:center; font-family: Georgia, serif; font-size: 20px; z-index:2; }
.radar-dot { position:absolute; width:7px; height:7px; border-radius:50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(242,111,91,.13); }
.radar-dot.one { top: 38px; right: 42px; }.radar-dot.two { bottom: 45px; right: 22px; }.radar-dot.three { left: 47px; bottom: 58px; background: var(--amber); }
.radar-caption { display: flex; flex-direction: column; padding-right: 14px; }
.radar-caption span { font-size: 7px; letter-spacing: .11em; color: #8ca39c; font-weight: 800; }
.radar-caption strong { font-family: Georgia, serif; font-size: 32px; color: var(--mint); font-weight: 500; margin-top: 6px; }
.radar-caption small { color: #8ca39c; font-size: 8px; }
.scheme-list { padding: 0 14px; display: flex; flex-direction: column; gap: 7px; }
.scheme-card { border: 0; background: white; border-radius: 12px; display: grid; grid-template-columns: 38px 1fr auto; gap: 10px; align-items: center; padding: 12px; text-align:left; }
.scheme-mark { width: 34px; height: 34px; display:grid; place-items:center; border-radius: 8px; font-family: Georgia, serif; font-size: 16px; }
.scheme-mark.coral { background: #f7d6ce; color:#943f32; }.scheme-mark.amber { background:#f4e3bd; color:#875d1c; }.scheme-mark.blue { background:#d6e8ec; color:#356573; }
.scheme-card span:nth-child(2) { display: flex; flex-direction: column; }
.scheme-card strong { font-family: Georgia, serif; font-size: 15px; font-weight: 500; }
.scheme-card small { color:#74807d; font-size:8px; margin-top:3px; }
.scheme-card em { font-style:normal; font-size:10px; font-weight:800; color:#a44b3f; }
.antifraud-card { margin: 22px 14px 0; border-radius: 16px; background: #dbeade; padding: 18px; position:relative; overflow:hidden; }
.antifraud-card::after { content:"AF"; position:absolute; right:-8px; bottom:-28px; font-family: Georgia, serif; font-size:100px; color:rgba(14,60,56,.06); }
.antifraud-card h3 { font-family: Georgia, serif; font-size:24px; line-height:1.08; font-weight:500; margin:9px 0; width:80%; }
.antifraud-card p { font-size:10px; line-height:1.5; color:#5f706a; position:relative; z-index:1; }
.feature-tags { display:flex; gap:5px; flex-wrap:wrap; position:relative; z-index:1; }
.feature-tags span { border:1px solid #aac2b1; border-radius:99px; padding:5px 8px; font-size:8px; }

.bottom-nav {
  position: fixed;
  width: min(100%, 440px);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: calc(76px + env(safe-area-inset-bottom));
  padding: 8px 15px env(safe-area-inset-bottom);
  background: rgba(255,253,248,.96);
  backdrop-filter: blur(20px);
  border-top: 1px solid #d9ddd7;
  z-index: 40;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.nav-item { border:0; background:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#87928f; font-size:7px; }
.nav-item svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-item.active { color:var(--forest); font-weight:800; }
.nav-item.center { margin-top:-26px; }
.center-icon { width:51px; height:51px; border-radius:50%; background:var(--forest); color:white; display:grid; place-items:center; border:5px solid var(--paper); box-shadow:0 5px 15px rgba(7,28,26,.2); }
.center-icon svg { width:20px; }

.sheet-backdrop { position:fixed; inset:0; z-index:80; background:rgba(7,28,26,.5); opacity:0; pointer-events:none; transition:.25s; backdrop-filter:blur(2px); }
.sheet-backdrop.open { opacity:1; pointer-events:auto; }
.article-sheet { position:fixed; z-index:90; width:min(100%,440px); max-height:92dvh; overflow:auto; bottom:0; left:50%; transform:translate(-50%, 105%); background:var(--paper); border-radius:24px 24px 0 0; padding:10px 20px calc(30px + env(safe-area-inset-bottom)); transition:transform .32s cubic-bezier(.2,.8,.2,1); box-shadow:0 -20px 60px rgba(7,28,26,.25); }
.article-sheet.open { transform:translate(-50%,0); }
.sheet-handle { width:38px; height:4px; border-radius:99px; background:#b9c0bc; margin:0 auto 16px; }
.sheet-close { position:absolute; right:16px; top:19px; width:32px; height:32px; border:0; border-radius:50%; background:#dfe2dc; font-size:23px; line-height:1; }
.sheet-tag { display:inline-block; margin-top:18px; background:#f7d9d2; color:#9c4437; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:6px 8px; border-radius:4px; }
.article-sheet h2 { font-family:Georgia,serif; font-size:31px; line-height:1.05; letter-spacing:-.04em; font-weight:500; margin:14px 0; }
.sheet-lead { color:#62736e; font-size:13px; line-height:1.5; }
.sheet-facts { margin:22px 0; background:var(--deep); color:white; padding:16px; border-radius:14px; }
.sheet-facts b { font-size:8px; color:var(--mint); letter-spacing:.12em; text-transform:uppercase; }
.sheet-facts ul { padding-left:17px; margin:10px 0 0; }
.sheet-facts li { margin:8px 0; font-size:11px; line-height:1.4; color:#c7d3cf; }
.sheet-explain { border-left:3px solid var(--amber); padding-left:13px; }
.sheet-explain b { font-family:Georgia,serif; font-size:17px; font-weight:500; }
.sheet-explain p { font-size:11px; line-height:1.5; color:#65746f; }
.source-line { border-top:1px solid #d5d9d3; margin-top:22px; padding-top:12px; font-size:8px; color:#84908c; text-transform:uppercase; letter-spacing:.08em; }
.toast { position:fixed; z-index:120; left:50%; bottom:100px; transform:translate(-50%,20px); background:var(--deep); color:white; border-radius:99px; padding:11px 16px; font-size:10px; opacity:0; pointer-events:none; transition:.25s; white-space:nowrap; box-shadow:var(--shadow); }
.toast.show { opacity:1; transform:translate(-50%,0); }

@keyframes pulse { 50% { opacity:.35; } }
@keyframes viewIn { from { opacity:0; transform:translateY(4px); } }
@keyframes cardIn { from { opacity:0; transform:translateY(8px); } }
@keyframes sweep { to { transform:rotate(360deg); } }

/* Night theme: cold cyber-blue surfaces with restrained warning orange. */
html.dark-theme {
  color-scheme: dark;
  background: #02070c;
  --ink: #dcecf5;
  --forest: #087bb2;
  --deep: #030b12;
  --mint: #48c8ff;
  --lime: #8edfff;
  --paper: #050d14;
  --white: #09151f;
  --muted: #8299a8;
  --line: #17364a;
  --coral: #ff613d;
  --amber: #ff9e36;
  --blue: #41bfff;
  --shadow: 0 15px 45px rgba(0, 139, 213, .14);
}
.dark-theme body { background: #02070c; }
.dark-theme .app-shell {
  background:
    linear-gradient(rgba(5,13,20,.94), rgba(5,13,20,.98)),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(38,178,241,.035) 40px),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(38,178,241,.035) 40px);
  box-shadow: 0 0 80px rgba(0, 139, 213, .16);
}
.dark-theme .topbar {
  background: rgba(3, 10, 17, .92);
  border-bottom-color: rgba(66, 193, 248, .2);
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
}
.dark-theme .eyebrow,
.dark-theme .section-kicker { color: #59bce8; text-shadow: 0 0 12px rgba(43,183,246,.22); }
.dark-theme .brand-row h1 { color: #eef8fc; text-shadow: 0 0 18px rgba(67,196,255,.18); }
.dark-theme .live-pill { border-color: #1a5572; color: #a9c4d2; background: rgba(10,38,54,.55); }
.dark-theme .theme-track { background: #061d2b; border-color: #176083; box-shadow: inset 0 0 12px rgba(0,142,210,.22), 0 0 12px rgba(0,142,210,.08); }
.dark-theme .theme-toggle:focus-visible .theme-track { box-shadow: 0 0 0 2px #050d14, 0 0 0 4px #48c8ff, inset 0 0 12px rgba(0,142,210,.22); }
.dark-theme .theme-thumb { transform: translateX(24px); background: #52c9f7; box-shadow: 0 0 14px rgba(65,194,247,.65); }
.dark-theme .sun-icon { color: #557684; }
.dark-theme .moon-icon { color: #031019; }
.dark-theme .icon-button { background: rgba(5,23,34,.8); border-color: #174a63; box-shadow: inset 0 0 16px rgba(21,142,195,.08); }
.dark-theme .icon-button svg { stroke: #8cd9fa; }
.dark-theme .notification-dot { border-color: #071019; box-shadow: 0 0 8px rgba(255,97,61,.7); }
.dark-theme .hero {
  color: #effaff;
  border: 1px solid rgba(50,174,230,.25);
  background:
    linear-gradient(125deg, rgba(1,8,14,.15), rgba(3,14,23,.7)),
    radial-gradient(circle at 78% 28%, rgba(38,178,241,.24), transparent 21%),
    radial-gradient(circle at 78% 28%, transparent 0 24%, rgba(55,197,255,.16) 24.5% 25%, transparent 25.5% 34%, rgba(55,197,255,.1) 34.5% 35%, transparent 35.5%),
    linear-gradient(145deg, #071c2b, #02080e 72%);
  box-shadow: inset 0 0 42px rgba(15,132,188,.12), 0 12px 35px rgba(0,0,0,.35);
}
.dark-theme .hero::after { border-color: rgba(53,190,248,.3); box-shadow: 0 0 18px rgba(39,181,241,.1); }
.dark-theme .date-label,
.dark-theme .hero > p,
.dark-theme .hero-metrics span { color: #83a8b9; }
.dark-theme .location-chip { background: rgba(5,34,50,.72); border-color: rgba(75,191,239,.28); color: #c9eeff; }
.dark-theme .hero-metrics { border-top-color: rgba(70,192,242,.22); }
.dark-theme .hero-metrics div { border-right-color: rgba(70,192,242,.16); }
.dark-theme .risk-high { background: rgba(255,83,47,.13); color: #ff795b; border: 1px solid rgba(255,94,58,.34); box-shadow: 0 0 14px rgba(255,75,44,.08); }
.dark-theme .lead-card,
.dark-theme .news-card,
.dark-theme .scheme-card,
.dark-theme .insight-card {
  background: linear-gradient(145deg, rgba(8,23,34,.98), rgba(4,13,20,.98));
  border: 1px solid #12374c;
  box-shadow: inset 0 0 24px rgba(25,147,201,.035), 0 8px 25px rgba(0,0,0,.22);
}
.dark-theme .lead-visual {
  background:
    linear-gradient(rgba(3,14,22,.52), rgba(3,14,22,.75)),
    repeating-linear-gradient(90deg, transparent 0 29px, rgba(42,181,241,.12) 30px),
    repeating-linear-gradient(0deg, transparent 0 29px, rgba(42,181,241,.12) 30px),
    #07304a;
  border-bottom: 1px solid #15516e;
}
.dark-theme .lead-number { color: rgba(73,196,246,.3); }
.dark-theme .lead-area { color: #62ccf8; }
.dark-theme .signal-rings i { border-color: rgba(72,200,255,.42); box-shadow: 0 0 10px rgba(43,180,238,.08); }
.dark-theme .signal-rings i:nth-child(1) { background: #063d59; box-shadow: 0 0 22px rgba(41,190,251,.3); }
.dark-theme .signal-rings::after { color: #ff9e36; text-shadow: 0 0 9px rgba(255,138,36,.55); }
.dark-theme .lead-content h3,
.dark-theme .news-card h3,
.dark-theme .story-body h3,
.dark-theme .scheme-card strong,
.dark-theme .antifraud-card h3,
.dark-theme .insight-card h3 { color: #e6f3f9; }
.dark-theme .lead-content p,
.dark-theme .news-card p,
.dark-theme .story-body > p,
.dark-theme .scheme-card small,
.dark-theme .antifraud-card p { color: #8399a5; }
.dark-theme .insight-teaser { background: #071722; border-color: #17455d; }
.dark-theme .insight-teaser-mark { background: #061f2e; color: #58ccfa; border-color: #1b5b78; box-shadow: inset 0 0 15px rgba(30,165,222,.08); }
.dark-theme .insight-teaser small { color: #ff9e46; }
.dark-theme .insight-teaser em { color: #718b98; }
.dark-theme .inline-insight-link { color: #58c9f5; }
.dark-theme .insight-feature { background: linear-gradient(145deg, #061d2c, #02080e 72%); border: 1px solid #17516f; box-shadow: inset 0 0 34px rgba(25,151,207,.08), 0 12px 35px rgba(0,0,0,.32); }
.dark-theme .insight-orbit i { border-color: rgba(69,199,255,.35); box-shadow: 0 0 11px rgba(45,183,240,.08); }
.dark-theme .insight-orbit b { background: #39bdf4; color: #031019; box-shadow: 0 0 25px rgba(57,189,244,.32); }
.dark-theme .insight-stats { background: #07141e; border-color: #174359; }
.dark-theme .insight-stats div { border-color: #17394b; }
.dark-theme .insight-stats span,
.dark-theme .insight-card p { color: #8298a4; }
.dark-theme .insight-card-bottom { border-color: #163348; }
.dark-theme .insight-card-bottom strong { color: #58c9f5; }
.dark-theme .format-badge { background: #09291f; color: #60d3a4; }
.dark-theme .format-badge.interview { background: #082738; color: #5bcdf8; }
.dark-theme .format-badge.regulator { background: #2a1d0d; color: #ffab4b; }
.dark-theme .format-badge.review { background: #21172a; color: #c399db; }
.dark-theme .insight-sheet-meta span { border-color: #22506a; color: #85a8b8; }
.dark-theme .takeaway-box { background: #08241e; border: 1px solid #185642; }
.dark-theme .takeaway-box b { color: #5bd1a2; }
.dark-theme .takeaway-box p,
.dark-theme .question-list ul { color: #8da1aa; }
.dark-theme .topic-row span,
.dark-theme .story-meta span { color: #ff8b47; }
.dark-theme .card-footer,
.dark-theme .news-card,
.dark-theme .story-block { border-color: #163348; }
.dark-theme .round-arrow,
.dark-theme .digest-cta,
.dark-theme .export-button {
  background: linear-gradient(135deg, #073957, #052131);
  border: 1px solid #16628a;
  box-shadow: inset 0 0 18px rgba(35,181,240,.1), 0 0 18px rgba(13,126,180,.08);
}
.dark-theme .scope-card { color: #d8edf6; border: 1px solid #15415a; box-shadow: inset 0 0 20px rgba(30,169,228,.055); }
.dark-theme .scope-card.city { background: #081c29; }
.dark-theme .scope-card.country { background: #18150f; border-color: #554122; }
.dark-theme .scope-card.world { background: #071b29; }
.dark-theme .scope-card small { color: #7892a0; }
.dark-theme .scope-card.country .scope-icon,
.dark-theme .scope-card.country .scope-name { color: #ffad4a; }
.dark-theme .digest-icon,
.dark-theme .center-icon {
  background: #0b8bc3;
  color: #e9f9ff;
  box-shadow: 0 0 22px rgba(38,185,244,.27);
}
.dark-theme .center-icon { border-color: #050d14; }
.dark-theme .search-box { background: #07141e; border-color: #17465e; box-shadow: inset 0 0 14px rgba(31,158,213,.04); }
.dark-theme .live-feed-panel { background: #071720; border-color: #17465e; box-shadow: inset 0 0 24px rgba(28,158,214,.045); }
.dark-theme .refresh-news-button { background: #08202e; border-color: #1d5570; color: #79d3f6; }
.dark-theme .live-feed-status { color: #8299a5; }
.dark-theme .live-feed-metrics,
.dark-theme .live-feed-metrics div,
.dark-theme .live-news-card { border-color: #173a4d; }
.dark-theme .live-feed-metrics span,
.dark-theme .live-news-card p,
.dark-theme .live-feed-note { color: #78909c; }
.dark-theme .live-news-card h4 { color: #e4f2f8; }
.dark-theme .live-news-meta b { color: #ff8b47; }
.dark-theme .live-news-card-footer strong { color: #59caf6; }
.dark-theme .source-open-button { background: #073957; border: 1px solid #16628a; }
.dark-theme .search-box input { color: #dcecf5; }
.dark-theme .search-box input::placeholder { color: #607986; }
.dark-theme .search-box svg { stroke: #55bfe9; }
.dark-theme .filter { border-color: #21475b; color: #92aab6; }
.dark-theme .filter.active { background: #073b58; border-color: #178ac0; color: #dcf5ff; box-shadow: 0 0 14px rgba(32,177,237,.13); }
.dark-theme .type-chip { background: #0b1c27; color: #829aa6; border: 1px solid #17384a; }
.dark-theme .type-chip.active { background: #0a3147; color: #62cff8; border-color: #1a7095; }
.dark-theme .news-thumb { background: #09273a; border: 1px solid #174b65; }
.dark-theme .news-thumb.coral { background: #28130f; border-color: #653025; }
.dark-theme .news-thumb.blue { background: #08273a; }
.dark-theme .news-thumb.amber { background: #2b2110; border-color: #654a20; }
.dark-theme .news-thumb::before,
.dark-theme .news-thumb::after { border-color: rgba(66,196,249,.35); }
.dark-theme .news-thumb::after { background: rgba(27,159,216,.18); box-shadow: 0 0 14px rgba(34,173,230,.16); }
.dark-theme .news-risk { background: rgba(2,9,14,.82); color: #ff9e52; border: 1px solid rgba(255,144,67,.25); }
.dark-theme .digest-status,
.dark-theme .radar-panel,
.dark-theme .sheet-facts {
  background:
    radial-gradient(circle at 15% 20%, rgba(22,147,204,.16), transparent 35%),
    #020a11;
  border: 1px solid #17465e;
  box-shadow: inset 0 0 28px rgba(25,151,207,.065);
}
.dark-theme .score-ring { border-color: #43c8ff; border-right-color: rgba(67,200,255,.16); filter: drop-shadow(0 0 5px rgba(55,194,250,.25)); }
.dark-theme .score-ring { background: conic-gradient(#43c8ff var(--readiness), rgba(67,200,255,.13) 0); }
.dark-theme .score-ring::after { background: #020a11; }
.dark-theme .checkmark { background: #1ca5df; color: #041019; }
.dark-theme .checkmark.pending { background: #ff9e36; color: #281703; box-shadow: 0 0 12px rgba(255,158,54,.22); }
.dark-theme .duration-control { background: rgba(5,18,27,.72); border-color: #174258; }
.dark-theme .duration-control-head label { color: #6dbfe1; }
.dark-theme .duration-control-head output { background: #073b58; border: 1px solid #178ac0; color: #e2f7ff; box-shadow: 0 0 14px rgba(32,177,237,.13); }
.dark-theme .duration-control input[type="range"]::-webkit-slider-runnable-track { background: linear-gradient(90deg, #31b9f0 0 var(--range-progress, 45.45%), #173448 var(--range-progress, 45.45%) 100%); }
.dark-theme .duration-control input[type="range"]::-webkit-slider-thumb { background: #dff7ff; border-color: #159ace; box-shadow: 0 0 13px rgba(49,185,240,.5); }
.dark-theme .duration-control > p,
.dark-theme .duration-scale { color: #66828f; }
.dark-theme .duration-summary { background: #071a24; border-color: #17465e; }
.dark-theme .duration-summary > div:first-child { border-color: #194257; }
.dark-theme .duration-summary small { color: #5ec6ef; }
.dark-theme .duration-summary-copy > span { color: #8ba2ad; }
.dark-theme .readiness-bar { background: #173448; }
.dark-theme .readiness-bar i { background: #39bdf4; }
.dark-theme .script-intro { background: rgba(5,18,27,.72); border-color: #174258; }
.dark-theme .copy-button { color: #64c8f0; border-color: #317c99; }
.dark-theme .explain-box { background: #08251f; border-color: #39b894; }
.dark-theme .explain-box.amber { background: #281b0c; border-color: #ff9e36; }
.dark-theme .scheme-mark.coral { background: #2b130f; color: #ff795b; border: 1px solid #663025; }
.dark-theme .scheme-mark.amber { background: #291e0d; color: #ffaf50; border: 1px solid #61451d; }
.dark-theme .scheme-mark.blue { background: #08273a; color: #5bcefa; border: 1px solid #175574; }
.dark-theme .scheme-card em { color: #ff9b46; }
.dark-theme .radar-visual i { border-color: rgba(66,199,255,.3); box-shadow: 0 0 9px rgba(34,177,238,.08); }
.dark-theme .radar-center { background: #32bdf6; color: #031019; box-shadow: 0 0 20px rgba(50,189,246,.35); }
.dark-theme .radar-caption strong { color: #57cdfb; }
.dark-theme .antifraud-card { background: linear-gradient(145deg, #071d2a, #06131d); border: 1px solid #16465f; box-shadow: inset 0 0 24px rgba(28,158,214,.05); }
.dark-theme .feature-tags span { border-color: #225570; color: #8ac7df; }
.dark-theme .bottom-nav { background: rgba(3,10,16,.96); border-top-color: #15364a; box-shadow: 0 -8px 30px rgba(0,0,0,.28); }
.dark-theme .nav-item { color: #627b88; }
.dark-theme .nav-item.active { color: #53c8f6; text-shadow: 0 0 12px rgba(51,188,242,.22); }
.dark-theme .article-sheet { background: #050e16; border: 1px solid #17455d; box-shadow: 0 -20px 60px rgba(0,0,0,.55); }
.dark-theme .sheet-close { background: #0b2635; color: #8edcff; }
.dark-theme .sheet-handle { background: #245069; }
.dark-theme .sheet-tag { background: rgba(255,91,53,.13); color: #ff795b; border: 1px solid rgba(255,91,53,.3); }
.dark-theme .sheet-lead,
.dark-theme .sheet-explain p { color: #849aa6; }
.dark-theme .source-line { border-color: #173448; color: #66808d; }
.dark-theme .toast { background: #071b28; border: 1px solid #176083; box-shadow: 0 0 24px rgba(26,164,222,.18); }

@media (min-width: 700px) {
  body { padding: 24px 0; }
  .app-shell { min-height: calc(100dvh - 48px); border-radius: 34px; }
  .topbar { border-radius: 34px 34px 0 0; }
  .bottom-nav { bottom:24px; border-radius:0 0 34px 34px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
