:root {
  --report-paper: #e7e1d2;
  --report-ink: #12161a;
  --report-accent: #eabf62;
  --report-cyan: #43dac7;
}

.reports-body { min-width: 0; overflow-x: hidden; background: radial-gradient(circle at 78% 6%, rgba(56, 87, 83, .32), transparent 30%), radial-gradient(circle at 8% 34%, rgba(111, 75, 41, .16), transparent 28%), #0b0e11; }
.reading-progress { position: fixed; inset: 0 auto auto 0; z-index: 50; width: 0; height: 2px; background: linear-gradient(90deg, var(--report-accent), var(--report-cyan)); box-shadow: 0 0 14px rgba(67, 218, 199, .55); }
.report-orbit { position: fixed; z-index: 0; width: 540px; height: 540px; border: 1px solid rgba(234, 191, 98, .07); border-radius: 50%; pointer-events: none; }
.orbit-one { top: -330px; right: -110px; box-shadow: 0 0 0 68px rgba(255,255,255,.012), 0 0 0 136px rgba(255,255,255,.008); }
.orbit-two { bottom: -450px; left: -260px; width: 720px; height: 720px; border-color: rgba(67,218,199,.055); }
.reports-topbar { background: rgba(10, 13, 16, .9); }
.reports-brand { color: inherit; text-decoration: none; }
.reports-brand .brand-symbol { border-color: rgba(234,191,98,.55); color: var(--report-accent); font-family: Georgia, serif; }
.reports-nav { display: flex; align-items: center; gap: 7px; }
.reports-nav a { padding: 8px 11px; border-radius: 6px; color: var(--faint); font-size: 10px; letter-spacing: .08em; text-decoration: none; }
.reports-nav a:hover, .reports-nav a.active { color: var(--report-paper); background: rgba(255,255,255,.055); }
.reports-nav a.active { box-shadow: inset 0 -1px var(--report-accent); }
.reports-shell { position: relative; z-index: 1; width: min(1540px, calc(100% - 64px)); margin: 0 auto; padding: 62px 0 90px; }
.reports-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; min-height: 370px; padding: 32px 2vw 46px; border-bottom: 1px solid rgba(234,191,98,.22); }
.hero-copy { min-width: 0; }
.hero-copy h1 { margin: 13px 0 22px; overflow-wrap: anywhere; color: var(--report-paper); font: 700 clamp(45px, 5.8vw, 86px)/.98 Georgia, "Songti SC", serif; letter-spacing: -.065em; }
.hero-copy h1 em { color: var(--report-accent); font-style: italic; font-weight: 500; }
.hero-copy p { max-width: 720px; margin: 0; color: #9aa09f; font-size: 14px; line-height: 1.9; }
.hero-stamp { display: grid; justify-items: end; flex: 0 0 auto; padding-bottom: 7px; color: #737b7d; font-size: 9px; letter-spacing: .22em; }
.hero-stamp strong { color: rgba(231,225,210,.13); font: 700 150px/.76 Georgia, serif; letter-spacing: -.1em; }
.hero-stamp small { margin-top: 20px; color: var(--report-accent); font-size: 9px; }
.archive-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 2vw 46px; border: 1px solid rgba(255,255,255,.08); border-top: 0; background: rgba(255,255,255,.07); }
.archive-summary article { min-width: 0; padding: 21px 24px; background: rgba(14,17,20,.96); }
.archive-summary span, .archive-summary b, .archive-summary small { display: block; }
.archive-summary span { color: #737c7d; font-size: 8px; letter-spacing: .17em; }
.archive-summary b { margin: 9px 0 3px; color: var(--report-paper); font: 600 24px/1 Georgia, serif; }
.archive-summary small { color: #6e7475; font-size: 9px; }
.report-explorer { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; align-items: start; }
.report-rail { position: sticky; top: 96px; max-height: calc(100vh - 120px); padding: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(17,21,24,.88); backdrop-filter: blur(18px); }
.rail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.rail-heading h2 { margin: 5px 0 0; color: var(--report-paper); font: 600 21px/1.2 Georgia, "Songti SC", serif; }
.rail-heading > b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(234,191,98,.25); border-radius: 50%; color: var(--report-accent); font: 600 13px Georgia, serif; }
.report-search { display: flex; align-items: center; gap: 8px; margin: 18px 0 11px; padding: 10px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: rgba(255,255,255,.025); color: var(--report-accent); }
.report-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--report-paper); font-size: 11px; }
.role-filters { display: flex; gap: 5px; padding-bottom: 13px; overflow-x: auto; }
.role-filter { flex: 0 0 auto; padding: 5px 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 99px; background: transparent; color: #747d7f; font-size: 9px; }
.role-filter.active { border-color: rgba(234,191,98,.35); background: rgba(234,191,98,.1); color: var(--report-accent); }
.player-report-list { max-height: calc(100vh - 300px); overflow-y: auto; padding-right: 4px; scrollbar-width: thin; scrollbar-color: #394143 transparent; }
.player-report-card { width: 100%; display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; gap: 10px; align-items: center; margin: 3px 0; padding: 10px 8px; border: 1px solid transparent; border-radius: 8px; background: transparent; text-align: left; }
.player-report-card:hover { background: rgba(255,255,255,.035); }
.player-report-card.active { border-color: rgba(67,218,199,.24); background: rgba(67,218,199,.075); }
.player-report-card > i { color: #5f6769; font: 500 11px Georgia, serif; font-style: normal; }
.player-report-card.active > i { color: var(--report-cyan); }
.player-report-card b, .player-report-card small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-report-card b { color: #d7d3c8; font-size: 11px; }
.player-report-card small { margin-top: 2px; color: #666f71; font-size: 8px; }
.player-report-card em { padding: 4px 6px; border-radius: 4px; background: rgba(255,255,255,.045); color: #828a8b; font-size: 8px; font-style: normal; }
.player-report-card.active em { color: var(--report-cyan); }
.rail-loading, .rail-empty { padding: 45px 10px; color: #667071; font-size: 10px; text-align: center; }
.report-stage { min-width: 0; min-height: 720px; }
.report-loading { min-height: 620px; display: grid; place-content: center; justify-items: center; border: 1px dashed rgba(255,255,255,.1); border-radius: 14px; color: #757d7e; }
.report-loading .loading-mark { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 18px; border: 1px solid rgba(234,191,98,.35); border-radius: 50%; color: var(--report-accent); font: 500 25px Georgia, serif; animation: reportPulse 1.6s ease-in-out infinite; }
.report-loading strong { color: #b9b6ad; font: 500 17px Georgia, "Songti SC", serif; }
.report-loading small { margin-top: 6px; color: #626a6b; font-size: 9px; }
.report-view { animation: reportReveal .45s ease both; }
.report-masthead { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; padding: 30px 34px; border: 1px solid rgba(234,191,98,.2); border-radius: 13px 13px 0 0; background: linear-gradient(125deg, rgba(42,39,31,.78), rgba(20,25,27,.96) 58%, rgba(28,49,47,.64)); }
.report-number { color: var(--report-accent); font-size: 8px; letter-spacing: .2em; }
.report-identity h2 { margin: 8px 0 10px; color: var(--report-paper); font: 700 clamp(30px, 4vw, 53px)/1 Georgia, "Songti SC", serif; letter-spacing: -.05em; }
.report-identity p { max-width: 720px; margin: 0; color: #9a9d98; font-size: 11px; line-height: 1.75; }
.report-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.report-tags span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.09); border-radius: 99px; color: #858c8b; font-size: 8px; }
.report-tags span:first-child { border-color: rgba(67,218,199,.25); color: var(--report-cyan); }
.report-actions { display: grid; flex: 0 0 auto; gap: 7px; min-width: 138px; }
.report-actions a { padding: 8px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; color: #949b99; font-size: 9px; text-align: center; text-decoration: none; }
.report-actions a:first-child { border-color: rgba(234,191,98,.32); color: var(--report-accent); }
.report-actions a:hover { color: var(--report-paper); background: rgba(255,255,255,.04); }
.report-scoreboard { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid rgba(255,255,255,.08); border-top: 0; background: rgba(255,255,255,.07); }
.report-scoreboard article { min-width: 0; padding: 15px 17px; background: #111518; }
.report-scoreboard span, .report-scoreboard b, .report-scoreboard small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-scoreboard span { color: #626b6c; font-size: 7px; letter-spacing: .12em; }
.report-scoreboard b { margin: 5px 0 2px; color: #d8d4c9; font: 600 18px Georgia, serif; }
.report-scoreboard small { color: #687072; font-size: 8px; }
.report-reading-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 26px; padding-top: 25px; }
.report-toc-wrap { position: sticky; top: 98px; align-self: start; max-height: calc(100vh - 122px); overflow-y: auto; padding: 14px 0 14px 12px; border-left: 1px solid rgba(234,191,98,.2); }
.report-toc { display: grid; gap: 2px; margin-top: 11px; }
.report-toc a { padding: 5px 8px; border-radius: 4px; color: #697173; font-size: 9px; line-height: 1.45; text-decoration: none; }
.report-toc a:hover, .report-toc a.active { color: var(--report-accent); background: rgba(234,191,98,.065); }
.markdown-report { min-width: 0; padding: 35px clamp(24px, 5vw, 72px) 70px; border: 1px solid rgba(255,255,255,.08); border-radius: 0 0 13px 13px; background: #14191c; box-shadow: 0 30px 80px rgba(0,0,0,.16); }
.markdown-report > h1:first-child { display: none; }
.markdown-report h1, .markdown-report h2, .markdown-report h3 { scroll-margin-top: 95px; color: var(--report-paper); font-family: Georgia, "Songti SC", serif; }
.markdown-report h1 { margin: 0 0 24px; font-size: 38px; }
.markdown-report h2 { position: relative; margin: 58px 0 20px; padding: 0 0 13px 23px; border-bottom: 1px solid rgba(234,191,98,.18); font-size: 25px; letter-spacing: -.03em; }
.markdown-report h2::before { content: ''; position: absolute; left: 0; top: .22em; width: 7px; height: 7px; border: 1px solid var(--report-accent); transform: rotate(45deg); }
.markdown-report h3 { margin: 32px 0 13px; color: #d7d1c1; font-size: 17px; }
.markdown-report p { margin: 12px 0; color: #aeb3b0; font: 14px/2 Georgia, "Songti SC", serif; text-align: justify; }
.markdown-report strong { color: #e5dfcf; font-weight: 700; }
.markdown-report code { padding: 2px 5px; border-radius: 4px; background: rgba(67,218,199,.08); color: #80dfd2; font: 11px/1.5 Consolas, monospace; }
.markdown-report blockquote { margin: 20px 0 28px; padding: 17px 20px; border: 1px solid rgba(234,191,98,.18); border-left: 3px solid var(--report-accent); background: rgba(234,191,98,.035); }
.markdown-report blockquote p { margin: 3px 0; color: #979c98; font-size: 12px; line-height: 1.8; }
.markdown-report ul, .markdown-report ol { margin: 14px 0; padding-left: 25px; color: #aeb3b0; font: 13px/1.9 Georgia, "Songti SC", serif; }
.markdown-report li { margin: 5px 0; padding-left: 4px; }
.markdown-report li::marker { color: var(--report-accent); }
.markdown-report a { color: var(--report-cyan); text-decoration-color: rgba(67,218,199,.35); text-underline-offset: 3px; }
.markdown-report a:hover { color: #8ff0e3; }
.markdown-report hr { margin: 50px 0; border: 0; border-top: 1px solid rgba(234,191,98,.2); }
.markdown-report .table-wrap { margin: 20px 0 28px; overflow-x: auto; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; }
.markdown-report table { width: 100%; min-width: 650px; border-collapse: collapse; }
.markdown-report th, .markdown-report td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.065); text-align: left; white-space: nowrap; font-size: 10px; }
.markdown-report th { color: var(--report-accent); background: rgba(234,191,98,.06); font-weight: 600; }
.markdown-report td { color: #9ea4a2; }
.markdown-report tbody tr:last-child td { border-bottom: 0; }
.markdown-report tbody tr:hover td { background: rgba(255,255,255,.018); }
.report-error { padding: 70px 25px; border: 1px solid rgba(255,117,107,.25); border-radius: 12px; color: var(--coral); text-align: center; }
.hidden { display: none !important; }
@keyframes reportPulse { 50% { box-shadow: 0 0 0 13px rgba(234,191,98,.04); transform: scale(1.04); } }
@keyframes reportReveal { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }

@media (max-width: 1180px) {
  .reports-shell { width: calc(100% - 38px); }
  .report-explorer { grid-template-columns: 270px minmax(0, 1fr); gap: 16px; }
  .report-reading-grid { grid-template-columns: 1fr; }
  .report-toc-wrap { position: static; max-height: none; padding: 12px; overflow-x: auto; border: 1px solid rgba(234,191,98,.15); border-radius: 8px; }
  .report-toc { display: flex; min-width: max-content; }
  .report-toc a { max-width: 180px; }
  .report-scoreboard { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 800px) {
  .reports-topbar { height: auto; min-height: 68px; padding: 12px 16px; }
  .reports-nav { gap: 0; }
  .reports-nav a { padding: 7px; font-size: 9px; }
  .reports-nav a:last-child { display: none; }
  .reports-shell { width: calc(100vw - 26px); max-width: calc(100vw - 26px); padding-top: 30px; }
  .reports-hero { width: 100%; max-width: 100%; min-height: 0; overflow: hidden; padding: 25px 2px 35px; }
  .hero-copy { width: 100%; max-width: 100%; }
  .hero-copy h1 { width: 100%; max-width: 100%; font-size: clamp(38px, 10vw, 48px); line-height: 1.04; word-break: break-all; }
  .hero-copy p { width: 100%; max-width: 100%; overflow-wrap: anywhere; word-break: break-all; }
  .hero-stamp { display: none; }
  .archive-summary { grid-template-columns: 1fr 1fr; margin-inline: 0; }
  .archive-summary article { padding: 16px; }
  .report-explorer { grid-template-columns: 1fr; }
  .report-rail { position: static; max-height: none; }
  .player-report-list { display: grid; grid-template-columns: 1fr 1fr; max-height: 350px; }
  .report-masthead { align-items: flex-start; flex-direction: column; padding: 25px 20px; }
  .report-actions { width: 100%; grid-template-columns: 1fr 1fr 1fr; }
  .report-scoreboard { grid-template-columns: repeat(2, 1fr); }
  .markdown-report { padding: 22px 18px 50px; }
  .markdown-report h2 { margin-top: 44px; font-size: 22px; }
  .markdown-report p { font-size: 13px; line-height: 1.9; }
}
@media (max-width: 520px) {
  .reports-brand small { display: none; }
  .reports-brand strong { font-size: 10px; }
  .reports-nav a { font-size: 8px; }
  .reports-nav a.active { display: none; }
  .hero-copy h1 { font-size: 38px; }
  .archive-summary { grid-template-columns: 1fr 1fr; }
  .archive-summary article { overflow: hidden; }
  .archive-summary b { font-size: 16px; white-space: normal; overflow-wrap: anywhere; }
  .player-report-list { grid-template-columns: 1fr; }
  .report-actions { grid-template-columns: 1fr; }
  .report-scoreboard { grid-template-columns: 1fr 1fr; }
}
