:root{--bg:#000;--panel:#070a07;--fg:#eef1e8;--fg-dim:#90978c;--fg-dimmer:#565d55;--green:#b9ff61;--cyan:#63d7e6;--red:#ff536f;--yellow:#ffe56c;--accent:var(--green);--line:#343a34;--dash:#505750}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%;background:var(--bg)}body{color:var(--fg);font-family:SFMono-Regular,Roboto Mono,Cascadia Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.45;-webkit-font-smoothing:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background:repeating-linear-gradient(0deg,transparent 0 3px,#fff 3px 4px);mix-blend-mode:screen}button,textarea{font:inherit}button{background:none;border:none;cursor:pointer}a,button{color:inherit}::selection{color:#000;background:var(--green)}.scene{width:min(100%,720px);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;align-items:stretch;padding:1.25rem 1.2rem 1.6rem;position:relative;isolation:isolate;border-inline:1px solid #111511}.terminalNoise{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 49.9%,rgba(185,255,97,.018) 50%,transparent 50.1%),radial-gradient(circle at 50% 28%,rgba(185,255,97,.045),transparent 42%)}.scene--critical{filter:saturate(.82)}.topbar{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:start;grid-gap:1.1rem;gap:1.1rem;padding-bottom:.85rem}.brandBlock,.dayBlock{display:flex;flex-direction:column;gap:.12rem}.wordmark{color:var(--green);font-size:1.02rem;letter-spacing:-.04em;line-height:1.1}.cursor{width:.58em;height:1em;display:inline-block;margin-left:.32em;vertical-align:-.14em;background:var(--green);animation:terminalCursor 1.1s step-end infinite}.dayLabel,.tagline{color:var(--fg-dimmer);font-size:.62rem;letter-spacing:.12em}.dayBlock{align-items:flex-end}.daycount{color:var(--fg);font-size:.9rem;white-space:nowrap}.daycount b{color:var(--green);font-weight:400}.langbtn{color:var(--fg-dim);font-size:.7rem;padding:.15rem 0}.langbtn:focus-visible,.langbtn:hover{color:var(--green)}.systemLine{display:flex;justify-content:space-between;padding:.42rem 0;border-block:1px dashed var(--dash);color:var(--fg-dimmer);font-size:.62rem;letter-spacing:.1em}.statusOnline{color:var(--green);display:inline-flex;align-items:center;gap:.5em}.statusDot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.statusOffline{color:var(--red)}.systemRight{display:flex;align-items:center;gap:.9rem}.factsBtn{background:none;border:none;padding:0;font:inherit;letter-spacing:inherit;color:var(--fg-dim);cursor:pointer}.factsBtn:hover{color:var(--green)}.factsOverlay{position:fixed;inset:0;background:rgba(4,6,4,.82);display:flex;align-items:center;justify-content:center;z-index:40;padding:1rem}.factsPanel{width:min(92vw,440px);background:var(--bg,#0c0f0c);border:1px solid var(--dash);padding:.9rem 1rem 1.1rem;font-size:.78rem;line-height:1.55}.factsHead{display:flex;justify-content:space-between;align-items:center;color:var(--green);letter-spacing:.12em;font-size:.68rem;margin-bottom:.7rem}.factsList{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.55rem;color:var(--fg-dim)}.factsList li::marker{color:var(--green)}.banner{margin-top:.8rem;color:var(--red);border:1px solid var(--red);padding:.55rem .7rem;font-size:.76rem;text-transform:uppercase}.creatureWrap{width:100%;display:flex;flex-direction:column;margin-top:1.15rem}.bubbleWrap{min-height:4.8rem;display:grid;grid-template-columns:5.8rem 1fr auto;align-items:start;border-left:1px solid var(--dash);padding:.55rem 0 .75rem 1rem;animation:bubbleIn .45s steps(3) both}.bubbleActor{color:var(--cyan);font-size:.74rem}.bubble{color:var(--fg);font-size:.9rem;line-height:1.55;padding-right:.75rem}.bubble:before{content:"> ";color:var(--green)}.bubbleTime{color:var(--fg-dimmer);font-size:.62rem;padding-top:.14rem;white-space:nowrap}.signalStage{min-height:clamp(330px,52dvh,440px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid var(--dash);background:linear-gradient(rgba(185,255,97,.025) 1px,transparent 0),linear-gradient(90deg,rgba(185,255,97,.025) 1px,transparent 0);background-size:24px 24px;-webkit-clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.signalStage:after,.signalStage:before{content:"";position:absolute;width:54px;height:2px;background:var(--green);opacity:.72}.signalStage:before{left:0;top:0}.signalStage:after{right:0;bottom:0}.stageMeta{position:absolute;left:.7rem;right:.7rem;display:flex;justify-content:space-between;color:var(--fg-dimmer);font-size:.6rem;letter-spacing:.08em;z-index:2}.stageMeta--top{top:.58rem}.stageMeta--top span:last-child{color:var(--green)}.stageMeta--bottom{bottom:.52rem;align-items:flex-end}.eggPct{font-size:1.08rem;line-height:1;color:var(--green)}.eggDeadline{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}.eggDeadline--soon{color:var(--red)}.stageTicks{position:absolute;top:50%;width:8px;height:96px;transform:translateY(-50%);opacity:.3;background:repeating-linear-gradient(0deg,var(--fg) 0 1px,transparent 1px 8px)}.stageTicks--left{left:0}.stageTicks--right{right:0}.creature{width:min(96vw,500px);display:block;-moz-user-select:none;user-select:none;-webkit-user-select:none;image-rendering:pixelated;filter:drop-shadow(0 0 12px rgba(185,255,97,.12));transition:filter .3s steps(2)}.epochReferenceStrip .creature{width:100%}@keyframes terminalCursor{0%,46%{opacity:1}47%,to{opacity:0}}@keyframes bubbleIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.actions,.lifeRow,.presence{width:100%;margin-top:1.15rem}.actions,.lifeRow{display:flex;flex-direction:column;gap:.55rem}.sectionLabel{width:100%;display:flex;justify-content:space-between;color:var(--green);font-size:.64rem;letter-spacing:.09em}.sectionLabel span:last-child{color:var(--fg-dimmer)}.lifebar{width:100%;height:12px;display:block;overflow:hidden;padding:2px;border:1px solid var(--dash);background:#050705}.lifefill{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--green) 0 12px,transparent 12px 15px);transition:width .8s steps(10)}.lifenum{color:var(--green);font-size:.66rem}.hints{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.45rem;gap:.45rem}.hint{color:var(--fg-dimmer);border-left:2px solid var(--line);padding-left:.45rem;font-size:.64rem;letter-spacing:.08em}.hint--low{color:var(--red);border-color:var(--red);animation:hintGlow 1.2s step-end infinite}@keyframes hintGlow{0%,49%{opacity:1}50%,to{opacity:.36}}.actionRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;grid-gap:.45rem;gap:.45rem}.actbtn{position:relative;min-height:3.1rem;overflow:hidden;border:1px solid var(--dash);background:#030503;padding:.62rem .7rem;color:var(--fg);font-size:.7rem;line-height:1.25;text-align:left;text-transform:uppercase;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}.actbtn:focus-visible,.actbtn:hover:not(:disabled){color:var(--green);border-color:var(--green);outline:none}.actbtn:disabled{color:var(--fg-dimmer);opacity:.45;cursor:default}.actionKey{color:var(--cyan)}.actbtn--hold .holdfill{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--hold,0));background:rgba(185,255,97,.2);transition:transform .05s steps(2);pointer-events:none}.holdlabel{position:relative}.dots{display:flex;gap:.35rem}.dot{width:8px;height:8px;background:var(--line)}.dot--on{background:var(--green);box-shadow:0 0 8px rgba(185,255,97,.42)}.composer{width:100%;display:flex;flex-direction:column;gap:.45rem;border-left:1px solid var(--cyan);padding-left:.7rem}.composer textarea{width:100%;resize:none;background:#030503;border:1px solid var(--dash);color:var(--fg);padding:.65rem;outline:none}.composer textarea:focus{border-color:var(--cyan)}.composerRow{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.charcount{color:var(--fg-dimmer);font-size:.65rem;flex:1 1}.minor{color:var(--fg-dim);padding:.3rem 0;font-size:.68rem;text-decoration:none;text-transform:uppercase}.minor--primary,.minor:focus-visible,.minor:hover{color:var(--green)}.minor:disabled{opacity:.4}.presence{border-top:1px dashed var(--dash);padding-top:.75rem}.presenceLine{color:var(--fg-dim);font-size:.68rem;padding:.6rem 0 .6rem .75rem;border-left:1px solid var(--dash)}.presenceLine:before{content:"> ";color:var(--cyan)}.feedlist{list-style:none;display:flex;flex-direction:column;border-top:1px solid #151915}.feeditem{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;grid-gap:.55rem;gap:.55rem;min-width:0;padding:.42rem 0;border-bottom:1px solid #151915;color:var(--fg-dim);font-size:.66rem;animation:feedIn .35s steps(2) both}.feedIndex{color:var(--cyan)}.feeditem>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedtime{flex-shrink:0;color:var(--fg-dimmer)}@keyframes feedIn{0%{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}.footer{margin-top:auto;padding-top:1.2rem;display:flex;justify-content:flex-end;gap:1.2rem;border-top:1px dashed var(--dash)}.toast{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);background:#050805;border:1px solid var(--green);color:var(--green);padding:.65rem 1rem;font-size:.72rem;max-width:min(88vw,34rem);text-align:center;animation:toastIn .24s steps(2);z-index:50}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:520px){.scene{padding:.95rem .8rem 1.3rem}.topbar{gap:.65rem}.dayLabel,.tagline{display:none}.bubbleWrap{grid-template-columns:1fr auto;padding-left:.65rem}.bubbleActor{grid-column:1/-1;margin-bottom:.22rem}.signalStage{min-height:330px}.actionRow{gap:.3rem}.actbtn{padding:.52rem .4rem;font-size:.62rem}}.creature #breathe{animation:breathe 3.2s ease-in-out infinite;transform-box:view-box;transform-origin:50% 90%}.creature #antenna{animation:crestSway 5.4s ease-in-out infinite;transform-box:fill-box;transform-origin:20% 100%}.creature #tail{animation:tailIdle 4.6s ease-in-out infinite;transform-box:fill-box;transform-origin:0 50%}.creature .pupilG{transform:translate(calc(var(--gaze-x, 0) * 4px),calc(var(--gaze-y, 0) * 3px))}.creature .hlG{transform:translate(calc(var(--gaze-x, 0) * -1.2px),calc(var(--gaze-y, 0) * -.9px))}.trait{transform-box:fill-box;transform-origin:50% 100%}.trait-sway{animation:traitSway var(--t-period,4s) ease-in-out infinite}@keyframes traitSway{0%,to{rotate:calc(var(--t-amp, .05) * -50deg)}50%{rotate:calc(var(--t-amp, .05) * 50deg)}}.trait-pulse{animation:traitPulse var(--t-period,4s) ease-in-out infinite}@keyframes traitPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(calc(1 + var(--t-amp, .05)))}}.trait-flicker{animation:traitFlicker var(--t-period,3s) ease-in-out infinite}@keyframes traitFlicker{0%,to{opacity:.55}42%{opacity:1}58%{opacity:.8}}.trait-drift{animation:traitDrift var(--t-period,5s) ease-in-out infinite}@keyframes traitDrift{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--t-amp, .05) * -30px))}}.creature #eyes{animation:blink var(--blink-dur,5.2s) infinite;transform-box:fill-box;transform-origin:center}.creature[data-mood=grateful] #eyes,.creature[data-mood=happy] #eyes,.creature[data-mood=sleepy] #eyes{animation:none}.creature[data-mood=scared] #sway{animation:tremble .16s linear infinite;transform-box:view-box}.creature[data-mood=sleepy] #sway{animation:drift 6.5s ease-in-out infinite;transform-box:view-box;transform-origin:50% 85%}.creature[data-mood=sleepy] .zzz text{animation:zfloat 3.2s ease-in-out infinite;opacity:0}.creature[data-mood=sleepy] .zzz text:nth-child(2){animation-delay:1.1s}.creature[data-mood=sleepy] .zzz text:last-child{animation-delay:2.2s}.creature[data-mood=sick]{filter:saturate(.5) brightness(.9)}.creature[data-mood=sick] .sickPixels{animation:drift 4.4s ease-in-out infinite}.creature .tear rect{animation:tearFall 4.6s ease-in-out infinite;opacity:0}.creature[data-mood=lonely] .tear rect{animation-duration:7s}@keyframes tearFall{0%,18%{opacity:0;transform:translateY(0)}30%,62%{opacity:.9;transform:translateY(2px)}86%{opacity:.9;transform:translateY(12px)}to{opacity:0;transform:translateY(16px)}}.creature[data-mood=scared] .sweat rect{animation:sweatFly .9s linear infinite;opacity:0}.creature[data-mood=scared] .sweat rect:last-child{animation-delay:.45s}@keyframes sweatFly{0%{opacity:0;transform:translate(0)}25%,70%{opacity:.9}to{opacity:0;transform:translate(-6px,-10px)}}.creature[data-mood=scared] .sweat rect:last-child{animation-name:sweatFlyR}@keyframes sweatFlyR{0%{opacity:0;transform:translate(0)}25%,70%{opacity:.9}to{opacity:0;transform:translate(6px,-10px)}}.creature[data-mood=curious] #sway{animation:curiousTilt 5.4s ease-in-out infinite;transform-box:view-box;transform-origin:50% 88%}@keyframes curiousTilt{0%,55%,to{transform:rotate(0deg)}20%,38%{transform:rotate(-3deg)}}.creature[data-mood=happy] #sway{animation:joyBounce 2.4s ease-in-out infinite;transform-box:view-box;transform-origin:50% 100%}@keyframes joyBounce{0%,55%,to{transform:translateY(0)}12%{transform:translateY(-4px)}24%{transform:translateY(0)}34%{transform:translateY(-2px)}}.sparkles path{animation:sparkle 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.sparkles path:last-child{animation-delay:1.2s}.creature[data-activity=eating] #mouth{animation:chew .36s ease-in-out 4;transform-box:fill-box;transform-origin:center}.creature[data-activity=eating] #breathe{animation:munch .36s ease-in-out 4}.memorial,.scene--memorial{justify-content:center}.memorial{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding-bottom:3rem}.memorialCreature .creature{width:min(48vw,210px);filter:grayscale(.85) brightness(.75)}.memorialCreature .creature #breathe,.memorialCreature .creature #eyes,.memorialCreature .creature #sway,.memorialCreature .creature .zzz text{animation:none!important}.memorialTitle{margin-top:1.6rem;font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:1.5rem;letter-spacing:.04em}.memorialLine{color:var(--fg-dim);font-size:.9rem}.memorialThought{margin:1.6rem 0 1.2rem;max-width:26rem}.memorialThoughtLabel{font-size:.72rem;color:var(--fg-dimmer);letter-spacing:.12em;text-transform:uppercase}.memorialThoughtText{margin-top:.6rem;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1.15rem;line-height:1.5;color:#d9d6cf}.diary{max-width:40rem;margin:0 auto;padding:2.2rem 1.4rem 4rem}.diaryHeader{text-align:center;margin-bottom:2.6rem;position:relative}.diaryBack{position:absolute;left:0;top:.1rem;text-decoration:none;color:var(--fg-dim);font-size:1.1rem}.diaryTitle{letter-spacing:.32em;font-weight:300;font-size:1rem}.diarySub{margin-top:.4rem;color:var(--fg-dimmer);font-size:.78rem;font-style:italic}.privacyBody{display:flex;flex-direction:column;gap:1.4rem;font-size:.82rem;line-height:1.65;color:var(--fg-dim)}.privacyBody h2{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 .5rem}.privacyBody ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.55rem}.privacyBody li::marker{color:var(--green)}.privacyBody b{color:var(--fg);font-weight:600}.privacyBody p{margin:0}.diaryEmpty{text-align:center;color:var(--fg-dim);font-style:italic}.diaryList{list-style:none;display:flex;flex-direction:column;gap:2.4rem}.diaryEntry{border-left:2px solid var(--line);padding-left:1.2rem}.diaryThought{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.55;color:#e3e0d9}.diaryMeta{margin-top:.7rem;display:flex;gap:.45rem;align-items:baseline;color:var(--fg-dimmer);font-size:.75rem}.creature.js-anim #eyes{animation:none}.creature.anim-blink #eyes{animation:blinkOnce .17s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-blink-double #eyes{animation:blinkOnce .17s ease-in-out 2;transform-box:fill-box;transform-origin:center}.creature.anim-weight-shift #pose{animation:weightShift 1.6s ease-in-out}.creature.anim-ear-twitch #antenna{animation:earTwitch .7s ease-out;transform-box:fill-box;transform-origin:18% 92%}.creature.anim-sigh #breathe{animation:sighBreath 2.2s ease-in-out}.creature.anim-sigh #cheeks{animation:sighCheeks 2.2s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-look-around{--gaze-x:0}.creature.anim-look-around #pose{animation:lookAround 2.6s ease-in-out}.creature.anim-look-around .pupilG{animation:lookAroundPupils 2.6s ease-in-out}.creature.anim-tail-sway #tail{animation:tailSway 3s ease-in-out;transform-box:fill-box;transform-origin:0 50%}.creature.anim-stretch #breathe{animation:stretchUp 1.8s cubic-bezier(.34,1.4,.44,1)}.creature.anim-feed #breathe{animation:feedBody 3.4s ease-in-out}.creature.anim-feed #mouth{animation:feedChew 3.4s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-refusal #pose{animation:refusal 1.8s ease-in-out}.creature.anim-watch-settle #breathe{animation:watchSettle 1.4s ease-out}.creature.anim-slow-blink #eyes{animation:slowBlink 1.6s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-nod #pose{animation:gratefulNod 1.1s ease-in-out}.creature.anim-ears-perk #antenna{animation:earsPerk .9s cubic-bezier(.34,1.56,.64,1);transform-box:fill-box;transform-origin:50% 100%}.creature.anim-ears-perk #pose{animation:perkTilt .9s ease-out}.creature.anim-head-tilt #pose{animation:headTilt 1.2s ease-in-out}.creature.anim-word-taste #mouth{animation:wordTaste 2.4s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-word-sparkle #extras,.creature.anim-word-sparkle #sockets{animation:wordSparkle 1.2s ease-out}.creature.anim-word-glance .pupilG{animation:wordGlance .9s ease-in-out}.creature.anim-thought .pupilG{animation:thoughtGaze 1.3s ease-in-out}.creature.anim-crit-shiver #pose{animation:critShiver 2s ease-in-out}.creature.anim-crit-shiver{filter:brightness(.85);transition:filter .8s ease}.creature.anim-recover #pose{animation:recoverShake 1.6s cubic-bezier(.34,1.3,.5,1)}.creature.anim-sneeze #pose{animation:sneeze 1.5s ease-in-out}.creature.anim-sneeze #eyes{animation:sneezeEyes 1.5s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-hiccup #breathe{animation:hiccup .9s cubic-bezier(.36,1.6,.5,1)}.creature.anim-dust-chase .pupilG{animation:dustChase 4.2s ease-in-out}.creature.anim-dust-chase #pose{animation:dustChaseHead 4.2s ease-in-out}.creature.anim-look-back #pose{animation:lookBack 3.2s ease-in-out}.creature.anim-ear-flop #antenna{animation:earFlop 1.4s cubic-bezier(.34,1.5,.6,1);transform-box:fill-box;transform-origin:50% 100%}.creature.anim-sleep-startle #pose{animation:sleepStartle 3.8s ease-in-out}.creature.anim-sleep-startle #eyes{animation:sleepStartleEyes 3.8s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-yawn #mouth{animation:yawnMouth 3.6s ease-in-out;transform-box:fill-box;transform-origin:center}.creature.anim-yawn #breathe{animation:yawnBody 3.6s ease-in-out}.creature.anim-breath-count #breathe{animation:countedBreaths 5.2s ease-in-out}.creature.anim-breath-count .pupilG{animation:countedGaze 5.2s ease-in-out}.creature.anim-meta{animation:metaGlow 40s ease-in-out}.creature.anim-meta #breathe{animation:metaBreath 40s ease-in-out}@media (prefers-reduced-motion:reduce){.creature #antenna,.creature #breathe,.creature #mouth,.creature #pose,.creature #sway,.creature .hlG,.creature .pupilG,.creature .zzz text,.sparkles path,.trait{animation:none!important}.creature #breathe{animation:breathe 3.2s ease-in-out infinite!important}.creature #eyes{animation:blink var(--blink-dur,5.2s) infinite!important}}.creature,.creature *{animation-timing-function:steps(2)!important}.shellOverlay .shellPiece{animation-timing-function:steps(6)!important}.shellOverlay .shellDebris{animation-timing-function:steps(4)!important}.creature #breathe{transform-origin:50% 88%}@keyframes breathe{0%,44%,to{transform:translateY(0)}45%,94%{transform:translateY(-2px)}}@keyframes crestSway{0%,44%,to{transform:translateX(0)}45%,94%{transform:translateX(2px)}}@keyframes tailIdle{0%,49%,to{transform:translateY(0)}50%,99%{transform:translateY(-2px)}}@keyframes blink{0%,42.9%{transform:scaleY(1)}43%,46.4%{transform:scaleY(.08)}46.5%,to{transform:scaleY(1)}}@keyframes blinkOnce{0%,29.9%{transform:scaleY(1)}30%,69.9%{transform:scaleY(.08)}70%,to{transform:scaleY(1)}}@keyframes tremble{0%,to{transform:translate(0)}25%{transform:translate(2px)}50%{transform:translate(-2px,-2px)}75%{transform:translateY(2px)}}@keyframes drift{0%,49%,to{transform:translateY(0)}50%,99%{transform:translateY(2px)}}@keyframes zfloat{0%{opacity:0;transform:translateY(4px)}30%,70%{opacity:.9}to{opacity:0;transform:translate(4px,-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:translateY(2px)}40%,72%{opacity:1;transform:translateY(0)}}@keyframes chew{0%,18%,to{transform:translateY(0) scaleY(1)}22%,31%,40%,49%{transform:translateY(3px) scaleY(.45)}27%,36%,45%,58%{transform:translateY(0) scaleY(1)}}@keyframes feedChew{0%,18%,to{transform:translateY(0) scaleY(1)}22%,31%,40%,49%{transform:translateY(3px) scaleY(.45)}27%,36%,45%,58%{transform:translateY(0) scaleY(1)}}@keyframes munch{0%,to{transform:translate(0)}50%{transform:translateY(3px)}}@keyframes weightShift{0%,to{transform:translateX(0)}28%,54%{transform:translateX(-4px)}55%,82%{transform:translateX(4px)}}@keyframes earTwitch{0%,to{transform:translate(0)}24%{transform:translate(-3px,-2px)}48%{transform:translate(3px)}68%{transform:translate(-1px)}}@keyframes sighBreath{0%,to{transform:translateY(0)}24%,42%{transform:translateY(-3px)}52%,76%{transform:translateY(3px)}}@keyframes sighCheeks{0%,to{transform:scale(1)}24%,44%{transform:scale(1.3)}55%,75%{transform:scale(.8)}}@keyframes lookAround{0%,to{transform:translateX(0)}22%,46%{transform:translateX(-3px)}58%,82%{transform:translateX(3px)}}@keyframes lookAroundPupils{0%,to{transform:translate(0)}18%,48%{transform:translate(-4px)}62%,84%{transform:translate(4px)}}@keyframes tailSway{0%,to{transform:translateY(0)}25%,48%{transform:translateY(-5px)}68%,88%{transform:translateY(3px)}}@keyframes stretchUp{0%,to{transform:translateY(0)}32%,66%{transform:translateY(-8px)}78%,90%{transform:translateY(3px)}}@keyframes feedBody{0%,to{transform:translate(0)}10%,18%{transform:translate(-2px,-2px)}22%,58%{transform:translate(4px,2px)}66%,74%{transform:translateY(-3px)}78%,86%{transform:translateY(5px)}90%,96%{transform:translateY(-4px)}}@keyframes refusal{0%,to{transform:translate(0)}18%,30%{transform:translateY(-3px)}48%,78%{transform:translateX(-8px)}}@keyframes watchSettle{0%{transform:translateY(-2px)}45%,78%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes slowBlink{0%,to{transform:scaleY(1)}30%,70%{transform:scaleY(.07)}}@keyframes gratefulNod{0%,to{transform:translateY(0)}32%,70%{transform:translateY(5px)}}@keyframes earsPerk{0%,to{transform:translate(0)}28%,70%{transform:translateY(-6px)}}@keyframes perkTilt{0%,to{transform:translateX(0)}35%,72%{transform:translateX(5px)}}@keyframes headTilt{0%,to{transform:translateX(0)}35%,72%{transform:translateX(5px)}}@keyframes wordTaste{0%,to{transform:scaleY(1)}18%,32%,48%,62%{transform:scaleY(1.7)}25%,40%,55%,72%{transform:scaleY(.45)}}@keyframes wordSparkle{0%,to{opacity:1}25%,42%{opacity:.2}43%,78%{opacity:1}}@keyframes wordGlance{0%,to{transform:translate(0)}35%,78%{transform:translate(4px,2px)}}@keyframes thoughtGaze{0%,to{transform:translate(0)}28%,72%{transform:translate(-4px,-4px)}}@keyframes critShiver{0%,to{transform:translateX(0)}10%,30%,50%,70%{transform:translateX(-3px)}20%,40%,60%,80%{transform:translateX(3px)}}@keyframes recoverShake{0%,to{transform:translateX(0)}18%{transform:translateX(-7px)}36%{transform:translateX(7px)}55%{transform:translateX(-4px)}72%{transform:translateX(3px)}}@keyframes sneeze{0%,to{transform:translate(0)}20%,34%{transform:translate(-3px,-3px)}38%,50%{transform:translate(8px,5px)}58%,78%{transform:translate(2px,1px)}}@keyframes sneezeEyes{0%,58%,to{transform:scaleY(1)}18%,48%{transform:scaleY(.1)}}@keyframes hiccup{0%,to{transform:translateY(0)}28%,48%{transform:translateY(-8px)}55%,72%{transform:translateY(2px)}}@keyframes dustChase{0%,to{transform:translate(0)}14%{transform:translate(-5px,-4px)}30%{transform:translate(4px,-4px)}48%{transform:translate(5px,2px)}65%{transform:translate(-3px,4px)}82%{transform:translate(-5px,-1px)}}@keyframes dustChaseHead{0%,to{transform:translateX(0)}26%,48%{transform:translateX(-2px)}55%,78%{transform:translateX(2px)}}@keyframes lookBack{0%,to{transform:translateX(0)}18%,36%{transform:translateX(9px)}44%,54%{transform:translateX(0)}58%,78%{transform:translateX(11px)}86%,94%{transform:translateX(-2px)}}@keyframes earFlop{0%,to{transform:translateY(0) scaleY(1)}28%,54%{transform:translateY(5px) scaleY(.55)}72%,84%{transform:translateY(-3px) scaleY(1.08)}}@keyframes sleepStartle{0%,to{transform:translateY(0)}28%,46%{transform:translateY(3px)}50%,58%{transform:translateY(7px)}62%,70%{transform:translateY(-7px)}}@keyframes sleepStartleEyes{0%,to{transform:scaleY(1)}24%,58%{transform:scaleY(.1)}62%,82%{transform:scaleY(1.2)}}@keyframes yawnMouth{0%,to{transform:scale(1)}16%,34%{transform:scale(1.8,2.4)}42%,54%{transform:scale(1)}60%,76%{transform:scale(1.35,1.65)}}@keyframes yawnBody{0%,to{transform:translateY(0)}18%,34%{transform:translateY(-4px)}36%,52%{transform:translateY(2px)}}@keyframes countedBreaths{0%,to{transform:translateY(0)}12%,24%,42%,54%,72%,84%{transform:translateY(-3px)}30%,60%,90%{transform:translateY(2px)}}@keyframes countedGaze{0%,to{transform:translate(0)}8%,92%{transform:translateY(5px)}}@keyframes metaGlow{0%,to{filter:brightness(1)}10%,48%{filter:brightness(.35) saturate(0)}49%,72%{filter:brightness(.7) saturate(1.8) hue-rotate(20deg)}73%,88%{filter:brightness(1.8) saturate(1.3)}}@keyframes metaBreath{0%,to{transform:translateY(0)}16%,56%{transform:translateY(4px)}72%,90%{transform:translateY(-7px)}}.diaryThought,.memorialThoughtText,.memorialTitle{font-family:inherit;font-style:normal}.diaryEntry,.memorial{border-radius:0}.labPreview .creature{width:100%}.eggSvg #breathe{animation:breathe 4.4s ease-in-out infinite;transform-box:view-box;transform-origin:50% 88%}.eggSvg.egg-knock #breathe{animation:tremble .14s linear 3}.bornLine{display:block;font-size:10px;letter-spacing:.12em;opacity:.6}.eggSvg.egg-hatch-shake #breathe{animation:tremble .1s linear infinite}.eggSvg.egg-hatch-shake .eggHeart{animation:eggHeart .5s ease-in-out infinite}@keyframes eggHeart{0%,to{opacity:.2}50%{opacity:.55}}.hatchWrap{position:relative;width:min(96vw,500px)}.hatchWrap .creature{width:100%}.hatchGrow{animation:hatchGrow 3.2s cubic-bezier(.3,.9,.4,1) both;transform-origin:50% 88%}@keyframes hatchGrow{0%{transform:scale(.52)}32%{transform:scale(.58)}70%{transform:scale(.97)}84%{transform:scale(1.04)}to{transform:scale(1)}}.shellOverlay{position:absolute;inset:0;width:100%!important;pointer-events:none}.shellPiece{animation:shellPush 1s cubic-bezier(.25,.7,.3,1) both}@keyframes shellPush{0%{transform:translate(0) rotate(0deg);opacity:1}90%{transform:translate(var(--dx,40px),var(--dy,20px)) rotate(var(--rot,8deg));opacity:1}to{transform:translate(var(--dx,40px),var(--dy,20px)) rotate(var(--rot,8deg));opacity:0}}.shellDebris{animation:debrisSettle 1.4s cubic-bezier(.3,.1,.7,1) both}@keyframes debrisSettle{0%{transform:translate(0);opacity:0}6%{opacity:1}40%{transform:translate(calc(var(--ddx, 0px) * .75),calc(var(--ddy, 10px) * .55));opacity:1}58%{transform:translate(var(--ddx,0),var(--ddy,10px));opacity:1}82%{transform:translate(var(--ddx,0),var(--ddy,10px));opacity:.85}to{transform:translate(var(--ddx,0),var(--ddy,10px));opacity:0}}.stormNotice{color:var(--red,#ff536f)}[data-egg-event=shiver] .eggSvg{animation:evtShiver .9s steps(2)}@keyframes evtShiver{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}[data-egg-event=roll] .eggSvg{animation:evtRoll 2.6s steps(4);transform-origin:50% 88%;transform-box:view-box}@keyframes evtRoll{0%,to{transform:rotate(0deg)}30%{transform:rotate(-2.5deg)}70%{transform:rotate(2deg)}}[data-egg-event=glow] .eggSvg{animation:evtGlow 3.2s ease-in-out}@keyframes evtGlow{0%,to{filter:brightness(1)}45%{filter:brightness(1.22)}}[data-egg-event=pulse] .eggShine{animation:evtPulse .9s steps(2) 2}@keyframes evtPulse{0%,to{opacity:.34}50%{opacity:.85}}[data-egg-event=shadow] .eggShadow{animation:evtShadow 3s steps(3);transform-origin:center;transform-box:fill-box}@keyframes evtShadow{0%,to{transform:scaleX(1);opacity:.42}50%{transform:scaleX(1.12);opacity:.55}}.eggTease{animation:evtTease 2.6s ease-in-out both}@keyframes evtTease{0%,to{opacity:0}40%{opacity:.55}70%{opacity:.35}}[data-egg-event=scan]:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,rgba(242,245,233,.22),transparent);animation:evtScan 2.2s linear both;pointer-events:none}@keyframes evtScan{0%{transform:translateY(0);opacity:0}10%,85%{opacity:1}to{transform:translateY(56vh);opacity:0}}[data-egg-event=static] .eggSvg{animation:evtStatic .15s steps(2) 6}@keyframes evtStatic{0%,to{opacity:1;transform:translate(0)}50%{opacity:.82;transform:translate(1px)}}[data-egg-event=ticks] .stageTicks{animation:evtTicks .55s steps(2) 4}@keyframes evtTicks{0%,to{opacity:1}50%{opacity:.25}}[data-egg-event=label] .stageMeta--top span:last-child{animation:evtBlink .45s steps(2) 3}@keyframes evtBlink{0%,to{opacity:1}50%{opacity:.15}}.eggLogLine{position:absolute;top:2rem;left:.7rem;font-size:.62rem;letter-spacing:.08em;color:var(--fg-dimmer);animation:eggLog 4.2s steps(24) both;overflow:hidden;white-space:nowrap;z-index:2;pointer-events:none}@keyframes eggLog{0%{max-width:0;opacity:1}35%{max-width:30ch;opacity:1}80%{max-width:30ch;opacity:1}to{max-width:30ch;opacity:0}}.scene--dawn .lifeRow{animation:dawnRise 1.1s ease-out .6s both}.scene--dawn .actions{animation:dawnRise 1.1s ease-out 1.7s both}.scene--dawn .presence{animation:dawnRise 1.1s ease-out 2.8s both}.scene--dawn .footer{animation:dawnRise 1.1s ease-out 3.7s both}@keyframes dawnRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}