@font-face{font-family:"LiuXin Title";src:url("./fonts/liuxin-title-heavy.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
:root{--paper:#f7f6f2;--ink:#252b27;--muted:#777a72;--accent:#747e5c;--line:#ddded6;--header-height:72px;font-family:Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);scrollbar-gutter:stable}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.22;cursor:default}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}::selection{background:#dde3d0}.title-font{font-family:"LiuXin Title","Source Han Serif TC","Noto Serif TC",serif;font-weight:900}
.site-header{position:sticky;top:0;z-index:10;height:var(--header-height);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;font-size:21px;letter-spacing:.06em;white-space:nowrap}.blog-link{font-size:12px;letter-spacing:.08em;white-space:nowrap}.blog-link span{margin-left:13px;font-size:19px}
.intro{padding:35px 42px 38px}.intro p{font-size:15px;line-height:2;letter-spacing:.055em;margin:0;color:#5f675e}.gallery{width:100%;line-height:0;overflow:hidden;min-height:1px;scroll-margin-top:var(--header-height)}.photo-row{display:flex;width:100%;gap:0;overflow:hidden}.photo{position:relative;display:block;flex-shrink:0;padding:0;overflow:hidden;background:#d7dbd2;line-height:0;cursor:zoom-in}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.6,.32,1)}.photo:hover img{transform:scale(1.025)}.photo:focus-visible{outline:2px solid white;outline-offset:-5px;z-index:2}.photo.failed:after{content:"照片暫時無法載入";position:absolute;inset:0;display:grid;place-items:center;line-height:1.5;font-size:12px;color:#4c534b}
#scroll-sentinel{height:1px}.site-footer{padding:30px 42px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.08em}.site-footer button{font-size:11px;white-space:nowrap}.site-footer button span{margin-left:16px}.skip-link{position:fixed;left:10px;top:-80px;background:var(--paper);padding:16px;z-index:100}.skip-link:focus{top:10px}.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}.gallery-message{text-align:center;font-size:13px;line-height:2;padding:45px 20px;color:var(--muted)}
dialog{padding:0;border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#131613;color:#f3f3eb;overflow:hidden}dialog::backdrop{background:#131613}dialog[open]{display:flex;flex-direction:column}.lightbox-header{height:74px;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 35px;border-bottom:1px solid #ffffff15}.lightbox-brand{letter-spacing:.08em;font-size:20px}#lightbox-count{font:12px Georgia,serif;letter-spacing:.15em;color:#c2c8bb}.icon-button{width:44px;height:44px;display:grid;place-items:center;color:#f7f6f2}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;padding:20px 80px}.lightbox-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto}.previous,.next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.previous{left:20px}.next{right:20px}.lightbox-caption{padding:15px 40px 27px;display:flex;align-items:center;gap:30px;min-height:58px}#photo-credit{font-size:10px;color:#a4ab9f;line-height:1.8}.keyboard-hint{font-size:9px;letter-spacing:.08em;color:#7d8678;margin-left:auto}#lightbox-error{position:absolute;top:45%;left:0;right:0;text-align:center;font-size:13px}body.modal-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1700px){.site-header,.intro,.site-footer{padding-left:56px;padding-right:56px}}
@media(max-width:700px){:root{--header-height:60px}.site-header{padding:0 20px;gap:10px}.brand{font-size:18px;gap:10px;letter-spacing:.035em}.blog-link{font-size:10px;letter-spacing:0}.blog-link span{margin-left:5px}.intro{padding:27px 22px 30px}.intro p{font-size:13px;line-height:2;letter-spacing:.025em}.site-footer{padding:25px 22px 29px;font-size:11px;letter-spacing:.025em}.site-footer button{font-size:10px}.site-footer button span{margin-left:7px}.lightbox-header{height:60px;min-height:60px;padding:0 13px;gap:5px}.lightbox-brand{font-size:17px}#lightbox-count{font-size:10px;letter-spacing:.05em}.lightbox-stage{padding:10px 0}.previous,.next{top:auto;bottom:-52px;transform:none}.previous{left:auto;right:65px}.next{right:13px}.lightbox-caption{padding:15px 20px 23px;min-height:70px}#photo-credit{font-size:9px;display:block;max-width:calc(100% - 95px)}.keyboard-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
