:root{--bg:#FAFAF8;--bg-card:#fff;--bg-section:#F3F2EE;--text:#1B2332;--text-secondary:#555D6B;--text-muted:#656C78;--border:#E0DED8;--border-light:#EEEDEA;--accent:#c9a227;--accent-hover:#b08e1f;--link:#2B6B8E;--link-hover:#1E4F6A;--thin:#B5521F;--thin-bg:#FDF2EC;--perm:#2B6B8E;--perm-bg:#EBF3F8;--abs:#506D40;--abs-bg:#EFF4EC;--mgmt:#7B3F6B;--mgmt-bg:#F5EDF3;--tier1:#2B6B4F;--tier1-bg:#ECF4EF;--tier2:#7A6B2B;--tier2-bg:#F6F3E8;--tier3:#6B4F2B;--tier3-bg:#F4EFEA;--max-w:1100px;--radius:6px;--radius-sm:4px;--shadow-sm:0 1px 3px rgba(27,35,50,.06);--shadow-md:0 2px 8px rgba(27,35,50,.08);--shadow-lg:0 4px 16px rgba(27,35,50,.1);--font-head:'Source Serif 4',Georgia,serif;--font-body:Outfit,system-ui,sans-serif;--font-mono:'JetBrains Mono',monospace;--font-nav:'Outfit',sans-serif;--font-heading:var(--font-head)}[data-theme="dark"]{--bg:#141618;--bg-card:#1C1F23;--bg-section:#22262B;--text:#E3E4E6;--text-secondary:#B0B4BB;--text-muted:#8B919C;--border:#2E3239;--border-light:#262A2F;--accent:#d4aa30;--accent-hover:#e0b88a;--link:#5BA3C9;--link-hover:#7DB8D8;--thin:#E08040;--thin-bg:#2A2018;--perm:#5BA3C9;--perm-bg:#182028;--abs:#7EA868;--abs-bg:#1A2218;--mgmt:#C080B0;--mgmt-bg:#241A22;--tier1:#5EAA80;--tier1-bg:#162018;--tier2:#C0A84E;--tier2-bg:#221E14;--tier3:#B88A5E;--tier3-bg:#221C16;--shadow-sm:0 1px 3px rgba(0,0,0,.2);--shadow-md:0 2px 8px rgba(0,0,0,.3);--shadow-lg:0 4px 16px rgba(0,0,0,.4)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--text);color:var(--bg);padding:.5rem 1rem;z-index:9999;border-radius:var(--radius-sm);font-size:.875rem;text-decoration:none}.skip-link:focus{top:.5rem}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.site-header{border-bottom:1px solid transparent;padding:1.5rem 0;background:var(--bg);position:sticky;top:0;z-index:100;transition:background .2s,padding .2s,border-color .2s}.site-header.scrolled{padding:1rem 0;border-bottom-color:var(--border)}.header-inner{display:flex;align-items:center;gap:2rem}.site-brand{font-family:var(--font-nav);font-size:1.125rem;font-weight:400;color:var(--text);text-decoration:none;letter-spacing:.02em;margin-right:auto}.site-brand:hover{color:var(--accent)}.header-nav{display:flex;gap:2rem;align-items:center}.header-nav a{font-family:var(--font-nav);font-size:.875rem;font-weight:400;color:var(--text-secondary);text-decoration:none;letter-spacing:.02em;transition:color .2s}.header-nav a:hover{color:var(--text)}.header-nav a.active{color:#c9a227}.header-actions{display:flex;align-items:center;gap:.75rem;z-index:201}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-section);border:1px solid var(--border);border-radius:999px;padding:.35rem .7rem .35rem .55rem;cursor:pointer;font-family:var(--font-nav);font-size:.75rem;font-weight:500;letter-spacing:.03em;line-height:1;color:var(--text-secondary);transition:all .2s;white-space:nowrap}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle .toggle-icon{font-size:.9rem;line-height:1;display:inline-block}.theme-toggle .toggle-label{text-transform:uppercase}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:201}.nav-toggle span{width:24px;height:1.5px;background:var(--text);transition:all .2s}[data-theme="dark"] .site-header{background:rgba(10,10,10,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:transparent}.site-header:has(.header-nav.active){backdrop-filter:none;-webkit-backdrop-filter:none;background:rgb(10,10,10)}[data-theme="dark"] .site-header.scrolled{border-bottom-color:#2a2a2a}[data-theme="dark"] .search-input{border-color:#4A515B;background:#1A1D21;box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}[data-theme="dark"] .search-input:focus{border-color:var(--link);box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 0 0 3px rgba(91,163,201,.2)}[data-theme="dark"] .filter-select{border-color:#4A515B;background-color:#1A1D21;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B0B4BB' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}[data-theme="dark"] .filter-select:focus{border-color:var(--link)}.hero{padding:2.5rem 0 1.75rem;border-bottom:1px solid var(--border)}.page-preheader{font-family:var(--font-head);font-size:.8125rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:block}.hero-description{font-size:.9375rem;color:var(--text-secondary);margin-bottom:.25rem;max-width:48rem}.hero-label{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.hero h1{font-family:var(--font-head);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15;margin-bottom:.375rem;color:var(--text)}.hero-subtitle{font-family:var(--font-head);font-weight:400;font-size:clamp(1.125rem,2.5vw,1.375rem);color:var(--text-secondary);margin-bottom:1rem}.hero-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1rem}.hero-stat{display:flex;align-items:baseline;gap:.375rem}.hero-stat-num{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--text)}.hero-stat-label{font-size:.8125rem;color:var(--text-secondary)}.controls{position:sticky;top:49px;z-index:90;background:var(--bg);padding:1rem 0;border-bottom:1px solid var(--border);transition:background .2s}.search-row{display:flex;gap:.5rem;margin-bottom:.625rem}.search-input{flex:1;font-family:var(--font-body);font-size:1rem;padding:.625rem 1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);outline:none;transition:border-color .15s,background .2s;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}.search-input:focus{border-color:var(--link);box-shadow:0 0 0 3px rgba(43,107,142,.12)}.search-input::placeholder{color:var(--text-muted)}.export-btns{display:flex;gap:.375rem}.btn-export,.btn-share{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.03em;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-export:hover,.btn-share:hover{border-color:var(--text-secondary);color:var(--text)}#export-bibtex{color:var(--perm);border-color:var(--perm)}#export-bibtex:hover{background:transparent;color:var(--accent);border-color:var(--accent)}#export-ris{color:var(--abs);border-color:var(--abs)}#export-ris:hover{background:transparent;color:var(--accent);border-color:var(--accent)}#save-pdf{color:var(--thin);border-color:var(--thin)}#save-pdf:hover{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-share{background:var(--text);color:var(--bg);border-color:var(--text);font-size:.8125rem;font-weight:600;letter-spacing:.04em;padding:.5rem 1rem}.btn-share .x-logo{font-weight:800;font-size:1.05rem;position:relative;top:.0125em;letter-spacing:0}.btn-share:hover{background:var(--bg);color:var(--text);border-color:var(--text)}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-select{font-family:var(--font-body);font-size:.875rem;padding:.4375rem 2rem .4375rem .75rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555D6B' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right .625rem center;-webkit-appearance:none;appearance:none;color:var(--text);cursor:pointer;min-width:140px}.filter-select:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px rgba(43,107,142,.12)}.filter-clear{font-family:var(--font-body);font-size:.875rem;background:none;border:none;color:var(--accent);cursor:pointer;padding:.4375rem .5rem;font-weight:500}.filter-clear:hover{text-decoration:underline}.filter-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-left:auto}.chapter-filter-wrap{display:flex;align-items:center;gap:.25rem}.intro-section{padding:1.5rem 0;border-bottom:1px solid var(--border-light)}.intro-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}.intro-toggle:focus-visible{outline:2px solid var(--link);outline-offset:2px}.intro-summary{font-size:1rem;color:var(--text);line-height:1.6}.intro-summary strong{font-weight:600}.intro-chevron{font-size:.75rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0;margin-left:1rem}.intro-section.open .intro-chevron{transform:rotate(180deg)}.intro-full{display:none;margin-top:1.25rem}.intro-section.open .intro-full{display:block}.intro-text{font-size:1rem;line-height:1.75;color:var(--text);max-width:52rem}.intro-text p{margin-bottom:1rem}.intro-text p:last-child{margin-bottom:0}.intro-text strong{font-weight:600}.intro-text a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.intro-text a:hover{color:var(--link-hover)}.expandable{border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:.5rem;background:var(--bg-card);transition:background .2s}.expandable.lifeline-callout{border-left:3px solid var(--accent)}.expandable-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;background:none;border:none;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left}.expandable-trigger:hover{background:var(--bg-section)}.expandable-trigger:focus-visible{outline:2px solid var(--link);outline-offset:-2px}.expandable-icon{font-size:.75rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0;margin-left:1rem}.expandable.open .expandable-icon{transform:rotate(180deg)}.expandable-content{display:none;padding:0 1rem 1rem;font-size:1rem;line-height:1.75;color:var(--text)}.expandable.open .expandable-content{display:block}.expandable-content p{margin-bottom:.875rem}.expandable-content p:last-child{margin-bottom:0}.expandable-content a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.expandable-content h4{font-family:var(--font-head);font-size:1.0625rem;font-weight:600;margin:1.25rem 0 .5rem}.expandable-content h4:first-child{margin-top:0}.glance-section{padding:1.5rem 0;background:var(--bg-section);border-bottom:1px solid var(--border-light);transition:background .2s}.section-title{font-family:var(--font-head);font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.freq-bars{margin-top:.5rem}.freq-bar-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.freq-bar-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.04em;width:100px;flex-shrink:0}.freq-bar-track{flex:1;height:24px;background:var(--bg);border-radius:3px;overflow:hidden;position:relative}.freq-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.freq-bar-count{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);width:40px;text-align:right;flex-shrink:0}.sector-group{padding:2.5rem 0 0}.sector-group-title{font-family:var(--font-head);font-size:1.0625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem}.sector-group-title::after{content:'';flex:1;height:1px;background:var(--border)}.sector-group-sub{font-family:var(--font-head);font-style:italic;font-size:.9375rem;color:var(--text-muted);margin-bottom:1.25rem}.sector-item{border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:.5rem;background:var(--bg-card);overflow:hidden;transition:background .2s}.sector-item.lifeline{border-left:3px solid var(--accent)}.sector-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}.sector-trigger:hover{background:var(--bg-section)}.sector-trigger:focus-visible{outline:2px solid var(--link);outline-offset:-2px}.sector-name{font-size:1rem;font-weight:600;color:var(--text)}.sector-meta{display:flex;align-items:center;gap:.75rem}.sector-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.sector-srma{font-size:.6875rem;font-weight:600;color:var(--link);background:var(--perm-bg);padding:.1875rem .5rem;border-radius:var(--radius-sm);text-decoration:none;border:1px solid transparent;transition:all .15s}.sector-srma:hover{border-color:var(--link);background:var(--link);color:var(--bg-card)}.sector-chevron{font-size:.75rem;color:var(--text-muted);transition:transform .2s}.sector-item.open .sector-chevron{transform:rotate(180deg)}.sector-item.open .sector-trigger{position:relative;z-index:80;background:var(--bg-card);border-bottom:1px solid var(--border-light);box-shadow:0 2px 4px rgba(0,0,0,.06);transition:background .2s,box-shadow .2s}.sector-item.open.lifeline .sector-trigger{border-left:2px solid var(--accent)}.btn-back-to-top{display:none;position:fixed;bottom:2rem;right:2rem;z-index:95;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(201,162,39,.3);background:rgba(20,22,24,.85);color:var(--accent);font-size:1.125rem;cursor:pointer;box-shadow:var(--shadow-md);transition:all .25s;align-items:center;justify-content:center;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-back-to-top.visible{display:flex}.btn-back-to-top:hover{background:rgba(201,162,39,.15);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-lg)}:root .btn-back-to-top{background:rgba(255,255,255,.9);border-color:rgba(201,162,39,.4);color:#c9a227}:root .btn-back-to-top:hover{background:rgba(201,162,39,.1);border-color:#c9a227;color:#c9a227}[data-theme="dark"] .btn-back-to-top{background:rgba(20,22,24,.85);border-color:rgba(201,162,39,.3);color:#d4aa30}[data-theme="dark"] .btn-back-to-top:hover{background:rgba(201,162,39,.15);border-color:#d4aa30;color:#d4aa30}.sector-body{display:none;padding:0 1rem 1rem}.sector-item.open .sector-body{display:block}.sector-desc{font-size:.9375rem;line-height:1.7;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.citation{padding:1rem 0;border-bottom:1px solid var(--border-light)}.citation:last-child{border-bottom:none}.citation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.375rem}.citation-org{font-size:.9375rem;font-weight:600;color:var(--text)}.citation-year{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.citation-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.citation-title{font-family:var(--font-head);font-style:italic;font-size:.9375rem;color:var(--text-secondary);margin-bottom:.375rem}.citation-claim{font-size:1rem;line-height:1.65;color:var(--text);margin-bottom:.625rem}.citation-meta{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.citation-id{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-secondary);letter-spacing:.02em}.tag{display:inline-block;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.04em;padding:.125rem .5rem;border-radius:2px}.tag-thin{background:var(--thin-bg);color:var(--thin)}.tag-perm{background:var(--perm-bg);color:var(--perm)}.tag-abs{background:var(--abs-bg);color:var(--abs)}.tag-mgmt{background:var(--mgmt-bg);color:var(--mgmt)}.freq-pill{position:relative;z-index:1}.freq-pill-overlap{margin-left:-.25rem;z-index:0}.tag-st{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.04em;padding:.125rem .5rem;border-radius:2px}.tag-tier1{background:var(--tier1-bg);color:var(--tier1)}.tag-tier2{background:var(--tier2-bg);color:var(--tier2)}.tag-tier3{background:var(--tier3-bg);color:var(--tier3)}.citation-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.375rem;align-items:center}.citation-link{font-size:.8125rem;font-weight:500;color:var(--link);text-decoration:none}.citation-link:hover{text-decoration:underline}.citation-link-archive{color:var(--text-muted)}.citation-link-archive:hover{color:var(--link)}.citation-actions{display:flex;gap:.5rem;margin-left:auto}.btn-cite{font-family:var(--font-mono);font-size:.6875rem;padding:.1875rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:all .15s;letter-spacing:.03em}.btn-cite:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.btn-cite[data-format="bibtex"]{color:var(--perm);border-color:var(--perm)}.btn-cite[data-format="bibtex"]:hover{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-cite[data-format="ris"]{color:var(--abs);border-color:var(--abs)}.btn-cite[data-format="ris"]:hover{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-cite[data-format="share"]{color:var(--text);border-color:var(--text);background:var(--text);color:var(--bg);font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.25rem .625rem}.btn-cite[data-format="share"]:hover{background:var(--bg);color:var(--text);border-color:var(--text)}.site-footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:3rem;background:var(--bg-card);transition:background .2s}.footer-inner{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.footer-col h4{font-family:var(--font-nav);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;color:var(--accent)}.footer-col p,.footer-col a{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.footer-col a{text-decoration:none}.footer-col a:hover{color:var(--link);text-decoration:underline}.footer-links{list-style:none}.footer-links li{margin-bottom:.25rem}.footer-bottom{width:100%;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--border-light);font-size:.75rem;color:var(--text-muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--text);color:var(--bg);font-size:.875rem;padding:.625rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000;transform:translateY(100px);opacity:0;transition:all .3s}.toast.show{transform:translateY(0);opacity:1}.no-results{padding:3rem 1rem;text-align:center;color:var(--text-muted);font-size:1rem}.no-results-icon{font-size:2rem;margin-bottom:.5rem}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;justify-content:center;align-items:center;padding:1rem}.modal-overlay.open{display:flex}.modal-box{background:var(--bg-card);border-radius:var(--radius);max-width:640px;width:100%;max-height:80vh;overflow-y:auto;padding:2rem;position:relative;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted);padding:.25rem}.modal-close:hover{color:var(--text)}.modal-box h2{font-family:var(--font-head);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.modal-box p{font-size:.9375rem;line-height:1.7;margin-bottom:.875rem;color:var(--text)}.modal-box ul{font-size:.9375rem;line-height:1.7;margin-bottom:.875rem;padding-left:1.25rem}@media(max-width:768px){html{font-size:16px}.hero{padding:2rem 0 1.5rem}.hero h1{font-size:1.75rem}.hero-stats{gap:1rem}.nav-toggle{display:flex}.header-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(20,22,24,.98);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;z-index:200}.header-nav.active{display:flex}.header-nav a{font-size:1.25rem;color:#E3E4E6}.header-nav a:hover{color:#d4aa30}.nav-toggle.active span{background:#E3E4E6}.nav-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.search-row{flex-direction:column}.export-btns{justify-content:flex-start;flex-wrap:wrap}.filter-row{flex-direction:column;align-items:stretch}.filter-select{min-width:100%}.chapter-filter-wrap{width:100%}.chapter-filter-wrap .filter-select{min-width:0;flex:1}.filter-count{margin-left:0;margin-top:.25rem}.controls{top:0;position:relative}.site-header{position:sticky;top:0}.citation-header{flex-direction:column;gap:.25rem}.citation-meta{gap:.25rem}.footer-inner{flex-direction:column}.footer-bottom{flex-direction:column}.citation-links{flex-wrap:wrap}.wtm-tooltip{position:fixed!important;left:1rem!important;right:1rem!important;bottom:auto!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;z-index:200}.wtm-tooltip::after{display:none!important}.tier1-tooltip{position:fixed!important;left:1rem!important;right:1rem!important;bottom:auto!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;z-index:200}.tier1-tooltip::after{display:none!important}.chapter-filter-wrap .tier1-tooltip{left:1rem!important;right:1rem!important}.sector-item.open .sector-trigger{position:static;box-shadow:none;border-bottom:none}.btn-back-to-top{bottom:1.25rem;right:1.25rem;width:2.5rem;height:2.5rem;font-size:1rem}}@media(max-width:480px){.container{padding:0 1rem}.hero-stats{flex-direction:column;gap:.5rem}.freq-bar-label{width:80px;font-size:.625rem}.theme-toggle .toggle-label{display:none}.theme-toggle{padding:.35rem .5rem}}.print-filter-state{display:none}@media print{.site-header,.controls,.btn-export,.btn-share,.btn-cite,.citation-actions,.toast,.modal-overlay,.skip-link,.sector-chevron,.expandable-icon,.filter-clear,.theme-toggle,.intro-chevron,.collapse-intro-link,.filter-tips,.wtm-toggle-wrap,.tier1-toggle-wrap,.glance-section,.intro-section,.expandable-collapse-link,.btn-back-to-top{display:none!important}body{background:#fff!important;color:#000!important;font-size:10pt;line-height:1.5}.container{max-width:100%;padding:0}.hero{padding:.5rem 0;border-bottom:2px solid #000;page-break-after:avoid}.hero h1{font-size:18pt}.hero-subtitle{font-size:12pt}.hero-stats{gap:1rem}.hero-stat-num{font-size:14pt}.expandable-content{display:block!important}.expandable{border:1px solid #ddd;margin-bottom:.25rem;page-break-inside:avoid}.expandable-trigger{font-size:10pt;padding:.5rem .75rem}.intro-text{font-size:9pt}.sector-group{padding-top:.5rem;page-break-before:auto}.sector-group-title{font-size:11pt}.sector-body{display:block!important}.sector-desc{font-size:9pt;border-bottom:1px solid #ddd;orphans:3;widows:3}.sector-item{border:1px solid #ccc;margin-bottom:.25rem;background:#fff!important}.sector-item.lifeline{border-left:3px solid #c00}.sector-name{font-size:11pt}.sector-item.open .sector-trigger{position:static!important;box-shadow:none!important;border-bottom:none!important}.sector-item:empty,.no-results{display:none!important}.citation{page-break-inside:auto;padding:.375rem 0;border-bottom:1px solid #eee;opacity:1!important;animation:none!important;transform:none!important}.citation-org{font-size:10pt;color:#000!important;page-break-after:avoid}.citation-claim{font-size:9pt;color:#000!important;page-break-before:avoid}.citation-meta{font-size:8pt}.citation-links{font-size:8pt}.citation-title{color:#333!important}.citation-year{color:#666!important}.citation-id{color:#999!important}.tag,.tag-st{font-size:7pt;border:1px solid #ccc;color:#333!important;background:#f5f5f5!important}a{color:#000!important;text-decoration:none!important}.citation-link::after{content:' ('attr(href)')';font-size:7pt;color:#666;word-break:break-all}.citation-link-archive{display:none!important}.wtm-trigger{display:none!important}.wtm-body{display:block!important;font-size:8pt}.wtm{border-top:1px solid #ddd;page-break-before:auto;page-break-inside:auto}.wtm-body p{orphans:3;widows:3}.site-footer{padding:.5rem 0;margin-top:.5rem;border-top:1px solid #000}.footer-col{font-size:8pt}.footer-links{display:none}.footer-col h4{display:none}.print-filter-state{display:block!important;padding:.375rem .5rem;margin-bottom:.25rem;border:1px solid #999;background:#f5f5f5;font-size:9pt;font-weight:600;text-align:center}body:not(.print-filtered) .print-filter-state{display:none!important}body.print-filtered .hero-stats{display:none!important}body.print-filtered .signature-showcase{display:none!important}.print-hide-empty{display:none!important}.content-section[style]{background:transparent!important}.freq-bars{page-break-inside:avoid}}.wtm-toggle-wrap{display:inline-flex;align-items:center;gap:.25rem}.btn-wtm-toggle{font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.4375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem}.btn-wtm-toggle:hover{border-color:var(--text-secondary);color:var(--text)}.btn-wtm-toggle.active{background:var(--tier1-bg);color:var(--tier1);border-color:var(--tier1);font-weight:600}.wtm-toggle-count{font-family:var(--font-mono);font-size:.6875rem;background:var(--bg-section);padding:.0625rem .375rem;border-radius:2px}.btn-wtm-toggle.active .wtm-toggle-count{background:rgba(43,107,79,.15)}.btn-tier1-toggle{font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.4375rem .875rem;border:2px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem;letter-spacing:.01em}.btn-tier1-toggle:hover{background:var(--accent);color:#fff}.btn-tier1-toggle:hover .tier1-toggle-count{background:rgba(255,255,255,.2);color:#fff}.btn-tier1-toggle.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.tier1-toggle-count{font-family:var(--font-mono);font-size:.6875rem;background:var(--bg-section);padding:.0625rem .375rem;border-radius:2px;transition:all .2s}.btn-tier1-toggle.active .tier1-toggle-count{background:rgba(255,255,255,.2);color:#fff}.tier1-toggle-wrap{display:inline-flex;align-items:center;gap:.25rem}.tier1-info-icon{position:relative;font-size:.8125rem;color:var(--text-muted);cursor:help;line-height:1;padding:.125rem}.tier1-info-icon:hover{color:var(--text-secondary)}.tier1-tooltip{display:none;position:absolute;bottom:calc(100%+6px);left:50%;transform:translateX(-50%);width:260px;padding:.5rem .625rem;background:var(--text);color:var(--bg);font-size:.75rem;font-weight:400;line-height:1.5;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:50;text-align:center;pointer-events:none}.tier1-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--text)}.tier1-info-icon:hover .tier1-tooltip,.tier1-info-icon:focus .tier1-tooltip{display:block}.badge-essential{font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--tier1);background:var(--tier1-bg);padding:.125rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.01em;flex-shrink:0}.badge-signature{font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:#8B6914;background:#FDF8E8;padding:.125rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.01em;flex-shrink:0;cursor:help;border:1px solid rgba(139,105,20,.2)}[data-theme="dark"] .badge-signature{color:#D4AA30;background:#2A2414;border-color:rgba(212,170,48,.25)}.signature-showcase{padding:1.75rem 0 1.5rem;border-bottom:1px solid var(--border-light)}.sig-header{margin-bottom:1.25rem}.sig-title{font-family:var(--font-head);font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 .375rem}.sig-intro{font-family:var(--font-body);font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5;font-style:italic}.sig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;overflow:hidden}.sig-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem 1.125rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:0}.sig-card:hover{border-color:var(--border);box-shadow:var(--shadow-md)}.sig-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;min-width:0}.sig-card-org{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sig-card-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.sig-freq-tag{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;padding:.0625rem .375rem;border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase}.sig-card-year{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.sig-card-claim{font-family:var(--font-body);font-size:.8125rem;line-height:1.55;color:var(--text-secondary);margin-bottom:.875rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sig-card-note{font-family:var(--font-head);font-size:.75rem;font-style:italic;color:var(--text-muted);line-height:1.5;border-top:1px solid var(--border-light);padding-top:.625rem}@keyframes citHighlight{0%{box-shadow:0 0 0 3px rgba(139,105,20,.4)}100%{box-shadow:none}}.citation-highlight{animation:citHighlight 2s ease-out}@media(max-width:768px){.sig-grid{grid-template-columns:1fr}}@media print{.signature-showcase{padding:.5rem 0;page-break-inside:avoid}.sig-grid{display:block}.sig-card{border:1px solid #ccc;margin-bottom:.25rem;padding:.5rem}.sig-card-claim{-webkit-line-clamp:unset;overflow:visible}}.wtm-info-icon{position:relative;font-size:.8125rem;color:var(--text-muted);cursor:help;line-height:1;padding:.125rem}.wtm-info-icon:hover{color:var(--text-secondary)}.wtm-tooltip{display:none;position:absolute;bottom:calc(100%+6px);left:50%;transform:translateX(-50%);width:240px;padding:.5rem .625rem;background:var(--text);color:var(--bg);font-size:.75rem;font-weight:400;line-height:1.5;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:50;text-align:center;pointer-events:none}.wtm-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--text)}.wtm-info-icon:hover .wtm-tooltip,.wtm-info-icon:focus .wtm-tooltip{display:block}.wtm{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-light)}.wtm-trigger{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--link);padding:0;transition:color .15s}.wtm-trigger:hover{color:var(--link-hover)}.wtm-arrow{font-size:.75rem;transition:transform .2s}.wtm.open .wtm-arrow{transform:rotate(90deg)}.wtm-body{display:none;margin-top:.375rem;font-size:.875rem;line-height:1.65;color:var(--text-secondary);padding-left:.125rem}.wtm.open .wtm-body{display:block}.wtm.wtm-tier1{border-top-color:var(--tier1);border-top-style:solid}.citation.citation-wtm-tier1{border-left:3px solid var(--tier1);padding-left:.75rem}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sector-item.open .citation{animation:fadeIn .2s ease}.collapse-intro-link{display:block;margin-top:1.25rem;font-size:.875rem;color:var(--link);text-decoration:none;cursor:pointer}.collapse-intro-link:hover{text-decoration:underline;color:var(--link-hover)}.expandable-collapse-link{display:block;margin-top:1rem;font-size:.8125rem;color:var(--text-muted);text-decoration:none;cursor:pointer}.expandable-collapse-link:hover{text-decoration:underline;color:var(--link)}.filter-tips{font-size:.75rem;color:var(--text-muted);margin-top:.375rem;line-height:1.5}.search-input.placeholder-fade-out::placeholder{opacity:0;transition:opacity .3s ease}.search-input.placeholder-fade-in::placeholder{opacity:1;transition:opacity .3s ease}.search-input::placeholder{transition:opacity .3s ease}.btn-awr-map{font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.4375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-awr-map:hover{border-color:var(--text-secondary);color:var(--text)}.awr-map-box{max-width:860px}.awr-map-controls{margin-bottom:1rem}.awr-map-controls .filter-select{min-width:280px}.awr-map-summary{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.awr-map-empty{font-size:.875rem;color:var(--text-muted);font-style:italic;padding:1rem 0}.awr-map-tree{font-family:var(--font-body)}.awr-ch{border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:.5rem;overflow:hidden}.awr-ch-trigger{display:flex;align-items:center;gap:.5rem;width:100%;background:var(--bg-section);border:none;padding:.625rem .75rem;cursor:pointer;font-family:var(--font-head);font-size:.9375rem;font-weight:600;color:var(--text);text-align:left;transition:background .15s}.awr-ch-trigger:hover{background:var(--border-light)}.awr-ch-chevron{font-size:.625rem;transition:transform .15s;flex-shrink:0;width:1rem;text-align:center}.awr-ch.collapsed .awr-ch-chevron{transform:rotate(-90deg)}.awr-ch-title{flex:1}.awr-ch-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);flex-shrink:0}.awr-ch-body{padding:.25rem .5rem .5rem .5rem}.awr-ch.collapsed .awr-ch-body{display:none}.awr-sec{border-left:2px solid var(--border-light);margin:.25rem 0 .25rem .5rem}.awr-sec-trigger{display:flex;align-items:center;gap:.375rem;width:100%;background:none;border:none;padding:.375rem .5rem;cursor:pointer;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary);text-align:left;transition:color .15s}.awr-sec-trigger:hover{color:var(--text)}.awr-sec-chevron{font-size:.5rem;transition:transform .15s;flex-shrink:0;width:.875rem;text-align:center}.awr-sec:not(.collapsed) .awr-sec-chevron{transform:rotate(90deg)}.awr-sec-title{flex:1}.awr-sec-count{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);flex-shrink:0}.awr-sec-body{padding:.125rem 0 .25rem 1.25rem}.awr-sec.collapsed .awr-sec-body{display:none}.awr-cit{display:flex;align-items:baseline;gap:.375rem;padding:.1875rem 0;font-size:.75rem;line-height:1.45;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.awr-cit:last-child{border-bottom:none}.awr-cit-id{font-family:var(--font-mono);font-weight:600;color:var(--text);white-space:nowrap;flex-shrink:0}.awr-cit-sep{color:var(--border);flex-shrink:0}.awr-cit-tag{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.awr-cit-gist{color:var(--text-secondary);min-width:0}@media(max-width:768px){.awr-map-box{max-width:100%}.awr-map-controls .filter-select{min-width:100%}.awr-cit{flex-wrap:wrap}}@media print{.btn-awr-map{display:none!important}}@media(min-width:769px) and (max-width:1024px){.header-nav{gap:1.5rem}}.freq-cta-section{padding:2.5rem 0 2rem}.freq-cta-rule{border:none;border-top:2px solid var(--accent);max-width:4rem;margin:0 0 1.5rem}.freq-cta-prose{font-family:var(--font-head);font-size:1.0625rem;font-style:italic;color:var(--text-secondary);margin-bottom:1.5rem;max-width:42rem}.freq-cta-block{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.freq-cta-link{display:flex;flex-direction:column;padding:1.25rem;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-card);text-decoration:none;transition:border-color .2s,box-shadow .2s}.freq-cta-link:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(201,162,39,.12)}.freq-cta-label{font-family:var(--font-head);font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.375rem}.freq-cta-desc{font-size:.8125rem;line-height:1.55;color:var(--text-secondary);flex:1;margin-bottom:.75rem}.freq-cta-arrow{font-size:1rem;color:var(--accent);font-weight:600;align-self:flex-end}@media(max-width:768px){.freq-cta-block{grid-template-columns:1fr}}@media print{.freq-cta-section{display:none!important}}.badge-analysis{display:inline-block;font-size:0.7rem;padding:0.15em 0.5em;border:1px solid var(--border-light);border-radius:3px;color:var(--text-muted);cursor:pointer;transition:border-color 0.2s ease}.badge-analysis:hover{border-color:var(--accent)}.badge-analysis a:hover{color:var(--accent)}.tag-scale{display:inline-block;font-size:0.65rem;padding:0.1em 0.4em;border-radius:2px;text-transform:uppercase;letter-spacing:0.04em}.tag-scale-infra{color:var(--text-muted);border-left:2px solid var(--text-muted);padding-left:0.4em}.tag-scale-org{color:#5b8fa8;border-left:2px solid #5b8fa8;padding-left:0.4em}.tag-scale-bridge{color:#7a6fa0;border-left:2px solid #7a6fa0;padding-left:0.4em}.btn-share-view{font-size:0.75rem;padding:0.25em 0.6em;border:1px solid var(--border-light);border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color 0.2s ease,color 0.2s ease;margin-left:0.5em}.btn-share-view:hover{border-color:var(--accent);color:var(--accent)}
/* Framework Essentials Badge */
.badge-fw-essential{display:inline-block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--accent);background:transparent;border:1px solid var(--accent);padding:.125rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.01em;flex-shrink:0;cursor:pointer;transition:background .15s,color .15s}
.badge-fw-essential:hover{background:rgba(201,162,39,.1)}
[data-theme="dark"] .badge-fw-essential{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .badge-fw-essential:hover{background:rgba(212,170,48,.15)}
/* Framework Essential Note Expandable */
.fw-essential-note{display:none;margin-top:.375rem;padding:.5rem .75rem;border-left:2px solid var(--accent);background:rgba(201,162,39,.04);font-size:.875rem;line-height:1.6;color:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.fw-essential-note.open{display:block}
[data-theme="dark"] .fw-essential-note{background:rgba(212,170,48,.06)}
/* Framework Essentials Toggle Button */
.fw-essential-toggle-wrap{display:inline-flex;align-items:center;gap:.25rem}
.btn-fw-essential-toggle{font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.4375rem .75rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem}
.btn-fw-essential-toggle:hover{background:rgba(201,162,39,.08);border-color:var(--accent)}
.btn-fw-essential-toggle.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.fw-essential-toggle-count{font-family:var(--font-mono);font-size:.6875rem;background:var(--bg-section);padding:.0625rem .375rem;border-radius:2px;transition:all .2s}
.btn-fw-essential-toggle.active .fw-essential-toggle-count{background:rgba(255,255,255,.2);color:#fff}
/* Print: hide FW Essential toggle and note */
@media print{.fw-essential-toggle-wrap{display:none!important}.fw-essential-note{display:block!important;border-left:2px solid #c9a227;font-size:8pt}}
/* Collapsed controls — CIT-ID search */
.controls--collapsed .search-row,
.controls--collapsed .filter-row,
.controls--collapsed .filter-tips{display:none!important}
.controls__collapsed-bar{display:none;align-items:center;justify-content:space-between;padding:10px 20px;font-family:'Outfit',sans-serif;font-size:.95rem;color:#e0e0e0}
.controls--collapsed .controls__collapsed-bar{display:flex}
.controls__collapsed-bar .cit-label{font-weight:600;color:var(--accent);letter-spacing:.03em}
.controls__collapsed-bar .collapse-actions{display:flex;gap:16px;align-items:center}
.controls__collapsed-bar .collapse-actions button{background:none;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary);padding:4px 12px;border-radius:4px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.85rem;transition:border-color .2s,color .2s}
.controls__collapsed-bar .collapse-actions button:hover{border-color:var(--accent);color:var(--accent)}
:root .controls__collapsed-bar .collapse-actions button{border-color:var(--border);color:var(--text-secondary)}
:root .controls__collapsed-bar .collapse-actions button:hover{border-color:var(--accent);color:var(--accent)}
:root .controls__collapsed-bar .cit-label{color:var(--accent)}
:root .controls__collapsed-bar{color:var(--text)}
@media print{.controls__collapsed-bar{display:none!important}}

/* === FILTER LAYOUT REDESIGN === */

/* Group 1: Discovery — inside .controls which is sticky */
.filter-group-discovery {
  padding-bottom: 0.5rem;
}

/* Groups 2-3 are outside .controls — need their own container for max-width */
.filter-group-refine > .container,
.filter-group-actions > .container,
.filter-tips-wrap > .container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Group 2: Refine & Curate — collapsible */
.filter-group-refine {
  border-top: 1px solid var(--border-light);
  background: var(--bg-section);
  padding: 0.625rem 0;
  overflow: visible;
  transition: max-height 0.3s ease-out, padding 0.3s ease-out, opacity 0.2s ease-out;
}

.filter-group-refine.collapsed {
  max-height: 0;
  padding: 0;
  opacity: 0;
  overflow: hidden;
  border-top: none;
}

/* Group 3: Actions */
.filter-group-actions {
  padding: 0.5rem 0;
  margin-top: 0.375rem;
  border-top: 1px solid var(--border-light);
}

.filter-group-actions .actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  align-items: center;
}

/* Hide actions when refine is collapsed */
.filter-group-refine.collapsed ~ .filter-group-actions {
  display: none;
}

/* Discovery row layout */
.discovery-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: nowrap;
}

.discovery-row #search-input {
  flex: 1;
  min-width: 180px;
}

.discovery-row .filter-select {
  min-width: auto;
  width: auto;
}

.discovery-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}

/* Toggle button */
#toggle-refine {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
  transition: color 0.15s;
}

