html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#04141c;height:100%;margin:0;font-family:ui-rounded,system-ui,-apple-system,sans-serif;overflow:hidden}#game{width:100vw;height:100dvh;display:block}#hud{top:calc(12px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));color:#c8ebf0b3;pointer-events:none;flex-direction:column;gap:4px;font-size:12px;display:flex;position:fixed}.stat i{vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.stat b{color:#e6fafaf2;font-variant-numeric:tabular-nums;margin-left:4px}[data-kind=organic] i{background:#aaffa0;box-shadow:0 0 6px #aaffa0}[data-kind=lipid] i{background:#ffc86e}[data-kind=mineral] i{background:#aab4ff;border-radius:1px;transform:rotate(45deg)}#fps{opacity:.5;margin-top:4px;font-size:10px}#hint{left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom));text-align:center;color:#c8ebf0a6;pointer-events:none;font-size:13px;transition:opacity 1.2s;position:fixed}#hint.hidden{opacity:0}#biomass{margin-top:4px}#death{text-align:center;color:#dcf0f5d9;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 24px;transition:opacity 1s .6s;display:flex;position:fixed;inset:0}#death.shown{opacity:1}#death h1{letter-spacing:.02em;color:#ffc8d7f2;margin:0 0 4px;font-size:22px;font-weight:600}#death p{margin:0;font-size:13px}#death .stats{opacity:.7;font-variant-numeric:tabular-nums}#death .again{opacity:.55;margin-top:14px;font-size:12px}#evolve{color:#dcf0f5d9;text-align:center;opacity:0;pointer-events:none;background:radial-gradient(#020c1273,#02080ccc);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 16px;transition:opacity .4s;display:flex;position:fixed;inset:0}#evolve.shown{opacity:1;pointer-events:auto}#evolve h1{letter-spacing:.3em;text-transform:uppercase;color:#afffebe6;margin:0;font-size:13px;font-weight:600}#evolve>p{opacity:.7;margin:0 0 14px;font-size:13px}#evolve .cards{flex-wrap:wrap;justify-content:center;gap:12px;max-width:760px;display:flex}.card{width:220px;max-width:100%;color:inherit;font:inherit;cursor:pointer;background:#0a282eb3;border:1px solid #afffeb4d;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:18px 16px 16px;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.card:hover,.card:focus-visible{background:#0e383ed9;border-color:#afffebcc;outline:none;transform:translateY(-2px)}.card .icon svg{width:100%;height:100%}.card .icon{color:#afffebe6;width:56px;height:56px}.card .name{color:#ebfffaf2;font-size:17px;font-weight:600}.card .tagline{opacity:.75;font-size:12px;font-style:italic}.card .detail{opacity:.9;font-size:12px;line-height:1.45}.card .key{opacity:.4;font-size:10px;position:absolute;top:8px;right:10px}.card .lineage{letter-spacing:.08em;text-transform:uppercase;color:#afffeb99;margin-top:-4px;font-size:10px}kbd{font:inherit;opacity:.55;border:1px solid;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:10px}#transition-btn{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));color:#e1fff8f2;font:inherit;letter-spacing:.04em;cursor:pointer;opacity:0;pointer-events:none;background:#0a2e32bf;border:1px solid #afffeb99;border-radius:999px;padding:10px 18px;font-size:13px;transition:opacity .6s;animation:2.4s ease-in-out infinite beckon;position:fixed;transform:translate(-50%)}#transition-btn.shown{opacity:1;pointer-events:auto}@keyframes beckon{0%,to{box-shadow:0 0 #afffeb00}50%{box-shadow:0 0 24px #afffeb59}}#banner{top:calc(14px + env(safe-area-inset-top));text-align:center;letter-spacing:.04em;color:#e1fff8e6;font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;font-size:13px;transition:opacity .6s;position:fixed;left:0;right:0}#banner.shown{opacity:1}#prompt,#lineage{text-align:center;color:#dcf0f5e0;opacity:0;pointer-events:none;background:radial-gradient(#020c1259,#02080ccc);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;transition:opacity .5s;display:flex;position:fixed;inset:0}#lineage{padding-bottom:calc(9vh + env(safe-area-inset-bottom));background:linear-gradient(#02080c00 45%,#02080cd9);justify-content:flex-end;transition:opacity 1.2s .8s}#prompt.shown,#lineage.shown{opacity:1;pointer-events:auto}#prompt h1,#lineage h2{letter-spacing:.3em;text-transform:uppercase;color:#afffebe6;margin:0;font-size:13px;font-weight:600}#prompt .body{max-width:420px;margin:4px 0 12px;font-size:13px;line-height:1.6}#lineage .name{color:#f0fffcfa;margin:6px 0 0;font-size:30px;font-style:italic;font-weight:500}#lineage .form{opacity:.85;margin:0;font-size:14px}#lineage .stats,#lineage .discovered{opacity:.65;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:12px}#lineage .discovered{margin-bottom:14px}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}#prompt button,#lineage button{color:inherit;font:inherit;cursor:pointer;background:#0a282eb3;border:1px solid #afffeb59;border-radius:10px;padding:9px 16px;font-size:13px}#prompt button.primary,#lineage button.primary{background:#104042d9;border-color:#afffebcc}#mutations{color:#d2aaffd9;max-width:240px;margin-top:2px;font-size:11px;line-height:1.4}#mutation{top:calc(40px + env(safe-area-inset-top));color:#f0e6fff2;text-align:center;pointer-events:none;opacity:0;background:#1e0e2ec7;border:1px solid #c896ff73;border-radius:12px;min-width:240px;padding:12px 18px 10px;transition:opacity .5s,transform .5s;position:fixed;left:50%;transform:translate(-50%,-8px)}#mutation.shown{opacity:1;transform:translate(-50%)}#mutation h2{letter-spacing:.3em;text-transform:uppercase;color:#d2aaffe6;margin:0;font-size:10px;font-weight:600}#mutation p{margin:2px 0 0;font-size:12px}#mutation .name{margin-top:4px;font-size:17px;font-weight:600}#mutation .good:before{content:"+ ";color:#aaffbee6}#mutation .bad:before{content:"− ";color:#ff9696e6}#lineage .mutations{color:#d2aaffcc;margin:2px 0 0;font-size:12px}#sound{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));color:#c8ebf099;font:inherit;cursor:pointer;background:#04141c80;border:1px solid #c8ebf040;border-radius:8px;padding:4px 8px;font-size:11px;position:fixed}#tree-btn{right:calc(88px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));color:#c8ebf099;font:inherit;cursor:pointer;background:#04141c80;border:1px solid #c8ebf040;border-radius:8px;padding:4px 8px;font-size:11px;position:fixed}#lineage .dna{color:#afffebe6;margin:2px 0 12px;font-size:13px}#tree{z-index:2000;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));color:#dcf0f5e0;opacity:0;pointer-events:none;background:#030c11f0;flex-direction:column;transition:opacity .4s;display:flex;position:fixed;inset:0}#tree.shown{opacity:1;pointer-events:auto}#tree header{border-bottom:1px solid #afffeb26;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-bottom:10px;display:flex}#tree h1{letter-spacing:.3em;text-transform:uppercase;color:#afffebe6;margin:0;font-size:13px;font-weight:600}#tree .summary{opacity:.7;flex:1;margin:0;font-size:12px}#tree header button,#tree .unlock button{color:inherit;font:inherit;cursor:pointer;background:#0a282eb3;border:1px solid #afffeb59;border-radius:8px;padding:5px 10px;font-size:12px}#tree .unlock button:disabled{cursor:default;opacity:.45}#tree .body{flex:1;gap:20px;min-height:0;padding-top:12px;display:flex}#tree .canvas{flex:1;min-width:0;overflow-y:auto}#tree svg{width:100%;max-width:520px;margin:0 auto;display:block}#tree svg text{fill:#dcf0f5d9;font-size:12px}#tree svg text.name{font-size:13px;font-style:italic}#tree svg text.gen,#tree svg text.here{fill:#dcf0f580;font-size:10px}#tree svg text.root{letter-spacing:.3em;fill:#afffeb99;font-size:10px}#tree svg .pick{cursor:pointer}#tree svg .bud{animation:2s ease-in-out infinite bud}@keyframes bud{50%{opacity:.4}}#tree aside{flex-direction:column;gap:18px;width:300px;display:flex;overflow-y:auto}#tree h3{margin:0 0 6px;font-size:15px;font-weight:600}#tree .detail h3{font-size:18px;font-style:italic}#tree .detail .form,#tree .detail .empty{opacity:.8;margin:0 0 10px;font-size:13px}#tree dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:12px;display:grid}#tree dt{opacity:.55}#tree dd{margin:0}#tree .unlock{border-top:1px solid #afffeb1a;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:8px 0;font-size:12px;display:grid}#tree .unlock span{opacity:.7;grid-column:1}#tree .unlock button{grid-area:1/2/span 2}#tree .unlock.owned strong{color:#afffebf2}#tree .unlock select{color:inherit;font:inherit;background:#0a282ee6;border:1px solid #afffeb4d;border-radius:6px;grid-column:1/-1;margin-top:6px;padding:4px;font-size:12px}@media (width<=700px){#tree .body{flex-direction:column}#tree aside{width:auto;max-height:45%}}#evolve.mutant h1{color:#d2aafff2}#evolve.mutant .card{background:#221032bf;border-color:#c896ff59}#evolve.mutant .card .icon{color:#d2aaffe6}#generation{margin-bottom:4px}#hazard{top:calc(34px + env(safe-area-inset-top));text-align:center;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;text-shadow:0 0 8px #000c;font-size:12px;font-weight:600;position:fixed;left:0;right:0}.card .icon .preview{width:100%;height:100%}.card .icon:has(.preview){width:96px;height:96px}.card .icon:has(.preview){position:relative}.card .icon .badge{opacity:.8;width:26px;height:26px;position:absolute;bottom:-2px;right:-6px}#burst-btn{right:calc(20px + env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));color:#e1fff8e6;width:68px;height:68px;font:inherit;letter-spacing:.06em;background:#0a2e3299;border:1px solid #afffeb8c;border-radius:50%;font-size:13px;transition:opacity .2s;display:none;position:fixed}#burst-btn.cooling{opacity:.35}#hint .touch{display:none}@media (hover:none) and (pointer:coarse){kbd,.card .key,.keys{display:none}#hint .touch{display:inline}#burst-btn.shown{display:block}#sound,#tree-btn{padding:9px 12px;font-size:12px}#tree-btn{right:calc(108px + env(safe-area-inset-right))}#tree header button,#tree .unlock button{padding:8px 12px}}@media (width<=640px),(height<=560px){#evolve,#prompt,#lineage{padding:calc(16px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));justify-content:safe center;overflow-y:auto}#lineage{justify-content:safe flex-end}#evolve>p{margin-bottom:8px}#evolve .cards{grid-template-columns:1fr;gap:8px;width:100%;max-width:520px;display:grid}.card{text-align:left;grid-template-columns:64px 1fr;align-items:start;gap:2px 12px;width:auto;padding:10px 14px 10px 10px;display:grid}.card>:not(.icon,.key){grid-column:2}:is(.card .icon,.card .icon:has(.preview)){grid-area:1/1/span 4;align-self:center;width:64px;height:64px}.card .icon .badge{width:20px;height:20px}.card .name{font-size:15px}.card .lineage{margin-top:0}#lineage .name{font-size:24px}}@media (height<=560px) and (width>=600px){#evolve .cards{grid-template-columns:1fr 1fr;max-width:860px}}#evolve.shown~#hint,#prompt.shown~#hint,#lineage.shown~#hint,#death.shown~#hint{opacity:0}@media (width<=640px){#banner{top:calc(176px + env(safe-area-inset-top))}#hazard{top:calc(196px + env(safe-area-inset-top))}#hint{bottom:calc(64px + env(safe-area-inset-bottom));padding:0 24px}}#evolve.paths .cards{max-width:1060px}#evolve.paths .card{width:240px}#evolve.paths .card .icon:has(.preview){width:132px;height:132px}@media (width<=700px){#evolve.paths .cards{max-width:100%}#evolve.paths .card{width:100%}#evolve.paths .card .icon:has(.preview){width:90px;height:90px}}@media (width<=900px){#evolve.paths .card{grid-template-columns:90px 1fr;width:auto}#evolve.paths .card .icon:has(.preview){width:90px;height:90px}}.combat-button{right:calc(20px + env(safe-area-inset-right));color:#f0d9ff;cursor:pointer;z-index:10;touch-action:none;background:#35223f;border:1px solid #ba8cce;border-radius:12px;width:84px;min-height:48px;font:13px system-ui;position:fixed}.combat-button[hidden]{display:none}.combat-button:disabled{opacity:.5;cursor:default}#strike-btn{bottom:calc(152px + env(safe-area-inset-bottom))}#latch-btn{bottom:calc(210px + env(safe-area-inset-bottom));color:#d7ffee;background:#163c35;border-color:#7ebfa5}#combat-hint{bottom:calc(64px + env(safe-area-inset-bottom));color:#e3d5eb;text-align:center;z-index:10;pointer-events:none;background:#14252eee;border-radius:8px;max-width:min(500px,70vw);padding:8px 12px;font:13px/1.4 system-ui;position:fixed;left:50%;transform:translate(-50%)}#combat-hint[hidden]{display:none}@media (width<=640px){#tree-btn{left:calc(14px + env(safe-area-inset-left));min-height:32px;right:auto}#sound{min-height:32px}#hint{bottom:calc(104px + env(safe-area-inset-bottom))}#combat-hint{max-width:none;left:14px;right:112px;bottom:calc(116px + env(safe-area-inset-bottom));transform:none}}#evolution-tree-btn{left:118px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;color:#bde5dc;cursor:pointer;background:#10272d;border:1px solid #42615f;border-radius:8px;padding:6px 10px;position:fixed}#evolution-tree{box-sizing:border-box;color:#d8eee8;background:#092027;border:1px solid #577871;border-radius:16px;width:min(1100px,100vw - 32px);max-height:calc(100dvh - 36px);padding:24px;font:14px/1.5 system-ui;overflow:auto}#evolution-tree::backdrop{background:#000b}#evolution-tree header{z-index:2;background:#092027;justify-content:space-between;gap:16px;padding:12px 0;display:flex;position:sticky;top:-24px}#evolution-tree h1{margin:0;font-size:24px}#evolution-tree h2,#evolution-tree h3{margin:0}#evolution-tree button{font:inherit;color:inherit}#evolution-tree header button,#evolution-tree nav button{cursor:pointer;background:#17343b;border:1px solid #4b6d65;border-radius:8px;padding:8px 12px}#evolution-tree nav{flex-wrap:wrap;gap:8px;display:flex}#evolution-tree nav [aria-pressed=true]{background:#315749;border-color:#aeefc9}.tree-identity{align-items:center;gap:20px;margin:18px 0;display:flex}.tree-identity img{width:132px;height:132px}.tree-branches{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.tree-branches>section{background:#102b32;border-radius:12px;padding:16px}.tree-node{text-align:left;box-sizing:border-box;background:#15343b;border:1px solid #55706c;border-radius:10px;grid-template-columns:68px 1fr;gap:4px 10px;width:100%;padding:10px;display:grid}.tree-node img{grid-row:1/span 4;width:68px;height:68px}.tree-node span,.tree-node small{grid-column:2}.tree-node small{color:#a7c8bc}.tree-node[data-state=owned]{background:#214638;border-color:#a4e8b8}.tree-node[data-state=locked]{background:#10262c;border-style:dashed}.tree-node:enabled{cursor:pointer;border-color:#e3c88c}.tree-node:enabled:hover{background:#35564a}.tree-node:disabled{opacity:1}.tree-arrow{text-align:center;color:#9abdae;font-size:22px}.tree-shared{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.tree-shared h3,.tree-shared>p{grid-column:1/-1}@media (width<=750px){.tree-branches,.tree-shared{grid-template-columns:1fr}#evolution-tree{padding:16px}.tree-identity{gap:8px}.tree-identity img{width:100px;height:100px}}@media (width<=640px){#evolution-tree-btn{bottom:calc(58px + env(safe-area-inset-bottom));min-height:36px}}#life-guide-btn{left:calc(14px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));color:#b5d3d4;cursor:pointer;background:#04141ccc;border:1px solid #afe1dc40;border-radius:8px;padding:6px 12px;font:12px system-ui,sans-serif;position:fixed}#life-guide{box-sizing:border-box;color:#e1efed;touch-action:pan-y;background:#081c24;border:1px solid #34565a;border-radius:18px;width:min(900px,100vw - 28px);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto}#life-guide::backdrop{background:#00080ccc}#life-guide header{z-index:1;background:#081c24;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex;position:sticky;top:0}#life-guide .eyebrow{letter-spacing:.18em;color:#8fb7b5;margin:0 0 8px;font-size:10px}#life-guide h1{margin:0;font-size:26px;font-weight:600}#life-guide header button{color:#c9ddda;cursor:pointer;background:0 0;border:1px solid #34565a;border-radius:8px;padding:8px 12px}#life-guide .intro{color:#a9c4c4;margin:16px 0 22px;font-size:13px;line-height:1.6}#life-guide .specimens{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}#life-guide article{background:#0c242d;border:1px solid #233f46;border-radius:12px;padding:12px 16px 16px}#life-guide canvas{object-fit:contain;width:100%;height:120px;display:block}#life-guide h2{margin:0 0 8px;font-size:15px;font-weight:600}#life-guide article p{color:#a8c2c5;margin:8px 0 0;font-size:12px;line-height:1.6}#life-guide article .action{color:#d4e8d8;font-size:12px}#life-guide button:focus-visible,#life-guide-btn:focus-visible{outline-offset:3px;outline:2px solid #a9e3d2}@media (width<=700px){#life-guide .specimens{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=440px){#life-guide{padding:18px}#life-guide .specimens{grid-template-columns:1fr}#life-guide h1{font-size:22px}}@media (width<=640px){#life-guide-btn{bottom:calc(58px + env(safe-area-inset-bottom));min-height:36px}}
