/* Pouchd motion: deliberately quiet, quick and native-feeling. */
:root{--pouchd-ease:cubic-bezier(.22,.8,.28,1);--pouchd-spring:cubic-bezier(.16,1,.3,1)}
.launch-screen{position:fixed;z-index:70;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:24px;background:radial-gradient(70% 46% at 50% 12%,#26342b 0,#151a17 48%,#101310 100%);transition:opacity .32s ease,visibility .32s step-end}
.launch-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.launch-brand{color:#eef1ed;font:800 34px/1 Manrope,system-ui,sans-serif;letter-spacing:-2.9px;display:flex;align-items:center;animation:launch-word .48s var(--pouchd-spring) both}
.launch-o{display:inline-grid;width:20px;height:20px;margin:0 1px;border:4px solid #eef1ed;border-radius:50%;position:relative}
.launch-o:after{content:"";position:absolute;right:-3px;bottom:-4px;width:8px;height:3px;border-radius:999px;background:#9cc6a4;transform:rotate(-17deg);transform-origin:left center;animation:launch-mark .55s .2s var(--pouchd-spring) both}
.launch-tip{position:absolute;left:18px;right:18px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 13px));min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #4c574e;background:#242a25d9;box-shadow:0 14px 40px #0004;border-radius:13px;color:#bfc8c0;backdrop-filter:blur(14px);animation:launch-tip .48s .1s var(--pouchd-spring) both}
.launch-tip p{margin:0;font:600 10px/1.35 Manrope,system-ui,sans-serif;letter-spacing:.01em;text-align:center}.launch-tip-dot{width:5px;height:5px;flex:none;border-radius:50%;background:#9ec8a6;box-shadow:0 0 0 4px #9ec8a612}
.screen.active.motion-enter{animation:content-arrive .18s var(--pouchd-ease) both}
.sheet.open .sheet-content{animation:sheet-arrive .22s var(--pouchd-spring) both}
.tabbar button,.primary-button,.outline-button,.icon-button,.close-sheet,.edit-profile,.settings,.profile-chip,.mini-plus,.reaction-pill,.comment-open,.post-author,.friend-info,.friend-add,.remove-friend,.capture-button,.snus-ping-trigger{transition:transform .14s var(--pouchd-ease),filter .14s ease,background-color .14s ease,opacity .14s ease}
@media (hover:none){button:not(:disabled):active{transform:scale(.973)}.tab:active{transform:scale(.96)}}
.dose-tab .dose-button{position:relative}.dose-tab.dose-nudge .dose-button{animation:dose-ready .74s var(--pouchd-spring) both}
.dose-tab.dose-nudge .dose-button:after{content:"";position:absolute;inset:-7px;border:1px solid #82a98a6e;border-radius:50%;animation:dose-ring .68s .05s var(--pouchd-ease) both}
@keyframes launch-word{from{opacity:0;transform:translateY(8px);letter-spacing:-2.2px}to{opacity:1;transform:translateY(0);letter-spacing:-2.9px}}
@keyframes launch-mark{from{opacity:0;transform:translate(-4px,2px) rotate(-17deg) scaleX(.3)}to{opacity:1;transform:rotate(-17deg) scaleX(1)}}
@keyframes launch-tip{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes content-arrive{from{opacity:.01;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes sheet-arrive{from{opacity:.5;transform:translate(-50%,13px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes dose-ready{0%{transform:scale(1)}38%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes dose-ring{from{opacity:.75;transform:scale(.83)}to{opacity:0;transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
