/* v55 — fluidez e primeira impressão (respeita prefers-reduced-motion) */
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.main>*:not(.mtop){animation:lfpIn .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes lfpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.card,.wk-day,.ws-day,.st-bubble,.st-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media (hover:hover){.card:hover,.st-bubble:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(10,42,74,.10)}}
button,.btn-link,a.card{transition:transform .12s ease,background-color .18s ease,box-shadow .18s ease,opacity .18s}
button:active,a.card:active{transform:scale(.97)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2FA4F0;outline-offset:2px;border-radius:10px}
input,select,textarea{transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:#2FA4F0;box-shadow:0 0 0 4px rgba(47,164,240,.18)}
h1,h2,h3{color:#0A2A4A;letter-spacing:-.01em}
.main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.lfp-greet{margin:6px 0 14px}.lfp-greet h1{margin:0;font-size:clamp(24px,4vw,34px)}.lfp-greet p{margin:4px 0 0;color:#5b7189}
.st-pick{display:flex;flex-wrap:wrap;gap:8px}
.st-bubble{border:1px solid #dbe8f5;background:#fff;border-radius:14px;padding:8px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}
.st-bubble span{font-size:12px;color:#5b7189}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.tabbar a,.tabbar button.tab-more{font-size:10.5px;letter-spacing:-.2px;padding-left:2px;padding-right:2px}
.tabbar a span,.tabbar button span{overflow:visible;text-overflow:clip;white-space:nowrap}
