.auth-modal-overlay[data-v-3bdf2f58]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000040;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:20px}.auth-modal-card[data-v-3bdf2f58]{position:relative;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;background:#ffffffeb;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:32px 28px;box-shadow:0 20px 60px #0000001f,0 0 0 1px #ffffff1a inset}.modal-close[data-v-3bdf2f58]{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#0000000d;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s}.modal-close[data-v-3bdf2f58]:hover{background:#0000001a;color:#1e293b}.modal-logo[data-v-3bdf2f58]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px}.logo-icon[data-v-3bdf2f58]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.logo-text[data-v-3bdf2f58]{font-size:16px;font-weight:700;color:#1e293b}.bmode-notice[data-v-3bdf2f58]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;margin-bottom:16px;background:linear-gradient(135deg,#10b98114,#06b6d414);border:1px solid rgba(16,185,129,.2);border-radius:10px;font-size:12.5px;font-weight:500;color:#059669;line-height:1.4}.modal-tabs[data-v-3bdf2f58]{position:relative;display:flex;background:#f1f5f9;border-radius:10px;padding:3px;margin-bottom:24px}.tab-btn[data-v-3bdf2f58]{flex:1;padding:8px 0;border:none;background:transparent;font-size:14px;font-weight:600;color:#94a3b8;cursor:pointer;border-radius:8px;transition:color .2s;position:relative;z-index:1}.tab-btn.active[data-v-3bdf2f58]{color:#1e293b}.tab-indicator[data-v-3bdf2f58]{position:absolute;top:3px;bottom:3px;width:50%;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;transition:left .25s cubic-bezier(.16,1,.3,1)}.modal-form[data-v-3bdf2f58]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-3bdf2f58]{display:flex;flex-direction:column;gap:4px}.form-input[data-v-3bdf2f58]{width:100%;padding:11px 14px;background:#f1f5f9cc;border:1px solid rgba(226,232,240,.8);border-radius:10px;color:#1e293b;font-size:14px;transition:all .2s;outline:none}.form-input[data-v-3bdf2f58]:focus{border-color:#6366f1;background:#ffffffe6;box-shadow:0 0 0 3px #6366f11f}.form-input[data-v-3bdf2f58]::placeholder{color:#94a3b8}.form-input.input-error[data-v-3bdf2f58]{border-color:#ef4444}.form-input.input-error[data-v-3bdf2f58]:focus{box-shadow:0 0 0 3px #ef44441a}.sms-row[data-v-3bdf2f58]{display:flex;gap:8px}.sms-row .form-input[data-v-3bdf2f58]{flex:1;min-width:0}.btn-sms[data-v-3bdf2f58]{flex-shrink:0;padding:11px 14px;font-size:12px;font-weight:600;white-space:nowrap;background:#6366f1;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s;min-width:80px;display:flex;align-items:center;justify-content:center}.btn-sms[data-v-3bdf2f58]:hover:not(:disabled){opacity:.9}.btn-sms[data-v-3bdf2f58]:disabled{opacity:.5;cursor:not-allowed}.field-error[data-v-3bdf2f58]{font-size:11px;color:#ef4444;font-weight:500}.form-error[data-v-3bdf2f58]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ef444414;color:#ef4444;border-radius:8px;font-size:12px;font-weight:500}.btn-primary-modal[data-v-3bdf2f58]{width:100%;padding:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-primary-modal[data-v-3bdf2f58]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary-modal[data-v-3bdf2f58]:disabled{opacity:.6;cursor:not-allowed}.btn-guest-modal[data-v-3bdf2f58]{width:100%;padding:11px;background:transparent;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.btn-guest-modal[data-v-3bdf2f58]:hover:not(:disabled){border-color:#c7d2fe;background:#6366f10a;color:#4f46e5}.btn-guest-modal[data-v-3bdf2f58]:disabled{opacity:.5;cursor:not-allowed}.modal-divider[data-v-3bdf2f58]{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:12px}.modal-divider[data-v-3bdf2f58]:before,.modal-divider[data-v-3bdf2f58]:after{content:"";flex:1;height:1px;background:#e2e8f0cc}.btn-spinner[data-v-3bdf2f58]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:modal-spin-3bdf2f58 .6s linear infinite}.btn-spinner-dark[data-v-3bdf2f58]{border-color:#00000026;border-top-color:#475569}.btn-spinner-sm[data-v-3bdf2f58]{width:12px;height:12px}@keyframes modal-spin-3bdf2f58{to{transform:rotate(360deg)}}.auth-modal-enter-active[data-v-3bdf2f58]{transition:opacity .25s ease}.auth-modal-enter-active .auth-modal-card[data-v-3bdf2f58]{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease}.auth-modal-leave-active[data-v-3bdf2f58]{transition:opacity .2s ease}.auth-modal-leave-active .auth-modal-card[data-v-3bdf2f58]{transition:transform .2s ease,opacity .2s ease}.auth-modal-enter-from[data-v-3bdf2f58]{opacity:0}.auth-modal-enter-from .auth-modal-card[data-v-3bdf2f58]{opacity:0;transform:scale(.95) translateY(10px)}.auth-modal-leave-to[data-v-3bdf2f58]{opacity:0}.auth-modal-leave-to .auth-modal-card[data-v-3bdf2f58]{opacity:0;transform:scale(.97)}.shake-enter-active[data-v-3bdf2f58]{animation:modal-shake-3bdf2f58 .4s ease}@keyframes modal-shake-3bdf2f58{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}[data-theme=dark] .auth-modal-overlay[data-v-3bdf2f58]{background:#0006}[data-theme=dark] .auth-modal-card[data-v-3bdf2f58]{background:#1e293bf2;border-color:#33415580;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff0d inset}[data-theme=dark] .modal-close[data-v-3bdf2f58]{background:#ffffff0f;color:#94a3b8}[data-theme=dark] .modal-close[data-v-3bdf2f58]:hover{background:#ffffff1a;color:#f1f5f9}[data-theme=dark] .logo-text[data-v-3bdf2f58]{color:#f1f5f9}[data-theme=dark] .modal-tabs[data-v-3bdf2f58]{background:#0f172a99}[data-theme=dark] .tab-btn[data-v-3bdf2f58]{color:#64748b}[data-theme=dark] .tab-btn.active[data-v-3bdf2f58]{color:#f1f5f9}[data-theme=dark] .tab-indicator[data-v-3bdf2f58]{background:#334155cc;box-shadow:none}[data-theme=dark] .form-input[data-v-3bdf2f58]{background:#0f172a80;border-color:#33415599;color:#f1f5f9}[data-theme=dark] .form-input[data-v-3bdf2f58]:focus{background:#0f172ab3;border-color:#818cf8;box-shadow:0 0 0 3px #818cf826}[data-theme=dark] .form-input[data-v-3bdf2f58]::placeholder{color:#64748b}[data-theme=dark] .form-error[data-v-3bdf2f58]{background:#ef44441f}[data-theme=dark] .btn-guest-modal[data-v-3bdf2f58]{border-color:#334155;color:#94a3b8}[data-theme=dark] .btn-guest-modal[data-v-3bdf2f58]:hover:not(:disabled){border-color:#818cf84d;background:#6366f114;color:#a5b4fc}[data-theme=dark] .modal-divider[data-v-3bdf2f58]:before,[data-theme=dark] .modal-divider[data-v-3bdf2f58]:after{background:#33415599}[data-theme=dark] .bmode-notice[data-v-3bdf2f58]{background:linear-gradient(135deg,#10b9811f,#06b6d41f);border-color:#10b98140;color:#34d399}[data-theme=dark] .modal-divider[data-v-3bdf2f58]{color:#64748b}[data-theme=dark] .btn-sms[data-v-3bdf2f58]{background:#818cf8}@media (max-width: 480px){.auth-modal-overlay[data-v-3bdf2f58]{align-items:flex-end;padding:0}.auth-modal-card[data-v-3bdf2f58]{border-radius:20px 20px 0 0;max-height:95vh;padding:28px 20px 36px}}.payment-overlay[data-v-4c228540]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-card[data-v-4c228540]{background:var(--c-surface, #ffffff);border-radius:var(--radius-xl, 20px);width:100%;max-width:400px;padding:32px;box-shadow:0 20px 60px #00000026;position:relative}.payment-header[data-v-4c228540]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.payment-title[data-v-4c228540]{font-size:20px;font-weight:700;color:var(--c-text, #1e293b);margin:0}.payment-close[data-v-4c228540]{background:none;border:none;padding:4px;cursor:pointer;color:var(--c-text-2, #94a3b8);border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.payment-close[data-v-4c228540]:hover{background:var(--c-bg-soft, #f1f5f9);color:var(--c-text, #1e293b)}.payment-body[data-v-4c228540]{min-height:300px}.payment-center[data-v-4c228540]{display:flex;flex-direction:column;align-items:center;justify-content:center}.payment-spinner[data-v-4c228540]{width:40px;height:40px;border:3px solid var(--c-border, #e5e7eb);border-top-color:#07c160;border-radius:50%;animation:payment-spin-4c228540 .8s linear infinite}@keyframes payment-spin-4c228540{to{transform:rotate(360deg)}}.payment-hint[data-v-4c228540]{margin-top:16px;font-size:14px;color:var(--c-text-2, #94a3b8)}.qr-wrapper[data-v-4c228540]{display:flex;justify-content:center;margin-bottom:20px}.qr-image[data-v-4c228540]{width:240px;height:240px;border-radius:12px;border:1px solid var(--c-border, #e5e7eb);padding:8px;background:#fff}.payment-amount[data-v-4c228540]{text-align:center;margin-bottom:8px}.amount-symbol[data-v-4c228540]{font-size:18px;font-weight:700;color:var(--c-text, #1e293b);vertical-align:top;margin-top:4px;display:inline-block}.amount-value[data-v-4c228540]{font-size:36px;font-weight:800;color:var(--c-text, #1e293b);line-height:1}.amount-period[data-v-4c228540]{font-size:14px;color:var(--c-text-2, #94a3b8)}.payment-instruction[data-v-4c228540]{text-align:center;font-size:14px;color:var(--c-text-2, #94a3b8);margin:4px 0 20px}.payment-scanning[data-v-4c228540]{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#07c16014;border-radius:24px}.wechat-icon[data-v-4c228540]{flex-shrink:0}.scanning-text[data-v-4c228540]{font-size:13px;color:#07c160;font-weight:500}.scanning-dots[data-v-4c228540]{display:flex;gap:4px;align-items:center}.scanning-dots .dot[data-v-4c228540]{width:5px;height:5px;background:#07c160;border-radius:50%;animation:scanning-bounce-4c228540 1.4s ease-in-out infinite}.scanning-dots .dot[data-v-4c228540]:nth-child(2){animation-delay:.2s}.scanning-dots .dot[data-v-4c228540]:nth-child(3){animation-delay:.4s}@keyframes scanning-bounce-4c228540{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.success-icon[data-v-4c228540]{animation:success-pop-4c228540 .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes success-pop-4c228540{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-title[data-v-4c228540]{font-size:20px;font-weight:700;color:#07c160;margin:16px 0 4px}.success-desc[data-v-4c228540]{font-size:14px;color:var(--c-text-2, #94a3b8);margin:0}.error-icon[data-v-4c228540]{margin-bottom:8px}.error-title[data-v-4c228540]{font-size:16px;font-weight:600;color:var(--c-text, #1e293b);margin:8px 0 4px}.error-desc[data-v-4c228540]{font-size:14px;color:var(--c-text-2, #94a3b8);margin:0 0 20px}.retry-btn[data-v-4c228540]{padding:10px 32px;background:linear-gradient(135deg,#07c160,#06ad56);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn[data-v-4c228540]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #07c1604d}.payment-fade-enter-active[data-v-4c228540]{transition:opacity .25s ease}.payment-fade-enter-active .payment-card[data-v-4c228540]{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease}.payment-fade-leave-active[data-v-4c228540]{transition:opacity .2s ease}.payment-fade-leave-active .payment-card[data-v-4c228540]{transition:transform .2s ease,opacity .2s ease}.payment-fade-enter-from[data-v-4c228540]{opacity:0}.payment-fade-enter-from .payment-card[data-v-4c228540]{transform:scale(.95) translateY(10px);opacity:0}.payment-fade-leave-to[data-v-4c228540]{opacity:0}.payment-fade-leave-to .payment-card[data-v-4c228540]{transform:scale(.95) translateY(10px);opacity:0}.plan-list[data-v-4c228540]{display:flex;gap:12px;margin-bottom:24px}.plan-card[data-v-4c228540]{flex:1;position:relative;border:2px solid #e5e7eb;border-radius:12px;padding:20px 12px 16px;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff}.plan-card[data-v-4c228540]:hover{border-color:#c0c8d4}.plan-card.active[data-v-4c228540]{border-color:#4a90d9;box-shadow:0 2px 12px #4a90d926}.plan-badge[data-v-4c228540]{position:absolute;top:-10px;right:-6px;background:#4a90d9;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:9999px;line-height:1.5}.plan-name[data-v-4c228540]{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:12px}.plan-price[data-v-4c228540]{margin-bottom:6px;line-height:1}.plan-symbol[data-v-4c228540]{font-size:16px;font-weight:700;color:#4a90d9;vertical-align:top;margin-top:4px;display:inline-block}.plan-amount[data-v-4c228540]{font-size:28px;font-weight:800;color:#4a90d9;line-height:1}.plan-duration[data-v-4c228540]{font-size:13px;color:#999;margin-bottom:4px}.plan-save[data-v-4c228540]{font-size:12px;color:#4a90d9;font-weight:500;margin-top:6px}.pay-btn[data-v-4c228540]{display:block;width:100%;padding:14px;background:#4a90d9;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.pay-btn[data-v-4c228540]:hover{opacity:.85}.pay-btn[data-v-4c228540]:active{transform:scale(.98)}.change-plan-btn[data-v-4c228540]{display:block;margin:16px auto 0;background:none;border:none;color:#999;font-size:13px;cursor:pointer;padding:4px 8px;transition:color .2s ease}.change-plan-btn[data-v-4c228540]:hover{color:#666}[data-theme=dark] .payment-card[data-v-4c228540]{background:var(--c-surface, #1e293b);box-shadow:0 20px 60px #0006}[data-theme=dark] .payment-close[data-v-4c228540]:hover{background:var(--c-bg-mute, #334155)}[data-theme=dark] .qr-image[data-v-4c228540]{border-color:var(--c-border, #334155);background:#fff}[data-theme=dark] .payment-scanning[data-v-4c228540]{background:#07c1601f}[data-theme=dark] .payment-spinner[data-v-4c228540]{border-color:var(--c-border, #334155);border-top-color:#07c160}[data-theme=dark] .plan-card[data-v-4c228540]{background:var(--c-bg-mute, #1e293b);border-color:var(--c-border, #334155)}[data-theme=dark] .plan-card.active[data-v-4c228540]{border-color:#4a90d9}[data-theme=dark] .plan-name[data-v-4c228540]{color:#e2e8f0}@media (max-width: 480px){.payment-card[data-v-4c228540]{padding:24px 20px;border-radius:16px}.qr-image[data-v-4c228540]{width:200px;height:200px}.amount-value[data-v-4c228540]{font-size:30px}.plan-list[data-v-4c228540]{flex-direction:column;gap:10px}.plan-card[data-v-4c228540]{display:flex;align-items:center;padding:14px 16px;text-align:left;gap:12px}.plan-card .plan-name[data-v-4c228540]{margin-bottom:0;min-width:36px}.plan-card .plan-price[data-v-4c228540]{margin-bottom:0}.plan-card .plan-duration[data-v-4c228540]{margin-bottom:0;flex:1}.plan-card .plan-save[data-v-4c228540]{margin-top:0}.plan-badge[data-v-4c228540]{top:-8px;right:-4px}}.app[data-v-346ecebb]{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-346ecebb]{position:sticky;top:0;z-index:100;background:#fffc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);height:var(--header-height);flex-shrink:0}.header-inner[data-v-346ecebb]{max-width:var(--max-width);margin:0 auto;padding:0 16px;height:100%;display:flex;align-items:center;justify-content:space-between}.logo[data-v-346ecebb]{font-size:16px;font-weight:600;display:flex;align-items:center;gap:5px;letter-spacing:.3px}.logo-accent[data-v-346ecebb]{color:var(--accent)}.logo-dot[data-v-346ecebb]{color:var(--text-muted);margin:0 2px}.header-right[data-v-346ecebb]{display:flex;align-items:center;gap:12px}.today-count[data-v-346ecebb]{font-size:13px;color:var(--text-muted);white-space:nowrap}.today-count b[data-v-346ecebb]{color:var(--accent);font-weight:600}.login-btn[data-v-346ecebb]{color:var(--accent);font-weight:600;background:none;font-size:13px;transition:opacity .2s ease}.login-btn[data-v-346ecebb]:hover{opacity:.7}.user-avatar[data-v-346ecebb]{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s}.user-avatar[data-v-346ecebb]:hover{opacity:.85}.main[data-v-346ecebb]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.bottom-nav[data-v-346ecebb]{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -.5px #3c3c431f;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item[data-v-346ecebb]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-muted);font-size:11px;font-weight:500;transition:color .2s}.nav-item.router-link-exact-active[data-v-346ecebb]{color:var(--accent)}.nav-item[data-v-346ecebb]:hover{color:var(--text)}.nav-item svg[data-v-346ecebb]{transition:transform .2s}.nav-item.router-link-exact-active svg[data-v-346ecebb]{transform:scale(1.05)}@media (min-width: 769px){.bottom-nav[data-v-346ecebb]{max-width:var(--max-width);left:50%;transform:translate(-50%);border-radius:16px 16px 0 0}.main[data-v-346ecebb]{max-width:var(--max-width);margin:0 auto;width:100%}.header-inner[data-v-346ecebb]{max-width:var(--max-width)}}:root,[data-theme=light]{--bg-base: #ffffff;--bg-subtle: #fafafa;--bg-muted: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--text-placeholder: #b3b3b3;--border-default: #e5e5e5;--border-subtle: #f0f0f0;--divider: #ebebeb;--accent: #6366f1;--accent-hover: #4f46e5;--accent-subtle: rgba(99, 102, 241, .08);--accent-muted: rgba(99, 102, 241, .15);--accent-shadow: rgba(99, 102, 241, .25);--success: #22c55e;--success-bg: rgba(34, 197, 94, .08);--error: #ef4444;--error-bg: rgba(239, 68, 68, .08);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .08);--shadow-xs: 0 1px 2px rgba(99, 102, 241, .03);--shadow-sm: 0 1px 3px rgba(99, 102, 241, .04);--shadow-md: 0 4px 12px rgba(99, 102, 241, .06);--shadow-lg: 0 8px 24px rgba(99, 102, 241, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--space-xs: 8px;--space-sm: 12px;--space-md: 20px;--space-lg: 32px;--space-xl: 48px;--space-2xl: 64px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--card-glow: 0 8px 32px rgba(99, 102, 241, .06);--card-glow-active: 0 4px 20px rgba(99, 102, 241, .12);--card-border-hover: rgba(99, 102, 241, .25);--accent-secondary: #06b6d4;--ring-bg: var(--bg-muted);--ring-fill: var(--accent);--ring-text: var(--text-secondary);--section-gap: 32px;--annotation-bg: rgba(255, 255, 255, .55);--annotation-border: rgba(99, 102, 241, .12);--annotation-glow: 0 4px 20px rgba(99, 102, 241, .08);--header-height: 44px;--bottom-nav-height: 50px;--navbar-bg: rgba(255, 255, 255, .85);--navbar-border: var(--border-subtle);--scrollbar-track: #f5f5f5;--scrollbar-thumb: #d4d4d4;--scrollbar-thumb-hover: #a3a3a3}[data-theme=dark]{--bg-base: #0b0d14;--bg-subtle: #12141f;--bg-muted: #1a1d2e;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-muted: #737373;--text-placeholder: #525252;--border-default: #1e2235;--border-subtle: #181b29;--divider: #1e2235;--accent: #818cf8;--accent-hover: #6366f1;--accent-subtle: rgba(129, 140, 248, .12);--accent-muted: rgba(129, 140, 248, .2);--accent-shadow: rgba(99, 102, 241, .35);--success: #4ade80;--success-bg: rgba(74, 222, 128, .12);--error: #f87171;--error-bg: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5), 0 0 0 1px rgba(99, 102, 241, .03);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6), 0 0 0 1px rgba(99, 102, 241, .05);--card-glow: 0 8px 32px rgba(99, 102, 241, .08);--card-glow-active: 0 4px 20px rgba(99, 102, 241, .15);--card-border-hover: rgba(129, 140, 248, .3);--accent-secondary: #22d3ee;--ring-bg: var(--bg-muted);--ring-fill: var(--accent);--ring-text: var(--text-secondary);--annotation-bg: rgba(18, 20, 31, .75);--annotation-border: rgba(129, 140, 248, .15);--annotation-glow: 0 4px 20px rgba(99, 102, 241, .12);--navbar-bg: rgba(11, 13, 20, .9);--navbar-border: var(--border-subtle);--scrollbar-track: #12141f;--scrollbar-thumb: #2a2d42;--scrollbar-thumb-hover: #3a3d56}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Outfit,Noto Sans SC,sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-slow),color var(--transition-slow)}#app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;text-decoration:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 14px -2px var(--accent-shadow, rgba(99, 102, 241, .3))}.btn-primary:active:not(:disabled){box-shadow:0 1px 4px var(--accent-shadow, rgba(99, 102, 241, .15))}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-muted)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary)}.btn-sm{padding:8px 14px;font-size:13px}.card{background:var(--bg-base);border:none;border-radius:var(--radius-xl);padding:var(--space-lg);transition:all var(--transition-normal)}.input{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;color:var(--text-primary);font-size:14px;transition:all var(--transition-fast)}.input:focus{outline:none;border-bottom-color:var(--accent)}.input::placeholder{color:var(--text-placeholder)}.input-filled{background:var(--bg-subtle);border:none;border-radius:var(--radius-lg);padding:14px 18px}.input-filled:focus{background:var(--bg-muted)}.option{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:var(--bg-subtle);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);margin-bottom:10px}.option:hover{background:var(--bg-muted)}.option:active{transform:scale(.99)}.option:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:var(--bg-muted)}.option.selected{background:var(--accent-subtle)}.option.key-flash{animation:keyFlash .3s ease}@keyframes keyFlash{0%{box-shadow:inset 0 0 0 2px var(--accent)}50%{box-shadow:inset 0 0 0 2px var(--accent),0 0 8px #6366f133}to{box-shadow:none}}.option.correct{background:var(--success-bg)}.option.wrong{background:var(--error-bg)}.option-label{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-muted);border-radius:50%;font-weight:600;font-size:13px;flex-shrink:0;color:var(--text-secondary)}.option.selected .option-label{background:var(--accent);color:#fff}.option.correct .option-label{background:var(--success);color:#fff}.option.wrong .option-label{background:var(--error);color:#fff}.tag{display:inline-flex;align-items:center;padding:6px 12px;background:transparent;color:var(--text-muted);border-radius:var(--radius-full);font-size:12px;font-weight:500}.chat-container{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-md)}.chat-message{display:flex;gap:12px;margin-bottom:var(--space-md);animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{flex-direction:row-reverse}.chat-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.chat-message.assistant .chat-avatar{background:var(--accent);color:#fff}.chat-message.user .chat-avatar{background:var(--bg-muted);color:var(--text-secondary)}.chat-bubble{padding:14px 18px;border-radius:var(--radius-lg);line-height:1.7;font-size:14px}.chat-message.user .chat-bubble{max-width:80%}.chat-message.assistant .chat-bubble{background:var(--bg-subtle);border:none;border-bottom-left-radius:4px;color:var(--text-primary)}.chat-message.user .chat-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-input-area{padding:var(--space-md);border-top:none;background:transparent}.chat-input-wrapper{display:flex;gap:12px}.chat-input{flex:1}.quick-questions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.quick-btn{padding:10px 16px;background:var(--bg-subtle);border:none;border-radius:var(--radius-full);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.quick-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.quick-btn:active{transform:scale(.96)}.progress-bar{height:6px;background:var(--bg-muted);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease}.loading{display:flex;align-items:center;justify-content:center;gap:6px}.loading-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:loadingBounce 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme=dark] .card{border:1px solid var(--border-subtle)}[data-theme=dark] .option{border:1px solid transparent}[data-theme=dark] .option.selected{border-color:var(--accent-muted)}[data-theme=dark] .option.correct{border-color:#4ade804d}[data-theme=dark] .option.wrong{border-color:#f871714d}::selection{background:var(--accent-muted);color:var(--text-primary)}[data-theme=dark] .notes-textarea,[data-theme=dark] .jump-input{background:var(--bg-muted);border-color:var(--border-default)}[data-theme=dark] .jump-dialog{border:1px solid var(--border-default)}[data-theme=dark] .offline-banner{background:#f59e0b26}[data-theme=dark] .back-to-top{background:var(--bg-muted);border:1px solid var(--border-default)}[data-theme=dark] .bottom-tabs{border-top-color:var(--border-default)}[data-theme=dark] .daily-goal-bar,[data-theme=dark] .skeleton-option{background:var(--bg-muted)}[data-theme=dark] .question-jump-btn{background:var(--bg-muted);border:1px solid var(--border-subtle)}[data-font-size=small] .question-text,[data-font-size=small] .option-text,[data-font-size=small] .analysis-content{font-size:14px;line-height:1.7}[data-font-size=large] .question-text,[data-font-size=large] .option-text,[data-font-size=large] .analysis-content{font-size:18px;line-height:1.9}[data-font-size=large] .question-content .question-text{font-size:18px}[data-font-size=small] .question-content .question-text{font-size:14px}.card[role=button]:active,.card.clickable:active{transform:scale(.98);transition-duration:80ms}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px -2px var(--accent-shadow),inset 0 1px #ffffff1a}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transition:outline-offset .15s ease}@keyframes contentReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-title{animation:contentReveal .35s cubic-bezier(.16,1,.3,1) both}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.progress-fill.active{animation:progressPulse 2s ease-in-out infinite}@media (hover: none){.card:hover{transform:none;box-shadow:var(--shadow-sm)}.card:active{transform:scale(.99);transition:transform .08s ease}.btn:active{transform:scale(.96);transition:transform .08s ease}.btn,button,a,select,input{min-height:44px}*{-webkit-tap-highlight-color:transparent}}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.container{padding:0 var(--space-md)}.card{padding:var(--space-md)}.btn{padding:10px 18px;font-size:13px}.chat-bubble{max-width:90%}}
