*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body{background:#000;width:100%;height:100%;font-family:Inter,system-ui,sans-serif;overflow:hidden}#app{width:100%;height:100%;position:relative}canvas{display:block}.ui-overlay{pointer-events:none;z-index:50;position:fixed;inset:0}.glass{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffff14;border:1px solid #ffffff1f}#loading-screen{z-index:9999;pointer-events:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s,visibility 1s;display:flex;position:fixed;inset:0}#loading-screen.fade-out{opacity:0;visibility:hidden}.ls-content{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.ls-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:#ffffff47;font-size:11px;font-weight:400}.ls-title{letter-spacing:.12em;text-transform:uppercase;color:#ffffffeb;font-size:clamp(48px,8vw,112px);font-weight:200;line-height:1}.ls-sub{letter-spacing:.22em;text-transform:uppercase;color:#ffffff4d;margin-top:2px;font-size:12px;font-weight:300}.ls-bar{background:#ffffff40;width:0%;height:1px;animation:2.5s ease-out forwards ls-bar-fill;position:absolute;bottom:0;left:0}@keyframes ls-bar-fill{to{width:85%}}#top-bar{z-index:190;pointer-events:none;flex-direction:column;align-items:center;padding:16px 20px 12px;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.top-bar__title{letter-spacing:.18em;text-transform:none;color:#ffffffbf;text-shadow:0 0 20px #ffffff14,0 1px 10px #0003;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-style:italic;font-weight:300}.top-bar__tagline{letter-spacing:.22em;text-transform:uppercase;color:#ffffff47;margin-top:3px;font-family:Cormorant Garamond,Georgia,serif;font-size:11px;font-weight:400}#help-btn{z-index:200;-webkit-backdrop-filter:blur(14px)saturate(150%);color:#ffffffd9;cursor:pointer;background:#0000004d;border:1px solid #fff3;border-radius:50%;width:36px;height:36px;font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:600;transition:background .18s,transform .18s;position:fixed;bottom:20px;left:20px}#help-btn:hover{background:#00000080;transform:scale(1.06)}.help-panel{z-index:199;-webkit-backdrop-filter:blur(28px)saturate(160%);color:#ffffffeb;opacity:0;pointer-events:none;background:#00000059;border:1px solid #ffffff2e;border-radius:14px;width:min(300px,100vw - 40px);font-family:Inter,system-ui,sans-serif;transition:opacity .22s,transform .22s;position:fixed;bottom:66px;left:20px;transform:translateY(8px);box-shadow:0 12px 40px #00000059}.help-panel.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.help-panel__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.help-panel__title{letter-spacing:-.01em;font-size:13px;font-weight:700}.help-panel__close{color:#fffc;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;width:22px;height:22px;font-size:14px;transition:background .16s}.help-panel__close:hover{background:#fff3}.help-panel__body{padding:10px 14px 14px}.help-panel__section{flex-direction:column;gap:7px;display:flex}.help-panel__tip{color:#fff9;font-size:11.5px;line-height:1.5}.help-panel__tip strong{color:#ffffffe6;font-weight:600}
.animal-panel{--panel-bg:#ffffff24;--panel-border:#ffffff47;--panel-card-bg:#ffffff12;--panel-card-border:#ffffff29;--panel-text:#fffffff5;--panel-text-dim:#ffffffb3;--panel-text-faint:#ffffff75;--panel-divider:#ffffff24;z-index:220;opacity:0;pointer-events:none;width:min(320px,100vw - 28px);max-height:calc(100vh - 56px);color:var(--panel-text);-webkit-font-smoothing:antialiased;border-radius:20px;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .28s;position:fixed;top:50%;right:20px;overflow:hidden;transform:translate(28px,-50%)scale(.985)}.animal-panel.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}.animal-panel::-webkit-scrollbar{width:0;height:0}.animal-panel__shell{max-height:inherit;border-radius:inherit;background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(28px)saturate(160%);position:relative;overflow:auto;box-shadow:0 18px 48px #0006,0 2px 8px #0003,inset 0 1px #ffffff14}.animal-panel__shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 0,#ffffff0d,#0000 38%);position:absolute;inset:0}.animal-panel__hero{aspect-ratio:5/3;background:#ffffff08;position:relative;overflow:hidden}.animal-panel__hero-image,.animal-panel__hero-art{object-fit:cover;width:100%;height:100%;display:block}.animal-panel__hero-fallback{background:radial-gradient(circle at 50% 34%,#ffffff24,#0000 36%),linear-gradient(#ffffff14,#ffffff05);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.animal-panel__hero-art{object-fit:contain;filter:drop-shadow(0 12px 24px #00000040);width:min(58%,300px);height:auto}.animal-panel__hero-veil{background:linear-gradient(#0000 50%,#00000038 100%);position:absolute;inset:0}.animal-panel__hero-topbar{justify-content:space-between;align-items:center;display:flex;position:absolute;top:12px;left:14px;right:14px}.animal-panel__bottom-actions{border-top:1px solid var(--panel-divider);gap:6px;padding:12px 14px;display:flex}.animal-panel__bottom-btn{border:1px solid var(--panel-card-border);background:var(--panel-card-bg);color:var(--panel-text);letter-spacing:.02em;cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:8px 0;font-size:12px;font-weight:600;transition:background .16s,transform .16s,border-color .16s;display:flex}.animal-panel__bottom-btn:hover{background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}.animal-panel__bottom-btn:disabled{opacity:.4;cursor:default}.animal-panel__bottom-btn:disabled:hover{background:var(--panel-card-bg);border-color:var(--panel-card-border);transform:none}.animal-panel__badge,.animal-panel__chip{color:var(--panel-text);-webkit-backdrop-filter:blur(14px)saturate(150%);background:#00000052;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.animal-panel__badge{letter-spacing:.12em;font-size:10px;font-weight:700}.animal-panel__close{width:26px;height:26px;color:var(--panel-text);cursor:pointer;-webkit-backdrop-filter:blur(14px)saturate(150%);background:#00000059;border:1px solid #ffffff2e;border-radius:50%;font-size:17px;line-height:1;transition:transform .18s,background .18s}.animal-panel__close:hover{background:#00000080;transform:scale(1.06)}.animal-panel__snap-btn{z-index:3;-webkit-backdrop-filter:blur(14px)saturate(150%);color:#ffffffe6;cursor:pointer;background:#00000059;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:transform .18s,background .18s;display:flex;position:absolute;bottom:12px;right:14px}.animal-panel__snap-btn:hover{background:#00000080;transform:scale(1.06)}.animal-panel__body{background:0 0;flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex;position:relative}.animal-panel__header{flex-direction:column;gap:2px;display:flex}.animal-panel__title{letter-spacing:-.02em;color:var(--panel-text);margin:0;font-size:22px;font-weight:600;line-height:1.1}.animal-panel__subtitle{color:var(--panel-text-faint);margin:0;font-size:12px;font-weight:400}.animal-panel__scientific{color:var(--panel-text-faint);font-size:12px;font-style:italic}.animal-panel__chips{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:180px;display:flex}.animal-panel__chip{letter-spacing:.04em;font-size:12px;font-weight:600}.animal-panel__meta-grid{border-top:1px solid var(--panel-divider);border-bottom:1px solid var(--panel-divider);flex-direction:column;gap:0;padding:2px 0;display:flex}.animal-panel__meta-card{border:none;border-top:1px solid var(--panel-divider);background:0 0;border-radius:0;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;display:flex}.animal-panel__meta-card:first-child{border-top:none}.animal-panel__meta-card--wide{flex-direction:column;align-items:stretch;gap:3px}.animal-panel__meta-label{letter-spacing:.14em;text-transform:uppercase;color:var(--panel-text-faint);flex-shrink:0;margin:0;font-size:10px;font-weight:600}.animal-panel__meta-value{color:var(--panel-text);text-align:right;font-size:13px;font-weight:500;line-height:1.4}.animal-panel__meta-card--wide .animal-panel__meta-value{text-align:left;color:var(--panel-text-dim);font-weight:400}.animal-panel__section{border:1px solid var(--panel-card-border);background:var(--panel-card-bg);border-radius:12px;padding:16px}.animal-panel__section-head{letter-spacing:.16em;text-transform:uppercase;color:var(--panel-text-faint);gap:12px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.animal-panel__summary,.animal-panel__insight,.animal-panel__sound-surface{color:var(--panel-text-dim);font-size:13px;line-height:1.6}.animal-panel__insight p,.animal-panel__sound-note p{margin:0 0 12px}.animal-panel__insight p:last-child,.animal-panel__sound-note p:last-child{margin-bottom:0}.animal-panel__placeholder{grid-template-columns:auto 1fr;align-items:flex-start;gap:14px;display:grid}.animal-panel__placeholder strong,.animal-panel__sound-note strong{color:var(--panel-text);margin-bottom:6px;font-size:15px;display:block}.animal-panel__loader{background:#ffffffd9;border-radius:50%;width:14px;height:14px;margin-top:7px;animation:1.2s infinite animal-panel-pulse}.animal-panel__sound-note a{color:var(--panel-text);border-bottom:1px solid #ffffff4d;text-decoration:none}.animal-panel__sound-note a:hover{border-color:#fff9}.animal-panel__chat{flex-direction:column;gap:10px;margin-top:4px;padding:0 14px 10px;display:flex}.animal-panel__chat:empty{display:none}.animal-panel__chat-thread{flex-direction:column;gap:6px;max-height:220px;padding-right:4px;display:flex;overflow-y:auto}.animal-panel__bubble{border:1px solid var(--panel-card-border);background:var(--panel-card-bg);color:var(--panel-text);border-radius:12px;padding:8px 12px;font-size:13px;line-height:1.55}.animal-panel__bubble p{margin:0 0 8px}.animal-panel__bubble p:last-child{margin-bottom:0}.animal-panel__bubble--user{background:#ffffff38;border-color:#ffffff61;align-self:flex-end;max-width:86%}.animal-panel__bubble--assistant{align-self:flex-start;max-width:100%}.animal-panel__bubble--streaming:after{content:"▍";opacity:.55;margin-left:2px;animation:1s steps(2,end) infinite animal-panel-blink}.animal-panel__bubble--error{background:#f85d542e;border-color:#f85d546b}.animal-panel__chat-input{gap:8px;display:flex}.animal-panel__chat-input input{border:1px solid var(--panel-card-border);background:var(--panel-card-bg);color:var(--panel-text);border-radius:10px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .18s,background .18s}.animal-panel__chat-input input::placeholder{color:var(--panel-text-faint)}.animal-panel__chat-input input:focus{background:#ffffff24;border-color:#ffffff73}.animal-panel__chat-input input:disabled{opacity:.6;cursor:not-allowed}.animal-panel__chat-input button{color:var(--panel-text);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .18s}.animal-panel__chat-input button:hover:not(:disabled){background:#ffffff47}.animal-panel__chat-input button:disabled{opacity:.55;cursor:not-allowed}@keyframes animal-panel-blink{to{opacity:0}}@keyframes animal-panel-pulse{0%{transform:scale(.94);box-shadow:0 0 #ffffff73}70%{transform:scale(1);box-shadow:0 0 0 14px #fff0}to{transform:scale(.94);box-shadow:0 0 #fff0}}@media (max-width:920px){.animal-panel{width:calc(100vw - 24px);max-height:min(88vh,920px);top:auto;bottom:12px;right:12px;transform:translateY(28px)scale(.985)}.animal-panel.is-visible{transform:translate(0,0)scale(1)}.animal-panel__meta-grid{grid-template-columns:1fr}.animal-panel__meta-card--wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){.animal-panel,.animal-panel__action,.animal-panel__close,.animal-panel__loader{transition:none;animation:none}}.wiki-overlay{z-index:240;opacity:0;pointer-events:none;justify-content:center;align-items:center;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;transition:opacity .22s;display:flex;position:fixed;inset:0}.wiki-overlay.is-visible{opacity:1;pointer-events:auto}.wiki-overlay__backdrop{background:0 0;position:absolute;inset:0}.wiki-overlay__shell{-webkit-backdrop-filter:blur(28px)saturate(160%);background:#ffffff24;border:1px solid #ffffff47;border-radius:18px;flex-direction:column;width:min(1080px,92vw);height:min(820px,86vh);transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;transform:translateY(8px)scale(.992);box-shadow:0 18px 48px #0006,0 2px 8px #0003,inset 0 1px #ffffff14}.wiki-overlay.is-visible .wiki-overlay__shell{transform:translateY(0)scale(1)}.wiki-overlay__topbar{color:#fffffff0;background:0 0;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.wiki-overlay__title{letter-spacing:-.01em;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.wiki-overlay__source{letter-spacing:.14em;text-transform:uppercase;color:#fff6;font-size:10px;font-weight:600}.wiki-overlay__actions{gap:6px;display:flex}.wiki-overlay__btn{color:#ffffffd9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-family:inherit;font-size:15px;text-decoration:none;transition:background .16s;display:inline-flex}.wiki-overlay__btn:hover{background:#ffffff1f}.wiki-overlay__frame{background:#fff;border:0;flex:1;width:100%}
