/* doc.css (v1.9.16): the reference pages, /methodology and /methodology-by-economy.
   Built only from the site's own tokens (style.css :root, light and dark) and components (.panel, .ind-head,
   .ind-lede, .rk-btn, .rk-scroll, .rk-note from style.css and indicator.css). No colours of its own, no inline
   styling in the pages. tools/test_doc_pages.py checks that every var(--token) used here exists in style.css. */

.doc-wrap{max-width:960px; margin:0 auto; padding:26px 24px 72px;}
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* contents panel */
.doc-toc{margin-top:22px;}
.doc-toc h2{margin:0 0 8px;}
.doc-toc ul{list-style:none; margin:0; padding:0; columns:2; column-gap:28px;}
.doc-toc li{break-inside:avoid; margin:0;}
.doc-toc a{display:block; padding:6px 8px; margin:0 -8px; border-radius:7px; color:var(--ink); text-decoration:none; font-size:14.5px; font-weight:600;}
.doc-toc a:hover, .doc-toc a.is-active{background:var(--paper); color:var(--navy);}
.doc-toc a:focus-visible{outline:2px solid var(--navy-2); outline-offset:1px; background:var(--paper);}

/* sections */
.doc-sec{margin-top:18px;}
.doc-sec h2{font-size:19px; font-weight:700; letter-spacing:-.01em; text-transform:none; color:var(--ink); margin:0 0 8px;}
.doc-sec[id]{scroll-margin-top:84px;}
.doc-sec p, .doc-sec li{font-size:15px; line-height:1.65; color:var(--ink); max-width:68ch;}
.doc-sec p + p, .doc-sec p + ul, .doc-sec ul + p{margin-top:10px;}
.doc-sec ul{padding-left:1.15em;}
.doc-sec li{margin:6px 0;}
.doc-sec a:not(.btn){color:var(--navy-2); text-decoration:underline; text-underline-offset:2px;}
.doc-sec a:not(.btn):hover{color:var(--navy);}
[data-theme="dark"] .doc-sec a:not(.btn){color:var(--blue);}
[data-theme="dark"] .doc-sec a:not(.btn):hover{color:var(--ink);}
.doc-sub{font-size:15px; font-weight:700; color:var(--ink); margin:18px 0 4px;}
.doc-anchor{margin-left:8px; color:var(--ink2); font-weight:600; text-decoration:none; opacity:0; transition:opacity .15s ease;}
.doc-sec h2:hover .doc-anchor, .doc-anchor:focus-visible{opacity:1;}

/* one economy / one limitation, as an accordion */
.doc-detail{border-top:1px solid var(--hair);}
.doc-detail:first-of-type{margin-top:8px;}
.doc-detail summary{cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 2px; font-size:15px; font-weight:700; color:var(--ink);}
.doc-detail summary::-webkit-details-marker{display:none;}
.doc-detail summary::after{content:"+"; font-size:18px; font-weight:600; color:var(--ink2);}
.doc-detail[open] summary::after{content:"\2212";}
.doc-detail summary:focus-visible{outline:2px solid var(--navy-2); outline-offset:1px; border-radius:6px;}
.doc-detail[open]{padding-bottom:8px;}
.doc-detail p{padding:0 2px;}

/* tables (the by-economy page) */
.doc-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.doc-table th, .doc-table td{padding:9px 10px; border-bottom:1px solid var(--hair); text-align:left; vertical-align:top;}
.doc-table thead th{font-size:11.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--ink2); border-bottom:2px solid var(--hair); white-space:nowrap;}
.doc-table tbody th[scope=row]{font-weight:700; white-space:nowrap;}
.doc-table tbody th[scope=row] a{color:var(--ink); text-decoration:none;}
.doc-table tbody th[scope=row] a:hover{color:var(--navy); text-decoration:underline;}
.doc-table tbody tr:hover td, .doc-table tbody tr:hover th[scope=row]{background:var(--paper);}
.doc-table td{overflow-wrap:anywhere;}
.doc-table tr.mb-theme th{padding:16px 10px 6px; font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink2); border-bottom:0; background:transparent;}
.mb-gap td:nth-child(2){text-align:right; width:1%; font-variant-numeric:tabular-nums;}
.mb-meta{font-size:13px; color:var(--ink2);}
.mb-gaps{margin:10px 0 0; font-size:14px; line-height:1.55; color:var(--ink);}
.mb-notes{margin:8px 0 0; padding-left:1.15em;}
.mb-notes li{font-size:14px; line-height:1.6; margin:5px 0; color:var(--ink);}

