*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100dvh;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;line-height:1.5;overflow:hidden}#globe{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#vignette{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 40%,rgba(5,7,13,.55) 100%)}#grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}#grain{display:none}}#app{position:relative;z-index:3;min-height:100dvh;pointer-events:none}#app a,#app button,#app input,#app [role=listbox]{pointer-events:auto}.skip{position:absolute;left:12px;top:-48px;z-index:20;padding:8px 16px;background:var(--bg-raised);color:var(--text-primary);pointer-events:auto}.skip:focus{top:12px}.nav{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;color:var(--text-primary);text-decoration:none;font-family:var(--font-display);font-style:italic;font-size:28px;line-height:32px}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent)}.nav nav{display:flex;align-items:center;gap:28px}.nav nav a{color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.nav nav a:hover,.nav nav a:focus-visible{color:var(--text-primary)}.icon-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-primary);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-ui);font-size:14px;backdrop-filter:blur(24px)}.icon-btn:hover,.btn:hover,.icon-btn:focus-visible,.btn:focus-visible{border-color:var(--border-strong)}.btn{padding:0 20px}.btn.primary{background:var(--text-primary);color:var(--text-on-accent);border-color:transparent}.btn.accent{background:var(--accent-species);color:var(--text-on-accent);border-color:transparent}.btn.ghost{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.glass{background:#ffffff1a;border:1px solid var(--border-subtle);backdrop-filter:blur(24px);box-shadow:0 24px 48px #0006}html[data-theme=light] .glass{background:#ffffffd6}.label{margin:0;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.mono{font-family:var(--font-mono);font-size:13px;line-height:18px}.latin{font-family:var(--font-display);font-style:italic;font-size:28px;line-height:32px;color:var(--text-muted);margin:0}.intro{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:190px;text-align:center;pointer-events:none;transition:opacity .6s ease}.intro.is-gone{opacity:0;visibility:hidden}.eyebrow{margin:0 0 24px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.hero{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(40px,7vw,96px);line-height:.98;letter-spacing:-.02em;max-width:1160px}.lede{margin:24px 0 0;font-family:var(--font-display);font-style:italic;font-size:28px;line-height:32px;color:var(--text-secondary);max-width:720px}.scroll-hint{position:absolute;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);pointer-events:auto;cursor:pointer;background:none;border:none;font:inherit;padding:0}.hint{position:fixed;top:104px;left:40px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-pill);font-size:14px;color:var(--text-secondary);opacity:0;transition:opacity .4s ease}.dot{width:6px;height:6px;border-radius:50%}body.is-home .hint,body.is-species .hint{opacity:1}.legend{position:fixed;top:104px;right:40px;padding:16px 20px;border-radius:var(--radius-lg);min-width:180px;opacity:0;transition:opacity .4s ease}body.is-home .legend,body.is-species .legend{opacity:1}.legend ul{list-style:none;margin:8px 0 0;padding:0}.legend li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin:6px 0}.card{position:fixed;top:104px;right:40px;width:min(400px,calc(100vw - 48px));padding:24px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:16px;transform:translate(24px);opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease}.card.is-open{opacity:1;transform:none;pointer-events:auto}.card header{display:flex;justify-content:space-between;gap:12px}.card h2{margin:4px 0 0;font-family:var(--font-display);font-size:40px;line-height:44px;letter-spacing:-.01em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat .value{font-family:var(--font-mono);font-size:28px;line-height:32px;letter-spacing:-.01em}.stat .unit{color:var(--text-muted);font-size:12px}.cite{margin:0;font-size:14px;color:var(--text-muted)}.card-actions{display:flex;gap:8px}.bottom-hud{position:fixed;left:50%;bottom:36px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:16px;width:min(920px,calc(100vw - 48px));opacity:0;pointer-events:none;transition:opacity .5s ease}body.is-home .bottom-hud,body.is-species .bottom-hud,body.is-chase .bottom-hud{opacity:1;pointer-events:auto}.scrubber{width:100%;padding:12px 16px 10px;border-radius:var(--radius-lg)}.scrubber-head{display:flex;align-items:center;gap:12px}.scrubber-head .mono{flex:1}.speeds{display:flex;gap:4px}.speed{min-height:32px;min-width:40px;padding:0 8px;border:0;background:transparent;color:var(--text-muted);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-mono);font-size:13px}.speed[aria-pressed=true]{background:var(--bg-raised);color:var(--text-primary)}.track-wrap{margin-top:8px}#timeline{width:100%;accent-color:var(--accent-species);height:44px}.months{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.dock-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto}.search-wrap{position:relative;width:min(420px,90vw)}#species-search{width:100%;min-height:44px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;backdrop-filter:blur(24px)}#species-search::placeholder{color:var(--text-muted)}.search-results{position:absolute;left:0;right:0;bottom:calc(100% + 8px);margin:0;padding:8px;list-style:none;max-height:280px;overflow:auto;border-radius:var(--radius-md);z-index:8}.search-results button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 12px;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-ui)}.search-results button:hover,.search-results button:focus-visible{background:var(--bg-raised)}.search-results button span{font-size:12px;color:var(--text-muted)}.search-empty{padding:10px 12px;color:var(--text-muted);font-size:14px}.honesty{color:var(--accent-species)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dock{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chip{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);font-size:14px;backdrop-filter:blur(24px)}.chip:disabled{opacity:.35;cursor:not-allowed}.chip[aria-selected=true]{border-color:var(--accent-species)}.chip.is-dim{opacity:.25}.chip .swatch{width:8px;height:8px;border-radius:50%}.chip .n,.legend .n{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.chase-hud{position:fixed;inset:40px;pointer-events:none}.chase-hud .btn,.chase-hud .hud-panel{pointer-events:auto}.hud-panel{display:inline-flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:var(--radius-lg)}.hud-panel h2{margin:0;font-family:var(--font-display);font-size:40px;color:var(--accent-species)}.hud-stats{position:absolute;left:0;bottom:0;flex-direction:row;gap:32px}#exit-follow{position:absolute;right:0;top:0}.about{position:fixed;inset:0;z-index:8;overflow:auto;background:var(--bg-canvas);color:var(--text-primary);pointer-events:auto}.about[hidden]{display:none!important}body.is-about{overflow:auto}.about-inner{max-width:1200px;margin:0 auto;padding:96px 48px 80px}.about h1{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);line-height:1.05;font-weight:400;max-width:900px}.about-lede{max-width:760px;color:var(--text-secondary)}.about h2{font-family:var(--font-display);font-size:40px;font-weight:400;margin:64px 0 24px}.meth{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;list-style:none;padding:0}.meth li{padding:24px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.meth .mono{display:block;font-size:28px;color:var(--accent);margin-bottom:8px}.table-wrap{overflow-x:auto}.roster{width:100%;border-collapse:collapse;font-size:14px}.roster th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:500;padding:12px 16px 12px 0}.roster td{padding:16px 16px 16px 0;border-top:1px solid var(--border-subtle);vertical-align:top}.credits{padding:0;list-style:none;color:var(--text-secondary);max-width:760px}.credits li{margin:8px 0}.foot{color:var(--text-muted);font-family:var(--font-display);font-style:italic}.cursor{position:fixed;width:20px;height:20px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:30;transform:translate(-50%,-50%);mix-blend-mode:difference}.sr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}body.is-intro .legend,body.is-intro .hint,body.is-intro .bottom-hud{opacity:0;pointer-events:none}body.is-about .bottom-hud,body.is-about .hint,body.is-about .legend,body.is-about .card,body.is-about .intro{opacity:0!important;pointer-events:none}body.is-chase .dock-wrap,body.is-chase .legend,body.is-chase .hint,body.is-chase .card{opacity:0;pointer-events:none}@media(max-width:720px){.nav{padding:16px 20px}.hero{font-size:40px}.lede{font-size:20px}.hint,.legend{display:none}.card{inset:auto 16px 200px;width:auto}.bottom-hud{bottom:0;width:100%;transform:none;left:0}.scrubber{border-radius:0}.dock{padding:0 12px 20px}}@media(pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor input{cursor:none}}
