@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/inter-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/inter-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/inter-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--s-16); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--c-paper); color: var(--c-ink); font: var(--t-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
a { color: var(--c-signal); text-decoration: none; transition: color var(--dur-fast) var(--ease-standard); }
a:hover { color: var(--c-signal-hover); text-decoration: underline; text-underline-offset: 3px; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-radius: var(--r-xs); }
[hidden] { display: none !important; }

.tnum { font-feature-settings: var(--num-features); font-variant-numeric: tabular-nums lining-nums; }
.muted { color: var(--c-muted); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.icon { width: var(--icon-sm); height: var(--icon-sm); flex: none; fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; vertical-align: -3px; }
.icon.xs { width: var(--icon-xs); height: var(--icon-xs); vertical-align: -1px; }
.icon.md { width: var(--icon-md); height: var(--icon-md); vertical-align: -5px; }
.icon.lg { width: var(--icon-lg); height: var(--icon-lg); vertical-align: -6px; }
.icon.spin { animation: ui-spin 900ms linear infinite; }
@keyframes ui-spin { to { transform: rotate(360deg); } }

.skip { position: absolute; left: -9999px; top: var(--s-2); z-index: 60; padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--c-surface); box-shadow: var(--elev-2); color: var(--c-ink); font: var(--t-label); }
.skip:focus { left: var(--s-4); }

.brand-row { display: flex; align-items: center; gap: var(--s-2); min-width: 0; color: var(--c-ink); font: 600 14px/20px var(--font-sans); letter-spacing: -0.01em; text-decoration: none; }
.brand-row:hover { color: var(--c-ink); text-decoration: none; }
.brand-mark { display: inline-grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: var(--r-sm); background: var(--c-signal); color: var(--c-on-signal); }
.brand-mark .icon { width: 15px; height: 15px; }
.theme-cycle { cursor: pointer; }

.appbar { position: sticky; top: 0; z-index: 25; display: flex; align-items: center; gap: var(--s-1); height: 52px; padding: 0 var(--s-2) 0 var(--s-4); border-bottom: 1px solid var(--c-divider); background: color-mix(in srgb, var(--c-paper) 88%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.appbar .brand-row { flex: 1; }

.app { min-height: 100vh; padding-bottom: calc(var(--h-tabbar) + env(safe-area-inset-bottom)); }
.main { max-width: var(--w-content); margin: 0 auto; padding: var(--gap-top) var(--s-4) var(--s-12); }
.nav-side { display: none; }
.nav-foot { display: none; }

.tabbar { position: fixed; z-index: 25; left: 0; right: 0; bottom: 0; display: flex; height: calc(var(--h-tabbar) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: color-mix(in srgb, var(--c-surface) 92%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--c-divider); }
.tabbar a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: var(--h-touch); color: var(--c-muted); font: 500 11px/14px var(--font-sans); text-decoration: none; transition: color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard); }
.tabbar a .icon { width: 21px; height: 21px; }
.tabbar a[aria-current="page"] { color: var(--c-signal); font-weight: 600; }
.tabbar a:active { background: var(--c-sunken); }

.theme { display: inline-flex; padding: 2px; border-radius: var(--r-sm); background: var(--c-sunken); }
.theme button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 36px; height: 32px; padding: 0; border: 0; border-radius: calc(var(--r-sm) - 2px); background: transparent; color: var(--c-muted); font: var(--t-foot); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard); }
.theme button:hover { color: var(--c-ink); }
.theme button[aria-pressed="true"] { background: var(--c-surface); color: var(--c-ink); box-shadow: var(--elev-1); }

