:root{--u: 2px;--c-panel: #2f2b40;--c-panel-hi: #4b4a5a;--c-frame: #1c1726;--c-text: #dfdde0;--c-accent: #efc63a;--c-accent-ink: #1c1726;--c-sky: #8dbce9;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--c-sky);color:var(--c-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation;outline:none}#stage.hovering{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hud{position:fixed;inset:0;pointer-events:none;z-index:2}.hud[hidden]{display:none}.hud-tr,.hud-tl{position:absolute;top:calc(var(--u) * 5 + env(safe-area-inset-top,0px));display:flex;gap:calc(var(--u) * 4);align-items:flex-start;pointer-events:auto}.hud-tr{right:calc(var(--u) * 5 + env(safe-area-inset-right,0px))}.hud-weather{align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 2) calc(var(--u) * 4) calc(var(--u) * 2) calc(var(--u) * 3);background:var(--c-panel);pointer-events:none}.hud-weather[hidden]{display:none}.hud-tl{left:calc(var(--u) * 5 + env(safe-area-inset-left,0px))}.px-label,.px-icon{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.px-frame,.px-btn{background:var(--c-panel);color:var(--c-text);border:0;border-radius:0;box-shadow:0 calc(var(--u) * -1) 0 0 var(--c-frame),0 var(--u) 0 0 var(--c-frame),calc(var(--u) * -1) 0 0 0 var(--c-frame),var(--u) 0 0 0 var(--c-frame),inset 0 var(--u) 0 0 var(--c-panel-hi)}.px-btn{position:relative;display:inline-flex;align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 4) calc(var(--u) * 4) calc(var(--u) * 3);margin:var(--u);cursor:pointer;font:inherit}@media(pointer:coarse){.px-btn:after,.lang-item:after{content:"";position:absolute;inset:-8px}.lang-item{position:relative}}.px-btn:hover,.px-btn[aria-expanded=true]{--c-panel: #3b3550}.px-btn:focus-visible,.lang-item:focus-visible{outline:var(--u) solid var(--c-accent);outline-offset:var(--u)}.lang{position:relative}.lang-code{display:flex;justify-content:flex-start;min-width:calc(var(--u) * var(--label-w, 20))}.lang-menu{position:absolute;left:var(--u);right:var(--u);top:calc(100% + var(--u) * 3);display:flex;flex-direction:column;gap:var(--u);padding:calc(var(--u) * 3) calc(var(--u) * 2) calc(var(--u) * 2)}.lang-menu[hidden]{display:none}.lang-item{appearance:none;display:flex;background:transparent;border:0;border-radius:0;padding:calc(var(--u) * 2) calc(var(--u) * 2);cursor:pointer}.lang-item:hover{background:var(--c-panel-hi)}.lang-item[aria-checked=true]{background:var(--c-accent)}.hud-tr{flex-direction:column;align-items:flex-end;gap:calc(var(--u) * 4)}.hud-row{display:flex;gap:calc(var(--u) * 3);align-items:flex-start}.hud-icon-btn{padding:calc(var(--u) * 3)}.hud-panels{display:flex;flex-direction:column;align-items:flex-end;margin-right:var(--u)}.stats{width:max-content;max-width:calc(100vw - var(--u) * 12);padding:calc(var(--u) * 3)}.stats-head{appearance:none;display:flex;align-items:center;gap:calc(var(--u) * 4);width:100%;background:transparent;border:0;padding:var(--u) calc(var(--u) * 2) calc(var(--u) * 2);cursor:pointer}.stats-title{flex:1;display:flex}.stats-summary{display:flex}.stats.collapsed .stats-title{display:none}.stats:not(.collapsed) .stats-caret{transform:rotate(180deg)}.stats-icon{background:var(--c-sky)}.stats-icon.is-silhouette{background:#8dbce959}.stats-list{list-style:none;margin:calc(var(--u) * 2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--u)}.stats-row{appearance:none;display:grid;grid-template-columns:calc(var(--u) * 18) calc(var(--u) * var(--stats-name-w, 80)) minmax(calc(var(--u) * 12),auto);align-items:center;gap:calc(var(--u) * 4);width:100%;background:transparent;border:0;padding:var(--u) calc(var(--u) * 2);text-align:left}button.stats-row{cursor:pointer}button.stats-row:hover,button.stats-row:focus-visible{background:var(--c-panel-hi)}.stats-row:focus-visible,.stats-head:focus-visible{outline:var(--u) solid var(--c-accent);outline-offset:0}.stats-row.is-new{box-shadow:inset 0 0 0 var(--u) var(--c-accent)}.stats-name,.stats-count{display:flex}.stats-count{justify-content:flex-end}.stats-total{display:flex;justify-content:flex-end;padding:calc(var(--u) * 2) calc(var(--u) * 2) 0}.stats-flash{display:flex;justify-content:center;margin:calc(var(--u) * 2) 0 0;padding:calc(var(--u) * 3) calc(var(--u) * 4);background:var(--c-accent)}.stats-flash[hidden]{display:none}.settings{position:absolute;top:calc(var(--u) * 6 + env(safe-area-inset-top,0px));left:calc(var(--u) * 6 + env(safe-area-inset-left,0px));width:min(calc(var(--u) * 200),calc(100vw - var(--u) * 12));max-height:calc(100vh - var(--u) * 40);overflow:auto;padding:calc(var(--u) * 5);pointer-events:auto;z-index:4}.settings[hidden]{display:none}.set-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--u) * 5)}.set-title{margin:0;display:flex}.set-row{display:flex;flex-direction:column;gap:calc(var(--u) * 2);margin-bottom:calc(var(--u) * 5)}.set-label{display:flex}.set-section{margin:calc(var(--u) * 2) 0 calc(var(--u) * 3)}.set-slider{display:flex;align-items:center;gap:calc(var(--u) * 4)}.set-value{display:flex;flex:none;justify-content:flex-end;width:calc(var(--u) * 20)}.set-slider input[type=range]{appearance:none;-webkit-appearance:none;flex:1;height:calc(var(--u) * 6);background:transparent;margin:0;cursor:pointer}.set-slider input[type=range]::-webkit-slider-runnable-track{height:calc(var(--u) * 2);background:var(--c-frame);box-shadow:0 var(--u) 0 0 var(--c-panel-hi)}.set-slider input[type=range]::-moz-range-track{height:calc(var(--u) * 2);background:var(--c-frame);box-shadow:0 var(--u) 0 0 var(--c-panel-hi)}.set-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--u) * 4);height:calc(var(--u) * 6);margin-top:calc(var(--u) * -2);border:0;border-radius:0;background:var(--c-accent);box-shadow:inset calc(var(--u) * -1) calc(var(--u) * -1) 0 0 #c8962c}.set-slider input[type=range]::-moz-range-thumb{width:calc(var(--u) * 4);height:calc(var(--u) * 6);border:0;border-radius:0;background:var(--c-accent)}.set-slider input[type=range]:focus-visible{outline:var(--u) solid var(--c-accent);outline-offset:var(--u)}.set-species{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--u) * 90),1fr));gap:calc(var(--u) * 3) calc(var(--u) * 6)}.set-check{display:flex;align-items:center;gap:calc(var(--u) * 3);cursor:pointer}.set-check input{appearance:none;-webkit-appearance:none;flex:none;width:calc(var(--u) * 7);height:calc(var(--u) * 7);margin:0;background:var(--c-frame);box-shadow:inset 0 0 0 var(--u) var(--c-text);cursor:pointer}.set-check input:checked{background:var(--c-accent);box-shadow:inset 0 0 0 var(--u) var(--c-text),inset 0 0 0 calc(var(--u) * 2) var(--c-frame)}.set-toggle{margin:calc(var(--u) * 2) 0 calc(var(--u) * 4)}.set-check input:focus-visible{outline:var(--u) solid var(--c-accent);outline-offset:var(--u)}.set-hint{margin:calc(var(--u) * 6) 0 0;display:flex;flex-wrap:wrap;gap:calc(var(--u) * 2) calc(var(--u) * 8)}.info{position:absolute;left:calc(var(--u) * 6 + env(safe-area-inset-left,0px));top:calc(var(--u) * 6 + env(safe-area-inset-top,0px));bottom:calc(var(--u) * 6);width:min(calc(var(--u) * 210),calc(100vw - var(--u) * 12));max-width:560px;overflow-x:hidden;overflow-y:auto;padding:calc(var(--u) * 5);background:var(--c-frame);pointer-events:auto;z-index:5;overscroll-behavior:contain}.info[hidden]{display:none}.info-head{display:grid;grid-template-columns:auto 1fr;gap:calc(var(--u) * 5);align-items:start;margin-bottom:calc(var(--u) * 4)}.info-head--wide{grid-template-columns:1fr}.info-names{min-width:0}.info-portrait{box-sizing:content-box;padding:calc(var(--u) * 2);background:var(--c-sky);box-shadow:inset 0 0 0 var(--u) var(--c-panel-hi)}.info-title{margin:0 0 calc(var(--u) * 3);display:flex}.info-other-names{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.5;color:#bdbcc2}.info-sci{margin:calc(var(--u) * 2) 0 0;font-style:italic;font-size:14px;color:#dfdde0}.info-body{font-size:15px;line-height:1.5}.info-section{margin-top:calc(var(--u) * 6)}.info-h{margin:0 0 calc(var(--u) * 2);display:flex}.info-p{margin:0 0 .5em}.info-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0 0 .5em}.info-dl dt{color:#bdbcc2}.info-dl dd{margin:0}.info-sources{margin:0;padding-left:1.2em;font-size:13px}.info a{color:#f8e48c}.info-seen{margin:calc(var(--u) * 6) 0 0;font-size:13px;color:#bdbcc2}.debug-info{position:fixed;left:calc(var(--u) * 5);bottom:calc(var(--u) * 5);padding:calc(var(--u) * 3) calc(var(--u) * 4);font:12px/1.4 ui-monospace,Consolas,monospace;white-space:pre;pointer-events:none;z-index:3}.debug-info[hidden]{display:none}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.scroll-panel{display:flex;flex-direction:column;overflow:hidden;overflow:clip;padding:0}.scroll-panel>.set-head{flex:none;margin:0;padding:calc(var(--u) * 5) calc(var(--u) * 5) calc(var(--u) * 3);box-shadow:0 var(--u) 0 0 var(--c-panel-hi);position:relative;z-index:1}.panel-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:calc(var(--u) * 3) calc(var(--u) * 5) calc(var(--u) * 8)}.scroll-more{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:calc(var(--u) * 2) 0 calc(var(--u) * 3);background:var(--c-frame);box-shadow:0 calc(var(--u) * -1) 0 0 var(--c-panel-hi);cursor:pointer}.scroll-more[hidden]{display:none}.panel-scroll{scrollbar-width:thin;scrollbar-color:var(--c-panel-hi) var(--c-panel)}.panel-scroll::-webkit-scrollbar{width:calc(var(--u) * 3)}.panel-scroll::-webkit-scrollbar-track{background:var(--c-panel)}.panel-scroll::-webkit-scrollbar-thumb{background:var(--c-panel-hi)}.about-group{margin-top:calc(var(--u) * 8)}.about-species{margin:0 0 calc(var(--u) * 2);display:flex}.about-credits{margin:0}.about-none{color:#9796a0;margin:0}.hud-row>.px-btn,.hud-row .lang-btn{box-sizing:border-box;height:calc(var(--u) * 15)}.support{width:min(calc(var(--u) * 150),calc(100vw - var(--u) * 12))}@media(max-width:600px){.support{width:calc(100vw - var(--u) * 12)}}.support-text{font-size:15px;line-height:1.5}.support-links{display:flex;gap:calc(var(--u) * 5);margin:calc(var(--u) * 5) 0 calc(var(--u) * 3)}.support-link{text-decoration:none}.support-note{margin:0;font-size:13px;color:#bdbcc2}.hud-row .px-btn[aria-expanded=true]{background:var(--c-panel-hi)}.hud-row .px-btn[aria-expanded=true]>canvas{transform:translateY(var(--u))}.stats-caret{align-self:flex-start;margin-top:calc(var(--u) * 3)}.set-volume.is-muted{opacity:.5}.info-sources{list-style:none;padding-left:0;font-size:14px}.info-sources li:before{content:"";display:inline-block;width:calc(var(--u) * 2);height:calc(var(--u) * 2);margin-right:calc(var(--u) * 3);vertical-align:middle;background:var(--c-panel-hi)}.about-credits{font-size:14px}@media(pointer:coarse){.hud-row>.px-btn,.hud-row .lang-btn,.set-head .hud-icon-btn,.support-link{min-width:44px;min-height:44px;height:auto;justify-content:center}}.dev-panel{position:absolute;right:calc(var(--u) * 6 + env(safe-area-inset-right,0px));bottom:calc(var(--u) * 6 + env(safe-area-inset-bottom,0px));width:min(calc(var(--u) * 190),calc(100vw - var(--u) * 12));max-height:calc(100vh - var(--u) * 40);overflow-y:auto;padding:calc(var(--u) * 5);pointer-events:auto;z-index:6;font-size:13px}.dev-panel[hidden]{display:none}.dev-panel .set-head{margin-bottom:calc(var(--u) * 3)}.dev-h{margin:calc(var(--u) * 4) 0 calc(var(--u) * 2);display:flex}.dev-row{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 2)}.dev-btn{font:inherit;color:var(--c-text);background:var(--c-panel-hi);border:0;padding:4px 8px;cursor:pointer;box-shadow:inset 0 -2px 0 0 var(--c-frame)}.dev-btn:hover{filter:brightness(1.15)}.dev-btn.is-active{background:var(--c-accent);color:var(--c-accent-ink)}.dev-btn:focus-visible,.dev-select:focus-visible,.dev-slider input:focus-visible{outline:var(--u) solid var(--c-accent);outline-offset:1px}.dev-slider{display:flex;align-items:center;gap:calc(var(--u) * 4);margin:calc(var(--u) * 3) 0}.dev-slider input{flex:1;accent-color:var(--c-accent)}.dev-readout{font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.dev-label{display:flex;flex-direction:column;gap:2px;color:#bdbcc2}.dev-select{font:inherit;color:var(--c-text);background:var(--c-frame);border:0;box-shadow:inset 0 0 0 1px var(--c-panel-hi);padding:3px 4px}.dev-markers{margin-top:calc(var(--u) * 4);color:#bdbcc2}
