@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--sidebar-w:300px;--ink:#272c34;--muted:#646970;--orange:#f39a59;--line:#e2dfd8;--dark:#171a20;--heading:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Manrope',Arial,sans-serif}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#9b8879 transparent}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:#f3f1ec;color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.85}
h1,h2,h3,p,ul{margin:0}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}:focus-visible{outline:3px solid #bc642f;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:20px;background:var(--orange);padding:12px 20px;z-index:200;color:var(--dark)}
.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);overflow-y:auto;overscroll-behavior:contain;background:var(--dark);color:#dadbe0;z-index:20;border-right:1px solid #ffffff12;scrollbar-color:#685344 var(--dark)}
.brand{display:flex;align-items:center;gap:12px;padding:30px 23px 25px;border-bottom:1px solid #ffffff12}
.brand img{width:75px;height:40px;object-fit:contain}.brand strong{font-size:15px;letter-spacing:.1em;color:#f6f1e9}.brand p{font-size:8px;letter-spacing:.1em;color:#b0b1b8;margin-top:2px}
.portal-return{display:flex;align-items:center;gap:12px;margin:18px 22px;padding:12px;border:1px solid #ffffff1c;border-radius:5px;text-decoration:none;background:#ffffff04}
.portal-return>span{color:var(--orange);font-size:20px}.portal-return strong{display:block;font-size:11px;color:#ebe7e2}.portal-return small{display:block;font-size:9px;color:#acadb5}
.portal-return:hover{border-color:#f39a5977;background:#ffffff08}
.search-panel{padding:5px 22px 19px;border-bottom:1px solid #ffffff12}
.search-panel label{display:block;font-size:11px;font-weight:700;margin-bottom:9px;color:#e6e2dc}
.search-panel input{width:100%;min-height:45px;border:1px solid #50515a;border-radius:5px;padding:10px 12px;background:#252931;color:white;font-size:12px;color-scheme:dark}
.search-panel input::placeholder{color:#aeb0b9}
.search-count{font-size:10px;color:#aaaeb9;margin-top:8px}
.search-results{display:none;max-height:270px;overflow-y:auto;margin-top:12px}
.search-results.active{display:block}
.search-result{display:block;width:100%;padding:12px;text-align:left;border:0;border-bottom:1px solid #ffffff12;background:transparent;color:#eee9e2;cursor:pointer;font-size:11px;line-height:1.6}
.search-result strong{display:block;color:var(--orange);font-size:10px}
.search-result:hover{background:#f39a5910}
.sidebar nav{padding:21px 13px 35px;counter-reset:chapter -1}
.nav-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#969ca9;padding:0 10px 12px;font-weight:800}
.nav-link{counter-increment:chapter;display:flex;align-items:baseline;gap:12px;padding:11px 10px;text-decoration:none;color:#bfc2ca;border-radius:4px;font-size:10px;line-height:1.65;letter-spacing:.02em;margin-bottom:3px}
.nav-link:before{content:counter(chapter,decimal-leading-zero);color:#898e9b;flex:0 0 19px;font-size:10px}
.nav-link:hover{background:#ffffff07;color:#fff}.nav-link[aria-current]{background:#f39a5912;color:#ffbc89}.nav-link[aria-current]:before{color:var(--orange)}
.content{margin-left:var(--sidebar-w);min-width:0;padding-bottom:85px}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at right top,#45332a,transparent 65%),#1d2026;padding:54px clamp(30px,5vw,80px) 43px;color:#f5f1eb;border-bottom:3px solid var(--orange)}
.overline{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--orange);font-weight:800;margin-bottom:20px}
.hero h1{font-family:var(--heading);font-size:clamp(46px,4.7vw,68px);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin-bottom:23px}
.hero h1 span{color:var(--orange)}
.hero .hero-title{font-size:17px;font-weight:800;color:#f5f1eb;margin-bottom:8px}
.hero p{max-width:620px;color:#b5b7c1;font-size:13px;line-height:1.9}
.reading-guide{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:0 auto;padding:0 clamp(30px,5vw,80px)}
.reading-guide a{padding:23px 15px 24px 0;text-decoration:none;border-bottom:1px solid #d9d3ca}
.reading-guide a+a{padding-left:20px}.reading-guide a:hover strong{color:#9b552c}
.reading-guide span{display:block;font-size:9px;letter-spacing:.07em;color:#9b552c;font-weight:800;margin-bottom:5px}
.reading-guide strong{font-size:11px}
.apv-section{max-width:1120px;margin:0 auto;padding:44px clamp(30px,5vw,80px) 0;scroll-margin-top:20px}
.section-heading{display:flex;align-items:center;gap:17px;margin-bottom:22px;padding-bottom:17px;border-bottom:1px solid #d6d0c7}
.section-heading>span{flex-shrink:0;color:#955027;background:#e9ded1;border-radius:4px;padding:5px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}
.section-heading h2{font-size:15px;font-weight:800;line-height:1.5;letter-spacing:.025em}
.apv-article{background:#fffdfa;border:1px solid var(--line);border-radius:7px;margin-bottom:22px;scroll-margin-top:28px;box-shadow:0 3px 12px #24283003;transition:border-color .2s,box-shadow .2s}
.apv-article.is-hidden,body.searching .apv-section:not(.has-results){display:none}
.apv-article.is-focused,.apv-article:target{border-color:#bb7e51;box-shadow:0 0 0 3px #f39a5922}
.apv-article header{display:flex;align-items:center;gap:15px;padding:21px 26px;border-bottom:1px solid #e8e3db}
.apv-article header>span{flex-shrink:0;min-width:38px;padding:4px 8px;text-align:center;border:1px solid #e3d5c7;background:#f7f0e7;color:#955027;border-radius:4px;font-size:11px;font-weight:800}
.apv-article h3{font-size:17px;font-weight:800;line-height:1.5;letter-spacing:-.025em}
.article-body{padding:23px 27px 26px}.article-body p,.article-body li{font-size:14px;line-height:1.95;color:#454a52}
.article-body p+p,.article-body ul+p,.article-body p+ul,.article-body p+ol{margin-top:15px}
.article-body ul{padding-left:19px;list-style:disc}.article-body ol{padding-left:23px}
.article-body li{padding-left:5px;margin-bottom:8px}.article-body li::marker{color:#b76c37}
.article-body a{color:#914d27;text-underline-offset:3px}
.table-wrap{max-width:100%;margin-top:20px;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:5px}
table{width:100%;min-width:520px;border-collapse:collapse;font-size:12px;line-height:1.7}
th{background:#292d35;color:#eee6dc;text-align:left;padding:13px 15px;font-weight:700}
td{padding:12px 15px;border-bottom:1px solid var(--line)}tbody tr:nth-child(even){background:#f5f2ed}
td:nth-child(2),td:nth-child(3){font-weight:700}
.empty-search{max-width:800px;margin:40px auto;padding:30px}.empty-search h2{font-size:24px}.empty-search p{margin:10px 0 20px;color:var(--muted)}
.empty-search button{padding:12px 20px;border:0;background:var(--dark);color:white;border-radius:4px;cursor:pointer;font-weight:700}
.to-top{position:fixed;bottom:24px;right:24px;display:grid;place-items:center;width:45px;height:45px;background:var(--dark);color:var(--orange);border:1px solid #75513a;border-radius:6px;font-size:23px;cursor:pointer;visibility:hidden;opacity:0;transition:opacity .2s;box-shadow:0 4px 15px #0002}
.to-top.visible{visibility:visible;opacity:1}.to-top:hover{background:#363036}
.mobile-menu,.mobile-menu-close,.sidebar-backdrop{display:none}
h1,h2,h3,p,li,a,td,th{overflow-wrap:anywhere}
@media(min-width:1600px){.hero{padding-left:max(80px,calc((100% - 960px)/2))}}
@media(max-width:1150px){:root{--sidebar-w:270px}.brand{padding-left:18px;gap:8px}.brand img{width:64px}.hero,.apv-section{padding-left:32px;padding-right:32px}.reading-guide{padding:0 32px}.reading-guide strong{font-size:10px}}
@media(max-width:900px){
html{scroll-padding-top:86px}
.content{margin-left:0}
.sidebar{position:relative;width:100%;max-height:400px}
.js .sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,330px);height:100dvh;max-height:none;transform:translateX(-105%);visibility:hidden;transition:transform .22s,visibility .22s;z-index:120}
.js .sidebar.open{transform:translateX(0);visibility:visible}
.js .mobile-menu{display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;top:12px;left:16px;z-index:100;min-height:45px;padding:9px 17px;border:1px solid #72513b;border-radius:5px;background:#20242c;color:#ffbc89;box-shadow:0 3px 14px #0003;font-size:12px;font-weight:700;cursor:pointer}
.js .hero{padding-top:88px}
.js .mobile-menu-close{display:grid;place-items:center;position:absolute;right:12px;top:13px;width:38px;height:38px;background:#ffffff09;color:var(--orange);border:1px solid #ffffff30;border-radius:4px;font-size:24px;cursor:pointer}
.js .sidebar .brand{padding-top:65px}
.js .sidebar-backdrop{display:block;position:fixed;inset:0;background:#10141dbb;z-index:115;visibility:hidden;opacity:0;transition:opacity .22s}
.js .sidebar-backdrop.visible{visibility:visible;opacity:1}
body.menu-open{overflow:hidden}
.search-panel input{font-size:16px}.search-result,.nav-link{min-height:44px}
.apv-article,.apv-section{scroll-margin-top:85px}
}
@media(max-width:560px){
.hero{padding:35px 22px}.hero h1{font-size:49px}.hero p{font-size:12px}.overline{font-size:9px}
.reading-guide{padding:0 22px;grid-template-columns:1fr}
.reading-guide a,.reading-guide a+a{padding:15px 0;display:flex;gap:15px;align-items:center;justify-content:space-between}
.reading-guide span{font-size:8px;margin:0}.reading-guide strong{font-size:10px}
.apv-section{padding:33px 16px 0}.section-heading{gap:10px;align-items:flex-start}.section-heading h2{font-size:12px}.section-heading>span{font-size:8px;white-space:nowrap}
.apv-article header{gap:11px;padding:17px}.apv-article h3{font-size:15px}.apv-article header>span{font-size:10px;min-width:34px}
.article-body{padding:18px}.article-body p,.article-body li{font-size:14px;line-height:1.9}
.to-top{bottom:16px;right:16px}.empty-search{margin:25px 16px;padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{
.sidebar,.mobile-menu,.reading-guide,.to-top,.skip-link,.sidebar-backdrop,.empty-search{display:none!important}
.content{margin:0;padding:0}.hero{background:white;color:black;padding:20px 0;border-bottom:1px solid #aaa}
.hero h1,.hero h1 span,.hero p,.hero .hero-title,.overline{color:black}
.apv-section,body.searching .apv-section:not(.has-results){display:block!important;padding:20px 0 0;max-width:none}
.apv-article,.apv-article.is-hidden{display:block!important;box-shadow:none;break-inside:avoid}
body{background:white}.apv-article header{break-after:avoid}
}
