:root{color:#1d2a39;background:#fff;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:#fff;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-color:#8da2b8 #edf2f7}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased}button,output{font:inherit}button{min-width:112px;min-height:44px;padding:0 18px;border:1px solid;border-color:#6c8fb5;border-radius:999px;color:#16324f;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;letter-spacing:.02em}button:hover:not(:disabled){border-color:#2f6fa8;background:#edf5ff}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible{outline:3px solid #f2c94c;outline-offset:3px}.viewer-shell{min-width:0;min-height:100dvh;background:#fff}.viewer-header,.viewer-controls{position:fixed;z-index:10;left:0;width:100%;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.viewer-header{top:0;min-height:64px;padding:10px clamp(18px,3vw,42px);border-bottom:1px solid;border-bottom-color:#4a678533;display:flex;align-items:center;justify-content:space-between;gap:24px}.viewer-header h1,.viewer-header p{margin:0}.viewer-header h1{margin-top:2px;color:#14263a;font-size:clamp(.98rem,1.6vw,1.2rem);line-height:1.25;font-weight:650}.viewer-kicker{color:#2d6fa8;font-size:.68rem;line-height:1.2;font-weight:750;letter-spacing:.14em}.viewer-hint{color:#5f7185;font-size:.78rem}.viewer-pages{min-width:0}.page{width:100%;min-width:0;min-height:100dvh;padding:80px 32px 88px;display:grid;place-content:center;scroll-snap-align:start;scroll-snap-stop:always}.page-frame{width:min(1200px,calc(100vw - 64px),calc((100dvh - 184px) * 16 / 9));aspect-ratio:16 / 9;overflow:hidden;border:1px solid;border-color:#455b7238;border-radius:5px;background:#edf2f7;box-shadow:0 18px 48px #11273d24,0 2px 8px #11273d1a;display:grid;place-items:center}.page-frame picture,.page-frame img{display:block;width:100%;height:100%}.page-frame img{object-fit:contain}.page-loading{position:absolute;align-self:end;margin:0 0 -29px;color:#5f7185;font-size:.78rem;letter-spacing:.02em}.page-error{max-width:80%;margin:0;color:#5c1d1d;text-align:center;font-weight:700}.manifest-status{position:fixed;z-index:2;inset:50% auto auto 50%;max-width:calc(100vw - 32px);margin:0;padding:14px 18px;border:1px solid;border-color:#8aa4bd;border-radius:10px;color:#24384d;background:#f4f8fc;transform:translate(-50%,-50%)}.manifest-status--error{border-color:#c77d7d;color:#7a2020;background:#fff4f4}.viewer-controls{bottom:0;min-height:72px;padding:11px max(18px,env(safe-area-inset-right)) max(11px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-top:1px solid;border-top-color:#4a678538;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,44px)}.page-counter{min-width:88px;color:#14263a;font-variant-numeric:tabular-nums;text-align:center;font-size:.94rem;font-weight:750;letter-spacing:.08em}@media(max-width:699px){html{scroll-snap-type:none}.viewer-header{min-height:58px;padding:9px 14px}.viewer-hint,.viewer-kicker{display:none}.viewer-header h1{margin:0;font-size:.92rem}.viewer-pages{padding:58px 0 64px}.page{min-height:auto;padding:8px 12px;scroll-margin-top:58px}.page-frame{width:min(calc(100vw - 24px),calc((100dvh - 164px) * 16 / 9));border-radius:3px}.viewer-controls{min-height:64px;padding-top:9px;padding-bottom:max(9px,env(safe-area-inset-bottom));gap:10px}button{min-width:82px;min-height:42px;padding:0 15px}.button-label{display:none}.page-counter{min-width:82px;font-size:.86rem}}@media(max-height:500px)and (orientation:landscape){.viewer-header{min-height:48px;padding-block:6px}.viewer-kicker,.viewer-hint{display:none}.page{padding-block:56px 66px}.page-frame{width:min(calc(100vw - 32px),calc((100dvh - 128px) * 16 / 9))}.viewer-controls{min-height:56px;padding-block:6px}button{min-height:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