@media (min-width: 1024px) {
  .appbar { display: none; }
  .tabbar { display: none; }
  .app { display: grid; grid-template-columns: var(--w-nav) minmax(0, 1fr); padding-bottom: 0; }
  .nav-side { display: flex; flex-direction: column; gap: var(--s-1); position: sticky; top: 0; height: 100vh; padding: var(--s-6) var(--s-3) var(--s-4); border-right: 1px solid var(--c-divider); background: var(--c-paper); }
  .nav-side .brand-row { padding: 0 var(--s-3) var(--s-5); }
  .nav-side a[data-nav] { display: flex; align-items: center; gap: var(--s-2); height: 38px; padding: 0 var(--s-3); border-radius: var(--r-md); color: var(--c-muted); font: 500 14px/20px var(--font-sans); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard); }
  .nav-side a[data-nav]:hover { background: var(--c-sunken); color: var(--c-ink); }
  .nav-side a[data-nav][aria-current="page"] { background: var(--c-signal-weak); color: var(--c-signal); font-weight: 600; }
  .nav-foot { display: grid; gap: var(--s-2); margin-top: auto; padding: var(--s-4) var(--s-3) 0; border-top: 1px solid var(--c-divider); }
  .nav-foot .theme { width: max-content; }
  .nav-kbd { display: flex; align-items: center; gap: var(--s-1); color: var(--c-muted); font: var(--t-foot); }
  .main { padding: var(--gap-top) var(--s-8) var(--s-16); }
  .main.list { max-width: var(--w-content); width: 100%; margin: 0 auto; padding: var(--s-10) var(--s-8) var(--s-16); }
}

.kbd { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--r-xs); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-divider); color: var(--c-muted); font: var(--t-kbd); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--h-touch); padding: 0 var(--s-4); border: 1px solid var(--c-stroke); border-radius: var(--r-md); background: var(--c-surface); color: var(--c-ink); font: 500 14px/20px var(--font-sans); cursor: pointer; text-decoration: none; white-space: nowrap; transition: background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-instant) var(--ease-standard); }
.btn:hover { text-decoration: none; color: var(--c-ink); border-color: var(--c-muted); background: var(--c-surface-2); }
.btn:active { transform: scale(var(--press-scale)); }
.btn.primary { border-color: var(--c-signal); background: var(--c-signal); color: var(--c-on-signal); }
.btn.primary:hover { border-color: var(--c-signal-hover); background: var(--c-signal-hover); color: var(--c-on-signal); }
.btn.text { border-color: transparent; background: transparent; color: var(--c-signal); padding: 0 var(--s-2); }
.btn.text:hover { background: var(--c-signal-weak); color: var(--c-signal); }
.btn:disabled, .btn[aria-disabled="true"] { border-color: var(--c-divider); background: var(--c-sunken); color: var(--c-faint); cursor: not-allowed; transform: none; }
@media (min-width: 1024px) { .btn { min-height: var(--h-control); } }

.ext-link { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 2px; min-height: 24px; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: var(--c-faint); text-underline-offset: 3px; border-radius: var(--r-xs); transition: color var(--dur-fast) var(--ease-standard), text-decoration-color var(--dur-fast) var(--ease-standard); }
.ext-link:hover { color: var(--c-signal-hover); text-decoration-color: currentColor; }
.ext-link .icon { width: 12px; height: 12px; color: var(--c-faint); }
.ext-link:hover .icon { color: currentColor; }

.cmark { display: inline-grid; place-items: center; flex: none; width: var(--size-mark); height: var(--size-mark); border-radius: var(--r-md); background: var(--viz-1-weak); color: var(--viz-1); font: var(--t-mark); user-select: none; }
.cmark.v2 { background: var(--viz-2-weak); color: var(--viz-2); }
.cmark.v3 { background: var(--viz-3-weak); color: var(--viz-3); }
.cmark.v4 { background: var(--viz-4-weak); color: var(--viz-4); }
.cmark.v5 { background: var(--viz-5-weak); color: var(--viz-5); }
.cmark.v6 { background: var(--viz-6-weak); color: var(--viz-6); }
.cmark.lg { width: 48px; height: 48px; border-radius: var(--r-lg); font-size: 20px; }
@media (min-width: 1024px) { .cmark.lg { width: 54px; height: 54px; font-size: 22px; } }

