@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(100px)scale(.95)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.modal-backdrop-enter{animation:.2s ease-out forwards fadeIn}.modal-backdrop-exit{animation:.2s ease-in forwards fadeOut}.modal-content-enter{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards slideUp}.modal-content-exit{animation:.2s ease-in forwards slideDown}.modal-zoom-enter{animation:.2s cubic-bezier(.34,1.56,.64,1) forwards zoomIn}.modal-zoom-exit{animation:.15s ease-in forwards zoomOut}@keyframes blurIn{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes blurOut{0%{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{-webkit-backdrop-filter:blur();backdrop-filter:blur()}}.backdrop-blur-enter{animation:.2s ease-out forwards blurIn}.backdrop-blur-exit{animation:.2s ease-in forwards blurOut}@keyframes imagePan{0%{opacity:1;filter:blur();transform:translateY(0%)}40%{opacity:1;filter:blur();transform:translateY(-33%)}48%{opacity:0;filter:blur(8px);transform:translateY(-33%)}52%{opacity:0;filter:blur(8px);transform:translateY(0%)}60%{opacity:1;filter:blur();transform:translateY(0%)}to{opacity:1;filter:blur();transform:translateY(0%)}}.animate-image-pan{animation:12s ease-in-out infinite imagePan}@keyframes imagePanSlow{0%{transform:translateY(0%)}50%{transform:translateY(-33%)}to{transform:translateY(0%)}}.animate-image-pan-slow{animation:25s ease-in-out infinite imagePanSlow}
.tab-bar-container{z-index:50;padding:0 16px 20px;padding-bottom:max(16px, env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.tab-bar{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#1e1e20bf;border:1px solid #ffffff14;border-radius:24px;justify-content:space-around;align-items:center;height:70px;padding:8px 12px;display:flex;box-shadow:0 -4px 30px #0000004d,0 4px 20px #0003,inset 0 1px #ffffff0d}.tab-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:60px;padding:4px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.tab-item:active{transform:scale(.92)}.tab-item.active{background:#ffffff14}.tab-icon{color:#ffffff80;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.tab-item.active .tab-icon{color:#ffbe00;transform:scale(1.1)}.tab-item:hover:not(.active) .tab-icon{color:#ffffffb3;transform:scale(1.05)}.tab-label{letter-spacing:.02em;color:#ffffff80;white-space:nowrap;font-size:10px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-item.active .tab-label{color:#ffbe00}.tab-item:hover:not(.active) .tab-label{color:#ffffffb3}.tab-badge{color:#fff;background:linear-gradient(135deg,#ff3b30,#ff6b6b);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;animation:2s infinite badge-pulse;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 8px #ff3b3066}@keyframes badge-pulse{0%,to{box-shadow:0 2px 8px #ff3b3066}50%{box-shadow:0 2px 16px #ff3b3099}}.active-indicator{opacity:0;background:#ffbe00;border-radius:50%;width:4px;height:4px;transition:opacity .3s;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.tab-item.active .active-indicator{opacity:1}@media (hover:none){.tab-item:active{transform:scale(.9)}}