/* buttons that stand in for in-text links */
.doc-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.doc-sec .doc-actions{margin-top:14px;}

/* find an economy */
.doc-tools{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:14px 0 12px;}
.doc-searchbox{position:relative; flex:1 1 320px; max-width:440px;}
.doc-search{width:100%; box-sizing:border-box; padding:11px 40px 11px 42px; border-radius:11px; border:1px solid var(--hair); background:var(--panel); color:var(--ink); font:600 14.5px "Avenir Next","Avenir","Nunito Sans",sans-serif; -webkit-appearance:none; appearance:none; transition:border-color .15s ease;}
.doc-search::placeholder{color:var(--ink2); font-weight:500; opacity:1;}
.doc-search::-webkit-search-cancel-button, .doc-search::-webkit-search-decoration{-webkit-appearance:none; display:none;}
.doc-search:hover{border-color:var(--ink2);}
.doc-search:focus{outline:none; border-color:var(--blue);}
.doc-search:focus-visible{outline:2px solid var(--navy-2); outline-offset:1px; border-color:var(--blue);}
.doc-search-icon{position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--ink2); pointer-events:none;}
.doc-searchbox:focus-within .doc-search-icon{color:var(--blue);}
.doc-search-clear{position:absolute; right:8px; top:50%; transform:translateY(-50%); width:26px; height:26px; border:0; border-radius:50%; background:transparent; color:var(--ink2); font-size:19px; line-height:1; cursor:pointer;}
.doc-search-clear:hover{background:var(--paper); color:var(--ink);}
.doc-search-clear:focus-visible{outline:2px solid var(--navy-2); outline-offset:1px;}
.doc-search-clear[hidden]{display:none;}
.doc-count{font-size:13px; color:var(--ink2);}
.doc-chips{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px;}
.doc-chip{padding:6px 14px; font-size:13px; cursor:pointer; font-family:inherit;}
.doc-empty{margin:18px 0; color:var(--ink2); font-size:14.5px;}
.mb-econ[hidden], .doc-empty[hidden]{display:none;}

/* back to top */
.doc-top{position:fixed; right:18px; bottom:18px; z-index:20; width:42px; height:42px; border-radius:50%; border:1px solid var(--hair); background:var(--panel); color:var(--ink); font-size:18px; line-height:1; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.12); opacity:0; pointer-events:none; transition:opacity .2s ease;}
.doc-top.is-on{opacity:1; pointer-events:auto;}
.doc-top:hover{border-color:var(--navy-2); color:var(--navy);}
.doc-top:focus-visible{outline:2px solid var(--navy-2); outline-offset:2px;}

@media (max-width:640px){
  .doc-wrap{padding:20px 16px 56px;}
  .doc-toc ul{columns:1;}
  .doc-table thead{display:none;}
  .doc-table tbody tr{display:block; padding:10px 0; border-bottom:1px solid var(--hair);}
  .doc-table tbody th, .doc-table tbody td{display:block; border:0; padding:2px 0; background:transparent !important;}
  .doc-table tbody th[scope=row]{white-space:normal; font-size:14px;}
  .doc-table td::before{color:var(--ink2); font-weight:600; font-size:12px;}
  .mb-table td:nth-child(2)::before{content:"Series: ";}
  .mb-table td:nth-child(3)::before{content:"Frequency: ";}
  .mb-table td:nth-child(4)::before{content:"Adjustment: ";}
  .mb-gap td:nth-child(2)::before{content:"Economies without it: ";}
  .mb-gap td:nth-child(3)::before{content:"Which: ";}
  .doc-table tr.mb-theme{border-bottom:0; padding:12px 0 0;}
  .mb-gap td:nth-child(2){text-align:left; width:auto;}
  .doc-searchbox{max-width:none; flex-basis:100%;}
  .doc-search{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){ .doc-anchor, .doc-top{transition:none;} }
@media print{ .doc-top, .doc-tools, .doc-chips, .doc-anchor{display:none;} .doc-detail:not([open]) > *:not(summary){display:block;} }