.mark { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border: 1px solid var(--c-stroke); border-radius: var(--r-xs); color: var(--c-ink-2); font: 500 12px/18px var(--font-sans); white-space: nowrap; }
.mark.is-split { border-color: currentColor; color: var(--c-warn); background: var(--c-warn-weak); }
.mark.is-supp { border-style: dashed; color: var(--c-ink-2); background: var(--c-surface-2); }

.tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--c-tag-ring); font: 500 12px/18px var(--font-sans); white-space: nowrap; }
.tag.ai { background: var(--c-signal-weak); color: var(--c-signal); }
.tag.social { background: var(--c-social-weak); color: var(--c-social); }
.tag.none { background: var(--c-sunken); color: var(--c-muted); }
.tag.pend { background: var(--c-warn-weak); color: var(--c-warn); }

.state-flag { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: var(--r-xs); background: var(--c-warn-weak); color: var(--c-warn); font: 500 12px/18px var(--font-sans); }
.push-flag { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: var(--r-xs); font: 500 12px/18px var(--font-sans); white-space: nowrap; }
.push-flag.next { background: var(--c-signal-weak); color: var(--c-signal); }

.dgroup { margin-top: var(--gap-day); }
.main > .dgroup:first-child, #list-results > .dgroup:first-child { margin-top: 0; }
.dgroup-h { display: flex; align-items: center; gap: var(--s-2); margin: 0 0 var(--gap-day-head); color: var(--c-ink); font: var(--t-day); letter-spacing: -0.01em; }
.dgroup-h::before { content: ""; width: 4px; height: 16px; border-radius: 2px; background: var(--c-signal); flex: none; }
.dgroup-h .tnum { font-variant-numeric: tabular-nums lining-nums; }

.co-list { border-radius: var(--r-lg); box-shadow: var(--elev-1); overflow: hidden; background: var(--c-surface); }
.co-row { position: relative; display: block; padding: var(--pad-card); border-bottom: 1px solid var(--c-divider); background: var(--c-surface); transition: background-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard); }
.co-list .co-row:last-child { border-bottom: 0; }
@media (hover: hover) {
  .co-row:hover { background: var(--c-surface-2); box-shadow: inset 3px 0 0 var(--c-signal); }
}
.co-row:has(.co-link:focus-visible) { background: var(--c-surface-2); box-shadow: inset 3px 0 0 var(--c-signal); }

.co-row.co-card.has-mark { padding-left: calc(var(--pad-card) + var(--size-mark) + var(--s-3)); }
.co-row.co-card.has-mark > .cmark { position: absolute; left: var(--pad-card); top: var(--pad-card); }
.co-card .co-l { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

.co-r1 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap-wrap) var(--s-2); min-width: 0; }
.co-card .co-name { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) 6px; margin: 0; font: var(--t-name); min-width: 0; }
.co-link { color: var(--c-ink); overflow-wrap: anywhere; }
.co-link:hover { color: var(--c-signal); text-decoration: none; }
.co-link::after { content: ""; position: absolute; inset: 0; }
.co-link:focus-visible { outline: none; }

.co-card .co-country { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r-pill); background: var(--c-sunken); color: var(--c-ink-2); font: 500 12px/18px var(--font-sans); white-space: nowrap; }
.co-card .co-country.is-pend { background: var(--c-warn-weak); color: var(--c-warn); }
.co-tags { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-1); }

.co-lbl { color: var(--c-muted); font-weight: 400; }
.co-prod { margin: 2px 0 0; color: var(--c-ink); font: var(--t-body); overflow-wrap: anywhere; }
.co-fund { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 0; margin: 2px 0 0; color: var(--c-ink-2); font: var(--t-caption); overflow-wrap: anywhere; }
.co-fund > span + span::before { content: " · "; color: var(--c-muted); font-weight: 400; }
.co-amt-i { color: var(--c-ink); font: 600 14.5px/20px var(--font-sans); font-variant-numeric: tabular-nums lining-nums; }
.co-amt-i.is-pend { color: var(--c-warn); }
.co-amt-i.is-none { color: var(--c-muted); font-weight: 400; font-size: 13px; }
.co-card .co-desc { display: block; margin: 2px 0 0; color: var(--c-ink-2); font: var(--t-desc); overflow-wrap: anywhere; }

