/* The Boring Chart: a contemporary financial editor. */
:root{
  --bg:#ecebe6;--surface:#faf9f5;--ink:#242526;--muted:#676861;
  --line:#cdcdc5;--green:#353c85;--green2:#818ab8;--blue:#838680;
  --amber:#bd643e;--red:#b74040;--accent:#bd643e;
  --shadow:5px 5px 0 rgba(36,37,38,.07);
  --font-body:"Inter",Arial,sans-serif;
  --font-editor:"IBM Plex Mono","Courier New",monospace;
}
body{font-family:var(--font-body);background-image:radial-gradient(rgba(36,37,38,.075) .5px,transparent .5px);background-size:6px 6px}
body.dark{--bg:#1e2023;--surface:#27292d;--ink:#eeeae1;--muted:#aaa9a1;--line:#45474a;--green:#b0b8ed;--green2:#818cc6;--blue:#a2a49f;--amber:#dc916a;--red:#ef8282;--accent:#dc916a;--shadow:5px 5px 0 rgba(0,0,0,.22);color-scheme:dark}
::selection{background:var(--ink);color:var(--surface)}
button,input,select{font-family:var(--font-editor)}
button,a,select{transition:color .15s,background-color .15s,border-color .15s}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.atlas-coverage{display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.atlas-coverage>div{display:grid;gap:6px;min-width:120px}.atlas-coverage strong{font:500 25px var(--font-editor)}.atlas-coverage span,.atlas-coverage p{font:400 10px/1.8 var(--font-editor);color:var(--muted)}.atlas-coverage p{max-width:430px;margin-left:auto}
#atlasChapters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}#atlasChapters button,.atlas-tools button,#relatedReportTopics button{background:var(--surface);color:var(--ink);border:1px solid var(--line);font:400 11px var(--font-editor);padding:11px 14px;cursor:pointer}#atlasChapters button[aria-pressed=true]{background:var(--ink);color:var(--surface)}#atlasChapters button:disabled{opacity:.45;cursor:default}.atlas-tools{display:flex;align-items:end;gap:18px;justify-content:space-between}.atlas-tools label{display:grid;gap:8px;width:min(100%,480px);font:400 10px var(--font-editor)}.atlas-tools input{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:400 12px var(--font-editor);padding:13px}#atlasChapterIntro{font:400 12px/1.9 var(--font-editor);color:var(--muted);max-width:850px}
#atlasTopics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.atlas-topic{min-width:0;text-align:left;position:relative;background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:18px;cursor:pointer;transition:border-color .2s}.atlas-topic[aria-pressed=true]{border:2px solid var(--accent);padding:17px}.atlas-topic:hover{border-color:var(--accent)}.atlas-topic-type{font:500 9px var(--font-editor);text-transform:uppercase;letter-spacing:.8px;color:var(--accent)}.atlas-topic h4{font:500 14px/1.6 var(--font-editor);margin:12px 0;overflow-wrap:anywhere}.atlas-topic svg{display:block;width:100%;height:55px;margin:8px 0}.atlas-topic small,.atlas-topic p{font:400 10px/1.8 var(--font-editor);color:var(--muted)}
#tableControls summary{cursor:pointer;padding:12px 0;font:400 11px var(--font-editor)}#tableControls label{display:inline-grid;gap:8px;margin:12px 14px 12px 0;max-width:100%;font:400 10px var(--font-editor)}#tableControls select{max-width:100%;padding:10px}#atlasSourceStatus{display:grid;gap:4px;max-height:320px;overflow:auto}#atlasSourceStatus button{background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);padding:10px;font:400 10px/1.8 var(--font-editor);cursor:pointer}#atlasSourceStatus button:hover{color:var(--accent)}
#visualReportProgress{height:4px;background:var(--line);overflow:hidden;margin:20px 0}#visualReportProgress span{display:block;width:30%;height:100%;background:var(--accent);animation:report-reading 1.8s ease-in-out infinite}@keyframes report-reading{from{transform:translateX(-100%)}to{transform:translateX(430%)}}@media(prefers-reduced-motion:reduce){#visualReportProgress span{animation:none;width:100%;opacity:.6}}
#visualDisclosure{padding:24px}#visualDisclosure>p{font:400 11px/1.8 var(--font-editor);color:var(--muted)}.disclosure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.disclosure-item{position:relative;overflow:hidden;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:18px;cursor:pointer}.disclosure-item span{display:block;font:400 11px/1.8 var(--font-editor);margin-bottom:10px}.disclosure-item strong{font:500 17px var(--font-editor)}.disclosure-item i{display:block;height:3px;background:var(--accent);opacity:.4;width:var(--bar-width);margin-top:15px}#relatedReportTopics{display:grid;gap:7px;margin:20px 0}#relatedReportTopics h3{font:500 12px var(--font-editor)}#relatedReportTopics button{text-align:left}
#visualDisclosure[hidden],#reportAtlas[hidden],#visualReportProgress[hidden]{display:none}
#atlasDiagramBar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--line)}#atlasDiagramBar[hidden]{display:none}#atlasDiagramBar button{background:var(--surface);border:1px solid var(--line);padding:9px 12px;color:var(--ink);font:400 10px var(--font-editor);cursor:pointer}#atlasDiagramBar button:disabled{opacity:.4;cursor:default}#atlasDiagramBar span{margin-right:auto;font:400 10px var(--font-editor);color:var(--muted)}#tableControls{display:block}#tableControls[hidden]{display:none}#atlasTopics{max-height:380px;overflow:auto;padding:2px}.atlas-topic svg{pointer-events:none}
@media(max-width:850px){#atlasTopics{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-coverage p{max-width:none;margin:0}.atlas-tools{align-items:stretch;flex-direction:column}}@media(max-width:520px){#atlasTopics,.disclosure-grid{grid-template-columns:1fr}#atlasChapters button{flex:1 1 40%;font-size:10px}.atlas-coverage{gap:18px}.atlas-coverage>div{min-width:80px}.atlas-coverage strong{font-size:22px}}
.topbar{height:88px;padding-inline:6vw;border-bottom:1px solid var(--ink);background:color-mix(in srgb,var(--bg) 94%,transparent)}
.brand{font:600 19px var(--font-editor);letter-spacing:-1px;gap:14px}
.brand-mark{border-radius:0;width:39px;height:39px;background:var(--ink);color:var(--surface);font:500 23px var(--font-editor)}
.brand-caption{display:block;font:400 8px var(--font-editor);letter-spacing:1.1px;margin-top:6px;color:var(--muted)}
.topbar nav{gap:30px}.topbar nav a{font:400 11px var(--font-editor);text-transform:uppercase;letter-spacing:1px}.topbar nav a.active::before{content:"[ ";color:var(--accent)}.topbar nav a.active::after{content:" ]";color:var(--accent)}
.icon-button{border:1px solid var(--line);width:34px;height:34px;font-size:20px;background:var(--surface)}
.hero{max-width:1250px;margin:auto;padding:86px 24px 80px}
.eyebrow{font:500 10px var(--font-editor);letter-spacing:1.7px;color:var(--accent)}
.eyebrow>span{width:7px;height:7px;margin-right:9px;background:var(--accent)}
.hero h1{font:800 clamp(46px,6.5vw,84px)/1.06 var(--font-body);letter-spacing:-.065em;margin:30px 0 26px}
.hero h1 em{font:400 clamp(28px,4.2vw,53px)/1.45 var(--font-editor);font-style:normal;color:var(--ink);letter-spacing:-.07em;box-decoration-break:clone;border-bottom:2px solid var(--accent)}
.lead{font-size:15px;line-height:1.75;max-width:480px;margin-bottom:28px}
.editor-note{display:flex;justify-content:center;gap:24px;font:400 9px var(--font-editor);letter-spacing:1px;color:var(--muted);margin-bottom:42px}
.editor-note span+span::before{content:"/";margin-right:24px;color:var(--line)}
.search-wrap{max-width:650px}.search-wrap>label{font:500 10px var(--font-editor);text-transform:uppercase;letter-spacing:1px}
.search-box{height:64px;border:1px solid var(--ink);box-shadow:var(--shadow);gap:10px}
.search-box input{min-width:0;font:400 13px var(--font-editor);margin:0;padding:12px 0}
.search-box:focus-within{outline-color:var(--accent)}.search-box kbd{font:400 10px var(--font-editor)}
.search-box #marketSelect{max-width:145px;font:400 10px var(--font-editor)}
.suggestions{border-color:var(--ink)}.suggestions button{gap:14px;font-size:11px;line-height:1.6;padding:15px 18px}.suggestions button>span:last-child{color:var(--muted);text-align:right}.suggestions button:hover{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.workspace{max-width:1400px;border-top:0;padding-top:48px}
body.detail-mode .workspace{min-height:calc(100vh - 88px);padding-top:38px}
.back-to-search{font:400 10px var(--font-editor);text-transform:uppercase;letter-spacing:.7px;margin-bottom:38px}
.company-identity h2{font:700 clamp(22px,3vw,34px) var(--font-body);letter-spacing:-1.3px}
.logo{border-radius:0;background:var(--ink);color:var(--surface);font:500 22px var(--font-editor)}
.ticker{font:400 10px var(--font-editor);letter-spacing:1px}.ticker span{color:var(--accent)}
.meta-row,.chart-footer,.legend,#shareClassControl{font:400 11px var(--font-editor)}
.period-switch select{font:400 11px var(--font-editor);max-width:360px;border-color:var(--ink);box-shadow:3px 3px 0 rgba(36,37,38,.05)}
.report-sections{gap:0;border:1px solid var(--ink);margin-top:30px;background:var(--surface)}
.report-sections button{font:400 11px var(--font-editor);padding:14px 20px;border-bottom:0;border-right:1px solid var(--line)}
.report-sections button.selected{background:var(--ink);color:var(--surface)}
.chart-card{border:1px solid var(--ink);box-shadow:var(--shadow)}
.chart-title{padding:18px 22px;background:color-mix(in srgb,var(--line) 16%,var(--surface))}
.chart-title strong{font:500 12px var(--font-editor)}.chart-title small{font:400 10px var(--font-editor)}
.status-dot{border-radius:0;background:var(--accent)}.legend i{border-radius:0}.chart-scroll{background-image:linear-gradient(var(--surface),var(--surface));padding-block:24px}
#sankey text{font-family:var(--font-editor)!important;font-weight:400}
.chart-footer{padding:15px 22px;line-height:1.6}.chart-footer a{text-decoration-color:var(--accent);text-underline-offset:3px}
.stats{border:1px solid var(--ink);margin-top:28px;background:var(--surface)}.stat{padding:24px}.stat+.stat{padding-left:24px}
.stat label{font:400 10px var(--font-editor);letter-spacing:.8px}.stat strong{font:500 31px var(--font-editor);letter-spacing:-1.5px}.stat small{font:400 10px var(--font-editor)}
.advanced-metrics{border-top-color:var(--ink);margin-top:48px}.advanced-metrics-head h3{font:700 26px var(--font-body);letter-spacing:-1px}.advanced-metrics-head p{font-size:12px}
.metric-grid{gap:0;border:1px solid var(--line)}.metric-card{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-top:0;min-height:144px}.metric-card label{font:400 9px var(--font-editor)}.metric-card strong{font:500 28px var(--font-editor);letter-spacing:-1px}.metric-card small{font:400 10px var(--font-editor);line-height:1.5}
.how{border-top:1px solid var(--ink);padding-block:65px;max-width:1400px;gap:70px}.how h2{font:700 38px/1.15 var(--font-body);letter-spacing:-1.5px}.section-number{font:400 11px var(--font-editor);color:var(--accent)}.steps b{font:400 12px var(--font-editor);color:var(--accent)}.steps b::before{content:"[0"}.steps b::after{content:"]"}.steps h3{font:500 12px var(--font-editor);margin-top:30px}.steps p{font-size:12px;line-height:1.8}
dialog{border:1px solid var(--ink);box-shadow:8px 8px 0 rgba(0,0,0,.15)}.modal-head h2{font:700 30px var(--font-body)}.form-grid label,.edit-row label{font:400 10px var(--font-editor)}.modal-actions .primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.tooltip{font-family:var(--font-editor)}
.app-loader-card{border-color:var(--ink);box-shadow:var(--shadow)}.loader-copy strong{font:500 14px var(--font-editor)}.loader-copy small{font:400 11px var(--font-editor);line-height:1.6}.loader-track{height:4px}.loader-track span{background:var(--accent)}.loader-spinner{border-top-color:var(--accent)}.app-loader.finishing .loader-track span{background:var(--green)}
@media(max-width:760px){.topbar{height:76px;padding-inline:20px}.brand{font-size:15px}.brand-caption{font-size:7px;letter-spacing:.6px}.brand-mark{width:33px;height:33px;font-size:19px}.hero{padding:60px 20px}.hero h1{font-size:clamp(38px,8.5vw,64px)}.hero h1 em{font-size:clamp(23px,5.2vw,39px)}.editor-note{gap:12px;font-size:8px}.editor-note span+span::before{margin-right:12px}.company-head{align-items:start;gap:22px;flex-wrap:wrap}.period-switch{width:100%;border:0}.period-switch select{max-width:100%;width:100%;margin:0}.report-sections button{padding:13px 15px;font-size:10px}.stat+.stat{padding-left:24px}.chart-footer{flex-wrap:wrap}.metric-card{min-height:130px}.how{padding:45px 24px;gap:25px}.steps{gap:25px}.steps h3{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Report explorer: paper notes, comparable periods and traceable figures. */
.report-table-panel{border:1px solid var(--line);padding:22px;background:var(--surface);margin-bottom:20px}.report-table-panel[hidden],.table-original[hidden],#tableControls[hidden]{display:none}.report-table-panel button{border:1px solid var(--ink);background:var(--ink);color:var(--surface);padding:10px 15px;font:400 11px var(--font-editor)}.report-table-panel p,.report-table-panel small{font:400 11px/1.8 var(--font-editor);color:var(--muted)}#tableControls{display:flex;flex-wrap:wrap;gap:18px}#tableControls label{display:grid;gap:7px;font:400 10px var(--font-editor);min-width:180px;max-width:100%}#tableControls select{font:400 11px var(--font-editor);padding:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink);max-width:600px;width:100%}.table-original{border:1px solid var(--line);background:var(--surface);padding:18px;margin:24px 0}.table-original summary{font:500 12px var(--font-editor);cursor:pointer}#originalTable{overflow:auto;max-height:650px;margin-top:18px}#originalTable table{border-collapse:collapse;min-width:100%;font:400 11px/1.7 var(--font-editor)}#originalTable th,#originalTable td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}#originalTable th:first-child{text-align:left;max-width:400px;white-space:normal}#originalTable thead{position:sticky;top:0;background:var(--surface)}
.clear-history{margin-left:auto;border:0;border-bottom:1px dotted var(--muted);background:transparent;color:var(--muted);font:400 10px var(--font-editor);padding:5px 0;cursor:pointer}.clear-history:hover{color:var(--accent)}
.company-intro{border-left:2px solid var(--accent);padding:16px 20px;margin:24px 0 12px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.company-intro .summary-head h3{font-size:12px}.company-intro a{color:var(--accent);font:400 10px var(--font-editor)}#introDescription{font:400 12px/1.9 var(--font-editor);max-width:850px;color:var(--muted);margin:15px 0}#introFacts{display:flex;flex-wrap:wrap;gap:16px 30px;margin:0;font:400 10px/1.7 var(--font-editor)}#introFacts dt{color:var(--muted)}#introFacts dd{margin:3px 0;color:var(--ink)}
.saved-companies{margin-top:16px;text-align:left}.saved-group{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px}.saved-label{font:400 9px var(--font-editor);color:var(--muted);min-width:115px}.saved-chip,.favorite-button{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:7px 11px;font:400 10px var(--font-editor);cursor:pointer}.saved-chip:hover,.favorite-button:hover{border-color:var(--accent)}.favorite-button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.suggestions button.keyboard-selected{background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:inset 3px 0 var(--accent)}
.suggestions{max-height:360px;overflow-y:auto}
.period-details{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:400 10px/1.7 var(--font-editor);color:var(--muted);margin:16px 0 24px}.period-tag{border:1px solid var(--line);padding:3px 7px;color:var(--ink)}.period-details strong{font-weight:500;color:var(--accent);flex-basis:100%}
.report-summary,.source-details{background:var(--surface);border:1px solid var(--line);padding:22px;margin:24px 0}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.summary-head h3{font:600 15px var(--font-editor);margin:0}.summary-head>span,#comparisonStatus{font:400 10px/1.7 var(--font-editor);color:var(--muted)}
.comparison-switch{display:flex;border:1px solid var(--line)}.comparison-switch button{background:transparent;border:0;color:var(--ink);padding:9px 12px;font:400 10px var(--font-editor);cursor:pointer}.comparison-switch button.selected{background:var(--ink);color:var(--surface)}.comparison-switch button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}
.changes-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.change-card{border-left:2px solid var(--accent);padding:8px 14px}.change-card span{font:400 10px var(--font-editor);color:var(--muted)}.change-card strong{display:block;font:500 25px var(--font-editor);margin:12px 0}.change-card p,.current-observation{font:400 11px/1.8 var(--font-editor);color:var(--muted);margin:0}.current-observation{padding-top:8px}
.summary-note{font:400 9px/1.8 var(--font-editor);color:var(--muted);margin:20px 0 0}.chart-title>div:first-child{flex-wrap:wrap}.chart-title small{flex-basis:100%;margin-left:16px;line-height:1.7}.legend[hidden]{display:none}
.source-details{margin-top:28px}.source-details #metricSources{overflow-x:auto}.source-details table{width:100%;border-collapse:collapse;margin-top:18px;text-align:left;font:400 11px/1.7 var(--font-editor)}.source-details th{font-weight:500;color:var(--muted)}.source-details td,.source-details th{padding:10px 12px;border-bottom:1px solid var(--line)}.source-value{border:0;border-bottom:1px dotted var(--accent);color:var(--ink);background:transparent;font:inherit;cursor:pointer;padding:2px 0;white-space:nowrap}.source-value:hover{color:var(--accent)}
#sourceDialog{max-width:580px;width:calc(100% - 40px);background:var(--surface);color:var(--ink);padding:0}#sourceDialog::backdrop{background:rgba(0,0,0,.4)}.source-dialog-content{padding:32px;position:relative}.source-dialog-content>.close{position:absolute;right:18px;top:15px;background:transparent;border:0;color:var(--ink);font-size:26px;cursor:pointer}.source-dialog-content h2{font:600 23px var(--font-body)}#sourceAmount{font:500 28px var(--font-editor)}#sourceFacts{font:400 11px/1.7 var(--font-editor)}#sourceFacts dt{color:var(--muted);margin-top:15px}#sourceFacts dd{margin:3px 0;overflow-wrap:anywhere}.source-dialog-content a{font:500 11px var(--font-editor);color:var(--accent)}
button:focus-visible,.source-dialog-content a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Visual-report cards are paper surfaces, not the primary action button. */
.report-table-panel .atlas-topic{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:18px;text-align:left}
.report-table-panel .atlas-topic[aria-pressed=true]{border:2px solid var(--accent);padding:17px}
.report-table-panel .atlas-topic:hover{border-color:var(--accent)}
.report-table-panel #atlasChapters button,.report-table-panel .atlas-tools button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.report-table-panel #atlasChapters button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.report-table-panel #tableControls{display:block}.report-table-panel #tableControls[hidden]{display:none}
.report-table-panel #atlasSourceStatus button{background:transparent;color:var(--muted);border:0;border-bottom:1px solid var(--line);text-align:left}
.atlas-topic h4{overflow-wrap:anywhere}.atlas-tools input{min-width:0;width:100%;box-sizing:border-box}
#reportSections[hidden]{display:none}.report-extra{margin:14px 0;border-top:1px solid var(--line)}.report-extra>summary{cursor:pointer;font:500 11px var(--font-editor);padding:16px 0;color:var(--muted)}.report-extra[open]>summary{color:var(--ink)}.report-extra .report-summary,.report-extra .source-details{margin:0 0 18px}.report-extra .advanced-metrics{margin-top:0}.report-table-panel .table-original{margin:12px 0}.atlas-topic-scope{display:block;margin-top:9px}
@media(max-width:760px){.changes-content{grid-template-columns:1fr}.report-summary,.source-details{padding:17px}.source-details td,.source-details th{padding:9px 6px;font-size:10px}.saved-label{min-width:100%;margin-bottom:3px}.report-sections{overflow-x:auto;flex-wrap:nowrap}.report-sections button{white-space:nowrap;flex-shrink:0}}
