.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;animation:authFadeIn .2s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{width:100%;max-width:420px;background:var(--bg-surface, #fff);border-radius:20px;box-shadow:0 24px 60px #0000002e;overflow:hidden;animation:authSlideUp .25s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color, #ebebeb)}@keyframes authSlideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.auth-logo{display:flex;align-items:center;gap:8px}.auth-logo-text{font-size:18px;font-weight:700;color:var(--text-primary, #1a1a2e);letter-spacing:-.3px}.auth-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-body, #f5f5f5);border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary, #888);transition:background .2s,color .2s}.auth-close-btn:hover{background:#f0ecfb;color:#7354d7}.auth-modal-title{padding:20px 24px 0}.auth-modal-title h2{font-size:22px;font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 6px}.auth-modal-title p{font-size:13px;color:var(--text-secondary, #888);margin:0;line-height:1.5}.auth-tabs{display:flex;gap:0;padding:16px 24px 0;border-bottom:2px solid var(--border-color, #ebebeb)}.auth-tab{padding:8px 20px;font-size:14px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--text-secondary, #888);transition:color .2s,border-color .2s}.auth-tab-active{color:#7354d7;border-bottom-color:#7354d7;font-weight:600}.auth-form{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:13px;font-weight:500;color:var(--text-primary, #1a1a2e)}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:12px;color:var(--text-muted, #bbb);pointer-events:none;flex-shrink:0}.auth-input{width:100%;padding:11px 40px 11px 38px;border:1.5px solid var(--border-color, #e0e0e0);border-radius:10px;font-size:14px;color:var(--text-primary, #1a1a2e);background:var(--bg-body, #fafafa);outline:none;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:#7354d7;box-shadow:0 0 0 3px #7354d71f;background:var(--bg-surface, #fff)}.auth-input::placeholder{color:var(--text-muted, #bbb)}.auth-eye-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted, #bbb);padding:0;display:flex;align-items:center;transition:color .2s}.auth-eye-btn:hover{color:#7354d7}.auth-error{padding:10px 14px;border-radius:8px;font-size:13px;background:#fff1f0;color:#cf1322;border:1px solid #ffccc7}.auth-success{padding:10px 14px;border-radius:8px;font-size:13px;background:#f0fff4;color:#389e0d;border:1px solid #b7eb8f}.auth-submit-btn{width:100%;padding:13px;background:#7354d7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .2s,transform .1s}.auth-submit-btn:hover:not(:disabled){background:#6243c6}.auth-submit-btn:active:not(:disabled){transform:scale(.98)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-modal-footer{display:flex;align-items:center;justify-content:center;gap:4px;padding:0 24px 24px;font-size:13px;color:var(--text-secondary, #888)}.auth-switch-link{background:none;border:none;cursor:pointer;color:#7354d7;font-size:13px;font-weight:600;padding:0;transition:color .2s}.auth-switch-link:hover{color:#5c3fbf;text-decoration:underline}[data-theme=dark] .auth-modal{background:var(--bg-surface);border-color:var(--border-color)}[data-theme=dark] .auth-input{background:var(--bg-body);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .auth-input:focus{background:var(--bg-surface)}[data-theme=dark] .auth-close-btn{background:#ffffff14}[data-theme=dark] .auth-error{background:#cf132226;border-color:#cf132259;color:#fca5a5}[data-theme=dark] .auth-success{background:#389e0d26;border-color:#389e0d59;color:#86efac}@media (max-width: 480px){.auth-overlay{align-items:flex-end;padding:0}.auth-modal{max-width:100%;border-radius:20px 20px 0 0;animation:authSlideUpMobile .25s cubic-bezier(.4,0,.2,1)}@keyframes authSlideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.auth-modal-header{padding:16px 20px 0}.auth-modal-title{padding:14px 20px 0}.auth-tabs{padding:12px 20px 0}.auth-form{padding:16px 20px}.auth-modal-footer{padding:0 20px 32px}}.mobile-tab-bar{display:none}@media (max-width: 768px){.app-container--with-tabbar{--mobile-tabbar-height: calc(60px + env(safe-area-inset-bottom)) }.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--mobile-tabbar-height);background:var(--bg-surface);border-top:1px solid var(--border-color);z-index:50;padding:0 4px;padding-bottom:env(safe-area-inset-bottom)}.app-container--with-tabbar :is(.home-page,.rp-layout,.msg-page,.ann-layout,.rb-page,.pf-layout,.cl-layout,.cc-layout,.lib-layout,.sl-layout,.sc-layout,.sd-layout){height:calc(100dvh - var(--mobile-tabbar-height))}.app-container--with-tabbar .cc-main{height:100%}.app-container--with-tabbar :is(.fav-page,.sp-layout,.tb-layout){min-height:100dvh;padding-bottom:var(--mobile-tabbar-height)}.app-container--with-tabbar :is(.cc-footer-btns,.sc-footer,.cc-footer){bottom:var(--mobile-tabbar-height);padding-bottom:12px}}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px 0;transition:color .2s}.tab-item--active{color:#7354d7}.tab-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.tab-badge{position:absolute;top:-5px;right:-8px;background:#7354d7;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}.tab-label{font-size:11px;font-weight:500;line-height:1}:root,[data-theme=light]{--bg-body: #ffffff;--bg-surface: #f5f5f5;--bg-surface-translucent: rgba(255, 255, 255, .85);--bg-input: #f8f8f8;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--border-color: #e8e8e8;--accent-color: #7354d7;--accent-hover: #6347c1;--accent-rgb: 115, 84, 215;--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=dark]{color-scheme:dark;--bg-body: #121212;--bg-surface: #1e1e1e;--bg-surface-translucent: rgba(30, 30, 30, .85);--bg-input: #2a2a2a;--text-primary: #e0e0e0;--text-secondary: #aaaaaa;--text-muted: #888888;--border-color: #333333;--accent-color: #7354d7;--accent-hover: #6347c1;--accent-rgb: 115, 84, 215;--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-body);color:var(--text-primary);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}@media (max-width: 768px){body{font-size:13px}}@media (max-width: 480px){body{font-size:12px;line-height:1.4}}@media (max-width: 480px){html{font-size:16px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:10px;transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}html,body{scrollbar-gutter:stable both-edges}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