.co-srcs { display: block; margin: 4px 0 0; color: var(--c-muted); font: var(--t-caption); }
.co-src-i { display: inline-block; white-space: nowrap; margin-right: var(--s-1); }
.co-src-i:last-child { margin-right: 0; }
.co-card .co-src { position: relative; z-index: 1; display: inline-flex; align-items: center; min-height: 44px; color: var(--c-ink-2); font: var(--t-foot); vertical-align: middle; }
.co-card .co-src:hover { color: var(--c-signal); }

.co-more-l { margin: 0; }
.co-more { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 2px; min-height: 44px; color: var(--c-signal); font: var(--t-label); transition: gap var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard); }
.co-more:hover { color: var(--c-signal-hover); gap: 4px; text-decoration: none; }

@media (min-width: 1024px) {
  .co-row.co-card.has-mark { padding-left: calc(var(--pad-card) + var(--size-mark) + var(--s-4)); }
  .co-more, .co-card .co-src { min-height: 24px; }
  .co-more-l { margin-top: 2px; }
  .co-card .co-desc, .co-prod { max-width: 72ch; }
}

.week-tail { margin-top: var(--gap-section); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--elev-1); padding: 0 var(--s-4); }
.fold { border-top: 1px solid var(--c-divider); }
.fold:first-child { border-top: 0; }
.fold > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; list-style: none; cursor: pointer; color: var(--c-ink-2); font: var(--t-label); }
.fold > summary::-webkit-details-marker { display: none; }
.fold > summary .act { display: inline-flex; align-items: center; gap: var(--s-1); color: var(--c-muted); font: var(--t-caption); }
.fold > summary .icon { transition: transform var(--dur-fast) var(--ease-standard); }
.fold[open] > summary .icon { transform: rotate(180deg); }
.fold .when-open { display: none; }
.fold[open] .when-open { display: inline; }
.fold[open] .when-closed { display: none; }
.fold-b { padding-bottom: var(--s-3); }
.fold .filtered-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px var(--s-3); padding: var(--s-2) 0; border-top: 1px solid var(--c-divider); font: var(--t-caption); }
.fold .filtered-row span { color: var(--c-muted); }

.empty-line { margin: 0; padding: var(--s-3) 0 0; color: var(--c-muted); font: var(--t-read); }
.notice { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--c-signal-weak); color: var(--c-ink); font: var(--t-body); }
.notice a { font-weight: 600; }

.tb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.tb { justify-content: flex-start; margin: 0 0 var(--s-2); }
.tb .fbtn { position: relative; min-height: var(--h-touch); }
.fbtn .n { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--r-pill); background: var(--c-signal); color: var(--c-on-signal); font: 600 11px/1 var(--font-sans); }
@media (min-width: 1024px) { .tb { display: none; } }

.scrim { position: fixed; inset: 0; z-index: 50; background: var(--c-scrim); opacity: 0; pointer-events: none; transition: opacity var(--dur-base) var(--ease-standard); }
.scrim.is-open { opacity: 1; pointer-events: auto; }
.drawer { position: fixed; z-index: 51; left: 0; right: 0; bottom: 0; max-height: 85vh; overflow: auto; padding: var(--s-2) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom)); border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--c-pop); box-shadow: var(--elev-2); transform: translateY(100%); transition: transform var(--dur-slow) var(--ease-enter); }
.drawer.is-open { transform: none; }
.drawer-grip { width: 36px; height: 4px; margin: 0 auto var(--s-3); border-radius: 2px; background: var(--c-stroke); }
.drawer-h { display: flex; align-items: center; justify-content: space-between; min-height: var(--h-touch); font: 600 17px/24px var(--font-sans); }
.drawer-f { display: flex; gap: var(--s-3); margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--c-divider); }
.drawer-f .btn { flex: 1; justify-content: center; }

