:root{color-scheme:light;--ink:#111;--muted:#696969;--line:#d8d8d4;--paper:#f6f6f2;--white:#fff;--surface:#ebebe6;--page-gutter:clamp(1.1rem, 4vw, 4.5rem);--image-radius:clamp(.7rem, 1.15vw, 1.15rem);--display:"Arial Narrow", "Helvetica Neue", "Noto Sans SC", Arial, sans-serif;--body:Inter, "Helvetica Neue", "Noto Sans SC", Arial, sans-serif}html[data-theme=dark]{color-scheme:dark;--ink:#f2f1eb;--muted:#a6a59f;--line:#373735;--paper:#121212;--surface:#242422}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}[data-lang=en],html[data-language=en] [data-lang=zh]{display:none}html[data-language=en] [data-lang=en]{display:initial}.skip-link{z-index:100;background:var(--ink);color:var(--white);padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;min-height:4.75rem;padding:0 var(--page-gutter);background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1.5rem;transition:background-color .35s,border-color .35s,box-shadow .35s;display:flex;position:sticky;top:0}.site-header.is-scrolled{border-color:color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--paper) 76%, transparent);backdrop-filter:blur(18px)saturate(140%);box-shadow:0 .65rem 2rem #0000000b}.brand{letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:1.75rem;height:1.75rem;fill:var(--ink)}.brand .brand-eye{fill:var(--paper)}.header-controls{align-items:center;gap:.15rem;display:flex}.control-button{min-width:2.65rem;min-height:2.65rem;color:var(--muted);cursor:pointer;letter-spacing:.08em;background:0 0;border:0;justify-content:center;align-items:center;gap:.38rem;padding:0 .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.control-button:hover{color:var(--ink)}.control-button svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.theme-icon-moon,html[data-theme=dark] .theme-icon-sun{display:none}html[data-theme=dark] .theme-icon-moon{display:block}.back-to-top{z-index:45;border:1px solid color-mix(in srgb, var(--line) 76%, transparent);width:3.25rem;height:3.25rem;color:var(--ink);background:color-mix(in srgb, var(--paper) 80%, transparent);backdrop-filter:blur(16px)saturate(140%);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;border-radius:50%;place-items:center;padding:0;transition:opacity .28s,visibility .28s,transform .35s cubic-bezier(.22,1,.36,1),background-color .2s;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);transform:translateY(.75rem)scale(.94);box-shadow:0 .75rem 2rem #0000001a}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.back-to-top:hover{background:var(--paper);transform:translateY(-2px)scale(1)}.back-to-top svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}main{min-height:calc(100vh - 4.75rem)}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:700}.detail-title h1,.empty-state h1,.not-found h1{font-family:var(--display);letter-spacing:-.065em;margin:0;font-size:clamp(3.3rem,8.8vw,9rem);font-weight:500;line-height:.84}.masonry{padding:clamp(1.5rem, 3vw, 3rem) var(--page-gutter) clamp(4rem, 9vw, 8rem);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:8px;gap:clamp(1.1rem,2vw,2rem) clamp(.8rem,1.5vw,1.4rem);display:grid}.gallery-card{align-self:start;min-width:0}.gallery-card[data-card-size=large]{grid-column:span 2}.gallery-card a{text-decoration:none;display:block}.gallery-card figure{border-radius:var(--image-radius);margin:0;position:relative;overflow:hidden}.image-shell{background:var(--surface);position:relative;overflow:hidden}.image-shell img{z-index:1;object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .25s;position:relative}.image-fallback{background:repeating-linear-gradient(135deg, var(--surface) 0, var(--surface) 1px, color-mix(in srgb, var(--surface), var(--paper) 50%) 1px, color-mix(in srgb, var(--surface), var(--paper) 50%) 12px);color:var(--muted);letter-spacing:.2em;place-items:center;font-size:.75rem;display:grid;position:absolute;inset:0}.image-error img{opacity:0}.gallery-card a:hover img,.gallery-card a:focus-visible img{transform:scale(1.045)}.gallery-card figcaption{z-index:2;min-height:38%;color:var(--white);pointer-events:none;background:linear-gradient(#0000 0%,#00000047 42%,#000000b8 100%);justify-content:space-between;align-items:end;gap:1rem;padding:clamp(2.5rem,5vw,4.5rem) 1rem 1rem;transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:auto 0 0}.gallery-card h2{text-shadow:0 1px 12px #00000059;margin:0;font-size:1rem;font-weight:600;line-height:1.35}.gallery-card figcaption p{color:#ffffffc2;text-shadow:0 1px 10px #0006;margin:.18rem 0 0;font-family:Georgia,serif;font-size:.82rem;font-style:italic}.gallery-card a:hover figcaption,.gallery-card a:focus-visible figcaption{opacity:0}.gallery-card-hover{z-index:3;color:#fff;letter-spacing:.12em;opacity:0;pointer-events:none;background:#0000007a;justify-content:center;align-items:center;gap:.55rem;font-size:.8rem;font-weight:700;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0}.gallery-card-hover svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.gallery-card a:hover .gallery-card-hover,.gallery-card a:focus-visible .gallery-card-hover{opacity:1}.gallery-sentinel{pointer-events:none;height:1px}.gallery-sentinel[hidden]{display:none}.detail-page{padding:clamp(1.5rem, 4vw, 3rem) var(--page-gutter) clamp(4rem, 8vw, 7rem)}.back-link{z-index:40;border:1px solid color-mix(in srgb, var(--line) 76%, transparent);width:3.25rem;height:3.25rem;color:var(--ink);background:color-mix(in srgb, var(--paper) 82%, transparent);backdrop-filter:blur(16px)saturate(140%);border-radius:50%;place-items:center;margin-bottom:clamp(1.5rem,4vw,3rem);font-size:2rem;font-weight:700;line-height:1;text-decoration:none;transition:color .2s,background-color .2s,transform .2s;display:grid;position:sticky;top:calc(4.75rem + clamp(1rem,4vw,3rem));box-shadow:0 .6rem 1.8rem #00000014}.back-link:hover{background:var(--paper);transform:translate(-2px)}.detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.85fr);align-items:start;gap:clamp(2rem,5vw,6rem);display:grid}.detail-figure{margin:0}.detail-figure .image-shell{border-radius:clamp(.9rem,1.5vw,1.5rem)}.detail-image-viewer{--viewer-scale:1;--viewer-x:0px;--viewer-y:0px;cursor:zoom-in;outline-offset:4px;touch-action:none;user-select:none}.detail-image-viewer img{transform:translate3d(var(--viewer-x), var(--viewer-y), 0) scale(var(--viewer-scale));transform-origin:50%;will-change:transform;transition:clip-path .8s cubic-bezier(.22,1,.36,1),transform .16s ease-out,opacity .25s}.detail-image-viewer:fullscreen{cursor:zoom-out;background:#000;border-radius:0;width:100vw;height:100vh;aspect-ratio:auto!important}.detail-image-viewer:fullscreen img{object-fit:cover}.detail-image-viewer:fullscreen.is-zoomed{cursor:grab}.detail-image-viewer:fullscreen.is-dragging{cursor:grabbing}.viewer-nav{z-index:4;color:#fff;backdrop-filter:blur(12px);cursor:pointer;background:#00000052;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:clamp(2.6rem,4.5vw,3.5rem);height:clamp(2.6rem,4.5vw,3.5rem);padding:0;transition:opacity .2s,background-color .2s,transform .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 .35rem 1.5rem #00000029}.viewer-nav:hover:not(:disabled){background:#00000094}.viewer-nav:disabled{opacity:0;pointer-events:none}.viewer-nav-previous{left:clamp(.65rem,2vw,1.5rem)}.viewer-nav-next{right:clamp(.65rem,2vw,1.5rem)}.viewer-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.viewer-image-counter{z-index:4;color:#fff;letter-spacing:.08em;backdrop-filter:blur(12px);pointer-events:none;background:#0000006b;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:700;line-height:1;transition:opacity .2s;position:absolute;bottom:1rem;right:1rem}.detail-image-viewer.is-zoomed .viewer-nav,.detail-image-viewer.is-zoomed .viewer-image-counter{opacity:0;pointer-events:none}.viewer-zoom-indicator{z-index:4;color:#fff;letter-spacing:-.04em;text-align:center;text-shadow:0 2px 18px #000000b3;opacity:0;pointer-events:none;background:0 0;font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1;transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.94)}.viewer-zoom-indicator.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.detail-figure figcaption{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:.65rem;font-size:.72rem;display:flex}.detail-figure figcaption a{text-underline-offset:.18em}.detail-content{padding-top:clamp(.5rem,3vw,3rem);position:sticky;top:2rem}.detail-title h1{font-size:clamp(3.2rem,6vw,6.8rem)}.scientific-name{color:var(--muted);margin:1.1rem 0 0;font-family:Georgia,serif;font-size:1.05rem;font-style:italic}.facts-list{border-top:1px solid var(--line);margin:0}.facts-list>div{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.facts-list dt,.exif-grid dt{color:var(--muted);font-size:.78rem}.facts-list dd,.exif-grid dd{margin:0;font-size:.9rem}.exif-section{margin-top:2.5rem}.exif-section h2{letter-spacing:.16em;margin:0 0 1rem;font-size:.78rem}.exif-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0;display:grid}.exif-grid>div{background:var(--surface);padding:.75rem}.exif-grid>div:nth-child(-n+2){grid-column:1/-1}.exif-grid>div:nth-last-child(-n+2){grid-column:span 2}.exif-grid dd{overflow-wrap:anywhere;margin-top:.25rem}.empty-state,.not-found{min-height:68vh;padding:clamp(4rem, 10vw, 9rem) var(--page-gutter);flex-direction:column;justify-content:center;display:flex}.empty-state h1,.not-found h1{max-width:15ch;font-size:clamp(3rem,7vw,7rem)}.empty-state>p:last-child,.not-found>p{max-width:34rem;color:var(--muted)}.error-code{letter-spacing:.18em;margin:0 0 1rem;font-size:.78rem;font-weight:700}.text-link{text-underline-offset:.3em;margin-top:1.5rem;font-weight:700}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media (width<=1100px){.masonry{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:2.5rem}}@media (width<=800px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}.detail-content{position:static}}@media (width<=520px){.site-header{min-height:4.4rem}.brand{letter-spacing:.09em;font-size:.76rem}.brand svg{width:1.45rem;height:1.45rem}.masonry{grid-template-columns:1fr}.gallery-card[data-card-size=large]{grid-column:span 1}.detail-page{padding-top:1rem}.back-link{top:5.4rem}.detail-title h1{font-size:clamp(3.2rem,18vw,5rem)}.facts-list>div{grid-template-columns:5rem 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
