:root{--font-display:"Archivo", "Arial Narrow", sans-serif;--font-body:"Instrument Sans", "Segoe UI", sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--canvas:#f3f5f4;--surface:#fff;--ink:#10201e;--ink-soft:#4a5b58;--ink-faint:#7d8b88;--line:#10201e24;--lake:#0e5c8a;--lake-deep:#072f47;--sun:#f2b705;--sun-press:#d9a300;--papyrus:#2f7a45;--stage:#e6ecea;--radius-control:4px;--shadow-lift:0 18px 40px #072f472e;--ease-out:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(1rem, 4vw, 3.5rem);--step-hero:clamp(3.5rem, 10vw, 9rem);--step-h1:clamp(2.75rem, 6vw, 5rem);--step-h2:clamp(1.75rem, 3.2vw, 2.75rem);--step-h3:1.25rem;--step-body:1.0625rem;--step-small:.875rem;--step-kicker:.75rem}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:var(--step-body);-webkit-font-smoothing:antialiased;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:760;line-height:1}p{text-wrap:pretty;margin:0}button,input{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--lake);outline-offset:3px}.kicker{font-family:var(--font-mono);font-size:var(--step-kicker);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-weight:500;line-height:1.4}.kicker-light{color:#ffffffdb}.display{font-family:var(--font-display);letter-spacing:-.005em;text-transform:uppercase;font-weight:820;font-stretch:112%;line-height:.9}.button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease;align-items:center;gap:.5rem;padding:0 1.1rem;font-weight:600;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)scale(.98)}.button-cta{background:var(--sun);color:var(--ink);border-color:#0000}.button-cta:hover{background:var(--sun-press)}.chip{border:1px solid var(--lake);border-radius:var(--radius-control);min-height:40px;color:var(--lake);cursor:pointer;background:0 0;align-items:baseline;gap:.5rem;padding:.5rem .85rem;font-weight:600;transition:background-color .16s,color .16s;display:inline-flex}.chip:hover{background:var(--lake);color:#fff}.chip-meta{font-family:var(--font-mono);opacity:.75;font-size:.72rem}.globe-container{background:var(--lake-deep);width:100%;height:100%;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.float-tooltip-kap{box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:0!important}.pin-label{border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-lift);color:var(--ink);font-family:var(--font-body);gap:.15rem;padding:.55rem .75rem;display:grid}.pin-label strong{font-family:var(--font-display);font-size:1rem;font-weight:760}.pin-label span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem}.loading-pulse{z-index:2;background:var(--lake-deep);pointer-events:none;place-items:end center;padding-bottom:clamp(7rem,22vh,12rem);animation:1.6s ease-in-out infinite alternate loading-pulse;display:grid;position:absolute;inset:0}.loading-pulse span{color:#ffffffd9;font-size:var(--step-small);letter-spacing:.02em}@keyframes loading-pulse{0%{opacity:.85}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.loading-pulse{opacity:.65;animation:none}}.guide-chat{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.guide-chat-messages{flex-direction:column;flex:1;gap:.6rem;min-height:6rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.guide-chat-message{border-radius:var(--radius-control);background:var(--canvas);max-width:88%;color:var(--ink);padding:.7rem .85rem}.guide-chat-message p{white-space:pre-wrap;margin:0}.guide-chat-message.is-user{background:var(--lake);color:#fff;align-self:flex-end}.guide-chat-message.is-error{border-left:3px solid var(--sun)}.guide-chat-photo{object-fit:cover;border-radius:3px;width:100%;max-height:12rem;margin-bottom:.5rem;display:block}.guide-chat-sources{color:var(--ink-faint);font-size:.78rem;margin-top:.4rem!important}.guide-chat-message.is-typing{gap:.3rem;width:fit-content;display:flex}.guide-chat-message.is-typing span{background:var(--ink-faint);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite guide-typing}.guide-chat-message.is-typing span:nth-child(2){animation-delay:.15s}.guide-chat-message.is-typing span:nth-child(3){animation-delay:.3s}.guide-chat-prompts{flex-wrap:wrap;gap:.4rem;display:flex}.guide-chat-prompts .chip{min-height:34px;font-size:var(--step-small);text-align:left;padding:.35rem .65rem}.guide-chat-attached{align-items:center;gap:.75rem;display:flex}.guide-chat-attached img{border-radius:var(--radius-control);object-fit:cover;width:56px;height:56px}.guide-chat-form{gap:.4rem;display:flex}.guide-chat-file{display:none}.guide-chat-attach{flex:0 0 44px;justify-content:center;padding:0}.guide-chat-attach svg{width:20px;height:20px}.guide-chat-form input[type=text]{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-width:0;min-height:44px;font:inherit;flex:1;padding:0 .85rem}.guide-chat-form .button-cta:disabled{opacity:.5;cursor:not-allowed}.guide-chat-note{color:var(--ink-faint);margin:0;font-size:.8rem}@keyframes guide-typing{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.guide-chat-message.is-typing span{animation:none}}.guide-launcher{z-index:60;min-height:52px;box-shadow:var(--shadow-lift);padding:0 1.25rem;font-weight:700;position:fixed;bottom:clamp(1rem,2.5vw,2rem);right:clamp(1rem,2.5vw,2rem)}.guide-launcher svg{width:20px;height:20px}.guide-panel{z-index:70;background:var(--surface);flex-direction:column;gap:1.1rem;width:min(420px,100vw);padding:1.5rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-24px 0 60px #072f4733}.guide-panel-head{justify-content:space-between;align-items:center;display:flex}.guide-panel-title{font-size:1.9rem}@media (width<=760px){.guide-launcher{border-radius:50%;justify-content:center;width:52px;padding:0}.guide-launcher-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.site-panel{z-index:5;background:var(--surface);flex-direction:column;gap:1.25rem;width:360px;padding:1.75rem 1.5rem 1.25rem;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:12px 0 40px #072f4738}.site-panel-brand{gap:.75rem;display:grid}.site-panel-wordmark{color:var(--ink);font-size:2.6rem}.site-panel-lede{font-size:var(--step-small);color:var(--ink-soft)}.site-panel-search{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--canvas);min-height:44px;padding:0 .85rem}.site-panel-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0 -1.5rem;padding:0 1.5rem;overflow-y:auto}.site-panel-group{border-top:1px solid var(--line);gap:.35rem;padding:.85rem 0;display:grid}.site-panel-group ul{margin:0;padding:0;list-style:none}.site-row{border-radius:var(--radius-control);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:52px 1fr auto;align-items:center;gap:.85rem;width:100%;padding:.45rem .4rem;transition:background-color .16s;display:grid}.site-row:hover{background:var(--canvas)}.site-row-thumb{object-fit:cover;width:52px;height:52px}.site-row-text{gap:.1rem;display:grid}.site-row-name{font-family:var(--font-display);font-size:1.05rem;font-weight:720}.site-row-meta{color:var(--ink-soft);font-size:.8rem}.site-row-arrow{color:var(--lake);opacity:0;transition:opacity .16s ease, transform .16s var(--ease-out);transform:translate(-4px)}.site-row:hover .site-row-arrow,.site-row:focus-visible .site-row-arrow{opacity:1;transform:translate(0)}.site-panel-empty{color:var(--ink-soft);padding:1rem 0}.site-panel-about{border-top:1px solid var(--line);font-size:var(--step-small);color:var(--ink-soft);padding-top:.85rem}.site-panel-about summary{color:var(--lake);cursor:pointer;font-weight:600}.site-panel-about p{margin-top:.6rem}@media (width<=760px){.site-panel{width:100%;height:56vh;padding:1.1rem 1rem 4.5rem;top:auto;right:0;box-shadow:0 -12px 40px #072f4738}.site-panel-wordmark{font-size:1.8rem}.site-panel-lede,.site-panel-brand .kicker{display:none}}.site-intro{z-index:80;color:#fff;cursor:pointer;background:var(--lake-deep);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.site-intro-bg{object-fit:cover;filter:blur(18px)saturate(.9);width:calc(100% + 80px);max-width:none;height:calc(100% + 80px);position:absolute;inset:-40px}.site-intro-shade{background:#072f478c;position:absolute;inset:0}.site-intro-kicker{z-index:1;color:#fffc;white-space:nowrap;margin:0;font-size:.95rem;position:absolute;top:clamp(1.5rem,6vh,3.5rem);left:50%;transform:translate(-50%)}.site-intro-title{z-index:1;max-width:24ch;padding:0 var(--gutter);font-family:var(--font-body);text-align:center;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:400;line-height:1.3;position:relative}.site-intro-name{z-index:1;text-align:center;justify-items:center;gap:.35rem;max-width:80vw;display:grid;position:absolute;translate:-50% -50%}.site-intro-all li{z-index:1;text-align:center;justify-items:center;gap:.35rem;display:grid;position:relative}.site-intro-local{font-family:var(--font-body);overflow-wrap:anywhere;font-size:clamp(1.6rem,3.6vw,2.6rem);font-weight:500;line-height:1.15}.site-intro-english{color:#ffffffc7;font-size:.95rem}.site-intro-all{z-index:1;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.site-intro-skip{z-index:1;color:#ffffffb3;font-size:var(--step-small);white-space:nowrap;margin:0;position:absolute;bottom:clamp(1.5rem,6vh,3rem);left:50%;transform:translate(-50%)}.fish-silhouette{background:var(--stage);color:var(--lake-deep);place-content:center;justify-items:center;gap:.75rem;display:grid;position:absolute;inset:0}.fish-silhouette svg{opacity:.45;width:min(55%,220px);height:auto}.fish-silhouette-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.fish-cards-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.fish-cards-heading h2{font-size:var(--step-h3)}.fish-cards-count{border:1px solid var(--lake);color:var(--lake);font-family:var(--font-mono);border-radius:999px;flex:none;padding:.25rem .6rem;font-size:.72rem}.fish-cards-list{gap:.75rem;min-height:0;margin:.85rem 0 0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.fish-cards-list li{flex:0 0 11rem;display:flex}.fish-cards-list button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:15rem;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease-out), box-shadow .16s ease;flex-direction:column;padding:0;display:flex;overflow:hidden}.fish-cards-list button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #072f4724}.fish-cards-list img,.fish-cards-placeholder{object-fit:cover;background:var(--stage);flex:none;width:100%;height:5.5rem;display:block}.fish-cards-placeholder{color:var(--ink-faint);place-items:center;display:grid}.fish-cards-placeholder svg{width:4rem}.fish-cards-name,.fish-cards-list small,.fish-cards-list em,.fish-cards-list strong{margin:0 .75rem}.fish-cards-name{font-family:var(--font-display);margin-top:.6rem;font-size:1.05rem;font-weight:700;line-height:1.15}.fish-cards-list small{color:var(--papyrus);margin-top:.2rem;font-weight:600}.fish-cards-list em{color:var(--ink-soft);font-size:var(--step-small);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;margin-top:.45rem;font-style:normal;line-height:1.45;display:-webkit-box;overflow:hidden}.fish-cards-list strong{color:var(--lake);font-size:var(--step-small);justify-content:space-between;margin-top:.6rem;margin-bottom:.7rem;display:flex}.fish-cards-empty{color:var(--ink-soft);margin:.75rem 0 0}.gaussian-splat-scene{background:var(--lake-deep);position:absolute;inset:0;overflow:hidden}.gaussian-splat-scene canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.gaussian-splat-controls{z-index:3;border:1px solid var(--line);width:min(24rem,100% - 2rem);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.gaussian-splat-controls button{border:1px solid var(--line);background:var(--surface);min-width:34px;min-height:34px;color:var(--ink);font:inherit;font-size:var(--step-small);cursor:pointer;border-radius:999px;place-items:center;font-weight:600;transition:background-color .16s;display:grid}.gaussian-splat-controls button[data-action=tour]{background:var(--sun);border-color:#0000;padding:0 .9rem}.gaussian-splat-controls button:hover{background:var(--canvas)}.gaussian-splat-controls button[data-action=tour]:hover{background:var(--sun-press)}.gaussian-splat-controls input{min-width:5rem;accent-color:var(--lake);flex:1}.gaussian-splat-error{z-index:2;border:1px solid var(--line);width:min(100% - 2rem,22rem);color:var(--ink);text-align:center;box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-radius:6px;flex-direction:column;align-items:center;gap:.65rem;padding:1.25rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gaussian-splat-error span,.gaussian-splat-error small{color:var(--ink-soft)}.photo-stage{background:var(--lake-deep);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.photo-stage:active{cursor:grabbing}.photo-stage:focus-visible{outline-offset:-4px}.photo-stage img{object-fit:cover;transform-origin:50%;will-change:transform;pointer-events:none;width:100%;height:100%;display:block}.site-story-text{padding:clamp(4rem, 10vh, 7rem) var(--gutter);background:var(--surface)}.site-story-inner{gap:2.25rem;max-width:1280px;margin:0 auto;display:grid}.site-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem clamp(2rem,5vw,5rem);display:grid}.site-story-part{border-top:1px solid var(--line);align-content:start;gap:.75rem;padding-top:1.25rem;display:grid}.site-story-part h3{font-size:var(--step-h3);color:var(--lake)}.site-story-part p{max-width:52ch;color:var(--ink);margin:0}.site-story-sources{font-size:var(--step-small);color:var(--ink-faint);margin:0}@media (width<=720px){.site-story-grid{grid-template-columns:1fr}}.site-story-customs{border-top:1px solid var(--line);gap:.75rem;padding-top:1.25rem;display:grid}.site-story-customs h3{font-size:var(--step-h3);color:var(--lake)}.site-story-customs-note{color:var(--ink-soft);font-size:var(--step-small);margin:0}.site-story-customs ul{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.site-story-customs li{gap:.3rem;display:grid}.site-story-customs li p{margin:0}.site-story-customs a{color:var(--ink-faint);font-size:.8rem}.site-view{height:100dvh;position:relative;overflow:hidden}.site-view-scrim{z-index:1;pointer-events:none;background:linear-gradient(#072f4700 55%,#072f4761);position:absolute;inset:0}.site-view-ui{z-index:2;pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);gap:1rem;padding:clamp(.75rem,2vw,1.5rem);display:grid;position:absolute;inset:0}.site-view-ui>*{pointer-events:auto}.site-view .gaussian-splat-controls{display:none}.site-view-esc-hint{color:#fff;font-size:var(--step-small);pointer-events:none;background:#072f47b3;border-radius:999px;margin:0;padding:.5rem .9rem;animation:4s forwards esc-hint;position:absolute;bottom:clamp(1.5rem,5vh,2.5rem);left:50%;transform:translate(-50%)}@keyframes esc-hint{0%,70%{opacity:1}to{opacity:0}}.site-view-panel{border:1px solid var(--line);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border-radius:6px}.site-view-header{pointer-events:none;grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.site-view-header>*{pointer-events:auto}.site-view-back{min-height:48px;box-shadow:var(--shadow-lift)}.site-view-actions{align-items:center;gap:.5rem;padding:.6rem;display:flex}.site-view-actions:empty{display:none}.site-view-actions .button:disabled{opacity:.6;cursor:wait}.site-view-scene-select select{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;padding:0 .75rem}.site-view-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-view-fish{flex-direction:column;grid-area:3/1;align-self:end;width:fit-content;min-width:min(100%,22rem);max-width:100%;max-height:min(24rem,100dvh - 12rem);padding:1rem;display:flex}.site-view-about{grid-area:2/2/4;align-self:start;max-height:calc(100dvh - 15rem);padding:1rem 1.25rem 1.25rem;position:relative;overflow-y:auto}.site-view-about-close{float:right;z-index:1;min-height:36px;padding:0 .8rem;position:sticky;top:0}.site-view-about .site-story-text{background:0 0;padding:0}.site-view-about .site-story-inner{gap:1.25rem}.site-view-about .site-story-grid{grid-template-columns:1fr;gap:1.25rem}.site-view-fades{transition:opacity .32s var(--ease-out)}.site-view.is-exploring .site-view-fades{opacity:.25}.site-view.is-exploring .site-view-fades:hover,.site-view.is-exploring .site-view-fades:focus-within{opacity:1}@media (prefers-reduced-motion:reduce){.site-view-fades{transition:none}.site-view-esc-hint{animation:none}}@media (width<=820px){.site-view-ui{flex-direction:column;display:flex;overflow-y:auto}.site-view-header{flex-wrap:wrap}.site-view-actions{flex:100%}.site-view-actions .button{flex:1;justify-content:center}.site-view-fish{order:2;width:auto;min-width:0;max-height:none;margin-top:auto;margin-bottom:4.5rem}.site-view-about{order:1;max-height:60dvh}}.fish-specimen-viewer{background:var(--stage);width:100%;position:relative;overflow:hidden}.fish-specimen-viewer-stage{height:100%;min-height:18rem}.fish-specimen-viewer-fullscreen{height:100%;min-height:100%}.fish-specimen-viewer canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.fish-specimen-hint{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-soft);pointer-events:none;margin:0;font-size:.72rem;position:absolute;bottom:.85rem;right:1rem}.fish-specimen-loading-overlay{background:var(--stage);place-items:center;display:grid;position:absolute;inset:0}.fish-specimen-loading{place-items:center;width:84px;height:84px;display:grid;position:relative}.fish-specimen-loading-ring{position:absolute;inset:0;transform:rotate(-90deg)}.fish-specimen-loading-track,.fish-specimen-loading-progress{fill:none;stroke-width:4px}.fish-specimen-loading-track{stroke:#072f471f}.fish-specimen-loading-progress{stroke:var(--lake);stroke-linecap:round;transition:stroke-dashoffset .2s}.fish-specimen-loading-percentage{font-family:var(--font-mono);color:var(--ink);font-size:.85rem}.fish-specimen-expand{min-height:36px;font-size:var(--step-small);padding:0 .85rem;position:absolute;top:.85rem;right:.85rem}.species-overlay{z-index:50;background:var(--canvas);position:fixed;inset:0;overflow-y:auto}.species-overlay-bar{z-index:2;padding:.9rem var(--gutter);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3f5f4eb;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.species-overlay-body{max-width:1400px;padding:2rem var(--gutter) 3rem;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);margin:0 auto;display:grid}.species-stage{background:var(--stage);height:min(68vh,640px);position:relative}.species-stage .fish-specimen-viewer{height:100%}.species-stage-photo{object-fit:cover;width:100%;height:100%}.species-info{align-content:start;gap:1.25rem;padding-top:.5rem;display:grid}.species-name{font-size:var(--step-h1)}.species-local{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);font-size:.95rem}.species-story{max-width:46ch;font-size:1.125rem}.species-story-image{aspect-ratio:3/2;object-fit:cover;width:100%}.species-also{border-top:1px solid var(--line);gap:.75rem;padding-top:1.25rem;display:grid}.species-also-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.species-notes{max-width:1400px;padding:0 var(--gutter) 6rem;margin:0 auto}.species-sources{max-width:1400px;padding:0 var(--gutter) 4rem;font-size:var(--step-small);color:var(--ink-faint);margin:0 auto}.species-notes-title{border-top:1px solid var(--line);font-size:var(--step-h2);margin-bottom:1.75rem;padding-top:1.5rem}.species-notes-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}.species-note{align-content:start;gap:.6rem;display:grid}.species-note img{aspect-ratio:4/3;object-fit:cover;width:100%}.species-note h4{font-size:var(--step-h3)}.species-note-text{color:var(--ink-soft)}.specimen-fullscreen{z-index:80;background:var(--stage);position:fixed;inset:0}.specimen-fullscreen .fish-specimen-viewer{height:100%}.specimen-fullscreen-close{z-index:2;position:absolute;top:1rem;right:1rem}.specimen-fullscreen-caption{z-index:2;gap:.35rem;display:grid;position:absolute;bottom:1.5rem;left:1.5rem}.specimen-fullscreen-caption h2{font-size:var(--step-h2)}@media (width<=900px){.species-overlay-body{grid-template-columns:1fr}.species-stage{height:52vh}}.app-status{background:var(--lake-deep);color:#fff;text-align:center;place-content:center;justify-items:center;gap:1.25rem;padding:1rem;display:grid;position:fixed;inset:0}.app-status-wordmark{color:#fff;font-size:clamp(2.5rem,6vw,4.5rem)}.app-status-line{background:#ffffff2e;width:180px;height:2px;overflow:hidden}.app-status-line:after{content:"";width:40%;height:100%;animation:app-status-slide 1.2s var(--ease-out) infinite;background:#fff;display:block}@keyframes app-status-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.app-status-text{color:#ffffffc7;max-width:34ch}.globe-layer{position:fixed;inset:0}.scene-layer{z-index:10;background:var(--canvas);min-height:100vh;position:relative}