.filters { display: grid; gap: var(--s-3); padding: var(--s-2) 0; }
.filter-line { display: flex; align-items: center; gap: var(--s-2); min-width: 0; }
.filter-line > .lab { flex: none; width: 40px; color: var(--c-muted); font: var(--t-caption); }
.filter-line > .lab:empty { visibility: hidden; }

.seg { display: inline-flex; padding: 3px; border-radius: var(--r-md); background: var(--c-sunken); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.seg::-webkit-scrollbar { display: none; }
.seg button { flex: none; min-height: var(--h-touch); padding: 0 var(--s-3); border: 0; border-radius: var(--r-sm); background: transparent; color: var(--c-muted); font: 500 13.5px/20px var(--font-sans); cursor: pointer; white-space: nowrap; transition: background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard); }
.seg button:hover { color: var(--c-ink); }
.seg button[aria-pressed="true"] { background: var(--c-surface); color: var(--c-ink); font-weight: 600; box-shadow: var(--elev-1); }
.seg button:disabled { color: var(--c-faint); cursor: not-allowed; }
@media (min-width: 1024px) { .seg button { min-height: 32px; } }

.chips { display: flex; flex-wrap: wrap; gap: var(--s-2); min-width: 0; }
.chip { flex: none; position: relative; display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--s-3); border: 1px solid var(--c-divider); border-radius: var(--r-pill); background: var(--c-surface); color: var(--c-ink-2); font: 500 13px/20px var(--font-sans); cursor: pointer; white-space: nowrap; transition: background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard); }
.chip::before { content: ""; position: absolute; inset: -6px 0; }
.chip:hover { border-color: var(--c-stroke); color: var(--c-ink); }
.chip[aria-pressed="true"] { border-color: var(--c-signal); background: var(--c-signal-weak); color: var(--c-signal); font-weight: 600; }
.clear-f { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 var(--s-2); border: 0; border-radius: var(--r-sm); background: transparent; color: var(--c-signal); font: 500 13px/20px var(--font-sans); cursor: pointer; }
.clear-f:hover { background: var(--c-signal-weak); }

.select { position: relative; display: inline-flex; }
.select select { appearance: none; height: var(--h-touch); min-width: 160px; padding: 0 36px 0 var(--s-3); border: 1px solid var(--c-stroke); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: var(--t-body); cursor: pointer; }
.select .icon { position: absolute; right: 12px; top: 50%; margin-top: -8px; pointer-events: none; color: var(--c-muted); }
@media (min-width: 1024px) {
  .chip::before { inset: 0; }
  .select select { height: var(--h-control); font: var(--t-caption); }
  .fpanel { display: grid; gap: var(--s-2); margin-bottom: var(--s-4); padding: var(--s-4) var(--s-5); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--elev-1); }
  .fpanel .filters { padding: 0; gap: var(--s-2); }
}

.crumb { display: flex; align-items: center; gap: var(--s-1); min-height: var(--h-touch); font: var(--t-caption); color: var(--c-muted); }
.crumb a { display: inline-flex; align-items: center; gap: 2px; min-height: var(--h-touch); color: var(--c-muted); font-weight: 500; }
.crumb a:hover { color: var(--c-signal); text-decoration: none; }
.crumb .sep { color: var(--c-faint); }
.crumb [aria-current] { color: var(--c-ink); max-width: 20em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1023px) { .crumb .sep, .crumb [aria-current] { display: none; } }

.dhead { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-1) var(--s-3); align-items: center; }
.dhead h1 { font: var(--t-display); letter-spacing: -0.015em; overflow-wrap: anywhere; }
.dhead .co-head-sub { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin-top: var(--s-2); }
@media (min-width: 1024px) { .dhead .co-head-sub { grid-column: 2; margin-top: 2px; } }

