html,body{margin:0;padding:0;min-height:100%;background:var(--color-background);font-family:system-ui,sans-serif;color:var(--color-text);overflow-x:clip;overflow-y:auto}*,*:before,*:after{box-sizing:border-box}body{min-height:100dvh;-webkit-overflow-scrolling:touch}:root{--page-gutter: clamp(20px, 4vw, 48px);--section-space: clamp(64px, 8vw, 100px);--section-bridge-space: clamp(28px, 4vw, 48px);--content-gap: clamp(40px, 6vw, 80px);--content-card-padding: clamp(28px, 4vw, 50px);--content-heading-gap: 18px;--color-background: #0f0f0f;--color-surface: #151515;--color-surface-hover: #1f1f1f;--color-text: #fff;--color-text-muted: #ccc;--color-text-subtle: #ddd;--radius-card: 32px;--shadow-card: 0 20px 60px rgba(0, 0, 0, .45);--card-easing: cubic-bezier(.2, .8, .2, 1)}body.modal-open{height:100vh;overflow:hidden!important}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url(/images/noise.svg);opacity:.06;mix-blend-mode:soft-light;z-index:2000}.site-header{position:fixed;top:0;left:0;height:70px;width:100%;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.12);padding:0 24px;display:flex;align-items:center;z-index:5000}.site-header h1{font-size:18px;margin:0;letter-spacing:1px}.header-inner{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px}.site-title a{color:inherit;text-decoration:none;font:inherit;letter-spacing:inherit}.site-main{margin-top:70px}#archive-graph{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#ffffff17}#archive-graph svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.filter{position:absolute;padding:16px 22px;background:#1a1a1a;border-radius:18px;max-width:min(240px,calc(100vw - 32px));min-height:48px;color:#ddd;font-size:15px;line-height:1.45;display:flex;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap;cursor:pointer;box-shadow:0 10px 30px #00000073,inset 0 0 0 1px #ffffff12;backface-visibility:hidden}.filter.is-active{box-shadow:0 10px 30px #00000073,inset 0 0 0 1px #ffffff12,0 0 0 2px color-mix(in srgb,var(--filter-accent) 72%,transparent),0 0 14px color-mix(in srgb,var(--filter-accent) 22%,transparent)}.item{position:absolute;width:58px;aspect-ratio:2 / 3;overflow:hidden;backface-visibility:hidden}.graph-is-animating .filter,.graph-is-animating .item{will-change:transform}.item img{width:100%;height:100%;object-fit:contain;backface-visibility:hidden}.filter-content,.item-content{display:inherit;width:100%;height:100%;align-items:inherit;justify-content:inherit;text-align:inherit}.filter-content{flex-wrap:inherit}.item-content img{width:100%;height:100%;object-fit:contain}.entry-link-item{display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);background:#ffffff0a;color:#fffc;font-family:IBM Plex Mono,monospace;font-size:28px;line-height:1;text-decoration:none;text-shadow:0 4px 14px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .4s ease,border-color .2s ease,background .2s ease,color .2s ease}.entry-link-item.is-revealed{opacity:1;pointer-events:auto}.entry-link-item .item-content{display:grid;place-items:center;text-align:center}.entry-link-item:hover{border-color:#d3dfc8;background:#d3dfc814;color:#d3dfc8}.item-image-fallback{display:grid;width:100%;height:100%;place-items:center;background:#0003;color:#ddd;font-size:10px;text-align:center}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}line{stroke-width:1.4;pointer-events:none}.reset-btn{position:fixed;top:90px;left:20px;padding:8px 14px;border-radius:6px;background:#fff;color:#111;border:none;font-size:14px;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.reset-btn.is-hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.imprint-card{background:var(--color-surface);padding:var(--content-card-padding);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:transform .35s var(--card-easing),background .35s var(--card-easing)}.imprint-card:hover{transform:translateY(-10px) scale(1.03);background:var(--color-surface-hover)}.imprint-card h2,.imprint-card h3{margin:0 0 var(--content-heading-gap);color:var(--color-text);font-weight:600;line-height:1.12}.imprint-card h2{font-size:clamp(26px,3vw,36px)}.imprint-card h3{margin-top:36px;font-size:clamp(20px,2.2vw,26px)}.imprint-card>:first-child{margin-top:0}.imprint-card p{margin:0;color:var(--color-text-muted);font-size:15px;line-height:1.6}.imprint-card p+p{margin-top:1.3em}.species-section{padding:var(--section-space) var(--page-gutter) var(--section-bridge-space);background:#111}.entries-page{margin-top:70px}.entries-body{display:flex;min-height:100dvh;flex-direction:column}.entries-body .entries-page{display:flex;flex:1}.entries-body .species-section{width:100%;padding-bottom:var(--section-space)}.entries-link-section{display:grid;place-items:center;padding:var(--section-bridge-space) var(--page-gutter);background:#111}.entries-link-section[hidden]{display:none}.entries-link-button{padding:10px 18px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#0000008c;color:var(--color-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1;text-decoration:none;cursor:pointer;transition:background .25s ease,transform .25s ease}.entries-link-button:hover{background:#ffffff1f;transform:translateY(-2px)}.species-section__intro{max-width:1200px;margin:0 auto 38px}.species-section__eyebrow{margin:0;color:#d3dfc8;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.flip-card__label{margin:0;color:#111;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.species-section h2{margin:8px 0 10px;font-size:clamp(32px,5vw,64px);font-weight:500;letter-spacing:-.04em}.species-section__intro>p:last-child{margin:0;color:#bdbdbd}.flip-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1200px;margin:0 auto}.flip-card{aspect-ratio:2 / 3;perspective:1100px;cursor:pointer;outline:none;isolation:isolate}.flip-card:focus-visible{border-radius:18px;box-shadow:0 0 0 3px #d3dfc8}.flip-card__inner{position:relative;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform}.flip-card.is-flipped .flip-card__inner{transform:rotateY(180deg)}.flip-card__face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(0) translateZ(1px)}.flip-card__front{display:grid;place-items:center;background:#171717}.flip-card__front img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .65s ease;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-card__image-fallback{display:grid;width:100%;height:100%;box-sizing:border-box;place-items:center;padding:20px;background:linear-gradient(135deg,#222,#101010);color:#bdbdbd;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.4;text-align:center}.flip-card:hover .flip-card__front img{transform:translateZ(0) scale(1.04)}.flip-card__hint{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:#0f0f0fbf;color:#fff;font-family:IBM Plex Mono,monospace;font-size:10px}.flip-card__back{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));padding:24px;box-sizing:border-box;background:#aeb8a5;color:#111;transform:rotateY(180deg) translateZ(1px)}.flip-card__label{grid-row:1;grid-column:1;align-self:start}.flip-card__identity{grid-row:1;grid-column:1;align-self:end;justify-self:start;width:100%;text-align:left}.flip-card__metadata{grid-row:3;grid-column:1;align-self:end}.flip-card__back h3{margin:0 0 2px;font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1}.flip-card__identity>p{margin:0;font-size:15px}.flip-card__details{margin:0;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.6}.flip-card__meta-label{font-weight:500}.flip-card__meta{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(0,0,0,.2);font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.45}@media (max-width: 1180px){.flip-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 820px){.flip-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-footer{background:#0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);padding:18px 32px;display:flex;justify-content:center}.footer-inner{width:100%;max-width:1200px;display:flex;justify-content:space-between}.footer-inner nav{display:flex;align-items:center;gap:16px}.image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0808088c;-webkit-backdrop-filter:blur(8px) brightness(.8);backdrop-filter:blur(8px) brightness(.8);opacity:0;pointer-events:none;transition:opacity .35s ease;display:flex;justify-content:center;align-items:flex-start;padding-top:3vh;z-index:999999}.modal-inner{width:min(92vw,720px);max-height:90vh;background:#1c1c1cf0;border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px #0000008c,inset 0 0 40px #ffffff08;touch-action:pan-y}.modal-header{position:sticky;top:0;z-index:50;background:#111;border-bottom:1px solid rgba(255,255,255,.15);padding:10px 24px;display:flex;flex-direction:column;gap:10px}.modal-header-content{display:flex;flex-direction:column;gap:6px}.meta-scientific-row{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;font-size:18px;font-weight:600}.meta-info-row{display:flex;justify-content:space-between;font-size:14px;color:#ccc}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#111;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:5001}.modal-quiz{padding:10px 24px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.1)}.quiz-question{font-size:14px}.quiz-result{display:none;font-weight:600}.quiz-prompt{display:none;margin-top:10px;padding:16px 20px;border-radius:12px;background:#ffffff14;border-left:4px solid #4ecdc4}.quiz-prompt.show{display:block}.modal-image-wrap{padding:10px 0;display:flex;justify-content:center}.swipe-card{position:relative;touch-action:pan-y;width:100%;aspect-ratio:2 / 3;max-height:calc(90vh - 220px);max-width:calc((90vh - 220px) * 2 / 3);border-radius:14px;overflow:hidden;display:flex;justify-content:center;align-items:center}.swipe-card img{width:100%;height:100%;object-fit:contain;pointer-events:none}.swipe-card,.swipe-card *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.modal-story{padding:10px 24px;background:#141414;border-top:1px solid rgba(255,255,255,.05);display:none}.modal-story.show{display:block}.modal-story-text{font-size:15px;line-height:1.55;color:#d2d2d2}@media (max-width: 600px){.site-header{padding:0 16px}.site-header h1{font-size:16px}.site-footer{padding:18px var(--page-gutter)}.footer-inner{align-items:flex-start;flex-direction:column;gap:12px}.meta-info-row{flex-wrap:wrap;gap:4px 16px}.header-entries-link__full{display:none}.header-entries-link__short{display:inline}.flip-card-grid{gap:12px}.flip-card__back{padding:14px}.flip-card__back h3{font-size:20px}.modal-inner{width:94vw;max-height:88vh}.modal-header{padding:16px 18px}.swipe-card{aspect-ratio:2 / 3;max-height:calc(70vh - 180px);max-width:100%}.modal-quiz,.modal-story{padding:16px 18px}}.quiz-badge{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) scale(.6);padding:14px 26px;border-radius:40px;font-size:16px;font-weight:700;letter-spacing:.5px;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;z-index:50;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.9,.2,1);white-space:nowrap}.quiz-badge.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.quiz-badge.correct{background:linear-gradient(135deg,#4ecdc4,#3ea89e);box-shadow:0 0 30px #4ecdc466}.quiz-badge.wrong{background:linear-gradient(135deg,#ff6b6b,#d24c4c);box-shadow:0 0 30px #ff6b6b4d}.image-anim-wrapper{position:relative}.swipe-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,#ffffff26,#0000004d);opacity:0;transition:opacity .15s}.swipe-label{position:absolute;top:18px;padding:8px 16px;font-size:20px;border-radius:6px;font-weight:700;opacity:0;transform:scale(.85);transition:.2s ease;pointer-events:none}.swipe-yes{left:22px;background:#0808088c}.swipe-no{right:18px;background:#0808088c}.swipe-label.active{opacity:1;transform:scale(1)}.swipe-direction-hint{position:absolute;top:50%;z-index:45;width:clamp(54px,9vw,78px);height:auto;opacity:0;pointer-events:none;overflow:visible;filter:drop-shadow(0 3px 7px rgba(0,0,0,.65));transition:opacity .3s ease,transform .3s ease}.swipe-direction-hint .swipe-arrow-outline,.swipe-direction-hint .swipe-arrow-body{fill:none;stroke-linecap:round}.swipe-direction-hint .swipe-arrow-outline{stroke:#111;stroke-width:21}.swipe-direction-hint .swipe-arrow-body{stroke:#ffffffeb;stroke-width:14}.swipe-direction-hint .swipe-arrow-head{fill:#ffffffeb;stroke:#111;stroke-width:4;stroke-linejoin:round}.swipe-direction-hint--left{left:clamp(-94px,-10vw,-68px);transform:translate(7px,-50%) scaleX(-1) rotate(45deg)}.swipe-direction-hint--right{right:clamp(-94px,-10vw,-68px);transform:translate(-7px,-50%) rotate(45deg)}.image-anim-wrapper.show-direction-hints .swipe-direction-hint{opacity:.9}.image-anim-wrapper.show-direction-hints .swipe-direction-hint--left{transform:translateY(-50%) scaleX(-1) rotate(40deg)}.image-anim-wrapper.show-direction-hints .swipe-direction-hint--right{transform:translateY(-50%) rotate(40deg)}.footer-inner span{opacity:.85;font-size:14px;color:var(--color-text-subtle)}.footer-inner nav a{color:var(--color-text-muted);text-decoration:none;font-size:14px;padding:4px 8px;border-radius:6px;border:1px solid transparent;transition:color .25s ease,background .25s ease,border-color .25s ease}.footer-inner nav a:hover{color:var(--color-text);background:#ffffff14;border-color:#ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.imprint-section{margin-top:70px;padding:var(--section-space) var(--page-gutter);display:flex;flex-direction:column;gap:var(--content-gap);max-width:calc(900px + var(--page-gutter) + var(--page-gutter));margin-left:auto;margin-right:auto}.imprint-card a{color:var(--color-text-subtle);text-decoration:underline}.header-entries-link{padding:10px 18px;font-size:13px;border-radius:999px;background:#0000008c;color:var(--color-text);border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;text-decoration:none;transition:background .25s ease,transform .25s ease}.header-actions{display:flex;align-items:center;gap:8px}.header-entries-link:hover{background:#ffffff1f;transform:translateY(-2px)}.header-entries-link__short{display:none}.scroll-top-btn{padding:4px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:14px;cursor:pointer;transition:color .25s ease,background .25s ease,border-color .25s ease}.scroll-top-btn:hover{border-color:#ffffff26;background:#ffffff14;color:var(--color-text)}.floating-scroll-top-btn{position:fixed;right:24px;bottom:24px;z-index:10000;padding:10px 18px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--color-text);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s ease,background .25s ease,transform .25s ease}.floating-scroll-top-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-scroll-top-btn:hover{background:#ffffff1f;transform:translateY(-2px)}@media (max-width: 768px){.image-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#080808e0}}@media (max-width: 600px){.header-entries-link__full{display:none}.header-entries-link__short{display:inline}}