#toggle-refine:hover {
  color: var(--text);
}

#toggle-refine .toggle-chevron {
  display: inline-block;
  transition: transform 0.2s;
  font-size: 0.625rem;
  margin-right: 0.25rem;
}

#toggle-refine.expanded .toggle-chevron {
  transform: rotate(90deg);
}

#toggle-refine .active-count {
  color: var(--accent);
  font-weight: 600;
}

/* Refine row layout */
.refine-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.refine-label {
  display: none;
}

/* CIT-ID collapse — hide groups INSIDE .controls */
.controls--collapsed .filter-group-discovery { display: none !important; }

/* CIT-ID collapse — hide groups OUTSIDE .controls (sibling selector) */
.controls--collapsed ~ .filter-group-refine,
.controls--collapsed ~ .filter-group-actions,
.controls--collapsed ~ .filter-tips-wrap { display: none !important; }

/* Scroll shadow on sticky controls */
.controls.scrolled-past-refine {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .controls.scrolled-past-refine {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* Tooltip z-index fix — Group 2 tooltips above everything */
.filter-group-refine .tier1-tooltip,
.filter-group-refine .wtm-tooltip {
  z-index: 100;
}

/* === UNIFIED FILTER TOGGLE STYLING === */
.filter-toggle {
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.4375rem 0.75rem;
  border: 2px solid var(--border);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  letter-spacing: normal;
  box-shadow: none;
}

.filter-toggle:hover {
  border-color: #c9a227;
  background: rgba(201, 162, 39, 0.06);
  color: var(--text);
}

.filter-toggle.active {
  border-color: #c9a227;
  background: rgba(201, 162, 39, 0.10);
  color: var(--text);
  font-weight: 500;
  box-shadow: none;
}

.filter-toggle.active:hover {
  background: rgba(201, 162, 39, 0.15);
}

.filter-toggle-count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  padding: 0.0625rem 0.375rem;
  border-radius: 2px;
  background: transparent;
  color: var(--text-muted);
  transition: all 0.2s;
}

.filter-toggle.active .filter-toggle-count {
  color: var(--accent);
  background: rgba(201, 162, 39, 0.08);
}

/* Dark mode: match toggle border to dropdown selects */
[data-theme="dark"] .filter-toggle {
  border-color: #4A515B;
}

/* === UNIFIED CARD BADGE STYLING === */
.badge-essential,
.badge-fw-essential {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  color: #c9a227;
  background: transparent;
  border: 1px solid #c9a227;
  padding: 0.2em 0.6em;
  border-radius: 3px;
  white-space: nowrap;
  cursor: default;
  transition: none;
  letter-spacing: 0.01em;
}

.badge-fw-essential:hover {
  background: transparent;
  color: #c9a227;
}

[data-theme="dark"] .badge-essential,
[data-theme="dark"] .badge-fw-essential {
  color: #d4aa30;
  border-color: #d4aa30;
  background: transparent;
}

[data-theme="dark"] .badge-fw-essential:hover {
  background: transparent;
}

/* === WTM BAR TREATMENT === */
.wtm {
  margin: 0.5rem 0 -1rem 0;
  padding: 0;
  border-top: 1px solid rgba(201, 162, 39, 0.15);
  background: rgba(201, 162, 39, 0.04);
  transition: background-color 0.2s;
  border-radius: 0;
}

.wtm:hover {
  background: rgba(201, 162, 39, 0.08);
}

.wtm.open {
  background: rgba(201, 162, 39, 0.08);
}

.wtm.wtm-tier1 {
  border-top-color: rgba(201, 162, 39, 0.15);
  border-top-style: solid;
}

.wtm-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  color: #c9a227;
  transition: color 0.15s;
}