.card { padding: var(--s-4); border-radius: var(--r-lg); background: var(--c-surface); box-shadow: var(--elev-1); min-width: 0; }
@media (min-width: 1024px) { .card { padding: var(--s-5); } }

.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-4); margin-top: var(--s-4); border-top: 1px solid var(--c-divider); }
.facts > div { padding: var(--s-3) 0; border-bottom: 1px solid var(--c-divider); min-width: 0; }
.facts dt { color: var(--c-muted); font: var(--t-foot); }
.facts dd { margin-top: 3px; font: 500 14px/21px var(--font-sans); font-feature-settings: var(--num-features); overflow-wrap: anywhere; }
.facts dd small { display: block; margin-top: 2px; color: var(--c-muted); font: var(--t-foot); }
.facts .amt dd { font: var(--t-amount); font-feature-settings: var(--num-features); }
.facts-note { padding: var(--s-3) 0 0; color: var(--c-ink-2); font: var(--t-caption); }
.facts-note b { color: var(--c-warn); font-weight: 600; }
@media (min-width: 1024px) { .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--s-6); } }

.evidence { margin-top: var(--s-5); padding: var(--s-4); background: var(--c-surface); box-shadow: var(--elev-1); border-left: 3px solid var(--c-warn); border-radius: var(--r-md); }
.ev-h { display: flex; align-items: center; gap: var(--s-2); color: var(--c-warn); font: var(--t-label); }
.ev-h b { color: var(--c-ink); font-weight: 600; }
.ev-vals { margin-top: var(--s-2); color: var(--c-ink); font: var(--t-body); }
.evidence ul { margin-top: var(--s-2); }
.evidence li { display: grid; gap: 3px; padding: var(--s-3) 0 0; margin-top: var(--s-2); border-top: 1px solid var(--c-divider); }
.ev-src { color: var(--c-muted); font: var(--t-foot); }
.evidence q { font: var(--t-body); quotes: "“" "”"; color: var(--c-ink-2); overflow-wrap: anywhere; }

.detail.v2 { display: block; margin-top: var(--s-6); }
.toc { position: sticky; top: 52px; z-index: 15; display: flex; gap: var(--s-1); margin: 0 calc(var(--s-4) * -1); padding: 0 var(--s-4); overflow-x: auto; scrollbar-width: none; background: color-mix(in srgb, var(--c-paper) 92%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--c-divider); }
.toc::-webkit-scrollbar { display: none; }
.toc a { flex: none; display: flex; align-items: center; min-height: var(--h-touch); padding: 0 var(--s-2); border-bottom: 2px solid transparent; color: var(--c-muted); font: 500 13.5px/20px var(--font-sans); text-decoration: none; white-space: nowrap; }
.toc a:hover { color: var(--c-ink); text-decoration: none; }
.toc a[aria-current="true"] { color: var(--c-signal); border-bottom-color: var(--c-signal); font-weight: 600; }

@media (min-width: 1024px) {
  .detail.v2 { display: grid; grid-template-columns: var(--w-toc) minmax(0, 760px); column-gap: var(--s-12); }
  .detail.v2:has(> .toc[hidden]) { grid-template-columns: minmax(0, 760px); }
  .toc { top: var(--s-8); align-self: start; flex-direction: column; gap: 2px; margin: 0; padding: 0; border-bottom: 0; border-left: 1px solid var(--c-divider); background: none; backdrop-filter: none; overflow: visible; }
  .toc a { min-height: 30px; margin-left: -1px; padding: var(--s-1) 0 var(--s-1) var(--s-3); border-bottom: 0; border-left: 2px solid transparent; white-space: normal; font-size: 13px; line-height: 18px; }
  .toc a[aria-current="true"] { border-left-color: var(--c-signal); }
}

