@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400..600&display=swap";:root{color-scheme:dark;--abyss: #061617;--deep: #0b2a2b;--surface: #103739;--raised: #17494b;--line: #21575a;--line-soft: #143c3e;--coral: #ff7a45;--coral-hot: #ff9264;--coral-dim: #b8512a;--mint: #4cc9a7;--amber: #f2b705;--blood: #e23d3d;--text: #eaf3f1;--text-muted: #9db4b2;--text-faint: #7e9a98;--font-display: "Newsreader", Georgia, serif;--font-ui: "Instrument Sans", system-ui, -apple-system, sans-serif;--display-1: 400 clamp(2.4rem, 1.6rem + 3.4vw, 4rem) / 1.03 var(--font-display);--display-2: 400 clamp(1.9rem, 1.4rem + 2.2vw, 2.75rem) / 1.09 var(--font-display);--display-3: 500 clamp(1.45rem, 1.2rem + 1.1vw, 1.875rem) / 1.2 var(--font-display);--title: 600 1.25rem/1.3 var(--font-ui);--body: 400 1.0625rem/1.65 var(--font-ui);--body-sm: 400 .9375rem/1.6 var(--font-ui);--data: 500 .9375rem/1.5 var(--font-ui);--label: 700 .75rem/1.2 var(--font-ui);--tracking-display: -.02em;--tracking-label: .14em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--s9: 96px;--r-chip: 8px;--r-media: 12px;--r-card: 14px;--r-pill: 999px;--flat: none;--raise: 0 1px 2px rgb(3 12 13 / .5), 0 12px 28px -14px rgb(3 12 13 / .7);--focus: 0 0 0 3px rgb(255 122 69 / .35);--wrap: 1200px;--measure: 68ch}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--abyss);color:var(--text);font:var(--body);-webkit-font-smoothing:antialiased}a{color:var(--coral);text-underline-offset:3px}a:hover{color:var(--coral-hot)}img{max-width:100%;display:block}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-chip)}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}.masthead{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--abyss) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.masthead-inner{display:flex;align-items:center;gap:var(--s6);min-height:64px}.brand{font-family:var(--font-display);font-size:1.375rem;letter-spacing:var(--tracking-display);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.brand b{font-weight:600;color:var(--coral)}.nav{display:flex;gap:var(--s5);flex:1;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{font:var(--body-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;padding-block:var(--s2);border-bottom:2px solid transparent;-webkit-user-select:none;user-select:none}.nav-item:hover{color:var(--text)}.nav-item.on{color:var(--text);border-bottom-color:var(--coral)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font:600 .9375rem/1 var(--font-ui);padding:12px 18px;min-height:42px;border-radius:var(--r-chip);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--coral);color:#1a0a04;border-color:var(--coral)}.btn-primary:hover{background:var(--coral-hot);border-color:var(--coral-hot);color:#1a0a04}.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn-ghost:hover{border-color:var(--coral);color:var(--coral)}.btn[disabled]{opacity:.45;pointer-events:none}.tag{display:inline-flex;align-items:center;font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill);background:var(--raised);color:var(--text-muted);border:1px solid var(--line)}.tag-coral{background:#ff7a4524;color:var(--coral);border-color:#ff7a4559}.tag-row{display:flex;flex-wrap:wrap;gap:var(--s2)}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:var(--tracking-display);margin:0}.display-1{font:var(--display-1);letter-spacing:var(--tracking-display)}.display-2{font:var(--display-2);letter-spacing:var(--tracking-display)}.display-3{font:var(--display-3);letter-spacing:var(--tracking-display)}.binomial{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--text-muted)}.label{font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.lede{font:400 1.1875rem/1.6 var(--font-ui);color:var(--text-muted);max-width:60ch}.prose{max-width:var(--measure)}.prose p{margin:0 0 var(--s5);color:var(--text-muted)}.prose strong{color:var(--text);font-weight:600}.section-heading{font:var(--display-3);margin:var(--s7) 0 var(--s4);scroll-margin-top:96px}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);overflow:hidden;transition:border-color .18s ease,transform .18s ease}.card:hover{border-color:var(--line);transform:translateY(-2px)}.card-media{aspect-ratio:16/10;background:var(--deep) center/cover no-repeat;position:relative}.card-body{padding:var(--s5);display:grid;gap:var(--s3)}.card-title{font:var(--display-3)}.card-blurb{font:var(--body-sm);color:var(--text-muted);margin:0}.grid{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.stats{display:flex;flex-wrap:wrap;gap:var(--s5)}.stat{display:grid;gap:2px}.stat dt{font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.stat dd{margin:0;font:var(--data);color:var(--text);font-variant-numeric:tabular-nums}.table{width:100%;border-collapse:collapse;font:var(--body-sm)}.table th,.table td{text-align:left;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line-soft)}.table th{font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.table td{color:var(--text-muted)}.table td:first-child{color:var(--text)}.table tr:last-child td{border-bottom:0}.table-wrap{border:1px solid var(--line-soft);border-radius:var(--r-media);overflow-x:auto;background:var(--surface)}.callout{display:grid;gap:var(--s2);padding:var(--s5);border-radius:var(--r-media);border:1px solid;margin:var(--s5) 0}.callout-title{font:600 .9375rem/1.3 var(--font-ui);display:flex;align-items:center;gap:var(--s2)}.callout p{margin:0;font:var(--body-sm);color:var(--text-muted)}.callout-danger{background:#e23d3d1a;border-color:#e23d3d66}.callout-danger .callout-title{color:var(--blood)}.callout-caution{background:#f2b7051a;border-color:#f2b70559}.callout-caution .callout-title{color:var(--amber)}.callout-tip{background:#4cc9a717;border-color:#4cc9a752}.callout-tip .callout-title{color:var(--mint)}.callout-legal{background:var(--raised);border-color:var(--line)}.callout-legal .callout-title{color:var(--text)}.page{padding-block:var(--s7) var(--s9)}.two-col{display:grid;gap:var(--s7);align-items:start}@media(min-width:62rem){.two-col{grid-template-columns:minmax(0,1fr) 20rem}}.rail{display:grid;gap:var(--s5);position:sticky;top:88px}.rail-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:var(--s5);display:grid;gap:var(--s3)}.rail-card h2{font:var(--title);font-family:var(--font-ui)}.toc{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none}.toc a{font:var(--body-sm);color:var(--text-muted);text-decoration:none}.toc a:hover{color:var(--coral)}.profile-head{display:grid;gap:var(--s4);margin-bottom:var(--s6)}.profile-head .display-1{margin:0}.spec-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:var(--s4);padding:var(--s5);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card)}.site-footer{border-top:1px solid var(--line-soft);background:var(--deep);padding-block:var(--s8);margin-top:var(--s9);color:var(--text-faint);font:var(--body-sm)}.footer-grid{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.footer-col{display:grid;gap:var(--s2);align-content:start}.footer-col .label{margin-bottom:var(--s2)}.footer-col span[role=link]{color:var(--text-muted);cursor:pointer}.footer-col span[role=link]:hover{color:var(--coral)}.author-block{display:flex;gap:var(--s4);align-items:center;padding:var(--s5);border-top:1px solid var(--line-soft);margin-top:var(--s7)}.author-avatar{width:46px;height:46px;flex:0 0 auto;border-radius:var(--r-pill);background:var(--raised);color:var(--text);display:grid;place-items:center;font:600 .875rem/1 var(--font-ui)}.author-block .name{font:600 .9375rem/1.4 var(--font-ui);color:var(--text)}.author-block .meta{font:var(--body-sm);color:var(--text-faint)}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--s3);margin:var(--s6) 0}.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-media);background:var(--deep);border:1px solid var(--line-soft)}.species-card{cursor:pointer}.gallery-credit{font:var(--body-sm);color:var(--text-faint);margin-top:calc(var(--s3) * -1 + var(--s2));margin-bottom:var(--s6)}.admin{min-height:100vh}.admin-login-wrap{display:grid;place-items:center;min-height:100vh;padding:var(--s5)}.admin-login{width:min(24rem,100%);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:var(--s6);display:grid;gap:var(--s4)}.admin-login label,.admin-form label{display:grid;gap:6px;font:var(--body-sm);color:var(--text-muted)}.admin-login input,.admin-form input,.admin-form textarea{font:var(--body-sm);width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-chip);background:var(--deep);color:var(--text)}.admin-form textarea{font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6;resize:vertical}.admin-error{font:var(--body-sm);color:var(--blood);margin:0}.admin-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s5);padding:var(--s3) var(--s5);flex-wrap:wrap;background:var(--deep);border-bottom:1px solid var(--line)}.admin-bar .brand em{font-style:normal;font-family:var(--font-ui);font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-left:6px}.admin-tabs{display:flex;gap:var(--s2);flex:1}.admin-tabs button{font:var(--body-sm);background:none;border:0;cursor:pointer;color:var(--text-muted);padding:var(--s2);border-bottom:2px solid transparent}.admin-tabs button.on{color:var(--text);border-bottom-color:var(--coral)}.admin-actions{display:flex;gap:var(--s3)}.admin-main{max-width:1100px;margin:0 auto;padding:var(--s6) var(--s5) var(--s9)}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap}.admin-head h2{font:var(--display-3)}.admin-head h2 span{color:var(--text-faint)}.admin-input{width:16rem;font:var(--body-sm);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-chip);background:var(--deep);color:var(--text)}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-media);overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line-soft);font:var(--body-sm)}.admin-table th{font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);background:var(--deep)}.admin-table code{font-family:ui-monospace,Menlo,monospace;color:var(--text-faint)}.linkish{background:none;border:0;padding:0;font:var(--body-sm);color:var(--text);cursor:pointer;text-align:left}.linkish:hover{text-decoration:underline}.linkish.danger{color:var(--blood)}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:var(--s5)}.admin-wide{grid-column:1 / -1}.hint{font:var(--label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.admin-note{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-chip);padding:var(--s4)}.admin-note strong{display:block;margin-bottom:4px}.admin-note p{margin:0;font:var(--body-sm);color:var(--text-muted)}.toast{position:fixed;bottom:var(--s5);left:50%;transform:translate(-50%);background:var(--raised);color:var(--text);border:1px solid var(--line);font:var(--body-sm);padding:var(--s3) var(--s5);border-radius:var(--r-chip);z-index:50}@media(max-width:720px){.admin-form{grid-template-columns:1fr}}
