*,:before,:after{box-sizing:border-box}html,body{background:var(--abyss);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;line-height:1.4}body{font-size:var(--t-sm);height:100vh;-webkit-user-select:none;user-select:none;height:100dvh;position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}input{font:inherit;color:inherit;-webkit-user-select:text;user-select:text}:focus-visible{outline:2px solid var(--glow);outline-offset:2px}:focus:not(:focus-visible){outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#frame{max-width:var(--frame-w);background:var(--abyss);margin:0 auto;position:absolute;inset:0;overflow:hidden}@media (min-width:600px){body{background:#000}#frame{box-shadow:0 0 0 1px #3ef2e014,0 0 80px #000c}}#app{pointer-events:none;grid-template-rows:auto auto 1fr auto;height:100%;display:grid;position:relative}.header>*,.notice-slot>*,.bottom>*{pointer-events:auto}.notice-slot{z-index:2;position:relative}.header{z-index:2;padding:calc(var(--safe-top) + var(--s3)) calc(var(--safe-right) + var(--s4)) var(--s2) calc(var(--safe-left) + var(--s4));justify-content:space-between;align-items:center;display:flex;position:relative}.title{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;font-weight:900;font-size:var(--t-mark);letter-spacing:-.01em;color:var(--star-pale);white-space:nowrap;text-shadow:0 0 24px #ffd98a59;margin:0}.header-actions{gap:0;display:flex}.icon-button{width:var(--touch);height:var(--touch);border-radius:var(--r-pill);color:var(--ink-dim);font-size:var(--t-icon);transition:color var(--dur-fast) var(--ease), transform var(--dur-press) var(--ease-out);place-items:center;display:grid}.icon-button[aria-pressed=true]{color:var(--star)}@media (hover:hover) and (pointer:fine){.icon-button:hover{color:var(--star)}}.icon-button:active{transform:scale(var(--press-scale))}:is(.chip,.icon-chip,.day-chip,.button-quiet,.undo-button,.not-today-toggle,.not-today-name,.menu-row,.leaf-button,.menu-version,.log-month,.log-cell,.log-title,.format,.next-find,.row-edit,.card-edit,.card-add,.offer,.intro-skip,.lab-bar-open,.lab-bar-exit){transition:scale var(--dur-press) var(--ease-out)}:is(.chip,.icon-chip,.day-chip,.button-quiet,.undo-button,.not-today-toggle,.not-today-name,.menu-row,.leaf-button,.menu-version,.log-month,.log-cell,.log-title,.format,.next-find,.row-edit,.card-edit,.card-add,.offer,.intro-skip,.lab-bar-open,.lab-bar-exit):active:not(:disabled){scale:var(--press-scale)}button:active:not(:disabled){transition-duration:0s}.icon-button svg{fill:none;stroke:currentColor;width:22px;height:22px;stroke-width:var(--line);stroke-linecap:round;stroke-linejoin:round}.stage{z-index:1;pointer-events:none;position:relative}.bottom{z-index:2;min-width:0;padding:0 0 calc(var(--safe-bottom) + var(--s3));position:relative}.line{text-shadow:0 1px 2px #020409e6,0 0 12px #020409cc;pointer-events:none;min-height:1.6em;margin:0 calc(var(--safe-right) + var(--s4)) var(--s2) calc(var(--safe-left) + var(--s4));font-size:var(--t-sm);color:var(--ink);opacity:.9;transition:opacity var(--dur) var(--ease)}.line.is-fading{opacity:0}.line.is-quiet{color:var(--ink-dim)}.onboarding{text-align:center;padding:var(--s4);pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.onboarding[hidden]{display:none}.onboarding p{text-wrap:balance;font-family:var(--font-display);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-weight:600;font-size:var(--t-lg);color:var(--star-pale);margin:0}.onboarding small{margin-top:var(--s2);font-size:var(--t-sm);color:var(--ink-dim);display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:opacity!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.line{width:-moz-fit-content;width:fit-content;max-width:calc(100% - 2 * var(--s4));padding:var(--s1) var(--s3);border-radius:var(--r);text-shadow:none}.line:not(:empty){background:var(--float-bg);box-shadow:inset 0 0 0 1px var(--float-edge);-webkit-backdrop-filter:var(--float-blur)}.header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0204099e,#0204094d 60%,#0000);position:absolute;inset:0 0 -28px}.onboarding:before{content:"";z-index:-1;background:radial-gradient(closest-side,#0204098c,#0000);border-radius:50%;width:min(360px,92%);height:160px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onboarding{isolation:isolate}.scene{z-index:0;background:var(--abyss);position:absolute;inset:0;overflow:hidden}.layer{will-change:transform;position:absolute;inset:-3%}.sky{background:linear-gradient(180deg, var(--zenith) 0%, var(--night) 100%);height:calc(var(--horizon) + 6%);bottom:auto}.sea{top:calc(var(--horizon) - 3%);background:linear-gradient(180deg, #0a2447 0%, var(--deep) 30%, var(--abyss) 100%)}.sea:before{content:"";background:linear-gradient(#3ef2e01f,#0000);height:10%;position:absolute;top:3%;left:0;right:0}.shore{top:calc(var(--horizon) - 2.5%);pointer-events:none;height:7%;bottom:auto}.shore svg{width:100%;height:100%;display:block}canvas.stars,canvas.particles{width:100%;height:100%;display:block;position:absolute;inset:0}canvas.particles{z-index:1}.scene-dim{z-index:2;background:var(--abyss);opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease);position:absolute;inset:0}.scene[data-quiet=true] .scene-dim{opacity:.45}.scene-things{z-index:1;pointer-events:none;position:absolute;inset:0}.scene-things svg{position:absolute;overflow:visible}.drift{animation:14s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:translate(0,0)}to{transform:translate(14px,-6px)}}@keyframes swim-by{0%{transform:translate(-20vw)}to{transform:translate(120vw)}}.star-hits{height:calc(var(--horizon) + 6%);z-index:3;pointer-events:none;position:absolute;inset:-3% -3% auto}.day-star{pointer-events:auto;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.day-star:focus-visible{outline:2px solid var(--star)}.collectible{--anchor-y:-50%;transform:translate(-50%, var(--anchor-y));position:absolute}.collectible[data-stand=true]{--anchor-y:-100%}.collectible[data-weather=false]{z-index:1}.collectible svg{width:100%;height:auto;display:block;position:static;overflow:visible}.collectible[data-motion=drift] .collectible-art{animation:14s ease-in-out infinite alternate drift}.collectible[data-motion=swim] .collectible-art{animation:9s ease-in-out infinite alternate swim-slow}.collectible[data-motion=sway] .collectible-art{transform-origin:50% 100%;animation:5s ease-in-out infinite alternate sway}.collectible[data-motion=twinkle] .collectible-art{animation:4s ease-in-out infinite alternate twinkle}.collectible[data-motion=sweep] .collectible-art{animation:6s ease-in-out infinite alternate twinkle}.collectible.is-new{animation:unlock 1.4s var(--ease-bounce) both}@keyframes swim-slow{0%{transform:translate(-24px)}to{transform:translate(24px,-8px)}}@keyframes sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes twinkle{0%{opacity:.55}to{opacity:1}}@keyframes unlock{0%{transform:translate(-50%, var(--anchor-y)) scale(.5);opacity:0}60%{transform:translate(-50%, var(--anchor-y)) scale(1.25);opacity:1}to{transform:translate(-50%, var(--anchor-y)) scale(1)}}.whale{left:50%;top:var(--horizon);opacity:0;width:min(70vw,420px);animation:surface 5.5s var(--ease) forwards;position:absolute;transform:translate(-50%,40%)}.whale svg{width:100%;height:auto;display:block;position:static;overflow:visible}@keyframes surface{0%{opacity:0;transform:translate(-50%,40%)}25%{opacity:1;transform:translate(-50%,-62%)}70%{opacity:1;transform:translate(-50%,-58%)}to{opacity:0;transform:translate(-50%,40%)}}.visitor{width:60px;position:absolute}.visitor svg{width:100%;height:auto;display:block;position:static}.visitor[data-kind=fish],.visitor[data-kind=turtle]{animation:14s linear forwards swim-by;top:72%}.visitor[data-kind=turtle]{width:80px;animation-duration:22s;top:66%}.visitor[data-kind=jelly]{width:50px;animation:16s ease-in-out forwards rise-away;top:80%;left:70%}.visitor[data-kind=meteor]{width:140px;animation:1.6s ease-out forwards streak;top:8%;left:10%}.visitor[data-kind=firefly]{width:160px;animation:10s ease-in-out forwards fireflies;top:44%;left:30%}@keyframes rise-away{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}to{opacity:0;transform:translate(-30px,-120px)}}@keyframes streak{0%{opacity:0;transform:translate(0,0)}30%{opacity:1}to{opacity:0;transform:translate(60vw,16vh)}}@keyframes fireflies{0%{opacity:0}30%{opacity:1}70%{opacity:1}to{opacity:0}}.scene-glow{left:0;right:0;top:var(--horizon);z-index:2;opacity:0;pointer-events:none;background:radial-gradient(at 50% 0,#3ef2e059,#0000 60%);position:absolute;bottom:0}.scene-glow.is-on{animation:2.6s ease-out forwards glow-pulse}@keyframes glow-pulse{0%{opacity:0}20%{opacity:1}to{opacity:0}}.whale-ring{left:50%;top:calc(var(--horizon) + 4%);opacity:0;pointer-events:none;border:2px solid #c9fbf599;border-radius:50%;width:min(80vw,480px);height:34px;margin-left:calc(min(80vw,480px)/-2);animation:2.4s ease-out .9s both whale-ring;position:absolute;box-shadow:0 0 18px #3ef2e059}@keyframes whale-ring{0%{opacity:0;transform:scale(.35,.5)}20%{opacity:1}to{opacity:0;transform:scale(1.15,1.2)}}@media (prefers-reduced-motion:reduce){.whale-ring{display:none}}.sleeper{left:50%;top:calc(var(--horizon) + 4.6%);opacity:0;width:150px;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);pointer-events:none;margin-left:-75px;position:absolute;transform:translateY(12px)}.sleeper svg{transform-origin:50% 80%;width:100%;height:auto;animation:5s ease-in-out infinite sleeper-breathe;display:block;-webkit-mask-image:linear-gradient(#000 40%,#00000059 75%,#0000);mask-image:linear-gradient(#000 40%,#00000059 75%,#0000)}.scene[data-empty=true] .sleeper{opacity:1;transform:none}@keyframes sleeper-breathe{0%,to{transform:translate(0,0)scale(1)}50%{transform:translateY(-2px)scale(1.02,.98)}}.sleeper-bubbles{position:absolute;top:6px;left:76%}.sleeper-bubbles i{opacity:0;border:1px solid #c9fbf5cc;border-radius:50%;width:7px;height:7px;animation:4.5s ease-in infinite sleeper-bubble;position:absolute}.sleeper-bubbles i:nth-child(2){width:5px;height:5px;animation-delay:1.5s;left:6px}.sleeper-bubbles i:nth-child(3){width:9px;height:9px;animation-delay:3s;left:-4px}@keyframes sleeper-bubble{0%{opacity:0;transform:translate(0,0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(4px,-46px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.sleeper svg,.sleeper-bubbles i{animation:none}}canvas.lanterns{pointer-events:none;width:100%;height:31%;position:absolute;top:40%;left:0}.scene[data-silhouette=true] .whale svg{filter:brightness(0)drop-shadow(0 0 1.5px #c9fbf5d9)}.scene[data-silhouette=true] .collectible{display:none}.scene-flash{pointer-events:none;width:46px;height:46px;animation:scene-flash .9s var(--ease) forwards;background:radial-gradient(circle,#fff8e1f2,#ffd98a59 40%,#0000 70%);border-radius:50%;margin:-23px 0 0 -23px;position:absolute}.scene-flash[data-world=sea]{background:radial-gradient(circle,#e1fffaf2,#3ef2e059 40%,#0000 70%)}@keyframes scene-flash{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.scene-flash{animation-duration:1ms}.whale{transform:translate(-50%,-60%);animation-name:surface-still!important;animation-duration:4s!important;animation-timing-function:linear!important}}@keyframes surface-still{0%{opacity:0}15%,80%{opacity:1}to{opacity:0}}.star-flight{z-index:6;pointer-events:none;width:0;height:0;animation:.95s cubic-bezier(.45,0,.55,1) forwards star-flight-x;position:absolute}.star-flight i{width:14px;height:14px;animation:star-flight-y .95s var(--ease-out) forwards;background:radial-gradient(circle,#fff4d6 0 25%,#ffd98ae6 40%,#ffd98a00 72%);border-radius:50%;position:absolute;top:-7px;left:-7px}@keyframes star-flight-x{to{transform:translate3d(var(--dx), 0, 0)}}@keyframes star-flight-y{0%{transform:translate(0,0)scale(.6)}to{transform:translate3d(0, var(--dy), 0) scale(1)}}.row{justify-content:center;gap:var(--s2);padding:var(--s2) calc(var(--safe-right) + var(--s4)) var(--s2) calc(var(--safe-left) + var(--s4));display:flex}.card{border-radius:var(--r);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(8px);text-align:center;-webkit-touch-callout:none;background:linear-gradient(#12284ec7,#06122bdb 60%);flex-direction:column;flex:1 1 0;min-width:0;max-width:132px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff12,0 10px 24px #00000059;container-type:inline-size}.card:after{content:"";border-radius:inherit;border:1px solid var(--thing,var(--world-color));box-shadow:0 0 0 1px var(--thing,var(--world-color)), 0 0 28px color-mix(in srgb, var(--thing,var(--world-color)) 35%, transparent);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out);position:absolute;inset:-1px}.card[data-done=true]:after{opacity:1}.card-main{justify-content:flex-end;align-items:center;gap:var(--s2);min-height:124px;padding:var(--s3) var(--s1) var(--s2);border-radius:var(--r);touch-action:pan-y pinch-zoom;transition:transform var(--dur-press) var(--ease-out);flex-direction:column;flex:1;display:flex}.card-main:active{transform:scale(var(--press-scale))}.card-stone{z-index:1;color:#ffd9a8;min-width:16px;height:14px;font-size:var(--t-2xs);background:radial-gradient(circle at 34% 30%,#ffffff73 0 12%,#0000 26%),radial-gradient(circle at 70% 70%,#1c1a22 0 6%,#0000 7%),radial-gradient(circle at 40% 35%,#8b8595,#4b4654 50%,#26232c);border-radius:52% 46% 50% 42%;padding:0 3px;font-weight:700;line-height:14px;animation:3.2s ease-in-out infinite alternate stone-warm;position:absolute;top:30px;right:26px;box-shadow:inset 0 -2px 3px #00000073,0 0 10px #ffb46e80}@keyframes stone-warm{to{transform:translateY(-1px)rotate(-4deg)}}.card-stone[hidden]{display:none}.card[data-world=sea]{--world-color:var(--glow);--world-glow:#3ef2e059}.card[data-world=sky]{--world-color:var(--star);--world-glow:#ffd98a59}.card[data-world=garden]{--world-color:var(--sun);--world-glow:#f2c94c59}.creature{aspect-ratio:1;transform-origin:50% 80%;place-items:center;width:min(56px,92%);display:grid}.creature svg{width:100%;height:100%;overflow:visible}.card.is-jumping .creature{animation:jump .52s var(--ease-bounce)}.card.is-growing .creature{animation:grow .9s var(--ease-bounce)}@keyframes jump{0%{transform:translate(0,0)scale(1)}14%{transform:translateY(2px)scale(1.14,.82)}38%{transform:translateY(-20px)scale(.9,1.12)}62%{transform:translate(0,0)scale(1.1,.88)}80%{transform:translateY(-3px)scale(.97,1.04)}to{transform:translate(0,0)scale(1)}}@keyframes grow{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.card-name{width:100%;padding:0 var(--s1);font-size:var(--t-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;display:block;overflow:hidden}.dots{width:100%;max-width:72px;padding:0 var(--s1);grid-template-columns:repeat(7,1fr);justify-items:center;gap:2px;display:grid}.dot{aspect-ratio:1;width:100%;max-width:7px;transition:background var(--dur) var(--ease);background:#e8f0f52e;border-radius:50%}.dot.is-on{background:var(--world-color);box-shadow:0 0 6px var(--world-glow)}.dot.is-today{outline-offset:1px;outline:1px solid #e8f0f559}.card-add{border-radius:var(--r);border:1px dashed var(--card-edge);min-height:168px;color:var(--ink-dim);font-size:var(--t-lg);background:#06122b66;flex:0 0 44px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.card-add:hover{color:var(--ink)}}@container (width<=96px){.card-name{font-size:var(--t-xs)}}.dot.is-none{visibility:hidden}.dot.is-quiet{background:0 0;box-shadow:inset -2px 0 #fff4d6bf}.dot.is-rest{aspect-ratio:auto;background:#e8f0f547;border-radius:1px;height:2px;margin-top:2.5px}.card-edit{z-index:1;width:var(--touch);height:var(--touch);color:var(--ink-dim);opacity:.7;place-items:center;display:grid;position:absolute;top:0;left:0}.card-edit svg{fill:currentColor;width:16px;height:16px}.card-edit:focus-visible{opacity:1;color:var(--ink)}@media (hover:hover) and (pointer:fine){.card-edit:hover{opacity:1;color:var(--ink)}}.not-today{margin:var(--s1) calc(var(--safe-right) + var(--s4)) 0 calc(var(--safe-left) + var(--s4))}.not-today[hidden]{display:none}.not-today-toggle{justify-content:center;align-items:center;gap:var(--s2);width:100%;height:var(--touch);border-radius:var(--r-pill);border:1px dashed var(--card-edge);background:var(--float-bg);-webkit-backdrop-filter:var(--float-blur);color:var(--ink-dim);font-size:var(--t-xs);font-weight:700;display:flex}.not-today-count{font-variant-numeric:tabular-nums;min-width:18px;padding:0 var(--s1);border-radius:var(--r-pill);background:#e8f0f51a}.not-today-list{margin:var(--s2) 0 0;gap:var(--s2);padding:0;list-style:none;display:grid}.not-today-list[hidden]{display:none}.not-today-item{align-items:center;gap:var(--s2);padding:0 var(--s2);border-radius:var(--r);border:1px solid var(--card-edge);background:#06122b80;grid-template-columns:36px 1fr auto;display:grid}.not-today-creature{opacity:.55;filter:grayscale(.4);width:36px;height:36px}.not-today-creature svg{width:100%;height:100%}.not-today-name{height:var(--touch);text-align:left;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.also-today{font-size:var(--t-xs)}.row[data-count="0"] .card-add{flex:0 0 108px;min-height:132px}.creature{position:relative}.creature:before{content:"";background:radial-gradient(closest-side, var(--world-glow), transparent);opacity:.45;width:120%;height:34%;transition:opacity var(--dur) var(--ease);pointer-events:none;border-radius:50%;margin-left:-60%;position:absolute;bottom:-6%;left:50%}.card[data-done=true] .creature:before{opacity:1}.creature svg{position:relative}.card-mark{width:34px;height:34px;position:absolute;top:3px;right:3px}.card-mark .bubble{width:100%;height:100%}.card-length{min-height:1.2em;font-size:var(--t-xs);color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.card[data-kind=tap] .card-length{display:none}.card[data-started=true] .card-length{color:var(--thing,var(--world-color));font-weight:700}.card-delete:after,.row-edit:after,.next-find:after{content:"";position:absolute;inset:-6px}.row-edit,.next-find,.next-legend{position:relative}.next-legend:after{content:"";position:absolute;inset:-6px}.card-delete{z-index:2;min-width:var(--touch);height:32px;padding:0 var(--s3);border-radius:var(--r-pill);color:#fff;font-size:var(--t-xs);transition:transform var(--dur-press) var(--ease-out);background:#d9423c;font-weight:700;display:none;position:absolute;top:6px;right:6px;box-shadow:0 4px 14px #0006}.card-delete:active{transform:scale(var(--press-scale))}.row[data-editing=true] .card-mark,.row[data-editing=true] .card-stone,.card[data-swiped=true] .card-mark,.card[data-swiped=true] .card-stone{visibility:hidden}.row[data-editing=true] .card-delete,.card[data-swiped=true] .card-delete{display:block}.row[data-editing=true] .card{border-style:dashed}.row[data-editing=true] .card-main .dots{visibility:hidden}.card[data-swiped=true] .card-main{transform:translate(-6px)}.card.is-leaving{opacity:0;transition:transform .38s cubic-bezier(.32, .72, 0, 1), opacity .38s var(--ease);transform:translateY(40px)scale(.9)}.card-hint{z-index:3;width:max-content;max-width:180px;padding:var(--s1) var(--s3);border-radius:var(--r-pill);background:var(--star-pale);color:var(--abyss);font-size:var(--t-xs);pointer-events:none;animation:hint-in 1.6s var(--ease) both;font-weight:700;position:absolute;top:36px;left:50%;transform:translate(-50%)}.card:has(.card-hint):after{animation:card-pulse 1.4s var(--ease-out) 1}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,6px)}20%,to{opacity:1;transform:translate(-50%)}}@keyframes card-pulse{40%{opacity:1}}.row-tools{justify-content:space-between;align-items:center;gap:var(--s2);min-height:32px;padding:0 calc(var(--safe-right) + var(--s4)) 0 calc(var(--safe-left) + var(--s4));display:flex}.row-edit{min-width:var(--touch);height:32px;padding:0 var(--s4);border-radius:var(--r-pill);background:var(--float-bg);box-shadow:inset 0 0 0 1px var(--float-edge);-webkit-backdrop-filter:var(--float-blur);color:var(--ink);font-size:var(--t-xs);font-weight:700}.row-edit[aria-pressed=true]{background:var(--star-pale);color:var(--abyss)}.row-edit[hidden]{display:none}.next-slot{gap:var(--s2);min-width:0;display:flex}.next-find,.next-legend{align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3) 0 var(--s1);border-radius:var(--r-pill);background:var(--float-bg);box-shadow:inset 0 0 0 1px var(--float-edge);-webkit-backdrop-filter:var(--float-blur);color:var(--ink);font-size:var(--t-xs);font-variant-numeric:tabular-nums;display:inline-flex}.next-art{filter:brightness(0)invert(.9)drop-shadow(0 0 3px #c9fbf599);opacity:.55;width:26px;height:26px}.next-art svg{width:100%;height:100%}.next-text{white-space:nowrap}@media (max-width:359px){.next-slot,.next-find,.next-legend{gap:var(--s1)}.next-art{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.card-hint{animation:none}.card:has(.card-hint):after{animation:none}.card.is-leaving{transform:none}}.next-legend{font-variant-numeric:tabular-nums;flex:none}.next-legend-art{filter:brightness(0)invert(.82)sepia()saturate(4)hue-rotate(5deg)drop-shadow(0 0 3px #ffd98ab3);opacity:.7}.first-week{align-items:center;gap:var(--s1);height:32px;padding:0 var(--s3);border-radius:var(--r-pill);background:var(--float-bg);box-shadow:inset 0 0 0 1px var(--float-edge);-webkit-backdrop-filter:var(--float-blur);display:inline-flex}.week-slot{fill:#e8f0f529;stroke:#e8f0f552;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round;width:16px;height:16px}.week-slot.is-filled{fill:var(--star);stroke:var(--star-pale)}.card[data-asleep=true] .creature .eyes{transform-box:fill-box;transform-origin:50%;transform:scaleY(.14)}.card[data-asleep=true] .creature svg{transform-origin:50% 80%;animation:4.8s ease-in-out infinite sleep-breathe}@keyframes sleep-breathe{50%{transform:scale(1.035,.975)}}.card.is-waking .creature svg{transform-origin:50% 90%;animation:wake-wave .9s var(--ease-out)}@keyframes wake-wave{25%{transform:rotate(-9deg)}55%{transform:rotate(7deg)}80%{transform:rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.card[data-asleep=true] .creature svg,.card.is-waking .creature svg{animation:none}}.card-after{font-size:var(--t-2xs);color:var(--ink-dim);line-height:1.2}.card-after[hidden]{display:none}.sheet-scrim{z-index:10;background:var(--scrim);opacity:0;transition:opacity var(--dur-sheet-out) var(--ease-drawer);position:absolute;inset:0}.sheet-scrim.is-open{opacity:1;transition-duration:var(--dur-sheet-in)}.sheet{z-index:11;max-height:calc(100% - var(--safe-top) - var(--s8));padding:var(--s4) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s4)) calc(var(--safe-left) + var(--s4));border-radius:var(--r-lg) var(--r-lg) 0 0;transition:transform var(--dur-sheet-out) var(--ease-drawer);overscroll-behavior:contain;background:radial-gradient(120% 60% at 50% 0,#3ef2e014,#0000 60%),linear-gradient(#0d2042,#081530 40%);border-top:1px solid #3ef2e038;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -20px 60px #00000080}.sheet.is-open{transition-duration:var(--dur-sheet-in);transform:translate(0,0)}@media (prefers-reduced-motion:reduce){.sheet{opacity:0;transition:opacity .2s var(--ease-out);transform:none}.sheet.is-open{opacity:1}}.sheet.is-dragging{transition:none}.sheet-grabber{top:0;left:0;right:calc(var(--safe-right) + var(--touch) + var(--s2));height:var(--touch);touch-action:none;cursor:grab;position:absolute}.sheet-grabber:before{content:"";top:7px;left:calc(50% + (var(--touch) + var(--s2)) / 2);border-radius:var(--r-pill);background:#e8f0f538;width:36px;height:5px;margin-left:-18px;position:absolute}.sheet-title{margin:0 0 var(--s3);font-family:var(--font-display);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-weight:700;font-size:var(--t-lg);color:var(--star-pale);text-wrap:balance}.sheet-title:focus{outline:none}.sheet-close{top:var(--s2);right:calc(var(--safe-right) + var(--s2));position:absolute}.field{margin-bottom:var(--s4);display:block}.field-label{margin-bottom:var(--s1);font-size:var(--t-xs);color:var(--ink-dim);text-transform:lowercase;display:block}.input{width:100%;height:var(--touch);padding:0 var(--s3);border-radius:var(--r-sm);border:1px solid var(--control-edge);font-size:var(--t-md);background:#02040980}.input::placeholder{color:var(--ink-dim)}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{min-width:var(--touch);height:var(--touch);padding:0 var(--s3);border-radius:var(--r-pill);border:1px solid var(--control-edge);font-size:var(--t-sm);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), scale var(--dur-press) var(--ease-out);background:#02040966}.chip[aria-pressed=true]{border-color:var(--glow);color:var(--star-pale);background:#3ef2e029}.button-primary{border-radius:var(--r-pill);background:var(--glow);width:100%;height:48px;color:var(--abyss);font-size:var(--t-md);transition:transform var(--dur-press) var(--ease-out);font-weight:700}.button-primary:active{transform:scale(var(--press-scale))}.button-quiet{width:100%;height:var(--touch);border-radius:var(--r-pill);color:var(--ink-dim);font-size:var(--t-sm)}@media (hover:hover) and (pointer:fine){.button-quiet:hover{color:var(--ink)}}.sheet-note{text-wrap:pretty;margin:var(--s2) 0 0;font-size:var(--t-xs);color:var(--ink-dim)}.toast{top:calc(var(--safe-top) + var(--s3));z-index:20;width:max-content;max-width:calc(100% - 2 * var(--s4));padding:var(--s3) var(--s4);border-radius:var(--r-pill);background:var(--star-pale);color:var(--abyss);box-shadow:var(--shadow-float);transition:transform var(--dur-toast-out) var(--ease-out);font-weight:700;position:absolute;left:50%;transform:translate(-50%,-140%)}.toast.is-open{transition-duration:var(--dur);transform:translate(-50%)}.collection-thing+.collection-thing{margin-top:var(--s6)}.collection-title{align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:var(--t-md);font-weight:700;display:flex}.collection-name{overflow-wrap:anywhere;min-width:0}.collection-creature{place-items:center;width:36px;height:36px;display:inline-grid}.collection-creature svg{width:100%;height:100%;overflow:visible}.collection-total{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-dim);flex-shrink:0;margin-left:auto;font-weight:400}.tiles{gap:var(--s2);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tile{align-items:center;gap:var(--s1);padding:var(--s2) var(--s1);border-radius:var(--r-sm);text-align:center;background:#02040966;border:1px solid #0000;flex-direction:column;display:flex}.tile-art{aspect-ratio:1;place-items:center;width:min(44px,100%);display:grid}.tile-art svg{width:100%;height:100%;overflow:visible}.tile-caption{font-size:var(--t-xs);color:var(--ink);overflow-wrap:break-word;line-height:1.2}.tile-open{border-radius:inherit;position:absolute;inset:0}.tile-open:focus-visible{outline-offset:-2px}.tile:has(.tile-open){transition:scale var(--dur-press) var(--ease-out)}.tile:has(.tile-open:active){scale:var(--press-scale);transition-duration:0s}.case{justify-items:center;gap:var(--s2);padding:0 0 var(--s6);text-align:center;display:grid}.case-head{z-index:1;position:relative}.case-art{width:152px;height:152px;margin-top:calc(-1 * var(--s6));background:radial-gradient(closest-side,#3ef2e029,#0000);border-radius:50%;place-items:center;display:grid}.case[data-rarity=legendary] .case-art{background:radial-gradient(closest-side,#ffd98a38,#0000)}.case-art svg{width:116px;height:116px;overflow:visible}.case-name{align-items:center;gap:var(--s2);font-family:var(--font-display);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-weight:700;font-size:var(--t-lg);color:var(--star-pale);text-wrap:balance;margin:0;display:inline-flex}.case-name:focus{outline:none}.case .case-rarity{font-family:var(--font-body);position:static}.case-plaque{max-width:32ch;font-size:var(--t-md);color:var(--ink);text-wrap:balance;margin:0;line-height:1.4}.case-came{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-dim);margin:0}.case-half{grid-template-columns:var(--touch) 1fr;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r);background:#e8f0f50d;display:grid}.case-half-art svg{width:var(--touch);height:var(--touch);display:block;overflow:visible}.case-half-text{font-size:var(--t-sm);color:var(--ink-dim);margin:0}.case-half-name{color:var(--ink);font-weight:700;display:block}.case-half-text .case-came{margin-top:var(--s1);display:block}.tile.is-locked .tile-art{filter:grayscale()brightness(.25)contrast(1.4);opacity:.8}.tile.is-locked .tile-caption{color:var(--ink-dim)}.tile.is-next{border-color:var(--control-edge)}.tile.is-next .tile-caption{color:var(--star)}.eyebrow{margin:0 0 var(--s3);font-size:var(--t-xs);letter-spacing:.08em;color:var(--ink-dim);font-weight:700}.club-day{margin:calc(-1 * var(--s2)) 0 var(--s4);font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ink-dim)}.row-note{margin:calc(-1 * var(--s1)) 0 0 var(--s3)}.rules-block{margin-top:var(--s8)}.rules{counter-reset:rule;gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.rules li{counter-increment:rule;grid-template-columns:var(--s6) 1fr;font-size:var(--t-md);color:var(--ink);text-wrap:pretty;line-height:1.4;display:grid}.rules li:before{content:counter(rule);font-variant-numeric:tabular-nums;color:var(--glow);font-weight:700}.rule-lead{color:var(--ink-dim)}.install-steps{gap:var(--s3);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.install-steps li{align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r);border:1px solid var(--control-edge);counter-increment:step;background:#02040966;grid-template-columns:56px 1fr;display:grid}.install-icon{border-radius:var(--r);background:#3ef2e01f;place-items:center;width:56px;height:56px;display:grid;position:relative}.install-icon:before{content:counter(step);background:var(--glow);width:22px;height:22px;color:var(--abyss);font-size:var(--t-xs);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:-8px;left:-8px}.install-icon svg{fill:none;width:30px;height:30px;stroke:var(--glow);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.install-text{font-size:var(--t-md);line-height:1.3}.club-line{margin:var(--s8) 0 0;padding-top:var(--s4);font-size:var(--t-sm);color:var(--ink-dim);text-wrap:pretty;border-top:1px solid #e8f0f514}.offer-slot{pointer-events:none;justify-content:center;display:flex}.offer-slot>*{pointer-events:auto}.offer{align-items:center;gap:var(--s2);height:var(--touch);margin-bottom:var(--s2);padding:0 var(--s6);border-radius:var(--r-pill);background:var(--star-pale);color:var(--abyss);font-size:var(--t-md);opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease-bounce), scale var(--dur-press) var(--ease-out);font-weight:700;display:inline-flex;transform:translateY(8px)scale(.96);box-shadow:0 0 32px #ffd98a66}.offer.is-in{opacity:1;transform:none}.offer svg{fill:none;stroke:currentColor;width:18px;height:18px;stroke-width:var(--line);stroke-linejoin:round}.formats{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.format{justify-content:flex-end;align-items:center;gap:var(--s3);min-height:160px;padding:var(--s4);border-radius:var(--r);border:1px solid var(--control-edge);font-size:var(--t-md);background:#02040966;flex-direction:column;font-weight:700;display:flex}.format-shape{border:2px solid var(--glow);background:linear-gradient(180deg, var(--night) 55%, var(--deep) 55%);border-radius:6px}.format-shape.is-story{width:54px;height:96px}.format-shape.is-square{width:80px;height:80px}.postcard-preview{object-fit:contain;width:100%;height:auto;max-height:55vh;margin-bottom:var(--s4);border-radius:var(--r-sm);display:block}.tile{position:relative}.tile.is-stone{border-color:#ffb46e59}.tile.is-stone .tile-caption{color:#ffd9a8}.tile-rarity{padding:0 var(--s1);border-radius:var(--r-pill);font-size:var(--t-2xs);letter-spacing:.02em;font-weight:700;line-height:15px;position:absolute;top:4px;right:4px}.tile-rarity[data-rarity=rare]{color:var(--glow);background:#3ef2e02e}.tile-rarity[data-rarity=legendary]{color:var(--star);background:#ffd98a38}.day-chips{gap:var(--s1);grid-template-columns:repeat(7,1fr);display:grid}.day-chip{height:var(--touch);border-radius:var(--r-sm);border:1px solid var(--control-edge);color:var(--ink-dim);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), scale var(--dur-press) var(--ease-out);background:#02040966;font-weight:700}.day-chip[aria-pressed=true]{border-color:var(--glow);color:var(--star-pale);background:#3ef2e029}.sheet:before{content:"";width:40px;height:4px;margin:calc(var(--s2) * -1) auto var(--s3);border-radius:var(--r-pill);background:#e8f0f538;display:block}.kind-choices{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.kind-choice{gap:var(--s1);min-height:84px;padding:var(--s3);border-radius:var(--r);border:1px solid var(--control-edge);text-align:left;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-press) var(--ease-out);background:#02040966;align-content:start;display:grid}.kind-choice:active{transform:scale(var(--press-scale))}.kind-choice[aria-pressed=true]{border-color:var(--glow);box-shadow:0 0 0 1px var(--glow);background:#3ef2e01a}.kind-title{color:var(--ink);font-weight:700}.kind-line{font-size:var(--t-xs);color:var(--ink-dim)}.kind-length{margin-top:var(--s3)}.kind-length[hidden]{display:none}.button-danger{width:100%;height:var(--touch);margin-top:var(--s4);border-radius:var(--r-pill);color:#ff7a72;font-weight:700;font-size:var(--t-sm);transition:transform var(--dur-press) var(--ease-out)}.button-danger:active{transform:scale(var(--press-scale))}.without-field .button-quiet:disabled{opacity:.4}.without-question{margin:var(--s2) 0 var(--s1);color:var(--ink)}.without-truth{font-size:var(--t-xs);color:var(--ink-dim);text-wrap:balance;margin:0}.without-truth-by{margin:0 0 var(--s2);font-size:var(--t-2xs);color:var(--ink-dim)}.without-ask[hidden]{display:none}.undo-toast{left:50%;bottom:calc(var(--safe-bottom) + var(--s4));z-index:20;align-items:center;gap:var(--s3);width:max-content;max-width:calc(100% - 2 * var(--s4));padding:var(--s2) var(--s2) var(--s2) var(--s4);border-radius:var(--r-pill);background:var(--star-pale);color:var(--abyss);font-size:var(--t-sm);box-shadow:var(--shadow-float);transition:transform var(--dur-toast-out) var(--ease-out);display:flex;position:absolute;transform:translate(-50%,160%)}.undo-toast.is-open{transition-duration:var(--dur);transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.toast,.undo-toast{opacity:0;transition:opacity .2s var(--ease-out);transform:translate(-50%)}.toast.is-open,.undo-toast.is-open{opacity:1}}.undo-button{min-width:var(--touch);height:var(--touch);padding:0 var(--s3);border-radius:var(--r-pill);background:var(--abyss);color:var(--star-pale);font-weight:700}.how-lines{margin:0 0 var(--s6);gap:var(--s2);color:var(--ink);padding:0;list-style:none;display:grid}.how-watch-group{margin-top:var(--s6)}.how-faq-title{margin-top:var(--s8)}.how-faq{margin:0}.how-faq dt{margin-top:var(--s4);color:var(--ink);font-weight:700}.how-faq dd{margin:var(--s1) 0 0;color:var(--ink-dim);text-wrap:pretty}.length-other{gap:var(--s3);margin-top:var(--s3);display:flex}.length-other[hidden]{display:none}.length-part{align-items:center;gap:var(--s2);color:var(--ink-dim);display:flex}.length-part .input{text-align:center;font-variant-numeric:tabular-nums;width:76px}.icon-head{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.icon-head .field-label{margin:0}.icon-preview{flex:none;width:36px;height:36px}.icon-preview .bubble{width:100%;height:100%}.icon-auto{font-size:var(--t-xs);color:var(--ink-dim)}.icon-chips{gap:var(--s1);flex-wrap:wrap;display:flex}.icon-extra{display:contents}.icon-chip{width:var(--touch);height:var(--touch);border:1px solid var(--control-edge);color:var(--star-pale);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), scale var(--dur-press) var(--ease-out);background:#02040966;border-radius:50%;place-items:center;display:grid}.icon-chip svg{width:22px;height:22px}.icon-chip[aria-pressed=true]{border-color:var(--glow);background:#3ef2e029}.icon-letter{font-size:var(--t-md);font-weight:700}.icon-more{gap:var(--s3);margin-top:var(--s3);display:grid}.icon-more[hidden]{display:none}.icon-group-label{margin-bottom:var(--s1);font-size:var(--t-xs);color:var(--ink-dim);display:block}.field-error{margin:calc(-1 * var(--s2)) 0 var(--s4);font-size:var(--t-xs);color:#ff7a72}.starter-glyph{width:18px;height:18px;margin-right:var(--s1);vertical-align:-4px}.good-field{gap:var(--s2);width:100%;display:grid}.settings-group+.settings-group{margin-top:var(--s6)}.setting{gap:var(--s1);margin-bottom:var(--s3);display:grid}.setting-actions{justify-items:start;gap:var(--s2);margin-top:var(--s3);display:grid}.setting-actions .row-group{justify-self:stretch;margin-bottom:0}.setting-actions .setting-last{margin:0 0 var(--s1) var(--s3)}.setting-actions .menu-row.is-danger{padding-left:var(--s3)}.icon-button[data-due=true]{position:relative}.icon-button[data-due=true]:after{content:"";background:var(--star);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;right:10px}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-group(sheet-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}::view-transition-old(sheet-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}::view-transition-new(sheet-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}::view-transition-group(leaf-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}::view-transition-old(leaf-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}::view-transition-new(leaf-swap){animation-duration:var(--dur-swap);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(sheet-swap){animation:none}::view-transition-old(sheet-swap){animation:none}::view-transition-new(sheet-swap){animation:none}::view-transition-group(leaf-swap){animation:none}::view-transition-old(leaf-swap){animation:none}::view-transition-new(leaf-swap){animation:none}}.after-note{margin:0 0 var(--s2)}.leaf{gap:var(--s3);margin:0 calc(var(--safe-right) + var(--s4)) var(--s3) calc(var(--safe-left) + var(--s4));padding:var(--s4);border-radius:var(--r);background:var(--card);border:1px solid var(--card-edge);-webkit-backdrop-filter:var(--float-blur);font-size:var(--t-sm);display:grid}.leaf-head{align-items:center;gap:var(--s3);display:flex}.leaf-text{min-width:0}.leaf-art{width:var(--touch);flex:none;display:block}.leaf-art svg{width:100%;height:auto;display:block}.leaf-title{font-family:var(--font-display);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-weight:700;font-size:var(--t-md);color:var(--star-pale);text-wrap:balance;margin:0;line-height:1.25}.leaf-lead{margin:var(--s1) 0 0;color:var(--ink-dim);text-wrap:pretty}.leaf-title .leaf-count{font-size:var(--t-lg);font-variant-numeric:tabular-nums;font-weight:900}.leaf-foot{justify-content:flex-end;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.leaf-note{min-width:0;font-size:var(--t-xs);color:var(--ink-dim);flex:auto;margin:0}.leaf-actions{align-items:center;gap:var(--s1);margin-left:auto;display:flex}.leaf-button{height:40px;padding:0 var(--s4);border-radius:var(--r-pill);font-size:var(--t-sm);white-space:nowrap;font-weight:700;position:relative}.leaf-button:after{content:"";position:absolute;inset:-2px 0}.leaf-button.is-primary{background:var(--glow);color:var(--abyss)}.leaf-button.is-soft{color:var(--star-pale);background:#3ef2e024}.leaf-button.is-quiet{padding:0 var(--s3);color:var(--ink-dim);font-weight:400}@media (hover:hover) and (pointer:fine){.leaf-button.is-quiet:hover{color:var(--ink)}}.leaf-foot.is-quiet{margin:calc(-1 * var(--s2)) 0}.leaf .field{margin:0}.leaf-quote{font-size:var(--t-md);color:var(--ink);text-wrap:pretty;margin:0;line-height:1.35}@media (max-width:359px){.leaf-quote{font-size:var(--t-sm)}}.quote-by:before{content:"— "}.header-brand{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.krill{align-items:flex-start;gap:var(--s1);flex-direction:column;display:flex}.krill-chip{min-height:28px;padding:0 var(--s3) 0 var(--s2);border-radius:var(--r-pill);background:var(--float-bg);border:1px solid var(--float-edge);color:var(--ink);font-size:var(--t-xs);font-variant-numeric:tabular-nums;transition:transform var(--dur-press) var(--ease-out);align-items:center;gap:4px;font-weight:700;display:inline-flex;position:relative}.krill-chip:after{content:"";position:absolute;inset:-9px -5px}.krill-chip:active{transform:scale(var(--press-scale))}.krill-icon{width:16px;height:16px;color:var(--krill);flex:none}.krill-rise{margin:-.6em 0 0 var(--s2);color:var(--krill);font-size:var(--t-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:transform var(--dur-rise) var(--ease-out), opacity var(--dur-press) var(--ease-out);font-weight:700;position:absolute;top:50%;left:100%;transform:translateY(6px)}.krill-rise.is-up{opacity:1;transform:translateY(-8px)}.krill-rise.is-gone{opacity:0;transition-duration:.4s;transform:translateY(-14px)}.krill-goal{font-size:var(--t-2xs);color:var(--ink-dim);font-variant-numeric:tabular-nums;gap:2px;margin:0;display:grid}.krill-goal[hidden]{display:none}.krill-goal-bar{background:#e8f0f51f;border-radius:1px;height:2px;display:block;overflow:hidden}.krill-goal-bar i{background:var(--krill);transform-origin:0;height:100%;transition:transform var(--dur) var(--ease-out);display:block}.krill-goal[data-ready=true]{color:var(--krill)}.dock-intro{margin:0 0 var(--s2)}.dock-balance{align-items:center;gap:var(--s1);margin:0 0 var(--s4);font-size:var(--t-md);font-variant-numeric:tabular-nums;font-weight:700;display:flex}.dock-balance .krill-icon{width:20px;height:20px}.dock-tier+.dock-tier{margin-top:var(--s6)}.dock-tier-title{margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--ink-dim);font-weight:700}.dock-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.dock-tiles li{display:grid}.dock-tile{width:100%;min-height:var(--touch);padding:var(--s3) var(--s1) var(--s2);color:inherit;transition:transform var(--dur-press) var(--ease-out)}.dock-tile:active{transform:scale(var(--press-scale))}.dock-tile .tile-art{width:52px;height:52px}.dock-tile.is-goal{border-color:var(--krill)}.dock-price{font-size:var(--t-xs);color:var(--ink-dim);font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:inline-flex}.dock-price .krill-icon{width:12px;height:12px}.dock-tile.is-owned .dock-price{color:var(--glow)}.dock-back{align-items:center;gap:var(--s1);width:auto;min-height:var(--touch);padding:0 var(--s3) 0 var(--s1);display:inline-flex}.dock-back .icon{width:20px;height:20px}.dock-item{text-align:center;justify-items:center;gap:var(--s2);padding:var(--s2) 0 var(--s4);display:grid}.dock-item-art{place-items:center;width:132px;height:132px;display:grid}.dock-item-art svg{width:100%;height:100%;overflow:visible}.dock-item.is-locked .dock-item-art{filter:grayscale()brightness(.25)contrast(1.4);opacity:.8}.dock-item-name{text-wrap:balance;font-family:var(--font-display);font-size:var(--t-lg);margin:0;font-weight:700}.dock-item-name:focus{outline:none}.dock-item-line,.dock-item-price,.dock-short,.dock-who{color:var(--ink-dim);font-size:var(--t-sm);margin:0}.dock-item-price{align-items:center;gap:var(--s1);font-variant-numeric:tabular-nums;color:var(--ink);display:inline-flex}.dock-short{color:var(--krill);font-variant-numeric:tabular-nums}.dock-actions{gap:var(--s2);width:100%;margin-top:var(--s3);display:grid}.dock-wearers{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));margin:0;padding:0;list-style:none;display:grid}.dock-wearer{width:100%;min-height:var(--touch);justify-items:center;gap:var(--s1);padding:var(--s2) var(--s1);border-radius:var(--r-sm);color:var(--ink);transition:transform var(--dur-press) var(--ease-out);background:#02040966;border:1px solid #0000;display:grid}.dock-wearer:active{transform:scale(var(--press-scale))}.dock-wearer[aria-pressed=true]{border-color:var(--krill)}.dock-wearer-art{width:48px;height:48px}.dock-wearer-art svg{width:100%;height:100%;overflow:visible}.dock-wearer-name{font-size:var(--t-xs);overflow-wrap:anywhere}.dock-under{z-index:1;pointer-events:none;position:absolute;inset:0}.dock-under>*,.scene .layer .dock-aurora,.scene .layer .dock-friday,.scene .layer .dock-sky-whale{position:absolute}.dock-under svg,.dock-aurora svg,.dock-sky-whale svg{width:100%;height:auto;display:block;overflow:visible}.scene[data-empty=true] .dock-under,.scene[data-empty=true] .pier{display:none}.pier{z-index:3;left:50%;top:calc(59.2% - 10px * var(--scene-scale,1));width:calc(60px * var(--scene-scale,1));min-height:var(--touch);margin-left:calc(-30px * var(--scene-scale,1));pointer-events:auto;transition:transform var(--dur-press) var(--ease-out);border-radius:8px;padding:0;position:absolute}.pier[data-long=true]{width:calc(72px * var(--scene-scale,1));margin-left:calc(-36px * var(--scene-scale,1))}.pier:active{transform:scale(var(--press-scale))}.pier:focus-visible{outline:2px solid var(--star);outline-offset:2px}.pier .pier-lantern,.pier .pier-lantern-glow{opacity:.25;transition:opacity var(--dur-slow) var(--ease-out)}.scene[data-dark=true] .pier .pier-lantern{opacity:1}.scene[data-dark=true] .pier .pier-lantern-glow{opacity:.32}.dock-edge{top:60%;left:0;right:0}.dock-reef{top:68.6%;left:0;right:0}.dock-island{width:50%;top:49.3%;left:0}.dock-tide{background:linear-gradient(90deg, transparent, var(--glow) 20%, var(--glow) 80%, transparent);opacity:.55;border-radius:2px;height:4px;animation:5s ease-in-out infinite alternate tide-breathe;top:59.6%;left:0;right:0;box-shadow:0 0 14px #3ef2e099}@keyframes tide-breathe{to{opacity:.9}}.dock-cove{inset:58% 0 0}.dock-cove svg{height:100%}.dock-cove .cove-sparks{animation:3.5s ease-in-out infinite alternate twinkle}.dock-small-whale{width:calc(56px * var(--scene-scale,1));animation:38s ease-in-out infinite alternate small-whale;top:63.4%;left:18%}@keyframes small-whale{0%{transform:translate(0,0)}to{transform:translate3d(calc(260px * var(--scene-scale,1)), 6px, 0)}}.scene .layer .dock-aurora{opacity:.9;height:42%;animation:24s ease-in-out infinite alternate aurora-drift;top:6%;left:0;right:0}.dock-aurora svg{height:100%}@keyframes aurora-drift{0%{transform:translate(-2%)}to{transform:translate(2%,-1%)}}.scene .layer .dock-friday{inset:0}.dock-friday i{background:linear-gradient(90deg, transparent, var(--star-pale));opacity:0;border-radius:1px;width:70px;height:1.5px;animation:9s linear infinite friday-fall;position:absolute;transform:rotate(-24deg)}.dock-friday i:first-child{top:14%;left:18%}.dock-friday i:nth-child(2){animation-delay:3s;top:9%;left:55%}.dock-friday i:nth-child(3){animation-delay:6s;top:26%;left:34%}@keyframes friday-fall{0%,86%{opacity:0;transform:rotate(-24deg)translate(0,0)}88%{opacity:1}to{opacity:0;transform:rotate(-24deg)translate(90px)}}.scene .layer .dock-sky-whale{opacity:0;width:34%;top:20%;left:-40%}.dock-sky-whale.is-crossing{animation:70s linear both sky-whale-cross}.dock-sky-whale.is-preview{opacity:.9;transition:opacity var(--dur-slow) var(--ease-out);left:33%}@keyframes sky-whale-cross{0%{opacity:0;transform:translate(0,0)}10%,90%{opacity:.85}to{opacity:0;transform:translate(440%,-20%)}}@media (prefers-reduced-motion:reduce){.dock-small-whale,.scene .layer .dock-aurora,.dock-tide{animation:none}.dock-sky-whale.is-crossing{opacity:.85;animation:none;left:33%}}body[data-arranging=true] #app{visibility:hidden}.scene[data-arranging=true] *,.scene[data-arranging=true] :before,.scene[data-arranging=true] :after,.scene[data-still=true] *,.scene[data-still=true] :before,.scene[data-still=true] :after{animation-play-state:paused!important}.scene[data-arranging=true] .pier,.scene[data-arranging=true] .stones,.scene[data-arranging=true] .star-hits{pointer-events:none}.scene[data-arranging=true] .pier{opacity:.35}.arrange-rings{z-index:5;pointer-events:none;position:absolute;inset:0}.arrange-spot{width:calc(48px * var(--scene-scale,1) * var(--depth,1));height:calc(48px * var(--scene-scale,1) * var(--depth,1));margin:calc(-24px * var(--scene-scale,1) * var(--depth,1)) 0 0 calc(-24px * var(--scene-scale,1) * var(--depth,1));pointer-events:auto;touch-action:none;transition:opacity var(--dur) var(--ease-out), transform var(--dur-press) var(--ease-out), border-color var(--dur-press) var(--ease-out);background:#e8f0f50a;border:1.5px dashed #e8f0f561;border-radius:50%;position:absolute}.arrange-spot.is-taken{background:#3ef2e012;border-style:solid;border-color:#3ef2e066}.arrange-spot[aria-pressed=true]{border-color:var(--star);background:#ffd98a1f}.arrange-spot.is-other{opacity:.2}.arrange-spot.is-target{border-color:var(--glow);transform:scale(1.14)}.arrange-spot:focus-visible{outline:2px solid var(--star);outline-offset:3px}.scene[data-arranging=true] .arrange-spot.is-new{border-color:var(--krill);animation:1.4s ease-in-out 3 alternate spot-new;animation-play-state:running!important}@keyframes spot-new{to{transform:scale(1.18)}}.collectible.is-held{filter:drop-shadow(0 0 6px #ffd98ad9)}.collectible.is-snapping{transition:transform var(--dur-snap) var(--ease-out)}.arrange-ui{z-index:9;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.arrange-top,.arrange-bottom{pointer-events:auto}.arrange-top{align-items:center;gap:var(--s2);padding:calc(var(--safe-top) + var(--s3)) calc(var(--safe-right) + var(--s4)) var(--s6) calc(var(--safe-left) + var(--s4));background:linear-gradient(#020409d9,#0000);display:flex}.arrange-heading{flex:1;min-width:0}.arrange-title{text-wrap:balance;font-family:var(--font-display);font-size:var(--t-md);margin:0;font-weight:700}.arrange-title:focus{outline:none}.arrange-hint{font-size:var(--t-xs);color:var(--ink-dim);margin:2px 0 0}.arrange-top .button-quiet,.arrange-top .button-primary{width:auto;height:var(--touch);padding:0 var(--s4);font-size:var(--t-sm);flex:none}.arrange-bottom{gap:var(--s2);padding:var(--s6) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s4)) calc(var(--safe-left) + var(--s4));background:linear-gradient(#0000,#020409d9);display:grid}.arrange-tray{justify-content:center;gap:var(--s2);display:flex}.arrange-away,.arrange-chest{align-items:center;gap:var(--s2);min-height:var(--touch);padding:0 var(--s4);border-radius:var(--r-pill);background:var(--float-bg);border:1px solid var(--float-edge);color:var(--ink);font-size:var(--t-sm);transition:transform var(--dur-press) var(--ease-out);font-weight:700;display:inline-flex}.arrange-away:active,.arrange-chest:active{transform:scale(var(--press-scale))}.arrange-away .icon,.arrange-chest .icon{width:20px;height:20px}.arrange-away[hidden]{display:none}.arrange-chest-list{max-height:32vh;padding:var(--s3);border-radius:var(--r);background:var(--card);border:1px solid var(--card-edge);overflow:auto}.arrange-chest-list[hidden]{display:none}.arrange-chest-items{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.arrange-chest-items li{align-items:center;gap:var(--s3);display:flex}.arrange-chest-art{flex:none;width:36px;height:36px}.arrange-chest-art svg{width:100%;height:100%;overflow:visible}.arrange-chest-name{min-width:0;font-size:var(--t-sm);flex:1}.arrange-chest-items .button-quiet{width:auto;padding:0 var(--s3)}.collection-arrange{align-items:center;gap:var(--s2);width:auto;margin:0 0 var(--s4);padding:0 var(--s4) 0 var(--s3);border:1px solid var(--float-edge);border-radius:var(--r-pill);color:var(--ink);display:inline-flex}.collection-arrange .icon{width:20px;height:20px}.season-shore{height:4%;top:57.4%;left:0;right:0}.season-shore svg{height:100%}.season-shore g{display:none}.scene[data-season=winter] .season-winter,.scene[data-season=spring] .season-spring,.scene[data-season=autumn] .season-autumn{display:inline}.scene .layer .season-flakes{display:none;position:absolute;inset:0}.scene[data-season=winter] .layer .season-flakes{display:block}.season-flakes i{opacity:.7;background:#f4f8ff;border-radius:50%;width:3px;height:3px;animation:16s linear infinite flake;position:absolute;top:-2%}.season-flakes i:first-child{animation-delay:0s;left:8%}.season-flakes i:nth-child(2){animation-delay:-4s;left:22%}.season-flakes i:nth-child(3){animation-delay:-9s;left:35%}.season-flakes i:nth-child(4){animation-delay:-2s;left:48%}.season-flakes i:nth-child(5){animation-delay:-12s;left:61%}.season-flakes i:nth-child(6){animation-delay:-6s;left:72%}.season-flakes i:nth-child(7){animation-delay:-14s;left:84%}.season-flakes i:nth-child(8){animation-delay:-8s;left:94%}@keyframes flake{to{transform:translate(14px,520px)}}.scene .layer .sky-light{opacity:0;height:30%;transition:opacity var(--dur-slow) var(--ease-out);background:linear-gradient(#ffb27a00,#ffb27a52);position:absolute;bottom:0;left:0;right:0}.scene[data-season=summer] .layer .sky-light{opacity:.6}.scene[data-light=true] .layer .sky-light{opacity:1}.scene .layer .sky-shower{display:none;position:absolute;inset:0}.scene[data-meteors=true] .layer .sky-shower{display:block}.sky-shower i{opacity:0;background:linear-gradient(90deg,#0000,#fff4d6);border-radius:1px;width:80px;height:1.5px;animation:5s linear infinite friday-fall;position:absolute;transform:rotate(-28deg)}.sky-shower i:first-child{top:10%;left:12%}.sky-shower i:nth-child(2){animation-delay:1s;top:6%;left:46%}.sky-shower i:nth-child(3){animation-delay:2s;top:22%;left:30%}.sky-shower i:nth-child(4){animation-delay:3s;top:16%;left:64%}.sky-shower i:nth-child(5){animation-delay:4s;top:30%;left:20%}.scene .layer .sky-fireworks{display:none;position:absolute;inset:0}.scene[data-new-year=true] .layer .sky-fireworks{display:block}.sky-fireworks i{background:radial-gradient(circle, #fff4d6e6 0 6%, #ffd98a00 7%), repeating-conic-gradient(#ffd98ad9 0 4deg, transparent 4deg 30deg);opacity:0;width:70px;height:70px;animation:firework 3.6s var(--ease-out) infinite;border-radius:50%;margin:-35px 0 0 -35px;position:absolute;transform:scale(.3);-webkit-mask:radial-gradient(circle,#0000 0 30%,#000 31% 50%,#0000 51%);mask:radial-gradient(circle,#0000 0 30%,#000 31% 50%,#0000 51%)}.sky-fireworks i:first-child{top:18%;left:24%}.sky-fireworks i:nth-child(2){animation-delay:1.2s;top:12%;left:62%}.sky-fireworks i:nth-child(3){animation-delay:2.4s;top:30%;left:44%}@keyframes firework{0%{opacity:0;transform:scale(.3)}15%{opacity:1}60%,to{opacity:0;transform:scale(1.4)}}.scene[data-sea-day=true] .dock-cove{opacity:.55;display:block}.scene[data-sea-day=true] .deep-whale{translate:0 -12%}@media (prefers-reduced-motion:reduce){.season-flakes i,.sky-shower i,.sky-fireworks i{animation:none}.sky-shower i,.sky-fireworks i{opacity:.5;transform:none}}.ceremony{z-index:12;justify-content:center;align-items:center;gap:var(--s4);padding:calc(var(--safe-top) + var(--s6)) var(--s6) calc(var(--safe-bottom) + var(--s6));text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.ceremony-dim{opacity:0;transition:opacity .6s var(--ease-out);background:#020409d6;position:absolute;inset:0}.ceremony.is-dark .ceremony-dim{opacity:1}.ceremony-stars{opacity:0;width:min(72%,300px);transition:opacity .7s var(--ease-out);position:relative;overflow:visible}.ceremony.is-lit .ceremony-stars{opacity:1}.ceremony-lines line{stroke:var(--star);stroke-width:.5px;opacity:.6}.ceremony-dots circle{fill:var(--star-pale);filter:drop-shadow(0 0 1.5px var(--star))}.ceremony-beam{transform-origin:50% 0;opacity:0;width:140px;height:64%;transition:transform .7s var(--ease-out), opacity .4s var(--ease-out);background:linear-gradient(#ffe9a800 0%,#ffe9a86b 55%,#ffe9a800 100%);margin-left:-70px;position:absolute;top:0;left:50%;transform:scaleY(0)}.ceremony.is-beam .ceremony-beam{opacity:1;transform:scaleY(1)}.ceremony-find{opacity:0;filter:drop-shadow(0 0 14px #ffd98acc);width:168px;height:168px;transition:opacity .6s var(--ease-out), transform .7s var(--ease-out);position:relative;transform:scale(.9)}.ceremony-find svg{width:100%;height:100%;overflow:visible}.ceremony.is-find .ceremony-find{opacity:1;transform:scale(1)}.ceremony-plaque{gap:var(--s1);padding:var(--s3) var(--s6);border-radius:var(--r);opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);background:linear-gradient(#ffd98a24,#ffd98a0a);border:1px solid #ffd98a8c;display:grid;position:relative;transform:translateY(8px)}.ceremony.is-plaque .ceremony-plaque{opacity:1;transform:none}.ceremony-kind{font-size:var(--t-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--star);margin:0}.ceremony-name{font-family:var(--font-display);font-size:var(--t-lg);color:var(--star-pale);margin:0;font-weight:700}.ceremony-name:focus{outline:none}.ceremony-date{font-size:var(--t-sm);color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0}.ceremony-actions{gap:var(--s2);margin-top:var(--s3);justify-content:center;display:flex}.ceremony-actions .button-quiet,.ceremony-actions .button-primary{width:auto;height:var(--touch);padding:0 var(--s4);font-size:var(--t-sm)}.legend-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.legend-tile{padding-bottom:var(--s6);position:relative}.legend-tile.is-unlocked{background:linear-gradient(#ffd98a1f,#02040966);border-color:#ffd98a99}.legend-date{font-size:var(--t-2xs);font-variant-numeric:tabular-nums;color:var(--star);white-space:nowrap}.legend-rare{width:20px;height:20px;margin-left:-10px;position:absolute;bottom:4px;left:50%}.legend-rare svg{width:100%;height:100%;overflow:visible}.legend-rare.is-locked{filter:grayscale()brightness(.25)contrast(1.4);opacity:.8}.nebula{pointer-events:none;position:absolute;inset:0;overflow:hidden}.nebula i{will-change:transform;border-radius:50%;animation:44s ease-in-out infinite alternate nebula-drift;position:absolute}.nebula i:first-child{background:radial-gradient(closest-side,#0fb5a838,#0fb5a812 55%,#0000);width:115%;height:52%;top:4%;left:-35%}.nebula i:nth-child(2){background:radial-gradient(closest-side,#7654c433,#7654c40f 55%,#0000);width:105%;height:58%;animation-duration:56s;animation-delay:-14s;top:26%;left:28%}.nebula i:nth-child(3){background:radial-gradient(closest-side,#3460d238,#3460d212 55%,#0000);width:92%;height:62%;animation-duration:64s;animation-delay:-32s;top:-24%;left:-6%}@keyframes nebula-drift{0%{transform:translate(-3%)scale(1)}to{transform:translate(4%,2%)scale(1.06)}}.moon{pointer-events:none;width:64px;height:64px;position:absolute;top:18%;right:10%}.moon svg{width:100%;height:100%;display:block}.shore-warmth{height:420%;opacity:var(--warmth,.25);pointer-events:none;transition:opacity 2s var(--ease);background:radial-gradient(60% 50% at 30% 100%,#ffd2826b,#ffb46e24 45%,#0000 75%);position:absolute;bottom:30%;left:0;right:0}.scene{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.scene[data-session=true]{transform:translateY(-12%)}@media (prefers-reduced-motion:reduce){.nebula i{animation:none}.scene,.scene[data-session=true]{transition:none;transform:none}}.stones{z-index:3;pointer-events:none;position:absolute;inset:0}.stone{pointer-events:auto;touch-action:manipulation;-webkit-touch-callout:none;width:54px;height:46px;margin:-23px 0 0 -27px;position:absolute}.stone[data-world=garden]{margin-top:-40px}.stone-body{display:block;position:absolute;inset:0}.stone-body svg{width:100%;height:100%;display:block;overflow:visible}.stone-glow{pointer-events:none;background:radial-gradient(closest-side,#ffbe7899,#ffaa6e2e 55%,#0000);border-radius:50%;animation:2.8s ease-in-out infinite alternate stone-breathe;position:absolute;inset:-55%}.stone[data-world=sky] .stone-glow{background:radial-gradient(closest-side,#ffd98a6b,#0000)}.stone[data-world=sea] .stone-body{animation:4.5s ease-in-out infinite stone-bob}.stone[data-world=sky] .stone-body{animation:6s ease-in-out infinite stone-hover}@keyframes stone-breathe{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes stone-bob{0%,to{transform:translate(0,0)rotate(-4deg)}50%{transform:translateY(4px)rotate(4deg)}}@keyframes stone-hover{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}.stone.is-falling{animation:1.1s cubic-bezier(.55,0,.9,.4) both stone-fall}@keyframes stone-fall{0%{opacity:0;transform:translate(-90px,-60vh)rotate(-40deg)}15%{opacity:1}to{opacity:1;transform:none}}.stone .crack{fill:none;stroke:#ffd9a8;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;filter:drop-shadow(0 0 2px #ffb46ee6);transition:stroke-dashoffset .22s ease-out}.stone .stone-core{opacity:0;transition:opacity .25s}.stone.is-c1 .crack-1,.stone.is-c2 .crack-2,.stone.is-c3 .crack-3{stroke-dashoffset:0}.stone.is-c1 .stone-core{opacity:.35}.stone.is-c2 .stone-core{opacity:.65}.stone.is-c3 .stone-core{opacity:1}.stone-body.is-shake{animation:.26s ease-in-out stone-shake}@keyframes stone-shake{20%{transform:translate(-3px)rotate(-5deg)}45%{transform:translate(3px)rotate(4deg)}70%{transform:translate(-2px)rotate(-2deg)}}.stone .shard{opacity:0}.stone.is-burst .stone-rock,.stone.is-burst .crack,.stone.is-burst .stone-core,.stone.is-burst .stone-glow{opacity:0;transition:opacity .15s}.stone.is-burst .shard{transform-box:fill-box;transform-origin:50%;animation:.7s cubic-bezier(.2,.8,.2,1) both shard-fly}@keyframes shard-fly{0%{opacity:1;transform:translate(0)rotate(0)}70%{opacity:.9}to{opacity:0;transform:translate(var(--sx), var(--sy)) rotate(var(--sr))}}.stone-flash{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#fff6dcf2,#ffbe7873 35%,#3ef2e01f 65%,#0000);border-radius:50%;width:220px;height:220px;margin:-110px 0 0 -110px;position:absolute;top:50%;left:50%}.stone.is-burst .stone-flash{animation:.6s ease-out both stone-flash}@keyframes stone-flash{0%{opacity:0;transform:scale(.4)}20%{opacity:1}to{opacity:0;transform:scale(1.35)}}.collectible.is-found{z-index:4;animation:2.6s cubic-bezier(.3,1.2,.4,1) both found}@keyframes found{0%{transform:translate(-50%, var(--anchor-y)) translate(var(--from-x), var(--from-y)) scale(.2, .2)}10%{transform:translate(-50%, var(--anchor-y)) translate(var(--from-x), var(--from-y)) scale(1.9, 1.2)}18%{transform:translate(-50%, var(--anchor-y)) translate(var(--from-x), var(--from-y)) scale(1.4, 1.75)}26%,62%{transform:translate(-50%, var(--anchor-y)) translate(var(--from-x), var(--from-y)) scale(1.6)}to{transform:translate(-50%, var(--anchor-y)) scale(1)}}.find-glow{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#fff4d68c,#0000);border-radius:50%;animation:2.6s ease-out both find-glow;position:absolute;inset:-60%}@keyframes find-glow{15%{opacity:1;transform:scale(.9)}45%{transform:scale(1.12)}62%{opacity:.8;transform:scale(.95)}to{opacity:0}}.find-shine{pointer-events:none;border-radius:50%;position:absolute;inset:-10%;overflow:hidden;-webkit-mask-image:radial-gradient(circle,#000 50%,#0000 72%);mask-image:radial-gradient(circle,#000 50%,#0000 72%)}.find-shine:before{content:"";background:linear-gradient(105deg,#0000,#ffffffbf 50%,#0000);width:45%;animation:2.6s ease-in-out both find-shine;position:absolute;top:-20%;bottom:-20%;left:0;transform:translate(-140%)}@keyframes find-shine{0%,28%{transform:translate(-140%)}55%,to{transform:translate(260%)}}.collectible[data-rarity=rare] svg{filter:drop-shadow(0 0 5px #3ef2e0bf)}.collectible[data-rarity=legendary] svg{filter:drop-shadow(0 0 4px #ffd98af2)drop-shadow(0 0 12px #ffb46e99)}.legend-sparkle{opacity:0;pointer-events:none;background:radial-gradient(circle,#fff4d6 0 30%,#ffd98a00 70%);border-radius:50%;width:9px;height:9px;animation:2.6s ease-in-out infinite legend-twinkle;position:absolute}.legend-sparkle:first-of-type{top:22%;left:14%}.legend-sparkle:nth-of-type(2){animation-delay:.9s;top:8%;left:62%}.legend-sparkle:nth-of-type(3){animation-delay:1.7s;top:58%;left:80%}@keyframes legend-twinkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.stone-glow,.stone-body,.stone.is-falling,.collectible.is-found,.find-glow,.find-shine:before{animation:none}.find-glow,.find-shine{display:none}.legend-sparkle{opacity:.6;animation:none}}.dial{aspect-ratio:1;width:min(260px,72vw);margin:0 auto var(--s6);touch-action:none;cursor:grab;border-radius:50%;position:relative}.dial:focus-visible{outline-offset:6px}.dial>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dial-track,.dial-fill{fill:none;stroke-linecap:round;stroke-width:14px}.dial-track{stroke:#e8f0f51a}.dial-fill{stroke:url(#dial-light);filter:drop-shadow(0 0 6px #3ef2e073)}.dial-tick{stroke:#e8f0f540;stroke-width:2px;stroke-linecap:round}.dial-knob{fill:var(--star-pale);stroke:var(--star);stroke-width:3px;filter:drop-shadow(0 0 8px #ffd98ab3)}.dial-centre{pointer-events:none;align-content:center;place-items:center;display:grid;position:absolute;inset:22%}.dial-creature{width:64px;height:64px}.dial-creature svg{width:100%;height:100%;overflow:visible}.dial-minutes{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 100;font-weight:700;font-size:var(--t-dial);font-variant-numeric:tabular-nums;color:var(--star-pale);line-height:1}.dial-unit{font-size:var(--t-sm);color:var(--ink-dim)}.session{z-index:9;padding:calc(var(--safe-top) + var(--s4)) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s6)) calc(var(--safe-left) + var(--s4));cursor:default;grid-template-rows:auto 1fr auto;justify-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.session-deep{z-index:-1;transition:transform var(--dur-session-out) var(--ease-drawer);background:radial-gradient(120% 50% at 50% 0,#3ef2e01a,#0000 60%),linear-gradient(#072a45 0%,#041a30 38%,#020b18 100%);position:absolute;inset:0;transform:translateY(100%)}.session.is-open .session-deep{transition:transform var(--dur-session-in) cubic-bezier(.16, 1, .3, 1);transform:none}:where(.session)>:not(.session-deep){transition:opacity .2s var(--ease-out)}.session:not(.is-open):not(.is-rising)>:not(.session-deep){opacity:0}.session.is-rising .session-deep{transition-duration:1.2s;transform:translateY(100%)}.session-deep i{transform-origin:50% 0;background:linear-gradient(#aaebff1f,#0000);width:18%;height:90%;animation:14s ease-in-out infinite alternate deep-sway;position:absolute;top:-20%;transform:rotate(12deg)}.session-deep i:first-child{left:18%}.session-deep i:nth-child(2){width:12%;animation-duration:18s;animation-delay:-5s;left:46%}.session-deep i:nth-child(3){width:22%;animation-duration:21s;animation-delay:-9s;left:70%}@keyframes deep-sway{0%{opacity:.6;transform:rotate(8deg)}to{opacity:1;transform:rotate(16deg)}}.session-deep b{background:#c9fbf58c;border-radius:50%;width:3px;height:3px;animation:22s linear infinite mote-rise;position:absolute;bottom:-4%}.session-deep b:first-of-type{left:22%}.session-deep b:nth-of-type(2){animation-duration:28s;animation-delay:-7s;left:41%}.session-deep b:nth-of-type(3){animation-delay:-14s;left:63%}.session-deep b:nth-of-type(4){animation-duration:31s;animation-delay:-3s;left:84%}@keyframes mote-rise{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}to{opacity:0;transform:translate(12px,-105vh)}}#app.is-behind-session{opacity:0}#app{transition:opacity var(--dur-slow) var(--ease)}.session-top{justify-self:end;gap:var(--s2);display:flex}.session-sound,.session-time-toggle{font-size:var(--t-xs)}.session-top,.session-clock,.session-line,.session-name,.session-actions,.session-ring{transition:opacity var(--dur) var(--ease)}.session-centre{align-self:center;justify-items:center;gap:var(--s2);text-align:center;display:grid}.session-creature{width:150px;height:150px;margin-bottom:var(--s8);transform:scale(var(--grow,.55));transform-origin:50% 60%;transition:transform 2.4s var(--ease), opacity var(--dur) var(--ease);position:relative}.session-breathe{width:100%;height:100%;animation:4.2s ease-in-out infinite breathe;position:relative}.session-breathe svg{width:100%;height:100%;overflow:visible}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04,.97)}}.session .eyes{transform-box:fill-box;transform-origin:50%;animation:6.5s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.session-creature.is-asleep .session-breathe{animation-duration:7s}.session-creature.is-asleep .eyes{animation:none;transform:scaleY(.12)}.session[data-state=paused] .session-ring{opacity:.35}.session[data-away=true] .session-creature{opacity:.9}.session-ring{width:144%;height:144%;position:absolute;inset:-22%;overflow:visible;transform:rotate(-90deg)}.session-ring circle{fill:none;stroke:#e8f0f514;stroke-width:1.2px}.session-ring .session-ring-fill{stroke:#ffd98a8c;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;filter:drop-shadow(0 0 3px #ffd98a99)}.session-clock{min-height:1.2em;font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 100;font-weight:400;font-size:var(--t-ring);font-variant-numeric:tabular-nums;color:var(--star-pale);opacity:0;line-height:1}.session[data-time=shown] .session-clock{opacity:.92}.session-line{min-height:1.4em;color:var(--ink);margin:0}.session-name{color:var(--ink-dim);font-size:var(--t-sm)}.session-actions{justify-content:center;gap:var(--s4);width:min(320px,100%);display:flex}.session-quiet{min-width:var(--touch);height:var(--touch);padding:0 var(--s4);border-radius:var(--r-pill);border:1px solid var(--card-edge);color:var(--ink-dim);font-size:var(--t-sm);transition:transform var(--dur-press) var(--ease-out), color var(--dur-fast) var(--ease)}.session-quiet:active{transform:scale(var(--press-scale))}.session.is-rising .session-top,.session.is-rising .session-clock,.session.is-rising .session-line,.session.is-rising .session-name,.session.is-rising .session-actions,.session.is-rising .session-ring{opacity:0;pointer-events:none}.session-creature.is-going-home{transform:translate3d(var(--home-x,0), var(--home-y,-40vh), 0) scale(var(--home-scale,.3));transition:transform .8s cubic-bezier(.32,.72,0,1)}.session[data-world=sea] .session-creature.is-going-home{transition-timing-function:cubic-bezier(.34,1.3,.64,1)}.session[data-world=garden] .session-creature.is-going-home .session-breathe{animation:.8s ease-out bloom-home}@keyframes bloom-home{40%{transform:scale(1.3)}to{transform:scale(1)}}.session-creature.is-home{opacity:0}#frame[data-instant=true] .scene,#frame[data-instant=true] #app,#frame[data-instant=true] .session,#frame[data-instant=true] .session *{transition:none!important}@media (prefers-reduced-motion:reduce){.session-breathe,.session .eyes,.session-deep i,.session-deep b{animation:none}.session-deep,.session.is-rising .session-deep{transition:opacity var(--dur) var(--ease);transform:none}.session.is-rising .session-deep{opacity:0}.session-creature.is-going-home{transform:scale(var(--grow,.55));opacity:0}}.grain{z-index:2;background-image:var(--grain);mix-blend-mode:overlay;opacity:.07;pointer-events:none;background-size:160px 160px;position:absolute;inset:0}.surface{will-change:transform;pointer-events:none;width:200%;height:22px;animation:38s linear infinite surface-drift;position:absolute;top:64%;left:0}.surface svg{width:100%;height:100%;display:block}@keyframes surface-drift{to{transform:translate(-50%)}}.shafts{pointer-events:none;height:80%;position:absolute;top:4%;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0%,#00000080 45%,#0000 85%);mask-image:linear-gradient(#000 0%,#00000080 45%,#0000 85%)}.shafts i{transform-origin:50% 0;background:linear-gradient(90deg,#0000,#aaebff12 40%,#aaebff1c 50%,#aaebff12 60%,#0000);width:14%;height:130%;animation:17s ease-in-out infinite alternate shaft-sway;position:absolute;top:-10%;transform:rotate(16deg)}.shafts i:first-child{width:9%;left:52%}.shafts i:nth-child(2){animation-duration:21s;animation-delay:-6s;left:64%}.shafts i:nth-child(3){width:7%;animation-duration:15s;animation-delay:-3s;left:78%}.shafts i:nth-child(4){opacity:.6;width:6%;animation-duration:24s;left:36%}.shafts i:nth-child(5){opacity:.8;width:11%;animation-duration:19s;animation-delay:-11s;left:88%}@keyframes shaft-sway{0%{opacity:.6;transform:rotate(13deg)}to{opacity:1;transform:rotate(20deg)}}.caustics{opacity:.1;pointer-events:none;height:40%;position:absolute;top:4%;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.caustics i{background-image:var(--caustics);will-change:transform;background-size:256px 256px;animation:48s linear infinite caustics-drift;position:absolute;inset:-256px 0 0 -256px}@keyframes caustics-drift{to{transform:translate(256px,128px)}}.deep{pointer-events:none;position:absolute;inset:0;overflow:hidden}.deep-whale{color:#030a18;will-change:transform;position:absolute;left:0}.deep-whale svg{width:100%;height:auto;display:block}.deep-whale.is-far{opacity:.55;width:46%;animation:150s linear -40s infinite deep-swim;top:42%}.deep-whale.is-near{opacity:.7;width:72%;animation:210s linear -150s infinite deep-swim;top:58%}@keyframes deep-swim{0%{transform:translate(-110%)}to{transform:translate(240%,-6%)}}.kelp{pointer-events:none;height:110px;position:absolute;bottom:0;left:0;right:0}.kelp span{transform-origin:50% 100%;width:18px;animation:7s ease-in-out infinite alternate kelp-sway;position:absolute;bottom:-6px}.kelp svg{width:100%;height:100%;display:block}@keyframes kelp-sway{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}.moon:before{content:"";pointer-events:none;background:radial-gradient(circle,#fff4d629,#fff4d60d 40%,#0000 70%);border-radius:50%;width:240px;height:240px;margin:-120px 0 0 -120px;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:reduce){.surface,.shafts i,.caustics i,.deep-whale,.kelp span{animation:none}.deep{display:none}}.row-group{margin-bottom:var(--s3);border-radius:var(--r);background:#e8f0f50d;overflow:hidden}.menu-row{align-items:center;gap:var(--s3);width:100%;min-height:calc(var(--touch) + 4px);padding:0 var(--s4) 0 var(--s3);color:var(--ink);font-size:var(--t-md);text-align:left;display:flex}.row-group .menu-row:focus-visible{outline-offset:-2px;border-radius:var(--r)}.row-group .menu-row+.menu-row{border-top:1px solid #e8f0f512}.row-icon{width:30px;height:30px;color:var(--glow);background:#3ef2e01f;border-radius:50%;flex:none;place-items:center;display:grid}.row-icon svg{width:17px;height:17px}.row-label{flex:1}.menu-row:after{content:"";opacity:.35;border-top:1.75px solid;border-right:1.75px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}.menu-row.is-danger{width:auto;min-height:var(--touch);padding:0 var(--s2);color:#ff7a72;font-size:var(--t-sm)}.menu-row.is-danger:after{content:none}.menu-row.is-danger .row-icon{color:#ff7a72;background:#ff7a721f;width:26px;height:26px}.log-head{grid-template-columns:var(--touch) 1fr var(--touch);align-items:center;gap:var(--s2);display:grid}.log-title{min-height:var(--touch);padding:0 var(--s3);font-family:var(--font-display);font-weight:700;font-size:var(--t-md);color:var(--star-pale);justify-self:center;place-items:center;display:grid}.log-head .icon-button:disabled{opacity:.25}.log-summary{margin:var(--s2) 0 var(--s4);text-align:center;color:var(--ink-dim);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.log-weekdays,.log-grid{gap:var(--s1);grid-template-columns:repeat(7,1fr);display:grid}.log-weekdays{margin-bottom:var(--s1);text-align:center;font-size:var(--t-xs);color:var(--ink-dim)}.log-cell{aspect-ratio:1;min-width:0;min-height:var(--touch);border-radius:var(--r);color:var(--ink-dim);font-size:var(--t-xs);font-variant-numeric:tabular-nums;grid-template-rows:1fr auto;place-items:center;padding:2px 0 4px;display:grid;position:relative}button.log-cell{background:#e8f0f508}.log-cell.is-future{opacity:.65}.log-cell[data-today=true]{box-shadow:inset 0 0 0 1px var(--card-edge)}.log-num{grid-area:1/1}.log-star{opacity:0;border-radius:50%;grid-area:1/1;width:22px;height:22px}.log-cell[data-star=true] .log-star{opacity:1;background:radial-gradient(circle,#ffd98a8c,#ffd98a00 70%)}.log-cell[data-star=true] .log-num{color:var(--star-pale);font-weight:700}.log-dots{align-items:center;gap:2px;height:5px;display:flex}.log-dots i{background:var(--lantern,var(--star));width:4px;height:5px;box-shadow:0 0 4px var(--lantern,var(--star));border-radius:50% 50% 45% 45%}.log-dots i.is-dim{opacity:.35;box-shadow:none}.log-dots b{font-size:var(--t-2xs);color:var(--ink-dim);line-height:1}.log-year{gap:var(--s3);margin-top:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}.log-month{gap:var(--s1);padding:var(--s2);border-radius:var(--r);color:var(--ink);font-size:var(--t-xs);text-align:left;background:#e8f0f508;display:grid}.log-month:disabled{opacity:.3}.log-month-dots{grid-template-columns:repeat(7,6px);gap:3px;display:grid}.log-month-dots i{background:#e8f0f514;border-radius:50%;width:6px;height:6px}.log-month-dots i.is-pad{visibility:hidden}.log-month-dots i.is-star{background:var(--star);box-shadow:0 0 3px #ffd98a99}.log-day{margin:var(--s4) 0 0;gap:var(--s2);padding:0;list-style:none;display:grid}.log-day li{min-height:var(--touch);align-items:center;gap:var(--s2);padding:0 var(--s3);border-radius:var(--r);background:#e8f0f50a;display:flex}.log-session.is-left{color:var(--ink-dim)}.log-lantern{background:var(--star);width:7px;height:9px;box-shadow:0 0 6px var(--star);border-radius:50% 50% 45% 45%}.log-session.is-left .log-lantern{opacity:.35;box-shadow:none}.log-nothing{margin:var(--s6) 0 0;text-align:center;color:var(--ink-dim)}.log-dots i.is-soft{opacity:.6;box-shadow:0 0 2px var(--lantern,var(--star))}.log-session.is-soft .log-lantern{opacity:.6}.log-lantern{background:var(--lantern,var(--star));box-shadow:0 0 6px var(--lantern,var(--star))}.log-legend{gap:var(--s1);margin-top:var(--s4);padding-top:var(--s3);font-size:var(--t-xs);color:var(--ink-dim);border-top:1px solid #e8f0f514;display:grid}.log-legend p{align-items:center;gap:var(--s2);margin:0;display:flex}.legend-star{width:10px;color:var(--star);text-align:center;text-shadow:0 0 6px #ffd98ab3}.legend-lantern{background:var(--star);width:6px;height:7px;box-shadow:0 0 5px var(--star);border-radius:50% 50% 45% 45%;margin:0 2px}.legend-lantern.is-soft{opacity:.6}.legend-lantern.is-dim{opacity:.3;box-shadow:none}.legend-colors{gap:var(--s1) var(--s3);margin-top:var(--s1);color:var(--ink);flex-wrap:wrap;display:flex}.legend-thing{align-items:center;gap:var(--s1);display:inline-flex}.legend-thing .thing-mark{margin-right:0}.log-cell[data-quiet=true] .log-star{background:0 0;border-radius:50%;width:9px;height:9px;display:block;box-shadow:inset -2.5px 0 #fff4d6cc}.legend-moon{width:10px;height:10px;margin-right:var(--s2);vertical-align:-1px;border-radius:50%;display:inline-block;box-shadow:inset -2.5px 0 #fff4d6cc}.log-good span{color:var(--star);font-size:var(--t-xs)}.log-tide{margin:calc(-1 * var(--s2)) auto var(--s4);display:block}#app.is-behind-intro{opacity:0}.intro{z-index:12;padding:calc(var(--safe-top) + var(--s4)) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s8)) calc(var(--safe-left) + var(--s4));cursor:pointer;grid-template-rows:auto 1fr auto auto;justify-items:center;display:grid;position:absolute;inset:0}.intro-skip{z-index:3;top:calc(var(--safe-top) + var(--s2));right:calc(var(--safe-right) + var(--s2));min-width:var(--touch);height:var(--touch);padding:0 var(--s4);border-radius:var(--r-pill);color:var(--ink-dim);font-size:var(--t-sm);font-weight:700;position:absolute}.intro-day{top:calc(var(--safe-top) + var(--s4));left:calc(var(--safe-left) + var(--s4));font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);font-variant-numeric:tabular-nums;color:var(--star-pale);text-shadow:0 0 12px #020409e6;transition:opacity var(--dur) var(--ease);position:absolute}.intro:not([data-beat=promise]) .intro-day,.intro:not([data-beat=promise]) .intro-creatures,.intro[data-top=true] .intro-creatures{opacity:0}.intro-creatures{pointer-events:none;height:72px;transition:opacity var(--dur) var(--ease);position:absolute;top:47%;left:0;right:0}.intro-creature{width:64px;height:64px;margin-left:-32px;position:absolute;top:0}.intro-creature svg{filter:brightness(0)drop-shadow(0 0 1.5px #c9fbf5d9);width:100%;height:100%;overflow:visible}.intro-line,.intro-truth,.intro-start{z-index:1;position:relative}.intro-line,.intro-truth{pointer-events:none}.intro-line{margin:0 0 var(--s8);font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);text-align:center;text-wrap:balance;color:var(--star-pale);text-shadow:0 0 14px #020409f2;grid-row:3}.intro-truth{max-width:340px;font-family:var(--font-display);font-size:var(--t-md);text-align:center;text-wrap:balance;color:var(--ink);text-shadow:0 0 14px #020409f2;grid-area:2/1;align-self:center;line-height:1.45;display:grid}.intro-half{gap:var(--s2);grid-area:1/1;align-content:center;display:grid}.intro-truth[data-half="2"] .intro-half:first-child{opacity:0}.intro-truth p{margin:0}.intro-truth span,.intro-line span{will-change:opacity, transform}.intro-truth span{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--i) * var(--word-ms));display:inline-block;transform:translateY(8px)}.intro-truth p.is-on span{opacity:1;transform:none}.intro-start{opacity:0;visibility:hidden;width:min(320px,100%);transition:opacity var(--dur-start) var(--ease-out), transform var(--dur-start) var(--ease-out), visibility 0s linear var(--dur-start);grid-row:4;transform:translateY(12px)}.intro[data-beat=start] .intro-start{opacity:1;visibility:visible;transition:opacity var(--dur-start) var(--ease-out), transform var(--dur-start) var(--ease-out), visibility 0s;transform:none}.intro-veil{background:var(--abyss);opacity:0;pointer-events:none;transition:opacity .25s linear;position:absolute;inset:0}.intro-veil.is-on{opacity:1}@media (prefers-reduced-motion:reduce){.intro-truth p{transform:none}}.intro-line span{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * var(--word-ms));display:inline-block;transform:translateY(8px)}.intro[data-line=on] .intro-line span{opacity:1;transform:none}.intro[data-line=off] .intro-line span{opacity:0;transition-duration:.7s;transition-delay:0s}.intro-calf{opacity:0;width:128px;transition:opacity 1.2s var(--ease), transform 1.6s cubic-bezier(.34, 1.2, .64, 1);pointer-events:none;margin-left:-64px;position:absolute;top:70%;left:50%;transform:translateY(24px)}.intro:not([data-beat=promise]) .intro-calf{opacity:1;transform:none}.intro-calf-body{animation:5s ease-in-out infinite calf-breathe;display:block}.intro-calf svg{width:100%;height:auto;display:block}@keyframes calf-breathe{50%{transform:translateY(-2px)scale(1.02,.98)}}.intro[data-calf=up] .intro-calf,.intro[data-calf=blow] .intro-calf{transform:translateY(-8.5vh)rotate(-6deg)}.intro-spout{position:absolute;top:-6px;left:76%}.intro-spout i{opacity:0;background:#c9fbf5e6;border-radius:50%;width:5px;height:5px;position:absolute}.intro[data-calf=blow] .intro-spout i{animation:1.6s cubic-bezier(.22,1,.36,1) forwards spout}.intro[data-calf=blow] .intro-spout i:nth-child(2){--spout-x:-10px;animation-delay:90ms}.intro[data-calf=blow] .intro-spout i:nth-child(3){--spout-x:10px;animation-delay:.16s}@keyframes spout{0%{opacity:0;transform:translate(0,0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate3d(var(--spout-x,0), -34px, 0) scale(1)}}.intro-star{opacity:0;width:34px;height:34px;transition:opacity 1.2s var(--ease), transform 1.6s cubic-bezier(.34, 1.4, .64, 1);pointer-events:none;margin:-17px 0 0 -17px;position:absolute;top:15%;left:50%;transform:scale(.6)}.intro-star:before{content:"";background:radial-gradient(circle,#ffd98a8c,#ffd98a00 65%);border-radius:50%;position:absolute;inset:-22px}.intro-star:after{content:"";clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px #ffd98a);background:#fff4d6;position:absolute;inset:0}.intro[data-star=on] .intro-star{opacity:1;animation:3.6s ease-in-out 1.6s infinite star-breathe;transform:none}.intro-star i{opacity:0;border:1.5px solid #ffd98ad9;border-radius:50%;position:absolute;inset:-6px}.intro[data-star=on] .intro-star i{animation:star-ring 1.4s var(--ease-out) 1}@keyframes star-ring{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(3.2)}}@keyframes star-breathe{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.intro-line span,.intro-truth p{transition-property:opacity;transform:none}.intro-calf,.intro[data-calf=up] .intro-calf,.intro[data-calf=blow] .intro-calf{transform:none}.intro-calf-body,.intro[data-calf=blow] .intro-spout i,.intro[data-star=on] .intro-star{animation:none}.intro-star{transform:none}}.intro-stage{pointer-events:none;position:absolute;inset:0}.intro-light{opacity:0;transition:opacity 1.6s var(--ease-out);position:absolute;inset:0}.intro-light[data-light=cold]{background:#02061266}.intro-light[data-light=dawn]{background:radial-gradient(130% 50% at 50% var(--horizon), #ffbe7842, #ffbe7800 70%)}.intro-light[data-light=warm]{background:radial-gradient(100% 55% at 50% 12%,#ffd98a29,#ffd98a00 72%)}.intro-light[data-light=gold]{background:radial-gradient(60% 34% at 50% 15%,#ffecbe4d,#ffecbe00 75%)}.intro[data-light=cold] .intro-light[data-light=cold],.intro[data-light=warm] .intro-light[data-light=dawn],.intro[data-light=warm] .intro-light[data-light=warm],.intro[data-light=gold] .intro-light[data-light=dawn],.intro[data-light=gold] .intro-light[data-light=warm],.intro[data-light=gold] .intro-light[data-light=gold]{opacity:1}.intro[data-light=dawn] .intro-light[data-light=dawn]{opacity:.65}.intro-sky i{background:var(--star-pale);opacity:0;width:4px;height:4px;transition:opacity .5s var(--ease-out) var(--d), transform .7s var(--ease-out) var(--d);border-radius:50%;margin:-2px 0 0 -2px;position:absolute;transform:scale(.6);box-shadow:0 0 6px 1px #fff4d6b3}.intro-sky i.is-on{opacity:.9;transform:none}.intro[data-light=gold] .intro-sky i.is-on{animation:sky-flare .9s var(--ease-out) calc(var(--d) * 2) 1}@keyframes sky-flare{40%{opacity:1;transform:scale(1.8)}}.intro[data-calf=blow] .intro-calf-body{animation:calf-joy .9s var(--ease-out) 1, calf-breathe 5s ease-in-out .9s infinite}@keyframes calf-joy{35%{transform:translateY(-12px)rotate(-8deg)}70%{transform:translateY(2px)rotate(2deg)}}.intro-lids{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.intro-lids i{background:var(--abyss);height:58%;box-shadow:0 0 36px 18px var(--abyss);transition:transform .52s var(--ease-in-out);position:absolute;left:-10%;right:-10%}.intro-lids i:first-child{border-radius:0 0 50% 50%/0 0 18% 18%;top:0;transform:translateY(calc(-100% - 64px))}.intro-lids i:last-child{border-radius:50% 50% 0 0/18% 18% 0 0;bottom:0;transform:translateY(calc(100% + 64px))}.intro[data-lids=shut] .intro-lids i{transition-duration:.26s;transform:none}.intro[data-lids=sleep] .intro-lids i{transition-duration:.7s;transform:none}.intro[data-lids=peek] .intro-lids i:first-child{transition-duration:.3s;transform:translateY(-42%)}.intro[data-lids=peek] .intro-lids i:last-child{transition-duration:.3s;transform:translateY(42%)}@media (prefers-reduced-motion:reduce){.intro-lids i,.intro-lids i:first-child,.intro-lids i:last-child,.intro[data-lids] .intro-lids i{opacity:0;transition:opacity .4s linear;transform:none}.intro[data-lids=shut] .intro-lids i,.intro[data-lids=sleep] .intro-lids i{opacity:1}.intro[data-lids=peek] .intro-lids i{opacity:.6}.intro-truth span,.intro-start,.intro-sky i{transition-property:opacity;transform:none}.intro[data-light=gold] .intro-sky i.is-on,.intro[data-star=on] .intro-star i,.intro[data-calf=blow] .intro-calf-body{animation:none}}.intro-begin{z-index:1;align-self:center;justify-items:center;gap:var(--s3);padding:var(--s6) var(--s8);border-radius:var(--r);color:var(--star-pale);text-align:center;grid-area:2/1;display:none;position:relative}.intro[data-beat=gate] .intro-begin{display:grid}.intro-begin:focus-visible{outline-offset:4px;border-radius:var(--r);outline:1.5px solid #fff4d680}.intro[data-beat=gate] .intro-calf{opacity:0}.intro-begin-bubble{background:radial-gradient(circle at 35% 30%,#fff4d629,#3ef2e00f 60%,#3ef2e000 72%);border:1.5px solid #fff4d68c;border-radius:50%;width:56px;height:56px;animation:3.2s ease-in-out infinite begin-breathe;position:relative;box-shadow:0 0 28px #3ef2e02e}.intro-begin-bubble:before{content:"";border:2px solid #0000;border-top-color:#fff4d680;border-radius:50%;position:absolute;inset:7px;transform:rotate(-40deg)}.intro-begin-bubble:after{content:"";width:9px;height:9px;animation:begin-rise 3.2s var(--ease-out) infinite;border:1.5px solid #fff4d6bf;border-radius:50%;position:absolute;top:-3px;right:-3px}@keyframes begin-breathe{50%{transform:scale(1.05)}}@keyframes begin-rise{0%{opacity:0;transform:translateY(6px)scale(.7)}25%{opacity:1}to{opacity:0;transform:translate(4px,-22px)scale(1)}}.intro-begin-title{text-wrap:balance;font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);text-shadow:0 0 14px #020409f2}.intro-begin-line{font-size:var(--t-sm);color:var(--ink-dim)}@media (prefers-reduced-motion:reduce){.intro-begin-bubble,.intro-begin-bubble:after{animation:none}}:root{--lab-h:calc(36px + env(safe-area-inset-top,0px))}html[data-lab=true]{--safe-top:0px}html[data-lab=true] #frame{top:var(--lab-h)}.lab-bar{z-index:100;width:min(100%, var(--frame-w));height:var(--lab-h);padding:env(safe-area-inset-top,0px) var(--s2) 0;justify-content:space-between;align-items:center;gap:var(--s2);color:var(--sun);font-size:var(--t-xs);letter-spacing:.04em;background:repeating-linear-gradient(-45deg,#f2c94c29 0 8px,#f2c94c0f 8px 16px),#120f05;border-bottom:1px solid #f2c94c73;font-weight:700;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.lab-bar button{height:100%;min-width:var(--touch);padding:0 var(--s2);color:inherit}.lab-bar-exit{border-left:1px solid #f2c94c4d}.lab-note{color:var(--sun);font-size:var(--t-sm);margin:0}.lab-group{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.lab-group .chip:disabled{opacity:.4}.lab-exit{margin-top:var(--s4)}.menu-version{min-width:var(--touch);min-height:var(--touch);margin:var(--s4) auto 0;padding:0 var(--s3);color:var(--ink-dim);font-size:var(--t-xs);display:block}.card-just{z-index:3;width:max-content;max-width:160px;padding:var(--s1) var(--s3);border-radius:var(--r-pill);background:var(--float-bg);border:1px solid var(--float-edge);color:var(--star-pale);font-size:var(--t-xs);pointer-events:none;position:absolute;top:36px;left:50%;transform:translate(-50%)}.scene-rain{z-index:2;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease);position:absolute;inset:0}.scene[data-soft=true] .scene-rain{opacity:1}.scene-rain i{left:var(--x);top:calc(var(--horizon) - 22%);opacity:0;width:1.5px;height:14px;animation:rain-fall var(--t) linear var(--d) infinite;background:linear-gradient(#c8ecff00,#c8ecff8c);border-radius:1px;position:absolute}@keyframes rain-fall{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}to{transform:translate3d(-6px, calc(var(--rain-drop,150px) * var(--scene-scale,1)), 0);opacity:0}}.scene-rain b{left:var(--x);top:calc(var(--horizon) + 2%);opacity:0;width:22px;height:6px;animation:rain-ring 2.6s var(--ease-out) var(--d) infinite;border:1px solid #c8ecff73;border-radius:50%;margin-left:-11px;position:absolute}@keyframes rain-ring{0%{opacity:0;transform:scale(.3)}20%{opacity:.8}to{opacity:0;transform:scale(1.4)}}.scene-soft{z-index:2;pointer-events:none;background:radial-gradient(90% 40% at 50% var(--horizon), #ffc48c29, #ffc48c00 70%);opacity:0;transition:opacity var(--dur-slow) var(--ease);position:absolute;inset:0}.scene[data-soft=true] .scene-soft{opacity:1}.scene-late{z-index:2;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease);background:radial-gradient(80% 50% at 50% 70%,#ffaa6412,#ffaa6400),#0204094d;position:absolute;inset:0}.scene[data-late=true] .scene-late{opacity:1}.moon-hit{z-index:3;pointer-events:auto;border-radius:50%;width:72px;height:72px;position:absolute;top:calc(18% - 4px);right:calc(10% - 4px)}.moon-hit[hidden]{display:none}.bottle{z-index:3;right:12%;top:min(calc(var(--horizon) - 5%), calc(100% - var(--ui-h,0px) - 56px));width:calc(48px * var(--scene-scale,1));min-width:var(--touch);min-height:var(--touch);pointer-events:auto;padding:0;position:absolute}.bottle[hidden]{display:none}.bottle svg{width:100%;height:auto;animation:3.6s ease-in-out infinite bottle-bob;display:block}@keyframes bottle-bob{50%{transform:translateY(3px)rotate(4deg)}}.pets{z-index:3;pointer-events:none;position:absolute;inset:0}.scene[data-arranging=true] .pets,.scene[data-silhouette=true] .pets{visibility:hidden}.pet{left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);width:calc(44px * var(--scene-scale,1));min-width:var(--touch);min-height:var(--touch);pointer-events:auto;touch-action:manipulation;padding:0;position:absolute;transform:translate(-50%,-50%)}.pet[data-world=garden]{transform:translate(-50%,-100%)}.pet-art{transition:transform .36s var(--ease-out);display:block}.pet-art svg{width:100%;height:auto;display:block}.pet .eyes{transform-box:fill-box;transform-origin:50%}.pet[data-world=sea] .pet-art{animation:8s ease-in-out infinite pet-swim}.pet[data-world=sky] .pet-art{animation:6s ease-in-out infinite pet-float}@keyframes pet-swim{50%{transform:translate(5px,-2px)}}@keyframes pet-float{50%{transform:translateY(-4px)}}.pet[data-asleep=true] .eyes{transform:scaleY(.14)}.pet[data-asleep=true] .pet-art{transform-origin:50% 80%;animation:4.8s ease-in-out infinite sleep-breathe}.pet.is-petted .pet-art{animation:pet-closer 1s var(--ease-out)}@keyframes pet-closer{35%{transform:translateY(-4px)scale(1.35)}to{transform:none}}.pet.is-waking .pet-art{transform-origin:50% 90%;animation:wake-wave .9s var(--ease-out)}.pet-bubble{left:calc(40% + var(--i) * 10%);pointer-events:none;width:6px;height:6px;animation:pet-bubble 1s var(--ease-out) calc(var(--i) * .12s) both;border:1px solid #d6fcf0cc;border-radius:50%;position:absolute;top:20%}@keyframes pet-bubble{0%{opacity:0;transform:translate(0,0)scale(.6)}30%{opacity:1}to{transform:translate3d(calc((var(--i) - 1) * 6px), -26px, 0) scale(1);opacity:0}}.goodnight{z-index:30;place-content:center;justify-items:center;gap:var(--s4);padding:calc(var(--safe-top) + var(--s4)) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s4)) calc(var(--safe-left) + var(--s4));color:var(--ink-dim);text-align:center;cursor:pointer;opacity:0;transition:opacity var(--dur-slow) var(--ease);background:radial-gradient(70% 50% at 50% 55%,#071228,#010205 70%);display:grid;position:absolute;inset:0}.goodnight.is-open{opacity:1}.goodnight-whale{opacity:.85;width:160px}.goodnight-whale svg{width:100%;height:auto;display:block}.goodnight-line{font-family:var(--font-display);font-size:var(--t-lg);color:var(--star-pale);margin:0}.goodnight-wake{font-size:var(--t-xs);margin:0}.bottle-note{margin:var(--s2) 0 var(--s6);padding:var(--s1) 0 var(--s1) var(--s4);color:var(--star-pale);font-size:var(--t-lg);text-wrap:pretty;border-left:2px solid #ffd98a8c;line-height:1.3}@media (prefers-reduced-motion:reduce){.scene-rain i,.scene-rain b{display:none}.bottle svg,.pet .pet-art,.pet.is-petted .pet-art,.pet.is-waking .pet-art,.pet[data-asleep=true] .pet-art{animation:none}.pet-bubble{display:none}}.pet-field-head{align-items:center;gap:var(--s2);margin-bottom:var(--s1);display:flex}.pet-field-head .field-label{margin:0}.pet-field-art{flex:none;width:32px;display:block}.pet-field-art svg{width:100%;height:auto;display:block}.tide{z-index:30;gap:var(--s4);padding:calc(var(--safe-top) + var(--s3)) calc(var(--safe-right) + var(--s4)) calc(var(--safe-bottom) + var(--s6)) calc(var(--safe-left) + var(--s4));isolation:isolate;opacity:0;transition:opacity var(--dur) var(--ease-out);grid-template-rows:auto 1fr auto;display:grid;position:absolute;inset:0}.tide.is-open{opacity:1}#app.is-behind-tide{opacity:0}.sheet.is-behind-tide{visibility:hidden}.tide-water{z-index:-1;transition:transform var(--dur-sheet-in) var(--ease-drawer);background:linear-gradient(#0308149e,#06122bf0 38%,#020409f7);position:absolute;inset:0;transform:translateY(100%)}.tide.is-open .tide-water{transform:none}.tide-top{align-items:center;gap:var(--s3);display:flex}.tide-bar{gap:var(--s1);flex:1;display:flex}.tide-bar i{border-radius:var(--r-pill);background:#e8f0f52e;flex:1;height:3px}.tide-bar i.is-on{background:var(--star-pale)}.tide-stage{touch-action:pan-y;cursor:pointer;place-items:center;min-height:0;display:grid}.tide-card{justify-items:center;gap:var(--s3);text-align:center;opacity:0;max-width:32ch;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);display:grid;transform:translateY(8px)}.tide-card.is-in{opacity:1;transform:none}.tide-eyebrow{font-size:var(--t-xs);letter-spacing:.08em;color:var(--ink-dim);margin:0;font-weight:700}.tide-big{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;font-weight:700;font-size:var(--t-xl);color:var(--star-pale);text-wrap:balance;margin:0;line-height:1.1}.tide-number{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 100;font-variant-numeric:tabular-nums;color:var(--star-pale);margin:0;font-size:clamp(64px,24vw,104px);font-weight:900;line-height:1}.tide-line{font-size:var(--t-md);color:var(--ink);text-wrap:balance;margin:0}.tide-aside{font-size:var(--t-sm);color:var(--ink-dim);margin:0}.tide-say{font-family:var(--font-display);font-variation-settings:"opsz" 72, "SOFT" 100, "WONK" 1;font-weight:700;font-size:var(--t-lg);color:var(--star-pale);text-wrap:balance;margin:0;line-height:1.3}.tide-art svg{width:136px;height:136px;display:block;overflow:visible}.tide-nav{justify-content:space-between;align-items:center;display:flex}.tide-nav [hidden]{visibility:hidden;display:inline-block}@media (prefers-reduced-motion:reduce){.tide-water,.tide-card{transform:none}}#app.is-drifting{opacity:0}.drift-veil{z-index:25;padding-bottom:calc(var(--safe-bottom) + var(--s6));cursor:pointer;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.drift-veil:focus-visible{outline-offset:-4px}.drift-hint{font-size:var(--t-xs);color:var(--ink-dim);animation:drift-hint 6s var(--ease-out) forwards}@keyframes drift-hint{0%,50%{opacity:.9}to{opacity:.35}}.news{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.news-item{align-items:center;gap:var(--s2) var(--s3);padding:var(--s3);border-radius:var(--r);background:#e8f0f50d;grid-template-columns:56px 1fr auto;display:grid}.news-art{background:#3ef2e01a;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.news-art svg{width:40px;height:40px;display:block;overflow:visible}.news-text{gap:var(--s1);display:grid}.news-title{color:var(--ink);font-weight:700}.news-line{font-size:var(--t-sm);color:var(--ink-dim);text-wrap:pretty}@media (max-width:359px){.news-item{grid-template-columns:56px 1fr}.news-try{grid-column:2;justify-self:end}}
