:root {
  --bg: #08172e;
  --surface: #10213e;
  --surface-soft: #132743;
  --surface-raised: #172d4d;
  --text: #f8fafc;
  --text-secondary: #cbd5e1;
  --muted: #8fa3bc;
  --border: rgba(203, 213, 225, .14);
  --border-strong: rgba(119, 230, 255, .36);
  --cyan: #77e6ff;
  --blue: #5ea4ff;
  --violet: #8b67ff;
  --green: #10b981;
  --amber: #f59e0b;
  --red: #f87171;
  --radius: 8px;
  --sidebar: 248px;
  --drawer: 500px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px;
  --shadow-raised: 0 18px 48px rgba(1, 9, 23, .26);
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { min-width: 0; margin: 0; overflow-x: hidden; color: var(--text); background: var(--bg); font: 15px/1.68 "PingFang SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif; }
body.context-open { overflow-x: hidden; }
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; }
.skip { position: fixed; z-index: 30; top: -80px; left: var(--s4); padding: var(--s2) var(--s3); background: var(--cyan); color: #051326; border-radius: 4px; }
.skip:focus { top: var(--s3); }
.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100dvh; transition: grid-template-columns .22s ease; }
.sidebar { position: fixed; z-index: 8; display: flex; flex-direction: column; width: var(--sidebar); height: 100dvh; padding: 28px 20px 18px; overflow: hidden; border-right: 1px solid var(--border); background: #0a1931; }
.brand-block { padding: 0 8px var(--s5); }
.brand-logo { display: block; width: 174px; max-width: 100%; height: auto; }
.brand-subtitle { max-width: 174px; margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; letter-spacing: .015em; }
.side-nav { display: grid; gap: 4px; }
.nav-link { display: block; padding: 10px 12px; color: var(--text-secondary); font-size: 14px; line-height: 20px; text-decoration: none; border-left: 2px solid transparent; border-radius: 4px; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.nav-ai-assistant { width: 100%; font: inherit; text-align: left; appearance: none; background: transparent; border: 0; border-left: 2px solid transparent; cursor: pointer; }
.nav-link:hover, .nav-link:focus-visible { color: var(--text); background: rgba(119, 230, 255, .07); outline: none; }
.nav-link[aria-current="page"] { color: var(--text); border-left-color: var(--cyan); background: linear-gradient(90deg, rgba(119, 230, 255, .12), transparent 85%); }
.nav-coming-soon { display:grid; gap:4px; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); }
.nav-section-label { margin:0 0 2px; padding:0 10px; color:var(--muted); font-size:10px; font-weight:760; letter-spacing:.12em; text-transform:uppercase; }
.nav-coming-soon-item { width:100%; min-height:40px; color:var(--muted); font:inherit; text-align:left; background:transparent; border-top:0; border-right:0; border-bottom:0; opacity:.72; cursor:default; }
.nav-coming-soon-item:disabled { opacity:.72; }
.nav-coming-soon-item .nav-icon { color:var(--muted); }
.nav-coming-soon-item .nav-label { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.side-bottom { display: grid; gap: 12px; margin-top: auto; padding: var(--s5) 8px 0; color: var(--muted); font-size: 12px; border-top: 1px solid var(--border); }
.side-status { display: grid; gap: 6px; }
.language-switch { display: flex; gap: 7px; }
.language-switch a, .disclaimer-link { color: var(--text-secondary); text-decoration: none; }
.language-switch a[aria-current="true"] { color: var(--cyan); }
.disclaimer-link:hover, .language-switch a:hover { color: var(--cyan); }
.main-content { grid-column: 2; min-width: 0; width: 100%; max-width: 1240px; padding: 36px clamp(24px, 4vw, 64px) 42px; margin: 0 auto; }
.loading-notice { margin: 0 0 var(--s3); color: var(--muted); font-size: 12px; }
.static-fallback { max-width: 860px; padding: var(--s5); margin: 0 0 var(--s5); border: 1px solid var(--border-strong); border-radius: var(--radius); background: rgba(16, 33, 62, .82); }.static-fallback h1 { margin: 5px 0 var(--s4); font-size: clamp(24px, 3vw, 34px); line-height: 1.3; }.fallback-eyebrow, .fallback-note { margin: 0; color: var(--muted); font-size: 12px; }.static-fallback dl { display: grid; gap: var(--s3); padding: var(--s4) 0; margin: var(--s4) 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }.static-fallback dl div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: var(--s3); }.static-fallback dt { color: var(--muted); }.static-fallback dd { margin: 0; color: var(--text-secondary); }
.mobile-brand, .menu-toggle, .drawer-backdrop { display: none; }
.content-grid { min-width: 0; transition: opacity .16s ease, transform .16s ease; }.route-loading { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; min-height:220px; padding-top:4px; }.route-loading span { min-height:184px; border:1px solid var(--border); border-radius:10px; background:linear-gradient(100deg,rgba(16,33,62,.45),rgba(31,55,87,.68),rgba(16,33,62,.45)); background-size:200% 100%; animation:routeSkeleton 1.35s ease-in-out infinite; }.route-loading span:nth-child(2) { animation-delay:-.25s; }.route-loading span:nth-child(3) { animation-delay:-.5s; }.route-loading[hidden] { display:none; }.main-content.is-route-loading .content-grid { opacity:.62; transform:translateY(2px); }@keyframes routeSkeleton { 0%,100% { background-position:100% 0; } 50% { background-position:0 0; } }
.page-header { margin-bottom: var(--s5); }
.page-header h1 { margin: 3px 0 6px; font-size: clamp(24px, 2.1vw, 29px); line-height: 1.25; letter-spacing: -.025em; }
.page-subtitle { max-width: 690px; margin: 0; color: var(--text-secondary); }
.eyebrow { margin: 0; color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.section-heading { display: flex; align-items: center; gap: 10px; min-width: 0; margin-bottom: var(--s4); }
.section-heading h2 { margin: 0; font-size: 19px; line-height: 1.35; letter-spacing: -.015em; }
.section-heading .text-action { margin-left: auto; }
.status-badge { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; padding: 2px 7px; color: var(--text-secondary); font-size: 12px; line-height: 1.45; white-space: nowrap; border: 1px solid var(--border); border-radius: 999px; }
.status-ok { color: #9cf0cf; border-color: rgba(16, 185, 129, .42); }
.status-stale { color: #f8d18b; border-color: rgba(245, 158, 11, .42); }
.status-degraded, .status-conflict { color: #ffb1a9; border-color: rgba(248, 113, 113, .42); }
.market-hero { position: relative; min-width: 0; padding: clamp(24px, 3vw, 36px); margin-bottom: var(--s6); overflow: hidden; border: 1px solid var(--border-strong); border-radius: var(--radius); background: linear-gradient(120deg, rgba(19, 39, 67, .98), rgba(12, 29, 56, .98)); box-shadow: var(--shadow-raised); }
.market-hero::before { position: absolute; top: 0; left: 0; width: 100%; height: 2px; content: ""; background: linear-gradient(90deg, var(--cyan), var(--violet), transparent 72%); }
.market-hero h1 { max-width: 810px; margin: 0 0 12px; overflow-wrap: anywhere; word-break: break-word; font-size: clamp(28px, 3vw, 36px); line-height: 1.26; letter-spacing: -.035em; }
.hero-summary { max-width: 760px; margin: 0; overflow-wrap: anywhere; word-break: break-word; color: var(--text-secondary); font-size: 16px; }
.hero-metadata { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); margin: var(--s5) 0; }
.hero-metadata div { display: grid; gap: 2px; min-width: 98px; }
.hero-metadata dt { color: var(--muted); font-size: 12px; }
.hero-metadata dd { margin: 0; font-weight: 600; }
.hero-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); padding: var(--s4) 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.hero-evidence h2 { margin: 0 0 4px; color: var(--muted); font-size: 12px; font-weight: 600; }
.hero-evidence p, .next-watch { margin: 0; overflow-wrap: anywhere; word-break: break-word; color: var(--text-secondary); }
.context-updates { padding: var(--s3) 0 0; }
.context-updates h2 { margin: 0 0 5px; color: var(--muted); font-size: 12px; font-weight: 600; }
.context-updates p { margin: 4px 0 0; overflow-wrap: anywhere; word-break: break-word; color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
.brief-observation-strip,.brief-market-chain { margin:12px 0 16px; padding:16px 20px; border:1px solid var(--border); border-radius:12px; background:rgba(16,33,62,.6); }
.brief-observation-strip h2,.brief-market-chain>h2 { margin:0 0 10px; font-size:15px; }
.brief-observation-strip article { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:7px 0; border-top:1px solid var(--border); }
.brief-observation-strip article:first-of-type { padding-top:0; border-top:0; }.brief-observation-strip p,.brief-observation-strip time { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.5; }.brief-observation-strip time { flex:0 0 auto; color:var(--muted); white-space:nowrap; }
.brief-chain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--border); }.chain-stage { min-width:0; padding:13px 16px 4px; border-right:1px solid var(--border); }.chain-stage:last-child { border-right:0; }.chain-stage>span { color:var(--muted); font-size:11px; }.chain-stage h3 { margin:6px 0; color:var(--cyan); font-size:14px; }.chain-stage p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.6; }.chain-stage.is-cross_market h3 { color:var(--blue); }.chain-stage.is-crypto h3 { color:var(--amber); }.chain-stage.is-next h3 { color:var(--green); }.page-brief>.condition-panel { margin-top:14px; }
.next-watch { margin-top: var(--s4); font-weight: 500; }
.snapshot-section, .market-thread, .evidence-matrix { padding: var(--s5); margin-bottom: var(--s5); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }.snapshot-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s3); margin: 0; }.snapshot-list div { min-width: 0; padding: var(--s3); background: rgba(16, 33, 62, .45); border-left: 2px solid var(--border-strong); cursor: default; }.snapshot-list div:has(dd) { }.snapshot-list dt { color: var(--muted); font-size: 12px; }.snapshot-list dd { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--text-secondary); }.market-thread p { max-width: 880px; margin: 0; color: var(--text-secondary); }.asset-brief-list { display: grid; gap: 0; }.asset-brief-row { padding: var(--s4) 0; border-top: 1px solid var(--border); }.asset-brief-row:first-child { padding-top: 0; border-top: 0; }.asset-brief-row h3 { margin: 0 0 var(--s2); font-size: 18px; }.asset-brief-row p { margin: 4px 0; color: var(--text-secondary); }.matrix-table { display: grid; border-top: 1px solid var(--border); }.matrix-row { display: grid; grid-template-columns: minmax(130px, .75fr) repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }.matrix-row > * { min-width: 0; padding: 12px; text-align: left; }.matrix-row strong { color: var(--text-secondary); font-weight: 500; }.matrix-head > * { color: var(--muted); font-size: 12px; }.matrix-cell { color: var(--text-secondary); background: transparent; border: 0; border-left: 1px solid var(--border); cursor: pointer; }.matrix-cell:hover, .matrix-cell:focus-visible { color: var(--cyan); background: rgba(119, 230, 255, .06); outline: none; }
.brief-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: var(--s5); margin-bottom: var(--s5); }
.section-surface, .asset-summary, .confirmation-summary { padding: var(--s5); border: 1px solid var(--border); border-radius: var(--radius); background: rgba(16, 33, 62, .64); }
.editorial-item { padding: var(--s4) 0; border-top: 1px solid var(--border); }
.editorial-item:first-of-type { padding-top: 0; border-top: 0; }
.editorial-item h3 { margin: 0 0 7px; font-size: 16px; line-height: 1.45; }
.item-line { margin: 3px 0; color: var(--text-secondary); }
.item-line strong { color: var(--muted); font-weight: 500; }
.text-action, .asset-action { padding: 0; margin-top: 9px; color: var(--cyan); text-align: left; background: transparent; border: 0; cursor: pointer; }
.text-action:hover, .text-action:focus-visible, .asset-action:hover, .asset-action:focus-visible { color: #b5f1ff; text-decoration: underline; outline: none; }
.catalyst-group { padding-top: var(--s5); margin-top: var(--s5); border-top: 1px solid var(--border); }
.catalyst-group h2 { margin: 0 0 8px; font-size: 17px; }
.catalyst-group p:not(.eyebrow) { margin: 0 0 8px; color: var(--text-secondary); }
.watch-section { margin-bottom: var(--s5); }
.watch-timeline { display: grid; gap: var(--s4); padding: 0; margin: 0; list-style: none; }
.watch-timeline li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--s3); }
.watch-timeline li:not(:last-child)::before { position: absolute; top: 26px; bottom: -17px; left: 13px; width: 1px; content: ""; background: var(--border); }
.timeline-index { display: grid; width: 27px; height: 27px; place-items: center; color: var(--cyan); font-size: 12px; border: 1px solid var(--border-strong); border-radius: 50%; }
.watch-timeline h3 { margin: 1px 0 3px; font-size: 15px; }.watch-timeline p { margin: 0; color: var(--text-secondary); }
.confirmation-summary { margin-bottom: var(--s5); background: rgba(19, 39, 67, .44); }.confirmation-summary > p { margin: 0 0 10px; font-size: 16px; }.confirmation-line { margin: 5px 0; color: var(--text-secondary); }
.asset-summary { margin-top: var(--s5); }.asset-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); }.asset-card { padding: var(--s5); border: 1px solid var(--border); border-radius: 6px; background: rgba(7, 19, 40, .34); }.asset-card-top { display: flex; justify-content: space-between; gap: var(--s3); align-items: center; }.asset-card h2 { margin: 0; font-size: 22px; }.asset-card p { margin: 9px 0; color: var(--text-secondary); }.asset-price { color: var(--text) !important; font-weight: 600; }.asset-levels { color: var(--muted) !important; font-size: 13px; }
.relative-summary { margin-bottom: var(--s5); }.crypto-grid { margin-bottom: var(--s5); }.tokenized-summary > p { color: var(--text-secondary); }.tokenized-group { padding-top: var(--s5); margin-top: var(--s5); border-top: 1px solid var(--border); }.tokenized-group h2 { margin: 0 0 var(--s3); font-size: 16px; }.compact-asset-list { display: flex; flex-wrap: wrap; gap: 8px; }.compact-asset-list button { padding: 6px 9px; color: var(--text-secondary); background: transparent; border: 1px solid var(--border); border-radius: 4px; cursor: pointer; }.compact-asset-list button:hover, .compact-asset-list button:focus-visible { color: var(--cyan); border-color: var(--border-strong); outline: none; }.simple-page { max-width: 760px; }.simple-page p { color: var(--text-secondary); } footer { padding-top: var(--s6); color: var(--muted); font-size: 12px; }
.context-drawer { position: fixed; z-index: 20; top: 0; right: 0; display: flex; flex-direction: column; width: clamp(400px, 31vw, 480px); height: 100dvh; padding: 0; overflow: hidden; border-left: 1px solid var(--border-strong); background: #0c1d38; box-shadow: -20px 0 55px rgba(1, 9, 23, .3); }.context-drawer::before { position: fixed; z-index: -1; inset: 0 min(480px, 31vw) 0 0; content: ""; background: rgba(1, 9, 23, .46); }.drawer-handle { display: none; }.drawer-header { position: relative; z-index: 2; flex: 0 0 auto; display: flex; justify-content: space-between; gap: var(--s4); padding: 24px 24px 16px; background: #0c1d38; border-bottom: 1px solid var(--border); }.drawer-header > div { min-width: 0; }.drawer-header h2 { margin: 2px 0 0; overflow-wrap: anywhere; font-size: 25px; }.drawer-header .status-badge { margin-top: 8px; }.drawer-header-detail { margin: 8px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 12px; line-height: 1.5; }.drawer-close { flex: 0 0 auto; align-self: flex-start; padding: 7px 10px; color: var(--text-secondary); background: transparent; border: 1px solid var(--border); border-radius: 4px; cursor: pointer; }.drawer-close:hover, .drawer-close:focus-visible { color: var(--text); border-color: var(--border-strong); outline: none; }.drawer-tabs { position: relative; z-index: 2; flex: 0 0 auto; display: flex; gap: 4px; padding: 10px 24px; overflow-x: auto; background: #0c1d38; border-bottom: 1px solid var(--border); }.drawer-tabs button { flex: 0 0 auto; padding: 5px 7px; color: var(--muted); font-size: 12px; background: transparent; border: 0; border-bottom: 1px solid transparent; cursor: pointer; }.drawer-tabs button[aria-selected="true"] { color: var(--cyan); border-color: var(--cyan); }.drawer-content { flex: 1 1 auto; min-height: 0; padding: var(--s5); overflow-y: auto; }.drawer-section + .drawer-section { margin-top: var(--s6); }.drawer-section h3 { padding-bottom: var(--s2); margin: 0 0 var(--s2); font-size: 17px; border-bottom: 1px solid var(--border); }.data-rows { margin: 0; }.data-rows div { display: grid; grid-template-columns: minmax(96px, .38fr) minmax(0, 1fr); gap: var(--s3); padding: 11px 0; border-bottom: 1px solid rgba(203, 213, 225, .09); }.data-rows dt { color: var(--muted); font-size: 13px; }.data-rows dd { margin: 0; color: var(--text-secondary); }
@media (max-width: 1024px) { .main-content { padding: 30px 28px 38px; }.brief-split { grid-template-columns: 1fr; }.section-surface, .asset-summary, .confirmation-summary { padding: 20px; } }
@media (max-width: 899px) { .app-shell { display: block; }.sidebar { left: 0; width: min(290px, 82vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: 14px 0 35px rgba(1, 9, 23, .28); }.sidebar.is-open { transform: translateX(0); }.drawer-backdrop { position: fixed; z-index: 7; inset: 0; background: rgba(1, 9, 23, .58); }.menu-toggle { position: fixed; z-index: 10; top: 12px; left: 14px; display: grid; gap: 4px; width: 40px; height: 38px; padding: 9px; background: rgba(10, 25, 49, .92); border: 1px solid var(--border); border-radius: 5px; }.menu-toggle span { height: 1px; background: var(--text-secondary); }.mobile-brand { display: flex; align-items: center; gap: 8px; min-height: 38px; margin-bottom: var(--s5); padding-left: 52px; color: var(--text-secondary); font-size: 12px; letter-spacing: .09em; }.mobile-brand img { width: 23px; height: 23px; }.main-content { width: 100%; padding: 18px 16px calc(28px + env(safe-area-inset-bottom)); }.loading-notice { padding-left: 52px; }.context-drawer { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: min(85dvh, 760px); border: 1px solid var(--border-strong); border-bottom: 0; border-radius: 16px 16px 0 0; }.context-drawer::before { position: fixed; inset: 0; background: rgba(1, 9, 23, .58); }.context-drawer::after { display: none; }.drawer-handle { position: absolute; z-index: 4; top: 0; left: calc(50% - 36px); display: block; width: 72px; height: 24px; padding: 0; overflow: hidden; color: transparent; background: transparent; border: 0; cursor: grab; touch-action: none; }.drawer-handle::after { position: absolute; top: 8px; left: 16px; width: 40px; height: 4px; content: ""; background: var(--muted); border-radius: 999px; }.drawer-header { padding: 24px 16px 14px; }.drawer-header > div { padding-right: 74px; }.drawer-close { position: absolute; top: 24px; right: 16px; }.drawer-tabs { top: 110px; padding: 9px 16px; }.drawer-content { height: calc(min(85dvh, 760px) - 164px); padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }.page-header h1 { font-size: 25px; }.market-hero { padding: 22px 18px; margin-bottom: var(--s5); }.market-hero h1 { font-size: 28px; }.hero-evidence, .asset-grid { grid-template-columns: 1fr; }.hero-metadata { gap: var(--s3) var(--s4); }.section-surface, .asset-summary, .confirmation-summary { padding: 18px; }.brief-split { gap: var(--s4); }.asset-card { padding: 18px; } }
@media (max-width: 420px) { .hero-metadata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.status-badge { white-space: normal; }.section-heading { align-items: flex-start; flex-wrap: wrap; }.section-heading .text-action { width: 100%; margin-left: 0; }.data-rows div { grid-template-columns: 1fr; gap: 3px; }.drawer-tabs { top: 108px; } }
@media (max-width: 899px) { .snapshot-section, .market-thread, .evidence-matrix { padding: 18px 0; }.snapshot-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.matrix-table { display: block; border: 0; }.matrix-head { display: none; }.matrix-row { grid-template-columns: 1fr; padding: var(--s3) 0; }.matrix-row > * { padding: 7px 0; }.matrix-row strong { margin-bottom: 2px; }.matrix-cell { border: 0; border-top: 1px solid rgba(203, 213, 225, .09); }.matrix-cell::before { display: inline-block; width: 42px; content: attr(data-asset); color: var(--muted); } }
@media (max-width: 899px) { .drawer-tabs { top: auto; }.drawer-content { height: auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

/* Phase C.9 approved-public composition: shared shell and page-owned surfaces. */
:root { --sidebar: 232px; --page-max: 1520px; }
.main-content { max-width: calc(var(--page-max) + var(--sidebar)); padding: 28px clamp(24px, 2.2vw, 36px) 40px; }
.brand-block { padding-bottom: 22px; }.brand-logo { width: 142px; }.brand-subtitle { display: none; }
.nav-link { display: flex; align-items: center; gap: 10px; padding: 11px 10px; border-left-width: 2px; }.nav-icon { width: 16px; color: var(--muted); font-size: 15px; text-align: center; }.nav-link[aria-current="page"] .nav-icon { color: var(--cyan); }
.page-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:18px; }.page-title-wrap { display:flex; align-items:baseline; gap:14px; }.page-header h1 { margin:0; font-size:28px; }.page-subtitle { color:var(--text-secondary); font-size:14px; }.page-controls { display:flex; align-items:center; gap:12px; margin-left:auto; color:var(--muted); font-size:12px; }.period-switch,.theme-switch { border:1px solid var(--border); border-radius:6px; background:rgba(12,29,56,.66); }.period-switch button,.theme-switch { padding:7px 10px; border:0; color:var(--text-secondary); background:transparent; cursor:pointer; }.period-switch button[aria-pressed="true"] { color:var(--blue); background:rgba(94,164,255,.12); }.period-switch button:disabled { color:var(--text-faint); cursor:not-allowed; }.theme-switch { border:1px solid var(--border); }.freshness-indicator::before { display:inline-block; width:6px; height:6px; margin-right:7px; content:""; background:var(--green); border-radius:50%; }
.brief-hero,.crypto-strip,.token-status-band,.watch-band { border:1px solid var(--border); border-radius:12px; background:linear-gradient(110deg,rgba(19,39,67,.9),rgba(12,29,56,.86)); }.brief-hero { padding:24px 28px 18px; }.brief-hero h2 { max-width:1050px; margin:0 0 18px; font-size:clamp(25px,2.3vw,34px); line-height:1.35; }.brief-hero-grid { display:grid; grid-template-columns:1.55fr 1.1fr .6fr .6fr 1.15fr; border-top:1px solid var(--border); }.brief-hero-grid>div { min-width:0; padding:16px 18px 8px; border-right:1px solid var(--border); }.brief-hero-grid>div:last-child { border:0; }.hero-evidence-block h3,.hero-stat span { margin:0 0 8px; color:var(--muted); font-size:12px; font-weight:500; }.hero-evidence-block p { margin:0 0 7px; color:var(--text-secondary); font-size:13px; line-height:1.55; }.hero-evidence-block.supports p::before { content:"• "; color:var(--green); }.hero-evidence-block.contrary p::before { content:"• "; color:var(--red); }.hero-stat { display:grid; align-content:start; }.hero-stat strong { font-size:16px; line-height:1.45; }.fact-band { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:12px 0 16px; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:rgba(16,33,62,.62); }.fact { min-width:0; padding:15px 18px; color:var(--text); text-align:left; background:transparent; border:0; border-right:1px solid var(--border); }.fact:last-child { border:0; }.fact:disabled { cursor:default; }.fact span,.token-status-band span { display:block; color:var(--muted); font-size:12px; }.fact strong { display:block; margin-top:6px; font-size:14px; font-weight:500; line-height:1.45; }.brief-mid-grid { display:grid; grid-template-columns:1.02fr 1.15fr 1.35fr; gap:14px; }.content-surface { padding:20px; border:1px solid var(--border); border-radius:10px; background:rgba(16,33,62,.6); }.content-surface h2 { margin:0 0 12px; font-size:17px; }.content-surface p { color:var(--text-secondary); }.change-row { padding:10px 0; border-top:1px solid var(--border); }.change-row:first-of-type { padding-top:0; border:0; }.change-row h3 { margin:0 0 4px; font-size:14px; }.change-row p { margin:0; font-size:13px; line-height:1.55; }.thesis-panel>p { margin:0; line-height:1.8; }.brief-assets { margin-top:14px; border-top:1px solid var(--border); }.brief-assets p { margin:8px 0; font-size:13px; }.condition-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; }.condition-group { min-width:0; padding:20px; border-right:1px solid var(--border); }.condition-group:last-child { border:0; }.condition-group h3 { margin:0 0 10px; font-size:14px; }.condition-group:nth-child(1) h3 { color:var(--red); }.condition-group:nth-child(2) h3 { color:var(--green); }.condition-group:nth-child(3) h3 { color:var(--amber); }.condition-group p { margin:0; font-size:13px; line-height:1.6; }.watch-band { display:grid; grid-template-columns:180px repeat(3,minmax(0,1fr)); gap:0; margin-top:14px; padding:18px 20px; }.watch-band h2 { margin:0; font-size:17px; }.watch-item { min-width:0; padding:0 18px; border-left:1px solid var(--border); }.watch-item span { color:var(--blue); font-size:12px; }.watch-item strong { display:block; margin-top:5px; font-size:14px; }.watch-item p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.crypto-strip { display:grid; grid-template-columns:1fr 1fr 1.8fr; margin-bottom:14px; }.crypto-asset-top,.crypto-times { min-width:0; padding:17px 22px; border-right:1px solid var(--border); }.crypto-strip>*:last-child { border:0; }.crypto-asset-top h2 { margin:0; font-size:15px; }.crypto-asset-top strong { display:block; margin:5px 0; font-size:20px; }.crypto-asset-top p,.crypto-times p { margin:3px 0; color:var(--text-secondary); font-size:13px; }.crypto-upper-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:14px; }.crypto-matrix { padding:18px 20px; }.matrix-line { display:grid; grid-template-columns:.62fr 1fr 1fr; border-top:1px solid var(--border); }.matrix-line>* { min-width:0; padding:10px 12px; color:var(--text-secondary); font-size:13px; text-align:left; border:0; border-right:1px solid var(--border); background:transparent; }.matrix-line>*:last-child { border:0; }.matrix-headline>* { color:var(--muted); font-size:12px; }.matrix-readout { cursor:pointer; }.matrix-readout:hover { color:var(--cyan); background:rgba(119,230,255,.05); }.crypto-chart-stack { display:grid; gap:14px; }.compact-chart { min-height:154px; }.compact-chart h2 { font-size:15px; }.chart-empty { display:grid; min-height:54px; place-items:center; color:var(--muted); font-size:12px; border-top:1px dashed var(--border); border-bottom:1px dashed var(--border); }.compact-chart p { margin:8px 0 0; font-size:12px; }.asset-summary-grid,.token-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }.crypto-summary-card { min-height:220px; }.crypto-summary-card p { margin:8px 0; font-size:13px; }.crypto-disclosure { margin:10px 0 0; padding:10px 14px; color:var(--muted); font-size:12px; border:1px solid var(--border); border-radius:8px; }
.crypto-asset-heading,.crypto-summary-title { display:flex; align-items:center; gap:9px; }.crypto-asset-heading img { width:28px; height:28px; }.crypto-summary-title img { width:30px; height:30px; }.crypto-summary-title h2 { margin:0; }.crypto-asset-top strong { font-size:22px; letter-spacing:-.02em; }.crypto-price-meta { display:flex; gap:10px; min-height:18px; font-size:12px; }.crypto-price-meta .positive { color:var(--green); }.crypto-price-meta .negative { color:var(--red); }.crypto-times { display:grid; grid-template-columns:1fr 1fr; column-gap:16px; align-content:center; }.crypto-times .crypto-relative-summary { grid-column:1 / -1; margin-top:10px; padding-top:10px; color:var(--text); border-top:1px solid var(--border); line-height:1.55; }.crypto-matrix .section-heading { margin-bottom:12px; }.crypto-matrix-desktop { display:block; }.crypto-matrix-mobile { display:none; }.crypto-matrix .matrix-line { grid-template-columns:145px minmax(0,1fr) minmax(0,1fr); }.crypto-matrix .matrix-line > strong { display:flex; align-items:flex-start; color:var(--text); font-size:13px; font-weight:650; }.crypto-matrix .matrix-readout { display:grid; gap:3px; min-height:54px; cursor:default; }.crypto-matrix button.matrix-readout { cursor:pointer; }.crypto-matrix button.matrix-readout:hover { background:rgba(119,230,255,.05); }.matrix-readout strong { color:var(--text); font-size:13px; font-weight:620; }.matrix-readout span { color:var(--text-secondary); font-size:12px; line-height:1.45; }.matrix-readout small { color:var(--muted); font-size:11px; }.matrix-readout.state-supports strong { color:var(--green); }.matrix-readout.state-contradicts strong { color:var(--red); }.crypto-chart-stack { grid-template-rows:repeat(2,minmax(0,1fr)); }.compact-chart { display:flex; flex-direction:column; min-height:0; padding:18px 20px; }.compact-chart .section-heading { margin-bottom:0; }.chart-period { margin:4px 0 10px; color:var(--muted); font-size:11px; }.compact-chart .chart-empty { flex:1; min-height:72px; text-align:center; }.compact-chart p { min-height:34px; color:var(--text-secondary); line-height:1.45; }.crypto-summary-card { min-height:246px; }.crypto-summary-headline { min-height:38px; color:var(--text); font-weight:620; line-height:1.55; }.crypto-summary-card p { color:var(--text-secondary); line-height:1.5; }.crypto-summary-card .asset-action { margin-top:auto; }.crypto-disclosure { line-height:1.5; }
.token-status-band { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-bottom:14px; }.token-status-band>div { min-width:0; padding:16px 19px; border-right:1px solid var(--border); }.token-status-band>div:last-child { border:0; }.token-status-band strong { display:block; margin-top:7px; font-size:20px; font-variant-numeric:tabular-nums; }.token-overview p { margin:0; line-height:1.75; }.token-category { padding:18px 18px 10px; }.token-category h2 { font-size:16px; }.token-list { border-top:1px solid var(--border); }.token-row { display:grid; grid-template-columns:.55fr 1.35fr .75fr .7fr; gap:8px; width:100%; padding:10px 4px; color:var(--text-secondary); text-align:left; background:transparent; border:0; border-bottom:1px solid var(--border); cursor:pointer; }.token-row span { min-width:0; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.token-row:hover { color:var(--cyan); }.anomaly-band { margin-top:14px; }.anomaly-band h2 { margin-bottom:6px; }.anomaly-band p { margin:0; }
.theme-light { --bg:#edf3fa; --surface:#fff; --surface-soft:#f5f8fc; --surface-raised:#e8eff8; --text:#10213e; --text-secondary:#334155; --muted:#5c7089; --border:rgba(30,58,95,.16); --border-strong:rgba(37,99,235,.34); --cyan:#087a9a; --blue:#2563eb; --violet:#6847d7; --green:#07845c; --amber:#b45309; --red:#c2413c; --shadow-raised:0 16px 42px rgba(30,58,95,.12); background:var(--bg); color:var(--text); }
.theme-light .sidebar { background:#f9fbfe; box-shadow:8px 0 30px rgba(30,58,95,.05); }.theme-light .brand-block::before { opacity:.38; }.theme-light .brand-block::after { opacity:.28; }.theme-light .brand-logo { filter:drop-shadow(0 3px 9px rgba(30,58,95,.12)); }.theme-light .nav-link[aria-current="page"] { background:linear-gradient(90deg,rgba(37,99,235,.12),transparent 85%); }.theme-light .nav-link:hover,.theme-light .nav-link:focus-visible { background:rgba(37,99,235,.07); }
.theme-light .static-fallback,.theme-light .section-surface,.theme-light .asset-summary,.theme-light .confirmation-summary,.theme-light .content-surface,.theme-light .market-hero,.theme-light .crypto-relative-conclusion { background:#fff; }.theme-light .market-hero { background:linear-gradient(120deg,#fff,#f3f8ff); }.theme-light .snapshot-list div,.theme-light .asset-card { background:#f7faff; }.theme-light .route-loading span { background:linear-gradient(100deg,#f3f7fc,#e0ebf8,#f3f7fc); }.theme-light .chart-badge,.theme-light .crypto-flow-panel,.theme-light .token-product-card { background:#f7faff; }.theme-light .page-tokenized .token-row:hover,.theme-light .page-tokenized .token-row:focus-visible,.theme-light .page-tokenized .token-product-card:hover,.theme-light .page-tokenized .token-product-card:focus-visible { background:rgba(37,99,235,.06); }.theme-light .page-tokenized .token-row { border-top-color:rgba(30,58,95,.12); }.theme-light .telegram-brief-row,.theme-light .crypto-summary-body { border-color:rgba(30,58,95,.12); }
.theme-light .context-drawer,.theme-light .drawer-header,.theme-light .drawer-tabs { background:#fff; }.theme-light .context-drawer { box-shadow:-20px 0 55px rgba(30,58,95,.18); }.theme-light .context-drawer::before { background:rgba(15,23,42,.28); }.theme-light .drawer-close:hover,.theme-light .drawer-close:focus-visible { background:#eef5ff; }.theme-light .drawer-tabs button[aria-selected="true"] { color:var(--blue); border-color:var(--blue); }.theme-light .data-rows div { border-bottom-color:rgba(30,58,95,.10); }
.theme-light .status-ok { color:#087a58; }.theme-light .status-stale { color:#a64a08; }.theme-light .status-degraded,.theme-light .status-conflict { color:#b93832; }.theme-light .text-action:hover,.theme-light .text-action:focus-visible,.theme-light .asset-action:hover,.theme-light .asset-action:focus-visible { color:#075f7c; }.theme-light .crypto-axis-label { fill:#5c7089; }.theme-light .crypto-zero-line { stroke:rgba(30,58,95,.38); }.theme-light .crypto-grid-line { stroke:rgba(30,58,95,.18); }.theme-light .token-rights { border-color:rgba(92,112,137,.48); }.theme-light .change-tone.is-negative { color:#b93832; border-color:rgba(194,65,60,.4); background:rgba(194,65,60,.08); }
.theme-light .period-switch,.theme-light .theme-switch { background:#fff; border-color:rgba(30,58,95,.20); }.theme-light .period-switch button { color:var(--text-secondary); }.theme-light .period-switch button[aria-pressed="true"] { color:#1d4ed8; background:#e4efff; }.theme-light .period-switch button:disabled { color:#94a3b8; background:transparent; }
.theme-light .brief-hero,.theme-light .brief-market-chain,.theme-light .brief-observation-strip,.theme-light .crypto-strip,.theme-light .token-status-band,.theme-light .watch-band,.theme-light .fact-band { background:#fff !important; }.theme-light .crypto-relative-conclusion,.theme-light .crypto-flow-panel,.theme-light .chart-badge { background:#f7faff !important; }
@media (max-width: 1100px) { .brief-hero-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.brief-hero-grid>div:nth-child(3n) { border-right:0; }.brief-mid-grid,.crypto-upper-grid { grid-template-columns:1fr; }.watch-band { grid-template-columns:150px repeat(3,minmax(0,1fr)); }.page-controls { flex-wrap:wrap; justify-content:flex-end; }.freshness-indicator { display:none; } }
@media (max-width: 1100px) { .crypto-strip { grid-template-columns:1fr 1fr; }.crypto-times { grid-column:1 / -1; border-right:0; border-top:1px solid var(--border); }.crypto-upper-grid { grid-template-columns:1fr; }.compact-chart { min-height:180px; } }
@media (max-width:899px) { .main-content { max-width:none; padding-top:18px; }.page-header { align-items:flex-start; flex-direction:column; padding-left:52px; }.page-title-wrap { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 8px; width:100%; }.page-title-wrap .period-switch { grid-column:1 / -1; justify-self:start; margin-top:3px; }.page-controls { width:100%; margin-left:0; justify-content:flex-start; }.brief-hero { padding:18px; }.brief-hero h2 { font-size:24px; }.brief-hero-grid,.brief-mid-grid,.asset-summary-grid,.token-category-grid,.crypto-strip { grid-template-columns:1fr; }.brief-hero-grid>div,.crypto-strip>* { border-right:0; border-bottom:1px solid var(--border); }.brief-hero-grid>div:last-child,.crypto-strip>*:last-child { border-bottom:0; }.condition-panel { grid-template-columns:1fr; }.condition-group { border-right:0; border-bottom:1px solid var(--border); }.condition-group:last-child { border-bottom:0; }.fact-band { display:flex; overflow-x:auto; }.fact { flex:0 0 175px; }.watch-band { grid-template-columns:1fr; gap:12px; }.watch-item { padding:12px 0; border-top:1px solid var(--border); border-left:0; }.token-status-band { display:flex; overflow-x:auto; }.token-status-band>div { flex:0 0 145px; }.token-row { grid-template-columns:.55fr 1.15fr .85fr; }.token-row span:last-child { display:none; }.crypto-matrix .matrix-headline { display:none; }.crypto-matrix .matrix-line { grid-template-columns:1fr; padding:8px 0; }.crypto-matrix .matrix-line>* { min-height:0; padding:7px 0; border-right:0; }.crypto-matrix .matrix-line strong { color:var(--text); }.crypto-matrix .matrix-readout { display:flex; justify-content:space-between; gap:12px; border-top:1px solid rgba(203,213,225,.09); }.crypto-matrix .matrix-readout::before { color:var(--muted); content:attr(data-asset); }.mobile-brand { margin-bottom:8px; }.page-header h1 { font-size:25px; } }
@media (max-width:899px) { .crypto-times { grid-template-columns:1fr; }.crypto-strip .crypto-times { border-top:0; }.crypto-upper-grid,.crypto-chart-stack { grid-template-columns:1fr; }.crypto-matrix-desktop { display:none; }.crypto-matrix-mobile { display:grid; gap:8px; }.matrix-accordion { border-top:1px solid var(--border); }.matrix-accordion:last-child { border-bottom:1px solid var(--border); }.matrix-accordion summary { display:flex; align-items:center; min-height:43px; color:var(--text); font-size:14px; font-weight:650; cursor:pointer; }.matrix-mobile-compare { display:grid; gap:8px; padding:0 0 12px; }.matrix-mobile-asset { display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px; align-items:start; }.matrix-mobile-asset>b { padding-top:8px; color:var(--muted); font-size:12px; }.matrix-mobile-asset .matrix-readout { min-height:0; padding:8px; border:1px solid var(--border); border-radius:6px; }.matrix-mobile-asset .matrix-readout span { font-size:12px; }.crypto-summary-card { min-height:0; }.compact-chart { min-height:155px; } }

/* Previous-trading-day ETF net flows use direction colour on the amount, not on the date label. */
.matrix-readout .matrix-summary.is-positive { color:var(--green); }
.matrix-readout .matrix-summary.is-negative { color:var(--red); }

/* Phase C.10.1: keep Crypto evidence dense and non-interactive until a new detail design exists. */
.page-crypto .crypto-upper-grid { grid-template-columns:1.28fr 1fr; }
.page-crypto .matrix-readout { cursor:default; }
.page-crypto .matrix-readout:hover { color:inherit; background:rgba(119,230,255,.035); }
.page-crypto .crypto-matrix .matrix-line > * { padding-top:8px; padding-bottom:8px; }
.page-crypto .crypto-matrix .matrix-readout { min-height:42px; }
.page-crypto .matrix-readout span { line-height:1.35; }
.page-crypto .matrix-readout.state-unavailable { min-height:35px; align-content:center; }
.page-crypto .matrix-readout.state-unavailable strong,.page-crypto .matrix-readout.state-unavailable span { color:var(--muted); font-weight:500; }
.page-crypto .crypto-summary-price { margin:7px 0 0; color:var(--text); font-size:19px; font-weight:650; }
.page-crypto .crypto-summary-change { margin:2px 0 0; font-size:12px; }
.page-crypto .crypto-summary-headline { min-height:30px; }
.page-crypto .crypto-summary-card { min-height:0; }.crypto-summary-body { display:grid; grid-template-columns:1fr 1.35fr; gap:18px; margin-top:6px; padding-top:7px; border-top:1px solid var(--border); }.crypto-summary-body p { margin:5px 0; font-size:12px; }
.crypto-relative-conclusion { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:18px; align-items:center; margin-top:14px; padding:12px 16px; border:1px solid var(--border); border-radius:8px; background:rgba(16,33,62,.46); }
.crypto-relative-conclusion strong { color:var(--text); font-size:14px; }.crypto-relative-conclusion p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.5; }.crypto-relative-conclusion span { color:var(--muted); font-size:11px; white-space:nowrap; }
.page-crypto .crypto-strip { grid-template-columns:1fr 1fr 1.3fr; }.page-crypto .crypto-asset-top { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto 1fr; gap:9px 14px; padding:16px 20px; }.page-crypto .crypto-asset-heading { grid-column:1 / -1; }.page-crypto .crypto-asset-value { align-self:end; }.page-crypto .crypto-live-price { margin:0; font-size:25px; font-variant-numeric:tabular-nums; }.page-crypto .crypto-change-side { display:grid; align-content:end; justify-items:end; padding-bottom:2px; }.page-crypto .crypto-change-side strong { margin:0; font-size:16px; font-variant-numeric:tabular-nums; }.page-crypto .crypto-change-side span { margin-top:3px; color:var(--muted); font-size:11px; }.page-crypto .crypto-difference-focus { display:grid; gap:7px; align-content:center; min-height:78px; }.page-crypto .crypto-difference-focus>span { color:var(--muted); font-size:12px; }.page-crypto .crypto-difference-focus>strong { font-size:15px; line-height:1.5; }.page-crypto .crypto-difference-focus p { margin:0; color:var(--text-secondary); font-size:12px; }.crypto-live-price.is-ticking-up { color:var(--green); animation:crypto-price-tick .7s ease-out; }.crypto-live-price.is-ticking-down { color:var(--red); animation:crypto-price-tick .7s ease-out; }@keyframes crypto-price-tick { 0% { transform:translateY(3px); opacity:.55 } 100% { transform:translateY(0); opacity:1 } }.chart-value-badges { display:flex; gap:7px; margin:7px 0 2px; }.chart-badge { padding:3px 7px; border-radius:999px; font-size:11px; font-variant-numeric:tabular-nums; background:rgba(255,255,255,.04); }.chart-badge.btc { color:#f7931a; border:1px solid rgba(247,147,26,.28); }.chart-badge.eth { color:#8ca4ff; border:1px solid rgba(98,126,234,.3); }.crypto-line-btc { stroke:#f7931a; }.crypto-line-eth { stroke:#627eea; }.crypto-bar-btc { fill:#f7931a; }.crypto-bar-eth { fill:#627eea; }.page-crypto .crypto-summary-card { display:flex; flex-direction:column; }.telegram-brief-grid { display:grid; gap:0; margin:12px 0 0; border-top:1px solid var(--border); }.telegram-brief-row { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px; padding:8px 0; border-bottom:1px solid rgba(203,213,225,.08); }.telegram-brief-row dt { color:var(--muted); font-size:11px; }.telegram-brief-row dd { min-width:0; margin:0; color:var(--text-secondary); font-size:12px; line-height:1.45; }.telegram-brief-row.is-direction dd { color:var(--text); font-weight:620; }.telegram-brief-row.is-levels dd { color:var(--text); font-variant-numeric:tabular-nums; }.telegram-metrics { display:flex; gap:8px; margin:10px 0 0; }.telegram-metrics span { padding:4px 7px; color:var(--text-secondary); font-size:11px; border:1px solid var(--border); border-radius:5px; font-variant-numeric:tabular-nums; }.telegram-note { min-height:0!important; margin:10px 0!important; color:var(--muted)!important; font-size:11px!important; }.telegram-link { display:inline-flex; width:max-content; margin-top:auto; color:var(--cyan); font-size:12px; text-decoration:none; }.telegram-link:hover { text-decoration:underline; }
.crypto-axis-label { fill:var(--muted); font-size:9px; font-family:inherit; }
.crypto-flow-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:8px 0 2px; }.crypto-flow-panel { min-width:0; padding:12px 12px 6px; border:1px solid rgba(203,213,225,.10); border-radius:8px; background:rgba(255,255,255,.015); }.crypto-flow-heading { display:flex; align-items:baseline; justify-content:space-between; gap:7px; padding:0 4px; font-variant-numeric:tabular-nums; }.crypto-flow-heading strong { color:var(--text); font-size:14px; }.crypto-flow-heading span { color:var(--muted); font-size:11px; white-space:nowrap; }.crypto-flow-svg { display:block; width:100%; height:180px; overflow:visible; }.crypto-flow-svg .crypto-bar-btc { fill:#f7931a; }.crypto-flow-svg .crypto-bar-eth { fill:#8b5cf6; }.crypto-flow-hit { fill:transparent; pointer-events:all; outline:none; }.crypto-flow-hit:hover,.crypto-flow-hit:focus { fill:rgba(119,230,255,.055); }
.crypto-micro-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:8px 0 4px; }.crypto-micro-asset { min-width:0; padding:10px 11px; border:1px solid rgba(203,213,225,.10); border-radius:8px; background:rgba(255,255,255,.015); }.crypto-micro-asset>strong { display:block; margin-bottom:5px; color:var(--text); font-size:13px; }.crypto-micro-row { display:flex; justify-content:space-between; gap:8px; padding:5px 0; border-top:1px solid rgba(203,213,225,.07); font-size:11px; font-variant-numeric:tabular-nums; }.crypto-micro-row span { color:var(--muted); }.crypto-micro-row b { color:var(--text-secondary); font-weight:600; }
.crypto-card-subtitle { margin:14px 0 0; color:var(--text); font-size:12px; font-weight:650; }.fusion-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }.fusion-status { padding:3px 7px; color:var(--muted); font-size:10px; white-space:nowrap; border:1px solid var(--border); border-radius:999px; }.fusion-status.is-aligned { color:var(--green); border-color:rgba(52,211,153,.32); }.fusion-status.is-conflict { color:var(--red); border-color:rgba(248,113,113,.35); }.fusion-status.is-stale,.fusion-status.is-context_only { color:var(--amber); border-color:rgba(251,191,36,.3); }.trade-response-block { margin-top:16px; padding-top:2px; border-top:1px solid var(--border); }.page-crypto .crypto-summary-card .telegram-link { margin-top:0; }
.crypto-etf-wide { min-height:0; margin-top:12px; }.crypto-etf-wide .crypto-flow-split { grid-template-columns:repeat(2,minmax(0,1fr)); }.crypto-etf-wide .crypto-flow-svg { height:auto; aspect-ratio:360/160; }
.piag-panel { display:grid; grid-template-columns:.7fr .55fr 2fr; gap:18px; align-items:center; margin-bottom:12px; border-left:3px solid var(--muted); }.piag-panel.is-high_attention { border-left-color:var(--amber); }.piag-panel.is-watch { border-left-color:var(--cyan); }.piag-panel.is-low_attention { border-left-color:var(--green); }.piag-title { display:grid; gap:8px; }.piag-heading { display:flex; align-items:baseline; gap:8px; }.piag-heading>span { color:var(--cyan); font-size:18px; font-weight:720; letter-spacing:.05em; }.piag-heading>small,.piag-experimental { color:var(--muted); font-size:11px; }.piag-experimental { width:max-content; padding:3px 6px; border:1px solid var(--border); border-radius:999px; }.piag-value { display:flex; align-items:baseline; gap:7px; }.piag-value strong { font-size:31px; font-variant-numeric:tabular-nums; }.piag-value span { color:var(--text-secondary); font-size:12px; }.piag-meta { padding-left:18px; border-left:1px solid var(--border); }.piag-meta p { margin:3px 0; font-size:12px; line-height:1.5; }.piag-meta p:first-child { color:var(--text); }
.page-crypto .crypto-asset-top { padding:13px 18px; gap:6px 12px; }.page-crypto .crypto-live-price { font-size:20px; }.page-crypto .crypto-change-side.positive strong { color:var(--green); }.page-crypto .crypto-change-side.negative strong { color:var(--red); }.page-crypto .crypto-change-side strong { font-size:14px; }.page-crypto .crypto-difference-focus { min-height:58px; gap:4px; }.page-crypto .crypto-difference-focus>strong { font-size:17px; }.page-crypto .crypto-line-btc { stroke:#f7931a; }.page-crypto .crypto-line-eth { stroke:#627eea; }.page-crypto .crypto-bar-btc { fill:#f7931a; }.page-crypto .crypto-bar-eth { fill:#627eea; }
.page-crypto .crypto-strip { grid-template-columns:1fr 1fr .82fr; margin-bottom:12px; }.page-crypto .crypto-asset-top { min-height:82px; padding:11px 16px; }.page-crypto .crypto-asset-heading { gap:7px; font-size:14px; }.page-crypto .crypto-asset-heading img { width:24px; height:24px; }.page-crypto .crypto-live-price { color:var(--text); font-size:20px; letter-spacing:-.025em; }.page-crypto .crypto-change-side { min-width:56px; }.page-crypto .crypto-change-side strong { font-size:14px; }.page-crypto .crypto-change-side span { font-size:10px; }.page-crypto .crypto-difference-focus>span { font-size:11px; letter-spacing:.04em; }.page-crypto .crypto-difference-focus>strong { color:var(--text); font-size:18px; font-variant-numeric:tabular-nums; }.page-crypto .crypto-chart-stack { gap:12px; }.page-crypto .compact-chart { min-height:218px; padding:14px 16px; }.page-crypto .crypto-svg { height:164px; margin:5px 0 2px; }.page-crypto .compact-chart p { min-height:16px; margin:2px 0 0; }.page-crypto .chart-value-badges { margin:4px 0 0; }.page-crypto .crypto-matrix { padding:15px 18px; }.page-crypto .crypto-matrix .matrix-readout { min-height:38px; }.page-crypto .crypto-summary-card { padding:16px 18px; }.page-crypto .asset-summary-grid { gap:12px; margin-top:12px; }
.page-crypto .crypto-asset-top { display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:1fr; align-items:center; min-height:66px; padding:10px 15px; gap:10px; }.page-crypto .crypto-asset-heading { grid-column:auto; grid-row:auto; white-space:nowrap; }.page-crypto .crypto-asset-value { justify-self:end; align-self:center; }.page-crypto .crypto-live-price { display:block; color:var(--text); font-size:19px; font-variant-numeric:tabular-nums; transform-origin:left center; white-space:nowrap; }.page-crypto .crypto-live-price.is-ticking-up { animation:cryptoMarketTickUp .72s ease-out; }.page-crypto .crypto-live-price.is-ticking-down { animation:cryptoMarketTickDown .72s ease-out; }.page-crypto .crypto-change-side { justify-self:end; align-self:center; min-width:48px; padding:0; }.page-crypto .crypto-change-side strong { font-size:13px; }.page-crypto .crypto-change-side span { display:none; }@keyframes cryptoMarketTickUp { 0% { color:var(--green); transform:translateY(3px); } 28% { color:#b7f7d6; transform:translateY(-2px); } 100% { color:var(--text); transform:translateY(0); } }@keyframes cryptoMarketTickDown { 0% { color:var(--red); transform:translateY(-3px); } 28% { color:#ffc0bb; transform:translateY(2px); } 100% { color:var(--text); transform:translateY(0); } }@media (prefers-reduced-motion:reduce) { .page-crypto .crypto-live-price.is-ticking-up,.page-crypto .crypto-live-price.is-ticking-down { animation:none; } }@media (max-width:899px) { .page-crypto .crypto-asset-top { grid-template-columns:auto minmax(0,1fr) auto; min-height:64px; }.page-crypto .crypto-live-price { font-size:18px; }.page-crypto .crypto-change-side strong { font-size:12px; } }
.crypto-svg { width:100%; height:126px; margin:8px 0 3px; overflow:visible; }.crypto-grid-line { stroke:var(--border); stroke-width:1; stroke-dasharray:2 3; }.crypto-zero-line { stroke:rgba(203,213,225,.35); stroke-width:1; }.crypto-line-btc,.crypto-line-eth { fill:none; stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }.crypto-line-btc { stroke:#4b8cff; }.crypto-line-eth { stroke:#8b5cf6; }.crypto-bar-btc { fill:#4b8cff; }.crypto-bar-eth { fill:#8b5cf6; }
@media (max-width:1100px) { .page-crypto .crypto-upper-grid { grid-template-columns:1fr; } }
@media (max-width:899px) { .crypto-summary-body { grid-template-columns:1fr; gap:0; }.crypto-relative-conclusion { grid-template-columns:1fr; gap:6px; }.crypto-relative-conclusion span { white-space:normal; }.crypto-micro-compare { grid-template-columns:1fr 1fr; }.route-loading { grid-template-columns:1fr; min-height:180px; }.route-loading span { min-height:52px; } }
@media (max-width:899px) { .page-crypto .crypto-strip { grid-template-columns:1fr; }.page-crypto .crypto-strip>* { border-right:0; border-bottom:1px solid var(--border); }.page-crypto .crypto-strip>*:last-child { border-bottom:0; }.page-crypto .crypto-times { grid-column:auto; grid-template-columns:1fr 1fr; }.page-crypto .crypto-micro-compare { grid-template-columns:repeat(2,minmax(0,1fr)); }.page-crypto .crypto-micro-asset { padding:9px 8px; }.page-crypto .crypto-micro-row { gap:4px; font-size:10px; }.page-crypto .crypto-etf-wide .crypto-flow-split { grid-template-columns:1fr; } }
@media (max-width:899px) { .piag-panel { grid-template-columns:1fr auto; gap:12px; }.piag-meta { grid-column:1 / -1; padding:10px 0 0; border-top:1px solid var(--border); border-left:0; } }

/* Phase C.9.1: approved Prism Brief geometry at the 1920px reference viewport. */
@media (min-width:1500px) {
  :root { --sidebar:252px; }
  .sidebar { padding:32px 24px 18px; }
  .brand-block { padding:0 8px 42px; }
  .side-nav { gap:8px; }
  .nav-link { min-height:52px; padding:12px 12px; }
  .side-bottom { gap:10px; margin-top:22px; padding:18px 2px 0; }
  .main-content { padding:73px 23px 40px 24px; }
  .loading-notice { display:none; }
  .page-header { position:relative; top:-38px; margin-bottom:-2px; }
  .page-title-wrap { padding-left:8px; }
  .brief-hero { min-height:238px; padding:24px 28px 18px; }
  .fact-band { min-height:115px; }
  .brief-mid-grid { min-height:354px; height:auto; }
  .brief-mid-grid > .content-surface { min-height:354px; height:auto; overflow:visible; }
  .watch-band { min-height:177px; margin-top:16px; padding:22px 20px; }
  .thesis-panel > p { max-width:100%; }
}

/* Phase C.9.2: preserve the approved composition while restoring briefing depth. */
.fact-band { grid-template-columns:repeat(6,minmax(0,1fr)); }
.fact small { display:block; min-height:16px; margin-top:3px; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.change-row time,.watch-item time { display:block; color:var(--muted); font-size:11px; }
.change-row h3 { margin-top:3px; }
.change-row .change-reaction { margin:4px 0; color:var(--blue); }
.condition-group p { margin:0 0 10px; }
.condition-group p:last-child { margin-bottom:0; }
.hero-stat small { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.45; }
.confidence-meter { display:flex; gap:4px; margin-top:8px; }
.confidence-meter b { width:17px; height:3px; background:var(--border-strong); border-radius:999px; }
.confidence-meter b.is-active { background:var(--blue); }
.watch-band { grid-template-columns:150px repeat(3,minmax(0,1fr)); }
@media (max-width:1100px) { .watch-band { grid-template-columns:150px repeat(3,minmax(0,1fr)); } }
@media (max-width:899px) { .watch-band { grid-template-columns:1fr; } }
/* C.11 approved tokenized-markets composition. The visual sample governs geometry;
   live public-artifact values govern all labels and values. */
.page-tokenized { display:grid; gap:14px; }.page-tokenized .page-header { margin-bottom:2px; }.page-tokenized .token-status-band { margin:0; min-height:120px; }.page-tokenized .token-stat { display:grid; align-content:start; gap:5px; padding:20px 22px; }.page-tokenized .token-stat strong { margin:0; font-size:22px; line-height:1.18; }.page-tokenized .token-stat small { color:var(--muted); font-size:11px; line-height:1.35; }.page-tokenized .token-overview { min-height:104px; padding:18px 20px; }.page-tokenized .token-overview h2 { margin-bottom:9px; }.page-tokenized .token-overview p { max-width:none; margin:0; color:var(--text-secondary); font-size:13px; line-height:1.7; }.page-tokenized .token-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; }.page-tokenized .token-category { min-width:0; min-height:218px; padding:15px 18px 10px; }.page-tokenized .token-category h2 { display:flex; align-items:center; gap:9px; margin:0 0 12px; font-size:16px; }.token-category-icon { display:grid; width:18px; height:18px; place-items:center; color:var(--text-secondary); font-size:17px; font-weight:400; }.page-tokenized .token-list { display:block; border-top:1px solid var(--border); }.token-table-header,.page-tokenized .token-row { display:grid; grid-template-columns:1.25fr .78fr 1fr 1.15fr .94fr .78fr .9fr 1.08fr .78fr; column-gap:7px; align-items:center; }.token-table-header { min-height:33px; color:var(--muted); font-size:10px; line-height:1.25; }.token-table-header span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.page-tokenized .token-row { width:100%; min-height:42px; padding:7px 0; color:var(--text-secondary); text-align:left; background:transparent; border:0; border-top:1px solid rgba(203,213,225,.10); border-radius:0; cursor:pointer; }.page-tokenized .token-row:hover,.page-tokenized .token-row:focus-visible { color:var(--text); background:rgba(94,164,255,.055); outline:1px solid rgba(94,164,255,.38); outline-offset:-1px; }.page-tokenized .token-row>span { min-width:0; overflow:hidden; color:inherit; font-size:11px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.page-tokenized .token-identity { gap:7px; }.page-tokenized .token-identity img { width:21px; height:21px; flex:0 0 21px; border-radius:5px; }.page-tokenized .token-identity strong { color:var(--text); font-size:12px; }.token-deviation.is-positive { color:var(--green); }.token-deviation.is-negative { color:var(--text-secondary); }.token-liquidity::before { display:inline-block; width:6px; height:6px; margin-right:5px; content:""; background:var(--amber); border-radius:50%; }.token-liquidity.is-sufficient::before { background:var(--green); }.token-liquidity.is-thin::before { background:var(--red); }.token-rights { display:inline-flex; width:max-content; max-width:100%; padding:3px 6px; color:var(--muted)!important; border:1px solid rgba(143,163,188,.35); border-radius:999px; }.token-rights.is-verified { color:var(--green)!important; border-color:rgba(16,185,129,.4); }.token-rights.is-partial { color:var(--amber)!important; border-color:rgba(245,158,11,.38); }.token-detail-link { color:var(--blue)!important; }.token-empty { margin:14px 0; color:var(--muted); font-size:12px; }.page-tokenized .anomaly-band { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,2.1fr); column-gap:22px; align-items:center; min-height:114px; margin:0; padding:18px 20px; }.page-tokenized .anomaly-band h2 { margin:0 0 7px; }.page-tokenized .anomaly-band>p { grid-row:2; margin:0; color:var(--muted); font-size:12px; line-height:1.5; }.token-anomaly-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:0; color:var(--text-secondary); font-size:12px; line-height:1.5; }.token-anomaly-list article { min-width:0; padding:4px 16px; border-left:1px solid var(--border); }.token-anomaly-list article::before { display:block; width:19px; height:19px; margin-bottom:5px; content:"!"; color:var(--amber); font-weight:700; text-align:center; background:rgba(245,158,11,.12); border-radius:50%; }
@media (max-width:1199px) { .page-tokenized .token-category { overflow-x:auto; }.page-tokenized .token-list { min-width:650px; }.page-tokenized .token-stat { padding:17px 15px; }.page-tokenized .token-stat strong { font-size:18px; } }
@media (max-width:899px) { .page-tokenized { gap:12px; }.page-tokenized .token-status-band { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:0; overflow:visible; }.page-tokenized .token-status-band>div { min-width:0; padding:14px; border-bottom:1px solid var(--border); }.page-tokenized .token-status-band>div:nth-child(2n) { border-right:0; }.page-tokenized .token-status-band>div:nth-last-child(-n+2) { border-bottom:0; }.page-tokenized .token-overview { min-height:0; padding:16px; }.page-tokenized .token-category-grid { grid-template-columns:1fr; }.page-tokenized .token-category { min-height:0; padding:15px 14px 10px; }.page-tokenized .token-list { min-width:0; }.token-table-header { display:none; }.page-tokenized .token-row { grid-template-columns:1fr 1fr; gap:7px 12px; min-height:0; padding:12px 0; white-space:normal; }.page-tokenized .token-row>span { display:grid; gap:2px; overflow:visible; font-size:12px; text-overflow:clip; white-space:normal; }.page-tokenized .token-row>span::before { content:attr(data-label); color:var(--muted); font-size:10px; }.page-tokenized .token-row .token-identity { grid-column:1 / -1; }.page-tokenized .token-row .token-identity::before { display:none; }.page-tokenized .token-row .token-detail-link { grid-column:1 / -1; }.page-tokenized .anomaly-band { display:block; min-height:0; padding:16px; }.page-tokenized .anomaly-band>p { margin-bottom:12px; }.token-anomaly-list { grid-template-columns:1fr; }.token-anomaly-list article { padding:10px 0; border-top:1px solid var(--border); border-left:0; }.token-anomaly-list article::before { float:left; margin:0 8px 0 0; } }

/* Fixed three-row desktop viewport: categories retain the approved equal-height
   composition while extra active registry products remain reachable by scroll. */
.page-tokenized .token-status-band { min-height:105px; }.page-tokenized .token-stat { gap:4px; padding:16px 20px; }.page-tokenized .token-stat small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.page-tokenized .token-overview { min-height:90px; padding:15px 20px; }.page-tokenized .token-overview h2 { margin-bottom:7px; }.page-tokenized .token-overview p { line-height:1.65; }.page-tokenized .token-category { height:183px; min-height:0; padding:11px 18px 8px; }.page-tokenized .token-category h2 { margin-bottom:8px; }.page-tokenized .token-list { height:137px; overflow-y:auto; scrollbar-color:rgba(143,163,188,.45) transparent; scrollbar-width:thin; }.page-tokenized .token-table-header { position:sticky; z-index:1; top:0; min-height:30px; background:var(--surface); }.page-tokenized .token-row { min-height:34px; padding:5px 0; }
@media (max-width:899px) { .page-tokenized .token-category { height:auto; padding:15px 14px 10px; }.page-tokenized .token-list { height:auto; overflow:visible; }.page-tokenized .token-table-header { position:static; } }

/* Product cards deliberately expose only the two prices on the page. Product
   symbol, liquidity, rights, pricing-method detail, and derivatives evidence
   remain in the detail drawer instead of being compressed into a table. */
.page-tokenized .token-category { height:auto; padding:15px 18px; }.page-tokenized .token-list { display:grid; height:auto; gap:8px; overflow:visible; border-top:0; }.page-tokenized .token-product-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.94fr) auto; gap:16px; align-items:center; width:100%; min-height:76px; padding:13px 14px; color:var(--text-secondary); text-align:left; background:rgba(255,255,255,.018); border:1px solid var(--border); border-radius:8px; cursor:pointer; }.page-tokenized .token-product-card:hover,.page-tokenized .token-product-card:focus-visible { background:rgba(94,164,255,.07); border-color:rgba(94,164,255,.52); outline:none; }.page-tokenized .token-product-card .token-identity { display:flex; align-items:center; gap:10px; min-width:0; }.page-tokenized .token-product-card .token-identity img { width:34px; height:34px; flex:0 0 34px; border-radius:8px; }.page-tokenized .token-product-card .token-identity strong,.page-tokenized .token-product-card .token-identity small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.page-tokenized .token-product-card .token-identity strong { color:var(--text); font-size:14px; }.page-tokenized .token-product-card .token-identity small { margin-top:2px; color:var(--muted); font-size:11px; }.token-price-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.token-price-line { display:grid; gap:3px; min-width:0; }.token-price-line small { color:var(--muted); font-size:10px; }.token-price-line strong { overflow:hidden; color:var(--text); font-size:13px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }.page-tokenized .token-product-card .token-detail-link { color:var(--blue); font-size:12px; white-space:nowrap; }
@media (max-width:899px) { .page-tokenized .token-category { padding:15px 14px; }.page-tokenized .token-product-card { grid-template-columns:1fr; gap:12px; min-height:0; padding:14px; }.token-price-stack { grid-template-columns:1fr; gap:9px; padding-top:10px; border-top:1px solid var(--border); }.token-price-line { grid-template-columns:88px minmax(0,1fr); align-items:baseline; gap:10px; }.page-tokenized .token-product-card .token-detail-link { padding-top:2px; } }

/* One full-width row per category restores the information hierarchy without
   truncating pricing, premium/discount, liquidity, or rights evidence. */
.page-tokenized .token-category-grid { grid-template-columns:1fr; }.page-tokenized .token-category { height:auto; padding:16px 20px; }.page-tokenized .token-list { display:block; height:auto; overflow:visible; border-top:1px solid var(--border); }.page-tokenized .token-table-header,.page-tokenized .token-row { grid-template-columns:1.35fr .88fr 1.2fr 1.05fr .8fr .92fr .9fr .62fr; column-gap:14px; }.page-tokenized .token-table-header { position:static; min-height:34px; background:transparent; }.page-tokenized .token-table-header span { overflow:visible; text-overflow:clip; white-space:normal; }.page-tokenized .token-row { min-height:52px; padding:8px 5px; }.page-tokenized .token-row>span { overflow:visible; font-size:12px; text-overflow:clip; white-space:normal; }.page-tokenized .token-identity { display:flex; align-items:center; gap:9px; }.page-tokenized .token-identity img { width:28px; height:28px; flex:0 0 28px; border-radius:7px; }.page-tokenized .token-identity strong,.page-tokenized .token-identity small { display:block; }.page-tokenized .token-identity strong { color:var(--text); font-size:13px; }.page-tokenized .token-identity small { margin-top:2px; color:var(--muted); font-size:10px; }.page-tokenized .token-rights { width:max-content; max-width:100%; }.page-tokenized .token-detail-link { color:var(--blue)!important; white-space:nowrap!important; }
@media (max-width:899px) { .page-tokenized .token-category-grid { grid-template-columns:1fr; }.page-tokenized .token-category { padding:15px 14px; }.page-tokenized .token-table-header { display:none; }.page-tokenized .token-row { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; min-height:0; padding:14px 0; }.page-tokenized .token-row>span { display:grid; gap:3px; font-size:12px; }.page-tokenized .token-row>span::before { content:attr(data-label); color:var(--muted); font-size:10px; }.page-tokenized .token-row .token-identity { grid-column:1 / -1; }.page-tokenized .token-row .token-identity::before { display:none; }.page-tokenized .token-row .token-detail-link { grid-column:1 / -1; } }

.token-usability { font-weight:650; }
.token-usability.is-observable { color:var(--green)!important; }
.token-usability.is-cautious { color:var(--amber)!important; }
.token-usability.is-wait { color:var(--text-secondary)!important; }
.token-usability.is-review { color:var(--red)!important; }

/* Drawer motion: a real backdrop closes outside clicks while the panel glides
   independently. There is intentionally no visible close button. */
.context-drawer-backdrop { position:fixed; z-index:19; inset:0; opacity:0; pointer-events:none; background:rgba(1,9,23,.46); transition:opacity 240ms ease; }.context-drawer-backdrop.is-open { opacity:1; pointer-events:auto; }.context-drawer { z-index:20; transform:translateX(104%); pointer-events:none; transition:transform 260ms cubic-bezier(.22,.8,.22,1), box-shadow 260ms ease; will-change:transform; }.context-drawer.is-open { transform:translateX(0); pointer-events:auto; }.context-drawer::before { display:none; }.drawer-close { display:none!important; }.drawer-header > div { padding-right:0; }
@media (max-width:899px) { .context-drawer { transform:translateY(104%); transition:transform 260ms cubic-bezier(.22,.8,.22,1), box-shadow 260ms ease; }.context-drawer.is-open { transform:translateY(0); }.context-drawer-backdrop { background:rgba(1,9,23,.58); }.drawer-handle { cursor:grab; } }
@media (max-width:899px) {
  .main-content { overflow-x:hidden; }
  .brief-hero { width:100%; }
  .brief-hero,.brief-hero-grid,.brief-hero-grid > div { min-width:0; max-width:100%; }
  .brief-hero h2,.hero-evidence-block p,.hero-stat strong { overflow-wrap:anywhere; word-break:break-word; }
}

/* Phase C.9.3: concise editorial copy and a dedicated 1280–1679 desktop layout. */
.loading-notice[hidden] { display:none; }
.theme-switch { display:grid; width:34px; height:34px; padding:0; place-items:center; font-size:17px; line-height:1; }
.fact.is-unavailable strong { margin-top:7px; color:var(--muted); font-size:12px; font-weight:400; }
.fact.is-unavailable small { display:none; }

/* Weekly report: a reading surface, not a stack of generic dashboard cards. */
.weekly-report { max-width:1120px; }.weekly-report-shell { display:grid; gap:16px; }.weekly-report-intro { position:relative; overflow:hidden; padding:30px 32px 27px; border:1px solid var(--border); border-radius:14px; background:linear-gradient(120deg,rgba(19,42,74,.96),rgba(12,27,51,.94)); }.weekly-report-intro::after { position:absolute; top:-94px; right:-55px; width:280px; height:280px; content:""; opacity:.7; background:radial-gradient(circle,rgba(69,132,255,.2),transparent 66%); pointer-events:none; }.weekly-kicker { display:block; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.13em; }.weekly-report-intro h2 { position:relative; z-index:1; max-width:680px; margin:10px 0 12px; font-size:clamp(26px,3vw,38px); line-height:1.22; letter-spacing:-.035em; }.weekly-period { margin:0; color:var(--text-secondary); font-size:13px; }.weekly-notice { max-width:620px; margin:15px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.weekly-asset-snapshot { display:grid; grid-template-columns:170px minmax(0,1fr); gap:18px; align-items:stretch; padding:18px 20px; border:1px solid var(--border); border-radius:12px; background:rgba(16,33,62,.58); }.weekly-section-label { display:grid; align-content:center; gap:5px; border-right:1px solid var(--border); }.weekly-section-label span { font-size:16px; font-weight:650; }.weekly-section-label small { color:var(--muted); font-size:11px; line-height:1.45; }.weekly-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.weekly-asset-card { position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto auto; gap:3px 14px; min-width:0; padding:15px 17px; overflow:hidden; border:1px solid var(--border); border-radius:10px; background:rgba(6,20,42,.45); }.weekly-asset-card::before { position:absolute; top:0; bottom:0; left:0; width:3px; content:""; background:var(--blue); }.weekly-asset-card.is-eth::before { background:#8b5cf6; }.weekly-asset-symbol { grid-row:1 / span 3; align-self:center; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.1em; }.weekly-asset-card strong { color:var(--text); font-size:21px; font-variant-numeric:tabular-nums; line-height:1.05; }.weekly-asset-label { color:var(--muted); font-size:10px; letter-spacing:.08em; }.weekly-asset-change { font-size:13px; }.weekly-research { overflow:hidden; border:1px solid var(--border); border-radius:14px; background:rgba(16,33,62,.48); }.weekly-thesis { padding:25px 28px 24px; border-bottom:1px solid var(--border); background:linear-gradient(100deg,rgba(44,99,172,.13),transparent 68%); }.weekly-thesis p { max-width:900px; margin:10px 0 0; color:var(--text); font-size:clamp(18px,2vw,23px); line-height:1.58; letter-spacing:-.015em; }.weekly-research-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.weekly-research-card { min-width:0; padding:20px 25px 22px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }.weekly-research-card:nth-child(2n) { border-right:0; }.weekly-research-card:nth-last-child(-n+2) { border-bottom:0; }.weekly-research-heading { display:flex; align-items:center; gap:10px; margin-bottom:11px; }.weekly-research-heading span { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; }.weekly-research-heading h3 { margin:0; font-size:14px; }.weekly-research-card.is-supports h3 { color:var(--green); }.weekly-research-card.is-contrary h3 { color:#f6a8a0; }.weekly-research-card.is-watch h3 { color:var(--blue); }.weekly-research-card.is-caveat h3 { color:var(--amber); }.weekly-research-card ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }.weekly-research-card li { position:relative; padding-left:13px; color:var(--text-secondary); font-size:13px; line-height:1.6; }.weekly-research-card li::before { position:absolute; top:.68em; left:0; width:4px; height:4px; content:""; background:var(--border-strong); border-radius:50%; }.weekly-research-card.is-supports li::before { background:var(--green); }.weekly-research-card.is-contrary li::before { background:var(--red); }.weekly-research-card.is-watch li::before { background:var(--blue); }.weekly-research-card.is-caveat li::before { background:var(--amber); }.weekly-fact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--border); border-radius:12px; background:rgba(16,33,62,.38); }.weekly-fact-card { min-width:0; padding:19px 21px; border-right:1px solid var(--border); }.weekly-fact-card:last-child { border:0; }.weekly-fact-card h3 { margin:0 0 9px; color:var(--muted); font-size:11px; font-weight:650; letter-spacing:.05em; }.weekly-fact-card p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.6; }
@media (max-width:899px) { .weekly-report-shell { gap:12px; }.weekly-report-intro { padding:23px 19px 21px; }.weekly-report-intro h2 { font-size:27px; }.weekly-asset-snapshot { grid-template-columns:1fr; gap:13px; padding:15px; }.weekly-section-label { display:flex; align-items:baseline; gap:9px; padding-bottom:11px; border-right:0; border-bottom:1px solid var(--border); }.weekly-asset-grid,.weekly-research-grid,.weekly-fact-grid { grid-template-columns:1fr; }.weekly-research-card,.weekly-research-card:nth-child(2n) { padding:17px 18px; border-right:0; border-bottom:1px solid var(--border); }.weekly-research-card:last-child { border-bottom:0; }.weekly-thesis { padding:20px 18px; }.weekly-thesis p { font-size:18px; }.weekly-fact-card { padding:16px 18px; border-right:0; border-bottom:1px solid var(--border); }.weekly-fact-card:last-child { border-bottom:0; } }

@media (min-width:1680px) {
  :root { --sidebar:232px; }
  .sidebar { padding:28px 20px 18px; }
  .main-content { padding:32px 32px 36px; }
  .page-header { position:static; margin-bottom:16px; }
  .brief-hero { min-height:0; padding:22px 28px 16px; }
  .brief-hero h2 { margin-bottom:15px; font-size:32px; line-height:1.3; }
  .brief-mid-grid,.brief-mid-grid > .content-surface,.watch-band,.fact-band { min-height:0; }
  .watch-band { margin-top:14px; padding:16px 20px; }
}

@media (min-width:1280px) and (max-width:1679px) {
  :root { --sidebar:208px; --page-max:1520px; }
  .sidebar { padding:26px 18px 16px; }
  .brand-block { padding-bottom:20px; }
  .nav-link { padding:10px 8px; }
  .main-content { padding:24px; }
  .page-header { margin-bottom:14px; }
  .page-header h1 { font-size:27px; }
  .page-controls { gap:9px; }
  .brief-hero { padding:20px 24px 14px; }
  .brief-hero h2 { max-width:980px; margin-bottom:14px; font-size:29px; line-height:1.32; }
  .brief-hero-grid { grid-template-columns:1.25fr 1.05fr .55fr .55fr 1.1fr; }
  .brief-hero-grid > div { padding:13px 14px 8px; }
  .hero-evidence-block h3,.hero-stat span { margin-bottom:6px; }
  .hero-evidence-block p { margin-bottom:5px; font-size:12.5px; line-height:1.48; }
  .hero-stat strong { font-size:15px; line-height:1.4; }
  .hero-stat small { margin-top:3px; }
  .fact-band { margin:12px 0 14px; }
  .fact { padding:12px 14px; }
  .brief-mid-grid { grid-template-columns:.86fr 1.04fr 1.3fr; gap:12px; }
  .content-surface { padding:18px; }
  .content-surface h2 { margin-bottom:9px; font-size:16px; }
  .change-row { padding:8px 0; }
  .change-row p,.thesis-panel > p { font-size:12.5px; line-height:1.58; }
  .condition-group { padding:18px 16px; }
  .condition-group h3 { margin-bottom:8px; font-size:13px; }
  .condition-group p { margin-bottom:8px; font-size:12.5px; line-height:1.52; }
  .watch-band { grid-template-columns:126px repeat(3,minmax(0,1fr)); margin-top:12px; padding:14px 16px; }
  .watch-item { padding:0 13px; }
  .watch-item p { margin-top:3px; font-size:11.5px; line-height:1.48; }
}

/* Sidebar brand polish: retain the shared shell while giving the brand block its aurora depth. */
.sidebar { overflow-x: hidden; }
.brand-block { position: relative; min-height: 82px; padding: 7px 10px 27px; overflow: hidden; }
.brand-block::before,
.brand-block::after { position: absolute; z-index: 0; width: 128%; content: ""; pointer-events: none; filter: blur(5px); }
.brand-block::before { top: 2px; left: -16%; height: 58px; opacity: .82; background: linear-gradient(105deg, transparent 7%, rgba(119,230,255,.02) 20%, rgba(119,230,255,.2) 39%, rgba(94,164,255,.16) 56%, rgba(139,103,255,.12) 70%, transparent 89%); transform: rotate(-5deg); animation: sidebar-aurora-drift 16s ease-in-out infinite; }
.brand-block::after { top: 22px; left: -13%; height: 28px; opacity: .52; background: linear-gradient(94deg, transparent 12%, rgba(119,230,255,.16) 39%, rgba(94,164,255,.1) 56%, rgba(139,103,255,.08) 69%, transparent 88%); transform: rotate(3deg); animation: sidebar-aurora-drift 20s ease-in-out -7s infinite reverse; }
.brand-logo { position: relative; z-index: 1; width: 172px; filter: drop-shadow(0 4px 12px rgba(4,13,29,.26)); }
.side-nav { gap: 5px; }
.nav-link { min-height: 42px; gap: 9px; padding: 10px; font-size: 14px; font-weight: 520; line-height: 1.3; letter-spacing: -.012em; }
.nav-link[aria-current="page"] { font-weight: 620; }
.nav-icon { flex: 0 0 16px; width: 16px; font-size: 14px; opacity: .82; }
.nav-label { min-width: 0; }
.nav-beta-mark { flex: 0 0 auto; width: 36px; height: 18px; margin-left: auto; opacity: .94; filter: drop-shadow(0 2px 5px rgba(119,230,255,.14)); }
@keyframes sidebar-aurora-drift { 0%, 100% { translate: -2% 0; opacity: .66; } 50% { translate: 3% 2px; opacity: .94; } }
@media (prefers-reduced-motion: reduce) { .brand-block::before, .brand-block::after { animation: none; } }
@media (max-width:899px) { .brand-block { min-height: 76px; padding-bottom: 23px; } .brand-logo { width: 166px; } }

@media (min-width:900px) and (max-width:1279px) {
  :root { --sidebar:200px; }
  .sidebar { padding:22px 16px 14px; }
  .main-content { padding:22px; }
  .brief-hero { padding:20px; }
  .brief-hero-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .brief-hero-grid > div:nth-child(3n) { border-right:0; }
  .brief-hero-grid > div:nth-child(-n+3) { border-bottom:1px solid var(--border); }
  .brief-mid-grid { grid-template-columns:1fr; }
}

/* Phase C.9.4: target-aligned snapshot iconography and brief-only desktop polish. */
.fact { display:block; padding:13px 16px; }
.fact-heading { display:flex; align-items:center; gap:9px; min-width:0; }
.fact-icon { flex:0 0 auto; width:32px; height:32px; object-fit:contain; }
.fact-label { min-width:0; }
.fact-label span { display:block; color:var(--text-secondary); font-size:12px; line-height:1.1; }
.fact-label small { display:block; min-height:0; margin-top:3px; overflow:hidden; color:var(--muted); font-size:10px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.fact > strong { margin-top:9px; font-size:16px; font-variant-numeric:tabular-nums; }
.fact > small { display:block; min-height:13px; margin-top:3px; color:var(--muted); font-size:10px; line-height:1.25; }
.fact-value-row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:9px; }.fact-value-row > strong { margin:0; }.fact-value-row > small { flex:0 0 auto; min-height:0; margin:0; text-align:right; }
.fact-change.is-positive { color:var(--green); }.fact-change.is-negative { color:var(--red); }
.fact-live-value { font-variant-numeric:tabular-nums; transform-origin:left center; }.fact-live-value.is-ticking-up { animation:factTickUp .72s ease-out; }.fact-live-value.is-ticking-down { animation:factTickDown .72s ease-out; }
@keyframes factTickUp { 0% { color:var(--green); transform:translateY(3px); } 28% { color:#b7f7d6; transform:translateY(-2px); } 100% { color:var(--text); transform:translateY(0); } }
@keyframes factTickDown { 0% { color:var(--red); transform:translateY(-3px); } 28% { color:#ffc0bb; transform:translateY(2px); } 100% { color:var(--text); transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .fact-live-value.is-ticking-up,.fact-live-value.is-ticking-down { animation:none; } }
.fact.is-unavailable > strong { margin-top:9px; color:var(--muted); font-size:12px; font-weight:400; }
.fact.is-unavailable > small { color:var(--text-faint); }

@media (min-width:1680px) {
  .fact { padding:15px 18px; }
}

@media (min-width:1280px) and (max-width:1679px) {
  .fact { padding:12px 14px; }
  .fact-icon { width:28px; height:28px; }
  .fact-heading { gap:8px; }
  .fact > strong { margin-top:7px; font-size:14px; }
  .fact.is-unavailable > strong { font-size:12px; }
  .brief-hero h2 { max-width:960px; font-size:28px; }
  .hero-evidence-block p { line-height:1.45; }
  .thesis-panel > p { line-height:1.55; }
  .watch-item strong { white-space:normal; }
}

@media (max-width:899px) {
  .fact { flex:0 0 182px; padding:13px 14px; }
  .fact-icon { width:26px; height:26px; }
}

/* Public Brief content must grow within its own panel instead of stretching adjacent panels. */
*,*::before,*::after { box-sizing:border-box; }
.brief-mid-grid { align-items:start; }
.brief-mid-grid > .content-surface { min-width:0; min-height:0; align-self:start; }
.change-title { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.change-title h3 { min-width:0; overflow-wrap:anywhere; }
.change-tone { flex:0 0 auto; padding:3px 7px; border:1px solid var(--border-strong); border-radius:999px; font-size:11px; line-height:1; }
.change-tone.is-positive { color:var(--green); border-color:rgba(69,199,139,.5); background:rgba(69,199,139,.08); }
.change-tone.is-negative { color:var(--red); border-color:rgba(255,120,112,.5); background:rgba(255,120,112,.08); }
.change-tone.is-neutral { color:var(--muted); background:rgba(148,163,184,.08); }
.change-data { margin:5px 0 0; color:var(--text); font-variant-numeric:tabular-nums; font-weight:500; overflow-wrap:anywhere; }
.content-surface p,.watch-item p,.condition-group p { overflow-wrap:anywhere; word-break:break-word; }
@media (min-width:1500px) { .brief-mid-grid,.brief-mid-grid > .content-surface { min-height:0; height:auto; } }
@media (max-width:899px) { .main-content,.brief-hero,.brief-mid-grid,.content-surface,.watch-band { width:100%; max-width:100%; } }

/* The change card is a short timeline: reserve room for up to three facts without stretching its neighbours. */
.changes-panel { min-height:246px; }
.changes-timeline { position:relative; display:grid; gap:0; min-height:186px; margin:0; padding:0 0 0 18px; list-style:none; }
.changes-timeline::before { position:absolute; top:5px; bottom:7px; left:4px; width:1px; content:""; background:var(--border-strong); }
.changes-timeline .change-row { position:relative; min-height:62px; padding:8px 0 10px; border-top:1px solid var(--border); }
.changes-timeline .change-row::before { position:absolute; top:14px; left:-18px; width:9px; height:9px; content:""; background:var(--surface-raised); border:2px solid var(--blue); border-radius:50%; }
.changes-timeline .change-row:first-child { padding-top:0; border-top:0; }
.changes-timeline .change-row:first-child::before { top:6px; }
.condition-group { padding-top:15px; }
@media (max-width:899px) { .changes-panel { min-height:0; }.changes-timeline { min-height:0; }.changes-timeline .change-row { min-height:0; } }
@media (max-width:899px) { .brief-observation-strip,.brief-market-chain { padding:16px; }.brief-observation-strip article { display:block; }.brief-observation-strip time { display:block; margin-top:4px; }.brief-chain-grid { grid-template-columns:1fr; }.chain-stage { border-right:0; border-bottom:1px solid var(--border); }.chain-stage:last-child { border-bottom:0; } }

/* Reserve three change rows and keep the three desktop panels aligned. */
@media (min-width:1280px) {
  .brief-mid-grid > .content-surface { height:270px; min-height:270px; max-height:270px; overflow:hidden; }
  .changes-panel { display:flex; flex-direction:column; }
  .changes-timeline { flex:1 1 auto; min-height:0; padding-right:4px; overflow-y:auto; overscroll-behavior:contain; }
  .thesis-panel { padding:17px 18px; overflow-y:auto !important; }
  .condition-panel { overflow-y:auto !important; }
  .thesis-panel > p { font-size:12.5px; line-height:1.62; letter-spacing:.005em; }
  .condition-group { padding:15px 14px 14px; }
  .condition-group h3 { margin-bottom:7px; font-size:12px; letter-spacing:.01em; }
  .condition-group p { margin-bottom:7px; font-size:12px; line-height:1.5; }
}

/* The homepage brief is now a compact forward-looking read, so keep its denser headline legible. */
.brief-hero h2 { max-width:1120px; font-size:clamp(23px,1.75vw,28px); line-height:1.42; }
.brief-forward-outlook { display:-webkit-box; max-width:1040px; margin:-5px 0 15px; overflow:hidden; color:var(--text-secondary); font-size:13px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
@media (max-width:899px) { .brief-hero h2 { font-size:23px; line-height:1.4; } }

/* Keep the two compact crypto reference metrics visually balanced. */
.page-crypto .crypto-sentiment-focus { display:grid; gap:4px; align-content:center; min-height:58px; }
.page-crypto .crypto-sentiment-focus > span { color:var(--muted); font-size:11px; letter-spacing:.04em; }
.page-crypto .crypto-sentiment-focus > strong { color:var(--text); font-size:18px; font-variant-numeric:tabular-nums; }
.page-crypto .crypto-sentiment-focus p { margin:0; color:var(--text-secondary); font-size:12px; }

/* Live anomaly context remains visually distinct from durable Market State. */
.urgent-event-panel { position:relative; padding:17px 19px; border-color:rgba(245,158,11,.34); background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(15,23,42,.12)); }
.urgent-event-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.urgent-event-heading .eyebrow { color:var(--amber,#f59e0b); }
.urgent-event-status { padding:4px 8px; border:1px solid rgba(245,158,11,.4); border-radius:999px; color:var(--text-secondary); font-size:11px; }
.urgent-event-panel h2 { margin:9px 0 5px; font-size:18px; }
.urgent-event-trigger { display:block; margin-bottom:8px; color:var(--text); font-variant-numeric:tabular-nums; }
.urgent-event-panel p { max-width:920px; margin:5px 0 0; color:var(--text-secondary); font-size:13px; line-height:1.55; }
.urgent-event-panel.is-confirmed { border-color:rgba(69,199,139,.4); background:linear-gradient(135deg,rgba(69,199,139,.08),rgba(15,23,42,.12)); }
.urgent-event-panel.is-contradicted { border-color:rgba(255,120,112,.42); background:linear-gradient(135deg,rgba(255,120,112,.08),rgba(15,23,42,.12)); }
@media (max-width:899px) { .urgent-event-panel { padding:15px 16px; }.urgent-event-heading { align-items:flex-start; }.urgent-event-panel h2 { font-size:17px; } }

/* Next-watch hierarchy: keep the section title outside the item grid so every
   observation retains its intended macro -> ETF -> confirmation -> invalidation order. */
.watch-band { display:block; min-height:0; padding:0; }
.watch-heading { display:flex; align-items:baseline; gap:12px; padding:15px 18px 13px; border-bottom:1px solid var(--border); }
.watch-heading h2 { margin:0; font-size:17px; }
.watch-heading p { margin:0; color:var(--muted); font-size:12px; }
.watch-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.watch-grid .watch-item { min-width:0; padding:16px 18px 17px; border-left:1px solid var(--border); }
.watch-grid .watch-item:first-child { border-left:0; }
@media (max-width:1100px) {
  .watch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .watch-grid .watch-item:nth-child(odd) { border-left:0; }
  .watch-grid .watch-item:nth-child(n+3) { border-top:1px solid var(--border); }
}
@media (max-width:899px) {
  .watch-heading { display:block; padding:15px 16px 12px; }
  .watch-heading p { margin-top:4px; }
  .watch-grid { grid-template-columns:1fr; }
  .watch-grid .watch-item { padding:14px 16px; border-top:1px solid var(--border); border-left:0; }
  .watch-grid .watch-item:first-child { border-top:0; }
}
