:root{--navy:#123451;--blue:#246494;--muted:#6b7781;--line:#e1e7ec;--bg:#f6f8fa;--paper:#fff;--zoom:1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--navy);background:var(--bg);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{opacity:.3;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #559ed2;outline-offset:3px}
svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-70px;background:var(--navy);color:#fff;padding:12px;z-index:100}
.skip-link:focus{top:12px}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;max-width:1480px;margin:auto;padding:0 48px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:16px}
.brand img{width:72px;height:49px;object-fit:contain;mix-blend-mode:multiply}
.brand>span{font-size:15px;font-weight:800;letter-spacing:1.4px}
.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.45px;margin-top:6px;color:var(--muted)}
.site-header nav{display:flex;gap:28px;align-items:center;font-size:12px}
.website-link span{margin-left:7px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:5px;min-height:47px;padding:12px 21px;font-size:12px;font-weight:600;transition:background .18s,border-color .18s}
.primary{background:var(--navy);color:white}
.primary:hover{background:var(--blue)}
.outline{border-color:#c4d1dc;background:transparent}
.outline:hover{background:#e9f0f5;border-color:#829fb5}
.small{min-height:39px;padding:9px 17px}
main{max-width:1480px;margin:0 auto;padding:0 48px}
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:38px 0 33px}
.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;margin:0 0 16px;color:var(--blue)}
.eyebrow>span{display:inline-block;width:18px;height:2px;vertical-align:middle;background:var(--blue);margin-right:7px}
h1{font-size:clamp(28px,3.1vw,43px);font-weight:400;line-height:1.13;letter-spacing:-1.3px;margin:0}
h1 em{font-style:normal;font-weight:750}
.intro-copy{margin:14px 0 0;color:#667684;font-size:12px;line-height:1.8}
.intro-copy>span{margin-left:18px;color:#81909b;font-size:11px}
.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.edition{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted);white-space:nowrap}
.edition>span+span:before{content:"";height:11px;width:1px;background:#cfdae1;display:inline-block;margin-right:13px;vertical-align:middle}
.edition strong{color:var(--navy);font-size:12px}
.reader{--reader-controls-height:96px;display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;min-width:0;border:1px solid #d7e0e6;background:white;border-radius:8px;overflow:visible;box-shadow:0 8px 40px #16314908;scroll-margin-top:20px}
.contents{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;min-width:0;min-height:0;height:100dvh;max-height:100dvh;border-right:1px solid var(--line);border-radius:8px 0 0 8px;background:#fff}
.contents-head{flex-shrink:0;padding:24px 22px 17px}
.contents-head .eyebrow{font-size:8px;letter-spacing:1.6px;display:block;margin-bottom:10px}
.contents h2{font-size:19px;letter-spacing:-.3px;font-weight:600;margin:0;display:flex;justify-content:space-between;align-items:center}
.contents h2>span{color:#7a8a96;font-size:9px;letter-spacing:0;font-weight:400}
.search-box{flex-shrink:0;display:flex;align-items:center;gap:8px;margin:0 15px 8px;padding:9px 11px;background:#f4f7f9;border:1px solid #e7edf1;border-radius:4px;color:#7f94a3}
.search-box svg{width:15px;height:15px}
.search-box input{border:0;outline:none;min-width:0;width:100%;background:transparent;color:var(--navy);font-size:11px;line-height:19px}
.search-box kbd{font-size:11px;border:1px solid #d6e1e8;border-radius:3px;padding:0 4px}
.search-message{font-size:10px;color:#6d8394;margin:0 22px 8px;min-height:0}
.search-message:empty{display:none}
.page-list{min-height:0;overflow-y:auto;scrollbar-width:thin;flex:1;padding:5px 10px 16px}
.page-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:11px 12px;color:#637888;background:transparent;border:0;border-radius:4px;min-height:47px;margin:2px 0}
.page-item:hover{background:#f2f6f9}
.page-item[aria-current="page"]{color:var(--navy);background:#e9f1f7;box-shadow:inset 2px 0 var(--blue)}
.page-item .item-number{font-size:9px;letter-spacing:.5px;min-width:18px;color:#91a3b0}
.page-item[aria-current="page"] .item-number{color:#27628b}
.page-item .item-title{font-size:11px;line-height:1.45;font-weight:600}
.page-item .item-description{display:block;font-size:9px;font-weight:400;color:#7a8d9b;margin-top:4px;line-height:1.4;word-break:break-word}
.contents-foot{flex-shrink:0;margin-top:auto;font-size:8px;color:#93a1ab;padding:18px 20px;border-top:1px solid var(--line);white-space:nowrap}
.status-dot{display:inline-block;background:#4a8d9c;width:5px;height:5px;border-radius:50%;margin-right:7px;vertical-align:middle}
.reader-main{min-width:0}
.reader-controls{position:sticky;top:0;z-index:10;min-width:0;background:#fff;border-radius:0 8px 0 0;box-shadow:0 3px 8px #1234510a}
.reader-toolbar{min-width:0;border-radius:inherit;height:59px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}
.page-navigation,.reader-tools{display:flex;align-items:center;gap:7px}
.icon-button{display:inline-flex;width:33px;height:33px;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:#557087;padding:5px}
.icon-button:hover:not(:disabled){background:#edf3f7;color:var(--navy)}
.page-number{display:flex;align-items:center;gap:6px;font-size:11px;color:#90a0aa;white-space:nowrap}
.page-number input{width:34px;border:1px solid #dbe3e9;background:#f7f9fa;height:27px;text-align:center;color:var(--navy);border-radius:3px;font-size:11px;appearance:textfield;-moz-appearance:textfield}
.page-number input::-webkit-inner-spin-button,.page-number input::-webkit-outer-spin-button{appearance:none;margin:0}
.tool-divider{height:17px;width:1px;background:#e6ebef;margin:0 4px}
.zoom-value{border:0;background:transparent;color:#617a8d;font-size:10px;min-width:37px;height:30px;border-radius:3px}
.zoom-value:hover{background:#edf3f7}
.page-stage{display:flex;flex-direction:column;gap:24px;min-width:0;background:#e8edf1;background-image:radial-gradient(#c3cfd755 .7px,transparent .7px);background-size:9px 9px;padding:25px}
.page-sheet{min-width:0;margin:0;scroll-margin-top:calc(var(--reader-controls-height) + 18px)}
.paper-viewport{width:100%;max-width:100%;padding:12px 0 30px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.sheet-caption{margin:0;padding:0 8px;color:#647a8b;font-size:10px;line-height:1.6;text-align:center;overflow-wrap:anywhere}
.paper{position:relative;width:calc(min(100%, 514px) * var(--zoom));max-width:none;margin:0 auto;background:white;box-shadow:0 4px 11px #1731491a,0 25px 40px #1731490b;line-height:0}
.paper img{width:100%;height:auto;display:block;aspect-ratio:1800/2546}
.image-error{position:absolute;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;line-height:1.6;padding:20px;text-align:center;font-size:14px}
.image-error[hidden]{display:none}
.image-error a{font-size:12px;text-decoration:underline}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;height:34px;padding:0 20px;font-size:10px;background:#fff}
.page-footer>div{flex:1;min-width:0}
.page-caption{display:block;color:#4a657a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-tip{display:none}
.share-link{flex-shrink:0;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#647e91;padding:8px 0;font-size:10px}
.share-link svg{width:14px;height:14px}
.share-link:hover{color:var(--navy)}
.progress-track{height:3px;background:#eef3f6}
.progress-track>div{height:100%;background:var(--blue);width:4.1667%;transition:width .15s}
.reader-note{display:flex;align-items:center;gap:0;font-size:9px;color:#7b8c98;margin:14px 0 0;line-height:1.7}
.reader-note a{margin-left:auto;color:#3d627d;font-size:10px}
.contact-section{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:45px 0 40px;border-bottom:1px solid var(--line);margin-top:15px}
.contact-section .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:12px}
h2{font-size:24px;letter-spacing:-.6px;margin:0;font-weight:500}
.contact-section p:not(.eyebrow){font-size:11px;line-height:1.9;color:#798b98;margin:12px 0 0}
.contact-section p span{display:block;font-size:10px}
.contact-actions{display:flex;align-items:center;flex-direction:column;gap:14px}
.email-link{font-size:11px;color:#5b7588}
.site-footer{max-width:1480px;margin:auto;padding:24px 48px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#91a0ab}
dialog{border:1px solid #d7e1e8;border-radius:8px;padding:25px;color:var(--navy);max-width:min(1030px,calc(100vw - 28px));width:100%;max-height:88vh;box-shadow:0 15px 70px #031c3855}
dialog::backdrop{background:#0d233bb8;backdrop-filter:blur(3px)}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.dialog-heading .eyebrow{font-size:8px;margin-bottom:8px}
.thumbnail-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.thumbnail{border:1px solid #e2e8ed;background:#f7f9fa;padding:8px;border-radius:5px;text-align:left;color:#5b7489;transition:border-color .15s}
.thumbnail:hover,.thumbnail[aria-current="page"]{border-color:#3875a0;background:#edf3f8}
.thumbnail img{display:block;width:100%;height:auto;aspect-ratio:595.92/842.88;object-fit:contain;box-shadow:0 1px 4px #24456618}
.thumbnail span{display:block;font-size:9px;line-height:1.45;margin-top:9px}
.thumbnail strong{font-size:8px;color:#357299;display:block;margin-bottom:3px}
#share-dialog{max-width:440px}
#share-dialog p{font-size:12px;line-height:1.6;color:#758a99}
#share-url{width:100%;border:1px solid #cfdce5;background:#f4f7f9;padding:12px;margin:8px 0 17px;border-radius:4px;font-size:12px;color:#345771}
#copy-status{min-height:20px}
#reader:fullscreen{width:100%;height:100dvh;border:0;border-radius:0;overflow:auto;background:white}
#reader:fullscreen .reader-controls{border-radius:0}
.no-script{padding:25px;text-align:center}
.no-script a{text-decoration:underline}

@media(max-width:1050px){.site-header{padding:0 28px}
main{padding:0 28px}
.reader{grid-template-columns:220px minmax(0,1fr)}
.contents-head{padding-left:18px;padding-right:18px}
.page-stage{padding:22px 16px}
.site-footer{padding:24px 28px}
.intro{align-items:flex-start}
.intro-copy>span{display:block;margin:3px 0 0}
.intro-actions{padding-top:5px}
.edition{gap:8px;font-size:9px}
.edition>span+span:before{margin-right:8px}
}
@media(max-width:760px){.site-header{height:74px;padding:0 20px}
.brand{gap:9px}
.brand img{width:54px;height:41px}
.brand>span{font-size:12px;letter-spacing:1px}
.brand small{font-size:8px;letter-spacing:0}
.website-link{display:none}
.site-header nav{gap:0}
.button.small{font-size:10px;min-height:35px;padding:8px 11px}
main{padding:0 16px}
.intro{padding:27px 4px 24px;gap:19px;flex-direction:column}
.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:13px}
h1{font-size:31px;letter-spacing:-.8px;max-width:380px}
h1 em{display:block}
.intro-copy{font-size:11px;margin-top:11px}
.intro-copy>span{font-size:9px;margin-top:2px}
.intro-actions{flex-direction:row;width:100%;align-items:center;justify-content:space-between;padding:0;gap:8px}
.intro-actions>.button{min-height:36px;padding:8px 11px;font-size:10px;gap:7px;white-space:nowrap}
.intro-actions svg{width:15px;height:15px}
.edition{gap:8px;font-size:8px;flex-wrap:wrap;row-gap:4px}
.edition strong{font-size:10px}
.edition>span:last-child{display:none}
.reader{--reader-controls-height:88px;display:flex;flex-direction:column;align-items:stretch;border-radius:6px;scroll-margin-top:10px}
.contents{position:static;align-self:stretch;flex:none;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}
.reader-main{flex:none;width:100%}
.reader-controls{border-radius:0}
.contents-head{display:none}
.search-box{margin:12px 12px 10px;padding:7px 10px}
.search-box input{font-size:12px}
.search-box kbd{display:none}
.page-list{display:none;flex:none;max-height:230px;padding-bottom:8px}
.contents.search-active .page-list{display:block}
.contents-foot{display:none}
.search-message{margin-left:22px}
.reader-toolbar{height:51px;padding:0 8px}
.page-navigation,.reader-tools{gap:1px}
.icon-button{width:31px;height:33px}
.tool-divider{margin:0 3px}
.zoom-value{min-width:33px;font-size:9px}
.page-number{font-size:10px;gap:4px}
.page-number input{width:29px}
.page-stage{gap:18px;padding:17px 14px}
.paper-viewport{padding:8px 0 24px}
.sheet-caption{font-size:9px}
.page-footer{padding:0 13px;font-size:9px;gap:10px}
.share-link{font-size:9px;white-space:nowrap}
.share-link svg{width:12px}
.reader-note{font-size:8px;display:block;margin:12px 4px 0;padding-right:50px;position:relative}
.reader-note a{position:absolute;right:4px;top:0;font-size:8px}
.contact-section{flex-direction:column;align-items:flex-start;padding:30px 4px;gap:20px;margin-top:13px}
.contact-section .eyebrow{font-size:8px}
.contact-section h2{font-size:23px;max-width:310px}
.contact-section p:not(.eyebrow){font-size:11px}
.contact-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:15px}
.contact-actions .button{font-size:10px;min-height:40px;padding:10px 14px}
.email-link{font-size:10px}
.site-footer{padding:22px 20px 28px;flex-direction:column;align-items:flex-start;gap:8px;font-size:8px}
.site-footer>span:last-child{margin-top:7px}
.thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
dialog{padding:18px;max-height:90vh}
.thumbnail{padding:6px}
.thumbnail span{font-size:8px}
.dialog-heading h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
}
