@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-italic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-italic-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-normal-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/atkinson-hyperlegible-normal-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-normal-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/atkinson-hyperlegible-normal-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-italic-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-italic-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-italic-var-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fraunces-normal-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fraunces-normal-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/fraunces-normal-var-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fredoka-normal-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fredoka-normal-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fredoka-normal-var-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Nunito;font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/nunito-italic-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/nunito-italic-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/nunito-italic-var-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/nunito-italic-var-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/nunito-italic-var-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/nunito-normal-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/nunito-normal-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/nunito-normal-var-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/nunito-normal-var-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/nunito-normal-var-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/spline-sans-mono-normal-400-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/spline-sans-mono-normal-400-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--ink: #eef3fb;--ink-raised: #ffffff;--ink-line: #dde4f1;--outline: #2d3350;--paper: #2a2f45;--paper-dim: #5b627a;--celadon: #5b7cf0;--celadon-dim: #a9b8f4;--brass: #f0a830;--rust: #e56b5d;--text: #2a2f45;--text-dim: #5b627a;--text-faint: #8a91a7;--display: "Fredoka", "Nunito", system-ui, sans-serif;--body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: var(--body);--gap: clamp(.9rem, 3.6vw, 1.3rem);--radius: 28px;--edge: 1.75px solid var(--outline);--soft: 1.5px solid var(--ink-line);--lift: 0 6px 16px rgba(50, 70, 140, .16), inset 0 -3px 0 rgba(160, 180, 230, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--ink);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{background-image:linear-gradient(180deg,#e3eefc,#f1ecfb 60%,#fbf1f4);background-attachment:fixed}#app{min-height:100%;display:flex;justify-content:center}.boot{margin:auto;color:var(--text-faint);font-family:var(--display);font-size:1rem}.shell{width:100%;max-width:30rem;min-height:100dvh;display:grid;grid-template-rows:1fr auto;padding:0 0 max(env(safe-area-inset-bottom),.5rem)}@media(min-width:56rem)and (min-height:50rem){.shell{max-width:34rem}}.hud{position:absolute;z-index:6;top:max(env(safe-area-inset-top),.75rem);left:calc(var(--gap) + .1rem);right:calc(var(--gap) + .1rem);display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;pointer-events:none}.hud h1{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(1.25rem,5.4vw,1.55rem);line-height:1.1;color:var(--paper);background:#fff;border:var(--edge);border-radius:999px;padding:.3rem .95rem .35rem;box-shadow:var(--lift)}.hud h1:empty{display:none}.hud h1 .given{display:block;font-family:var(--body);font-weight:700;font-size:.66rem;color:var(--text-faint);margin-top:.05rem}.hud .where{font-family:var(--body);font-weight:800;font-size:.72rem;line-height:1.25;color:var(--paper);text-align:right;white-space:nowrap;background:#ffffffd1;border-radius:14px;padding:.3rem .65rem;box-shadow:0 4px 12px #32468c1f}.aperture-wrap{padding:0;position:relative}.aperture{position:relative;width:100%;aspect-ratio:4 / 5;max-height:60dvh;transition:max-height .38s cubic-bezier(.3,.8,.3,1);border-radius:0 0 var(--radius) var(--radius);overflow:hidden;background:linear-gradient(180deg,#bfe3fb,#e9f3fb);box-shadow:0 10px 28px -14px #283c8273;touch-action:none;cursor:grab}.shell:not([data-route=here]) .aperture{max-height:26dvh}@media(min-width:31rem){.aperture-wrap{padding:var(--gap) var(--gap) 0}.aperture{border-radius:var(--radius);border:var(--edge)}.hud{top:calc(var(--gap) + .8rem);left:calc(var(--gap) * 2);right:calc(var(--gap) * 2)}}.aperture:active{cursor:grabbing}.aperture svg{display:block;width:100%;height:100%}.aperture .creature-layer{position:absolute;inset:0;will-change:transform}.aperture:focus-visible{outline:2px solid var(--celadon);outline-offset:3px}.aperture .wild-layer,.aperture .weather-layer{position:absolute;inset:0;pointer-events:none}.weather-layer .wx-drop,.weather-layer .wx-flake{animation:wx-fall var(--dur) linear var(--delay) infinite}@keyframes wx-fall{0%{transform:translate(0)}to{transform:translate(var(--dx),240px)}}.weather-layer .wx-splash{transform-box:fill-box;transform-origin:center;animation:wx-splash var(--dur) ease-out var(--delay) infinite}@keyframes wx-splash{0%{transform:scale(.2);opacity:0}6%{opacity:.9}40%,to{transform:scale(1);opacity:0}}.aperture.calm .weather-layer .wx-drop,.aperture.calm .weather-layer .wx-flake{transform:translate(var(--sx),var(--sy))}@media(prefers-reduced-motion:reduce){.weather-layer .wx-drop,.weather-layer .wx-flake{transform:translate(var(--sx),var(--sy))}}.weather-layer .wx-blow{animation:wx-blow 5.5s linear infinite}@keyframes wx-blow{0%{transform:translate(0)}to{transform:translate(200px)}}.aperture .wx-drift,.aperture .sky-drift{animation:wx-drift 90s ease-in-out infinite alternate}.aperture .wx-drift-slow,.aperture .sky-drift-slow{animation:wx-drift 160s ease-in-out infinite alternate}@keyframes wx-drift{0%{transform:translate(-8px)}to{transform:translate(8px)}}.weather-layer .wx-flash{animation:wx-flash 11s linear infinite}@keyframes wx-flash{0%,61%,64.5%,to{opacity:0}62%{opacity:.22}63%{opacity:.08}63.6%{opacity:.16}}.wild-layer .wing-beat{transform-box:fill-box;transform-origin:center;animation:wing-beat .18s ease-in-out infinite alternate}@keyframes wing-beat{0%{transform:scale(1)}to{transform:scaleX(.35)}}.wild-layer .glow-blink{animation:glow-blink 2.6s ease-in-out infinite}@keyframes glow-blink{0%,to{opacity:.05}50%{opacity:.55}}.aperture .fx-layer{position:absolute;inset:0;pointer-events:none;overflow:visible}.fx-layer .fx{transform-box:fill-box;transform-origin:50% 100%}.fx-layer .fx-pop{animation:fx-pop 1.5s cubic-bezier(.2,.8,.3,1) forwards}.fx-layer .fx-pop.fx-slow{animation-duration:1.7s}@keyframes fx-pop{0%{transform:translateY(4px) scale(.2);opacity:0}14%{transform:translateY(0) scale(1.18);opacity:1}26%{transform:translateY(-1px) scale(1)}72%{transform:translateY(-5px) scale(1);opacity:1}to{transform:translateY(-11px) scale(.92);opacity:0}}.fx-layer .fx-float{opacity:0;animation:fx-float 1.35s ease-out forwards}@keyframes fx-float{0%{transform:translate(0) scale(.3);opacity:0}16%{transform:translate(calc(var(--dx) * .2),-4px) scale(1);opacity:1}to{transform:translate(var(--dx),-28px) scale(.8);opacity:0}}.fx-layer .fx-bubble{transform-box:view-box;transform-origin:0 0;animation:fx-bubble 3.1s cubic-bezier(.2,.8,.3,1) forwards}@keyframes fx-bubble{0%{transform:scale(.3);opacity:0}9%{transform:scale(1.08);opacity:1}15%{transform:scale(1)}86%{transform:scale(1);opacity:1}to{transform:translateY(-3px) scale(.96);opacity:0}}.fx-layer .fx-ring{transform-origin:50% 50%;animation:fx-ring .6s ease-out forwards}@keyframes fx-ring{0%{transform:scale(.2);opacity:.95}to{transform:scale(1.5);opacity:0}}@media(prefers-reduced-motion:reduce){.fx-layer .fx{animation:none!important;opacity:1}}.aperture.calm .fx-layer .fx{animation:none!important;opacity:1}.aperture.calm .weather-layer *,.aperture.calm .habitat-layer *{animation:none!important}@media(prefers-reduced-motion:reduce){.weather-layer *,.habitat-layer *,.wild-layer *{animation:none!important}}.aperture.egg .fam-root{scale:1.25}.aperture.egg:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(20% 24% at var(--glow-x, 50%) var(--glow-y, 60%),rgba(255,216,152,.9),rgba(255,152,64,.34) 46%,rgba(255,120,40,0) 76%);opacity:var(--warmth, 0);transition:opacity .9s ease}.aperture.egg.holding:after{transition-duration:60ms}.aperture.egg.heartbeat:after{animation:heartglow .7s ease-out}@keyframes heartglow{0%,to{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1.02)}42%{transform:scale(1.08)}}.aperture.egg .egg-marks{opacity:calc(.3 + .7 * var(--egg-p, 0));transition:opacity 1.2s ease}.egg-lit{opacity:0;transition:opacity .5s ease}.egg-inside{opacity:.08}.aperture.egg .egg-inside{opacity:calc(.04 + .1 * var(--egg-p, 0));transition:opacity .5s ease}.aperture.egg .egg-curl{scale:calc(.62 + .38 * var(--egg-p, 0));animation:stirring 5.5s ease-in-out infinite}@keyframes stirring{0%,to{rotate:-10deg;translate:0 0}40%{rotate:-2deg;translate:1px -1px}70%{rotate:-15deg;translate:-1px .5px}}.aperture.egg .habitat-layer{transition:filter .5s ease}.aperture.candling .habitat-layer{filter:brightness(.35) saturate(.7)}.aperture.candling .egg-lit{opacity:.88}.aperture.candling .egg-inside{opacity:.82}.aperture.egg.rock-l .fam-body{animation:rock-l 1.1s ease-in-out}.aperture.egg.rock-r .fam-body{animation:rock-r 1.1s ease-in-out}@keyframes rock-l{0%,to{rotate:0deg}20%{rotate:-7deg}45%{rotate:5deg}70%{rotate:-2.5deg}}@keyframes rock-r{0%,to{rotate:0deg}20%{rotate:7deg}45%{rotate:-5deg}70%{rotate:2.5deg}}.aperture.egg.knock .fam-body{animation:knock .24s ease-out}@keyframes knock{0%,to{translate:0 0}30%{translate:.6px -2px}60%{translate:-.3px .5px}}.aperture.egg.press .fam-body{animation:press .26s ease-out}@keyframes press{0%,to{scale:1 1}35%{scale:1.03 .96}}.egg-crack{opacity:0;transition:opacity .3s ease}.ceremony .egg-crack,.aperture.crack-1 .egg-crack.c1,.aperture.crack-2 .egg-crack.c2,.aperture.crack-3 .egg-crack.c3{opacity:1}.aperture.cracking .egg-crack path:first-child{animation:crackleak 1.6s ease-in-out infinite}@keyframes crackleak{50%{opacity:1}}.aperture.calm.egg .fam-body,.aperture.calm.egg .egg-curl,.aperture.calm.egg:after,.aperture.calm .egg-crack path{animation:none!important}@media(prefers-reduced-motion:reduce){.aperture.egg .fam-body,.aperture.egg .egg-curl,.aperture.egg:after,.aperture .egg-crack path{animation:none!important}}.nest-shelf button[aria-pressed=true]{border-color:var(--celadon);background:#e7ebfe}main{padding:var(--gap) var(--gap) 1.2rem;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink-line) transparent}.note{color:var(--text-dim);font-size:.92rem;margin:.85rem 0 0;text-wrap:pretty}.note em{color:var(--celadon);font-style:italic}.note a{color:var(--celadon);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.note a:hover,.note a:focus-visible{color:var(--text)}.hint{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint);margin:1.1rem 0 .4rem}.rule{height:1px;background:var(--ink-line);margin:1.1rem 0;border:0}.card{background:var(--ink-raised);border:var(--edge);border-radius:20px;padding:.9rem 1rem;margin:0 0 .8rem;box-shadow:var(--lift)}.card.paper{background:#fffaf0;color:var(--text);border-color:var(--outline);background-image:repeating-linear-gradient(to bottom,transparent 0 1.55rem,rgba(42,47,44,.08) 1.55rem 1.5625rem)}.card.paper .meta{color:var(--text-faint)}.meta{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint);display:flex;gap:.7rem;flex-wrap:wrap}.entry{font-family:var(--display);font-weight:400;font-size:1.14rem;line-height:1.6;margin:.5rem 0 0;color:var(--text)}.entry .ia{color:#7a68c9}.entry .en{border-bottom:2px solid rgba(91,124,240,.35)}.entry.dark{color:var(--text)}.entry.dark .ia{color:var(--celadon-dim)}.away{border-left:2px solid var(--rust);padding-left:.7rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem}.keepsake{background:var(--ink-raised);border:var(--edge);border-radius:20px;box-shadow:var(--lift);overflow:hidden;text-align:left;padding:0;color:inherit;font:inherit;cursor:pointer}.keepsake svg{display:block;width:100%;background:linear-gradient(180deg,#d8ecfb,#efe8fb)}.keepsake .cap{padding:.5rem .6rem .65rem}.keepsake .cap b{font-family:var(--display);font-weight:600;font-size:1rem;color:var(--paper);display:block}.keepsake .cap span{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint)}.keepsake-object svg{background:#fff6e4;background-image:repeating-linear-gradient(to bottom,transparent 0 7px,rgba(45,51,80,.05) 7px 8px)}.keepsake-memorial svg{opacity:.5}.keepsake-memorial .cap{border-top:1px solid var(--brass)}.keepsake-memorial .cap b{color:var(--text-dim)}.object-row{display:flex;flex-wrap:wrap;gap:.4rem}.object{display:inline-flex;align-items:center;gap:.4rem;border:var(--edge);border-radius:999px;padding:.32rem .8rem .32rem .4rem;font-size:.86rem;font-weight:700;color:var(--text);background:var(--ink-raised);box-shadow:var(--lift)}.object i{width:.6rem;height:.6rem;border-radius:50%;display:block}.lineage{list-style:none;margin:0;padding:0 0 0 1.15rem;border-left:1px solid var(--ink-line)}.lineage>li{position:relative;padding-bottom:1.4rem}.lineage>li:before{content:"";position:absolute;left:-1.45rem;top:.55rem;width:7px;height:7px;border-radius:50%;background:var(--celadon-dim)}.lineage h3{font-family:var(--display);font-weight:600;font-size:1.22rem;margin:0;color:var(--paper)}.trait{margin:.45rem 0 0;padding-left:.7rem;border-left:2px solid var(--ink-line);color:var(--text-dim);font-size:.9rem}.trait b{display:block;font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint)}.trait.stage{border-left-color:var(--ink-line);opacity:.72}.trait.anchor{border-left-color:var(--brass)}label.field{display:block;margin:0 0 .8rem}label.field>span{display:block;font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint);margin-bottom:.3rem}input[type=text],input[type=password],select{width:100%;background:#fff;border:var(--edge);border-radius:16px;color:var(--text);font:inherit;font-size:1rem;padding:.65rem .95rem;box-shadow:var(--lift)}input::placeholder{color:var(--text-faint)}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--celadon);outline-offset:2px}label.field.file>input[type=file]{width:100%;background:#fff;border:var(--edge);border-radius:9px;color:var(--text-faint);font:inherit;font-size:.82rem;padding:.5rem .6rem}label.field.file>input[type=file]::file-selector-button{font:inherit;font-size:.82rem;background:transparent;color:var(--text);border:var(--edge);border-radius:999px;padding:.25rem .8rem;margin-right:.6rem;cursor:pointer}.row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem 0;border-bottom:var(--edge)}.row:last-child{border-bottom:0}.row p{margin:0;font-size:.9rem}.row small{display:block;color:var(--text-faint);font-size:.76rem}button{font:inherit;font-size:.92rem;font-weight:700;background:linear-gradient(#fff,#eef2ff);color:var(--text);border:var(--edge);border-radius:999px;padding:.45rem 1.05rem;cursor:pointer;box-shadow:var(--lift);transition:transform .12s ease,box-shadow .16s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px) scale(.98);box-shadow:0 2px 6px #32468c2e}button.primary{background:linear-gradient(#7f9af6,var(--celadon));color:#fff}button.quiet{background:transparent;border-color:transparent;box-shadow:none;color:var(--celadon);padding-inline:.5rem}button.danger:hover{border-color:var(--rust);color:var(--rust)}.switch{width:2.6rem;height:1.5rem;border-radius:999px;border:var(--edge);background:#e6ebf6;box-shadow:none;position:relative;padding:0;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--text-faint);transition:transform .18s ease,background .18s ease}.switch[aria-checked=true]{background:var(--celadon)}.switch[aria-checked=true]:after{transform:translate(1.05rem);background:#fff}.speak{display:flex;gap:.5rem;margin-top:.7rem}.speak input{flex:1;border-radius:999px}.tricks{margin-top:.7rem;background:#fff;border:var(--edge);border-radius:20px;box-shadow:var(--lift);padding:.55rem .9rem}.tricks summary{cursor:pointer;font-family:var(--display);font-weight:600;list-style:none}.tricks summary::-webkit-details-marker{display:none}.tricks summary:after{content:"＋";float:right;color:var(--text-faint)}.tricks[open] summary:after{content:"－"}.trick-count{font-family:var(--body);font-weight:600;font-size:.8rem;color:var(--celadon);margin-left:.3rem}.tricks ul{list-style:none;margin:.4rem 0 .2rem;padding:0;display:grid;gap:.35rem}.tricks li{display:grid;grid-template-columns:1.6rem 1fr auto;grid-template-areas:"icon how status" "icon what status";align-items:center;column-gap:.6rem;font-size:.86rem;line-height:1.2}.tricks li svg{grid-area:icon;width:1.6rem;height:1.6rem;fill:none;stroke:var(--outline);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tricks li.known svg{stroke:var(--celadon)}.trick-how{grid-area:how;font-weight:700}.trick-what{grid-area:what;color:var(--text-faint);font-size:.8rem}.trick-word,.trick-learning{grid-area:status;font-size:.82rem;text-align:right}.trick-word{font-weight:700;color:var(--celadon)}.trick-learning{color:var(--text-faint)}nav{position:sticky;bottom:max(env(safe-area-inset-bottom),.5rem);z-index:8;display:flex;justify-content:space-between;gap:.2rem;margin:.6rem var(--gap) 0;padding:.3rem;background:#fff;border:var(--edge);border-radius:999px;box-shadow:0 10px 24px #32468c33}nav button{border:0;border-radius:999px;background:transparent;box-shadow:none;flex:1;padding:.4rem .1rem .3rem;color:var(--text-faint);font-family:var(--body);font-weight:800;font-size:.74rem;display:grid;gap:.3rem;justify-items:center}nav button i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;display:block}nav button[aria-current=page]{color:var(--celadon);background:#e8edff}nav button[aria-current=page] i{opacity:1}nav button.unread i{background:var(--brass);opacity:1}nav button:disabled{opacity:.32;cursor:default}nav.one{justify-content:flex-end;justify-self:end;width:max-content}nav.one button{flex:0 0 auto;padding-inline:.9rem}nav.arrive button{animation:navarrive .9s ease backwards}nav.arrive button:nth-child(2){animation-delay:80ms}nav.arrive button:nth-child(3){animation-delay:.16s}nav.arrive button:nth-child(4){animation-delay:.24s}nav.arrive button:nth-child(5){animation-delay:.32s}@keyframes navarrive{0%{opacity:0;transform:translateY(7px)}}.moment{position:fixed;inset:0;z-index:20;background:radial-gradient(70% 50% at 50% 42%,#fffffff2,#fff0 70%),linear-gradient(180deg,#deecfcfb,#f5eafafb);display:grid;place-items:center;padding:var(--gap);animation:fade .9s ease}@keyframes fade{0%{opacity:0}}.moment .inner{max-width:24rem;text-align:center}.moment svg{width:min(62vw,15rem);height:auto;display:block;margin:0 auto 1.2rem}.moment h2{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,8vw,2.5rem);margin:0;color:var(--paper)}.moment p{font-family:var(--display);font-size:1.1rem;color:var(--text);margin:0 0 1.6rem;text-wrap:balance}.toast{position:fixed;left:50%;bottom:calc(5.2rem + env(safe-area-inset-bottom));translate:-50% 0;z-index:15;background:#fff;border:var(--edge);border-radius:20px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;line-height:1.35;text-align:center;width:max-content;max-width:min(22rem,calc(100vw - 2rem));color:var(--text);box-shadow:var(--lift);max-width:calc(100vw - 2rem);animation:rise .4s ease}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.ceremony .morph{position:relative;width:min(62vw,15rem);aspect-ratio:140 / 135;margin:0 auto 1.2rem}.ceremony .morph svg{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:visible}.ceremony.dissolve .morph svg{transition:opacity .6s ease}.ceremony .burst{position:absolute;inset:-18%;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--burst, var(--brass)) 70%,transparent),color-mix(in srgb,var(--burst, var(--brass)) 22%,transparent) 55%,transparent);opacity:0;transform:scale(.4)}.ceremony.peak .burst{animation:burst 1.6s cubic-bezier(.2,.7,.3,1) forwards}@keyframes burst{0%{opacity:0;transform:scale(.4)}18%{opacity:1}to{opacity:0;transform:scale(1.35)}}.ceremony.peak .morph svg.b{transform-origin:50% 88%;animation:1.3s cubic-bezier(.3,.7,.3,1) both}.ceremony.peak[data-pose=hatchling] .morph svg.b{animation-name:pose-hop}.ceremony.peak[data-pose=sprout] .morph svg.b{animation-name:pose-stand}.ceremony.peak[data-pose=juvenile] .morph svg.b{animation-name:pose-stretch}.ceremony.peak[data-pose=adolescent] .morph svg.b{animation-name:pose-look}.ceremony.peak[data-pose=adult] .morph svg.b{animation-name:pose-rise}.ceremony.peak[data-pose=elder] .morph svg.b{animation-name:pose-settle;animation-duration:2.2s}@keyframes pose-hop{35%{transform:translateY(-7%) scale(1.02,.98)}60%{transform:translateY(0) scale(1.04,.95)}}@keyframes pose-stand{0%{transform:scale(1.03,.92)}}@keyframes pose-stretch{40%{transform:scale(1.07,.96)}}@keyframes pose-look{40%{transform:rotate(-4deg) translateY(-2%)}}@keyframes pose-rise{0%{transform:translateY(3%) scale(.97)}45%{transform:translateY(-2%) scale(1.02)}}@keyframes pose-settle{0%{transform:translateY(-2%)}60%{transform:translateY(1.5%) scale(1.02,.98)}}.ceremony.dissolve .burst,.ceremony.dissolve .morph svg.b{animation:none!important}.ceremony p.why{font-family:var(--body);font-style:normal;font-size:.86rem;color:var(--text-dim);margin:-.9rem 0 1.6rem}.ceremony h2{margin-bottom:1.1rem}.ceremony h2,.ceremony p,.ceremony button{transition:opacity .7s ease,visibility .7s ease}.ceremony .veiled{opacity:0;visibility:hidden;pointer-events:none}.ceremony .seam{position:absolute;inset:26% 29% 15%;border-radius:50% 50% 48% 48%/62% 62% 38% 38%;pointer-events:none;background:linear-gradient(102deg,transparent 45%,rgba(255,242,214,.95) 49.7%,transparent 55%),radial-gradient(58% 50% at 50% 54%,#ffce8cb8,#ff963c00 72%);-webkit-mask-image:radial-gradient(60% 56% at 50% 52%,#000 36%,transparent 100%);mask-image:radial-gradient(60% 56% at 50% 52%,#000 36%,transparent 100%);opacity:0;animation:seam 3s ease-out}@keyframes seam{0%,16%{opacity:0;transform:scale(.88)}50%{opacity:1;transform:scale(1.06)}72%{opacity:.5;transform:scale(1.32)}to{opacity:0;transform:scale(1.8)}}.spoken{position:absolute;inset:0;z-index:12;display:grid;place-items:center;border-radius:var(--radius);background:radial-gradient(58% 46% at 50% 50%,#ffffffeb,#fff0 74%);animation:spoken 10s ease forwards}.spoken span{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,9vw,2.8rem);color:var(--paper);-webkit-tap-highlight-color:transparent}.spoken [data-word]{cursor:pointer;border-bottom:2px solid rgba(45,51,80,.2)}.spoken [data-residue]{cursor:help;border-bottom:1px dotted var(--brass)}.spoken .holding{background-image:linear-gradient(to right,#35674f57,#35674f57);background-repeat:no-repeat;background-size:0 100%;animation:hold .48s linear forwards}@keyframes spoken{0%{opacity:0}20%,88%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.ceremony.dissolve .morph svg{transition-duration:.6s!important}.spoken{animation:none!important;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.entry .ia[data-word]{cursor:pointer;border-radius:2px;padding:0 .06em;margin:0 -.06em;transition:background-color .14s ease;-webkit-tap-highlight-color:transparent}.entry .ia[data-word]:hover,.entry .ia[data-word]:focus-visible{background:#35674f1f;outline:none}.entry .holding{background-image:linear-gradient(to right,#35674f4d,#35674f4d);background-repeat:no-repeat;background-size:0 100%;animation:hold .48s linear forwards}@keyframes hold{to{background-size:100% 100%}}@media(prefers-reduced-motion:reduce){.entry .holding,.spoken .holding{animation:none;background-size:100% 100%}}.entry .residue{cursor:help;border-bottom:1px dotted var(--brass);color:var(--brass);font-style:italic}.card.marks .scribble{display:block;width:100%;height:auto;margin-top:.3rem}.card.unread{box-shadow:inset 2px 0 0 var(--brass)}.card.dream{position:relative;overflow:hidden;border-style:dashed}.card.dream .entry{position:relative;z-index:1}.dreamwash{position:absolute;inset:0;width:100%;height:100%;opacity:.45;pointer-events:none}.object{cursor:pointer;font:inherit;font-size:.82rem;text-align:left}.object.placed{border-color:var(--celadon);color:var(--text);box-shadow:inset 0 0 0 1px #35674f59}.object.placed:after{content:"·in";margin-left:.35rem;color:var(--celadon);font-size:.7rem;letter-spacing:.04em}.firsts{list-style:none;margin:.4rem 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:.9rem}.firsts li{border-left:2px solid var(--brass);padding-left:.8rem}.firsts b{display:block;font-family:var(--display);font-size:1.02rem;font-weight:500;color:var(--text)}.firsts span{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint)}.firsts p{margin:.3rem 0 0;font-size:.9rem;line-height:1.55;color:var(--text-dim)}.said{list-style:none;margin:.4rem 0 1.4rem;padding:0}.said li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px dashed var(--ink-line)}.said li:last-child{border-bottom:0}.said .ia{font-family:var(--display);font-size:1.05rem;color:var(--paper)}.said li>span+span{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--text-faint);white-space:nowrap}.timelapse{margin:.4rem 0 1.6rem;border:var(--edge);border-radius:20px;padding:.9rem;background:var(--ink-raised);box-shadow:var(--lift)}.timelapse svg{display:block;width:100%;max-width:190px;margin:0 auto}.timelapse figcaption{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem}.timelapse .row{border:0;padding:0;font-family:var(--body);font-weight:800;font-size:.78rem;color:var(--text-faint)}.timelapse input[type=range]{width:100%;accent-color:var(--celadon);cursor:pointer}.timelapse .note{margin:0;font-size:.88rem}.timelapse .flip{display:flex;flex-wrap:wrap;gap:.5rem}.voices{list-style:none;margin:.4rem 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.voices button{display:inline-flex;align-items:center;gap:.45rem}.voices button i{width:0;height:0;border-left:7px solid var(--celadon);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}.keepsake .why{margin:.35rem 0 0;font-size:.76rem;color:var(--text-faint)}.signals{list-style:none;margin:.4rem 0 1.2rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.signals li{display:grid;grid-template-columns:5.2rem 1fr;gap:.5rem .8rem;align-items:baseline;font-size:.92rem}.signals b{font-family:var(--body);font-weight:800;font-size:.74rem;color:var(--celadon);font-weight:400}.signals span{color:var(--text-dim)}.signals.gone{opacity:.6}.signals.gone span{text-decoration:line-through;text-decoration-color:var(--text-faint)}.signals i{grid-column:2;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;color:var(--text-faint);font-style:normal}.hud h1 button{pointer-events:auto;font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;text-align:left;cursor:pointer}.hud h1 button:focus-visible{outline:2px solid var(--celadon);outline-offset:.35rem;border-radius:999px}.care-bar{position:relative;z-index:6;margin-top:-1.75rem;display:flex;flex-direction:column;align-items:center;pointer-events:none}.care-bar:empty{display:none}.care-tools,.pantry{pointer-events:auto;display:flex;gap:.45rem;padding:.35rem;background:#ffffffdb;border:var(--edge);border-radius:999px;box-shadow:var(--lift)}.care-tools button,.pantry button{width:2.9rem;height:2.9rem;padding:.3rem;border-radius:50%;border:1.5px solid transparent;background:#fff;cursor:pointer;touch-action:none;transition:transform .12s ease}.care-tools button:active,.pantry button:active{transform:scale(.92)}.care-tools button[aria-pressed=true]{border-color:var(--celadon);background:#e7ebfe}.care-tools button.empty{opacity:.5}.care-tools button.wanted{animation:care-wanted 1.6s ease-in-out infinite}@keyframes care-wanted{50%{transform:scale(1.1)}}.care-bar .ico,.status-card .ico{display:block;width:100%;height:100%;overflow:visible}.pantry,.shelf{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:max-content;border-radius:22px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 2 * var(--gap))}.pantry button{width:3.1rem;height:3.1rem}.pantry button.loved{border-color:#f0758a}.pantry button.hated{opacity:.6}.pantry-empty{margin:.2rem .8rem;font-weight:700;font-size:.85rem;color:var(--text-dim)}.food-ghost{position:fixed;z-index:50;left:0;top:0;width:3.4rem;height:3.4rem;margin:-1.7rem 0 0 -1.7rem;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(40,60,130,.25))}.food-ghost svg{width:100%;height:100%;overflow:visible}.food-ghost.back{transition:opacity .24s ease;opacity:0}.status-card{position:absolute;z-index:7;top:3.9rem;left:var(--gap);right:var(--gap);display:flex;justify-content:center}.status-card[hidden]{display:none}.card-inner{width:100%;max-width:21rem;background:#fff;border:var(--edge);border-radius:24px;box-shadow:var(--lift);padding:.8rem 1rem .9rem;animation:card-in .22s cubic-bezier(.2,.8,.3,1)}@keyframes card-in{0%{transform:translateY(-6px) scale(.97);opacity:0}}.card-head{display:flex;align-items:center;justify-content:space-between}.card-head h2{margin:0;font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--paper)}.card-close{width:2rem;height:2rem;border-radius:50%;border:var(--soft);background:#fff;font-size:1.2rem;line-height:1;color:var(--text-dim);cursor:pointer}.card-mood{display:flex;align-items:center;gap:.45rem;margin:.35rem 0 .5rem;font-weight:800;color:var(--text-dim)}.card-mood .ico{width:1.5rem;height:1.5rem}.card-tell{margin:0 0 .5rem;font-style:italic;font-size:.85rem;color:var(--text-dim)}.card-needs{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.card-needs li{display:grid;grid-template-columns:1.7rem 1fr auto;align-items:center;gap:.55rem;padding:.15rem .35rem;border-radius:12px}.card-needs li.asks{background:#fff7e0}.card-needs .ico{width:1.7rem;height:1.7rem}.need-name{font-weight:800;color:var(--paper)}.card-hearts{display:flex;gap:.15rem}.card-hearts svg{width:1.25rem;height:1.25rem;overflow:visible}.card-hearts svg.on path{fill:#f25f77;stroke:#7a2936;stroke-width:1.5;stroke-linejoin:round}.card-hearts svg.off path{fill:#ebedf4;stroke:#a9aec6;stroke-width:1.3;stroke-linejoin:round}.card-age{margin:.6rem 0 0;font-weight:700;font-size:.85rem;color:var(--text-faint)}.card-tastes{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.4rem 0 0;font-weight:700;font-size:.85rem;color:var(--text-dim)}.card-tastes .taste{display:inline-flex;align-items:center;gap:.25rem}.card-tastes .food-ico{width:1.3rem;height:1.3rem;display:inline-block}.aperture:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .7s ease;background:radial-gradient(1.5px 1.5px at 18% 14%,#fff,transparent),radial-gradient(1.5px 1.5px at 72% 9%,#fff,transparent),radial-gradient(1px 1px at 46% 22%,#fff,transparent),radial-gradient(1px 1px at 86% 27%,#fff,transparent),linear-gradient(180deg,#121640b8,#1c1e5080)}.aperture.lights-off:after{opacity:1}.aperture .fx-layer{z-index:2}.fx-layer .fx-soap{transform-origin:50% 50%;animation:fx-soap 1.4s ease-out forwards}@keyframes fx-soap{0%{transform:translate(0) scale(.2);opacity:0}20%{transform:translate(calc(var(--dx) * .2),-3px) scale(1);opacity:1}85%{transform:translate(var(--dx),-16px) scale(1.05);opacity:1}to{transform:translate(var(--dx),-18px) scale(1.5);opacity:0}}.fx-layer .fx-fling{transform-origin:50% 50%;animation:fx-fling .8s ease-out forwards}@keyframes fx-fling{0%{transform:translate(0);opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}.fx-layer .fx-arc{transform-origin:50% 50%;animation:fx-arc 1.2s cubic-bezier(.3,.2,.6,1) forwards}@keyframes fx-arc{0%{transform:translate(0)}45%{transform:translate(calc(var(--dx) * .55),-14px)}75%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}.fx-layer .fx-spin{transform-box:fill-box;transform-origin:50% 50%;animation:fx-spin .9s linear forwards}@keyframes fx-spin{to{transform:rotate(540deg)}}.fx-layer .fx-spoon{animation:fx-spoon 1.05s ease-in-out forwards}@keyframes fx-spoon{0%{transform:translate(18px,10px);opacity:0}30%,70%{transform:translate(0);opacity:1}to{transform:translate(18px,10px);opacity:0}}.mess-wiggle{animation:mess-wiggle 2.4s ease-in-out infinite}@keyframes mess-wiggle{50%{transform:translateY(-2px);opacity:.35}}#sponge-hand{pointer-events:none}@media(prefers-reduced-motion:reduce){.care-tools button.wanted,.mess-wiggle,.card-inner{animation:none}}.aperture.calm .mess-wiggle{animation:none}.aperture.poorly .creature-layer{filter:saturate(.7) brightness(.98);transition:filter .6s ease}.shelf{pointer-events:auto;display:flex;flex-direction:column;gap:.4rem;padding:.45rem;background:#ffffffeb;border:var(--edge);box-shadow:var(--lift)}.shelf-row{display:flex;gap:.45rem;justify-content:center}.shelf button{position:relative;width:3.1rem;height:3.1rem;padding:.3rem;border-radius:50%;border:1.5px solid transparent;background:#fff;cursor:pointer;transition:transform .12s ease}.shelf button.game{border-radius:16px;background:#f0f3fe}.shelf button:active{transform:scale(.92)}.shelf button[aria-pressed=true]{border-color:var(--celadon);background:#e7ebfe}.shelf .ico{display:block;width:100%;height:100%;overflow:visible}.shelf .star{position:absolute;right:-.25rem;top:-.25rem;width:1.15rem;height:1.15rem;overflow:visible}.care-tools button.out{border-color:#ea868e}.game-layer{position:absolute;z-index:7;top:3.9rem;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.game-layer[hidden]{display:none}.game-hud{pointer-events:auto;display:flex;align-items:center;gap:.45rem;padding:.3rem .4rem .3rem .3rem;background:#ffffffe6;border:var(--edge);border-radius:999px;box-shadow:var(--lift)}.game-ring{width:2.6rem;height:2.6rem;overflow:visible}.game-ring .ring-back{fill:#fff;stroke:#dee0ed;stroke-width:3.4}.game-ring .ring-left{fill:none;stroke:var(--celadon);stroke-width:3.4;stroke-linecap:round;transition:stroke-dasharray .24s linear}.game-tally{display:flex;flex-wrap:wrap;gap:.1rem;max-width:11rem;min-height:1.2rem}.game-tally .tally{width:1.15rem;height:1.15rem;overflow:visible;animation:tally-in .26s cubic-bezier(.2,.8,.3,1.4)}@keyframes tally-in{0%{transform:scale(.2)}}.game-star{width:1.6rem;height:1.6rem;overflow:visible;animation:tally-in .4s cubic-bezier(.2,.8,.3,1.6)}.game-stop{width:1.9rem;height:1.9rem;border-radius:50%;border:var(--soft);background:#fff;font-size:1.1rem;line-height:1;color:var(--text-dim);cursor:pointer}.aperture.hiding .creature-layer{opacity:0;transition:opacity .16s ease}.fx-layer .bush-shake{transform-box:fill-box;transform-origin:50% 100%;animation:bush-shake .5s ease-in-out}@keyframes bush-shake{20%{transform:rotate(-5deg)}45%{transform:rotate(4deg)}70%{transform:rotate(-2deg)}}.fx-layer .fx-hand{animation-name:fx-hand;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes fx-hand{0%{transform:translate(0);opacity:0}15%{opacity:1}70%{transform:translate(var(--dx),var(--dy));opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}@media(prefers-reduced-motion:reduce){.fx-layer .bush-shake,.game-tally .tally,.game-star{animation:none}}.its-line{list-style:none;margin:0 0 1rem;padding:.2rem 0 .4rem;display:flex;gap:.5rem;overflow-x:auto}.its-line li{flex:0 0 auto;width:5.2rem;text-align:center;background:#fff;border:var(--soft);border-radius:16px;padding:.3rem .2rem .4rem}.its-line li.empty{width:auto;padding:.5rem .8rem}.its-line svg{display:block;width:100%;aspect-ratio:1;overflow:hidden}.its-line b,.forms b{display:block;font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--paper)}.its-line span{font-size:.7rem;color:var(--text-faint);font-weight:700}.guide-plan h3{margin:.9rem 0 .4rem;font-family:var(--display);font-weight:600;font-size:1rem;color:var(--paper)}.forms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.forms li{background:#fff;border:var(--soft);border-radius:16px;padding:.3rem .3rem .45rem;text-align:center}.forms li.met{border:var(--edge);box-shadow:var(--lift)}.form-pic svg{display:block;width:100%;aspect-ratio:1}.form-pic.shadow svg{filter:brightness(0);opacity:.72}.forms details summary{list-style:none;cursor:pointer}.forms details summary::-webkit-details-marker{display:none}.forms .rumour{margin:.3rem 0 0;font-size:.72rem;font-style:italic;line-height:1.3;color:var(--text-dim);text-align:left}.ceremony p.changing{font-family:var(--display);font-weight:600;font-size:1.25rem;margin:0 0 1rem;color:var(--paper);animation:changing 1.1s ease-in-out infinite alternate}.ceremony p.changing b{color:var(--celadon)}.ceremony.peak p.changing{animation:none;opacity:0;visibility:hidden}@keyframes changing{to{transform:scale(1.04)}}.ceremony.flashing .morph svg{filter:brightness(0) invert(1) drop-shadow(0 0 6px rgba(255,240,180,.95)) drop-shadow(0 0 16px rgba(160,190,255,.85))}.ceremony.flashing{background:radial-gradient(60% 45% at 50% 42%,#788ce68c,#fff0 70%),linear-gradient(180deg,#282e60fb,#46346efb);transition:background .4s ease}.ceremony.flashing p.changing{color:#fff}.ceremony.flashing p.changing b{color:#ffe270}.ceremony button.hold{--p: 0;width:4.2rem;height:4.2rem;padding:0;margin:0 auto 1rem;border-radius:50%;border:0;background:#ffffffe6;box-shadow:var(--lift);cursor:pointer;touch-action:none;animation:hold-pulse 1.2s ease-in-out infinite}.ceremony button.hold.held{transform:scale(.92);animation:none}.ceremony button.hold svg{width:100%;height:100%;margin:0}.hold-ring{fill:none;stroke:#d1d4e6;stroke-width:2.4}.hold-fill{fill:none;stroke:var(--celadon);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:calc(62.8 * var(--p)) 62.8;transform:rotate(-90deg)}.hold-hand{fill:#fff;stroke:#363c63;stroke-width:1.2;stroke-linejoin:round}@keyframes hold-pulse{50%{transform:scale(1.06)}}.ceremony p.its-name{font-family:var(--body);font-size:.95rem;color:var(--text-dim);margin:-.6rem 0 1.2rem}@media(prefers-reduced-motion:reduce){.ceremony p.changing,.ceremony button.hold{animation:none}}.fx-layer .fx-mote{transform-origin:50% 50%;animation:fx-mote 2.5s ease-in-out forwards}.fx-layer .fx-mote-spark{animation-duration:.9s;animation-timing-function:steps(4,end)}@keyframes fx-mote{0%{transform:translate(0) scale(.3) rotate(0);opacity:0}20%{opacity:1;transform:translate(calc(var(--dx) * .2),calc(var(--dy) * .2)) scale(1) rotate(30deg)}to{transform:translate(var(--dx),var(--dy)) scale(.8) rotate(120deg);opacity:0}}button.arrange{margin:.2rem 0 .3rem;padding-inline:0;font-weight:800}.drawer{padding-bottom:.4rem}.drawer-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.45rem;margin-bottom:.6rem}.drawer-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .3rem .45rem;border-radius:16px;background:var(--ink-raised);font-size:.72rem;font-weight:700;line-height:1.15;color:var(--text);text-align:center}.drawer-item svg{width:2.8rem;height:2.8rem;overflow:visible}.drawer-item.placed{background:#eef2ff;border-color:var(--celadon)}.drawer-item.held{background:#fff6dc;border-color:var(--brass);transform:translateY(-2px)}.drawer button.primary{display:block;margin:.4rem auto 0}.aperture.arranging:after{content:"";position:absolute;inset:8px;border:2px dashed rgba(255,255,255,.75);border-radius:calc(var(--radius) - 8px);pointer-events:none;z-index:6}#habitat-svg .thing{transition:transform 80ms linear}.card.paper.page{padding-top:.7rem}.page-pic svg{display:block;width:100%;height:auto;border-radius:12px;margin:.45rem 0 .1rem;border:1.5px solid var(--outline)}.entry .own{color:#7a68c9;font-style:italic}.entry .yours{border-bottom:2px dotted rgba(229,107,93,.6)}.hint.day{margin-top:1rem}.album-day{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-items:start}.album-day>.page,.album-day>.first-card{grid-column:1 / -1;margin:0}.first-card{background:#fff8e8;border-color:var(--brass)}.first-card b{font-family:var(--display);font-weight:600;color:var(--paper)}.first-card p{margin:.25rem 0 0;font-size:.9rem;color:var(--text-dim)}.keepsake-postcard svg{background:none}[data-album-more]{display:block;margin:.8rem auto}.places{list-style:none;margin:0 0 .6rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.places li{background:#fff;border:var(--soft);border-radius:14px;padding:.3rem;text-align:center;font-size:.72rem;color:var(--text-dim);line-height:1.25}.places li.met{border:var(--edge)}.places svg,.places .blank{display:block;width:100%;aspect-ratio:1.6;border-radius:9px}.places .blank{background:repeating-linear-gradient(135deg,#eef1f8 0 6px,#e4e8f3 6px 12px)}.places b,.foods-guide b,.tricks-guide b{display:block;font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--paper);margin-top:.15rem}.foods-guide,.tricks-guide{list-style:none;margin:0 0 .6rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.tricks-guide{grid-template-columns:repeat(2,1fr)}.foods-guide li,.tricks-guide li{background:#fff;border:var(--soft);border-radius:14px;padding:.35rem .3rem;text-align:center;font-size:.7rem;color:var(--text-dim)}.foods-guide li.met,.tricks-guide li.met{border:var(--edge)}.foods-guide .ico{width:2rem;height:2rem;margin:0 auto}.ico.shadow{filter:brightness(0);opacity:.6}.things-guide{margin:.4rem 0 .8rem}.things-guide summary{cursor:pointer;font-weight:800;color:var(--celadon)}.things-guide ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.things-guide li{font-size:.74rem;padding:.15rem .55rem;border-radius:999px;background:#fff;border:var(--soft);color:var(--text-faint)}.things-guide li.met{border:var(--edge);color:var(--text)}.card-moment .inner{max-width:26rem;width:100%}.card-moment.leaving{opacity:0;transition:opacity .24s ease}.card-moment h2{margin-bottom:.4rem}.card-moment p{margin-bottom:.9rem}.postcards{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem;margin-bottom:.6rem}.postcard{flex:0 0 min(78vw,19rem);margin:0;scroll-snap-align:center;background:#fff;border:var(--edge);border-radius:14px;padding:.4rem;box-shadow:var(--lift);transform:rotate(-1.2deg)}.postcard:nth-child(2n){transform:rotate(1.4deg)}.card-moment .postcard svg,.card-moment .fork-card svg{width:100%;margin:0;border-radius:10px}.postcard figcaption{font-family:var(--display);font-size:.86rem;color:var(--text-dim);padding:.35rem .2rem .1rem;text-align:left}.brought-line{font-size:.9rem!important;margin:0 0 .3rem!important;color:var(--text-dim)!important}.brought{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.brought li{display:flex;align-items:center;gap:.3rem;background:#fff;border:var(--edge);border-radius:999px;padding:.2rem .7rem .2rem .3rem;font-size:.82rem;font-weight:700}.brought svg{width:2.2rem!important;height:2.2rem;margin:0!important;overflow:visible}.card-moment .row{display:flex;justify-content:center;gap:.6rem}.fork-card svg{max-width:18rem;margin:0 auto 1rem!important;display:block}.bush-glow{animation:bush-glow 1.6s ease-in-out infinite alternate}@keyframes bush-glow{0%{opacity:.25}to{opacity:.6}}@media(prefers-reduced-motion:reduce){.bush-glow{animation:none}.card-moment.leaving{transition:none}}