.sec { padding: var(--s-8) 0 var(--s-3); border-bottom: 1px solid var(--c-divider); scroll-margin-top: var(--s-16); }
.sec-t { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-4); font: var(--t-name); }
.sec-t .no { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 5px; border-radius: var(--r-xs); background: var(--c-sunken); color: var(--c-muted); font: 600 12px/1 var(--font-sans); font-feature-settings: var(--num-features); }
.sec-t .icon { color: var(--c-signal); }
.sec > p { font: var(--t-read); max-width: 38em; }
.sec > p + p { margin-top: var(--s-3); }
.sec .kv { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--s-2) var(--s-4); padding: var(--s-4); border-radius: var(--r-md); background: var(--c-surface); box-shadow: var(--elev-1); font: var(--t-read); }
.sec .kv dt { color: var(--c-muted); font: var(--t-caption); padding-top: 4px; }
.sec .kv dd { min-width: 0; overflow-wrap: anywhere; }

.ftl { position: relative; display: flex; flex-direction: column; }
.ftl-item { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: var(--s-3); padding-bottom: var(--s-5); }
.ftl-item::before { content: ""; position: absolute; left: 7.5px; top: 18px; bottom: 0; width: 1px; background: var(--c-divider); }
.ftl-item:last-child { padding-bottom: 0; }
.ftl-item:last-child::before { display: none; }
.ftl-when { grid-column: 2; grid-row: 1; font: var(--t-foot); color: var(--c-muted); font-variant-numeric: tabular-nums; }
.ftl-dot { grid-column: 1; grid-row: 1; width: 9px; height: 9px; margin: 6px 0 0 3.5px; border-radius: 50%; background: var(--c-surface); box-shadow: 0 0 0 1.5px var(--c-stroke); }
.ftl-item.is-current .ftl-dot { background: var(--c-signal); box-shadow: 0 0 0 3px var(--c-signal-weak); }
.ftl-item.is-unknown .ftl-dot { box-shadow: 0 0 0 1.5px var(--c-faint); background: transparent; }
.ftl-body { grid-column: 2; }
.ftl-what { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-1) var(--s-2); margin-top: 2px; }
.ftl-round { font: 600 15px/22px var(--font-sans); }
.ftl-amt { font: 600 16px/22px var(--font-sans); font-variant-numeric: tabular-nums; }
.ftl-amt.is-none { color: var(--c-muted); font-weight: 400; font-size: 14px; }
.ftl-who { margin-top: 2px; color: var(--c-ink-2); font: var(--t-foot); }
@media (min-width: 1024px) {
  .ftl-item { grid-template-columns: 104px 16px minmax(0, 1fr); }
  .ftl-item::before { left: calc(104px + 12px + 7.5px); }
  .ftl-when { grid-column: 1; grid-row: 1; padding-top: 2px; text-align: right; }
  .ftl-dot { grid-column: 2; grid-row: 1; }
  .ftl-body { grid-column: 3; }
}

.diffnote { display: flex; gap: var(--s-2); align-items: flex-start; margin-top: var(--s-3); padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--c-warn-weak); font: var(--t-caption); }
.diffnote .icon { margin-top: 2px; color: var(--c-warn); }
.diffnote ul { display: grid; gap: 3px; margin-top: var(--s-1); }

.sec-pending, .sec-nodeep { padding-top: var(--s-2); }
.pending-note { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); background: var(--c-signal-weak); color: var(--c-ink); border-radius: var(--r-md); font: var(--t-body); }
.pending-note .icon { color: var(--c-signal); }
.nodeep-note { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--c-sunken); color: var(--c-ink-2); font: var(--t-body); }
.nodeep-note .icon { color: var(--c-muted); }

.skl { display: block; border-radius: var(--r-xs); background: var(--c-sunken); background-image: linear-gradient(90deg, transparent 0, var(--c-surface-2) 50%, transparent 100%); background-size: 200% 100%; background-repeat: no-repeat; animation: ui-shimmer var(--dur-shimmer) linear infinite; }
@keyframes ui-shimmer { from { background-position: 150% 0; } to { background-position: -50% 0; } }
@media (prefers-reduced-motion: reduce) {
  .fold > summary .icon { transition: none; }
  .skl, .icon.spin { animation: none; }
}
:root.rm-preview .skl { animation: none; }