.wtm-trigger:hover {
  color: #c9a227;
}

.wtm-arrow {
  font-size: 0.85rem;
  transition: transform 0.2s;
  margin-left: auto;
}

.wtm:not(.open):hover .wtm-arrow {
  transform: translateX(3px);
}

.wtm.open .wtm-arrow {
  transform: rotate(90deg);
}

.wtm-body {
  display: none;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--text-secondary);
  padding: 0 0.75rem 0.5rem;
  margin-top: 0;
}

.wtm.open .wtm-body {
  display: block;
}

/* Mobile overrides */
@media (max-width: 768px) {
  .discovery-row {
    flex-wrap: wrap;
  }

  .discovery-row #search-input {
    width: 100%;
    flex: none;
  }

  .discovery-row .filter-select {
    flex: 1;
    min-width: 0;
  }

  .discovery-actions {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }

  .refine-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    opacity: 0.6;
    margin-bottom: 0.25rem;
    width: 100%;
  }

  .filter-group-refine .refine-row {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-group-refine .refine-row .filter-select {
    min-width: 100%;
  }

  .filter-group-refine .refine-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  }

  .filter-group-actions .actions-row {
    flex-wrap: wrap;
  }
}

/* Print — hide new elements */
@media print {
  #toggle-refine { display: none !important; }
  .filter-group-actions { display: none !important; }
  .refine-label { display: none !important; }
}

