.catalog-page{background:var(--sand,#f4f0e9);padding:26px 0 60px;color:var(--taada-navy,#0b2638)}
.catalog-breadcrumb{display:flex;gap:12px;color:#65716f;font-size:12px;margin-bottom:32px}.catalog-breadcrumb a:hover{color:#e3222a}
.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:30px}.catalog-heading h1{font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(30px,3.7vw,46px);font-weight:600;letter-spacing:.08em;line-height:1.35;margin:8px 0 16px}.catalog-heading h1 span{font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:13px;font-weight:500;letter-spacing:.16em;display:inline-block;border-left:1px solid #bac1bd;padding-left:18px;margin-left:18px;vertical-align:middle}.catalog-heading p:last-child{font-size:14px;color:#60706f;margin:0}.catalog-edition{border-left:1px solid #cccfc9;padding-left:30px;display:grid;gap:5px;flex-shrink:0}.catalog-edition>span{color:#95866f;letter-spacing:.2em;font-size:10px}.catalog-edition strong{font-weight:500;font-size:16px;letter-spacing:.06em}.catalog-edition small{color:#6c7779;font-size:12px;letter-spacing:.12em}
.catalog-reader{position:relative;border:1px solid #d3d8d2;background:#e6e8e0;box-shadow:0 24px 60px #0b263810;isolation:isolate}.catalog-reader button{cursor:pointer}.catalog-reader button:disabled{opacity:.3;cursor:default}.catalog-reader button:focus-visible,.catalog-reader input:focus-visible{outline:3px solid #178c95;outline-offset:3px}.catalog-reader svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.catalog-reader [hidden]{display:none!important}
.catalog-toolbar{height:60px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;background:#fbfaf6;border-bottom:1px solid #d3d8d2;gap:12px}.catalog-tools{display:flex;gap:17px;align-items:center}.catalog-tools button{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:#213e47;font-size:12px;min-height:40px;padding:4px}.catalog-tools button:not(:disabled):hover{color:#e3222a}.catalog-toolbar-divider{height:19px;width:1px;background:#d8dad2}.catalog-reader-name{font-size:12px;letter-spacing:.08em;color:#6c7779}
.catalog-workspace{position:relative;display:flex;min-width:0}.catalog-stage{position:relative;flex:1;min-width:0;height:clamp(420px,65vh,850px);display:flex;justify-content:center;align-items:center;padding:24px 65px;background:radial-gradient(ellipse at 50% 20%,#f5f3ed 0%,#e7e8e0 65%,#dce3dc 100%);overflow:hidden;touch-action:pan-y pinch-zoom}.catalog-book{display:flex;align-items:center;justify-content:center;height:100%;max-width:100%;gap:0;filter:drop-shadow(0 8px 16px #0b263825)}.catalog-leaf{position:relative;display:block;border:0;padding:0;background:#fff;height:100%;max-width:100%;aspect-ratio:var(--page-ratio,.7071);overflow:hidden;cursor:zoom-in!important;flex:0 1 auto}.catalog-leaf img{height:100%;width:100%;object-fit:contain;display:block;background:#fff}.catalog-leaf:first-child:nth-last-child(2):after{content:"";position:absolute;inset:0 0 0 auto;width:22px;background:linear-gradient(90deg,transparent,#00000013);pointer-events:none}.catalog-leaf+ .catalog-leaf:after{content:"";position:absolute;inset:0 auto 0 0;width:15px;background:linear-gradient(90deg,#00000012,transparent);pointer-events:none}.catalog-book.is-turning{animation:catalog-page-in .26s ease-out}@keyframes catalog-page-in{from{opacity:.4;transform:translateX(8px)}to{opacity:1;transform:none}}
.catalog-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:56px;display:grid;place-items:center;border:1px solid #bbc7bf;background:#f7f8f1b3;color:#163b47;border-radius:2px;z-index:2}.catalog-arrow:not(:disabled):hover{background:#0b2638;color:#fff;border-color:#0b2638}.catalog-arrow--prev{left:12px}.catalog-arrow--next{right:12px}.catalog-message{text-align:center;max-width:460px;position:absolute;padding:24px}.catalog-message-kicker{font-size:12px;letter-spacing:.18em;color:#6d7e75}.catalog-message h2{font-family:"Noto Serif TC","Songti TC",serif;font-size:25px;font-weight:500;margin:16px 0 10px}.catalog-message p{font-size:14px;color:#63736d}.catalog-message button{border:1px solid #b8c3b9;padding:8px 24px;background:#fcfbf7}.catalog-message a{color:#a72229;text-decoration:underline}
.catalog-bottom-bar{background:#fbfaf6;border-top:1px solid #d3d8d2;min-height:66px;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.catalog-hint,.catalog-page-status{font-size:11px;color:#6c7779;flex:1}.catalog-page-status{text-align:right}.catalog-pagination{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}.catalog-pagination button{border:1px solid #d6dbd3;min-width:32px;min-height:34px;background:white;color:#173843;padding:2px 7px}.catalog-pagination input{width:46px;height:34px;text-align:center;border:1px solid #bccac2;background:white;border-radius:0;appearance:textfield}.catalog-pagination input::-webkit-inner-spin-button{appearance:none}.catalog-pagination button:hover:not(:disabled){background:#eaf0e9}
.catalog-thumbnails{flex:0 0 200px;width:200px;background:#f9f9f3;border-right:1px solid #d3d8d2;overflow:auto;max-height:clamp(420px,65vh,850px);padding:12px}.catalog-thumbnails-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px}.catalog-thumbnails-heading button{background:none;border:0;font-size:24px;line-height:1;padding:4px 7px}.catalog-thumb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px}.catalog-thumb{border:1px solid transparent;background:transparent;padding:4px;color:#63736d;font-size:11px}.catalog-thumb img{width:100%;height:auto;aspect-ratio:var(--page-ratio,.7071);object-fit:contain;background:white;border:1px solid #dce1d7;margin-bottom:4px}.catalog-thumb[aria-current="page"]{border-color:#a7242e;background:#f1e9df;color:#a7242e}.catalog-afterword{display:flex;align-items:center;gap:24px;padding-top:28px;font-size:12px;color:#576c6f}.catalog-afterword p{margin-right:auto;font-family:"Noto Serif TC","Songti TC",serif;font-size:16px;letter-spacing:.06em}.catalog-afterword a{border-bottom:1px solid #abb5ad;padding-bottom:4px;white-space:nowrap}.catalog-afterword a:hover{color:#e3222a}
.catalog-zoom-dialog{width:min(98vw,1600px);height:96dvh;max-width:none;max-height:none;margin:auto;border:0;padding:0;background:#e5e9e2;color:#0b2638;box-shadow:0 20px 100px #0008}.catalog-zoom-dialog::backdrop{background:#081e2dda}.catalog-zoom-toolbar{height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fcfbf7;border-bottom:1px solid #cdd8cd;font-size:13px}.catalog-zoom-toolbar>div{display:flex;align-items:center;gap:12px}.catalog-zoom-toolbar button{border:1px solid #c6d0c5;background:#fff;min-width:36px;min-height:38px;padding:3px 8px}.catalog-zoom-scroll{height:calc(100% - 60px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;padding:20px}.catalog-zoom-scroll img{max-width:none;height:auto;box-shadow:0 3px 25px #12202d22;margin:auto}.catalog-noscript{padding:24px;text-align:center}.catalog-noscript a{text-decoration:underline}
.catalog-reader:fullscreen,.catalog-reader.is-fullscreen{width:100%;height:100dvh;border:0;display:flex;flex-direction:column;background:#e6e8e0}.catalog-reader.is-fullscreen{position:fixed;inset:0;z-index:9999}.catalog-reader:fullscreen .catalog-workspace,.catalog-reader.is-fullscreen .catalog-workspace{flex:1;min-height:0}.catalog-reader:fullscreen .catalog-stage,.catalog-reader.is-fullscreen .catalog-stage{height:100%}.catalog-reader:fullscreen .catalog-thumbnails,.catalog-reader.is-fullscreen .catalog-thumbnails{max-height:100%}
@media(max-width:1100px){.catalog-edition{display:none}.catalog-hint{display:none}.catalog-bottom-bar{justify-content:center}.catalog-page-status{flex:0 1 auto}.catalog-heading{margin-bottom:22px}}
@media(max-width:760px){.catalog-page{padding:18px 0 38px}.catalog-page>.site-container{width:calc(100% - 24px)}.catalog-breadcrumb{margin-bottom:24px}.catalog-heading{padding:0 8px}.catalog-heading h1{font-size:31px}.catalog-heading h1 span{display:block;font-size:12px;border:0;padding:0;margin:8px 0 0;letter-spacing:.17em}.catalog-heading p:last-child{font-size:13px;max-width:310px}.catalog-toolbar{padding:0 12px;height:54px}.catalog-reader-name,.catalog-toolbar-divider{display:none}.catalog-tools{gap:12px}.catalog-tools button{gap:5px;font-size:11px}.catalog-stage{height:min(72vh,660px);min-height:355px;padding:20px 35px}.catalog-arrow{width:27px;height:45px;border-color:transparent;background:transparent}.catalog-arrow--prev{left:2px}.catalog-arrow--next{right:2px}.catalog-arrow svg{width:19px}.catalog-bottom-bar{flex-wrap:wrap;gap:6px;padding:10px 8px}.catalog-page-status{flex-basis:100%;text-align:center;font-size:10px}.catalog-pagination{gap:9px}.catalog-thumbnails{position:absolute;left:0;top:0;bottom:0;z-index:5;max-height:100%;box-shadow:12px 0 20px #0b263818}.catalog-afterword{gap:15px;flex-wrap:wrap;padding:22px 8px 0}.catalog-afterword p{flex-basis:100%;margin:0 0 3px;font-size:15px}.catalog-zoom-dialog{width:100vw;height:100dvh}.catalog-zoom-toolbar{font-size:11px;padding:8px}.catalog-zoom-toolbar>div{gap:6px}.catalog-zoom-scroll{padding:12px}}
@media(prefers-reduced-motion:reduce){.catalog-book.is-turning{animation:none}}
.catalog-reader:fullscreen .catalog-stage,.catalog-reader.is-fullscreen .catalog-stage{min-height:0}
.catalog-reader:fullscreen .catalog-toolbar,.catalog-reader:fullscreen .catalog-bottom-bar,.catalog-reader.is-fullscreen .catalog-toolbar,.catalog-reader.is-fullscreen .catalog-bottom-bar{flex-shrink:0}

/* A full viewport for reading: site navigation remains above the book. */
.catalog-reading-page .site-header{position:relative;top:auto}
.catalog-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-page{padding:8px 0}
.catalog-page>.site-container{width:calc(100% - 16px);max-width:none}
.catalog-reader{height:max(280px,calc(100vh - 16px));height:max(280px,calc(100dvh - 16px));display:flex;flex-direction:column;box-shadow:none;scroll-margin-top:0}
.catalog-workspace{flex:1;min-height:0}
.catalog-stage{height:auto;align-self:stretch;min-height:0;padding:12px 32px 64px}
.catalog-book{flex:none;max-width:100%}
.catalog-leaf{flex-shrink:0}
.catalog-thumbnails{max-height:100%;min-height:0;padding-bottom:74px}
.catalog-bottom-bar{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:8;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;width:max-content;max-width:calc(100% - 24px);height:44px;min-height:44px;gap:14px;padding:4px 12px;border:1px solid #d3d8d2;border-radius:6px;background:#fffef9f2;box-shadow:0 3px 18px #0b263818;backdrop-filter:blur(8px)}
.catalog-bottom-bar .catalog-tools{gap:12px}
.catalog-bottom-bar .catalog-tools button{min-height:34px;padding:3px;font-size:11px}
.catalog-pagination{gap:7px;font-size:11px}
.catalog-pagination input{width:42px;height:32px}
.catalog-pagination button{min-height:32px;min-width:28px}
.catalog-arrow{z-index:6;background:#fcfcf3d9}
.catalog-arrow--prev{left:5px}.catalog-arrow--next{right:5px}
.catalog-reader:fullscreen,.catalog-reader.is-fullscreen{height:100dvh}
@media(max-width:760px){
  .catalog-page{padding:4px 0}
  .catalog-page>.site-container{width:calc(100% - 8px)}
  .catalog-reader{height:max(280px,calc(100vh - 8px));height:max(280px,calc(100dvh - 8px))}
  .catalog-stage{padding:6px 6px 58px}
  .catalog-bottom-bar{bottom:6px;max-width:calc(100% - 12px);height:42px;min-height:42px;padding:4px 8px;gap:10px}
  .catalog-bottom-bar .catalog-tools{gap:6px}
  .catalog-bottom-bar .catalog-tools button{min-width:30px;min-height:32px}
  .catalog-bottom-bar .catalog-tools button span,.catalog-pagination label,#catalog-go{display:none}
  .catalog-pagination{gap:6px}.catalog-pagination input{width:38px}.catalog-pagination button{min-width:24px;padding:2px 4px}
  .catalog-arrow{width:27px;height:44px;border:1px solid #c4cec0b3;box-shadow:0 2px 8px #0b263818}
  .catalog-arrow--prev{left:2px}.catalog-arrow--next{right:2px}
  .catalog-reader:fullscreen,.catalog-reader.is-fullscreen{height:100dvh}
}
