@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400&display=swap');
/* TTN editorial design: shared palette and accessible theme switch */
:root{--bg:#f6f8fb;--surface:#fff;--surface-2:#eef2f7;--border:#dce3ec;--text:#122238;--text-dim:#4e6076;--text-faint:#64748b;--accent:#1359a8;--accent-dim:#aac8e9;--up:#087b58;--down:#c53645;--font-display:"Inter",Arial,sans-serif;color-scheme:light}
html[data-theme="dark"]{--bg:#101a29;--surface:#162337;--surface-2:#1c2d44;--border:#33445b;--text:#f0f5fc;--text-dim:#b7c6d9;--text-faint:#9eafc3;--accent:#79b9ff;--accent-dim:#365e89;--up:#3cddb0;--down:#ff7e88;color-scheme:dark}
.theme-switch{display:inline-flex;align-items:center;gap:0;min-height:34px;border:1px solid var(--border);background:transparent;color:var(--text-dim);padding:3px;border-radius:2px;cursor:pointer;font:600 10px Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.theme-switch:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tech-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 36px}
.tech-ai-card{background:var(--surface);border:1px solid var(--border);padding:18px;border-radius:8px}
.tech-ai-card h3{font-size:17px;line-height:1.35;margin:10px 0}
.tech-ai-card h3 a:hover{color:var(--accent)}
.tech-ai-card p{color:var(--text-dim);font-size:13px}
.tech-ai-intro{max-width:720px;color:var(--text-dim);font-size:15px;margin:8px 0 24px}
@media(max-width:700px){.tech-ai-grid{grid-template-columns:1fr}.theme-switch{order:2}.nav-links{gap:14px}}

/* Theme consistency and text contrast */
html[data-theme="light"] .ttn-original-badge{color:#fff}
html[data-theme="dark"] .ttn-original-badge{color:#0b1726}
html[data-theme="light"] .broker-cta,html[data-theme="light"] .news-modal-source-link,html[data-theme="light"] #cookie-accept{color:#fff}
html[data-theme="dark"] .broker-cta,html[data-theme="dark"] .news-modal-source-link,html[data-theme="dark"] #cookie-accept{color:#081321}
html[data-theme="light"] .skeleton{background:linear-gradient(90deg,#edf1f6 25%,#dfe7ef 37%,#edf1f6 63%);background-size:400% 100%}
html[data-theme="light"] .news-item:hover{border-color:#92a9c2}
html[data-theme="dark"] .news-item:hover{border-color:#64809d}
html[data-theme="light"] .thumb-crypto{background:linear-gradient(135deg,#d7d6f9,#b1c8f9)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:700px){.theme-switch{margin-left:auto}.topnav{gap:8px}.tech-ai-card{padding:16px}}

/* Editorial reading experience */
.static-page{max-width:850px}
.static-page>h1{font-family:var(--font-body);font-size:clamp(30px,3.7vw,45px);line-height:1.13;letter-spacing:-.03em;color:var(--text);margin-bottom:22px}
.static-page>p{font-size:16px;line-height:1.78;color:var(--text-dim);margin-bottom:19px}
.static-page>h2{font-family:var(--font-body);font-size:clamp(20px,2vw,25px);letter-spacing:-.015em;color:var(--text);margin-top:36px;margin-bottom:14px}
.static-page>.ttn-original-badge{margin-bottom:18px}
.static-page img.article-hero-image{width:100%;height:auto;object-fit:contain}
.tech-ai-card{transition:border-color .15s ease,transform .15s ease;min-width:0}
.tech-ai-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.tech-ai-card h3{font-size:18px;line-height:1.4;letter-spacing:-.01em}
.tech-ai-card p{font-size:14px;line-height:1.6}
.tech-ai-intro{font-size:16px;line-height:1.7}
.nav-links a[aria-current="page"]{color:var(--accent);font-weight:700}
@media(max-width:700px){.static-page{padding:30px 18px 55px}.static-page>p{font-size:15px}.tech-ai-card:hover{transform:none}}

/* Editorial reading experience for TTN Original long-form pages */
.static-page{max-width:860px}
.static-page>h1{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.15;letter-spacing:-.025em;color:var(--text);margin:12px 0 18px}
.static-page>h2{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.3;letter-spacing:-.012em;margin:34px 0 14px;color:var(--text)}
.static-page>p{font-size:clamp(1rem,1.35vw,1.08rem);line-height:1.78;max-width:75ch;color:var(--text-dim);margin-bottom:20px}
.static-page>p:first-child{font-size:.9rem}
.static-page a:not(.brand){text-underline-offset:3px}
.static-page>p a,.static-page>ul a{text-decoration:underline;text-decoration-color:var(--accent-dim)}
.static-page>img,.static-page>.article-hero-image{width:100%;height:auto;object-fit:contain;border-radius:8px;max-height:none}
.static-page .article-tickers{margin:22px 0}
@media(max-width:700px){.static-page{padding:30px 18px 58px}.static-page>h1{font-size:clamp(1.8rem,7vw,2.4rem)}.static-page>p{line-height:1.7}}

/* TTN editorial visual system — consistent across light and dark themes */
:root{--ttn-shadow:0 12px 34px rgba(24,54,89,.07)}
html[data-theme="dark"]{--ttn-shadow:0 14px 36px rgba(0,0,0,.22)}
body{background:var(--bg)}
.container{gap:28px}
.featured,.analysis-card,.news-item,.sidebar-block,.market-summary,.tech-ai-card{border-color:var(--border);box-shadow:var(--ttn-shadow)}
.section-title{color:var(--text)}
.topnav{box-shadow:0 1px 0 var(--border)}
.search-box:focus-within{border-color:var(--accent)}
/* First-party market tape. No TradingView iframe in the header. */
.tv-ticker-tape-wrap{display:flex;align-items:center;min-height:61px;background:var(--surface);border-bottom:1px solid var(--border);overflow:hidden;color:var(--text)}
.ttn-ticker-label{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:0 21px;font:700 11px/1.2 "IBM Plex Mono",monospace;letter-spacing:.11em;color:var(--text-dim);border-right:1px solid var(--border);height:38px}
.ttn-live-dot{height:7px;width:7px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px color-mix(in srgb,var(--up) 15%,transparent)}
.ttn-ticker-window{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}
.ttn-ticker-track{display:flex;align-items:stretch;width:max-content;animation:ttn-tape-scroll 43s linear infinite}
.ttn-ticker-window:hover .ttn-ticker-track,.ttn-ticker-window:focus-within .ttn-ticker-track{animation-play-state:paused}
.ttn-ticker-item{display:flex;align-items:center;gap:10px;white-space:nowrap;min-width:188px;padding:16px 18px;background:transparent;border:0;border-right:1px solid var(--border);cursor:pointer;font:inherit;text-align:left;color:var(--text)}
.ttn-ticker-item:hover,.ttn-ticker-item:focus-visible{background:var(--surface-2)}
.ttn-ticker-name{font-size:12px;font-weight:600;color:var(--text-dim)}
.ttn-ticker-value{font:600 13px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.ttn-ticker-change{font:700 11px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.ttn-ticker-item.up .ttn-ticker-change{color:var(--up)}
.ttn-ticker-item.down .ttn-ticker-change{color:var(--down)}
.ttn-ticker-item.unavailable .ttn-ticker-value{color:var(--text-faint)}
.ttn-ticker-attribution{color:var(--text-faint);font-size:10px;padding:0 15px;white-space:nowrap}
@keyframes ttn-tape-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ttn-ticker-track{animation:none}.ttn-ticker-window{overflow-x:auto;mask-image:none}}
@media(max-width:750px){.ttn-ticker-attribution{display:none}.ttn-ticker-label{padding:0 11px;font-size:10px}.ttn-ticker-item{min-width:167px;padding:14px 12px}}

/* 2026 TTN Finance masthead: premium typographic identity */
.ttn-wordmark{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;min-width:220px;text-decoration:none!important}
.ttn-wordmark-symbol{display:flex;align-items:flex-end;gap:3px;height:39px;width:40px;padding:6px;border-radius:10px;background:linear-gradient(135deg,#2566b5,#102e53);box-shadow:0 5px 18px rgba(17,77,149,.19)}
.ttn-wordmark-symbol i{display:block;width:7px;border-radius:2px 2px 0 0;background:#fff;transform:skew(-9deg)}
.ttn-wordmark-symbol i:nth-child(1){height:12px;opacity:.65}.ttn-wordmark-symbol i:nth-child(2){height:21px;opacity:.85}.ttn-wordmark-symbol i:nth-child(3){height:28px;background:#8dd7ff}
.ttn-wordmark-name{display:flex;flex-direction:column;align-items:flex-start;color:var(--text);font:800 26px/1 "Inter",sans-serif;letter-spacing:-.085em}
.ttn-wordmark-accent{display:inline;color:var(--accent)}
.ttn-wordmark-name{display:block}
.ttn-wordmark-name small{display:block;font:700 9px/1.55 "Inter",sans-serif;letter-spacing:.13em;color:var(--text-dim);margin-top:4px}
.ttn-wordmark-name small span{font-weight:500;letter-spacing:.06em}
.ttn-tradingview-band{min-height:56px;display:flex;align-items:center;background:var(--surface);border-bottom:1px solid var(--border);overflow:hidden}
.ttn-market-band-label{height:54px;display:flex;align-items:center;gap:9px;padding:0 22px 0 24px;flex:0 0 auto;color:var(--text-dim);border-right:1px solid var(--border);font:700 10px "Inter",sans-serif;letter-spacing:.15em}
.ttn-market-band-label i{display:inline-block;height:7px;width:7px;background:var(--up);border-radius:50%}
.ttn-tv-content{min-width:0;flex:1;overflow:hidden}
.ttn-tv-content tv-ticker-tape{display:block;min-height:54px;width:100%;color-scheme:light}
html[data-theme="dark"] .ttn-tv-content tv-ticker-tape{color-scheme:dark}
@media(max-width:750px){.ttn-wordmark{min-width:unset;gap:8px}.ttn-wordmark-symbol{width:35px;height:36px}.ttn-wordmark-name{font-size:24px}.ttn-wordmark-name small span{display:none}.ttn-market-band-label{padding:0 12px;font-size:9px}}

/* Approved brand from TTN Finance visual reference, October 2026 */
.topnav .ttn-brand-clean{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:244px;text-decoration:none!important;flex-shrink:0}
.ttn-brand-title{display:flex;align-items:baseline;gap:5px;white-space:nowrap;font-family:Inter,Arial,sans-serif;font-size:clamp(26px,2.45vw,37px);font-weight:800;line-height:1.05;letter-spacing:-.048em}
.ttn-brand-ttn{color:#112b51}
.ttn-brand-finance{color:#0662d7}
.ttn-brand-tagline{display:block;font-family:Inter,Arial,sans-serif;font-size:11px;line-height:1.4;font-weight:400;letter-spacing:-.025em;color:#697992;white-space:nowrap;padding-left:3px}
html[data-theme="dark"] .ttn-brand-ttn{color:#f0f5ff}
html[data-theme="dark"] .ttn-brand-finance{color:#71adff}
html[data-theme="dark"] .ttn-brand-tagline{color:#a4b1c6}
@media(max-width:950px){.topnav .ttn-brand-clean{min-width:auto}.ttn-brand-title{font-size:28px}.ttn-brand-tagline{font-size:10px}}
@media(max-width:450px){.ttn-brand-title{font-size:25px}.ttn-brand-tagline{font-size:9px}}

/* TTN top story editorial sidebar, matching the approved light visual reference */
.ttn-latest-tech{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:18px 20px;margin-bottom:20px}
.ttn-sidebar-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.ttn-sidebar-heading h2{font-size:20px;line-height:1.2;letter-spacing:-.035em;margin:0;font-weight:750;color:var(--text)}
.ttn-sidebar-heading a{font-size:12px;text-decoration:none;color:var(--accent);white-space:nowrap}
.ttn-sidebar-article{padding:15px 0;border-bottom:1px solid var(--border)}
.ttn-sidebar-article:last-child{border-bottom:0;padding-bottom:2px}
.ttn-sidebar-kicker{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}
.ttn-sidebar-article h3{font-size:14px;line-height:1.4;font-weight:700;letter-spacing:-.015em;margin:0 0 8px}
.ttn-sidebar-article h3 a{color:var(--text);text-decoration:none}
.ttn-sidebar-article h3 a:hover{color:var(--accent)}
.ttn-sidebar-article time{font-size:11px;color:var(--text-faint)}

/* Real editorial cards: thumbnail visible on both landing page and Tech & AI archive */
.tech-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tech-ai-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:9px}
.tech-ai-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface-2)}
.tech-ai-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tech-ai-card:hover .tech-ai-card-media img{transform:scale(1.025)}
.tech-ai-card-content{padding:17px 20px 20px;flex:1}
.tech-ai-card-content h3{margin:13px 0 9px}
.tech-ai-card-content h3 a{color:var(--text);text-decoration:none}
.tech-ai-card-meta{margin-top:14px!important;color:var(--text-faint)!important;font-size:12px!important}
.ttn-sidebar-article{display:grid;grid-template-columns:114px minmax(0,1fr);gap:12px;align-items:start}
.ttn-sidebar-thumb{display:block;overflow:hidden;border-radius:5px;background:var(--surface-2);aspect-ratio:16/10}
.ttn-sidebar-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ttn-sidebar-copy{min-width:0}
.ttn-sidebar-article h3{margin:4px 0 7px;line-height:1.34}
@media(max-width:700px){.tech-ai-grid{grid-template-columns:1fr}.ttn-sidebar-article{grid-template-columns:100px minmax(0,1fr)}}

/* Original Tech & AI photography: preserve full-resolution 16:9 framing. */
.tech-ai-editorial-figure{margin:24px 0}.tech-ai-editorial-figure .article-hero-image{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:8px}.tech-ai-editorial-figure figcaption{margin-top:7px;font-size:12px;color:var(--muted,#6b7280)}

/* TTN Original editorial photography. */
.ttn-editorial-figure{margin:24px 0}.ttn-editorial-figure .article-hero-image{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:8px}.ttn-editorial-figure figcaption{margin-top:7px;font-size:12px;color:var(--text-faint,#6b7280)}

/* Native market tape follows TTN's shared light/dark palette. */
.ttn-ticker-group{display:flex;align-items:stretch;flex-shrink:0}
.ttn-ticker-track{animation-duration:48s}
.ttn-ticker-item{min-width:220px;justify-content:center}
.ttn-ticker-item.unavailable .ttn-ticker-value{font:500 11px Inter,Arial,sans-serif;color:var(--accent)}
.ttn-ticker-item .ttn-ticker-change{min-width:52px}
.ttn-ticker-item:not(.up):not(.down) .ttn-ticker-change{color:var(--text-faint);font-size:10px}
.ttn-ticker-item:focus-visible,.ttn-ticker-window:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.article-ticker-tag:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:750px){.ttn-ticker-item{min-width:200px}}
@media(prefers-reduced-motion:reduce){.ttn-ticker-group[aria-hidden="true"]{display:none}}
.chart-panel{scroll-margin-top:80px}

/* Quotes and asset logos use TradingView; colors follow TTN exactly. */
#ticker-strip .ttn-live-tape{flex:1;min-width:0;height:58px;overflow:hidden}
#ticker-strip tv-ticker-tape{
  display:block;width:100%;min-height:58px;
  --tv-widget-background-color:var(--surface);
  --tv-widget-hover-background-color:var(--surface-2);
  --tv-widget-border-color:var(--border);
  --tv-widget-attribution-border-color:var(--border);
  --tv-widget-link-color:var(--accent);
  --tv-widget-popup-background-color:var(--surface);
  --tv-widget-text-color:var(--text);
  --tv-widget-price-text-color:var(--text);
  --tv-widget-accent-color:var(--accent);
  --tv-widget-positive-color:var(--up);
  --tv-widget-negative-color:var(--down);
  --tv-widget-font-family:Inter,Arial,sans-serif;
  --tv-widget-tooltip-text-color:var(--text);
  --tv-widget-tooltip-background-color:var(--surface-2);
}
html[data-theme="light"] #ticker-strip{color-scheme:light}
html[data-theme="dark"] #ticker-strip{color-scheme:dark}

/* Restrained, text-only appearance selector across desktop and mobile. */
.theme-switch-option{display:block;padding:6px 9px;line-height:1.2;border-radius:1px}.theme-switch-option.is-active{background:var(--text);color:var(--surface)}.theme-switch:hover{border-color:var(--text-dim)}.theme-switch:focus-visible{outline:2px solid var(--text);outline-offset:3px}

/* Consistent editorial hover and readable article ticker labels in both themes. */
.analysis-card{transition:border-color .15s ease,transform .15s ease}
.analysis-card:hover,.analysis-card:focus-within,.tech-ai-card:focus-within{border-color:var(--accent);transform:translateY(-2px)}
.article-ticker-tag{color:var(--accent)}
.article-ticker-tag b{color:var(--accent)}
.article-ticker-tag:hover{border-color:var(--accent)}
@media(max-width:700px){.analysis-card:hover,.analysis-card:focus-within,.tech-ai-card:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.analysis-card,.tech-ai-card,.tech-ai-card-media img,.article-ticker-tag{transition:none}.analysis-card:hover,.analysis-card:focus-within,.tech-ai-card:hover,.tech-ai-card:focus-within,.tech-ai-card:hover .tech-ai-card-media img,.article-ticker-tag:hover{transform:none}}

/* Compact, keyboard-accessible article references. */
.static-page .editorial-sources{margin:18px 0 22px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:13px;line-height:1.5;color:var(--text-muted,var(--text))}
.static-page .editorial-sources summary{cursor:pointer;font-weight:600;min-height:24px;overflow-wrap:anywhere}
.static-page .editorial-sources summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.static-page .editorial-sources ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.static-page .editorial-sources li{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.static-page .editorial-sources a{font-size:inherit}
@media print{.static-page .editorial-sources>ul{display:block!important}}

.static-page .editorial-sources p{font-size:13px;line-height:1.5;margin:10px 0}

/* Contextual article links must remain recognizable without hover. */
.static-page .editorial-body a{color:#2563eb;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
[data-theme="dark"] .static-page .editorial-body a{color:#80b3ff}
.static-page .editorial-body a:hover{text-decoration-thickness:2px}
.static-page .editorial-body a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* Approved 2026-10-31: article reading typography in light mode only. */
html:not([data-theme="dark"]) body:has(.static-page .editorial-body){background:#fff}
html:not([data-theme="dark"]) .static-page:has(.editorial-body){background:#fff}
html:not([data-theme="dark"]) .static-page .editorial-body > p{
 font-family:"Source Serif 4",Georgia,serif;
 font-size:19px;font-weight:400;line-height:1.55;letter-spacing:normal;
 color:#202020;margin-bottom:23px;
}
html:not([data-theme="dark"]) .static-page .editorial-body > p a{color:#1359a8}

/* Approved dark-theme article body typography; other UI elements unchanged. */
html[data-theme="dark"] .static-page .editorial-body > p{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:19px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:normal;
  color:#D5DFEB;
  margin-bottom:23px;
}