/* === EVIDENCE HERO OVERRIDES ===
   Scoped to evidence page via evidence/styles.css.
   Overrides shared styles.css which sets min-height:100vh, display:flex,
   align-items:center, and justify-content:center on .hero.
   Evidence Library is a research utility — content should load immediately,
   left-aligned, with minimal breathing room above the preheader.
   Does NOT affect other pages. */

.hero {
  min-height: 0;
  display: block;
}

.hero .page-preheader,
.hero h1,
.hero .hero-subtitle,
.hero .hero-description {
  text-align: left;
}

/* ============================================================
   PRINT STYLESHEET — COMPREHENSIVE
   Appended last; supplements all earlier @media print blocks.
   Uses exact class names confirmed in Step 0 audit.
   ============================================================ */

/* Hidden on screen — shown only in print */
.print-only-notice {
  display: none;
}

@media print {

  /* ----------------------------------------------------------
     1B. HIDE INTERACTIVE CHROME
     (supplements existing print block; adds what was missing)
  ---------------------------------------------------------- */
  .nav-toggle,
  .filter-group-refine,
  .filter-tips-wrap,
  .signature-showcase,
  .faq-section,
  .sector-desc,
  .sector-srma,
  .badge-analysis,
  .btn-share-view,
  .refine-label,
  .freq-bars,
  .scale-bars-container,
  .temporal-bars-container {
    display: none !important;
  }

  /* ----------------------------------------------------------
     1C. PRINT-ONLY NOTICE (always visible in print)
  ---------------------------------------------------------- */
  .print-only-notice {
    display: block !important;
    margin: 0.25rem 0 0.375rem;
    padding: 0.25rem 0;
    font-size: 8pt !important;
    color: #555 !important;
    font-style: italic;
    background: transparent !important;
    border-bottom: 1px solid #ccc;
  }

  /* ----------------------------------------------------------
     1A. FORCE LIGHT COLOR SCHEME (supplementary overrides)
     Dark-mode CSS vars won't auto-resolve to light values;
     explicit hex colours beat variable inheritance.
  ---------------------------------------------------------- */
  .sector-item,
  .sector-trigger,
  .sector-body,
  .citation,
  .site-footer,
  .footer-bottom {
    background-color: #fff !important;
    background-image: none !important;
  }

  .sector-trigger {
    background-color: #f5f5f5 !important;
  }

  /* Remove all decorative effects globally */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* ----------------------------------------------------------
     1G. WIDTH AND MARGINS
  ---------------------------------------------------------- */
  body, html {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0.5cm !important;
  }

  /* ----------------------------------------------------------
     1C. HERO — keep title, subtitle, stats; clean up styling
  ---------------------------------------------------------- */
  section.hero {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .page-preheader {
    font-size: 7.5pt !important;
    color: #555 !important;
    margin-bottom: 0.25rem !important;
  }

  .hero h1 {
    font-size: 18pt !important;
    color: #000 !important;
  }

  .hero-subtitle {
    font-size: 12pt !important;
    color: #333 !important;
  }

  .hero-description {
    font-size: 8.5pt !important;
    color: #555 !important;
    margin-bottom: 0.25rem !important;
  }

  .hero-stat-num {
    font-size: 13pt !important;
    color: #000 !important;
  }

  .hero-stat-label {
    font-size: 8pt !important;
    color: #555 !important;
  }

  /* ----------------------------------------------------------
     1E. PAGE BREAK RULES
  ---------------------------------------------------------- */
  /* 2nd and 3rd sector groups: visual separator instead of forced page break.
     Forced page breaks created blank pages on filtered views with few citations.
     Browser's print engine handles organic page breaks around break-inside:avoid cards.
     The first sector-group is exempt by design (no preceding .sector-group sibling
     means the ~ combinator never matches it, so it gets no border/margin). */
  section.sector-group ~ section.sector-group {
    break-before: auto;
    page-break-before: auto;
    margin-top: 2em;
    padding-top: 1em;
    border-top: 2px solid #ccc;
  }

  /* Never split a citation card across pages; compact padding to fit more per page */
  .citation {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    padding-top: 0.75em !important;
    padding-bottom: 0.75em !important;
    margin-bottom: 0.5em !important;
  }

  /* Sector header stays with cards below it.
     Triple-property break-after covers Safari's older fragmentation engine:
     break-after (modern), page-break-after (legacy), -webkit-column-break-after (Safari).
     break-inside: avoid prevents the trigger button itself from fragmenting. */
  .sector-trigger {
    break-after: avoid !important;
    page-break-after: avoid !important;
    -webkit-column-break-after: avoid !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    cursor: default !important;
    pointer-events: none !important;
    position: static !important;
    border-bottom: 1px solid #ddd !important;
    padding: 0.375rem 0.625rem !important;
  }

  /* ----------------------------------------------------------
     1F. TYPOGRAPHY FOR PRINT
  ---------------------------------------------------------- */
  .sector-group-title {
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #000 !important;
    border-bottom: 1px solid #999 !important;
    padding-bottom: 0.2rem !important;
    margin-bottom: 0.3rem !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .sector-group-sub {
    font-size: 8pt !important;
    color: #555 !important;
    font-style: italic;
    margin-bottom: 0.4rem !important;
  }

  .sector-name {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #000 !important;
  }

  .sector-count {
    font-size: 8pt !important;
    color: #666 !important;
  }

  /* Citation typography */
  .citation-org {
    color: #000 !important;
    font-size: 10pt !important;
    font-weight: 700 !important;
  }

  .citation-title {
    font-size: 9pt !important;
    color: #333 !important;
  }

  .citation-year {
    font-size: 8pt !important;
    color: #555 !important;
  }

  .citation-claim {
    font-size: 9.5pt !important;
    line-height: 1.5 !important;
    color: #111 !important;
  }

  .citation-id {
    font-size: 7pt !important;
    color: #777 !important;
  }

  .citation-meta {
    font-size: 7.5pt !important;
  }

  .citation-links {
    font-size: 8pt !important;
  }

  /* Tags and pills — ink-saving outline style */
  .tag, .tag-st {
    font-size: 7pt !important;
    border: 1px solid #bbb !important;
    color: #333 !important;
    background: transparent !important;
  }

  .tag-scale,
  .tag-scale-infra,
  .tag-scale-org,
  .tag-scale-bridge {
    font-size: 7pt !important;
    color: #555 !important;
    border-left-color: #555 !important;
  }

  /* Badges as plain outlined text — all badge types unified.
     .badge-signature has a dark background in dark mode (#2A2414);
     explicit white bg + print-color-adjust ensures correct print output. */
  .badge-essential,
  .badge-fw-essential,
  .badge-signature {
    font-size: 7pt !important;
    color: #333 !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #999 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .badge-essential *,
  .badge-fw-essential *,
  .badge-signature * {
    color: #333 !important;
  }

  /* Framework Essential note — show in print */
  .fw-essential-note {
    border-left-color: #555 !important;
    background: transparent !important;
    color: #333 !important;
    font-size: 8pt !important;
  }

  /* Why This Matters — hidden in print.
     Multi-paragraph WTM prose causes oversized cards and blank-page gaps.
     .fw-essential-note (short framework notes) is a separate element and remains visible.
     .wtm-body gets display:none !important to override the earlier block's display:block !important. */
  .wtm {
    display: none !important;
  }

  .wtm-body {
    display: none !important;
  }

  /* ----------------------------------------------------------
     1H. LINK URLs — show href after citation source links only.
     Existing block already has .citation-link::after; this
     reinforces + scopes to avoid nav/footer link pollution.
  ---------------------------------------------------------- */
  /* Suppress URL display on non-citation links */
  a[href]::after {
    content: none !important;
  }

  /* Show URL only on citation source links */
  .citation .citation-link[href]:not(.citation-link-archive)::after {
    content: " (" attr(href) ")" !important;
    font-size: 7pt !important;
    color: #555 !important;
    word-break: break-all !important;
    font-style: normal;
  }

  /* ----------------------------------------------------------
     FOOTER — simplified: show only the bottom bar
  ---------------------------------------------------------- */
  .footer-col,
  .footer-col h4,
  .footer-links {
    display: none !important;
  }

  .site-footer {
    background: #fff !important;
    border-top: 1px solid #000 !important;
    padding: 0.25rem 0 !important;
    margin-top: 0.5rem !important;
  }

  .footer-bottom {
    display: block !important;
    font-size: 8pt !important;
    color: #555 !important;
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    width: 100% !important;
  }

  .footer-bottom::after {
    content: " \B7 Printed from sjbridger.com/evidence";
    display: block;
    font-size: 7pt;
    color: #777;
  }

  /* ----------------------------------------------------------
     CROSS-BROWSER FULL SUPPRESSION — iOS Safari fix
     Applies belt-and-suspenders hiding to every print-hidden
     element. display:none alone can fail on iOS Safari when
     elements have JS-set inline styles (e.g. filter-group-refine
     has style.maxHeight / style.overflow set by JS animation).
     visibility:hidden + height:0 + overflow:hidden ensures
     zero render footprint even if display is partially ignored.
     Placed last so it overrides all earlier @media print rules.
  ---------------------------------------------------------- */
  .hero-stats,
  .site-header,
  .nav-toggle,
  .controls,
  .filter-group-refine,
  .filter-group-actions,
  .filter-tips-wrap,
  .filter-tips,
  #toggle-refine,
  .controls__collapsed-bar,
  .theme-toggle,
  .btn-export,
  .btn-share,
  .btn-cite,
  .btn-back-to-top,
  .btn-share-view,
  .btn-awr-map,
  .citation-actions,
  .modal-overlay,
  .skip-link,
  .toast,
  .glance-section,
  .intro-section,
  .expandable-collapse-link,
  .collapse-intro-link,
  .intro-chevron,
  .sector-chevron,
  .expandable-icon,
  .filter-clear,
  .fw-essential-toggle-wrap,
  .wtm-toggle-wrap,
  .tier1-toggle-wrap,
  .wtm,
  .wtm-body,
  .wtm-trigger,
  .signature-showcase,
  .faq-section,
  .freq-cta-section,
  .sector-desc,
  .sector-srma,
  .badge-analysis,
  .refine-label,
  .freq-bars,
  .footer-col,
  .footer-col h4,
  .footer-links {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Additional override for filter-group-refine: JS sets inline style.maxHeight
     which can override CSS height on iOS Safari. max-height:0 with !important
     beats the inline value and guarantees zero rendered height. */
  .filter-group-refine {
    max-height: 0 !important;
    opacity: 0 !important;
  }

}

/* Nav logo visibility fix: in light mode the global CSS turns the scrolled
   header dark (rgba(10,10,10,0.92)), but .site-brand color stays var(--text)
   = #1B2332 (near-black), making it invisible. Force white in scrolled state.
   Dark mode is unaffected — its header is already dark and var(--text) there
   is already light (#E3E4E6). */
:root .site-header.scrolled .site-brand {
  color: #ffffff;
}

:root .site-header.scrolled .site-brand:hover {
  color: var(--accent);
}
