.confetti-container[data-v-9a89a962]{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:9998}.confetti-piece[data-v-9a89a962]{position:absolute;width:var(--piece-size, 8px);height:var(--piece-size, 8px);background:var(--piece-color, #047857);box-shadow:0 0 6px var(--piece-color, #047857);border-radius:2px;transition:none;will-change:transform,top,left}.confetti-piece--circle[data-v-9a89a962]{border-radius:50%}.confetti-piece--strip[data-v-9a89a962]{height:calc(var(--piece-size, 8px) * .4);width:calc(var(--piece-size, 8px) * 1.5)}.confetti-piece--triangle[data-v-9a89a962]{width:0!important;height:0!important;background:transparent!important;box-shadow:none!important;border-left:calc(var(--piece-size, 8px) * .6) solid transparent;border-right:calc(var(--piece-size, 8px) * .6) solid transparent;border-bottom:var(--piece-size, 10px) solid var(--piece-color, #047857)}@media(prefers-reduced-motion:reduce){.confetti-container[data-v-9a89a962]{display:none!important}}.confetti-overlay-root[data-v-3da1b79a]{position:fixed;inset:0;pointer-events:none;z-index:9998}.error-boundary[data-v-5e61f4a3]{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--space-xl)}.error-boundary__content[data-v-5e61f4a3]{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px}.error-boundary__icon[data-v-5e61f4a3]{color:var(--color-error);margin-bottom:var(--space-lg);opacity:.8}.error-boundary__title[data-v-5e61f4a3]{font-size:var(--font-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.error-boundary__description[data-v-5e61f4a3]{font-size:var(--font-md);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed)}.error-boundary__details[data-v-5e61f4a3]{width:100%;margin-bottom:var(--space-lg);text-align:left}.error-boundary__details summary[data-v-5e61f4a3]{font-size:var(--font-sm);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--motion-fast) var(--ease-out)}.error-boundary__details summary[data-v-5e61f4a3]:hover{background:var(--color-bg-hover)}.error-boundary__details pre[data-v-5e61f4a3]{font-size:var(--font-xs);color:var(--color-error);background:var(--color-error-light);padding:var(--space-md);border-radius:var(--radius-md);margin-top:var(--space-sm);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary__actions[data-v-5e61f4a3]{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.error-boundary__btn[data-v-5e61f4a3]{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-md);font-size:var(--font-md);font-weight:600;cursor:pointer;transition:transform var(--motion-fast) var(--ease-spring),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.error-boundary__btn--primary[data-v-5e61f4a3]{background:var(--color-primary);color:#fff;border:none}.error-boundary__btn--primary[data-v-5e61f4a3]:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.error-boundary__btn--secondary[data-v-5e61f4a3]{background:var(--color-bg-card);color:var(--color-text);border:2px solid var(--color-border)}.error-boundary__btn--secondary[data-v-5e61f4a3]:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.error-boundary__btn[data-v-5e61f4a3]:active{transform:scale(.96)}.sr-only[data-v-5e61f4a3]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.error-boundary__btn[data-v-5e61f4a3]{transition:none}}.cmd-palette-backdrop[data-v-c21eb6e6]{position:fixed;inset:0;background:#0f172a80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.cmd-palette[data-v-c21eb6e6]{width:100%;max-width:640px;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.cmd-palette__search[data-v-c21eb6e6]{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--line);gap:.75rem}.cmd-palette__icon[data-v-c21eb6e6]{font-size:1.25rem;color:var(--ink-4)}.cmd-palette__input[data-v-c21eb6e6]{flex:1;border:none;outline:none;font-size:1.125rem;background:transparent;color:var(--ink-1)}.cmd-palette__input[data-v-c21eb6e6]::placeholder{color:var(--ink-4)}.cmd-palette__esc[data-v-c21eb6e6]{font-size:.75rem;padding:2px 6px;background:var(--bg-muted);border-radius:4px;color:var(--ink-4);font-family:monospace}.cmd-palette__list[data-v-c21eb6e6]{max-height:50vh;overflow-y:auto;padding:.5rem}.cmd-item[data-v-c21eb6e6]{display:flex;align-items:center;padding:.75rem 1rem;border-radius:10px;cursor:pointer;gap:.75rem;transition:all .15s ease}.cmd-item--active[data-v-c21eb6e6]{background:linear-gradient(135deg,#6366f11a,#764ba21a);transform:translate(4px)}.cmd-item__icon[data-v-c21eb6e6]{font-size:1.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-50),var(--brand-50));border-radius:8px;flex-shrink:0}.cmd-item--active .cmd-item__icon[data-v-c21eb6e6]{background:var(--grad-brand);color:#fff}.cmd-item__content[data-v-c21eb6e6]{flex:1;min-width:0}.cmd-item__title[data-v-c21eb6e6]{font-weight:600;color:var(--ink-1);font-size:.9375rem}.cmd-item__subtitle[data-v-c21eb6e6]{font-size:.8125rem;color:var(--ink-4);margin-top:2px}.cmd-item__category[data-v-c21eb6e6]{font-size:.75rem;color:var(--ink-4);padding:2px 8px;background:var(--bg-muted);border-radius:4px}.cmd-item__shortcut[data-v-c21eb6e6]{font-size:.75rem;padding:2px 6px;background:var(--bg-muted);border-radius:4px;color:var(--ink-4);font-family:monospace}.cmd-palette__empty[data-v-c21eb6e6]{padding:3rem 1rem;text-align:center;color:var(--ink-4)}.cmd-palette__empty-icon[data-v-c21eb6e6]{font-size:3rem;margin-bottom:1rem;opacity:.5}.cmd-palette__footer[data-v-c21eb6e6]{display:flex;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid var(--line);background:var(--bg-subtle);font-size:.75rem;color:var(--ink-4)}.cmd-palette__footer kbd[data-v-c21eb6e6]{padding:1px 5px;background:#fff;border-radius:3px;border:1px solid var(--line);font-family:monospace;margin-right:4px}.cmd-palette-enter-active[data-v-c21eb6e6],.cmd-palette-leave-active[data-v-c21eb6e6]{transition:opacity .2s ease}.cmd-palette-enter-from[data-v-c21eb6e6],.cmd-palette-leave-to[data-v-c21eb6e6]{opacity:0}.scroll-to-top{position:fixed;right:24px;bottom:32px;width:44px;height:44px;border-radius:50%;background:var(--gradient-primary, linear-gradient(135deg, #667eea 0%, #764ba2 100%));color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px #667eea59;transition:all .2s ease;z-index:100}.scroll-to-top:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 14px 30px #667eea80}.scroll-to-top:active{transform:translateY(-2px) scale(.98)}.back-to-top-enter-active,.back-to-top-leave-active{transition:all .2s ease}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0;transform:translateY(20px) scale(.8)}@media(max-width:768px){.scroll-to-top{right:16px;bottom:80px;width:40px;height:40px}}[data-style=vibrant-campus] .scroll-to-top{background:var(--vc-primary, linear-gradient(135deg, #3B82F6 0%, #10B981 100%));box-shadow:0 8px 20px #3b82f659}[data-style=vibrant-campus] .scroll-to-top:hover{box-shadow:0 14px 30px #3b82f680}.help-overlay[data-v-aebf6d93]{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.help-panel[data-v-aebf6d93]{width:100%;max-width:720px;max-height:80vh;background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;overflow:hidden}.help-panel__header[data-v-aebf6d93]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9}.help-panel__title[data-v-aebf6d93]{display:flex;align-items:center;gap:.75rem}.help-icon[data-v-aebf6d93]{font-size:1.5rem}.help-panel__title h2[data-v-aebf6d93]{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:transparent}.help-panel__close[data-v-aebf6d93]{width:36px;height:36px;border-radius:50%;border:none;background:#f1f5f9;cursor:pointer;font-size:1.25rem;color:#64748b;transition:all .2s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.help-panel__close[data-v-aebf6d93]:hover{background:#ef4444;color:#fff;transform:rotate(90deg)}.help-panel__hint[data-v-aebf6d93]{padding:.75rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:.875rem;text-align:center}.help-panel__hint kbd[data-v-aebf6d93]{padding:2px 6px;background:#fff;border-radius:4px;font-family:monospace;font-size:.75rem;margin:0 2px}.help-panel__body[data-v-aebf6d93]{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.help-group__title[data-v-aebf6d93]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6366f1;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #f1f5f9}.help-group__icon[data-v-aebf6d93]{font-size:1rem}.help-group__items[data-v-aebf6d93]{display:flex;flex-direction:column;gap:.5rem}.help-item[data-v-aebf6d93]{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:#f8fafc;border-radius:8px;transition:all .2s ease}.help-item[data-v-aebf6d93]:hover{background:linear-gradient(135deg,#6366f11a,#a855f71a);transform:translate(4px)}.help-item__desc[data-v-aebf6d93]{font-size:.875rem;color:#475569;font-weight:500}.help-item__keys[data-v-aebf6d93]{display:flex;align-items:center;gap:2px}.help-item__key[data-v-aebf6d93]{padding:3px 8px;background:#fff;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:4px;font-family:monospace;font-size:.75rem;font-weight:600;color:#1e293b;min-width:24px;text-align:center}.help-item__plus[data-v-aebf6d93]{font-size:.75rem;color:#94a3b8;margin:0 2px}.help-panel__footer[data-v-aebf6d93]{padding:.75rem 1.5rem;text-align:center;font-size:.75rem;color:#94a3b8;border-top:1px solid #f1f5f9;background:#f8fafc}.help-panel__footer kbd[data-v-aebf6d93]{padding:2px 6px;background:#fff;border:1px solid #cbd5e1;border-radius:3px;font-family:monospace;font-size:.6875rem;margin:0 2px}.help-overlay-enter-active[data-v-aebf6d93],.help-overlay-leave-active[data-v-aebf6d93]{transition:opacity .2s ease}.help-overlay-enter-from[data-v-aebf6d93],.help-overlay-leave-to[data-v-aebf6d93]{opacity:0}.offline-banner[data-v-8754c275]{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d;font-size:14px}.offline-banner__icon[data-v-8754c275]{font-size:20px;flex-shrink:0}.offline-banner__text[data-v-8754c275]{flex:1;display:flex;flex-direction:column;gap:2px}.offline-banner__text strong[data-v-8754c275]{font-weight:600}.offline-banner__hint[data-v-8754c275]{font-size:12px;opacity:.9}.offline-banner__retry[data-v-8754c275]{padding:4px 12px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.offline-banner__retry[data-v-8754c275]:hover{background:#ffffff4d}.offline-banner-enter-active[data-v-8754c275],.offline-banner-leave-active[data-v-8754c275]{transition:transform .3s ease,opacity .3s ease}.offline-banner-enter-from[data-v-8754c275],.offline-banner-leave-to[data-v-8754c275]{transform:translateY(-100%);opacity:0}@media(max-width:639.98px){.offline-banner[data-v-8754c275]{padding:8px 12px;font-size:13px}.offline-banner__icon[data-v-8754c275]{font-size:18px}.offline-banner__hint[data-v-8754c275]{display:none}}.sync-indicator[data-v-a4db0523]{position:fixed;bottom:24px;right:24px;z-index:9998;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:12px;background:var(--color-bg-card, #fff);color:var(--color-text, #333);box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;border:1px solid var(--color-border, #e2e8f0);font-size:14px;min-width:200px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.sync-indicator[data-v-a4db0523]:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000026}.sync-indicator--syncing[data-v-a4db0523]{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.sync-indicator--syncing .sync-indicator__icon[data-v-a4db0523]{color:#2563eb}.sync-indicator--pending[data-v-a4db0523]{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.sync-indicator--pending .sync-indicator__icon[data-v-a4db0523]{color:#d97706}.sync-indicator--failed[data-v-a4db0523]{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.sync-indicator--failed .sync-indicator__icon[data-v-a4db0523]{color:#dc2626}.sync-indicator__icon[data-v-a4db0523]{font-size:20px;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sync-indicator__icon.spinning[data-v-a4db0523]{animation:spin-a4db0523 1s linear infinite}@keyframes spin-a4db0523{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-indicator__text[data-v-a4db0523]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sync-indicator__text strong[data-v-a4db0523]{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-indicator__hint[data-v-a4db0523]{font-size:11px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-indicator__action[data-v-a4db0523]{padding:4px 10px;background:var(--color-primary, #00D9A3);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .2s}.sync-indicator__action[data-v-a4db0523]:hover{opacity:.85}.sync-indicator-enter-active[data-v-a4db0523],.sync-indicator-leave-active[data-v-a4db0523]{transition:all .3s cubic-bezier(.16,1,.3,1)}.sync-indicator-enter-from[data-v-a4db0523],.sync-indicator-leave-to[data-v-a4db0523]{opacity:0;transform:translateY(20px) scale(.95)}@media(max-width:639.98px){.sync-indicator[data-v-a4db0523]{bottom:12px;right:12px;left:12px;min-width:auto}.sync-indicator__hint[data-v-a4db0523]{display:none}}[data-mode=dark] .sync-indicator[data-v-a4db0523]{background:var(--color-bg-card, #1e293b);border-color:var(--color-border, #334155);color:var(--color-text, #f1f5f9)}.toast-container[data-v-0b7e6329]{position:fixed;z-index:9999;display:flex;flex-direction:column;gap:.75rem;padding:1rem;pointer-events:none;max-width:420px}.toast-container--top-right[data-v-0b7e6329]{top:1rem;right:1rem}.toast-container--top-left[data-v-0b7e6329]{top:1rem;left:1rem}.toast-container--top-center[data-v-0b7e6329]{top:1rem;left:50%;transform:translate(-50%)}.toast-container--bottom-right[data-v-0b7e6329]{bottom:1rem;right:1rem;flex-direction:column-reverse}.toast-container--bottom-left[data-v-0b7e6329]{bottom:1rem;left:1rem;flex-direction:column-reverse}.toast-container--bottom-center[data-v-0b7e6329]{bottom:1rem;left:50%;transform:translate(-50%);flex-direction:column-reverse}.toast-pro[data-v-0b7e6329]{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001f;border-left:4px solid #6366f1;min-width:320px;pointer-events:auto;overflow:hidden}.toast-pro--success[data-v-0b7e6329]{border-left-color:#10b981}.toast-pro--success .toast-pro__icon[data-v-0b7e6329]{background:linear-gradient(135deg,#10b981,#059669)}.toast-pro--error[data-v-0b7e6329]{border-left-color:#ef4444}.toast-pro--error .toast-pro__icon[data-v-0b7e6329]{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-pro--warning[data-v-0b7e6329]{border-left-color:#f59e0b}.toast-pro--warning .toast-pro__icon[data-v-0b7e6329]{background:linear-gradient(135deg,#f59e0b,#d97706)}.toast-pro--info[data-v-0b7e6329]{border-left-color:#3b82f6}.toast-pro--info .toast-pro__icon[data-v-0b7e6329]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.toast-pro--loading[data-v-0b7e6329]{border-left-color:#6366f1}.toast-pro--loading .toast-pro__icon[data-v-0b7e6329]{background:linear-gradient(135deg,#6366f1,#764ba2)}.toast-pro__icon[data-v-0b7e6329]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;flex-shrink:0}.toast-pro__spinner[data-v-0b7e6329]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:leci-spin-0b7e6329 .8s linear infinite}@keyframes leci-spin-0b7e6329{to{transform:rotate(360deg)}}.toast-pro__content[data-v-0b7e6329]{flex:1;min-width:0}.toast-pro__title[data-v-0b7e6329]{font-weight:600;color:#1e293b;font-size:.9375rem;line-height:1.3}.toast-pro__message[data-v-0b7e6329]{font-size:.8125rem;color:#64748b;margin-top:4px;line-height:1.5}.toast-pro__action button[data-v-0b7e6329]{padding:.375rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;overflow:hidden;position:relative}.toast-pro__action button[data-v-0b7e6329]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.toast-pro__close[data-v-0b7e6329]{width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:1.125rem;line-height:1;flex-shrink:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toast-pro__close[data-v-0b7e6329]:hover{background:#f1f5f9;color:#64748b;transform:rotate(90deg)}.toast-pro__progress[data-v-0b7e6329]{position:absolute;bottom:0;left:0;right:0;height:3px;background:#6366f11a;overflow:hidden}.toast-pro__progress-bar[data-v-0b7e6329]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .1s linear}.toast-pro--success .toast-pro__progress-bar[data-v-0b7e6329]{background:linear-gradient(90deg,#10b981,#059669)}.toast-pro--error .toast-pro__progress-bar[data-v-0b7e6329]{background:linear-gradient(90deg,#ef4444,#dc2626)}.toast-pro--warning .toast-pro__progress-bar[data-v-0b7e6329]{background:linear-gradient(90deg,#f59e0b,#d97706)}.toast-pro--info .toast-pro__progress-bar[data-v-0b7e6329]{background:linear-gradient(90deg,#3b82f6,#2563eb)}.toast-enter-active[data-v-0b7e6329]{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-0b7e6329]{transition:all .3s cubic-bezier(.4,0,1,1)}.toast-enter-from[data-v-0b7e6329],.toast-leave-to[data-v-0b7e6329]{opacity:0;transform:translate(100%)}.toast-move[data-v-0b7e6329]{transition:transform .3s ease}.upgrade-overlay[data-v-f45bafe3]{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(2px)}.upgrade-modal[data-v-f45bafe3]{position:relative;width:360px;max-width:90vw;padding:32px 28px 24px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;text-align:center}.upgrade-modal__close[data-v-f45bafe3]{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:#f3f4f6;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:background .15s}.upgrade-modal__close[data-v-f45bafe3]:hover{background:#e5e7eb}.upgrade-modal__icon[data-v-f45bafe3]{font-size:40px;margin-bottom:12px}.upgrade-modal__title[data-v-f45bafe3]{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.upgrade-modal__desc[data-v-f45bafe3]{font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.5}.upgrade-modal__card[data-v-f45bafe3]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fefce8;border:1px solid #fde68a;border-radius:10px;margin-bottom:20px}.upgrade-modal__card-label[data-v-f45bafe3]{font-size:12px;color:#92400e;background:#fef3c7;padding:2px 8px;border-radius:4px;font-weight:600}.upgrade-modal__card-plan[data-v-f45bafe3]{font-size:15px;font-weight:600;color:#1f2937}.upgrade-modal__card-price[data-v-f45bafe3]{margin-left:auto;font-size:16px;font-weight:700;color:#d97706}.upgrade-modal__card-price small[data-v-f45bafe3]{font-size:12px;font-weight:400;color:#9ca3af}.upgrade-modal__actions[data-v-f45bafe3]{display:flex;flex-direction:column;gap:8px}.upgrade-modal__btn[data-v-f45bafe3]{width:100%;padding:10px 0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.upgrade-modal__btn--primary[data-v-f45bafe3]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.upgrade-modal__btn--primary[data-v-f45bafe3]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d977064d}.upgrade-modal__btn--ghost[data-v-f45bafe3]{background:transparent;color:#9ca3af}.upgrade-modal__btn--ghost[data-v-f45bafe3]:hover{color:#6b7280}.upgrade-fade-enter-active[data-v-f45bafe3],.upgrade-fade-leave-active[data-v-f45bafe3]{transition:opacity .2s ease}.upgrade-fade-enter-from[data-v-f45bafe3],.upgrade-fade-leave-to[data-v-f45bafe3]{opacity:0}.skip-link[data-v-046e74ce]{position:absolute;top:-40px;left:0;z-index:9999;padding:8px 16px;background:var(--brand-600);color:#fff;font-weight:600;text-decoration:none;border-radius:0 0 var(--r-md) 0;transition:top var(--motion-fast, .15s) ease}.skip-link[data-v-046e74ce]:focus{top:0}#leci-app[data-v-046e74ce]{min-height:100vh;min-height:100dvh;transition:opacity .15s ease}#leci-app.transitioning[data-v-046e74ce]{opacity:.8}.nav-header[data-v-046e74ce]{position:fixed;top:0;left:0;right:0;height:var(--nav-height);overflow:hidden;background:#fffffff2;backdrop-filter:blur(10px);box-shadow:var(--sh-1);z-index:1000;transition:box-shadow .3s ease,background-color .3s ease}.nav-header[data-v-046e74ce]:hover{box-shadow:var(--sh-2)}.nav-header.is-scrolled[data-v-046e74ce]{background:#ffffffc7;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px #0f172a0f,0 4px 12px #0f172a0d}.nav-header.is-scrolled[data-v-046e74ce]:hover{box-shadow:0 1px #0f172a14,0 6px 16px #0f172a0f}.nav-header.is-scrolled .nav-item__text[data-v-046e74ce],.nav-header.is-scrolled .nav-user__name[data-v-046e74ce]{transform:scale(.92);transform-origin:left center}.nav-item__text[data-v-046e74ce],.nav-user__name[data-v-046e74ce]{transform-origin:left center;transition:transform var(--d-base) var(--ease-smooth, ease)}.nav-container[data-v-046e74ce]{width:100%;height:100%;padding:0 24px;display:flex;align-items:center;justify-content:flex-start;gap:8px}.nav-logo[data-v-046e74ce]{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;transition:transform .2s ease}.nav-logo[data-v-046e74ce]:hover{transform:scale(1.05)}.nav-logo__img[data-v-046e74ce]{height:34px;width:auto;display:block}.nav-logo:hover .nav-logo__img[data-v-046e74ce]{transform:scale(1.03)}@keyframes gradientShift-046e74ce{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes logoTextShift-046e74ce{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.nav-menu[data-v-046e74ce]{display:flex;align-items:center;gap:2px;position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.nav-menu[data-v-046e74ce]::-webkit-scrollbar{display:none}.nav-item[data-v-046e74ce]{display:flex;align-items:center;gap:2px;padding:var(--sp-2) 10px;border-radius:var(--r-md);color:var(--ink-3);text-decoration:none;transition:background-color var(--d-fast),color var(--d-fast);position:relative;overflow:hidden}.nav-item[data-v-046e74ce]:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:3px;background:var(--brand-600);border-radius:2px;transform:translate(-50%);transition:width .2s ease}.nav-item[data-v-046e74ce]:hover{background:var(--grad-brand);color:#fff}.nav-item--active[data-v-046e74ce]{background:var(--mint-700);color:#fff;font-weight:600}.nav-item--active[data-v-046e74ce]:before{width:0}.nav-item__icon[data-v-046e74ce]{font-size:18px;transition:transform .2s ease;display:inline-flex;align-items:center}.nav-item:hover .nav-item__icon[data-v-046e74ce]{transform:scale(1.15)}.nav-item__text[data-v-046e74ce]{font-size:13px;font-weight:500}.nav-item__indicator[data-v-046e74ce]{position:absolute;bottom:-2px;left:50%;width:0;height:3px;background:var(--gradient-primary, linear-gradient(135deg,#047857,#059669));border-radius:2px;transform:translate(-50%);transition:width var(--transition-normal, .25s var(--ease-spring, cubic-bezier(.34,1.56,.64,1)))}.nav-item--active .nav-item__indicator[data-v-046e74ce]{width:60%}.nav-item__badge[data-v-046e74ce]{position:absolute;top:4px;right:4px;padding:1px 6px;font-size:10px;font-weight:700;background:var(--color-error, #DC2626);color:#fff;border-radius:999px;line-height:1.4;letter-spacing:.03em;box-shadow:0 2px 6px #dc262659;animation:nav-badge-pulse-046e74ce 2s ease-in-out infinite}.nav-item__plus-lock[data-v-046e74ce]{font-size:10px;margin-left:3px;vertical-align:super;opacity:.85}@keyframes nav-badge-pulse-046e74ce{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.nav-user[data-v-046e74ce]{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0;margin-left:auto}.nav-user__btn[data-v-046e74ce]{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) 8px;border-radius:var(--r-md);color:var(--ink-1);text-decoration:none;transition:background-color .2s ease,transform .2s ease;white-space:nowrap}.nav-user__btn[data-v-046e74ce]:hover{background:var(--bg-subtle)}.nav-user__icon[data-v-046e74ce]{font-size:18px;transition:transform .2s ease;display:inline-flex;align-items:center}.nav-user__btn:hover .nav-user__icon[data-v-046e74ce]{transform:scale(1.1)}.nav-user__avatar[data-v-046e74ce]{font-size:22px;transition:transform .2s ease}.nav-user__btn:hover .nav-user__avatar[data-v-046e74ce]{transform:scale(1.1)}.nav-user__name[data-v-046e74ce]{font-size:13px;font-weight:500;white-space:nowrap}.nav-user__logout[data-v-046e74ce]{padding:var(--sp-2);background:none;border:none;font-size:18px;cursor:pointer;opacity:.6;transition:opacity .2s ease,background-color .2s ease,transform .2s ease;border-radius:var(--r-sm)}.nav-user__logout[data-v-046e74ce]:hover{opacity:1;background:var(--bg-subtle);transform:scale(1.1)}.main-content[data-v-046e74ce]{min-height:100vh;min-height:100dvh;overflow-x:hidden}.main-content--with-nav[data-v-046e74ce]{padding-top:var(--nav-height)}.cmd-hint[data-v-046e74ce]{position:fixed;bottom:100px;right:24px;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem .5rem .625rem;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.2);border-radius:999px;box-shadow:0 4px 12px #00000014;cursor:pointer;font-size:.8125rem;font-weight:500;color:#475569;z-index:100;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.cmd-hint[data-v-046e74ce]:hover{background:#fff;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 20px #6366f126;color:#6366f1}.cmd-hint[data-v-046e74ce]:active{transform:translateY(0) scale(.98)}.cmd-hint__icon[data-v-046e74ce]{font-size:1rem;transition:transform .3s ease}.cmd-hint:hover .cmd-hint__icon[data-v-046e74ce]{transform:rotate(15deg) scale(1.1)}.cmd-hint__text[data-v-046e74ce]{font-weight:600}.cmd-hint__kbd[data-v-046e74ce]{font-size:.6875rem;padding:2px 6px;background:linear-gradient(135deg,#f0f4ff,#faf5ff);border-radius:4px;color:#6366f1;font-family:monospace;font-weight:700;border:1px solid rgba(99,102,241,.2)}.cmd-hint:hover .cmd-hint__kbd[data-v-046e74ce]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}@media(max-width:1023.98px){.cmd-hint__text[data-v-046e74ce]{display:none}.cmd-hint[data-v-046e74ce]{bottom:80px;right:16px;padding:.5rem}}.main-content[data-v-046e74ce]>*{max-width:100%;overflow-x:hidden}.mobile-nav[data-v-046e74ce]{position:fixed;bottom:0;left:0;right:0;height:64px;background:#fffffffa;backdrop-filter:blur(10px);box-shadow:0 -2px 16px #00000014;display:flex;justify-content:space-around;z-index:1000}.mobile-nav__item[data-v-046e74ce]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-3);text-decoration:none;transition:color .2s ease,transform .2s ease;position:relative}.mobile-nav__item[data-v-046e74ce]:before{content:"";position:absolute;top:0;left:50%;width:0;height:3px;background:var(--brand-600);border-radius:0 0 2px 2px;transform:translate(-50%);transition:width .2s ease}.mobile-nav__item--active[data-v-046e74ce]{color:var(--brand-600)}.mobile-nav__item--active[data-v-046e74ce]:before{width:60%}.mobile-nav__icon[data-v-046e74ce]{font-size:24px;transition:transform .2s ease}.mobile-nav__item--active .mobile-nav__icon[data-v-046e74ce],.mobile-nav__item:hover .mobile-nav__icon[data-v-046e74ce]{transform:scale(1.15) translateY(-2px)}.mobile-nav__text[data-v-046e74ce]{font-size:12px;font-weight:500}.mobile-nav__item[data-v-046e74ce]:active{transform:scale(.96);transition:transform .1s ease}.mobile-nav__item--active .mobile-nav__icon svg[data-v-046e74ce]{transform:translateY(-4px);transition:transform var(--d-base) var(--e-out)}.page-loader[data-v-046e74ce]{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-600),#34D399,var(--brand-600));background-size:200% 100%;animation:loaderMove-046e74ce 1s linear infinite;z-index:2000}.loader-spinner[data-v-046e74ce]{display:none}@keyframes loaderMove-046e74ce{0%{background-position:200% 0}to{background-position:-200% 0}}.page-enter-active[data-v-046e74ce],.page-leave-active[data-v-046e74ce]{transition:opacity var(--transition-page),transform var(--transition-page)}.page-enter-from[data-v-046e74ce]{opacity:0;transform:translate(20px)}.page-leave-to[data-v-046e74ce]{opacity:0;transform:translate(-20px)}@keyframes pageLoad-046e74ce{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-load-animation[data-v-046e74ce]{animation:pageLoad-046e74ce var(--transition-slow) ease-out}@keyframes staggerIn-046e74ce{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stagger-item[data-v-046e74ce]{opacity:0;animation:staggerIn-046e74ce var(--d-base) var(--e-out) forwards}.stagger-item[data-v-046e74ce]:nth-child(1){animation-delay:0ms}.stagger-item[data-v-046e74ce]:nth-child(2){animation-delay:50ms}.stagger-item[data-v-046e74ce]:nth-child(3){animation-delay:.1s}.stagger-item[data-v-046e74ce]:nth-child(4){animation-delay:.15s}.stagger-item[data-v-046e74ce]:nth-child(5){animation-delay:.2s}.stagger-item[data-v-046e74ce]:nth-child(6){animation-delay:.25s}.loader-enter-active[data-v-046e74ce],.loader-leave-active[data-v-046e74ce]{transition:opacity .2s ease}.loader-enter-from[data-v-046e74ce],.loader-leave-to[data-v-046e74ce]{opacity:0}@media(max-width:639.98px){.nav-menu[data-v-046e74ce]{display:none}.main-content--with-nav[data-v-046e74ce]{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}}@media(min-width:640px){.mobile-nav[data-v-046e74ce]{display:none}}.route-chunk-loading[data-v-046e74ce]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--ink-3);padding:40px 20px}.route-chunk-spinner[data-v-046e74ce]{width:40px;height:40px;border:3px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:route-chunk-spin-046e74ce .8s linear infinite}@keyframes route-chunk-spin-046e74ce{to{transform:rotate(360deg)}}.route-chunk-text[data-v-046e74ce]{font-size:14px;color:var(--ink-3);margin:0}.site-footer[data-v-046e74ce]{text-align:center;padding:12px 16px;font-size:12px;color:var(--color-text-tertiary, #999);background:transparent}.site-footer a[data-v-046e74ce]{color:var(--color-text-tertiary, #999);text-decoration:none;transition:color .2s ease}.site-footer a[data-v-046e74ce]:hover{color:var(--color-primary, #8B5CF6);text-decoration:underline}.site-footer__desktop-toggle[data-v-046e74ce]{margin-left:12px;padding:4px 12px;font-size:12px;color:var(--color-text-tertiary, #999);background:transparent;border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:9999px;cursor:pointer;transition:color .2s ease,border-color .2s ease;touch-action:manipulation}.site-footer__desktop-toggle[data-v-046e74ce]:hover,.site-footer__desktop-toggle[data-v-046e74ce]:focus-visible{color:var(--color-primary, #8B5CF6);border-color:var(--color-primary, #8B5CF6)}:root{--font-display: "Inter", "Outfit", "Segoe UI Emoji", "Apple Color Emoji", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Inter", "DM Sans", "Segoe UI Emoji", "Apple Color Emoji", "PingFang SC", "Microsoft YaHei", sans-serif;--color-primary: #047857;--color-primary-hover: #065F46;--color-primary-light: #ECFDF5;--color-primary-dark: #064E3B;--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-accent-light: #fef3c7;--gradient-primary: linear-gradient(135deg, #047857, #059669);--gradient-primary-hover: linear-gradient(135deg, #065F46, #047857);--gradient-accent: linear-gradient(135deg, #D97706, #B45309);--gradient-hero: linear-gradient(135deg, #047857 0%, #059669 50%, #D97706 100%);--gradient-card-shine: linear-gradient(135deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 50%, rgba(0,0,0,.05) 100%);--gradient-btn-hover: linear-gradient(135deg, var(--color-primary-hover) 0%, var(--color-primary) 100%);--gradient-success: linear-gradient(135deg, #059669, #34D399);--gradient-error: linear-gradient(135deg, #DC2626, #F87171);--gradient-warning: linear-gradient(135deg, #D97706, #FBBF24);--grammar-tense: #722ED1;--grammar-tense-light: #F5F0FF;--grammar-tense-dark: #5B21B6;--grammar-wordclass: #13C2C2;--grammar-wordclass-light: #EDFBFB;--grammar-wordclass-dark: #0D7377;--grammar-clause: #FA8C16;--grammar-clause-light: #FFF7ED;--grammar-clause-dark: #C2410C;--grammar-question: #52C41A;--grammar-question-light: #F6FFED;--grammar-question-dark: #389E0D;--grammar-nonfinite: #EB2F96;--grammar-nonfinite-light: #FFF0F7;--grammar-nonfinite-dark: #BE185D;--grammar-voice: #4A90E2;--grammar-voice-light: #EFF6FF;--grammar-voice-dark: #1D4ED8;--grammar-communication: #D97706;--grammar-communication-light: #FFFBEB;--grammar-communication-dark: #B45309;--grammar-comparison: #059669;--grammar-comparison-light: #ECFDF5;--grammar-comparison-dark: #047857;--grammar-other: #8C8C8C;--grammar-other-light: #F5F5F5;--grammar-other-dark: #525252;--grammar-hero-gradient: linear-gradient(135deg, rgba(4,120,87,.05) 0%, rgba(217,119,6,.05) 50%, rgba(114,46,209,.05) 100%);--shadow-grammar: 0 4px 20px rgba(4, 120, 87, .15), 0 2px 8px rgba(0, 0, 0, .05);--shadow-grammar-hover: 0 8px 30px rgba(4, 120, 87, .2), 0 4px 12px rgba(0, 0, 0, .08);--shadow-grammar-active: 0 2px 10px rgba(4, 120, 87, .1);--grammar-tab-active-bg: linear-gradient(135deg, var(--color-primary), var(--color-primary-end));--grammar-tab-active-shadow: 0 4px 15px rgba(4, 120, 87, .4);--color-success: #059669;--color-success-light: #ECFDF5;--color-success-hover: #047857;--color-warning: #D97706;--color-warning-light: #FFFBEB;--color-warning-hover: #B45309;--color-error: #DC2626;--color-error-light: #FEF2F2;--color-error-hover: #B91C1C;--color-urgent: #DC2626;--color-urgent-light: #FEF2F2;--color-info: #047857;--color-info-light: #ECFDF5;--color-bg: #FBF9F6;--color-bg-card: #FFFFFF;--color-bg-hover: #F5F3F0;--color-bg-active: #EDEAE4;--color-bg-elevated: #FFFFFF;--color-bg-dark: #0F172A;--color-bg-dark-card: #1E293B;--color-bg-dark-hover: #334155;--color-bg-dark-elevated: #283548;--color-text: #1C1917;--color-text-inverse: #FFFFFF;--color-text-secondary: #57534E;--color-text-tertiary: #78716C;--color-text-disabled: #A8A29E;--color-border: #D6D3D1;--color-border-hover: #A8A29E;--color-border-focus: #047857;--color-border-light: #E7E5E4;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-primary: 0 4px 14px rgba(4, 120, 87, .4);--shadow-success: 0 4px 14px rgba(5, 150, 105, .4);--shadow-error: 0 4px 14px rgba(220, 38, 38, .4);--shadow-accent: 0 4px 14px rgba(217, 119, 6, .4);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-page: 24px;--space-card: 24px;--space-card-gap: 16px;--font-xs: 11px;--font-sm: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 30px;--font-4xl: 36px;--font-word: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--motion-instant: 0ms;--motion-fast: .15s;--motion-normal: .25s;--motion-slow: .4s;--motion-slide: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, .68, .06);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--motion-fast) var(--ease-out);--transition-normal: var(--motion-normal) var(--ease-out);--transition-slow: var(--motion-slow) var(--ease-out);--transition-progress: var(--motion-slow) var(--ease-in);--transition-page: var(--motion-slide) var(--ease-smooth);--pos-article-bg: #ECFDF5;--pos-article-tag: #6EE7B7;--pos-article-text: #065F46;--pos-noun-bg: #F6FFED;--pos-noun-tag: #B7EB8F;--pos-noun-text: #389E0D;--pos-verb-bg: #FFF1F0;--pos-verb-tag: #FFCCC7;--pos-verb-text: #CF1322;--pos-adjective-bg: #FFFBEB;--pos-adjective-tag: #FCD34D;--pos-adjective-text: #92400E;--pos-adverb-bg: #EFF6FF;--pos-adverb-tag: #93C5FD;--pos-adverb-text: #1E40AF;--pos-preposition-bg: #FFF7ED;--pos-preposition-tag: #FDBA74;--pos-preposition-text: #9A3412;--pos-pronoun-bg: #F5F3FF;--pos-pronoun-tag: #C4B5FD;--pos-pronoun-text: #5B21B6;--pos-conjunction-bg: #ECFDF5;--pos-conjunction-tag: #6EE7B7;--pos-conjunction-text: #065F46;--pos-determiner-bg: #F9FAFB;--pos-determiner-tag: #D1D5DB;--pos-determiner-text: #4B5563;--pos-aux-bg: #FFF1F0;--pos-aux-tag: #FCA5A5;--pos-aux-text: #991B1B;--pos-number-bg: #ECFDF5;--pos-number-tag: #6EE7B7;--pos-number-text: #065F46;--pos-subject-bg: #047857;--pos-subject-tag: #059669;--pos-subject-text: #FFFFFF;--pos-predicate-bg: #DC2626;--pos-predicate-tag: #EF4444;--pos-predicate-text: #FFFFFF;--pos-object-bg: #059669;--pos-object-tag: #10B981;--pos-object-text: #FFFFFF;--pos-predicative-bg: #D97706;--pos-predicative-tag: #F59E0B;--pos-predicative-text: #FFFFFF;--pos-attribute-bg: #7C3AED;--pos-attribute-tag: #8B5CF6;--pos-attribute-text: #FFFFFF;--pos-other-bg: #F3F4F6;--pos-other-tag: #9CA3AF;--pos-other-text: #FFFFFF;--nav-height: 66px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}#app{min-height:100vh;min-height:100dvh;overflow-x:hidden}.page-container{max-width:1200px;margin:0 auto;padding:var(--space-lg);overflow-x:hidden}@media(max-width:768px){.page-container{padding:var(--space-md)}}@media(max-width:480px){.page-container{padding:var(--space-sm)}}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{scroll-margin-top:calc(var(--nav-height) + 16px)}body{font-family:var(--font-body);font-size:var(--font-md);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;min-height:100dvh;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;cursor:pointer;transition:transform var(--motion-fast) var(--ease-spring),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out);-webkit-tap-highlight-color:rgba(4,120,87,.1)}button:active{transform:scale(.95)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:active{transform:none}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--color-primary-light)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--font-sm)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-secondary{color:var(--color-text-secondary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.m-auto{margin:auto}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal),transform var(--transition-fast)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@keyframes shake-nature{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake-nature .4s var(--ease-out)}.card-stagger{opacity:0;transform:translateY(8px);animation:card-entrance var(--motion-normal) var(--ease-out) forwards}@keyframes card-entrance{to{opacity:1;transform:translateY(0)}}.card-stagger:nth-child(1){animation-delay:0ms}.card-stagger:nth-child(2){animation-delay:80ms}.card-stagger:nth-child(3){animation-delay:.16s}.card-stagger:nth-child(4){animation-delay:.24s}.card-stagger:nth-child(5){animation-delay:.32s}.card-stagger:nth-child(n+6){animation-delay:.4s}.selected{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}input[aria-invalid=false],select[aria-invalid=false],textarea[aria-invalid=false]{border-color:var(--color-success)}.validation-message{font-size:var(--font-xs);margin-top:4px;display:flex;align-items:center;gap:4px}.validation-message--error{color:var(--color-error)}.validation-message--success{color:var(--color-success)}.required-mark{color:var(--color-error);margin-left:2px}.loading-overlay{position:relative}.loading-overlay:after{content:"";position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center}.skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-bg-hover) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease}.animate-slideUp{animation:slideUp var(--transition-slow) ease}.animate-spin{animation:spin 1s linear infinite}.card-list-item{content-visibility:auto;contain-intrinsic-size:200px}@media(max-width:639.98px){:root{--nav-height: 56px}.hide-mobile{display:none!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media(min-width:640px)and (max-width:1023.98px){.hide-tablet{display:none!important}}@media(min-width:1024px){.hide-desktop{display:none!important}}@media(prefers-color-scheme:no-dark){:root{--color-bg: #0F172A;--color-bg-card: #1E293B;--color-bg-hover: #334155;--color-bg-active: #283548;--color-bg-elevated: #283548;--color-text: #F8FAFC;--color-text-secondary: #CBD5E1;--color-text-tertiary: #64748B;--color-text-disabled: #475569;--color-border: #334155;--color-border-hover: #475569;--color-border-focus: #A78BFA;--color-border-light: #1E293B;--color-primary: #6EE7B7;--color-primary-hover: #A7F3D0;--color-primary-light: rgba(110, 231, 183, .15);--color-primary-dark: #34D399;--color-accent: #FCD34D;--color-accent-hover: #FDE68A;--color-accent-light: rgba(252, 211, 77, .15);--color-success: #34D399;--color-success-light: rgba(52, 211, 153, .15);--color-warning: #FBBF24;--color-warning-light: rgba(251, 191, 36, .15);--color-error: #F87171;--color-error-light: rgba(248, 113, 113, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-primary: 0 4px 14px rgba(110, 231, 183, .3);--shadow-success: 0 4px 14px rgba(52, 211, 153, .3);--shadow-error: 0 4px 14px rgba(248, 113, 113, .3);--shadow-accent: 0 4px 14px rgba(252, 211, 77, .3)}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}}[data-theme=dark]{--color-bg: #0F172A;--color-bg-card: #1E293B;--color-bg-hover: #334155;--color-bg-active: #283548;--color-bg-elevated: #283548;--color-text: #F8FAFC;--color-text-secondary: #CBD5E1;--color-text-tertiary: #64748B;--color-text-disabled: #475569;--color-border: #334155;--color-border-hover: #475569;--color-border-focus: #6EE7B7;--color-border-light: #1E293B;--color-primary: #6EE7B7;--color-primary-hover: #A7F3D0;--color-primary-light: rgba(110, 231, 183, .15);--color-primary-dark: #34D399;--color-accent: #FCD34D;--color-accent-hover: #FDE68A;--color-accent-light: rgba(252, 211, 77, .15);--color-success: #34D399;--color-success-light: rgba(52, 211, 153, .15);--color-warning: #FBBF24;--color-warning-light: rgba(251, 191, 36, .15);--color-error: #F87171;--color-error-light: rgba(248, 113, 113, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-primary: 0 4px 14px rgba(110, 231, 183, .3);--shadow-success: 0 4px 14px rgba(52, 211, 153, .3);--shadow-error: 0 4px 14px rgba(248, 113, 113, .3);--shadow-accent: 0 4px 14px rgba(252, 211, 77, .3)}[data-theme=light]{--color-bg: #FBF9F6;--color-bg-card: #FFFFFF;--color-bg-hover: #F5F3F0;--color-bg-active: #EDEAE4;--color-bg-elevated: #FFFFFF;--color-text: #1C1917;--color-text-secondary: #57534E;--color-text-tertiary: #78716C;--color-text-disabled: #A8A29E;--color-border: #D6D3D1;--color-border-hover: #A8A29E;--color-border-focus: #047857;--color-border-light: #E7E5E4;--color-primary: #047857;--color-primary-hover: #065F46;--color-primary-light: #ECFDF5;--color-primary-dark: #064E3B;--color-accent: #D97706;--color-accent-hover: #B45309;--color-accent-light: #FFFBEB;--color-success: #059669;--color-success-light: #ECFDF5;--color-warning: #D97706;--color-warning-light: #FFFBEB;--color-error: #DC2626;--color-error-light: #FEF2F2;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-primary: 0 4px 14px rgba(4, 120, 87, .4);--shadow-success: 0 4px 14px rgba(5, 150, 105, .4);--shadow-error: 0 4px 14px rgba(220, 38, 38, .4);--shadow-accent: 0 4px 14px rgba(217, 119, 6, .4)}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--leci-dur-fast: .15s;--leci-dur-normal: .3s;--leci-dur-slow: .5s;--leci-dur-slower: .8s;--leci-ease-out: cubic-bezier(.16, 1, .3, 1);--leci-ease-in-out: cubic-bezier(.4, 0, .2, 1);--leci-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--leci-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--leci-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--leci-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--leci-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--leci-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--leci-shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--leci-shadow-glow-strong: 0 0 30px rgba(99, 102, 241, .5);--leci-gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--leci-gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--leci-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--leci-gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--leci-gradient-info: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--leci-gradient-tech: linear-gradient(135deg, #0ea5e9 0%, #6366f1 50%, #8b5cf6 100%)}.page-enter-active,.page-leave-active{transition:all var(--leci-dur-slow) var(--leci-ease-out)}.page-enter-from{opacity:0;transform:translateY(20px) scale(.98)}.page-leave-to{opacity:0;transform:translateY(-20px) scale(1.02)}.slide-enter-active,.slide-leave-active{transition:all var(--leci-dur-normal) var(--leci-ease-out)}.slide-enter-from{opacity:0;transform:translate(30px)}.slide-leave-to{opacity:0;transform:translate(-30px)}.fade-enter-active,.fade-leave-active{transition:opacity var(--leci-dur-normal) var(--leci-ease-in-out)}.fade-enter-from,.fade-leave-to{opacity:0}.zoom-enter-active,.zoom-leave-active{transition:all var(--leci-dur-normal) var(--leci-ease-spring)}.zoom-enter-from{opacity:0;transform:scale(.9)}.zoom-leave-to{opacity:0;transform:scale(1.1)}.leci-card-3d-pro{position:relative;background:#ffffffe6;border-radius:16px;padding:1.5rem;transition:all var(--leci-dur-normal) var(--leci-ease-out);transform-style:preserve-3d;will-change:transform;box-shadow:var(--leci-shadow-md);overflow:hidden}.leci-card-3d-pro:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.1) 0%,transparent 50%);opacity:0;transition:opacity var(--leci-dur-normal) var(--leci-ease-out)}.leci-card-3d-pro:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--leci-shadow-xl),var(--leci-shadow-glow)}.leci-card-3d-pro:hover:before{opacity:1}.leci-glass-pro{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:var(--leci-shadow-lg);transition:all var(--leci-dur-normal) var(--leci-ease-out)}.leci-glass-pro:hover{background:#ffffffd9;box-shadow:var(--leci-shadow-xl);transform:translateY(-2px)}.leci-card-gradient-border{position:relative;background:#fff;border-radius:16px;padding:1.5rem;z-index:1}.leci-card-gradient-border:before{content:"";position:absolute;inset:-2px;background:var(--leci-gradient-tech);border-radius:18px;z-index:-1;opacity:0;transition:opacity var(--leci-dur-normal) var(--leci-ease-out)}.leci-card-gradient-border:hover:before{opacity:1}.leci-card-neon{position:relative;background:#0f172a;border-radius:16px;padding:1.5rem;color:#fff;transition:all var(--leci-dur-normal) var(--leci-ease-out);overflow:hidden}.leci-card-neon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(99,102,241,.3) 90deg,transparent 180deg);animation:leci-neon-rotate 4s linear infinite;opacity:0;transition:opacity var(--leci-dur-normal) var(--leci-ease-out)}.leci-card-neon:hover:before{opacity:1}@keyframes leci-neon-rotate{to{transform:rotate(360deg)}}.leci-btn-pro{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--leci-gradient-primary);border:none;border-radius:12px;cursor:pointer;overflow:hidden;transition:all var(--leci-dur-normal) var(--leci-ease-out);box-shadow:0 4px 14px #6366f166;will-change:transform}.leci-btn-pro:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width var(--leci-dur-slow) var(--leci-ease-out),height var(--leci-dur-slow) var(--leci-ease-out)}.leci-btn-pro:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}.leci-btn-pro:hover:before{width:300px;height:300px}.leci-btn-pro:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #6366f166}.leci-btn-outline{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#6366f1;background:transparent;border:2px solid #6366f1;border-radius:12px;cursor:pointer;overflow:hidden;transition:all var(--leci-dur-normal) var(--leci-ease-out)}.leci-btn-outline:before{content:"";position:absolute;inset:0;background:var(--leci-gradient-primary);opacity:0;transition:opacity var(--leci-dur-normal) var(--leci-ease-out);z-index:-1}.leci-btn-outline:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.leci-btn-outline:hover:before{opacity:1}.leci-btn-success{background:var(--leci-gradient-success);box-shadow:0 4px 14px #10b98166}.leci-btn-success:hover{box-shadow:0 6px 20px #10b98199}.leci-btn-warning{background:var(--leci-gradient-warning);box-shadow:0 4px 14px #f59e0b66}.leci-btn-warning:hover{box-shadow:0 6px 20px #f59e0b99}.leci-btn-danger{background:var(--leci-gradient-danger);box-shadow:0 4px 14px #ef444466}.leci-btn-danger:hover{box-shadow:0 6px 20px #ef444499}.leci-ripple{position:absolute;border-radius:50%;background:#fff9;pointer-events:none;animation:leci-ripple-effect .6s var(--leci-ease-out);transform:scale(0)}@keyframes leci-ripple-effect{to{transform:scale(4);opacity:0}}@keyframes leci-ripple-anim{to{transform:scale(4);opacity:0}}.leci-skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001f,#0000000f 75%);background-size:200% 100%;animation:leci-skeleton-shimmer 1.5s infinite;border-radius:8px}@keyframes leci-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.leci-loader{display:inline-block;width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:leci-loader-spin .8s linear infinite}@keyframes leci-loader-spin{to{transform:rotate(360deg)}}.leci-loader-dots{display:inline-flex;gap:6px}.leci-loader-dots span{width:8px;height:8px;background:#6366f1;border-radius:50%;animation:leci-loader-dots-bounce 1.4s infinite ease-in-out both}.leci-loader-dots span:nth-child(1){animation-delay:-.32s}.leci-loader-dots span:nth-child(2){animation-delay:-.16s}@keyframes leci-loader-dots-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.leci-progress-pro{position:relative;width:100%;height:8px;background:#6366f11a;border-radius:999px;overflow:hidden}.leci-progress-pro__bar{position:absolute;inset:0;background:var(--leci-gradient-tech);border-radius:999px;transform-origin:left;animation:leci-progress-grow 1s var(--leci-ease-out);transition:width var(--leci-dur-slow) var(--leci-ease-out)}.leci-progress-pro__bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:leci-progress-shine 2s linear infinite}@keyframes leci-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes leci-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leci-progress-ring{transform:rotate(-90deg)}.leci-progress-ring__circle{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset var(--leci-dur-slower) var(--leci-ease-out)}.leci-hover-lift{transition:transform var(--leci-dur-normal) var(--leci-ease-out)}.leci-hover-lift:hover{transform:translateY(-4px)}.leci-pulse{animation:leci-pulse 2s infinite}@keyframes leci-pulse{0%,to{opacity:1}50%{opacity:.6}}.leci-heartbeat{animation:leci-heartbeat 1.5s infinite}@keyframes leci-heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%{transform:scale(1)}}.leci-wiggle{animation:leci-wiggle 1s ease-in-out infinite}@keyframes leci-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.leci-bounce-in{animation:leci-bounce-in var(--leci-dur-slow) var(--leci-ease-bounce)}@keyframes leci-bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.leci-fly-in-up{animation:leci-fly-in-up var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-fly-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.leci-fly-in-down{animation:leci-fly-in-down var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-fly-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.leci-fly-in-left{animation:leci-fly-in-left var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-fly-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.leci-fly-in-right{animation:leci-fly-in-right var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-fly-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.leci-zoom-in{animation:leci-zoom-in var(--leci-dur-slow) var(--leci-ease-spring)}@keyframes leci-zoom-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.leci-rotate-in{animation:leci-rotate-in var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-rotate-in{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}.leci-shake{animation:leci-shake .5s}@keyframes leci-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.leci-stagger>*{opacity:0;animation:leci-fly-in-up var(--leci-dur-slow) var(--leci-ease-out) forwards}.leci-stagger>*:nth-child(1){animation-delay:.05s}.leci-stagger>*:nth-child(2){animation-delay:.1s}.leci-stagger>*:nth-child(3){animation-delay:.15s}.leci-stagger>*:nth-child(4){animation-delay:.2s}.leci-stagger>*:nth-child(5){animation-delay:.25s}.leci-stagger>*:nth-child(6){animation-delay:.3s}.leci-stagger>*:nth-child(7){animation-delay:.35s}.leci-stagger>*:nth-child(8){animation-delay:.4s}.leci-stagger>*:nth-child(9){animation-delay:.45s}.leci-stagger>*:nth-child(10){animation-delay:.5s}.leci-number-roll{display:inline-block;font-variant-numeric:tabular-nums;font-weight:700;background:var(--leci-gradient-tech);-webkit-background-clip:text;background-clip:text;color:transparent;animation:leci-number-pop var(--leci-dur-slow) var(--leci-ease-spring)}@keyframes leci-number-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.leci-data-point{position:relative}.leci-data-point:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:#6366f1;border-radius:50%;transform:translate(-50%,-50%);animation:leci-data-pulse 2s infinite}@keyframes leci-data-pulse{0%,to{box-shadow:0 0 #6366f1b3}50%{box-shadow:0 0 0 12px #6366f100}}.leci-correct{animation:leci-correct-flash var(--leci-dur-slow) var(--leci-ease-out)}@keyframes leci-correct-flash{0%{background:#10b98100}30%{background:#10b9814d}to{background:#10b98100}}.leci-wrong{animation:leci-shake .5s;background:#ef44441a}.leci-streak{position:relative;display:inline-block;font-weight:900;font-size:1.5em;background:linear-gradient(135deg,#f59e0b,#ef4444,#8b5cf6);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:leci-streak-glow 1.5s ease-in-out infinite,leci-gradient-shift 3s ease infinite}@keyframes leci-streak-glow{0%,to{filter:drop-shadow(0 0 4px rgba(245,158,11,.5))}50%{filter:drop-shadow(0 0 12px rgba(245,158,11,.9))}}@keyframes leci-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.leci-achievement-unlock{animation:leci-achievement-unlock var(--leci-dur-slower) var(--leci-ease-bounce)}@keyframes leci-achievement-unlock{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{opacity:1;transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.leci-bg-glow{position:relative;overflow:hidden}.leci-bg-glow:before,.leci-bg-glow:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none;z-index:0}.leci-bg-glow:before{background:radial-gradient(circle,#6366f1 0%,transparent 70%);top:-200px;left:-200px;animation:leci-float-1 8s ease-in-out infinite}.leci-bg-glow:after{background:radial-gradient(circle,#8b5cf6 0%,transparent 70%);bottom:-200px;right:-200px;animation:leci-float-2 10s ease-in-out infinite}@keyframes leci-float-1{0%,to{transform:translate(0)}50%{transform:translate(50px,50px)}}@keyframes leci-float-2{0%,to{transform:translate(0)}50%{transform:translate(-50px,-50px)}}.leci-divider-wave{height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60'%3E%3Cpath fill='%236366f1' d='M0,30 C300,60 600,0 900,30 C1050,45 1200,30 1200,30 L1200,60 L0,60 Z'/%3E%3C/svg%3E") no-repeat bottom;background-size:cover;opacity:.3}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px;transition:outline-offset var(--leci-dur-fast) var(--leci-ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.leci-pulse,.leci-heartbeat,.leci-wiggle,.leci-streak,.leci-bg-glow:before,.leci-bg-glow:after,.leci-progress-pro__bar:after,.leci-card-neon:before{animation:none!important}}.leci-aurora{position:relative;overflow:hidden;isolation:isolate}.leci-aurora:before,.leci-aurora:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;pointer-events:none}.leci-aurora:before{background:radial-gradient(ellipse at 20% 30%,rgba(99,102,241,.4) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(236,72,153,.3) 0%,transparent 50%),radial-gradient(ellipse at 40% 80%,rgba(34,211,238,.3) 0%,transparent 50%);animation:leci-aurora-shift 12s ease-in-out infinite alternate}.leci-aurora:after{background:radial-gradient(ellipse at 70% 60%,rgba(168,85,247,.3) 0%,transparent 50%),radial-gradient(ellipse at 10% 90%,rgba(34,197,94,.2) 0%,transparent 50%);animation:leci-aurora-shift 15s ease-in-out infinite alternate-reverse;mix-blend-mode:screen}@keyframes leci-aurora-shift{0%{transform:translate(0) scale(1)}50%{transform:translate(-30px,20px) scale(1.1)}to{transform:translate(20px,-20px) scale(1.05)}}.leci-grid-bg{background-image:linear-gradient(rgba(99,102,241,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.08) 1px,transparent 1px);background-size:40px 40px;position:relative;animation:leci-grid-move 20s linear infinite}@keyframes leci-grid-move{0%{background-position:0 0}to{background-position:40px 40px}}.leci-dot-bg{background-image:radial-gradient(circle,rgba(99,102,241,.15) 1px,transparent 1px);background-size:20px 20px}.leci-particles{position:relative;overflow:hidden}.leci-particles:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(1px 1px at 15% 80%,white,transparent),radial-gradient(1px 1px at 35% 90%,white,transparent),radial-gradient(2px 2px at 70% 20%,white,transparent);background-size:200% 200%;animation:leci-particles-float 8s linear infinite;opacity:.6;pointer-events:none}@keyframes leci-particles-float{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:50px -100px,-50px 100px,100px 50px,-100px -50px,50px 50px,-50px -50px,80px -80px,-80px 80px}}.leci-fireworks{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none;animation:leci-firework-burst 1s ease-out forwards}@keyframes leci-firework-burst{0%{transform:scale(0);opacity:1;box-shadow:0 0 0 0 currentColor,0 0 0 0 currentColor,0 0 0 0 currentColor,0 0 0 0 currentColor}50%{transform:scale(1);opacity:.8}to{transform:scale(3);opacity:0;box-shadow:-50px -50px 0 0 transparent,50px -50px 0 0 transparent,-50px 50px 0 0 transparent,50px 50px 0 0 transparent}}.leci-magic-glow{position:relative;isolation:isolate}.leci-magic-glow:before{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,#ff006e,#fb5607,#ffbe0b,#8338ec,#3a86ff,#06ffa5,#ff006e);background-size:400% 400%;border-radius:inherit;z-index:-1;opacity:.7;animation:leci-magic-rotate 6s linear infinite,leci-magic-shift 8s ease infinite;filter:blur(12px)}@keyframes leci-magic-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes leci-magic-shift{0%{filter:blur(12px) hue-rotate(0deg)}to{filter:blur(12px) hue-rotate(360deg)}}.leci-sparkle{position:relative}.leci-sparkle:after{content:"✨";position:absolute;top:-8px;right:-8px;font-size:14px;animation:leci-sparkle-pulse 1.5s ease-in-out infinite}@keyframes leci-sparkle-pulse{0%,to{transform:scale(.8) rotate(0);opacity:.7}50%{transform:scale(1.2) rotate(180deg);opacity:1}}.leci-glow-border{position:relative;isolation:isolate}.leci-glow-border:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1;filter:blur(8px);opacity:.6;transition:opacity .3s ease}.leci-glow-border:hover:before{opacity:1}.leci-typewriter{display:inline-block;font-family:monospace;border-right:2px solid currentColor;white-space:nowrap;overflow:hidden;animation:leci-typewriter-blink .75s step-end infinite,leci-typewriter-typing 3s steps(30) 1s forwards;width:0}@keyframes leci-typewriter-blink{0%,to{border-color:transparent}50%{border-color:currentColor}}@keyframes leci-typewriter-typing{to{width:100%}}.leci-wave-text{display:inline-block}.leci-wave-text>span{display:inline-block;animation:leci-wave-bounce 1.5s ease-in-out infinite}.leci-wave-text>span:nth-child(1){animation-delay:0s}.leci-wave-text>span:nth-child(2){animation-delay:.05s}.leci-wave-text>span:nth-child(3){animation-delay:.1s}.leci-wave-text>span:nth-child(4){animation-delay:.15s}.leci-wave-text>span:nth-child(5){animation-delay:.2s}.leci-wave-text>span:nth-child(6){animation-delay:.25s}.leci-wave-text>span:nth-child(7){animation-delay:.3s}.leci-wave-text>span:nth-child(8){animation-delay:.35s}.leci-wave-text>span:nth-child(9){animation-delay:.4s}.leci-wave-text>span:nth-child(10){animation-delay:.45s}@keyframes leci-wave-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.leci-gradient-text{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#4facfe,#00f2fe,#667eea);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:leci-gradient-flow 4s linear infinite}@keyframes leci-gradient-flow{0%{background-position:0% 50%}to{background-position:300% 50%}}.leci-glitch{position:relative;display:inline-block}.leci-glitch:before,.leci-glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.leci-glitch:before{color:#ff006e;animation:leci-glitch-anim 2s infinite linear alternate-reverse;clip-path:polygon(0 0,100% 0,100% 33%,0 33%);transform:translate(-2px)}.leci-glitch:after{color:#00f5ff;animation:leci-glitch-anim 2s infinite linear alternate-reverse;clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%);transform:translate(2px)}@keyframes leci-glitch-anim{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}.leci-hologram{position:relative;background:linear-gradient(135deg,#6366f11a,#a855f71a,#22d3ee1a);background-size:200% 200%;animation:leci-hologram-shift 5s ease infinite;overflow:hidden;isolation:isolate}.leci-hologram:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease;pointer-events:none}.leci-hologram:hover:before{transform:translate(100%)}@keyframes leci-hologram-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.leci-levitate{animation:leci-levitate-float 4s ease-in-out infinite}@keyframes leci-levitate-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(.5deg)}50%{transform:translateY(-15px) rotate(0)}75%{transform:translateY(-10px) rotate(-.5deg)}}.leci-flip-card{perspective:1000px;width:100%;height:200px}.leci-flip-card__inner{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.leci-flip-card:hover .leci-flip-card__inner{transform:rotateY(180deg)}.leci-flip-card__front,.leci-flip-card__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;padding:1.5rem}.leci-flip-card__back{transform:rotateY(180deg);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.leci-wave-progress{position:relative;width:100%;height:12px;background:#6366f11a;border-radius:999px;overflow:hidden}.leci-wave-progress__fill{position:absolute;inset:0;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:999px;transform-origin:left;transition:width 1s cubic-bezier(.4,0,.2,1)}.leci-wave-progress__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:leci-wave-progress-shine 2s linear infinite}@keyframes leci-wave-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leci-countdown-ring{position:relative;display:inline-block}.leci-countdown-ring__svg{transform:rotate(-90deg);width:80px;height:80px}.leci-countdown-ring__bg{fill:none;stroke:#6366f11a;stroke-width:6}.leci-countdown-ring__progress{fill:none;stroke:url(#leci-countdown-gradient);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.leci-counter{display:inline-block;font-variant-numeric:tabular-nums;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .3s ease}.leci-counter.bump{animation:leci-counter-bump .4s ease}@keyframes leci-counter-bump{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.leci-mega-burst{position:relative;display:inline-block;animation:leci-mega-burst .6s cubic-bezier(.34,1.56,.64,1)}@keyframes leci-mega-burst{0%{transform:scale(0)}50%{transform:scale(1.4)}to{transform:scale(1)}}.leci-crown{position:relative;display:inline-block}.leci-crown:before{content:"👑";position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:24px;animation:leci-crown-float 2s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,215,0,.7))}@keyframes leci-crown-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}.leci-lightning{position:relative;display:inline-block;filter:drop-shadow(0 0 8px currentColor);animation:leci-lightning-flash .3s ease-out}@keyframes leci-lightning-flash{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.leci-magnetic{transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}.leci-tilt{transition:transform .3s ease;transform-style:preserve-3d;will-change:transform}.leci-cursor-glow{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);pointer-events:none;z-index:9999;mix-blend-mode:screen;transition:transform .1s ease-out}.leci-glass-pro{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3)}.leci-glass-dark{background:#0f172ab3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(99,102,241,.2);color:#fff}.leci-gradient-border{position:relative;background:#fff;border-radius:16px}.leci-gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.leci-shadow-soft{box-shadow:0 4px 20px #00000014}.leci-shadow-medium{box-shadow:0 8px 30px #0000001f}.leci-shadow-strong{box-shadow:0 15px 40px #00000026}.leci-shadow-glow{box-shadow:0 0 30px #6366f166}.leci-shadow-glow-success{box-shadow:0 0 30px #10b98166}.leci-shadow-glow-warning{box-shadow:0 0 30px #f59e0b66}.leci-shadow-glow-danger{box-shadow:0 0 30px #ef444466}.leci-inset-shadow{box-shadow:inset 0 2px 4px #0000001a}.leci-radius-sm{border-radius:8px}.leci-radius-md{border-radius:12px}.leci-radius-lg{border-radius:16px}.leci-radius-xl{border-radius:24px}.leci-radius-full{border-radius:9999px}.leci-top-glow{position:relative;overflow:hidden}.leci-top-glow:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#667eea,#764ba2,transparent);animation:leci-top-glow-slide 3s linear infinite}@keyframes leci-top-glow-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leci-corner-decor:before,.leci-corner-decor:after{content:"";position:absolute;width:30px;height:30px;border:3px solid #667eea}.leci-corner-decor:before{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:16px}.leci-corner-decor:after{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:16px}@media(prefers-reduced-motion:reduce){.leci-aurora:before,.leci-aurora:after,.leci-grid-bg,.leci-particles:before,.leci-magic-glow:before,.leci-sparkle:after,.leci-glitch:before,.leci-glitch:after,.leci-hologram,.leci-hologram:before,.leci-levitate,.leci-wave-text>span,.leci-gradient-text,.leci-crown:before,.leci-wave-progress__fill:after,.leci-top-glow:before{animation:none!important}.leci-flip-card:hover .leci-flip-card__inner{transform:none}}@keyframes leci-fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.leci-fade-in-up{animation:leci-fade-in-up .6s ease-out forwards}@keyframes leci-slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.leci-slide-in-left{animation:leci-slide-in-left .5s ease-out forwards}@keyframes leci-scale-up{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.leci-scale-up{animation:leci-scale-up .3s ease-out forwards}@keyframes leci-pulse-glow{0%,to{box-shadow:0 0 #0478574d}50%{box-shadow:0 0 0 8px #04785726}}.leci-pulse-glow{animation:leci-pulse-glow 2s ease-in-out infinite}.leci-hover-scale{transition:transform .2s ease,box-shadow .2s ease}.leci-hover-scale:hover{transform:scale(1.03);box-shadow:0 8px 24px #0000001f}.leci-tabular-nums{font-variant-numeric:tabular-nums}.leci-rounded-lg{border-radius:12px}.leci-rounded-xl{border-radius:16px}.leci-shadow-soft{box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.leci-shadow-md{box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f}.leci-shadow-lg{box-shadow:0 10px 30px #0000001f,0 4px 8px #00000014}.leci-ring-primary{box-shadow:0 0 0 3px #04785726}.leci-ring-primary-hover:hover{box-shadow:0 0 0 3px #04785740}.leci-underline-thin{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.leci-underline-thin-primary{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:#047857}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease!important;transition-delay:0s!important}.theme-switch-circle{position:fixed;top:var(--theme-switch-y, 50%);left:var(--theme-switch-x, 50%);width:0;height:0;border-radius:50%;background:var(--theme-switch-color, #1e293b);transform:translate(-50%,-50%);pointer-events:none;z-index:9998;animation:theme-switch-expand .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes theme-switch-expand{0%{width:0;height:0}to{width:300vmax;height:300vmax}}[data-style=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: #334155;--accent-primary: #818cf8;--accent-secondary: #a78bfa;--accent-glow: rgba(129, 140, 248, .3)}[data-style=dark] body{background:#0f172a;color:#f1f5f9}.theme-switcher{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f0f4ff,#faf5ff);border:2px solid transparent;border-radius:999px;cursor:pointer;transition:all .3s ease;overflow:hidden}.theme-switcher:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease;z-index:-1}.theme-switcher:hover{border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 8px 20px #6366f133}.theme-switcher:hover:before{opacity:.1}.theme-switcher__icon{font-size:1.25rem;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.theme-switcher:hover .theme-switcher__icon{transform:rotate(180deg) scale(1.1)}.theme-switcher__text{font-weight:600;font-size:.875rem}.color-picker{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:999px;box-shadow:0 4px 12px #00000014}.color-picker__option{width:32px;height:32px;border-radius:50%;cursor:pointer;position:relative;transition:transform .2s ease;border:2px solid transparent}.color-picker__option:hover{transform:scale(1.15)}.color-picker__option--active{border-color:#fff;box-shadow:0 0 0 2px #6366f1}.color-picker__option--active:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;animation:leci-zoom-in .3s ease}:root{--theme-primary: #667eea;--theme-secondary: #764ba2;--theme-accent: #f093fb;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-glow: rgba(99, 102, 241, .3)}[data-color-theme=green]{--theme-primary: #10b981;--theme-secondary: #059669;--theme-accent: #34d399;--accent-primary: #10b981;--accent-secondary: #059669;--accent-glow: rgba(16, 185, 129, .3)}[data-color-theme=blue]{--theme-primary: #0ea5e9;--theme-secondary: #0284c7;--theme-accent: #38bdf8;--accent-primary: #0ea5e9;--accent-secondary: #0284c7;--accent-glow: rgba(14, 165, 233, .3)}[data-color-theme=orange]{--theme-primary: #f59e0b;--theme-secondary: #d97706;--theme-accent: #fbbf24;--accent-primary: #f59e0b;--accent-secondary: #d97706;--accent-glow: rgba(245, 158, 11, .3)}[data-color-theme=pink]{--theme-primary: #ec4899;--theme-secondary: #db2777;--theme-accent: #f472b6;--accent-primary: #ec4899;--accent-secondary: #db2777;--accent-glow: rgba(236, 72, 153, .3)}[data-color-theme=cyan]{--theme-primary: #06b6d4;--theme-secondary: #0891b2;--theme-accent: #22d3ee;--accent-primary: #06b6d4;--accent-secondary: #0891b2;--accent-glow: rgba(6, 182, 212, .3)}.theme-preview{position:relative;overflow:hidden;isolation:isolate}.theme-preview:before{content:"";position:absolute;inset:0;background:var(--theme-primary);opacity:.1;z-index:-1;transition:opacity .3s ease}.theme-preview:hover:before{opacity:.2}.theme-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--theme-primary);box-shadow:0 0 8px var(--accent-glow);transition:all .3s ease}.theme-dot--active{animation:leci-pulse 2s infinite}@media(prefers-color-scheme:dark){:root:not([data-style=light]){--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1}}[data-contrast=high]{--text-primary: #000000;--text-secondary: #1a1a1a;--border-color: #000000;--accent-primary: #0000ff}[data-contrast=high] [data-style=dark]{--text-primary: #ffffff;--text-secondary: #f0f0f0;--border-color: #ffffff}.theme-transition-active{position:relative;animation:theme-flash .6s ease}@keyframes theme-flash{0%{filter:brightness(1)}50%{filter:brightness(1.2)}to{filter:brightness(1)}}@keyframes leci-page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes leci-page-fly-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes leci-page-fly-down{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes leci-page-fly-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes leci-page-fly-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes leci-page-zoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes leci-page-rotate{0%{opacity:0;transform:rotate(-10deg) scale(.95)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes leci-page-flip{0%{opacity:0;transform:perspective(1000px) rotateX(-15deg)}to{opacity:1;transform:perspective(1000px) rotateX(0)}}@keyframes leci-page-bounce{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{transform:scale(1.05) translateY(-10px)}70%{transform:scale(.95) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes leci-page-slide-cover{0%{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes leci-page-3d-flip{0%{opacity:0;transform:perspective(1200px) rotateY(-90deg);transform-origin:left center}to{opacity:1;transform:perspective(1200px) rotateY(0);transform-origin:left center}}@keyframes leci-page-blur-in{0%{opacity:0;filter:blur(20px)}to{opacity:1;filter:blur(0)}}@keyframes leci-page-spring{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes leci-stagger-item{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.leci-enter-fade{animation:leci-page-fade-in .5s ease both}.leci-enter-fly-up{animation:leci-page-fly-up .6s cubic-bezier(.16,1,.3,1) both}.leci-enter-fly-down{animation:leci-page-fly-down .6s cubic-bezier(.16,1,.3,1) both}.leci-enter-fly-left{animation:leci-page-fly-left .6s cubic-bezier(.16,1,.3,1) both}.leci-enter-fly-right{animation:leci-page-fly-right .6s cubic-bezier(.16,1,.3,1) both}.leci-enter-zoom{animation:leci-page-zoom .6s cubic-bezier(.34,1.56,.64,1) both}.leci-enter-rotate{animation:leci-page-rotate .6s ease both}.leci-enter-flip{animation:leci-page-flip .7s ease both;transform-origin:center center}.leci-enter-bounce{animation:leci-page-bounce .8s cubic-bezier(.34,1.56,.64,1) both}.leci-enter-blur{animation:leci-page-blur-in .6s ease both}.leci-enter-spring{animation:leci-page-spring .7s cubic-bezier(.34,1.56,.64,1) both}.leci-enter-slide-cover{animation:leci-page-slide-cover .7s cubic-bezier(.4,0,.2,1) both}.leci-enter-3d-flip{animation:leci-page-3d-flip .8s cubic-bezier(.4,0,.2,1) both;transform-origin:left center}.leci-delay-100{animation-delay:.1s}.leci-delay-200{animation-delay:.2s}.leci-delay-300{animation-delay:.3s}.leci-delay-400{animation-delay:.4s}.leci-delay-500{animation-delay:.5s}.page-enter-active{animation-duration:.4s!important}@media(prefers-reduced-motion:reduce){.leci-enter-fade,.leci-enter-fly-up,.leci-enter-fly-down,.leci-enter-fly-left,.leci-enter-fly-right,.leci-enter-zoom,.leci-enter-rotate,.leci-enter-flip,.leci-enter-bounce,.leci-enter-blur,.leci-enter-spring,.leci-enter-slide-cover,.leci-enter-3d-flip{animation:none!important}}@keyframes leci-answer-success{0%{transform:scale(1);box-shadow:0 0 #52c41a00}35%{transform:scale(1.02);box-shadow:0 0 0 6px #52c41a59}to{transform:scale(1);box-shadow:0 0 0 12px #52c41a00}}@keyframes leci-answer-error{0%,to{transform:translate(0);box-shadow:0 0 #ff4d4f00}15%{transform:translate(-8px);box-shadow:0 0 0 5px #ff4d4f4d}30%{transform:translate(7px)}45%{transform:translate(-6px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}}.animate-success{animation:leci-answer-success .5s ease}.animate-error{animation:leci-answer-error .5s ease}@media(prefers-reduced-motion:reduce){.animate-success,.animate-error{animation:none!important}}[data-mode=dark]{--leci-bg-primary: #0f172a;--leci-bg-secondary: #1e293b;--leci-bg-tertiary: #334155;--leci-bg-elevated: #1e293b;--leci-bg-overlay: rgba(15, 23, 42, .95);--leci-text-primary: #f1f5f9;--leci-text-secondary: #cbd5e1;--leci-text-tertiary: #94a3b8;--leci-text-inverse: #0f172a;--leci-border-primary: #334155;--leci-border-secondary: #475569;--leci-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--leci-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--leci-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--leci-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--leci-shadow-glow: 0 0 30px rgba(99, 102, 241, .4);--leci-accent-primary: #818cf8;.leci-tabular-nums{font-variant-numeric:tabular-nums}.leci-ring-primary{box-shadow:0 0 0 3px #818cf833}.leci-ring-primary-hover:hover{box-shadow:0 0 0 3px #818cf84d}--leci-accent-secondary: #a78bfa}[data-mode=dark]{background:var(--leci-bg-primary);color:var(--leci-text-primary);color-scheme:dark}[data-mode=dark] body{background:var(--leci-bg-primary);color:var(--leci-text-primary)}[data-mode=dark] .leci-card,[data-mode=dark] .card,[data-mode=dark] .glass-pro{background:var(--leci-bg-elevated)!important;color:var(--leci-text-primary);border-color:var(--leci-border-primary)}[data-mode=dark] .leci-card-3d-pro,[data-mode=dark] .leci-glass-pro{background:#1e293bb3;border:1px solid rgba(99,102,241,.2)}[data-mode=dark] h1,[data-mode=dark] h2,[data-mode=dark] h3,[data-mode=dark] h4,[data-mode=dark] h5,[data-mode=dark] h6,[data-mode=dark] p,[data-mode=dark] span,[data-mode=dark] div{color:var(--leci-text-primary)}[data-mode=dark] .text-secondary,[data-mode=dark] .text-muted{color:var(--leci-text-tertiary)}[data-mode=dark] a{color:#818cf8}[data-mode=dark] input,[data-mode=dark] textarea,[data-mode=dark] select{background:var(--leci-bg-elevated);color:var(--leci-text-primary);border-color:var(--leci-border-primary)}[data-mode=dark] input::placeholder,[data-mode=dark] textarea::placeholder{color:var(--leci-text-tertiary)}[data-mode=dark] .btn{background:var(--leci-bg-elevated);color:var(--leci-text-primary);border-color:var(--leci-border-primary)}[data-mode=dark] .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}[data-mode=dark] .btn-secondary{background:var(--leci-bg-tertiary);color:var(--leci-text-primary)}[data-mode=dark] .btn:hover{background:var(--leci-bg-tertiary);border-color:var(--leci-accent-primary)}[data-mode=dark] table{color:var(--leci-text-primary)}[data-mode=dark] th{background:var(--leci-bg-secondary);color:var(--leci-text-primary)}[data-mode=dark] td{border-color:var(--leci-border-primary)}[data-mode=dark] tr:hover{background:var(--leci-bg-secondary)}[data-mode=dark] .modal-pro__dialog{background:var(--leci-bg-elevated);color:var(--leci-text-primary)}[data-mode=dark] .modal-pro__header{background:var(--leci-bg-elevated);border-bottom-color:var(--leci-border-primary)}[data-mode=dark] .modal-pro__title{color:var(--leci-text-primary)}[data-mode=dark] .modal-pro__close{background:var(--leci-bg-tertiary);color:var(--leci-text-secondary)}[data-mode=dark] .nav-header{background:#0f172ad9;border-bottom:1px solid var(--leci-border-primary)}[data-mode=dark] .nav-item{color:var(--leci-text-secondary)}[data-mode=dark] .nav-item:hover{background:var(--leci-bg-secondary);color:var(--leci-text-primary)}[data-mode=dark] .nav-item--active{background:#6366f133;color:var(--leci-accent-primary)}[data-mode=dark] .mobile-nav{background:#0f172af2;border-top:1px solid var(--leci-border-primary)}[data-mode=dark] .mobile-nav__item{color:var(--leci-text-secondary)}[data-mode=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-mode=dark] ::-webkit-scrollbar-track{background:var(--leci-bg-primary)}[data-mode=dark] ::-webkit-scrollbar-thumb{background:var(--leci-bg-tertiary);border-radius:4px}[data-mode=dark] ::-webkit-scrollbar-thumb:hover{background:var(--leci-accent-primary)}[data-mode=dark] ::selection{background:#6366f166;color:#fff}[data-mode=dark] .leci-skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%}[data-mode=dark] .toast-pro{background:var(--leci-bg-elevated);color:var(--leci-text-primary);border-color:var(--leci-border-primary)}[data-mode=dark] .toast-pro__title{color:var(--leci-text-primary)}[data-mode=dark] .toast-pro__message{color:var(--leci-text-tertiary)}[data-mode=dark] .cmd-palette{background:var(--leci-bg-elevated);color:var(--leci-text-primary)}[data-mode=dark] .cmd-palette__input{color:var(--leci-text-primary)}[data-mode=dark] .cmd-palette__input::placeholder{color:var(--leci-text-tertiary)}[data-mode=dark] .cmd-item{color:var(--leci-text-primary)}[data-mode=dark] .cmd-item:hover,[data-mode=dark] .cmd-item--active{background:#6366f133}[data-mode=dark] .cmd-item__title{color:var(--leci-text-primary)}[data-mode=dark] .cmd-item__subtitle{color:var(--leci-text-tertiary)}[data-mode=dark] .help-panel{background:var(--leci-bg-elevated);color:var(--leci-text-primary)}[data-mode=dark] .help-item{background:var(--leci-bg-secondary)}[data-mode=dark] .help-item__desc{color:var(--leci-text-secondary)}[data-mode=dark] .help-item__key{background:var(--leci-bg-tertiary);color:var(--leci-text-primary);border-color:var(--leci-border-primary)}[data-mode=dark] .button-group-pro{background:var(--leci-bg-secondary)}[data-mode=dark] .button-group-pro__btn{color:var(--leci-text-secondary)}[data-mode=dark] .button-group-pro__btn:hover{background:var(--leci-bg-tertiary);color:var(--leci-text-primary)}[data-mode=dark] .button-group-pro__btn.is-active{background:var(--leci-bg-elevated);color:var(--leci-accent-primary);box-shadow:0 2px 8px #6366f133}[data-mode=dark] .tabs-pro__tab{color:var(--leci-text-secondary)}[data-mode=dark] .tabs-pro__tab.is-active{color:var(--leci-accent-primary)}[data-mode=dark] .tabs-pro--default .tabs-pro__tab.is-active{background:var(--leci-bg-elevated)}[data-mode=dark] .leci-bg-glow:before{background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%)}[data-mode=dark] .leci-bg-glow:after{background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%)}[data-mode=dark] .leci-glass-pro{background:#1e293bb3;border:1px solid rgba(99,102,241,.2)}[data-mode=dark] .glass-pro{background:#1e293b99;border:1px solid rgba(99,102,241,.15)}[data-mode=dark] .leci-progress-pro,[data-mode=dark] .wave-progress__bar{background:var(--leci-bg-tertiary)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]){--leci-bg-primary: #0f172a;--leci-bg-secondary: #1e293b;--leci-text-primary: #f1f5f9;--leci-text-secondary: #cbd5e1}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),transform .6s var(--ease-out, cubic-bezier(.16, 1, .3, 1));will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{transform:translate(-32px)}.reveal-right{transform:translate(32px)}.reveal-scale{transform:scale(.92)}.reveal-blur{transform:translateY(16px);filter:blur(6px)}.reveal-left.is-visible,.reveal-right.is-visible,.reveal-scale.is-visible,.reveal-blur.is-visible{transform:none;filter:none}.stagger>*{transition-delay:calc(var(--stagger-index, 0) * 60ms)}.hover-lift{transition:transform .3s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),box-shadow .3s var(--ease-out, cubic-bezier(.16, 1, .3, 1))}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 14px 30px -8px #04785747}.hover-scale{transition:transform .25s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.hover-scale:hover{transform:scale(1.04)}.hover-scale:active{transform:scale(.97)}.hover-shine{position:relative;overflow:hidden;isolation:isolate}.hover-shine:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s var(--ease-out, cubic-bezier(.16, 1, .3, 1));pointer-events:none;z-index:1}.hover-shine:hover:before{transform:translate(120%)}.hover-glow{transition:transform .28s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),box-shadow .28s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),border-color .28s var(--ease-out, cubic-bezier(.16, 1, .3, 1))}.hover-glow:hover{border-color:#04785799;box-shadow:0 0 0 4px #0478571f,0 10px 30px -8px #04785759}@keyframes glowPulse{0%,to{box-shadow:0 0 #0478578c,0 0 24px 4px #0478572e}50%{box-shadow:0 0 0 14px #04785700,0 0 36px 10px #04785752}}.glow-pulse{animation:glowPulse 2.2s ease-in-out infinite;border-radius:inherit}@keyframes glowPulseAccent{0%,to{box-shadow:0 0 #d9770680,0 0 22px 4px #d977062e}50%{box-shadow:0 0 0 14px #d9770600,0 0 36px 10px #d9770652}}.glow-pulse-accent{animation:glowPulseAccent 2.2s ease-in-out infinite;border-radius:inherit}@keyframes textGlow{0%,to{text-shadow:0 0 8px rgba(4,120,87,.45)}50%{text-shadow:0 0 18px rgba(4,120,87,.85),0 0 28px rgba(4,120,87,.45)}}.text-glow{animation:textGlow 2.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#0478570d,#0478572e,#0478570d 70%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#0000000a 25%,#04785724,#0000000a 75%);background-size:200% 100%;animation:shimmer-skeleton 1.4s ease-in-out infinite}.ripple-host{position:relative;overflow:hidden;isolation:isolate}.ripple{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);background:radial-gradient(circle,#ffffff8c,#ffffff2e 40%,#fff0 70%);animation:rippleExpand .72s cubic-bezier(.22,1,.36,1) forwards;z-index:0}.ripple--primary{background:radial-gradient(circle,#04785773,#04785726 40%,#04785700 70%)}.ripple--accent{background:radial-gradient(circle,#d9770673,#d9770626 40%,#d9770600 70%)}@keyframes rippleExpand{0%{transform:scale(0);opacity:.7}60%{opacity:.45}to{transform:scale(4.5);opacity:0}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.shake-x{animation:shakeX .4s ease-in-out}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.wobble{animation:wobble .6s ease-in-out}@keyframes bounceY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bounce-y{animation:bounceY .9s ease-in-out infinite}@keyframes spinSlow{to{transform:rotate(360deg)}}.spin-slow{animation:spinSlow 8s linear infinite}@keyframes spinReverse{to{transform:rotate(-360deg)}}.spin-reverse{animation:spinReverse 6s linear infinite}@keyframes swing{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-6deg)}}.swing{transform-origin:top center;animation:swing 1.4s ease-in-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.08)}75%{transform:scale(.96)}to{transform:scale(1)}}.bounce-in{animation:bounceIn .62s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}@keyframes flipInX{0%{opacity:0;transform:perspective(800px) rotateX(-80deg)}to{opacity:1;transform:perspective(800px) rotateX(0)}}.flip-in-x{animation:flipInX .7s var(--ease-out, cubic-bezier(.16, 1, .3, 1));backface-visibility:hidden}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-flow{background:linear-gradient(90deg,#047857,#059669,#10b981,#34d399,#047857);background-size:200% 100%;animation:gradientFlow 4s ease infinite}@keyframes gradientFlowRainbow{0%{background-position:0% 50%}to{background-position:200% 50%}}.gradient-flow-rainbow{background:linear-gradient(90deg,#047857,#13c2c2,#722ed1,#d97706,#eb2f96,#047857);background-size:200% 100%;animation:gradientFlowRainbow 6s linear infinite}@keyframes pageProgress{0%{transform:translate(-100%) scaleX(.2)}60%{transform:translate(20%) scaleX(.7)}to{transform:translate(100%) scaleX(1)}}.page-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;pointer-events:none;background:transparent}.page-progress-bar__fill{height:100%;width:100%;background:linear-gradient(90deg,#047857,#10b981,#34d399 80%,#d97706);background-size:200% 100%;transform-origin:left center;animation:pageProgress 1.4s cubic-bezier(.65,0,.35,1) forwards;box-shadow:0 0 12px #04785799}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px #0478572e,0 0 0 5px #0478578c;transition:box-shadow .18s var(--ease-out, cubic-bezier(.16, 1, .3, 1))}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.float-y{animation:floatY 4s ease-in-out infinite}@keyframes floatXY{0%,to{transform:translate(0)}25%{transform:translate(10px,-8px)}50%{transform:translate(-6px,-14px)}75%{transform:translate(-10px,-4px)}}.float-xy{animation:floatXY 9s ease-in-out infinite}@keyframes breatheScale{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}.breathe-scale{animation:breatheScale 2.6s ease-in-out infinite}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#04785759,#0596698c);border-radius:999px;border:2px solid transparent;background-clip:padding-box;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#04785799,#059669d9);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(4,120,87,.45) transparent}.click-bounce:active{transform:scale(.96);transition:transform .1s ease}.no-select{user-select:none;-webkit-user-select:none}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur,.hover-lift,.hover-scale,.hover-shine:before,.hover-glow,.glow-pulse,.glow-pulse-accent,.text-glow,.shimmer,.skeleton-shimmer,.ripple,.shake-x,.wobble,.bounce-y,.spin-slow,.spin-reverse,.swing,.bounce-in,.flip-in-x,.gradient-flow,.gradient-flow-rainbow,.page-progress-bar__fill,.float-y,.float-xy,.breathe-scale{animation:none!important;transition:none!important}.reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur{opacity:1!important;transform:none!important;filter:none!important}}.aurora-bg{position:relative;overflow:hidden;background:linear-gradient(135deg,#ecfdf5,#f0fdfa,#fff7ed);isolation:isolate}.aurora-bg:before,.aurora-bg:after,.aurora-bg>.aurora-blob{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none;z-index:-1;mix-blend-mode:screen;will-change:transform}.aurora-bg:before{width:520px;height:520px;background:radial-gradient(circle,#34d399 0%,transparent 70%);top:-120px;left:-120px;animation:auroraBlob1 18s ease-in-out infinite}.aurora-bg:after{width:480px;height:480px;background:radial-gradient(circle,#fbbf24 0%,transparent 70%);bottom:-140px;right:-120px;animation:auroraBlob2 22s ease-in-out infinite}.aurora-bg>.aurora-blob{width:420px;height:420px;background:radial-gradient(circle,#60a5fa 0%,transparent 70%);top:40%;left:50%;transform:translate(-50%,-50%);animation:auroraBlob3 26s ease-in-out infinite}@keyframes auroraBlob1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(140px,60px) scale(1.15)}66%{transform:translate(60px,180px) scale(.9)}}@keyframes auroraBlob2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-120px,-80px) scale(1.1)}66%{transform:translate(-60px,-160px) scale(.92)}}@keyframes auroraBlob3{0%,to{transform:translate(-50%,-50%) scale(1)}33%{transform:translate(-30%,-65%) scale(1.2)}66%{transform:translate(-70%,-35%) scale(.85)}}[data-theme=dark] .aurora-bg,[data-style=neumorphism-3d][data-color-mode=dark] .aurora-bg{background:linear-gradient(135deg,#022c22,#1a1a2e,#2d1b00)}[data-theme=dark] .aurora-bg:before,[data-theme=dark] .aurora-bg:after,[data-style=neumorphism-3d][data-color-mode=dark] .aurora-bg>.aurora-blob{opacity:.35;mix-blend-mode:lighten}.tilt-3d{transform-style:preserve-3d;transform:perspective(800px) rotateX(0) rotateY(0);transition:transform .32s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),box-shadow .32s var(--ease-out, cubic-bezier(.16, 1, .3, 1));will-change:transform}.tilt-3d>*{transform:translateZ(20px)}.tilt-3d:hover{box-shadow:0 30px 60px -20px #04785759,0 18px 36px -12px #00000026}.flip-3d{perspective:1200px;position:relative}.flip-3d__inner{position:relative;width:100%;height:100%;transition:transform .72s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));transform-style:preserve-3d}.flip-3d.is-flipped .flip-3d__inner{transform:rotateY(180deg)}.flip-3d__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-3d__face--back{transform:rotateY(180deg)}.count-up{font-variant-numeric:tabular-nums;display:inline-block}.count-up__digit{display:inline-block;transition:transform .4s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),opacity .24s ease-out;will-change:transform,opacity}.count-up__digit--enter{transform:translateY(-100%);opacity:0}.progress-ring__track{stroke:var(--color-border, #e5e7eb);fill:none}.progress-ring__fill{fill:none;stroke:url(#progressGradient);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.2s var(--ease-out, cubic-bezier(.16, 1, .3, 1));filter:drop-shadow(0 0 6px var(--color-primary, #047857))}.list-stagger>*{opacity:0;transform:translateY(20px);animation:listStaggerIn .52s var(--ease-out, cubic-bezier(.16, 1, .3, 1)) forwards;animation-delay:calc(var(--stagger-index, 0) * 60ms + 80ms)}@keyframes listStaggerIn{to{opacity:1;transform:translateY(0)}}.list-stagger-left>*{opacity:0;transform:translate(-30px);animation:listStaggerLeftIn .52s var(--ease-out, cubic-bezier(.16, 1, .3, 1)) forwards;animation-delay:calc(var(--stagger-index, 0) * 50ms + 80ms)}@keyframes listStaggerLeftIn{to{opacity:1;transform:translate(0)}}.sliding-indicator{position:absolute;transition:transform .42s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),width .42s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),opacity .24s ease;pointer-events:none;z-index:0}.focus-ring{position:relative;transition:transform .22s var(--ease-out, cubic-bezier(.16, 1, .3, 1))}.focus-ring:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,var(--color-primary, #047857),#34d399,#fbbf24);opacity:0;z-index:-1;filter:blur(6px);transition:opacity .28s ease-out}.focus-ring.is-focused:after{opacity:.6}.float-label{position:relative}.float-label__label{position:absolute;left:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-secondary, #6b7280);background:transparent;padding:0 6px;transition:transform .24s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),font-size .24s var(--ease-out, cubic-bezier(.16, 1, .3, 1)),color .24s ease;transform-origin:left center}.float-label.is-focused .float-label__label,.float-label.has-value .float-label__label{transform:translateY(-180%) scale(.85);color:var(--color-primary, #047857);font-weight:600}.badge-pulse{position:relative}.badge-pulse:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:.6;animation:badgePulseRing 1.8s ease-out infinite;pointer-events:none;z-index:-1}@keyframes badgePulseRing{0%{transform:scale(1);opacity:.5}to{transform:scale(1.8);opacity:0}}.notify-bounce-enter-active{animation:notifyBounceIn .54s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.notify-bounce-leave-active{animation:notifyBounceOut .32s ease-in}@keyframes notifyBounceIn{0%{transform:translate(120%) scale(.6);opacity:0}60%{transform:translate(-12px) scale(1.05);opacity:1}80%{transform:translate(6px) scale(.98)}to{transform:translate(0) scale(1)}}@keyframes notifyBounceOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(120%) scale(.8);opacity:0}}.scrollbar-elegant::-webkit-scrollbar{width:8px;height:8px}.scrollbar-elegant::-webkit-scrollbar-track{background:transparent}.scrollbar-elegant::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-primary, #047857),#34d399);border-radius:4px;transition:background .24s ease}.scrollbar-elegant::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#059669,#10b981)}.text-gradient-flow{background:linear-gradient(90deg,#047857,#34d399,#fbbf24,#34d399,#047857);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:textGradientFlow 6s linear infinite}@keyframes textGradientFlow{0%{background-position:0% 50%}to{background-position:200% 50%}}.page-enter-active,.page-leave-active{transition:opacity .36s cubic-bezier(.16,1,.3,1),transform .36s cubic-bezier(.16,1,.3,1),filter .36s cubic-bezier(.16,1,.3,1);will-change:transform,opacity,filter}.page-enter-from{opacity:0;transform:translate3d(40px,0,0) scale(.96);filter:blur(6px)}.page-leave-to{opacity:0;transform:translate3d(-40px,0,0) scale(.96);filter:blur(4px)}.audio-bar{display:inline-block;width:3px;margin:0 1.5px;background:linear-gradient(180deg,var(--color-primary, #047857),#34d399);border-radius:2px;transform-origin:center;animation:audioBarPulse 1.1s ease-in-out infinite;animation-delay:calc(var(--bar-index, 0) * 80ms)}@keyframes audioBarPulse{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.parallax{will-change:transform;transition:transform .24s cubic-bezier(0,0,.2,1)}@media(prefers-reduced-motion:reduce){.aurora-bg:before,.aurora-bg:after,.aurora-bg>.aurora-blob,.tilt-3d,.flip-3d__inner,.count-up__digit,.progress-ring__fill,.list-stagger>*,.list-stagger-left>*,.sliding-indicator,.focus-ring:after,.float-label__label,.badge-pulse:before,.text-gradient-flow,.audio-bar,.parallax{animation:none!important;transition:none!important}.list-stagger>*,.list-stagger-left>*{opacity:1!important;transform:none!important}.tilt-3d,.flip-3d__inner{transform:none!important}}.page-3d-enter-active,.page-3d-leave-active{transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-3d-enter-from{opacity:0;transform:perspective(1200px) rotateY(25deg) translateZ(-200px) scale(.92)}.page-3d-leave-to{opacity:0;transform:perspective(1200px) rotateY(-25deg) translateZ(-200px) scale(1.08)}.page-zoom-enter-active,.page-zoom-leave-active{transition:opacity .52s cubic-bezier(.4,0,.2,1),transform .52s cubic-bezier(.16,1,.3,1),filter .52s cubic-bezier(.4,0,.2,1)}.page-zoom-enter-from{opacity:0;transform:scale(.85);filter:blur(12px)}.page-zoom-leave-to{opacity:0;transform:scale(1.1);filter:blur(6px)}@media(prefers-reduced-motion:reduce){.page-3d-enter-active,.page-3d-leave-active,.page-zoom-enter-active,.page-zoom-leave-active{transition:opacity .1s ease!important}.page-3d-enter-from,.page-3d-leave-to{transform:none!important}.page-zoom-enter-from,.page-zoom-leave-to{transform:none!important;filter:none!important}}.page-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:#0478571a;z-index:2000;overflow:hidden}.page-progress-bar__fill{height:100%;width:30%;background:linear-gradient(90deg,var(--color-primary, #047857),#34D399,var(--color-primary, #047857));background-size:200% 100%;animation:pageProgressSlide 1.2s ease-in-out infinite,pageProgressShimmer 2s linear infinite}@keyframes pageProgressSlide{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes pageProgressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loader-enter-active,.loader-leave-active{transition:opacity .2s ease}.loader-enter-from,.loader-leave-to{opacity:0}.spin-slow{animation:spinSlow 3s linear infinite;will-change:transform}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes routeFadeIn{0%{opacity:0}to{opacity:1}}.route-fade-in{animation:routeFadeIn .4s ease-out both}.segmented{position:relative;display:inline-flex;background:var(--color-bg-soft, #f3f4f6);border-radius:10px;padding:4px;gap:0}.segmented__slider{position:absolute;top:4px;bottom:4px;background:#fff;border-radius:7px;box-shadow:0 2px 6px #0000001a,0 0 0 1px #0478571a;transition:transform .42s cubic-bezier(.34,1.56,.64,1),width .42s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:0}.segmented__item{position:relative;z-index:1;padding:6px 14px;border:none;background:transparent;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-radius:7px;transition:color .24s ease;white-space:nowrap}.segmented__item.is-active{color:var(--color-primary, #047857);font-weight:700}.chip{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--color-border, #e5e7eb);background:var(--color-bg-card, white);font-size:13px;cursor:pointer;transition:all .24s cubic-bezier(.16,1,.3,1);overflow:hidden;isolation:isolate}.chip:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary, #047857),#34d399);opacity:0;transition:opacity .24s ease;z-index:-1}.chip:hover{border-color:var(--color-primary, #047857);transform:translateY(-2px);box-shadow:0 8px 16px -6px #04785740}.chip.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--color-primary, #047857),#34d399);box-shadow:0 8px 20px -6px #04785766,inset 0 1px #ffffff4d}.chip.is-active:before{opacity:1}.chip:active{transform:scale(.95)}.typewriter-caret{display:inline-block;width:2px;height:1.1em;background:currentColor;margin-left:2px;vertical-align:text-bottom;animation:caretBlink .9s steps(2) infinite}@keyframes caretBlink{50%{opacity:0}}.pull-indicator{display:flex;flex-direction:column;align-items:center;padding:16px 0;color:var(--color-text-secondary, #6b7280);font-size:13px}.pull-indicator__spinner{width:24px;height:24px;border:2.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pullSpin .8s linear infinite;margin-bottom:6px}.pull-indicator.is-armed .pull-indicator__spinner{border-color:var(--color-primary, #047857);border-top-color:transparent;animation-duration:.5s}@keyframes pullSpin{to{transform:rotate(360deg)}}.intensity-step-1>*{transition:transform .24s ease}.intensity-step-2>*{transition:transform .32s cubic-bezier(.16,1,.3,1)}.intensity-step-3>*{transition:transform .42s cubic-bezier(.34,1.56,.64,1)}@media(prefers-reduced-motion:reduce){.segmented__slider,.chip,.chip:before,.typewriter-caret,.pull-indicator__spinner{animation:none!important;transition:none!important}}.fab{position:fixed;right:24px;bottom:24px;z-index:1000;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#047857,#34d399);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 24px -4px #04785766,0 0 32px -8px #04785780,inset 0 1px #ffffff4d;cursor:pointer;transition:transform .24s cubic-bezier(.34,1.56,.64,1),box-shadow .24s ease;animation:fabEnter .6s cubic-bezier(.34,1.56,.64,1) both}.fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 16px 40px -4px #04785780,0 0 40px -8px #047857b3,inset 0 1px #ffffff4d}.fab:active{transform:scale(.95)}.fab:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent);opacity:0;transition:opacity .24s ease}.fab:hover:before{opacity:1}@keyframes fabEnter{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.fab-menu{position:fixed;right:24px;bottom:92px;display:flex;flex-direction:column;gap:12px;z-index:999;pointer-events:none}.fab-menu__item{display:flex;align-items:center;gap:8px;background:var(--color-bg-card, white);border:1px solid var(--color-border, #e5e7eb);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500;box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.1));white-space:nowrap;transform:translateY(20px) scale(.8);opacity:0;animation:fabMenuItemIn .4s cubic-bezier(.34,1.56,.64,1) forwards;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.fab-menu__item:hover{transform:translateY(-2px) scale(1);box-shadow:0 8px 20px #00000026}@keyframes fabMenuItemIn{to{transform:translateY(0) scale(1);opacity:1}}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:16px}.bento-grid>.bento-item{position:relative;border-radius:16px;overflow:hidden;background:var(--color-bg-card, white);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0,0,0,.06));transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s ease}.bento-grid>.bento-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg, 0 12px 28px rgba(0,0,0,.12));z-index:2}.bento-grid>.bento-size-2x1{grid-column:span 2}.bento-grid>.bento-size-1x2{grid-row:span 2}.bento-grid>.bento-size-2x2{grid-column:span 2;grid-row:span 2}.bento-grid>.bento-size-3x1{grid-column:span 3}.bento-grid>.bento-size-1x3{grid-row:span 3}.bento-grid>.bento-size-3x2{grid-column:span 3;grid-row:span 2}.bento-grid>.bento-size-4x2{grid-column:span 4;grid-row:span 2}.glitch{position:relative;display:inline-block;color:var(--color-error, #DC2626)}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:inherit;overflow:hidden}.glitch:before{color:#34d399;animation:glitchTop 1.5s infinite linear alternate-reverse;clip-path:polygon(0 0,100% 0,100% 33%,0 33%)}.glitch:after{color:#fbbf24;animation:glitchBottom 2s infinite linear alternate-reverse;clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%)}@keyframes glitchTop{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(-1px)}60%{transform:translate(1px,-1px)}80%{transform:translate(2px)}}@keyframes glitchBottom{0%,to{transform:translate(0)}20%{transform:translate(2px,-1px)}40%{transform:translate(1px,1px)}60%{transform:translate(-1px,1px)}80%{transform:translate(-2px)}}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s linear infinite}.number-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-error, #DC2626);color:#fff;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.fab,.fab:before,.fab-menu__item,.bento-grid>.bento-item,.glitch:before,.glitch:after,.skeleton-avatar{animation:none!important;transition:none!important}}.card-hover{transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1)!important;will-change:transform}.card-hover:hover{transform:translateY(-4px)!important;box-shadow:0 12px 28px -8px #0000001f,0 4px 12px -4px #00000014!important}.card-hover:active{transform:translateY(-1px) scale(.99)!important}.btn-press{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)!important;cursor:pointer}.btn-press:hover{transform:translateY(-2px);box-shadow:0 8px 20px -6px #00000026}.btn-press:active{transform:translateY(0) scale(.97);box-shadow:0 2px 8px -4px #0000001a;transition-duration:60ms}.ripple-container{position:relative;overflow:hidden;isolation:isolate}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff59;transform:scale(0);animation:rippleAnim .6s ease-out forwards;pointer-events:none}@keyframes rippleAnim{to{transform:scale(4);opacity:0}}[data-mode=dark] .ripple-effect{background:#ffffff26}.flip-card{perspective:1200px;cursor:pointer}.flip-card__inner{position:relative;width:100%;height:100%;transition:transform .48s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d;will-change:transform}.flip-card--flipped{transform:rotateY(180deg)}.flip-card__front,.flip-card__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:inherit;overflow:hidden}.flip-card__back{transform:rotateY(180deg)}@media(prefers-reduced-motion:reduce){.flip-card__inner{transition:none!important}}.leci-orbit{position:relative;display:inline-flex;align-items:center;justify-content:center}.leci-orbit:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px dashed rgba(16,185,129,.2);animation:leci-orbit-rotate 8s linear infinite}.leci-orbit:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(16,185,129,.1);animation:leci-orbit-rotate 12s linear infinite reverse}.leci-orbit .orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 0 8px #10b98180;animation:leci-orbit-dot 4s linear infinite}.leci-orbit .orbit-dot:nth-child(1){animation-delay:0s}.leci-orbit .orbit-dot:nth-child(2){animation-delay:1s}.leci-orbit .orbit-dot:nth-child(3){animation-delay:2s}.leci-orbit .orbit-dot:nth-child(4){animation-delay:3s}@keyframes leci-orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes leci-orbit-dot{0%{transform:rotate(0) translate(32px) rotate(0);opacity:0}10%{opacity:1}50%{opacity:.8}90%{opacity:1}to{transform:rotate(360deg) translate(32px) rotate(-360deg);opacity:0}}.leci-card-3d{transition:transform var(--motion-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow var(--motion-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));will-change:transform,box-shadow}.leci-card-3d:hover{transform:perspective(800px) rotateX(3deg) rotateY(2deg) translateY(-4px);box-shadow:0 20px 40px -10px #0f172a26,0 0 0 1px #10b9811a}.leci-card-3d:active{transform:perspective(800px) rotateX(1deg) rotateY(1deg) translateY(-2px)}.leci-btn-pro{position:relative;overflow:hidden;transition:all var(--motion-fast, .2s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));will-change:transform,box-shadow}.leci-btn-pro:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translate(-100%);transition:transform var(--motion-slow, .8s) ease}.leci-btn-pro:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,rgba(16,185,129,.3),rgba(52,211,153,.1),transparent);opacity:0;transition:opacity var(--motion-normal, .3s) ease;z-index:-1}.leci-btn-pro:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #10b9814d,0 4px 10px -4px #10b98133}.leci-btn-pro:hover:before{transform:translate(100%)}.leci-btn-pro:hover:after{opacity:1}.leci-btn-pro:active{transform:translateY(0) scale(.98)}.leci-flip-num{display:inline-block;perspective:300px;will-change:transform;transition:transform var(--motion-normal, .4s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.leci-flip-num.enter{animation:leci-flip-num-enter .6s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes leci-flip-num-enter{0%{transform:rotateX(90deg);opacity:0}50%{opacity:.5}to{transform:rotateX(0);opacity:1}}.leci-shimmer{position:relative;overflow:hidden}.leci-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 50%,transparent 100%);transform:translate(-100%);animation:leci-shimmer-scan 2.5s ease-in-out infinite}.leci-shimmer--fast:after{animation-duration:1.5s}@keyframes leci-shimmer-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leci-progress{position:relative;overflow:hidden;transition:all var(--motion-normal, .3s) ease}.leci-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:leci-progress-flow 2s ease-in-out infinite;border-radius:inherit}.leci-progress--thin:after{height:3px;top:50%;transform:translateY(-50%)}@keyframes leci-progress-flow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leci-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:9999px;font-size:var(--font-sm);font-weight:500;transition:all var(--motion-fast, .15s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));will-change:transform,box-shadow}.leci-chip:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px -4px #0f172a1a}.leci-chip:active{transform:translateY(0) scale(.98)}.leci-chip--success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.leci-chip--warning{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.leci-chip--info{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.leci-highlight{position:relative;display:inline-block}.leci-highlight:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:linear-gradient(90deg,#10b981,#34d399);border-radius:2px;opacity:0;transform:scaleX(0);transform-origin:left;transition:all var(--motion-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.leci-highlight:hover:after{opacity:1;transform:scaleX(1)}.leci-highlight--pulse{animation:leci-highlight-pulse 2s ease-in-out infinite}@keyframes leci-highlight-pulse{0%,to{opacity:1}50%{opacity:.7}}.leci-title-char{display:inline-block;opacity:0;transform:translateY(8px);animation:leci-title-char-in .5s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) both}.leci-title-char:nth-child(1){animation-delay:0ms}.leci-title-char:nth-child(2){animation-delay:40ms}.leci-title-char:nth-child(3){animation-delay:80ms}.leci-title-char:nth-child(4){animation-delay:.12s}.leci-title-char:nth-child(5){animation-delay:.16s}.leci-title-char:nth-child(6){animation-delay:.2s}.leci-title-char:nth-child(7){animation-delay:.24s}.leci-title-char:nth-child(8){animation-delay:.28s}.leci-title-char:nth-child(9){animation-delay:.32s}.leci-title-char:nth-child(10){animation-delay:.36s}@keyframes leci-title-char-in{to{opacity:1;transform:translateY(0)}}.leci-wave-divider{width:100%;height:40px;display:block;overflow:hidden;line-height:0}.leci-wave-divider svg{width:100%;height:100%}.leci-wave-divider--up:before,.leci-wave-divider--down:before{content:"";display:block;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(16,185,129,.1),transparent);animation:leci-wave-shift 10s ease-in-out infinite}@keyframes leci-wave-shift{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.leci-svg-draw svg{overflow:visible}.leci-svg-draw path,.leci-svg-draw line,.leci-svg-draw polyline,.leci-svg-draw rect,.leci-svg-draw circle{stroke-dasharray:1000;stroke-dashoffset:1000;animation:leci-svg-draw-path 2s ease-out forwards}.leci-svg-draw--fast path,.leci-svg-draw--fast line,.leci-svg-draw--fast polyline,.leci-svg-draw--fast rect,.leci-svg-draw--fast circle{animation-duration:1s}@keyframes leci-svg-draw-path{to{stroke-dashoffset:0}}.leci-strip{opacity:0;transform:translate(-16px);animation:leci-strip-in .4s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) both}.leci-strip:nth-child(1){animation-delay:0ms}.leci-strip:nth-child(2){animation-delay:60ms}.leci-strip:nth-child(3){animation-delay:.12s}.leci-strip:nth-child(4){animation-delay:.18s}.leci-strip:nth-child(5){animation-delay:.24s}.leci-strip:nth-child(6){animation-delay:.3s}.leci-strip:nth-child(7){animation-delay:.36s}.leci-strip:nth-child(8){animation-delay:.42s}@keyframes leci-strip-in{to{opacity:1;transform:translate(0)}}.leci-tnum{font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}.leci-glass{background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0f172a14}@media(prefers-reduced-motion:reduce){.leci-orbit:before,.leci-orbit:after,.leci-orbit .orbit-dot,.leci-card-3d,.leci-btn-pro:before,.leci-btn-pro:after,.leci-flip-num,.leci-shimmer:after,.leci-progress:after,.leci-chip,.leci-highlight:after,.leci-title-char,.leci-wave-divider--up:before,.leci-wave-divider--down:before,.leci-svg-draw path,.leci-svg-draw line,.leci-svg-draw polyline,.leci-svg-draw rect,.leci-svg-draw circle,.leci-strip{animation:none!important;transition:none!important;transform:none!important}}:root{--v5-font-display: "Inter", "Segoe UI Emoji", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--v5-font-body: "Inter", "Segoe UI Emoji", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--v5-font-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--v5-radius-md: 10px;--v5-radius-lg: 12px;--v5-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--v5-shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .08);--v5-shadow-primary: 0 4px 14px rgba(0, 217, 163, .35);--v5-ease-out: cubic-bezier(.16, 1, .3, 1);--v5-ease-spring: cubic-bezier(.34, 1.56, .64, 1)}html,body{font-family:var(--v5-font-body);-moz-osx-font-smoothing:grayscale!important;letter-spacing:-.01em!important}body,body.page{background:#f7f9fc!important;color:#0f172a!important;line-height:1.5!important;min-height:100vh!important;min-height:100dvh!important}.page h1,.page h2,.page h3,.page h4{font-family:var(--v5-font-display);letter-spacing:-.02em!important;line-height:1.2!important;color:#0f172a!important}.page h1{font-weight:700!important;font-size:clamp(28px,4vw,36px)!important}.page h2{font-weight:600!important;font-size:clamp(20px,2.5vw,24px)!important}.page h3{font-weight:600!important;font-size:18px!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent!important}::-webkit-scrollbar-thumb{background:#0f172a1f!important;border-radius:999px!important;transition:background .2s!important}::-webkit-scrollbar-thumb:hover{background:#0f172a3d!important}::selection{background:#00d9a340!important;color:#0f172a!important}.page.page--login{background:#0b1120!important;background-image:radial-gradient(at 20% 20%,rgba(0,217,163,.18) 0px,transparent 50%),radial-gradient(at 80% 0%,rgba(99,102,241,.2) 0px,transparent 50%),radial-gradient(at 0% 70%,rgba(139,92,246,.12) 0px,transparent 50%),radial-gradient(at 90% 90%,rgba(0,217,163,.1) 0px,transparent 50%)!important;position:relative!important;min-height:100vh!important;min-height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important}.page.page--login:before{content:""!important;position:fixed!important;inset:0!important;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px)!important;background-size:60px 60px!important;pointer-events:none!important;z-index:0!important}.page.page--dashboard,.page.page--stats,.page.page--mistakes,.page.page--dictionary,.page.page--words,.page.page--review,.page.page--retention,.page.page--achievement,.page.page--settings,.page.page--exam,.page.page--grammar,.page.page--progress,.page.page--speaking,.page.page--admin{background:radial-gradient(at 0% 0%,rgba(0,217,163,.05) 0px,transparent 40%),radial-gradient(at 100% 0%,rgba(99,102,241,.05) 0px,transparent 40%),#f7f9fc!important;background-attachment:fixed!important;padding:24px!important;min-height:100vh!important;min-height:100dvh!important}.page.page--training{background:linear-gradient(180deg,#f7f9fc,#eef2ff)!important;min-height:100vh!important;min-height:100dvh!important}.page.page--error{background:linear-gradient(135deg,#ecfdf5,#f7f9fc,#eef2ff)!important;min-height:100vh!important;min-height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important}.page--login .login-card,.page--login>div>div.login-card{background:#fffffffa!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:16px!important;box-shadow:0 24px 64px -16px #0006,0 0 0 1px #ffffff1a inset!important;padding:40px!important;max-width:420px!important;width:100%!important;position:relative!important;z-index:1!important}.page--login .login-card .title{font-size:28px!important;font-weight:700!important;letter-spacing:-.03em!important;background:linear-gradient(135deg,#0f172a,#475569)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;margin-bottom:4px!important}.page--login .login-card .subtitle{color:#94a3b8!important;font-size:13px!important}.page--login .login-card .logo-icon{font-size:56px!important;filter:drop-shadow(0 8px 24px rgba(0,217,163,.5))!important;margin-bottom:12px!important}.btn-primary,.btn-submit,.cta-primary,button[type=submit].primary,.page--login .btn-submit,.page--login .btn-primary{position:relative!important;background:linear-gradient(135deg,#00d9a3,#00b888)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:10px!important;padding:12px 20px!important;font-weight:500!important;font-size:14px!important;letter-spacing:-.01em!important;box-shadow:inset 0 1px #fff3,0 4px 12px -2px #00d9a366!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.16,1,.3,1)!important;overflow:hidden!important;cursor:pointer!important;isolation:isolate!important;width:auto!important}.btn-primary:hover,.btn-submit:not(:disabled):hover,.cta-primary:hover,.page--login .btn-submit:not(:disabled):hover{transform:translateY(-1px)!important;box-shadow:inset 0 1px #fff3,0 8px 20px -4px #00d9a380,0 0 0 4px #00d9a326!important}.btn-primary:active,.btn-submit:not(:disabled):active{transform:translateY(0) scale(.98)!important}.btn-primary:after,.btn-submit:after,.cta-primary:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%)!important;transform:translate(-100%)!important;transition:transform .7s cubic-bezier(.16,1,.3,1)!important;pointer-events:none!important}.btn-primary:hover:after,.btn-submit:not(:disabled):hover:after,.cta-primary:hover:after{transform:translate(100%)!important}.page input[type=text],.page input[type=password],.page input[type=email],.page input[type=number],.page input[type=search],.page textarea,.page select,.page--login .input-wrapper,.page--login input[type=text],.page--login input[type=password]{font-family:var(--v5-font-body)!important;font-size:14px!important;background:#f1f5f9!important;color:#0f172a!important;border:1px solid #E2E8F0!important;border-radius:10px!important;padding:12px 16px!important;outline:none!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.page input:focus,.page textarea:focus,.page select:focus,.page--login .input-wrapper:focus-within{background:#fff!important;border-color:#00d9a3!important;box-shadow:0 0 0 4px #00d9a326,0 1px 2px #00d9a31a!important}.page input::placeholder,.page textarea::placeholder,.page--login .input-wrapper input::placeholder{color:#94a3b8!important}.page a:not(.btn):not(.btn-primary):not(.nav-item):not(.no-underline){color:#0f172a!important;transition:color .15s cubic-bezier(.16,1,.3,1)!important}.page a:not(.btn):not(.btn-primary):not(.nav-item):not(.no-underline):hover{color:#00d9a3!important}.page{animation:v5-page-fade-in .8s cubic-bezier(.16,1,.3,1) backwards!important}@keyframes v5-page-fade-in{0%{opacity:0!important;transform:translateY(16px)!important;filter:blur(4px)!important}to{opacity:1!important;transform:translateY(0)!important;filter:blur(0)!important}}.page-enter-active,.page-leave-active{transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),filter .4s cubic-bezier(.16,1,.3,1)!important}.page-enter-from{opacity:0!important;transform:translateY(20px)!important;filter:blur(8px)!important}.page-leave-to{opacity:0!important;transform:translateY(-20px)!important;filter:blur(8px)!important}.page .num,.page [data-numeric],.page .stat-value,.page .stat-card__value,.page .animate-number{font-family:var(--v5-font-mono)!important;font-variant-numeric:tabular-nums!important;font-feature-settings:"tnum" 1,"ss01" 1!important;letter-spacing:-.02em!important}.page .tag,.page .badge,.page .chip,.page .el-tag,.page--login .hint-box{display:inline-flex!important;align-items:center!important;padding:4px 10px!important;border-radius:999px!important;font-size:11px!important;font-weight:500!important;letter-spacing:.01em!important;background:#f1f5f9!important;color:#475569!important;border:1px solid #E2E8F0!important}.route-progress__bar{background:linear-gradient(90deg,#00d9a3,#6366f1,#00d9a3)!important;background-size:200% 100%!important;animation:v5-progress-shimmer 2s linear infinite!important;box-shadow:0 0 16px #00d9a399,0 0 32px #6366f166!important;height:3px!important}@keyframes v5-progress-shimmer{0%{background-position:200% 0!important}to{background-position:-200% 0!important}}.page button,.page .btn{font-family:var(--v5-font-body)!important;font-size:14px!important;font-weight:500!important;letter-spacing:-.01em!important;border-radius:10px!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;cursor:pointer!important}.page button:not(.btn-primary):not(.btn-submit):not(.hub-menu__item):not(:disabled):hover{background:#0f172a0a!important}.page button:not(:disabled):active{transform:scale(.98)!important;transition-duration:.1s!important}.page button:focus-visible,.page .btn:focus-visible{outline:none!important;box-shadow:0 0 0 3px #00d9a333!important}.page button:disabled{opacity:.5!important;cursor:not-allowed!important}.page *:focus-visible{outline:none!important;box-shadow:0 0 0 3px #00d9a333!important}.page .card,.page [class*=card-]:not(.btn-card),.page .stat-card,.page .mistake-card,.page .settings-card{background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 1px 2px #0f172a0a!important;padding:16px!important;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)!important}.page .card:hover,.page .stat-card:hover,.page .mistake-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 24px -8px #0f172a1f!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--color-text-secondary-2: #44403C;--color-text-tertiary-2: #6B7280;--color-text-quaternary: #94A3B8;--color-text-on-primary: #FFFFFF;--color-text-success: #047857;--color-text-error: #B91C1C;--color-text-warning: #92400E;--surface-1: #FFFFFF;--surface-2: #F8FAF9;--surface-3: #F0F4F2;--border-soft: rgba(4, 120, 87, .08);--border-medium: rgba(4, 120, 87, .16);--border-strong: rgba(4, 120, 87, .32);--shadow-elev-1: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .06);--shadow-elev-2: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-elev-3: 0 12px 24px -6px rgba(15, 23, 42, .1), 0 4px 8px -2px rgba(15, 23, 42, .05);--shadow-elev-4: 0 24px 48px -12px rgba(15, 23, 42, .18);--focus-ring: 0 0 0 3px rgba(4, 120, 87, .35);--focus-ring-error: 0 0 0 3px rgba(220, 38, 38, .35);--motion-page: .32s;--motion-stagger-step: 50ms;--motion-bounce: .5s}html{font-feature-settings:"tnum" 1,"kern" 1}body{text-size-adjust:100%}h1,.h1{font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--color-text);margin-bottom:.5em}h2,.h2{font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--color-text);margin-bottom:.5em}h3,.h3{font-size:clamp(1.125rem,1.3vw,1.25rem);font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--color-text);margin-bottom:.4em}h4,.h4{font-size:1rem;font-weight:600;line-height:1.4;color:var(--color-text)}h5,.h5{font-size:.875rem;font-weight:600;line-height:1.5;color:var(--color-text-secondary-2);text-transform:uppercase;letter-spacing:.05em}.num,.stat-value,[data-numeric]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary-2)}.text-tertiary{color:var(--color-text-tertiary-2)}.text-quaternary{color:var(--color-text-quaternary)}.text-success{color:var(--color-text-success)}.text-error{color:var(--color-text-error)}.text-warning{color:var(--color-text-warning)}p{line-height:1.7;margin-bottom:1em}button,.btn{transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.97)}*:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.card,[class*=card],.panel{transition:transform var(--motion-normal) var(--ease-out),box-shadow var(--motion-normal) var(--ease-out)}.card:hover,[class*=card]:hover,.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-elev-3)}a{transition:color var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out)}.page-enter-active,.page-leave-active{transition:opacity var(--motion-page) var(--ease-smooth),transform var(--motion-page) var(--ease-smooth),filter var(--motion-page) var(--ease-smooth)}.page-enter-from{opacity:0;transform:translateY(8px) scale(.99);filter:blur(2px)}.page-leave-to{opacity:0;transform:translateY(-4px) scale(1.01);filter:blur(2px)}.nav-header{transition:height var(--motion-normal) var(--ease-smooth),background-color var(--motion-normal) var(--ease-smooth),box-shadow var(--motion-normal) var(--ease-smooth),padding var(--motion-normal) var(--ease-smooth)}.nav-header.is-scrolled{background-color:#ffffffd9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px #0f172a0f,0 2px 8px #0f172a0a}.nav-header.is-scrolled .nav-logo__text,.nav-header.is-scrolled .nav-item__text,.nav-header.is-scrolled .nav-user__name{transform:scale(.92)}.nav-header .nav-logo__text,.nav-header .nav-item__text,.nav-header .nav-user__name{transform-origin:left center;transition:transform var(--motion-normal) var(--ease-smooth)}.theme-transition-circle{position:fixed;top:var(--circle-y, 50%);left:var(--circle-x, 50%);width:0;height:0;border-radius:50%;background:var(--theme-circle-color, var(--color-bg));transform:translate(-50%,-50%);pointer-events:none;z-index:9999;transition:width .6s var(--ease-smooth),height .6s var(--ease-smooth)}.theme-transition-circle.is-active{width:250vmax;height:250vmax}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:1em;margin-bottom:.5em}.route-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:9998;pointer-events:none}.route-progress__bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));width:0;transform-origin:left;transition:width .3s var(--ease-smooth),opacity .2s;box-shadow:0 0 8px #04785780}.route-progress.is-loading .route-progress__bar{width:80%;transition:width 2s var(--ease-smooth)}.route-progress.is-done .route-progress__bar{width:100%;opacity:0;transition:width .2s var(--ease-smooth),opacity .2s .2s}@keyframes count-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stat-value{animation:count-fade-in .6s var(--ease-out) backwards}@keyframes stagger-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-item{animation:stagger-fade-up .4s var(--ease-out) backwards}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-item:nth-child(10){animation-delay:.45s}.stagger-item:nth-child(n+11){animation-delay:.5s}@media(min-width:1024px){.page-container{max-width:1200px}}@media(min-width:1280px){.page-container{max-width:1280px}}@media(min-width:1536px){.page-container{max-width:1400px}}.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-lg)}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}@media(max-width:1024px){.col-8,.col-6,.col-4,.col-3{grid-column:span 12}}.cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,#059669 100%);border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 14px #04785759,inset 0 1px #ffffff26;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),filter var(--motion-fast) var(--ease-out);position:relative;overflow:hidden}.cta-primary:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.4) 0%,transparent 50%);opacity:0;transition:opacity var(--motion-normal);pointer-events:none}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #04785773,inset 0 1px #fff3}.cta-primary:hover:before{opacity:1}.cta-primary:active{transform:translateY(0) scale(.98)}.ripple{position:relative;overflow:hidden}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff80;pointer-events:none;transform:scale(0);animation:ripple-expand .6s var(--ease-out) forwards}@keyframes ripple-expand{to{transform:scale(4);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.shake{animation:shake .5s}@keyframes pulse-success{0%{box-shadow:0 0 #05966980}70%{box-shadow:0 0 0 16px #05966900}to{box-shadow:0 0 #05966900}}.pulse-success{animation:pulse-success .8s var(--ease-out)}@keyframes pulse-error{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 16px #dc262600}to{box-shadow:0 0 #dc262600}}.pulse-error{animation:pulse-error .8s var(--ease-out)}.flip-card{perspective:1000px;width:100%;height:240px;cursor:pointer}.flip-card__inner{position:relative;width:100%;height:100%;transition:transform .6s var(--ease-smooth);transform-style:preserve-3d}.flip-card.is-flipped .flip-card__inner{transform:rotateY(180deg)}.flip-card__face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-elev-3);display:flex;align-items:center;justify-content:center;background:var(--surface-1);padding:24px}.flip-card__back{transform:rotateY(180deg);background:linear-gradient(135deg,var(--color-primary-light),var(--surface-1))}[data-theme=dark]{--color-bg: #0F172A;--color-bg-card: #1E293B;--color-bg-hover: #334155;--color-bg-elevated: #283548;--color-text: #F1F5F9;--color-text-secondary: #CBD5E1;--color-text-tertiary: #94A3B8;--color-border: #334155;--color-border-light: #1E293B;--surface-1: #1E293B;--surface-2: #283548;--surface-3: #334155}html,body,.nav-header,.card,[class*=card]{transition:background-color var(--motion-slow) var(--ease-smooth),color var(--motion-slow) var(--ease-smooth),border-color var(--motion-slow) var(--ease-smooth)}@media(max-width:768px){.hide-mobile{display:none!important}.cta-primary{padding:12px 20px;font-size:.95rem}}@media(min-width:769px){.hide-desktop{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::selection{background-color:#04785733;color:var(--color-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:5px;border:2px solid var(--color-bg)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary-2)}.main-content{min-height:calc(100vh - var(--nav-height));min-height:calc(100dvh - var(--nav-height))}@media(max-width:768px){.main-content--with-nav{padding-bottom:64px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{height:1px;background:var(--color-border-light);margin:16px 0}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;border-radius:9999px;line-height:1.4}.badge--success{background:var(--color-success-light);color:var(--color-text-success)}.badge--error{background:var(--color-error-light);color:var(--color-text-error)}.badge--warning{background:var(--color-warning-light);color:var(--color-text-warning)}.badge--info{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge--neutral{background:var(--surface-3);color:var(--color-text-secondary-2)}:root{--g-color-primary: #047857;--g-color-primary-light: #10b981;--g-color-primary-dark: #064e3b;--g-color-bg: #f9fafb;--g-color-bg-elevated: #ffffff;--g-color-text-primary: #1f2937;--g-color-text-secondary: #6b7280;--g-color-border: #e5e7eb;--g-color-success: #10b981;--g-color-warning: #f59e0b;--g-color-error: #ef4444;--g-color-mastery: #047857;--g-space-1: 4px;--g-space-2: 8px;--g-space-3: 12px;--g-space-4: 16px;--g-space-5: 24px;--g-space-6: 32px;--g-space-8: 48px;--g-space-10: 64px;--g-radius-sm: 8px;--g-radius-md: 12px;--g-radius-lg: 16px;--g-radius-full: 9999px;--g-text-xs: 12px;--g-text-sm: 14px;--g-text-base: 16px;--g-text-lg: 18px;--g-text-xl: 20px;--g-text-2xl: 24px;--g-text-3xl: 30px;--g-font-normal: 400;--g-font-medium: 500;--g-font-semibold: 600;--g-font-bold: 700;--g-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--g-shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--g-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--g-transition: all .2s cubic-bezier(.4, 0, .2, 1)}.grammar-page{min-height:100vh;min-height:100dvh;background:var(--g-color-bg);padding:var(--g-space-5) var(--g-space-4)}.grammar-page__container{max-width:1200px;margin:0 auto}.grammar-page__header{margin-bottom:var(--g-space-6);padding-bottom:var(--g-space-4);border-bottom:1px solid var(--g-color-border)}.grammar-page__title{font-size:var(--g-text-3xl);font-weight:var(--g-font-bold);color:var(--g-color-text-primary);margin:0 0 var(--g-space-2) 0}.grammar-page__subtitle{font-size:var(--g-text-base);color:var(--g-color-text-secondary);margin:0}.grammar-card{background:var(--g-color-bg-elevated);border-radius:var(--g-radius-md);padding:var(--g-space-5);box-shadow:var(--g-shadow-sm);transition:var(--g-transition)}.grammar-card:hover{box-shadow:var(--g-shadow-md);transform:translateY(-2px)}.grammar-card__title{font-size:var(--g-text-lg);font-weight:var(--g-font-semibold);color:var(--g-color-text-primary);margin:0 0 var(--g-space-3) 0}.grammar-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--g-space-2) var(--g-space-4);border-radius:var(--g-radius-sm);font-size:var(--g-text-sm);font-weight:var(--g-font-medium);border:1px solid transparent;cursor:pointer;transition:var(--g-transition)}.grammar-btn--primary{background:var(--g-color-primary);color:#fff}.grammar-btn--primary:hover{background:var(--g-color-primary-dark)}.grammar-btn--secondary{background:var(--g-color-bg-elevated);color:var(--g-color-text-primary);border-color:var(--g-color-border)}.grammar-btn--secondary:hover{border-color:var(--g-color-primary);color:var(--g-color-primary)}.grammar-badge{display:inline-flex;align-items:center;padding:var(--g-space-1) var(--g-space-2);border-radius:var(--g-radius-full);font-size:var(--g-text-xs);font-weight:var(--g-font-medium);background:var(--g-color-primary-light);color:#fff}.grammar-badge--outline{background:transparent;color:var(--g-color-primary);border:1px solid var(--g-color-primary)}.grammar-stat{display:flex;align-items:center;gap:var(--g-space-2)}.grammar-stat__num{font-size:var(--g-text-2xl);font-weight:var(--g-font-bold);color:var(--g-color-primary)}.grammar-stat__label{font-size:var(--g-text-sm);color:var(--g-color-text-secondary)}.grammar-progress{width:100%;height:8px;background:var(--g-color-border);border-radius:var(--g-radius-full);overflow:hidden}.grammar-progress__bar{height:100%;background:linear-gradient(90deg,var(--g-color-primary),var(--g-color-primary-light));border-radius:var(--g-radius-full);transition:width .5s ease}@media(max-width:1023.98px){.grammar-page{padding:var(--g-space-3) var(--g-space-2)}.grammar-page__title{font-size:var(--g-text-2xl)}.grammar-card{padding:var(--g-space-4)}}.exercise-card{background:var(--color-bg-card);border-radius:var(--radius-md, 12px);padding:20px 22px;margin-bottom:14px;border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:transform var(--g-dur-fast) var(--g-ease-snap),box-shadow var(--g-dur-fast) var(--g-ease-out),border-color var(--g-dur-fast) var(--g-ease-out);position:relative;overflow:hidden}.exercise-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--color-primary);transform:scaleY(0);transform-origin:top;transition:transform var(--g-dur-base) var(--g-ease-out)}.exercise-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.exercise-card:hover:before{transform:scaleY(1)}.exercise-card:hover{transform:translateY(-4px);box-shadow:10px 10px 20px #a3998d66,-10px -10px 20px #fff}.exercise-card.submitted{background:linear-gradient(145deg,#f8fafc,#f1f5f9)}.exercise-card.focused{border:2px solid var(--color-primary);box-shadow:8px 8px 16px #04785733,-8px -8px 16px #fff}@keyframes g-blink-correct{0%{box-shadow:0 0 #05966980}60%{box-shadow:0 0 0 12px #05966900}to{box-shadow:0 0 #05966900}}@keyframes g-shake-wrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(163,153,141,.15)}.exercise-tags{display:flex;align-items:center;gap:10px}.exercise-type{background:linear-gradient(135deg,#4a7c59,#6b9e7c);color:var(--color-text-inverse);padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600}.exercise-diff .star{color:#f59e0b;font-size:12px}.exercise-status{display:flex;align-items:center;gap:10px}.status-correct{display:flex;align-items:center;gap:4px;color:var(--color-success);font-weight:600;font-size:13px}.status-wrong{display:flex;align-items:center;gap:4px;color:var(--color-error);font-weight:600;font-size:13px}.exercise-index{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.exercise-body{margin-bottom:16px}.exercise-content{font-size:15px;line-height:1.8;color:var(--color-text);background:var(--color-bg-hover);padding:16px 18px;border-radius:10px;border-left:4px solid var(--color-primary);margin-bottom:14px;white-space:pre-wrap;word-break:break-word;position:relative}.exercise-content .btn-speak{margin-left:8px;vertical-align:middle}.exercise-options{display:grid;gap:10px}.opt-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-bg-card);border:2px solid var(--color-border-light);border-radius:10px;cursor:pointer;transition:transform var(--g-dur-fast) var(--g-ease-snap),border-color var(--g-dur-fast) var(--g-ease-out),background-color var(--g-dur-fast) var(--g-ease-out),box-shadow var(--g-dur-fast) var(--g-ease-out);font-size:14px;line-height:1.5;position:relative;overflow:hidden}.opt-item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-100%);transition:transform .5s ease;pointer-events:none}.opt-item:hover:before{transform:translate(100%)}.opt-item:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translate(4px);box-shadow:0 4px 12px #0478571f}.opt-item.opt-selected{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-light),#D1FAE5);box-shadow:0 0 0 3px #0478571a}.opt-item.opt-correct{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-success-light),#D1FAE5);animation:g-blink-correct .7s var(--g-ease-out)}.opt-item.opt-wrong{border-color:var(--color-error);background:linear-gradient(135deg,var(--color-error-light),#FEE2E2);animation:g-shake-wrong .4s var(--g-ease-out)}.opt-item input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.opt-letter{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:linear-gradient(135deg,#4a7c59,#6b9e7c);color:var(--color-text-inverse);border-radius:50%;font-weight:700;font-size:13px;flex-shrink:0}.opt-text{flex:1;color:var(--color-text)}.opt-check{color:var(--color-success);flex-shrink:0}.opt-cross{color:var(--color-error);flex-shrink:0}.exercise-input input[type=text]{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--color-border-light);border-radius:10px;background:linear-gradient(145deg,#fff,#f8fafc);transition:all .3s}.exercise-input input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:4px 4px 8px #04785733,-2px -2px 6px #fffc}.exercise-input input[type=text]::placeholder{color:var(--color-text-tertiary)}.exercise-hint{background:linear-gradient(145deg,#fffbeb,#fef3c7);border:1px solid rgba(245,158,11,.2);border-radius:10px;padding:14px;margin-top:12px}.hint-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.hint-row:last-child{margin-bottom:0}.hint-label{font-weight:600;font-size:12px;color:var(--color-text-secondary);min-width:70px}.hint-value{font-size:14px;line-height:1.6;flex:1}.hint-value.right{color:var(--color-success);font-weight:600}.hint-value.wrong{color:var(--color-error)}.hint-actions{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(245,158,11,.3)}.progress-track{height:10px;background:linear-gradient(145deg,#e5e7eb,#d1d5db);border-radius:5px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#4a7c59,#6b9e7c);border-radius:5px;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.progress-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.practice-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border-radius:10px;margin-bottom:16px;flex-wrap:wrap;gap:10px}.toolbar-info{font-size:13px;color:var(--color-text-secondary)}.toolbar-info strong{color:var(--color-text)}.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-select{padding:6px 12px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-card);font-size:13px;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--color-primary)}.hide-mastered-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.hide-mastered-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.kb-hint{display:flex;justify-content:center;gap:6px;padding:10px;background:#f9fafbcc;border-radius:8px;margin-bottom:16px;font-size:12px;color:var(--color-text-tertiary)}.kb-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:linear-gradient(145deg,#fff,#f1f5f9);border:1px solid var(--color-border-light);border-radius:4px;font-weight:600;font-size:11px;color:var(--color-text);box-shadow:2px 2px 4px #0000000d,-1px -1px 3px #fffc}@media(max-width:639.98px){.exercise-card{padding:14px;margin-bottom:12px}.exercise-content{font-size:14px;padding:12px}.exercise-options{grid-template-columns:1fr}.practice-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.exercise-card,.opt-item{transition:none!important}.opt-item:hover{transform:none!important}.opt-item:before{display:none!important}.opt-item.opt-correct,.opt-item.opt-wrong{animation:none!important}.exercise-card:before{transform:scaleY(0)}.exercise-card:hover{transform:none!important}}.touch-device{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.95);opacity:.8}.no-touch-scroll{touch-action:none}.allow-touch-scroll{touch-action:pan-x pan-y}.touch-scroll-x{touch-action:pan-x;overflow-x:auto;-webkit-overflow-scrolling:touch}.touch-scroll-y{touch-action:pan-y;overflow-y:auto;-webkit-overflow-scrolling:touch}.swipe-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:#000000b3;color:#fff;padding:20px 30px;border-radius:12px;font-size:16px;pointer-events:none;z-index:9999;opacity:0;transition:opacity .2s ease,transform .2s ease}.swipe-indicator.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.pinch-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;padding:15px 25px;border-radius:8px;font-size:14px;pointer-events:none;z-index:9999;opacity:0;transition:opacity .2s ease}.pinch-indicator.active{opacity:1}.longpress-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;padding:15px 25px;border-radius:8px;font-size:14px;pointer-events:none;z-index:9999;opacity:0;transition:opacity .2s ease}.longpress-indicator.active{opacity:1}@keyframes swipe-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes swipe-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes swipe-in-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes swipe-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes swipe-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes swipe-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes swipe-out-top{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes swipe-out-bottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.swipe-in-left{animation:swipe-in-left .3s ease}.swipe-in-right{animation:swipe-in-right .3s ease}.swipe-in-top{animation:swipe-in-top .3s ease}.swipe-in-bottom{animation:swipe-in-bottom .3s ease}.swipe-out-left{animation:swipe-out-left .3s ease}.swipe-out-right{animation:swipe-out-right .3s ease}.swipe-out-top{animation:swipe-out-top .3s ease}.swipe-out-bottom{animation:swipe-out-bottom .3s ease}.touch-success{animation:touch-success .3s ease}@keyframes touch-success{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.touch-error{animation:touch-error .3s ease}@keyframes touch-error{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.touch-loading{animation:touch-loading 1s ease infinite}@keyframes touch-loading{0%,to{transform:rotate(0)}to{transform:rotate(360deg)}}.swipe-hint{position:relative;overflow:hidden}.swipe-hint:after{content:"← 滑动 →";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .3s ease}.swipe-hint.show-hint:after{opacity:1}.pinch-hint{position:relative}.pinch-hint:before{content:"🤏 捏合缩放";position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 12px;border-radius:6px;font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .3s ease}.pinch-hint.show-hint:before{opacity:1}.longpress-hint{position:relative}.longpress-hint:after{content:"⏱ 长按";position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:4px 10px;border-radius:4px;font-size:10px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .3s ease}.longpress-hint.show-hint:after{opacity:1}.touch-overlay{position:fixed;inset:0;background:#00000080;z-index:9998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.touch-overlay.active{opacity:1;visibility:visible}.swipe-card{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.swipe-card.dragging{transition:none;cursor:grabbing}.swipe-card.dragging{box-shadow:0 20px 40px #0003;z-index:1000}.swipe-card.swipe-left{transform:translate(-100%)}.swipe-card.swipe-right{transform:translate(100%)}.swipe-card.swipe-up{transform:translateY(-100%)}.swipe-card.swipe-down{transform:translateY(100%)}.swipe-card-actions{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 20px;gap:10px}.swipe-card-actions-left{left:0;transform:translate(-100%)}.swipe-card-actions-right{right:0;transform:translate(100%)}.touch-carousel{overflow:hidden;touch-action:pan-y pan-x}.touch-carousel-track{display:flex;transition:transform .3s ease;touch-action:pan-y pan-x}.touch-carousel-item{flex:0 0 100%;touch-action:pan-y pan-x}.touch-carousel-indicators{display:flex;justify-content:center;gap:8px;padding:10px}.touch-carousel-indicator{width:8px;height:8px;border-radius:50%;background:#0000004d;transition:background .3s ease,transform .3s ease}.touch-carousel-indicator.active{background:var(--primary-color);transform:scale(1.2)}.pull-refresh-container{overflow:hidden;touch-action:pan-y}.pull-refresh-indicator{position:absolute;top:0;left:50%;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffffe6;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000001a;opacity:0;transition:opacity .3s ease}.pull-refresh-indicator.active{opacity:1}.pull-refresh-spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-more-indicator{display:flex;justify-content:center;align-items:center;padding:20px;opacity:0;transition:opacity .3s ease}.load-more-indicator.active{opacity:1}.load-more-spinner{width:24px;height:24px;border:2px solid #e0e0e0;border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:8px 16px;z-index:10000;transition:top .3s ease}.high-contrast :focus{outline:3px solid currentColor;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.hidden-visually{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-indicator{position:relative;pointer-events:none}.loading-indicator:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #e0e0e0;border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.loading-indicator[aria-busy=false]:before{display:none}.error-state{position:relative}.error-state:before{content:"⚠";position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.error-message{color:#ef4444;font-size:14px;margin-top:4px}.success-state{position:relative}.success-state:before{content:"✓";position:absolute;top:-8px;right:-8px;background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.aria-live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:9998}.modal-content{position:relative;z-index:9999;max-height:90vh;overflow-y:auto}.dropdown-menu[aria-hidden=true]{display:none}.dropdown-item:hover,.dropdown-item:focus{background:#f5f5f5;outline:none}.tabs-container{position:relative}.tab-panel{display:none}.tab-panel[aria-hidden=false]{display:block}.accordion-item{border-bottom:1px solid #e0e0e0}.accordion-icon{transition:transform .3s ease}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-content[aria-hidden=false]{max-height:1000px}.progress-bar{position:relative;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--primary-color);transition:width .3s ease}.progress-label{position:absolute;top:-24px;right:0;font-size:12px;color:#666}.checkbox-container,.radio-container{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-input,.radio-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox-custom,.radio-custom{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid #ccc;border-radius:4px;transition:background .2s ease,border-color .2s ease}.checkbox-custom{border-radius:4px}.radio-custom{border-radius:50%}.checkbox-input:checked+.checkbox-custom,.radio-input:checked+.radio-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-input:focus+.checkbox-custom,.radio-input:focus+.radio-custom{box-shadow:0 0 0 3px #6366f14d}.checkbox-custom:after{content:"✓";color:#fff;font-size:12px;opacity:0;transition:opacity .2s ease}.checkbox-input:checked+.checkbox-custom:after{opacity:1}.switch-container{display:flex;align-items:center;gap:8px;cursor:pointer}.switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.switch-track{width:44px;height:24px;background:#e0e0e0;border-radius:12px;position:relative;transition:background .2s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 4px #0003}.switch-input:checked+.switch-track{background:var(--primary-color)}.switch-input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch-input:focus+.switch-track{box-shadow:0 0 0 3px #6366f14d}.tooltip-container{position:relative;display:inline-block}.tooltip-trigger{cursor:help}.tooltip-content{position:absolute;z-index:1000;padding:8px 12px;background:#333;color:#fff;border-radius:6px;font-size:14px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.tooltip-content[aria-hidden=false]{opacity:1;visibility:visible}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}.breadcrumb,.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-link{color:var(--primary-color);text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{color:#999}.breadcrumb-current{color:#666;font-weight:500}.data-table thead{background:#f5f5f5}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td{padding:12px 16px;border-bottom:1px solid #e0e0e0}.data-table tbody tr:hover{background:#f9f9f9}.data-table-sort{cursor:pointer;transition:color .2s ease}.data-table-sort:hover{color:var(--primary-color)}.data-table-sort[aria-sort=ascending]:after{content:" ▲"}.data-table-sort[aria-sort=descending]:after{content:" ▼"}.form-field{position:relative}.form-label{display:block;margin-bottom:4px;font-weight:500;color:#333}.form-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f14d}.form-input[aria-invalid=true]{border-color:#ef4444}.form-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #ef44444d}.form-error{display:flex;align-items:center;gap:6px;margin-top:4px;color:#ef4444;font-size:14px}.form-error:before{content:"⚠"}.form-success{display:flex;align-items:center;gap:6px;margin-top:4px;color:#10b981;font-size:14px}.form-success:before{content:"✓"}@media print{.no-print,.skip-link,.tooltip-content,.modal-backdrop,.dropdown-menu{display:none!important}.print-only{display:block!important}body{background:#fff;color:#000}a{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}}@media(prefers-contrast:high){:root{--focus-outline-width: 3px;--focus-outline-offset: 2px}.high-contrast *{border:1px solid currentColor!important}.high-contrast :focus{outline:3px solid currentColor!important;outline-offset:2px}.high-contrast .form-input{border-width:2px}.high-contrast .button{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-normal{animation-duration:.01ms!important;transition-duration:.01ms!important}}:focus{outline:2px solid var(--primary-color);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.focus-ring{position:relative}.focus-ring:after{content:"";position:absolute;inset:-2px;border:2px solid var(--primary-color);border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s ease}.focus-ring:focus:after{opacity:1}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:8px 16px;z-index:10000;transition:top .3s ease;text-decoration:none;font-weight:500}.skip-link:focus{top:0}.skip-link:focus{outline:2px solid white;outline-offset:2px}.keyboard-hint{position:absolute;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-family:monospace;pointer-events:none;opacity:0;transition:opacity .2s ease}.keyboard-hint.show{opacity:1}.modal-focus-trap{position:fixed;inset:0;z-index:9998}.modal-content:focus{outline:none}.modal-content:focus-visible{outline:2px solid var(--primary-color);outline-offset:0}.dropdown-menu{position:absolute;z-index:1000;min-width:200px;padding:8px 0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026}.dropdown-item{padding:10px 16px;cursor:pointer;transition:background .15s ease}.dropdown-item:hover,.dropdown-item:focus,.dropdown-item:focus-visible{background:#f5f5f5;outline:none}.dropdown-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.dropdown-item--active{background:var(--primary-color);color:#fff}.tabs-list{display:flex;gap:4px;border-bottom:2px solid #e0e0e0}.tab-button{padding:12px 16px;cursor:pointer;border:none;background:none;font-size:14px;font-weight:500;color:#666;transition:color .2s ease,border-bottom .2s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.tab-button:hover{color:var(--primary-color)}.tab-button[aria-selected=true]{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-button:focus{outline:none;box-shadow:inset 0 -2px 0 var(--primary-color)}.accordion-button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px;background:none;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s ease}.accordion-button:hover{background:#f5f5f5}.accordion-button:focus{outline:none;background:#f0f0f0}.accordion-button[aria-expanded=true] .accordion-icon{transform:rotate(180deg)}.keyboard-list{list-style:none;padding:0;margin:0}.keyboard-list-item{padding:10px 16px;cursor:pointer;transition:background .15s ease}.keyboard-list-item:hover,.keyboard-list-item:focus,.keyboard-list-item:focus-visible{background:#f5f5f5;outline:none}.keyboard-list-item--active{background:var(--primary-color);color:#fff}.data-table{width:100%;border-collapse:collapse}.data-table tbody tr{cursor:pointer}.data-table tbody tr:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.data-table tbody tr:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.data-table tbody tr--active{background:#f0f0ff}.pagination{display:flex;align-items:center;gap:4px}.pagination-button{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination-button:hover{background:#f5f5f5}.pagination-button:focus{outline:none;box-shadow:0 0 0 3px #6366f14d}.pagination-button[aria-current=page]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.slider-container{position:relative;width:100%;height:44px;display:flex;align-items:center}.slider-track{position:absolute;width:100%;height:6px;background:#e0e0e0;border-radius:3px}.slider-fill{position:absolute;height:100%;background:var(--primary-color);border-radius:3px}.slider-thumb{position:absolute;width:20px;height:20px;background:#fff;border:2px solid var(--primary-color);border-radius:50%;cursor:grab;transition:transform .15s ease,box-shadow .15s ease}.slider-thumb:hover{transform:scale(1.1)}.slider-thumb:focus{outline:none;box-shadow:0 0 0 4px #6366f14d}.slider-thumb:active{cursor:grabbing}.shortcuts-help{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.shortcuts-help--visible{opacity:1;visibility:visible}.shortcuts-help-content{background:#fff;padding:24px;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.shortcuts-help-title{font-size:20px;font-weight:600;margin-bottom:16px;color:#333}.shortcuts-help-list{list-style:none;padding:0;margin:0}.shortcuts-help-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.shortcuts-help-item:last-child{border-bottom:none}.shortcuts-help-key{background:#f5f5f5;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:14px;min-width:80px;text-align:center}.shortcuts-help-action{color:#666;font-size:14px}.loading [tabindex]:not(.loading-allow-focus){pointer-events:none}.loading [tabindex]:not(.loading-allow-focus){opacity:.5}.error-state [tabindex]{outline:2px solid #ef4444}.error-state [tabindex]:focus{outline:3px solid #ef4444;outline-offset:2px}.success-state [tabindex]{outline:2px solid #10b981}.success-state [tabindex]:focus{outline:3px solid #10b981;outline-offset:2px}@media(prefers-contrast:high){:root{--focus-outline-width: 3px;--focus-outline-offset: 2px}.high-contrast :focus{outline:3px solid currentColor!important;outline-offset:2px!important}.high-contrast :focus-visible{outline:3px solid currentColor!important;outline-offset:2px!important}.high-contrast .skip-link:focus{outline:3px solid white!important}.high-contrast .tab-button:focus{box-shadow:inset 0 -3px 0 currentColor!important}.high-contrast .pagination-button:focus{box-shadow:0 0 0 4px currentColor!important}}@media(prefers-reduced-motion:reduce){.skip-link,.focus-ring:after,.keyboard-hint,.shortcuts-help{transition:none!important}.accordion-button .accordion-icon{transition:none!important}}@media print{.skip-link,.keyboard-hint,.shortcuts-help{display:none!important}}.text-primary{color:#1a1a2e}.text-secondary{color:#4a4a6a}.text-tertiary{color:#6a6a8a}.text-muted{color:#8a8aaa}.text-disabled{color:#b0b0c0}.link-color{color:#6366f1}.link-color:hover{color:#4f46e5}.link-color:visited{color:#7c3aed}.link-color:active{color:#4338ca}.link-color:focus{color:#4f46e5;outline:2px solid #6366f1;outline-offset:2px}.button-text-primary{color:#fff}.button-text-secondary{color:#6366f1}.button-text-danger,.button-text-success{color:#fff}.border-color{color:#e0e0e0}.border-color--enhanced{color:silver}.border-color--strong{color:#a0a0a0}.border-color--very-strong{color:gray}.bg-primary{background-color:#fff}.bg-secondary{background-color:#f5f5f5}.bg-tertiary{background-color:#fafafa}.bg-accent{background-color:#6366f1}.bg-danger{background-color:#fee2e2}.bg-success{background-color:#d1fae5}.bg-warning{background-color:#fef3c7}@media(prefers-color-scheme:dark){.text-primary{color:#f0f0f0}.text-secondary{color:silver}.text-tertiary{color:#a0a0a0}.link-color{color:#818cf8}.bg-primary{background-color:#1a1a2e}.bg-secondary{background-color:#16213e}.border-color{color:#2a2a4a}.border-color--enhanced{color:#3a3a5a}.border-color--strong{color:#4a4a6a}.border-color--very-strong{color:#5a5a7a}}.status-success{color:#059669}.status-success-bg{background-color:#10b981}.status-danger{color:#dc2626}.status-danger-bg{background-color:#ef4444}.status-warning{color:#d97706}.status-warning-bg{background-color:#f59e0b}.status-info{color:#0284c7}.status-info-bg{background-color:#0ea5e9}.icon-color{color:#6b7280}.icon-color--primary{color:#6366f1}.icon-color--secondary{color:#9ca3af}.icon-color--disabled{color:#d1d5db}.icon-color--disabled-enhanced{color:#9ca3af}.table-header-text{color:#374151}.table-cell-text{color:#1f2937}.table-border{color:#e5e7eb}.table-border--enhanced{color:#d1d5db}.table-border--strong{color:#9ca3af}.form-label-text{color:#374151}.form-input-text{color:#1f2937}.form-placeholder-text{color:#9ca3af}.form-error-text{color:#dc2626}.form-success-text{color:#059669}.form-border{color:#d1d5db}.form-border--error{color:#ef4444}.form-border--success{color:#10b981}.text-disabled--fixed{color:#767676}.border-color--fixed,.icon-color--disabled-fixed,.table-border--fixed,.form-border--fixed{color:#9ca3af}@media(max-width:1023.98px)and (pointer:coarse){button,[role=button],input[type=submit],select{min-height:44px;min-width:44px}input[type=checkbox],input[type=radio]{min-height:22px;min-width:22px}.el-button{min-height:44px}.el-button--small,.el-button--mini{min-height:44px;padding-top:10px;padding-bottom:10px}.el-pagination button,.el-pagination .el-pager li{min-height:44px;min-width:44px}.el-table__body td.el-table__cell{padding-top:12px;padding-bottom:12px}.el-radio,.el-checkbox{min-height:44px;display:inline-flex;align-items:center}.el-switch{height:44px}}@media(max-width:1023.98px){html body :is(input,select,textarea,.el-input__inner,.el-textarea__inner,.el-select__placeholder,.el-select__selected-item):not([type=hidden]),html body .page :is(input,select,textarea,.el-input__inner,.el-textarea__inner):not([type=hidden]){font-size:16px!important}}@media(max-width:1023.98px)and (pointer:coarse){a,button,input,select,textarea,label,summary,[role=button],[role=tab],.clickable{touch-action:manipulation}}@media(max-width:1023.98px){.el-overlay,.el-dialog,.el-drawer,.modal-pro,.modal-pro__body.is-scrollable,.auth-modal,.upgrade-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}@media(max-width:1023.98px){.mobile-nav{height:calc(64px + env(safe-area-inset-bottom))!important;padding-bottom:env(safe-area-inset-bottom)!important}.site-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-primary);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bg) 30%,transparent),transparent);transition:left .6s ease}.btn-primary:hover:not(:disabled):before{left:100%}.btn-primary:hover:not(:disabled){background:var(--gradient-primary-hover);transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px color-mix(in srgb,var(--mint-700) 50%,transparent)}.btn-primary:active:not(:disabled){transform:translateY(-1px) scale(.98);box-shadow:0 6px 20px color-mix(in srgb,var(--mint-700) 40%,transparent)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:2px solid var(--color-border);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px color-mix(in srgb,var(--mint-700) 15%,transparent)}.btn-secondary:active:not(:disabled){transform:translateY(-1px) scale(.98)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn-sm{padding:6px 14px;font-size:var(--font-xs)}.btn-lg{padding:14px 28px;font-size:var(--font-md)}.btn-disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.96)}.detail-hero{background:linear-gradient(145deg,var(--bg-subtle),var(--bg-subtle));border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg);position:relative;overflow:hidden;animation:hero-enter 1s cubic-bezier(.16,1,.3,1) .1s both;box-shadow:10px 10px 20px color-mix(in srgb,var(--ink-4) 40%,transparent),-10px -10px 20px color-mix(in srgb,var(--bg) 90%,transparent),inset 2px 2px 4px color-mix(in srgb,var(--ink-4) 10%,transparent),inset -2px -2px 4px color-mix(in srgb,var(--bg) 50%,transparent);border:1px solid color-mix(in srgb,var(--bg) 50%,transparent)}.detail-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);animation:hero-bar-expand 1.2s cubic-bezier(.16,1,.3,1) .3s both}@keyframes hero-bar-expand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.detail-hero:after{content:"";position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,color-mix(in srgb,var(--mint-700) 10%,transparent) 0%,transparent 60%);pointer-events:none;animation:hero-glow-pulse 4s ease-in-out infinite}@keyframes hero-glow-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}@keyframes hero-enter{0%{opacity:0;transform:translateY(40px) scale(.95) rotateX(5deg);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1) rotateX(0);filter:blur(0)}}.hero-content{animation:hero-content-slide .8s cubic-bezier(.16,1,.3,1) .4s both}@keyframes hero-content-slide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.hero-actions{animation:hero-actions-slide .8s cubic-bezier(.16,1,.3,1) .6s both;display:flex;gap:var(--space-sm);flex-wrap:wrap}@keyframes hero-actions-slide{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.hero-meta{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.code-badge{font-family:SF Mono,Fira Code,Consolas,monospace;background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:500;transition:all var(--transition-fast);animation:badge-pop .6s cubic-bezier(.34,1.56,.64,1) both}.hero-meta .badge:nth-child(1){animation-delay:.5s}.hero-meta .badge:nth-child(2){animation-delay:.6s}.hero-meta .badge:nth-child(3){animation-delay:.7s}.hero-meta .badge:nth-child(4){animation-delay:.8s}@keyframes badge-pop{0%{opacity:0;transform:scale(0) rotate(-20deg)}60%{transform:scale(1.15) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.badge-dot{width:6px;height:6px;border-radius:50%}.diff-easy{background:var(--color-success-light);color:var(--color-success)}.diff-easy .badge-dot{background:var(--color-success)}.diff-medium{background:var(--brand-50);color:var(--brand-600)}.diff-medium .badge-dot{background:var(--brand-600)}.diff-hard{background:var(--color-error-light);color:var(--color-error)}.diff-hard .badge-dot{background:var(--color-error)}.pri-A{background:var(--color-error-light);color:var(--color-error)}.pri-A .badge-dot{background:var(--color-error)}.pri-B{background:var(--brand-50);color:var(--brand-600)}.pri-B .badge-dot{background:var(--brand-600)}.pri-C{background:var(--color-bg-hover);color:var(--color-text-tertiary)}.pri-C .badge-dot{background:var(--color-text-tertiary)}.cat{background:var(--violet-soft);color:var(--violet-500)}.hero-title{font-size:var(--font-3xl);font-weight:700;color:var(--color-text);line-height:1.3;margin:0}.hero-source{display:flex;gap:var(--space-md);flex-wrap:wrap;color:var(--color-text-tertiary);font-size:var(--font-sm)}.source-item{display:inline-flex;align-items:center;gap:4px}.tabs-wrapper{position:sticky;top:var(--nav-height, 64px);z-index:10;background:var(--color-bg);padding-top:var(--space-sm);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);animation:g-fade-down .5s var(--g-ease-out) .4s both}.tabs{display:flex;gap:4px;background:linear-gradient(145deg,var(--bg-subtle),var(--bg-subtle));padding:6px;border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:none;position:relative;box-shadow:6px 6px 12px color-mix(in srgb,var(--ink-4) 30%,transparent),-6px -6px 12px color-mix(in srgb,var(--bg) 85%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 8%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 40%,transparent);border:1px solid color-mix(in srgb,var(--bg) 50%,transparent);transition:box-shadow var(--g-dur-fast) var(--g-ease-out)}.tabs::-webkit-scrollbar{display:none}.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative}.tab-btn{position:relative;z-index:1}.tab-btn:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:transparent;transform-origin:left center;transform:scaleX(0);opacity:0;transition:background-color var(--g-dur-fast) var(--g-ease-out)}.tab-btn.active{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:4px 4px 8px color-mix(in srgb,var(--mint-700) 30%,transparent),-2px -2px 6px color-mix(in srgb,var(--bg) 40%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-1) 10%,transparent);animation:tab-active-bounce .5s cubic-bezier(.34,1.56,.64,1)}.tab-btn.active:after{background:color-mix(in srgb,var(--bg) 70%,transparent);transform:scaleX(1);opacity:1;animation:tab-indicator-grow .45s var(--g-ease-snap) .05s both}@keyframes tab-indicator-grow{0%{transform:scaleX(0);opacity:0}60%{transform:scaleX(1.05);opacity:1}to{transform:scaleX(1);opacity:1}}@keyframes tab-active-bounce{0%{transform:scale(.95)}40%{transform:scale(1.06)}70%{transform:scale(.98)}to{transform:scale(1)}}.tab-btn:hover:not(.active){background:linear-gradient(145deg,var(--bg),var(--bg-subtle));color:var(--color-text);transform:translateY(-2px);box-shadow:3px 3px 6px color-mix(in srgb,var(--ink-4) 20%,transparent),-3px -3px 6px color-mix(in srgb,var(--bg) 70%,transparent)}.tab-btn:active:not(.active){transform:translateY(0) scale(.97)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:color-mix(in srgb,var(--bg) 20%,transparent);border-radius:var(--radius-full);font-size:11px;font-weight:600}.tab-btn.active .tab-count{background:color-mix(in srgb,var(--bg) 30%,transparent)}.tab-content-wrapper{background:transparent;border-radius:var(--radius-xl);min-height:400px;border:none;box-shadow:none;position:relative}.tab-content{padding:0}.tab-fade-enter-active{transition:opacity var(--g-dur-slow) var(--g-ease-out),transform var(--g-dur-slow) var(--g-ease-out)}.tab-fade-leave-active{transition:opacity var(--g-dur-base) var(--g-ease-out),transform var(--g-dur-base) var(--g-ease-out);position:absolute;width:100%;top:0;left:0}.tab-fade-enter-from{opacity:0;transform:translateY(20px) scale(.99)}.tab-fade-leave-to{opacity:0;transform:translateY(-10px) scale(.99)}.content-section{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);margin-bottom:var(--sp-4);position:relative;overflow:hidden;box-shadow:var(--sh-1);animation:section-enter .28s var(--e-out) both}@keyframes section-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}} .content-section:hover{box-shadow:var(--sh-2);border-color:var(--line-control)}.section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.section-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);flex-shrink:0}.content-section .section-icon{animation:icon-pop .2s var(--e-out) both}@keyframes icon-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.icon-blue{background:var(--brand-50);color:var(--brand-600)}.icon-green{background:var(--mint-soft);color:var(--mint-700)}.icon-red{background:var(--rose-soft);color:var(--rose-700)}.icon-amber{background:var(--amber-soft);color:var(--amber-700)}.icon-purple{background:var(--violet-soft);color:var(--violet-700)}.icon-cyan{background:var(--info-soft);color:var(--info-700)}.icon-pink{background:var(--rose-soft);color:var(--rose-700)}.icon-indigo{background:var(--brand-50);color:var(--brand-700)}.content-section h3{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--color-text)}.content-body{background:var(--bg-subtle);padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--line)}.content-list{background:var(--bg-subtle);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-8);border-radius:var(--r-md);border:1px solid var(--line);margin:0}.content-list li{margin-bottom:var(--space-xs);line-height:1.7;color:var(--color-text)}.content-list li:last-child{margin-bottom:0}.table-block{margin-top:var(--space-md)}.table-block h4{margin:0 0 var(--space-sm);font-size:var(--font-md);color:var(--color-text-secondary);font-weight:600}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md, 12px);border:1px solid var(--color-border-light);background:var(--color-bg-card);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);animation:g-fade-up .2s var(--e-out) both}.data-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;color:var(--color-text)}.data-table thead{background:var(--bg-subtle);color:var(--ink-2)}.data-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;letter-spacing:.02em;white-space:nowrap;border-bottom:1px solid var(--line)}.data-table tbody tr{border-top:1px solid var(--color-border-light);transition:background-color var(--g-dur-fast) var(--g-ease-out),transform var(--g-dur-fast) var(--g-ease-out);animation:g-fade-up .2s var(--e-out) both}.data-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.data-table tbody tr:hover{background:var(--brand-50)}.data-table tbody tr:first-child{border-top:none}.data-table td{padding:12px 16px;vertical-align:top;color:var(--color-text)}.data-table td code,.data-table td strong{color:var(--color-primary);font-weight:600}.data-table tbody tr:hover td{color:var(--color-text)}[data-theme=dark] .table-wrapper{background:var(--color-bg-card);border-color:var(--color-border)}[data-theme=dark] .data-table tbody tr{border-top-color:var(--color-border)}[data-theme=dark] .data-table tbody tr:nth-child(2n){background:var(--color-bg-hover)}[data-theme=dark] .data-table tbody tr:hover{background:var(--brand-50)}@media(prefers-reduced-motion:reduce){.table-wrapper,.data-table tbody tr{animation:none!important}.data-table tbody tr{transition:none!important}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-tertiary);text-align:center;gap:var(--space-md);background:linear-gradient(145deg,var(--bg-subtle),var(--bg-subtle));border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--bg) 50%,transparent);box-shadow:6px 6px 12px color-mix(in srgb,var(--ink-4) 25%,transparent),-6px -6px 12px color-mix(in srgb,var(--bg) 85%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 8%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 40%,transparent)}.empty-icon{color:var(--color-border)}.empty-state p{font-size:var(--font-md);margin:0}.example-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mint-700) 3%,transparent),transparent);transform:translate(-100%);transition:transform .6s ease}.example-card:hover:after{transform:translate(100%)}@keyframes card-slide-in{0%{opacity:0;transform:translate(-40px) rotateY(-10deg);filter:blur(2px)}to{opacity:1;transform:translate(0) rotateY(0);filter:blur(0)}}.example-card:hover{transform:translate(12px) translateY(-4px);box-shadow:10px 10px 20px color-mix(in srgb,var(--ink-4) 45%,transparent),-10px -10px 20px color-mix(in srgb,var(--bg) 95%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 12%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 50%,transparent);border-left-width:6px}.example-card:hover:before{opacity:.7}.example-card.type-negative{border-left-color:var(--color-error)}.example-card.type-interrogative{border-left-color:var(--color-warning)}.example-card.type-phonetic{border-left-color:var(--violet-500)}.example-type-badge{display:inline-block;font-size:var(--font-xs);padding:4px 10px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600}.example-card.type-negative .example-type-badge{background:var(--color-error-light);color:var(--color-error)}.example-card.type-interrogative .example-type-badge{background:var(--color-warning-light);color:var(--color-warning)}.example-card.type-phonetic .example-type-badge{background:var(--violet-soft);color:var(--violet-500)}.example-en{color:var(--color-primary);font-weight:600;font-size:var(--font-md);line-height:1.6;display:flex;align-items:center;gap:var(--space-sm)}.example-cn{color:var(--color-success);margin-top:var(--space-sm);font-size:var(--font-sm);display:flex;align-items:center;gap:var(--space-sm)}.example-source{color:var(--color-text-tertiary);font-size:var(--font-xs);margin-top:var(--space-sm);display:flex;align-items:center;gap:4px}.btn-speak{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--bg) 60%,transparent);background:linear-gradient(145deg,var(--bg),var(--bg-subtle));color:var(--color-text-tertiary);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;box-shadow:2px 2px 4px color-mix(in srgb,var(--ink-4) 20%,transparent),-2px -2px 4px color-mix(in srgb,var(--bg) 70%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 5%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 30%,transparent)}.btn-speak:hover{background:var(--color-primary);color:var(--color-text-inverse);border-color:color-mix(in srgb,var(--bg) 30%,transparent);box-shadow:3px 3px 6px color-mix(in srgb,var(--mint-700) 30%,transparent),-1px -1px 3px color-mix(in srgb,var(--bg) 20%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-1) 10%,transparent);transform:scale(1.1)}.btn-speak.playing{background:var(--color-success);color:var(--color-text-inverse);border-color:color-mix(in srgb,var(--bg) 30%,transparent);animation:pulse-ring 1.2s ease-in-out infinite;box-shadow:3px 3px 6px color-mix(in srgb,var(--mint-600) 30%,transparent),-1px -1px 3px color-mix(in srgb,var(--bg) 20%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-1) 10%,transparent)}.btn-speak-zh{width:24px;height:24px}.breadcrumb-nav{margin-bottom:var(--space-md)}.btn-back{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:linear-gradient(145deg,var(--bg-subtle),var(--bg-subtle));border:1px solid color-mix(in srgb,var(--bg) 50%,transparent);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);box-shadow:4px 4px 8px color-mix(in srgb,var(--ink-4) 30%,transparent),-4px -4px 8px color-mix(in srgb,var(--bg) 80%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 5%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 40%,transparent)}.btn-back:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:6px 6px 12px color-mix(in srgb,var(--ink-4) 35%,transparent),-6px -6px 12px color-mix(in srgb,var(--bg) 90%,transparent),inset 1px 1px 2px color-mix(in srgb,var(--ink-4) 8%,transparent),inset -1px -1px 2px color-mix(in srgb,var(--bg) 50%,transparent);transform:translateY(-2px)}.btn-back:active{transform:scale(.96)}.phoneme-list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.phoneme-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--r-full);transition:border-color var(--d-fast) var(--e-out),box-shadow var(--d-fast) var(--e-out)}.phoneme-chip:hover{border-color:var(--line-control);box-shadow:var(--sh-1)}.phoneme-text{font-family:var(--font-num);font-size:16px;font-weight:600;color:var(--brand-600);letter-spacing:.02em}.phoneme-word{font-size:14px;color:var(--ink-3);padding-left:10px;border-left:1px solid var(--line)}.btn-phoneme-play{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--r-full);background:var(--brand-50);color:var(--brand-600);cursor:pointer;transition:background-color var(--d-fast) var(--e-out),transform var(--d-fast) var(--e-out)}.btn-phoneme-play:hover{background:color-mix(in srgb,var(--brand-500) 20%,transparent);transform:scale(1.06)}.btn-phoneme-play.playing{background:var(--brand-600);color:var(--bg)}.btn-phoneme-play:focus-visible{outline:2px solid var(--brand-600);outline-offset:1px}.content-section--primary{border-top:3px solid var(--brand-600)}.md-content{color:var(--color-text);font-size:15px;line-height:1.85;word-wrap:break-word}.md-content>*:first-child{margin-top:0}.md-content>*:last-child{margin-bottom:0}.md-content h1,.md-content h2,.md-content h3,.md-content h4{margin:1.4em 0 .6em;font-weight:600;line-height:1.4;color:var(--color-text);scroll-margin-top:80px}.md-content h1{font-size:22px}.md-content h2{font-size:18px;padding-bottom:6px;border-bottom:1px solid var(--color-border-light)}.md-content h3{font-size:16px;color:var(--color-primary)}.md-content h4{font-size:15px;color:var(--color-text-secondary)}.md-content h5,.md-content h6{font-size:14px;color:var(--color-text-tertiary)}.md-content p{margin:.6em 0}.md-content strong{font-weight:600;color:var(--color-text)}.md-content em{font-style:italic;color:var(--color-text)}.md-content a{color:var(--color-primary);text-decoration:none;border-bottom:1px dashed var(--color-primary-light);transition:color var(--g-dur-fast) var(--g-ease-out),border-color var(--g-dur-fast) var(--g-ease-out)}.md-content a:hover{color:var(--color-primary-hover);border-bottom-color:var(--color-primary)}.md-content code{font-family:SF Mono,Consolas,Courier New,monospace;font-size:.9em;padding:2px 6px;background:var(--color-bg-hover);color:var(--color-error);border-radius:4px;border:1px solid var(--color-border-light)}.md-content pre{margin:1em 0;padding:14px 16px;background:var(--color-bg-hover);border:1px solid var(--color-border-light);border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.6}.md-content pre code{padding:0;background:transparent;color:var(--color-text);border:none;font-size:13px;white-space:pre}.md-content ul,.md-content ol{margin:.6em 0;padding-left:1.6em}.md-content ul{list-style:disc}.md-content ol{list-style:decimal}.md-content li{margin:.3em 0;padding-left:.2em;line-height:1.75}.md-content li::marker{color:var(--color-primary)}.md-content ul ul,.md-content ol ol,.md-content ul ol,.md-content ol ul{margin:.2em 0}.md-content input[type=checkbox]{margin-right:6px;accent-color:var(--color-primary)}.md-content blockquote{margin:1em 0;padding:10px 16px;background:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:0 8px 8px 0;color:var(--color-text);font-style:italic}.md-content blockquote p{margin:.3em 0}.md-content hr{margin:1.5em 0;border:none;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.md-content table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px;border-radius:8px;overflow:hidden;border:1px solid var(--color-border-light)}.md-content th,.md-content td{padding:10px 14px;border:1px solid var(--color-border-light);text-align:left}.md-content th{background:var(--color-bg-hover);font-weight:600;color:var(--color-text)}.md-content tbody tr:nth-child(2n){background:var(--color-bg-elevated)}.md-content tbody tr:hover{background:var(--color-primary-light)}.md-content ul.letter-list,.letter-list{list-style:none;padding:0;margin:.6em 0;display:flex;flex-wrap:wrap;gap:8px}.md-content ul.letter-list li,.letter-list li{margin:0;padding:0;flex:none}.md-content ul.letter-list li::marker,.letter-list li::marker{content:""}.md-content ul.letter-list li>*,.letter-list li>*{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;font-weight:600;color:var(--color-text);transition:transform var(--g-dur-fast) var(--g-ease-snap),border-color var(--g-dur-fast) var(--g-ease-out),background-color var(--g-dur-fast) var(--g-ease-out)}.md-content ul.letter-list li>*:hover,.letter-list li>*:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);background:var(--color-primary-light)}[data-theme=dark] .md-content code{background:var(--color-bg-hover);color:var(--color-warning);border-color:var(--color-border)}[data-theme=dark] .md-content blockquote{background:var(--color-primary-light);border-left-color:var(--color-primary)}[data-theme=dark] .md-content table{border-color:var(--color-border)}[data-theme=dark] .md-content th{background:var(--color-bg-hover)}[data-theme=dark] .md-content tbody tr:nth-child(2n){background:var(--color-bg-elevated)}@media(prefers-reduced-motion:reduce){.md-content ul.letter-list li>*,.letter-list li>*,.md-content a{transition:none!important}}.submit-error-toast{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:16px;background:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error);border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-sm);animation:toast-slide-down .4s var(--g-ease-out) both}.submit-error-toast .toast-icon{font-size:16px;line-height:1}.load-error-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:16px;background:var(--color-warning-light);color:var(--color-warning-hover);border:1px solid var(--color-warning);border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-sm);animation:toast-slide-down .4s var(--g-ease-out) both}.load-error-banner .load-error-icon{font-size:16px;line-height:1}@keyframes toast-slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .submit-error-toast{background:color-mix(in srgb,var(--rose) 12%,transparent);border-color:var(--color-error)}[data-theme=dark] .load-error-banner{background:color-mix(in srgb,var(--amber) 12%,transparent);border-color:var(--color-warning)}@media(prefers-reduced-motion:reduce){.submit-error-toast,.load-error-banner{animation:none!important}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;min-height:320px;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-sm);animation:g-fade-up .2s var(--e-out) both}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .85s linear infinite}.loading-text{color:var(--color-text-secondary);font-size:14px;margin:0}.loading-skeleton{width:100%;max-width:480px;display:flex;flex-direction:column}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gradient-primary);z-index:100;pointer-events:none;transition:width .1s linear;box-shadow:0 1px 4px color-mix(in srgb,var(--mint-700) 30%,transparent)}.back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border:none;border-radius:50%;background:var(--gradient-primary);color:var(--color-text-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md),0 4px 14px color-mix(in srgb,var(--mint-700) 35%,transparent);z-index:50;transition:transform var(--g-dur-fast) var(--g-ease-snap),box-shadow var(--g-dur-fast) var(--g-ease-out)}.back-to-top:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 8px 22px color-mix(in srgb,var(--mint-700) 45%,transparent)}.back-to-top:active{transform:translateY(-1px) scale(.96)}.back-to-top:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity var(--g-dur-base) var(--g-ease-out),transform var(--g-dur-base) var(--g-ease-snap)}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0;transform:translateY(20px) scale(.85)}[data-theme=dark] .back-to-top{box-shadow:var(--shadow-md),0 4px 14px color-mix(in srgb,var(--mint) 35%,transparent)}[data-theme=dark] .back-to-top:hover{box-shadow:var(--shadow-lg),0 8px 22px color-mix(in srgb,var(--mint) 45%,transparent)}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}.scroll-progress{transition:none}.back-to-top,.back-to-top-enter-active,.back-to-top-leave-active{transition:none!important}}@media(prefers-reduced-motion:reduce){.tab-btn.active,.tab-btn.active:after{animation:none!important}.tab-fade-enter-active,.tab-fade-leave-active{transition:none!important}.tabs-wrapper{animation:none!important}.tab-btn.active:after{transform:scaleX(1);opacity:1}}@keyframes pulse-ring{0%,to{box-shadow:0 0 color-mix(in srgb,var(--mint-600) 40%,transparent),3px 3px 6px color-mix(in srgb,var(--mint-600) 30%,transparent),-1px -1px 3px color-mix(in srgb,var(--bg) 20%,transparent)}50%{box-shadow:0 0 0 6px transparent,3px 3px 6px color-mix(in srgb,var(--mint-600) 30%,transparent),-1px -1px 3px color-mix(in srgb,var(--bg) 20%,transparent)}}@media print{.grammar-detail{background:#fff!important;color:#000!important}.grammar-detail .container{max-width:100%!important;padding:0!important}.grammar-detail .btn-back,.grammar-detail .tabs-wrapper,.grammar-detail .hero-actions,.grammar-detail .btn-speak,.grammar-detail .anchor-pill,.grammar-detail .submit-error-toast,.grammar-detail .load-error-banner,.grammar-detail .scroll-progress,.grammar-detail .back-to-top{display:none!important}.grammar-detail .detail-hero{box-shadow:none!important;border:1px solid var(--line)!important;page-break-inside:avoid}.grammar-detail .hero-title{background:none!important;-webkit-text-fill-color:black!important;color:#000!important;font-size:22pt!important}.grammar-detail .content-section{background:#fff!important;box-shadow:none!important;border:1px solid var(--line)!important;page-break-inside:avoid;margin-bottom:12pt!important}.grammar-detail .section-icon{background:var(--bg-muted)!important;color:#000!important}.grammar-detail .data-table{border:1px solid var(--line)!important;page-break-inside:avoid}.grammar-detail .data-table th{background:var(--line)!important;color:#000!important;-webkit-text-fill-color:black!important}.grammar-detail .md-content{color:#000!important;font-size:11pt!important}.grammar-detail .md-content a{color:var(--mint-700)!important;text-decoration:underline!important}.grammar-detail .md-content code,.grammar-detail .md-content pre{background:var(--bg-muted)!important;color:#000!important;border:1px solid var(--line)!important}.grammar-detail .tab-content-wrapper{box-shadow:none!important;border:none!important}.grammar-detail .g-fade-up,.grammar-detail .g-anim-fade-down,.grammar-detail .g-stagger,.grammar-detail .letter-chip{animation:none!important;opacity:1!important;transform:none!important}}@media(max-width:639.98px){.data-table{font-size:13px}.data-table th,.data-table td{padding:10px 12px}.md-content{font-size:14px;line-height:1.75}.md-content h1{font-size:19px}.md-content h2{font-size:16px}.md-content h3{font-size:15px}.md-content pre{font-size:12px;padding:12px}.md-content th,.md-content td{padding:8px 10px}.md-content ul.letter-list li>*,.letter-list li>*{min-width:32px;height:32px;padding:0 8px;font-size:13px}.back-to-top{bottom:16px;right:16px;width:44px;height:44px}}:root{--color-primary: var(--vc-primary, #3B82F6);--color-primary-hover: var(--vc-primary-dark, #2563EB);--color-primary-light: var(--vc-primary-light, #DBEAFE);--color-primary-dark: var(--vc-primary-dark, #2563EB);--gradient-primary: linear-gradient(135deg, #3B82F6, #10B981);--m-primary: var(--vc-primary, #3B82F6);--m-primary-deep: var(--vc-primary-dark, #2563EB);--m-primary-ink: var(--vc-primary-dark, #2563EB);--m-primary-soft: var(--vc-primary-light, #DBEAFE);--m-gradient-primary: linear-gradient(135deg, #3B82F6, #10B981);--m-success: var(--vc-success, #10B981);--m-success-ink: var(--vc-success-dark, #047857);--m-danger: var(--vc-error, #EF4444);--m-danger-ink: #DC2626;--m-warning: var(--vc-warning, #F97316);--m-warning-ink: #B45309;--m-accent-teal: #13C2C2;--m-accent-purple: #7C3AED;--m-accent-pink: #EC4899;--m-accent-pink-soft: #FCE7F3;--m-success-soft: #D1FAE5;--m-danger-soft: #FEE2E2;--m-warning-soft: #FEF3C7;--m-text-strong: var(--vc-text-primary, #0F172A);--m-text-body: var(--vc-text-secondary, #475569);--m-text-muted: #64748B;--m-text-faint: #64748B;--m-text-disabled: #94A3B8;--m-text-onbrand: #FFFFFF;--m-bg: #F8FAFC;--m-card: var(--vc-bg-primary, #FFFFFF);--m-line: var(--vc-border-light, #E2E8F0);--m-fill-soft: #F1F5F9;--m-scrim: rgba(15, 23, 42, .4);--m-scrim-onbrand-weak: rgba(255, 255, 255, .22);--m-scrim-onbrand-strong: rgba(255, 255, 255, .35);--m-shadow-card: 0 6px 18px rgba(15, 23, 42, .06);--m-radius-sm: 10px;--m-radius-md: 14px;--m-radius-lg: 18px;--m-radius-sheet: 20px;--m-space-1: 4px;--m-space-2: 8px;--m-space-3: 12px;--m-space-4: 16px;--m-space-5: 20px;--m-font-xs: 12px;--m-font-sm: 13px;--m-font-md: 14px;--m-font-lg: 15px;--m-font-xl: 17px;--m-font-hero: 34px;--m-safe-top: env(safe-area-inset-top, 0px);--m-safe-bottom: env(safe-area-inset-bottom, 0px);--m-safe-left: env(safe-area-inset-left, 0px);--m-safe-right: env(safe-area-inset-right, 0px);--m-touch-min: 44px;--m-duration-fast: .12s;--m-duration-base: .2s;--m-duration-slow: .3s;--m-duration-advance: .45s;--m-focus-ring: 0 0 0 3px rgba(59, 130, 246, .45);--m-z-inline: 30;--m-z-sticky: 60;--m-z-topbar: 800;--m-z-tabbar: 900;--m-z-overlay: 950;--m-z-overlay-2: 960;--m-z-overlay-3: 970;--m-z-floater: 975;--m-z-toast: 990;--m-z-admin-overlay: 1100;--m-z-sheet: 1200;--m-z-admin-toast: 1300;--m-z-drawer: 10001}@media(max-width:1023.98px){.hermes-layout .main-content{padding:16px 12px}body.in-admin-zone .nav-header,body.in-admin-zone .mobile-nav{display:none!important}body.in-admin-zone .main-content--with-nav{padding-top:0!important}.hermes-layout .main-content :is(.data-card,.table-card,.tab-content,.matrix-table-wrap),.hermes-layout .main-content section{overflow-x:auto;-webkit-overflow-scrolling:touch}.hermes-layout .main-content .table-card{overflow-y:hidden}.hermes-layout .main-content :is(.data-table,.user-table,.order-table,.rq-table),.hermes-layout .main-content section>table{min-width:680px}.hermes-layout .main-content .matrix-table{min-width:760px}.hermes-layout .main-content :is(.data-table,.user-table,.order-table,.rq-table) :is(th,td):first-child,.hermes-layout .main-content section>table :is(th,td):first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:2px 0 4px #0f172a0f}.hermes-layout .main-content :is(.data-table,.user-table,.order-table,.rq-table) th:first-child,.hermes-layout .main-content section>table th:first-child{background:#f9fafb;z-index:3}.hermes-layout .main-content :is(.stats-grid,.stats-grid-4,.stat-cards,.stats-cards,.info-grid,.change-target-grid,.preview-cards,.grant-plan-grid){grid-template-columns:repeat(2,minmax(0,1fr))}.hermes-layout .main-content :is(.filter-bar,.list-toolbar,.matrix-toolbar,.toolbar,.search-form,.page-header,.page-title-row,.header-actions,.data-card-header){flex-wrap:wrap;gap:10px}.hermes-layout .main-content .form-row{grid-template-columns:1fr}.hermes-layout .main-content :is(.btn,.btn-sm,.action-btn,.btn-secondary,.btn-search,.btn-revoke,.btn-plain,.user-result-item){min-height:44px}.hermes-layout .main-content :is(button,a.btn){min-height:44px}.hermes-layout .main-content :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){min-height:44px}.hermes-layout .main-content :is(.modal-box,.modal-dialog,.modal-card,.modal,.modal-content){max-width:calc(100vw - 24px);max-height:82dvh;overflow-y:auto}}@media(max-width:639.98px){.hermes-layout .main-content :is(.data-table,.user-table,.order-table,.rq-table) :is(th,td){padding:10px}.hermes-layout .main-content :is(.filter-input,.filter-select,.search-input,.gen-input,.batch-input){flex:1 1 100%}}:root{--brand-50: #EFF6FF;--brand-500: #3B82F6;--brand-600: #2563EB;--brand-700: #1D4ED8;--mint-soft: #ECFDF5;--mint: #10B981;--mint-700: #047857;--mint-600: #059669;--amber-soft: #FFFBEB;--amber: #F59E0B;--amber-700: #B45309;--rose-soft: #FEF2F2;--rose: #EF4444;--rose-700: #B91C1C;--rose-600: #DC2626;--info-soft: #F0F9FF;--info: #0EA5E9;--info-700: #0369A1;--bg: #FFFFFF;--bg-subtle: #F8FAFC;--bg-muted: #F1F5F9;--line: #E2E8F0;--line-control: #8492A8;--ink-1: #0F172A;--ink-2: #334155;--ink-3: #475569;--ink-4: #64748B;--r-sm: 8px;--r-md: 10px;--r-lg: 16px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--sh-1: 0 1px 2px rgba(15, 23, 42, .06);--sh-2: 0 4px 12px rgba(15, 23, 42, .08);--sh-3: 0 12px 32px rgba(15, 23, 42, .12);--d-fast: .14s;--d-base: .2s;--d-slow: .28s;--e-out: cubic-bezier(.22, 1, .36, 1);--e-in: cubic-bezier(.4, 0, 1, 1);--z-nav: 100;--z-sticky: 200;--z-pop: 400;--z-modal: 900;--z-toast: 1000;--violet-500: #8B5CF6;--violet-600: #7C3AED;--violet-soft: #EDE9FE;--violet-700: #6D28D9;--grad-brand: linear-gradient(90deg, #2563EB, #10B981);--font-sans: "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-num: "Inter", ui-monospace, "SFMono-Regular", monospace}:root{--skel-bg: var(--bg-muted);--skel-highlight: rgba(255, 255, 255, .65);--skel-duration: 1.2s}@keyframes theme-skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.theme-skel{background:linear-gradient(90deg,var(--skel-bg) 25%,var(--skel-highlight) 50%,var(--skel-bg) 75%);background-size:200% 100%;animation:theme-skel-shimmer var(--skel-duration) infinite;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){.theme-skel{animation:none}}.theme-page-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6)}.theme-page-head__icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--brand-50);display:flex;align-items:center;justify-content:center;flex:none}.theme-page-head__title{font-size:20px;font-weight:600;line-height:1.25;color:var(--ink-1);margin:0}.theme-page-head__desc{font-size:13px;color:var(--ink-3);margin:2px 0 0}.theme-page-head__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}.theme-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6)}.theme-card--hero{border-radius:20px;box-shadow:var(--sh-3)}.theme-card--flat{box-shadow:var(--sh-1);border-radius:var(--r-md)}.theme-card__band{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--grad-brand)}.theme-card{position:relative}.theme-card>.theme-card__band{margin:calc(-1 * var(--sp-6)) calc(-1 * var(--sp-6)) var(--sp-4)}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:40px;padding:0 18px;border-radius:var(--r-md);border:1px solid transparent;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--d-fast),border-color var(--d-fast),color var(--d-fast)}.theme-btn:disabled{opacity:.45;cursor:not-allowed}.theme-btn--primary{background:var(--brand-600);color:var(--bg)}.theme-btn--primary:hover:not(:disabled){background:var(--brand-700)}.theme-btn--ghost{background:transparent;border-color:var(--line-control);color:var(--ink-2)}.theme-btn--ghost:hover:not(:disabled){border-color:var(--brand-500);color:var(--brand-600)}.theme-skel-row{display:flex;gap:var(--sp-4)}.theme-skel-row>.theme-skel{flex:1}.theme-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--ink-2)}.theme-table th{text-align:left;font-weight:600;color:var(--ink-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);white-space:nowrap}.theme-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.theme-table tr:hover td{background:var(--bg-subtle)}.theme-dialog-scrim{position:fixed;inset:0;background:#0f172a73;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.theme-dialog{background:var(--bg);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:20px;max-width:min(92vw,560px);max-height:86vh;overflow:auto}
