:root {
  color-scheme: dark;
  --ink: #edf5f4;
  --muted: #8c9da1;
  --subtle: #65777d;
  --line: rgba(189, 222, 218, .13);
  --panel: rgba(14, 31, 40, .78);
  --panel-strong: #102630;
  --canvas: #07131d;
  --teal: #5fe2c0;
  --teal-strong: #2dc9a6;
  --orange: #ffaf63;
  --red: #ff796e;
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--canvas); }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .33; background: radial-gradient(circle at 80% -10%, rgba(55, 137, 126, .21), transparent 35%), radial-gradient(circle at 3% 30%, rgba(34, 68, 93, .22), transparent 31%); }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.app-shell { position: relative; max-width: 1380px; margin: auto; padding: 0 34px; }
.topbar { height: 84px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: flex; gap: 11px; align-items: center; color: var(--ink); text-decoration: none; letter-spacing: -.04em; font-size: 19px; }
.brand strong { font-weight: 800; }.brand em { color: var(--teal); font-style: normal; font-weight: 500; }
.brand-mark { width: 31px; height: 31px; display: flex; gap: 3px; align-items: end; padding: 7px; border: 1px solid rgba(95,226,192,.55); border-radius: 9px; background: rgba(95,226,192,.08); }
.brand-mark span { display:block; width: 4px; border-radius: 4px; background: var(--teal); }.brand-mark span:nth-child(1){height: 9px}.brand-mark span:nth-child(2){height: 15px}.brand-mark span:nth-child(3){height: 12px}
.topbar-actions { display: flex; align-items: center; gap: 16px; }.live-status { color: var(--teal); display:flex; gap:8px; align-items:center; font-size: 12px; font-family: 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.pulse, .live-dot { width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow: 0 0 0 5px rgba(95,226,192,.1); }
.button { min-height: 42px; border: 0; border-radius: 10px; padding: 0 15px; color: var(--ink); transition: transform .18s, background .18s, opacity .18s; }.button:hover { transform: translateY(-1px); }.button:disabled { opacity: .55; cursor: wait; transform: none; }.button-quiet { background: rgba(255,255,255,.06); color: #bfccce; }.button-quiet:hover { background: rgba(255,255,255,.11); }.button-icon { font-size: 20px; vertical-align: -1px; margin-right: 6px; }.button-primary { background: var(--teal); color: #07201e; font-weight: 800; }.button-primary:hover { background: #83efd4; }
.content { padding: 62px 0 42px; }.intro-row { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-bottom: 42px; }.eyebrow, .section-kicker { margin:0 0 12px; color: var(--teal); font: 500 10px 'DM Mono', monospace; letter-spacing: .18em; }.intro-row h1 { margin:0; font-size: clamp(34px, 5vw, 61px); line-height: 1.05; letter-spacing: -.065em; font-weight: 700; }.intro-row h1 span { color: var(--teal); }.lede { max-width: 510px; margin: 21px 0 0; color: var(--muted); line-height: 1.7; font-size: 15px; }.last-sync { flex: 0 0 auto; padding: 13px 0 4px 25px; border-left: 1px solid var(--line); color: var(--subtle); font: 11px 'DM Mono', monospace; }.last-sync strong { display:block; color: #c9d9d8; font: 500 12px 'DM Mono', monospace; margin-top: 7px; }
.dashboard-grid { display: grid; grid-template-columns: 322px minmax(0, 1fr); align-items: start; gap: 21px; }.main-column { display:grid; gap:21px; min-width:0; }.panel { background: linear-gradient(145deg, rgba(20, 42, 52, .84), var(--panel)); border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 20px 60px rgba(0,0,0,.14); }.panel-heading { padding: 22px 23px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.panel-heading h2 { margin:0; font-size: 18px; letter-spacing:-.03em; }.section-kicker { margin-bottom:6px; color: var(--subtle); font-size:9px; }.count-badge { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(95,226,192,.13); color:var(--teal); font: 11px 'DM Mono', monospace; }
.feed-list { padding: 6px 12px; }.feed-row { display:flex; align-items:center; gap:11px; padding: 13px 10px; border-bottom:1px solid rgba(189,222,218,.07); }.feed-row:last-child { border-bottom:0; }.feed-logo { width:34px; height:34px; flex:none; border-radius:10px; display:grid; place-items:center; color:#081d20; font-size:12px; font-weight:800; }.feed-info { min-width:0; flex:1; }.feed-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#dbe7e6; font-size:13px; font-weight:700; }.feed-meta { display:block; margin-top:4px; color:var(--subtle); font: 10px 'DM Mono', monospace; }.feed-actions { display:flex; align-items:center; gap:4px; }.delete-feed { color:#72878b; background:transparent; border:0; padding:8px; font-size:15px; }.delete-feed:hover { color:var(--red); }.empty-feeds { margin: 17px 10px; padding: 19px 12px; text-align:center; border:1px dashed var(--line); border-radius:11px; color:var(--muted); font-size:12px; line-height:1.5; }
.feed-toggle { position:relative; width:27px; height:16px; padding:0; border:0; border-radius:20px; background:#273b41; }.feed-toggle span { position:absolute; top:3px; left:3px; width:10px; height:10px; border-radius:50%; background:#829498; transition:.2s; }.feed-toggle.is-on { background:rgba(45,201,166,.75); }.feed-toggle.is-on span { left:14px; background:#06201e; }
.add-feed-box { margin: 14px; padding: 17px; border:1px solid rgba(95,226,192,.16); border-radius: 13px; background: rgba(95,226,192,.045); }.add-feed-heading { display:flex; align-items:center; gap:10px; margin-bottom: 17px; }.plus-circle { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(95,226,192,.6); border-radius:50%; color:var(--teal); font-size:20px; font-weight:300; }.add-feed-heading h3 { margin:0; font-size:13px; }.add-feed-heading p { margin:4px 0 0; color:var(--subtle); font-size:10px; }.feed-form label { display:block; margin: 12px 0 6px; color:var(--muted); font-size:10px; font-weight:700; }.feed-form label:first-of-type { margin-top:0; }.feed-form input, .filter-select { width:100%; min-height:40px; padding: 0 11px; border: 1px solid rgba(189,222,218,.16); border-radius:8px; color:var(--ink); background:rgba(1,12,19,.4); font-size:12px; }.feed-form input::placeholder { color:#53676d; }.url-input-row { display:flex; gap:7px; }.url-input-row input { min-width:0; }.add-button { flex:none; padding: 0 12px; min-height:40px; font-size:11px; }.form-error { margin:9px 0 0; color:var(--red); font-size:10px; line-height:1.4; }
.ticker-panel { overflow:hidden; }.ticker-heading { border-bottom:0; padding-bottom:18px; }.ticker-controls { display:flex; align-items:center; gap:17px; }.switch-label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; cursor:pointer; }.switch-label input { position:absolute; opacity:0; pointer-events:none; }.switch { position:relative; width:30px; height:17px; border-radius:20px; background:#273b41; transition:.2s; }.switch::after { content:""; position:absolute; top:3px; left:3px; width:11px; height:11px; border-radius:50%; background:#829498; transition:.2s; }.switch-label input:checked + .switch { background:var(--teal-strong); }.switch-label input:checked + .switch::after { left:16px; background:#06201e; }.icon-button { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; color:var(--muted); background:transparent; }.icon-button:hover { color:var(--teal); border-color:rgba(95,226,192,.5); }.ticker-viewport { overflow:hidden; min-height:91px; margin:0 20px; border-radius:11px; background:#091923; border:1px solid rgba(189,222,218,.09); }.ticker-track { display:flex; align-items:stretch; width:max-content; min-height:89px; animation: ticker-scroll 38s linear infinite; }.ticker-track.paused { animation-play-state:paused; }.ticker-item { display:flex; flex-direction:column; justify-content:center; min-width:270px; max-width:360px; padding:14px 25px; border-right:1px solid rgba(189,222,218,.1); }.ticker-source-row { display:flex; align-items:center; gap:7px; min-width:0; }.ticker-source { color:var(--teal); font: 10px 'DM Mono', monospace; text-transform:uppercase; letter-spacing:.06em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ticker-new-badge { display:inline-flex; width:max-content; flex:none; padding:3px 6px; border-radius:999px; color:#2b2105; background:#ffd45f; font:700 8px 'DM Mono', monospace; letter-spacing:.05em; text-transform:uppercase; }.ticker-title { margin:7px 0 0; color:#dae9e8; font-size:13px; line-height:1.35; font-weight:700; }.ticker-footer { display:flex; align-items:center; gap:8px; padding:15px 23px 18px; color:var(--subtle); font:10px 'DM Mono', monospace; }.footer-divider { color:#42575c; }.ticker-footer .live-dot { width:5px; height:5px; box-shadow:none; }
.settings-panel { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0 20px 15px; padding:12px 14px; border:1px solid rgba(95,226,192,.14); border-radius:10px; background:rgba(95,226,192,.04); color:var(--muted); font-size:11px; }.settings-panel > label:first-child { color:#bdd0ce; font-weight:700; }.settings-panel select { min-height:30px; padding:0 25px 0 9px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:#0d222b; font-size:11px; }.settings-check { display:flex; align-items:center; gap:7px; margin-left:auto; }.settings-check input { accent-color:var(--teal-strong); }
.sync-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 23px; }.sync-panel-content { display:flex; align-items:center; gap:14px; min-width:0; }.sync-icon { display:grid; place-items:center; flex:none; width:37px; height:37px; border:1px solid rgba(95,226,192,.35); border-radius:11px; color:var(--teal); background:rgba(95,226,192,.08); font-size:22px; }.sync-panel .section-kicker { margin-bottom:6px; }.sync-panel h2 { margin:0; font-size:14px; letter-spacing:-.02em; }.sync-description { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }.next-sync { flex:none; padding-left:20px; border-left:1px solid var(--line); color:var(--subtle); font:10px 'DM Mono', monospace; text-align:right; }.next-sync strong { display:block; margin-top:6px; color:var(--teal); font-weight:500; }.embed-heading { padding-bottom:18px; }.embed-badge { padding:6px 8px; border:1px solid rgba(95,226,192,.23); border-radius:6px; color:var(--teal); background:rgba(95,226,192,.06); font:9px 'DM Mono', monospace; letter-spacing:.08em; }.embed-content { padding:18px 23px 21px; }.embed-description { max-width:650px; margin:0 0 16px; color:var(--muted); font-size:12px; line-height:1.6; }.embed-content label { display:block; margin-bottom:7px; color:#bdd0ce; font-size:10px; font-weight:700; }.embed-code-row { display:flex; gap:9px; align-items:stretch; }.embed-code-row textarea { flex:1; min-width:0; min-height:68px; padding:11px 12px; resize:none; border:1px solid rgba(189,222,218,.16); border-radius:9px; color:#b9d8d4; background:rgba(1,12,19,.55); font:10px/1.55 'DM Mono', monospace; }.copy-button { align-self:stretch; min-width:126px; padding:0 13px; font-size:11px; }.embed-message { min-height:14px; margin:8px 0 0; color:var(--muted); font-size:10px; }.embed-message.is-success { color:var(--teal); }.ticker-empty { display:flex; min-height:89px; flex-direction:column; justify-content:center; padding:15px 24px; color:var(--muted); font-size:12px; }.ticker-empty strong { margin-bottom:5px; color:var(--ink); font-size:13px; }
.compact-heading { padding-bottom:17px; }.filter-select { width:auto; min-width:138px; min-height:34px; padding-right:28px; color:var(--muted); font:10px 'DM Mono', monospace; }.article-list { padding: 3px 23px 12px; }.article-card { display:grid; grid-template-columns: 38px 1fr auto; gap:14px; align-items:center; padding:16px 0; border-bottom:1px solid rgba(189,222,218,.09); }.article-card:last-child { border-bottom:0; }.article-index { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--teal); background:rgba(95,226,192,.09); font:11px 'DM Mono', monospace; }.article-content { min-width:0; }.article-source { color:var(--subtle); font:10px 'DM Mono', monospace; }.article-title { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; color:#d7e5e4; font-size:13px; font-weight:700; text-decoration:none; }.article-title:hover { color:var(--teal); }.article-time { color:var(--subtle); font:10px 'DM Mono', monospace; white-space:nowrap; }.empty-state { padding:30px 14px; text-align:center; color:var(--muted); font-size:12px; }.empty-state strong { display:block; margin-bottom:6px; color:var(--ink); font-size:14px; }
.footer { display:flex; justify-content:space-between; padding: 23px 0 27px; color:#52676c; font:10px 'DM Mono', monospace; }.footer-brand { color:#718387; }.footer-brand span { color:var(--teal); }.toast { position:fixed; z-index:5; left:50%; bottom:25px; transform:translate(-50%, 16px); pointer-events:none; opacity:0; max-width:calc(100vw - 32px); padding:12px 16px; border:1px solid rgba(95,226,192,.35); border-radius:10px; color:#dff8f1; background:#12333a; box-shadow:0 10px 30px rgba(0,0,0,.3); font-size:12px; transition:.25s; }.toast.show { opacity:1; transform:translate(-50%, 0); }
body.embed-mode { background:var(--canvas); }.embed-mode::before { display:none; }.embed-mode .topbar, .embed-mode .intro-row, .embed-mode .feeds-panel, .embed-mode .articles-panel, .embed-mode .sync-panel, .embed-mode .embed-panel, .embed-mode .footer { display:none; }.embed-mode .app-shell { max-width:none; padding:0; }.embed-mode .content { padding:0; }.embed-mode .dashboard-grid { display:block; }.embed-mode .ticker-panel { min-height:150px; border:0; border-radius:0; box-shadow:none; background:transparent; }.embed-mode .ticker-heading, .embed-mode .settings-panel, .embed-mode .ticker-footer { display:none; }
.embed-breaking-bar { display:none; }
.embed-mode .embed-breaking-bar { display:flex; align-items:center; gap:8px; min-height:36px; padding:0 14px; color:#fff4e7; background:linear-gradient(90deg, #760000, #d00000 55%, #8f0000); border-bottom:1px solid rgba(255,255,255,.28); }
.embed-mode .embed-breaking-bar strong { font-size:12px; letter-spacing:.03em; }
.embed-mode .embed-breaking-live { margin-left:auto; color:#ffe0c0; font:700 9px 'DM Mono', monospace; letter-spacing:.12em; }
.embed-breaking-dot { width:8px; height:8px; flex:none; border-radius:50%; background:#fff4e7; box-shadow:0 0 0 4px rgba(255,244,231,.18); animation:breaking-pulse 1.4s ease-in-out infinite; }
.embed-mode .ticker-viewport { margin:0; border:0; border-radius:0; }.embed-mode .ticker-track { min-height:100px; animation-duration:180s !important; }.embed-mode .ticker-title { margin-top:0; font-size:15px; line-height:1.4; }.embed-mode .ticker-source { font-size:11px; }
@keyframes ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width: 850px) { .app-shell { padding:0 20px; }.content { padding-top:42px; }.intro-row { align-items:start; flex-direction:column; gap:20px; margin-bottom:30px; }.last-sync { padding:0 0 0 13px; }.dashboard-grid { grid-template-columns:1fr; }.feeds-panel { order:2; }.main-column { order:1; } }
@media (max-width: 560px) { .app-shell { padding:0 14px; }.topbar { height:70px; }.topbar-actions { gap:8px; }.live-status { display:none; }.button-quiet { padding:0 10px; }.content { padding-top:34px; }.intro-row h1 { font-size:39px; }.ticker-heading { align-items:flex-start; }.ticker-controls { gap:10px; }.ticker-controls .switch-label span:last-child { display:none; }.panel-heading { padding-left:17px; padding-right:17px; }.ticker-viewport { margin:0 12px; }.ticker-item { min-width:245px; padding-left:18px; padding-right:18px; }.article-list { padding-left:17px; padding-right:17px; }.article-card { grid-template-columns:32px 1fr; gap:10px; }.article-index { width:30px; height:30px; }.article-time { grid-column:2; margin-top:-8px; }.footer { gap:12px; flex-direction:column; }.url-input-row { flex-direction:column; }.add-button { width:100%; }.sync-panel { align-items:flex-start; flex-direction:column; gap:15px; }.next-sync { width:100%; padding:12px 0 0; border-top:1px solid var(--line); border-left:0; text-align:left; }.embed-code-row { flex-direction:column; }.copy-button { min-height:40px; } }
.feed-name-line { display:flex; align-items:center; gap:6px; min-width:0; }
.new-badge, .new-count-badge { display:inline-flex; align-items:center; flex:none; padding:3px 6px; border-radius:999px; color:#08211e; background:var(--orange); font:700 9px 'DM Mono', monospace; white-space:nowrap; }
.feed-freshness { display:flex; align-items:center; gap:5px; margin-top:4px; color:var(--subtle); font:9px 'DM Mono', monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.feed-freshness.is-error { color:var(--red); }
.feed-freshness.is-waiting { color:var(--orange); }
.health-dot { width:6px; height:6px; flex:none; border-radius:50%; background:var(--teal); box-shadow:0 0 0 3px rgba(95,226,192,.1); }
.feed-freshness.is-waiting .health-dot { background:var(--orange); box-shadow:0 0 0 3px rgba(255,175,99,.1); }
.feed-freshness.is-error .health-dot { background:var(--red); box-shadow:0 0 0 3px rgba(255,121,110,.1); }
.mark-read-button { margin-left:auto; padding:4px 7px; border:1px solid rgba(95,226,192,.25); border-radius:6px; color:var(--teal); background:transparent; font:9px 'DM Mono', monospace; }
.mark-read-button:hover { background:rgba(95,226,192,.08); }
.embed-options { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; margin:0 0 17px; padding:12px; border:1px solid rgba(95,226,192,.13); border-radius:10px; background:rgba(95,226,192,.035); }
.embed-option { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:10px; font-weight:700; }
.embed-option select { appearance:none; min-height:36px; padding:0 30px 0 11px; border:1px solid rgba(95,226,192,.2); border-radius:9px; color:var(--ink); background-color:#0d222b; background-image:linear-gradient(45deg, transparent 50%, #5fe2c0 50%),linear-gradient(135deg, #5fe2c0 50%, transparent 50%); background-position:calc(100% - 14px) 15px,calc(100% - 9px) 15px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); font-size:10px; font-weight:600; transition:border-color .18s, box-shadow .18s, background-color .18s; }
.embed-option select:hover { border-color:rgba(95,226,192,.45); background-color:#102c35; }
.embed-option select:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(95,226,192,.12); outline:0; }
.embed-check { display:flex; align-items:end; gap:7px; padding-bottom:9px; color:var(--muted); font-size:10px; }
.embed-check input { accent-color:var(--teal-strong); }
.embed-mode.embed-layout-list .ticker-track { width:100%; flex-direction:column; animation:none !important; min-height:0; }
.embed-mode.embed-layout-list .ticker-viewport { max-height:150px; overflow:auto; }
.embed-mode.embed-layout-list .ticker-item { width:100%; min-width:0; max-width:none; min-height:72px; border-right:0; border-bottom:1px solid rgba(189,222,218,.1); }
.embed-mode.embed-layout-list .ticker-item:last-child { border-bottom:0; }
.embed-mode.embed-theme-light { color:#173139; background:#f4f8f7; }
.embed-mode.embed-theme-light .ticker-viewport { background:#ffffff; border:1px solid rgba(24,61,67,.12); }
.embed-mode.embed-theme-light .ticker-title { color:#173139; }
.embed-mode.embed-theme-light .ticker-item { border-color:rgba(24,61,67,.12); }
.embed-mode.embed-theme-light .ticker-source { color:#168a72; }
@media (max-width: 700px) { .embed-options { grid-template-columns:repeat(2, minmax(0, 1fr)); } .embed-check { align-items:center; padding-bottom:0; } }
.embed-mode:not(.embed-layout-list) .ticker-track { align-items:center; min-height:58px; }
.embed-mode:not(.embed-layout-list) .ticker-panel, .embed-mode:not(.embed-layout-list) .ticker-viewport { min-height:58px; }
.embed-mode:not(.embed-layout-list) .ticker-item { flex-direction:row; align-items:center; gap:10px; min-width:max-content; max-width:none; min-height:58px; padding:0 27px; white-space:nowrap; }
.embed-mode:not(.embed-layout-list) .ticker-source-row { flex:none; }
.embed-mode:not(.embed-layout-list) .ticker-title { flex:none; margin:0; max-width:none; white-space:nowrap; }
.embed-mode:not(.embed-layout-list) .ticker-radar-badge, .embed-mode:not(.embed-layout-list) .ticker-breaking-badge { margin:0; flex:none; }

.feed-tools { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:0 14px 4px; }
.feed-tools .button { min-height:36px; padding:0 8px; color:var(--muted); font-size:10px; }
.feed-tools .button span:first-child { margin-right:4px; color:var(--teal); font-size:15px; }
.settings-action { min-height:30px; padding:0 10px; border:1px solid rgba(95,226,192,.25); border-radius:7px; color:var(--teal); background:transparent; font-size:10px; font-weight:700; }
.settings-action:hover { background:rgba(95,226,192,.08); }
.ticker-item { position:relative; }
.ticker-item.is-keyword-match { background:rgba(95,226,192,.045); }
.ticker-item.is-new { background:linear-gradient(105deg, rgba(255,212,95,.16), rgba(255,212,95,.035)); box-shadow:inset 3px 0 0 #ffd45f; }
.ticker-item.is-breaking { background:linear-gradient(105deg, rgba(255,121,110,.14), rgba(255,175,99,.04)); }
.ticker-radar-badge, .ticker-breaking-badge { display:inline-flex; width:max-content; margin-bottom:5px; padding:3px 5px; border-radius:4px; font:700 8px 'DM Mono', monospace; letter-spacing:.06em; text-transform:uppercase; }
.ticker-radar-badge { color:var(--teal); background:rgba(95,226,192,.11); }
.ticker-breaking-badge { color:#2a1512; background:var(--orange); animation:breaking-pulse 1.8s ease-in-out infinite; }
.article-radar-tag { display:inline-block; margin-left:5px; padding:2px 4px; border-radius:4px; color:var(--teal); background:rgba(95,226,192,.1); font:8px 'DM Mono', monospace; text-transform:uppercase; }
.radar-panel { overflow:hidden; }
.radar-heading { padding-bottom:17px; }
.radar-live-badge { padding:5px 7px; border:1px solid rgba(95,226,192,.25); border-radius:5px; color:var(--teal); background:rgba(95,226,192,.06); font:9px 'DM Mono', monospace; letter-spacing:.08em; }
.radar-content { display:grid; grid-template-columns:minmax(230px, .9fr) minmax(260px, 1.1fr); gap:24px; align-items:center; padding:20px 23px 22px; }
.radar-visual { min-width:0; }
.radar-scope { position:relative; width:min(100%, 280px); aspect-ratio:1; margin:auto; overflow:hidden; border:1px solid rgba(95,226,192,.28); border-radius:50%; background:radial-gradient(circle, rgba(95,226,192,.12), rgba(7,19,29,.9) 68%); box-shadow:inset 0 0 35px rgba(95,226,192,.07); }
.radar-ring, .radar-crosshair { position:absolute; pointer-events:none; }
.radar-ring { inset:25%; border:1px solid rgba(95,226,192,.18); border-radius:50%; }
.radar-ring-two { inset:12.5%; }.radar-ring-three { inset:0; }
.radar-crosshair-x { top:50%; left:0; width:100%; border-top:1px solid rgba(95,226,192,.13); }.radar-crosshair-y { top:0; left:50%; height:100%; border-left:1px solid rgba(95,226,192,.13); }
.radar-sweep { position:absolute; top:50%; left:50%; width:50%; height:1px; transform-origin:left center; background:linear-gradient(90deg, rgba(95,226,192,.85), transparent); animation:radar-sweep 3.2s linear infinite; }
.radar-point { position:absolute; z-index:1; display:grid; place-items:center; width:15px; height:15px; transform:translate(-50%, -50%); border-radius:50%; }
.radar-point-core { width:6px; height:6px; border-radius:50%; background:#9ac5ff; box-shadow:0 0 0 4px rgba(142,183,255,.12), 0 0 12px rgba(142,183,255,.8); }
.radar-point.is-match .radar-point-core { background:var(--teal); box-shadow:0 0 0 4px rgba(95,226,192,.14), 0 0 12px rgba(95,226,192,.85); }
.radar-point.is-breaking .radar-point-core { background:var(--orange); box-shadow:0 0 0 5px rgba(255,175,99,.16), 0 0 16px rgba(255,121,110,.9); animation:breaking-pulse 1.5s ease-in-out infinite; }
.radar-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 12px; margin-top:11px; color:var(--subtle); font:9px 'DM Mono', monospace; }.radar-legend span { display:flex; align-items:center; gap:5px; }.legend-dot { width:6px; height:6px; border-radius:50%; background:#9ac5ff; }.legend-match { background:var(--teal); }
.keyword-box { padding:18px; border:1px solid rgba(95,226,192,.14); border-radius:12px; background:rgba(95,226,192,.04); }.keyword-box label { display:block; margin-bottom:6px; color:#bdd0ce; font-size:11px; font-weight:800; }.keyword-hint { margin:0 0 13px; color:var(--muted); font-size:11px; line-height:1.5; }.keyword-input-row { display:flex; gap:8px; }.keyword-input-row input { min-width:0; flex:1; min-height:40px; padding:0 11px; border:1px solid rgba(189,222,218,.16); border-radius:8px; color:var(--ink); background:rgba(1,12,19,.4); font-size:12px; }.keyword-input-row input::placeholder { color:#53676d; }.keyword-input-row .button { min-height:40px; padding:0 11px; font-size:10px; }.keyword-status { min-height:15px; margin:10px 0 0; color:var(--teal); font:10px 'DM Mono', monospace; }.radar-match-list { display:flex; flex-direction:column; gap:7px; margin-top:13px; padding-top:12px; border-top:1px solid rgba(189,222,218,.1); }.radar-match-label { color:var(--teal); font:10px 'DM Mono', monospace; }.radar-match-list a { overflow:hidden; color:#cfe2df; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }.radar-match-list a:hover { color:var(--teal); }.radar-empty { min-height:210px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:20px; border:1px dashed rgba(95,226,192,.18); border-radius:50%; color:var(--muted); text-align:center; font-size:11px; line-height:1.5; }.radar-empty strong { margin-bottom:6px; color:var(--ink); font-size:13px; }
.embed-mode .radar-panel { display:none; }
@keyframes radar-sweep { to { transform:rotate(360deg); } } @keyframes breaking-pulse { 50% { opacity:.56; } }
@media (max-width: 700px) { .radar-content { grid-template-columns:1fr; padding-left:17px; padding-right:17px; gap:18px; } .radar-scope { width:min(100%, 245px); } }

.briefing-panel { overflow:hidden; }
.briefing-heading { padding-bottom:17px; }
.briefing-badge { padding:5px 7px; border:1px solid rgba(220,140,255,.28); border-radius:5px; color:#dc8cff; background:rgba(220,140,255,.08); font:9px 'DM Mono', monospace; letter-spacing:.08em; }
.briefing-content { padding:19px 23px 21px; }
.briefing-intro { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.briefing-intro p { max-width:650px; margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.briefing-button { flex:none; min-height:38px; padding:0 13px; font-size:11px; }
.briefing-button > span:first-child { margin-right:5px; font-size:15px; }
.groq-config { display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(180px, .8fr) auto; gap:10px; align-items:end; margin-top:16px; padding:13px; border:1px solid rgba(220,140,255,.16); border-radius:10px; background:rgba(220,140,255,.035); }
.groq-field { min-width:0; }
.groq-field label { display:block; margin:0 0 6px; color:#c9b8d0; font:700 10px 'DM Mono', monospace; }
.groq-field input { width:100%; min-height:36px; padding:0 10px; border:1px solid rgba(189,222,218,.16); border-radius:7px; color:var(--ink); background:rgba(1,12,19,.48); font-size:11px; }
.groq-field input::placeholder { color:#667078; }
.groq-config .settings-action { min-height:36px; white-space:nowrap; }
.groq-status { grid-column:1 / -1; min-height:12px; margin:0; color:var(--teal); font:9px 'DM Mono', monospace; }
.briefing-status { min-height:15px; margin:10px 0 0; color:var(--teal); font:10px 'DM Mono', monospace; }
.briefing-output { min-height:112px; margin-top:4px; }
.briefing-empty { display:flex; align-items:center; gap:13px; min-height:112px; padding:18px; border:1px dashed rgba(220,140,255,.22); border-radius:11px; background:rgba(220,140,255,.025); color:var(--muted); }
.briefing-empty-icon { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:10px; color:#dc8cff; background:rgba(220,140,255,.1); font-size:18px; }
.briefing-empty strong { display:block; margin-bottom:5px; color:var(--ink); font-size:13px; }
.briefing-empty p { margin:0; font-size:11px; line-height:1.5; }
.briefing-result { padding:17px 18px; border:1px solid rgba(220,140,255,.2); border-radius:11px; background:linear-gradient(120deg, rgba(220,140,255,.07), rgba(95,226,192,.035)); }
.briefing-result-meta { display:flex; justify-content:space-between; gap:12px; color:var(--subtle); font:9px 'DM Mono', monospace; text-transform:uppercase; letter-spacing:.05em; }
.tg-intro { margin:13px 0 0; color:#dbe8e6; font-size:12px; line-height:1.55; }
.tg-stories { display:grid; gap:8px; margin-top:10px; }
.tg-story { padding:12px 13px; border:1px solid rgba(189,222,218,.12); border-radius:9px; background:rgba(4,18,26,.3); }
.tg-story.is-lead { border-color:rgba(255,175,99,.35); background:linear-gradient(110deg, rgba(255,175,99,.1), rgba(220,140,255,.04)); }
.tg-story-topline { display:flex; align-items:center; gap:8px; }
.tg-story-number { color:var(--subtle); font:10px 'DM Mono', monospace; }
.tg-story-category { color:var(--orange); font:9px 'DM Mono', monospace; letter-spacing:.08em; text-transform:uppercase; }
.tg-story-headline { display:block; margin-top:7px; color:#e1eeeb; font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; }
.tg-story.is-lead .tg-story-headline { color:var(--ink); font-size:15px; letter-spacing:-.02em; line-height:1.4; }
.tg-story-headline:hover { color:var(--teal); }
.tg-story-summary { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.tg-story-source { display:block; margin-top:7px; overflow:hidden; color:var(--subtle); font:9px 'DM Mono', monospace; text-overflow:ellipsis; white-space:nowrap; }
.briefing-copy { margin-top:13px; color:#dbe8e6; font-size:12px; line-height:1.75; }
.briefing-copy br + br { display:block; content:""; margin-top:7px; }
.briefing-sources { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:15px; padding-top:12px; border-top:1px solid rgba(189,222,218,.1); }
.briefing-sources-label { margin-right:3px; color:var(--subtle); font:9px 'DM Mono', monospace; text-transform:uppercase; }
.briefing-sources a { overflow:hidden; max-width:160px; padding:4px 7px; border:1px solid rgba(95,226,192,.18); border-radius:5px; color:var(--teal); background:rgba(95,226,192,.06); font:9px 'DM Mono', monospace; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.briefing-sources a:hover { background:rgba(95,226,192,.12); }
.briefing-note { margin:13px 0 0; color:var(--subtle); font:9px/1.5 'DM Mono', monospace; }
.embed-mode .briefing-panel { display:none; }
@media (max-width: 700px) { .groq-config { grid-template-columns:1fr 1fr; }.groq-config .settings-action { width:100%; } }
@media (max-width: 560px) { .briefing-content { padding-left:17px; padding-right:17px; }.briefing-intro { align-items:stretch; flex-direction:column; gap:12px; }.briefing-button { width:100%; }.briefing-result-meta { flex-direction:column; gap:5px; }.briefing-sources a { max-width:130px; }.groq-config { grid-template-columns:1fr; }.groq-config .settings-action { width:100%; } }

.embed-mode.embed-content-briefing .ticker-track { align-items:stretch; min-height:150px; }
.embed-mode.embed-content-briefing .ticker-panel, .embed-mode.embed-content-briefing .ticker-viewport { min-height:150px; }
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-item { flex-direction:column; align-items:flex-start; justify-content:center; min-width:350px; max-width:450px; min-height:150px; padding:18px 27px; gap:0; white-space:normal; }
.embed-mode.embed-content-briefing.embed-layout-list .ticker-item { min-height:135px; padding:15px 18px; white-space:normal; }
.embed-mode.embed-content-briefing.embed-layout-list .ticker-title { white-space:normal; }
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-title { flex:none; max-width:410px; margin-top:7px; white-space:normal; }
.embed-mode.embed-content-briefing .ticker-briefing-category { color:var(--orange); font:9px 'DM Mono', monospace; letter-spacing:.1em; text-transform:uppercase; }
.embed-mode.embed-content-briefing .ticker-summary { max-width:410px; margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.55; white-space:normal; }
.embed-mode.embed-content-briefing .ticker-source-row { margin-top:9px; }
.embed-mode.embed-content-briefing .ticker-empty { min-height:150px; }
.embed-mode.embed-content-briefing.embed-theme-light .ticker-summary { color:#50666a; }
.embed-mode.embed-content-briefing.embed-theme-light .ticker-briefing-category { color:#bd6d1b; }
@media (max-width: 560px) { .embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-item { min-width:300px; max-width:360px; padding-left:19px; padding-right:19px; } }

.embed-mode.embed-content-briefing .ticker-panel,
.embed-mode.embed-content-briefing .ticker-viewport { min-height:68px; }
.embed-mode.embed-content-briefing .ticker-viewport { max-height:none; overflow:hidden; }
.embed-mode.embed-content-briefing .ticker-track,
.embed-mode.embed-content-briefing.embed-layout-list .ticker-track {
  display:flex;
  flex-direction:row;
  align-items:center;
  width:max-content;
  min-height:68px;
  animation: ticker-scroll 180s linear infinite !important;
  animation-delay:0s !important;
  animation-play-state:running !important;
  will-change:transform;
}
.embed-mode.embed-content-briefing .ticker-item,
.embed-mode.embed-content-briefing.embed-layout-list .ticker-item {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  min-width:max-content;
  max-width:none;
  min-height:68px;
  padding:0 25px;
  white-space:nowrap;
}
.embed-mode.embed-content-briefing .ticker-briefing-category { flex:none; }
.embed-mode.embed-content-briefing .ticker-title {
  flex:none;
  max-width:560px;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.embed-mode.embed-content-briefing .ticker-summary {
  flex:none;
  max-width:720px;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.4;
}
.embed-mode.embed-content-briefing .ticker-source-row { flex:none; margin:0; }
.embed-mode.embed-content-briefing .ticker-empty { min-height:68px; }
@media (max-width: 560px) {
  .embed-mode.embed-content-briefing .ticker-item,
  .embed-mode.embed-content-briefing.embed-layout-list .ticker-item { padding:0 18px; }
  .embed-mode.embed-content-briefing .ticker-title { max-width:260px; }
  .embed-mode.embed-content-briefing .ticker-summary { max-width:360px; }
}

/* Final embed override: the extended Mini TG is always a one-line ticker.
   The earlier card rules remain for the regular app but must not make the
   70px iframe grow vertically or hide its first story. */
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-item {
  flex-direction:row;
  align-items:center;
  min-width:max-content;
  max-width:none;
  min-height:68px;
  padding:0 25px;
  white-space:nowrap;
}
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-title {
  max-width:560px;
  margin:0;
  white-space:nowrap;
}
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-summary {
  max-width:720px;
  margin:0;
  white-space:nowrap;
}

/* Mini TG embed: show the complete headline and summary without clipping. */
.embed-mode.embed-content-briefing .ticker-briefing-category { display:none; }
.embed-mode.embed-content-briefing .ticker-title {
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  color:#ffd45f;
  font-size:15px;
  font-weight:800;
  line-height:1.4;
  white-space:nowrap;
}
.embed-mode.embed-content-briefing .ticker-summary {
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  color:#ffffff;
  font-size:15px;
  font-weight:500;
  line-height:1.4;
  white-space:nowrap;
}

/* Keep Mini TG stories strictly sequential: headline, two-space gap,
   summary, then a wider six-space gap before the next headline. */
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-item {
  flex:0 0 auto;
  flex-wrap:nowrap;
  column-gap:16px;
  padding-right:73px;
}
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-title,
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-summary {
  flex:0 0 auto;
  min-width:max-content;
  position:relative;
  z-index:1;
}
.embed-mode.embed-content-briefing:not(.embed-layout-list) .ticker-summary {
  margin-right:0;
}
