:root{--color-primary:#0ea5e9;--color-primary-light:#38bdf8;--color-primary-lighter:#7dd3fc;--color-primary-bg:#e0f2fe;--color-accent:#f97316;--color-accent-light:#fb923c;--color-success:#22c55e;--color-success-bg:#dcfce7;--color-danger:#ef4444;--color-danger-bg:#fee2e2;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-info:#6366f1;--color-info-bg:#eef2ff;--bg-page:#f8fafc;--bg-card:#fff;--bg-elevated:#fff;--bg-input:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-light:#e2e8f0;--border-lighter:#f1f5f9;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #00000008;--shadow-lg:0 10px 15px #0000000f, 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-display:"Sora", "Noto Sans SC", sans-serif;--font-body:"Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--gradient-primary:linear-gradient(135deg, #0ea5e9 0%, #38bdf8 50%, #7dd3fc 100%);--gradient-warm:linear-gradient(135deg, #06b6d4 0%, #0ea5e9 100%);--gradient-gold:linear-gradient(135deg, #f97316 0%, #fb923c 100%);--gradient-page:linear-gradient(180deg, #e0f2fe 0%, #f8fafc 30%);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;width:100%;height:100%}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-page);color:var(--text-primary);font-size:15px;line-height:1.5}.rv-navbar{background:0 0!important}.rv-navbar__title{font-family:var(--font-display)!important;color:var(--text-primary)!important;font-size:17px!important;font-weight:600!important}.rv-nav-bar .rv-icon{color:var(--text-primary)!important}.tab-bar{-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:.5px solid var(--border-light);height:50px;padding-bottom:env(safe-area-inset-bottom);z-index:100;background:#ffffffeb;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar__item{cursor:pointer;-webkit-tap-highlight-color:transparent;height:100%;transition:transform .25s var(--ease-spring);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.tab-bar__item:active{transform:scale(.88)}.tab-bar__icon{width:28px;height:24px;transition:transform .3s var(--ease-spring);justify-content:center;align-items:center;display:flex}.tab-bar__item--active .tab-bar__icon{transform:translateY(-2px)scale(1.08)}.tab-bar__label{color:var(--text-tertiary);transition:color .3s ease, font-weight .3s ease, transform .3s var(--ease-spring);font-size:10px;font-weight:500;line-height:1}.tab-bar__item--active .tab-bar__label{color:var(--color-primary);font-weight:600;transform:translateY(-1px)}.tab-bar__dot{background:var(--color-primary);width:4px;height:4px;animation:dotPop .4s var(--ease-spring) forwards;border-radius:50%;position:absolute;bottom:6px;left:50%;transform:translate(-50%)scale(0)}.rv-cell-group--inset{overflow:hidden;border-radius:var(--radius-lg)!important;margin:12px 16px!important}.rv-cell-group{background:var(--bg-card)!important}.rv-cell{padding:14px 16px!important}.rv-cell__title{color:var(--text-primary)!important;font-weight:500!important}.rv-cell__label{color:var(--text-tertiary)!important;font-size:12px!important}.rv-cell__right-icon{color:var(--text-tertiary)!important}.rv-pull-refresh{min-height:calc(100vh - 100px)}.rv-tag--primary.rv-tag--plain{color:var(--color-primary)!important;background:var(--color-primary-bg)!important;border-color:#0000!important}.rv-tag--success.rv-tag--plain{color:var(--color-success)!important;background:var(--color-success-bg)!important;border-color:#0000!important}.rv-tag--warning.rv-tag--plain{color:var(--color-warning)!important;background:var(--color-warning-bg)!important;border-color:#0000!important}.rv-tag--danger.rv-tag--plain{color:var(--color-danger)!important;background:var(--color-danger-bg)!important;border-color:#0000!important}.rv-tag{border-radius:var(--radius-full)!important;padding:2px 10px!important;font-weight:500!important}.rv-button--primary{letter-spacing:.5px;background:var(--gradient-primary)!important;border-radius:var(--radius-md)!important;height:48px!important;transition:transform .2s var(--ease-spring), box-shadow .2s ease!important;border:none!important;font-size:16px!important;font-weight:600!important}.rv-button--primary:active{transform:scale(.97)!important}.rv-skeleton{padding:16px!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{opacity:.6;transform:scale(.8)}50%{opacity:.3;transform:scale(1)}to{opacity:.6;transform:scale(.8)}}@keyframes dotPop{0%{transform:translate(-50%)scale(0)}to{transform:translate(-50%)scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.oauth-spinner{border:3px solid #07c160;border-top-color:#0000;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes breathe{0%,to{opacity:1}50%{opacity:.6}}@keyframes ripple{0%{opacity:.3;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out-expo) both}.animate-fade-in{animation:.4s ease-out both fadeIn}.animate-scale-in{animation:scaleIn .5s var(--ease-spring) both}.animate-slide-right{animation:slideInRight .4s var(--ease-out-expo) both}.animate-slide-left{animation:slideInLeft .4s var(--ease-out-expo) both}.animate-slide-up{animation:slideUp .5s var(--ease-out-expo) both}.animate-count-up{animation:countUp .6s var(--ease-out-expo) both}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.delay-7{animation-delay:.35s}.delay-8{animation-delay:.4s}.delay-9{animation-delay:.45s}.delay-10{animation-delay:.5s}.skeleton-card{background:var(--bg-card);border-radius:var(--radius-lg);margin-bottom:12px;padding:16px;position:relative;overflow:hidden}.skeleton-line{background:linear-gradient(90deg, var(--bg-input) 25%, #e8ecf1 37%, var(--bg-input) 63%);background-size:200% 100%;border-radius:7px;height:14px;animation:1.5s infinite shimmer}.skeleton-line--title{width:65%;height:18px;margin-bottom:12px}.skeleton-line--text{width:100%;margin-bottom:8px}.skeleton-line--short{width:40%;margin-bottom:0}.skeleton-circle{background:linear-gradient(90deg, var(--bg-input) 25%, #e8ecf1 37%, var(--bg-input) 63%);background-size:200% 100%;border-radius:50%;animation:1.5s infinite shimmer}.skeleton-card+.skeleton-card{margin-top:12px}.page-gradient{background:var(--gradient-page);min-height:100vh}.card-base{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .3s ease, transform .3s var(--ease-spring)}.card-base:active{box-shadow:var(--shadow-md);transform:scale(.975)}.card-press{transition:transform .2s var(--ease-spring), box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.card-press:active{will-change:transform;transform:scale(.97)}.section-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.2px;font-size:18px;font-weight:700}.badge-accent{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.progress-bar-bg{background:var(--border-lighter);border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{height:100%;transition:width 1s var(--ease-out-expo);border-radius:3px}.page-content{padding-bottom:calc(60px + env(safe-area-inset-bottom));min-height:100vh}.bottom-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px)saturate(180%);border-top:1px solid var(--border-lighter);z-index:100;background:#f8fafce0;position:fixed;bottom:0;left:0;right:0}.btn-primary{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;font-family:var(--font-display);cursor:pointer;transition:transform .2s var(--ease-spring), box-shadow .2s ease;-webkit-tap-highlight-color:transparent;border:none}.btn-primary:active{transform:scale(.97);box-shadow:0 2px 8px #0ea5e94d}.page-enter{animation:pageSlideIn .35s var(--ease-out-expo) both}@keyframes pageSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.card-base,.card-press,.tab-bar__item,.tab-bar__icon{transform:translateZ(0)}@keyframes spin{to{transform:rotate(360deg)}}
