:root{--ec-blue-50: #EEF0FF;--ec-blue-100: #E0E4FF;--ec-blue-300: #A5AEFF;--ec-blue-500: #5B6CFF;--ec-blue-600: #4A57E6;--ec-blue-700: #3B45BF;--ec-blue-900: #232A73;--ec-cyan-400: #22D3EE;--ec-violet-500: #A855F7;--ec-violet-600: #6D4AE0;--ec-gold-300: #FFD98A;--ec-gold-500: #F5B942;--ec-gold-700: #B8860B;--ec-gold-800: #8A6208;--ec-red-50: #FEF2F2;--ec-red-500: #EF4444;--ec-red-600: #D92D20;--ec-red-700: #C42618;--ec-green-50: #ECFDF5;--ec-green-500: #10B981;--ec-green-700: #047857;--ec-amber-50: #FFFBEB;--ec-amber-500: #F59E0B;--ec-amber-700: #B45309;--ec-neutral-0: #FFFFFF;--ec-neutral-25: #FBFCFE;--ec-neutral-50: #F7F8FA;--ec-neutral-100: #F0F2F5;--ec-neutral-200: #E4E7ED;--ec-neutral-300: #CDD2DC;--ec-neutral-400: #9AA1B0;--ec-neutral-450: #5F6878;--ec-neutral-500: #6B7280;--ec-neutral-700: #374151;--ec-neutral-800: #1F2430;--ec-neutral-950: #0B0E14;--ec-ink-950: #05070B;--ec-ink-900: #0B0E14;--ec-ink-850: #12161F;--ec-ink-800: #1A1F2B;--ec-ink-750: #171B24;--ec-ink-700: #232836;--ec-ink-600: #2E3547;--ec-ink-500: #5F6878;--ec-ink-400: #858FA2;--ec-ink-300: #98A1B3;--ec-ink-100: #E8EBF2;--ec-white: #FFFFFF;--ec-black: #000000;--ec-viz-1: #5B6CFF;--ec-viz-2: #22D3EE;--ec-viz-3: #10B981;--ec-viz-4: #F5B942;--ec-viz-5: #EF4444;--ec-viz-6: #A855F7;--ec-viz-7: #0EA5E9;--ec-viz-8: #84CC16;--ec-viz-other: #9AA1B0}:root{--ec-bg-base: var(--ec-neutral-25);--ec-bg-surface: var(--ec-neutral-0);--ec-bg-raised: var(--ec-neutral-0);--ec-bg-muted: var(--ec-neutral-50);--ec-bg-sunken: var(--ec-neutral-100);--ec-bg-hover: var(--ec-neutral-50);--ec-bg-overlay: rgba(11, 14, 20, .48);--ec-bg-wash: rgba(31, 36, 48, .04);--ec-bg-inverse: var(--ec-neutral-800);--ec-text-primary: var(--ec-neutral-800);--ec-text-secondary: var(--ec-neutral-500);--ec-text-tertiary: var(--ec-neutral-450);--ec-text-disabled: var(--ec-neutral-400);--ec-text-inverse: var(--ec-neutral-0);--ec-text-link: var(--ec-blue-600);--ec-text-on-action: var(--ec-white);--ec-text-placeholder: var(--ec-neutral-400);--ec-border-subtle: var(--ec-neutral-200);--ec-border-default: var(--ec-neutral-300);--ec-border-strong: var(--ec-neutral-400);--ec-border-focus: var(--ec-blue-500);--ec-border-inverse: rgba(255, 255, 255, .12);--ec-action-primary: var(--ec-blue-500);--ec-action-primary-hover: var(--ec-blue-600);--ec-action-primary-active: var(--ec-blue-700);--ec-action-primary-soft: var(--ec-blue-50);--ec-action-primary-border: rgba(91, 108, 255, .32);--ec-action-primary-dim: rgba(91, 108, 255, .12);--ec-success: var(--ec-green-500);--ec-success-soft: var(--ec-green-50);--ec-success-text: var(--ec-green-700);--ec-success-border: rgba(16, 185, 129, .22);--ec-warning: var(--ec-amber-500);--ec-warning-soft: var(--ec-amber-50);--ec-warning-text: var(--ec-amber-700);--ec-warning-border: rgba(245, 158, 11, .24);--ec-danger: var(--ec-red-500);--ec-danger-soft: var(--ec-red-50);--ec-danger-text: var(--ec-red-700);--ec-danger-border: rgba(239, 68, 68, .22);--ec-info: var(--ec-blue-500);--ec-info-soft: var(--ec-blue-50);--ec-info-text: var(--ec-blue-600);--ec-info-border: rgba(91, 108, 255, .22);--ec-grad-brand: linear-gradient(135deg, var(--ec-blue-500) 0%, var(--ec-violet-500) 55%, var(--ec-cyan-400) 100%);--ec-grad-action: linear-gradient(135deg, var(--ec-blue-700) 0%, var(--ec-violet-600) 55%, var(--ec-blue-600) 100%);--ec-grad-flame: linear-gradient(135deg, #FF7A45 0%, #FF4D6D 100%);--ec-grad-gold: linear-gradient(135deg, #FFF3D6 0%, var(--ec-gold-300) 45%, var(--ec-gold-500) 100%);--ec-grad-black: linear-gradient(135deg, #2B2F3D 0%, #171A23 60%, #0E1016 100%);--ec-grad-sheen: linear-gradient(135deg, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, 0) 42%);--ec-ring-width: 3px;--ec-ring-color: rgba(91, 108, 255, .24);--ec-ring: 0 0 0 var(--ec-ring-width) var(--ec-ring-color);--ec-ring-inset: inset 0 0 0 1px var(--ec-border-focus);--ec-shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--ec-shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--ec-shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--ec-shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--ec-shadow-xl: 0 24px 64px rgba(16, 24, 40, .16);--ec-shadow-brand: 0 8px 24px rgba(91, 108, 255, .28);--ec-shadow-gold: 0 8px 24px rgba(245, 185, 66, .28);--ec-shadow-inset: inset 0 1px 2px rgba(16, 24, 40, .06);--ec-space-1: 4px;--ec-space-2: 8px;--ec-space-3: 12px;--ec-space-4: 16px;--ec-space-5: 20px;--ec-space-6: 24px;--ec-space-8: 32px;--ec-space-10: 40px;--ec-space-12: 48px;--ec-space-16: 64px;--ec-radius-xs: 4px;--ec-radius-sm: 6px;--ec-radius-md: 8px;--ec-radius-lg: 12px;--ec-radius-xl: 16px;--ec-radius-2xl: 20px;--ec-radius-full: 999px;--ec-control-h-sm: 28px;--ec-control-h-md: 36px;--ec-control-h-lg: 44px;--ec-control-h-xl: 52px;--ec-control-px: 14px;--ec-control-gap: 8px;--ec-container-sm: 640px;--ec-container-md: 960px;--ec-container-lg: 1200px;--ec-container-xl: 1440px;--ec-gutter: var(--ec-space-6);--ec-dur-fast: .15s;--ec-dur-base: .25s;--ec-dur-slow: .4s;--ec-dur-sheen: 1.2s;--ec-ease-out: cubic-bezier(.4, 0, .2, 1);--ec-ease-in: cubic-bezier(.4, 0, 1, 1);--ec-ease-spring: cubic-bezier(.34, 1.3, .64, 1);--ec-z-base: 0;--ec-z-sticky: 100;--ec-z-dropdown: 200;--ec-z-overlay: 300;--ec-z-modal: 400;--ec-z-toast: 500;--ec-z-tooltip: 600;--ec-bp-sm: 640px;--ec-bp-md: 1024px;--ec-bp-lg: 1280px}:root{--ec-font-sans: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--ec-font-num: "DIN Alternate", "Bahnschrift", "Roboto Condensed", "HarmonyOS Sans SC", system-ui, sans-serif;--ec-font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, ui-monospace, monospace;--ec-display-size: 32px;--ec-display-lh: 40px;--ec-display-weight: 700;--ec-display-track: -.02em;--ec-h1-size: 24px;--ec-h1-lh: 32px;--ec-h1-weight: 600;--ec-h1-track: -.015em;--ec-h2-size: 20px;--ec-h2-lh: 28px;--ec-h2-weight: 600;--ec-h2-track: -.01em;--ec-h3-size: 16px;--ec-h3-lh: 24px;--ec-h3-weight: 600;--ec-h3-track: 0;--ec-body-size: 14px;--ec-body-lh: 22px;--ec-body-weight: 400;--ec-caption-size: 12px;--ec-caption-lh: 18px;--ec-caption-weight: 400;--ec-micro-size: 11px;--ec-micro-lh: 16px;--ec-micro-weight: 500;--ec-micro-track: .02em;--ec-price-sym-sm: 12px;--ec-price-int-sm: 22px;--ec-price-dec-sm: 14px;--ec-price-sym-md: 14px;--ec-price-int-md: 28px;--ec-price-dec-md: 18px;--ec-price-sym-lg: 16px;--ec-price-int-lg: 34px;--ec-price-dec-lg: 22px;--ec-code-size-sm: 14px;--ec-code-size-md: 18px;--ec-code-size-lg: 22px;--ec-code-track: .08em;--ec-measure: 68ch;--ec-measure-tight: 46ch}.ec-display,.ec-h1,.ec-h2,.ec-h3,.ec-body,.ec-caption,.ec-micro{margin:0}.ec-display{font-size:var(--ec-display-size);line-height:var(--ec-display-lh);font-weight:var(--ec-display-weight);letter-spacing:var(--ec-display-track);color:var(--ec-text-primary)}.ec-h1{font-size:var(--ec-h1-size);line-height:var(--ec-h1-lh);font-weight:var(--ec-h1-weight);letter-spacing:var(--ec-h1-track);color:var(--ec-text-primary)}.ec-h2{font-size:var(--ec-h2-size);line-height:var(--ec-h2-lh);font-weight:var(--ec-h2-weight);letter-spacing:var(--ec-h2-track);color:var(--ec-text-primary)}.ec-h3{font-size:var(--ec-h3-size);line-height:var(--ec-h3-lh);font-weight:var(--ec-h3-weight);color:var(--ec-text-primary)}.ec-body{font-size:var(--ec-body-size);line-height:var(--ec-body-lh);font-weight:var(--ec-body-weight);color:var(--ec-text-primary)}.ec-caption{font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh);font-weight:var(--ec-caption-weight);color:var(--ec-text-secondary)}.ec-micro{font-size:var(--ec-micro-size);line-height:var(--ec-micro-lh);font-weight:var(--ec-micro-weight);letter-spacing:var(--ec-micro-track);color:var(--ec-text-tertiary)}.ec-num{font-family:var(--ec-font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.ec-mono{font-family:var(--ec-font-mono);font-variant-numeric:tabular-nums}.ec-code-text{font-family:var(--ec-font-mono);letter-spacing:var(--ec-code-track);font-variant-numeric:tabular-nums}.ec-muted{color:var(--ec-text-secondary)}.ec-dim{color:var(--ec-text-tertiary)}.ec-measure{max-width:var(--ec-measure)}:root{--ec-button-radius: var(--ec-radius-md);--ec-button-radius-pill: var(--ec-radius-full);--ec-button-font-weight: 500;--ec-button-gap: var(--ec-space-2);--ec-button-primary-bg: var(--ec-grad-action);--ec-button-primary-fg: var(--ec-white);--ec-button-primary-shadow: var(--ec-shadow-brand);--ec-button-primary-hover-shadow: 0 10px 28px rgba(74, 87, 230, .34);--ec-button-secondary-bg: var(--ec-action-primary-soft);--ec-button-secondary-fg: var(--ec-action-primary-hover);--ec-button-outline-bg: var(--ec-bg-surface);--ec-button-outline-border: var(--ec-border-default);--ec-button-ghost-hover: var(--ec-bg-hover);--ec-button-disabled-op: .5;--ec-button-icon-size: 16px;--ec-input-bg: var(--ec-bg-surface);--ec-input-bg-filled: var(--ec-bg-muted);--ec-input-border: var(--ec-border-default);--ec-input-radius: var(--ec-radius-md);--ec-input-px: var(--ec-space-3);--ec-input-placeholder: var(--ec-text-placeholder);--ec-select-menu-radius: var(--ec-radius-lg);--ec-select-option-h: 32px;--ec-card-bg: var(--ec-bg-surface);--ec-card-border: var(--ec-border-subtle);--ec-card-radius: var(--ec-radius-lg);--ec-card-pad-sm: var(--ec-space-3);--ec-card-pad-md: var(--ec-space-4);--ec-card-pad-lg: var(--ec-space-5);--ec-card-pad-xl: var(--ec-space-6);--ec-table-row-h: 48px;--ec-table-row-h-compact: 40px;--ec-table-head-bg: var(--ec-bg-muted);--ec-table-stripe: var(--ec-neutral-50);--ec-table-border: var(--ec-border-subtle);--ec-table-cell-px: var(--ec-space-4);--ec-dialog-radius: var(--ec-radius-xl);--ec-dialog-w-sm: 400px;--ec-dialog-w-md: 520px;--ec-dialog-w-lg: 720px;--ec-drawer-w-sm: 360px;--ec-drawer-w-md: 480px;--ec-drawer-w-lg: 640px;--ec-toast-radius: var(--ec-radius-lg);--ec-toast-w: 320px;--ec-toast-gap: var(--ec-space-2);--ec-tabs-h: var(--ec-control-h-md);--ec-tab-indicator: 2px;--ec-steps-dot: 28px;--ec-pager-h: var(--ec-control-h-md);--ec-topbar-h: 56px;--ec-tag-h-sm: 20px;--ec-tag-h-md: 24px;--ec-badge-size: 18px;--ec-avatar-sm: 28px;--ec-avatar-md: 36px;--ec-avatar-lg: 48px;--ec-progress-h: 6px;--ec-skeleton-bg: var(--ec-bg-sunken);--ec-skeleton-radius: var(--ec-radius-sm)}:root{--ec-price-current: var(--ec-red-600);--ec-price-original: var(--ec-neutral-400);--ec-price-save: var(--ec-green-700);--ec-price-symbol: var(--ec-price-current);--ec-code-surface: var(--ec-neutral-950);--ec-code-text: var(--ec-neutral-100);--ec-code-border: rgba(91, 108, 255, .28);--ec-code-glow: 0 0 24px -8px rgba(91, 108, 255, .55);--ec-code-mask: var(--ec-neutral-500);--ec-vip-gold: var(--ec-gold-500);--ec-vip-gold-ink: var(--ec-gold-800);--ec-vip-gold-text: #3A2A05;--ec-vip-black: #171A23;--ec-vip-silver: linear-gradient(135deg, var(--ec-neutral-50) 0%, var(--ec-neutral-200) 100%);--ec-status-online: var(--ec-green-500);--ec-status-maintain: var(--ec-amber-500);--ec-status-offline: var(--ec-neutral-400);--ec-status-expired: var(--ec-red-500);--ec-status-vip: var(--ec-gold-500);--ec-status-owned: var(--ec-blue-500);--ec-redeem-cell: 44px;--ec-redeem-gap: 8px;--ec-order-step-done: var(--ec-success)}:root[data-theme=dark]{color-scheme:dark;--ec-bg-base: var(--ec-ink-900);--ec-bg-surface: var(--ec-ink-850);--ec-bg-raised: var(--ec-ink-800);--ec-bg-muted: var(--ec-ink-800);--ec-bg-sunken: var(--ec-ink-950);--ec-bg-hover: var(--ec-ink-800);--ec-bg-overlay: rgba(3, 5, 9, .72);--ec-bg-wash: rgba(255, 255, 255, .06);--ec-bg-inverse: var(--ec-ink-100);--ec-text-primary: var(--ec-ink-100);--ec-text-secondary: var(--ec-ink-300);--ec-text-tertiary: var(--ec-ink-400);--ec-text-disabled: var(--ec-ink-500);--ec-text-inverse: var(--ec-ink-900);--ec-text-link: var(--ec-blue-300);--ec-text-on-action: var(--ec-ink-900);--ec-text-placeholder: var(--ec-ink-500);--ec-border-subtle: var(--ec-ink-700);--ec-border-default: var(--ec-ink-600);--ec-border-strong: var(--ec-ink-500);--ec-border-focus: var(--ec-blue-300);--ec-border-inverse: rgba(0, 0, 0, .32);--ec-action-primary: var(--ec-blue-300);--ec-action-primary-hover: var(--ec-blue-100);--ec-action-primary-active: var(--ec-blue-50);--ec-action-primary-soft: #1E2340;--ec-action-primary-border: rgba(165, 174, 255, .38);--ec-action-primary-dim: rgba(165, 174, 255, .14);--ec-button-primary-bg: linear-gradient(135deg, var(--ec-blue-300) 0%, #C3B4FF 55%, #8FE6F5 100%);--ec-button-primary-fg: var(--ec-ink-900);--ec-button-primary-shadow: 0 8px 24px rgba(91, 108, 255, .32);--ec-button-primary-hover-shadow: 0 10px 28px rgba(91, 108, 255, .42);--ec-button-secondary-bg: #1E2340;--ec-button-secondary-fg: var(--ec-blue-300);--ec-button-outline-bg: transparent;--ec-button-outline-border: var(--ec-ink-600);--ec-button-ghost-hover: var(--ec-ink-800);--ec-success: #34D399;--ec-success-soft: rgba(52, 211, 153, .12);--ec-success-text: #34D399;--ec-success-border: rgba(52, 211, 153, .26);--ec-warning: #FBBF24;--ec-warning-soft: rgba(251, 191, 36, .12);--ec-warning-text: #FBBF24;--ec-warning-border: rgba(251, 191, 36, .26);--ec-danger: #FF7A6B;--ec-danger-soft: rgba(255, 122, 107, .12);--ec-danger-text: #FF7A6B;--ec-danger-border: rgba(255, 122, 107, .26);--ec-info: var(--ec-blue-300);--ec-info-soft: rgba(165, 174, 255, .12);--ec-info-text: var(--ec-blue-300);--ec-info-border: rgba(165, 174, 255, .26);--ec-grad-brand: linear-gradient(135deg, rgba(91, 108, 255, .85) 0%, rgba(168, 85, 247, .85) 55%, rgba(34, 211, 238, .85) 100%);--ec-grad-action: linear-gradient(135deg, var(--ec-blue-300) 0%, #C3B4FF 55%, #8FE6F5 100%);--ec-grad-gold: linear-gradient(135deg, #4A3A12 0%, var(--ec-gold-500) 45%, var(--ec-gold-300) 100%);--ec-grad-sheen: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, 0) 42%);--ec-ring-color: rgba(165, 174, 255, .32);--ec-shadow-xs: 0 1px 2px rgba(0, 0, 0, .32);--ec-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--ec-shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--ec-shadow-lg: 0 12px 32px rgba(0, 0, 0, .6);--ec-shadow-xl: 0 24px 64px rgba(0, 0, 0, .72);--ec-shadow-brand: 0 8px 24px rgba(0, 0, 0, .48);--ec-shadow-gold: 0 8px 24px rgba(0, 0, 0, .48);--ec-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .04);--ec-price-current: #FF7A6B;--ec-price-original: var(--ec-ink-500);--ec-price-save: #34D399;--ec-code-surface: var(--ec-ink-950);--ec-code-text: var(--ec-ink-100);--ec-code-border: rgba(165, 174, 255, .35);--ec-code-glow: 0 0 28px -6px rgba(165, 174, 255, .45);--ec-code-mask: var(--ec-ink-500);--ec-vip-gold: #F5D48C;--ec-vip-gold-ink: #F5D48C;--ec-vip-gold-text: #2A1F06;--ec-vip-black: var(--ec-ink-900);--ec-vip-silver: linear-gradient(135deg, var(--ec-ink-800) 0%, var(--ec-ink-700) 100%);--ec-status-online: #34D399;--ec-status-maintain: #FBBF24;--ec-status-offline: var(--ec-ink-500);--ec-status-expired: #FF7A6B;--ec-status-vip: #F5D48C;--ec-status-owned: var(--ec-blue-300);--ec-order-step-done: #34D399;--ec-input-bg: var(--ec-ink-900);--ec-input-bg-filled: var(--ec-ink-800);--ec-input-border: var(--ec-ink-600);--ec-card-bg: var(--ec-ink-850);--ec-card-border: var(--ec-ink-700);--ec-table-head-bg: var(--ec-ink-800);--ec-table-stripe: var(--ec-ink-750);--ec-table-border: var(--ec-ink-700);--ec-skeleton-bg: var(--ec-ink-800)}.ec-price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--ec-space-2);font-family:var(--ec-font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;line-height:1}.ec-price__main{display:inline-flex;align-items:baseline;color:var(--ec-price-current)}.ec-price__sym{font-size:var(--ec-price-sym-sm);font-weight:500;margin-inline-end:1px;align-self:flex-start;padding-block-start:2px}.ec-price__int{font-size:var(--ec-price-int-sm);font-weight:700;letter-spacing:-.01em}.ec-price__dec{font-size:var(--ec-price-dec-sm);font-weight:600}.ec-price--md .ec-price__sym{font-size:var(--ec-price-sym-md);padding-block-start:3px}.ec-price--md .ec-price__int{font-size:var(--ec-price-int-md)}.ec-price--md .ec-price__dec{font-size:var(--ec-price-dec-md)}.ec-price--lg .ec-price__sym{font-size:var(--ec-price-sym-lg);padding-block-start:4px}.ec-price--lg .ec-price__int{font-size:var(--ec-price-int-lg);letter-spacing:-.02em}.ec-price--lg .ec-price__dec{font-size:var(--ec-price-dec-lg)}.ec-price__origin{font-size:var(--ec-caption-size);font-weight:400;color:var(--ec-price-original);text-decoration:line-through;text-decoration-thickness:1px}.ec-price__save{display:inline-flex;align-items:center;height:18px;padding-inline:5px;border-radius:var(--ec-radius-xs);background:var(--ec-success-soft);color:var(--ec-price-save);font-family:var(--ec-font-sans);font-size:var(--ec-micro-size);font-weight:600}.ec-price--emph .ec-price__main{padding:2px var(--ec-space-2);border-radius:var(--ec-radius-sm);background:var(--ec-danger-soft)}.ec-product{display:flex;flex-direction:column;background:var(--ec-card-bg);border:1px solid var(--ec-card-border);border-radius:var(--ec-card-radius);overflow:hidden;transition:transform var(--ec-dur-base) var(--ec-ease-out),box-shadow var(--ec-dur-base) var(--ec-ease-out),border-color var(--ec-dur-base) var(--ec-ease-out)}.ec-product:hover{transform:translateY(-2px);box-shadow:var(--ec-shadow-md);border-color:var(--ec-border-default)}.ec-product__cover{position:relative;aspect-ratio:16 / 10;background:var(--ec-grad-brand);overflow:hidden}.ec-product__cover img{width:100%;height:100%;object-fit:cover}.ec-product__cover--plain{background:var(--ec-bg-sunken)}.ec-product__flag{position:absolute;inset-block-start:var(--ec-space-2);inset-inline-start:var(--ec-space-2);display:inline-flex;align-items:center;gap:4px;height:20px;padding-inline:6px;border-radius:var(--ec-radius-xs);background:var(--ec-bg-surface);color:var(--ec-text-primary);font-size:var(--ec-micro-size);font-weight:600;box-shadow:var(--ec-shadow-sm)}.ec-product__flag--hot{background:var(--ec-danger-text);color:var(--ec-text-on-action)}.ec-product__flag--vip{background:var(--ec-grad-gold);color:var(--ec-vip-gold-text)}.ec-product__fav{position:absolute;inset-block-start:var(--ec-space-2);inset-inline-end:var(--ec-space-2);display:grid;place-content:center;width:28px;height:28px;border:0;border-radius:var(--ec-radius-full);background:var(--ec-bg-surface);color:var(--ec-text-secondary);box-shadow:var(--ec-shadow-sm);cursor:pointer;opacity:0;transform:translateY(-2px);transition:opacity var(--ec-dur-fast),transform var(--ec-dur-fast),color var(--ec-dur-fast)}.ec-product:hover .ec-product__fav,.ec-product:focus-within .ec-product__fav{opacity:1;transform:none}.ec-product__fav:hover{color:var(--ec-danger-text)}.ec-product__fav[aria-pressed=true]{opacity:1;color:var(--ec-danger-text)}.ec-product__fav .ic{width:14px;height:14px}.ec-product__body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--ec-space-2);padding:var(--ec-card-pad-md)}.ec-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:var(--ec-body-size);line-height:1.5;font-weight:500;color:var(--ec-text-primary);min-height:3em}.ec-product__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ec-space-2);font-size:var(--ec-micro-size);color:var(--ec-text-tertiary)}.ec-product__meta .ic{width:12px;height:12px}.ec-product__cta{margin-block-start:auto}.ec-product.is-soldout .ec-product__cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ec-bg-overlay)}.ec-product.is-soldout .ec-product__title{color:var(--ec-text-secondary)}.ec-tool{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);background:var(--ec-bg-surface);border:1px solid var(--ec-card-border);border-radius:var(--ec-radius-md);transition:border-color var(--ec-dur-fast),background-color var(--ec-dur-fast),opacity var(--ec-dur-fast)}.ec-tool:hover{border-color:var(--ec-border-default);background:var(--ec-bg-hover)}.ec-tool__icon{display:grid;place-content:center;width:40px;height:40px;border-radius:var(--ec-radius-md);background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover)}.ec-tool__icon .ic{width:20px;height:20px}.ec-tool__main{min-width:0}.ec-tool__name{display:flex;align-items:center;gap:var(--ec-space-2);font-size:var(--ec-body-size);font-weight:500;color:var(--ec-text-primary)}.ec-tool__desc{margin:2px 0 0;font-size:var(--ec-caption-size);color:var(--ec-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-tool__tags{display:flex;gap:var(--ec-space-1);flex-wrap:wrap}.ec-tool__act{display:flex;gap:var(--ec-space-2)}.ec-tool.is-maintain{opacity:.6}.ec-tool.is-maintain:hover{background:var(--ec-bg-surface);border-color:var(--ec-card-border)}.ec-tool.is-offline{opacity:.45}.ec-tool.is-offline .ec-tool__name{text-decoration:line-through}.ec-tag--gold{color:var(--ec-vip-gold-ink);background:var(--ec-warning-soft);border-color:var(--ec-warning-border)}.ec-btn--gold{color:var(--ec-vip-gold-text);background:var(--ec-grad-gold);box-shadow:var(--ec-shadow-gold)}.ec-btn--gold:hover{filter:brightness(1.04)}@media (max-width: 768px){.ec-tool{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon main" "tags tags" "act  act";row-gap:var(--ec-space-3)}.ec-tool__icon{grid-area:icon}.ec-tool__main{grid-area:main}.ec-tool__tags{grid-area:tags}.ec-tool__act{grid-area:act}.ec-tool__act .ec-btn{flex:1}}.ec-vip{position:relative;display:flex;flex-direction:column;gap:var(--ec-space-4);padding:var(--ec-space-5);border-radius:var(--ec-radius-xl);overflow:hidden;isolation:isolate;color:var(--ec-vip-gold-text);background:var(--ec-grad-gold);box-shadow:var(--ec-shadow-gold)}.ec-vip--black{color:var(--ec-vip-gold);background:var(--ec-grad-black);box-shadow:var(--ec-shadow-lg)}.ec-vip--silver{color:var(--ec-text-primary);background:var(--ec-vip-silver);box-shadow:var(--ec-shadow-md)}.ec-vip:after{content:"";position:absolute;inset-block:-40%;inset-inline-start:-60%;width:40%;rotate:18deg;background:linear-gradient(90deg,transparent 0%,var(--ec-bg-wash) 50%,transparent 100%);animation:ec-vip-sheen var(--ec-dur-sheen) var(--ec-ease-out) 1 both;pointer-events:none;z-index:1}.ec-vip__head{display:flex;align-items:center;gap:var(--ec-space-2)}.ec-vip__crown{width:20px;height:20px}.ec-vip__name{font-size:var(--ec-h3-size);font-weight:700;letter-spacing:-.01em}.ec-vip__exp{margin-inline-start:auto;font-family:var(--ec-font-num);font-size:var(--ec-caption-size);opacity:.78}.ec-vip__growth{display:flex;flex-direction:column;gap:6px}.ec-vip__growth .ec-progress{background:var(--ec-bg-wash)}.ec-vip__growth-row{display:flex;justify-content:space-between;font-family:var(--ec-font-num);font-size:var(--ec-micro-size);opacity:.82}.ec-vip__perks{display:flex;gap:var(--ec-space-4);font-size:var(--ec-caption-size)}@keyframes ec-vip-sheen{0%{inset-inline-start:-60%;opacity:0}15%{opacity:1}to{inset-inline-start:130%;opacity:0}}.ec-code{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);background:var(--ec-code-surface);border:1px solid var(--ec-code-border);border-radius:var(--ec-radius-md);box-shadow:var(--ec-code-glow);overflow:hidden}.ec-code__label{flex:none;font-size:var(--ec-micro-size);font-weight:500;letter-spacing:.04em;color:var(--ec-code-mask)}.ec-code__value{flex:1;min-width:max-content;font-family:var(--ec-font-mono);font-size:var(--ec-code-size-md);letter-spacing:var(--ec-code-track);font-variant-numeric:tabular-nums;color:var(--ec-code-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--ec-dur-fast)}.ec-code__value.is-masked{color:var(--ec-code-mask)}.ec-code__act{display:flex;gap:var(--ec-space-1);flex:none;margin-inline-start:auto}.ec-code .ec-icon-btn{color:var(--ec-code-mask)}.ec-code .ec-icon-btn:hover{background:var(--ec-bg-wash);color:var(--ec-code-text)}.ec-code .ec-icon-btn.is-ok{color:var(--ec-status-online)}.ec-code--sm .ec-code__value{font-size:var(--ec-code-size-sm);letter-spacing:.06em}.ec-code--sm{padding-inline:var(--ec-space-3);gap:var(--ec-space-2)}.ec-code--unused{box-shadow:var(--ec-code-glow)}.ec-code--used{opacity:.55}.ec-code--used .ec-code__value{text-decoration:line-through;text-decoration-color:var(--ec-code-mask)}.ec-code--expired{border-inline-start:3px solid var(--ec-status-expired)}.ec-code--frozen{background:var(--ec-bg-sunken);box-shadow:none}.ec-code--frozen .ec-code__value{color:var(--ec-code-mask)}.ec-watermark{position:relative}.ec-watermark__layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;display:grid;place-content:center;rotate:-30deg;font-family:var(--ec-font-mono);font-size:11px;line-height:3.2;letter-spacing:.1em;color:var(--ec-text-tertiary);opacity:.22;overflow:hidden;white-space:pre;text-align:center}.ec-redeem{display:flex;flex-direction:column;align-items:center;gap:var(--ec-space-4);text-align:center}.ec-redeem__input{width:100%;max-width:420px;height:var(--ec-redeem-cell);padding-inline:var(--ec-space-4);border:1px solid var(--ec-input-border);border-radius:var(--ec-radius-md);background:var(--ec-input-bg);color:var(--ec-text-primary);font-family:var(--ec-font-mono);font-size:var(--ec-code-size-md);letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:border-color var(--ec-dur-fast),box-shadow var(--ec-dur-fast)}.ec-redeem__input::placeholder{color:var(--ec-input-placeholder);letter-spacing:.08em}.ec-redeem__input:focus{outline:none;border-color:var(--ec-border-focus);box-shadow:var(--ec-ring)}.ec-redeem__input.is-error{border-color:var(--ec-danger);background:var(--ec-danger-soft)}.ec-redeem__error{display:none;align-items:center;gap:6px;font-size:var(--ec-caption-size);color:var(--ec-danger-text)}.ec-redeem__error.is-on{display:flex}.ec-redeem__error .ic{width:12px;height:12px}.ec-sku{display:flex;flex-direction:column;gap:var(--ec-space-3)}.ec-sku__group{display:flex;flex-direction:column;gap:var(--ec-space-2)}.ec-sku__label{font-size:var(--ec-caption-size);color:var(--ec-text-tertiary)}.ec-sku__opts{display:flex;flex-wrap:wrap;gap:var(--ec-space-2)}.ec-sku__opt{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--ec-control-h-sm);padding-inline:var(--ec-space-3);border:1px solid var(--ec-border-default);border-radius:var(--ec-radius-sm);background:var(--ec-bg-surface);color:var(--ec-text-primary);font-family:inherit;font-size:var(--ec-caption-size);cursor:pointer;transition:border-color var(--ec-dur-fast),background-color var(--ec-dur-fast),color var(--ec-dur-fast)}.ec-sku__opt:hover{border-color:var(--ec-action-primary);color:var(--ec-action-primary-hover)}.ec-sku__opt[aria-pressed=true]{border-color:var(--ec-action-primary-hover);background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover);font-weight:600}.ec-sku__opt:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-sku__opt.is-soldout{color:var(--ec-text-disabled);border-color:var(--ec-border-subtle);background:var(--ec-bg-muted);text-decoration:line-through;cursor:not-allowed}.ec-sku__opt.is-soldout:hover{border-color:var(--ec-border-subtle);color:var(--ec-text-disabled)}.ec-redeem-result{display:flex;flex-direction:column;align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-8) var(--ec-space-6);text-align:center;border:1px solid var(--ec-border-subtle);border-radius:var(--ec-radius-lg);background:var(--ec-bg-surface)}.ec-redeem-result__icon{display:grid;place-content:center;width:52px;height:52px;border-radius:var(--ec-radius-full);margin-block-end:var(--ec-space-1)}.ec-redeem-result__icon .ic{width:24px;height:24px}.ec-redeem-result--success .ec-redeem-result__icon{background:var(--ec-success-soft);color:var(--ec-success-text)}.ec-redeem-result--used .ec-redeem-result__icon{background:var(--ec-warning-soft);color:var(--ec-warning-text)}.ec-redeem-result--expired .ec-redeem-result__icon{background:var(--ec-danger-soft);color:var(--ec-danger-text)}.ec-redeem-result--notfound .ec-redeem-result__icon{background:var(--ec-bg-muted);color:var(--ec-text-secondary)}.ec-redeem-result__title{font-size:var(--ec-h3-size);font-weight:600}.ec-redeem-result__desc{max-width:36ch;font-size:var(--ec-caption-size);line-height:1.7;color:var(--ec-text-secondary)}.ec-redeem-result__actions{display:flex;gap:var(--ec-space-2);margin-block-start:var(--ec-space-2)}.ec-steps--order .ec-steps__desc{font-family:var(--ec-font-num)}.ec-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.ec-shell__side{display:flex;flex-direction:column;gap:2px;padding:var(--ec-space-4) var(--ec-space-2);border-inline-end:1px solid var(--ec-border-subtle);background:var(--ec-bg-surface)}.ec-shell__nav{display:flex;align-items:center;gap:var(--ec-space-2);height:var(--ec-control-h-md);padding-inline:var(--ec-space-3);border-radius:var(--ec-radius-md);color:var(--ec-text-secondary);font-size:var(--ec-caption-size);font-weight:500}.ec-shell__nav:hover{background:var(--ec-bg-hover);color:var(--ec-text-primary);text-decoration:none}.ec-shell__nav.is-active{background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover)}.ec-shell__nav .ic{width:16px;height:16px}.ec-shell__main{min-width:0;padding:var(--ec-space-6)}@media (max-width: 900px){.ec-shell{grid-template-columns:1fr}.ec-shell__side{display:none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--ec-font-sans);font-size:var(--ec-body-size);line-height:var(--ec-body-lh);color:var(--ec-text-primary);background:var(--ec-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--ec-text-link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img,svg{display:block;max-width:100%}hr,.ec-hr{height:1px;border:0;margin:0;background:var(--ec-border-subtle)}.ic{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ec-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ec-btn{--_h: var(--ec-control-h-md);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--ec-button-gap);height:var(--_h);padding-inline:var(--ec-control-px);border:1px solid transparent;border-radius:var(--ec-button-radius);font-family:var(--ec-font-sans);font-size:var(--ec-body-size);font-weight:var(--ec-button-font-weight);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background-color var(--ec-dur-fast) var(--ec-ease-out),border-color var(--ec-dur-fast) var(--ec-ease-out),color var(--ec-dur-fast) var(--ec-ease-out),box-shadow var(--ec-dur-fast) var(--ec-ease-out),transform var(--ec-dur-fast) var(--ec-ease-out)}.ec-btn:hover{text-decoration:none}.ec-btn:active{transform:scale(.98)}.ec-btn:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-btn--sm{--_h: var(--ec-control-h-sm);font-size:var(--ec-caption-size);padding-inline:var(--ec-space-3)}.ec-btn--lg{--_h: var(--ec-control-h-lg);font-size:var(--ec-h3-size);padding-inline:var(--ec-space-5)}.ec-btn--xl{--_h: var(--ec-control-h-xl);font-size:var(--ec-h3-size);padding-inline:var(--ec-space-6);border-radius:var(--ec-radius-lg)}.ec-btn--block{display:flex;width:100%}.ec-btn--pill{border-radius:var(--ec-button-radius-pill)}.ec-btn--icon-only{width:var(--_h);padding:0}.ec-btn .ic{width:var(--ec-button-icon-size);height:var(--ec-button-icon-size)}.ec-btn--primary{color:var(--ec-button-primary-fg);background:var(--ec-button-primary-bg);box-shadow:var(--ec-button-primary-shadow);overflow:hidden;isolation:isolate}.ec-btn--primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ec-grad-sheen);opacity:.9;z-index:-1}.ec-btn--primary:hover{box-shadow:var(--ec-button-primary-hover-shadow);filter:brightness(1.06)}.ec-btn--primary:active{filter:brightness(.94)}.ec-btn--secondary{color:var(--ec-button-secondary-fg);background:var(--ec-button-secondary-bg);border-color:var(--ec-action-primary-border)}.ec-btn--secondary:hover{background:var(--ec-action-primary-dim)}.ec-btn--outline{color:var(--ec-text-primary);background:var(--ec-button-outline-bg);border-color:var(--ec-button-outline-border)}.ec-btn--outline:hover{border-color:var(--ec-border-strong);background:var(--ec-bg-hover)}.ec-btn--ghost{color:var(--ec-text-secondary);background:transparent}.ec-btn--ghost:hover{background:var(--ec-button-ghost-hover);color:var(--ec-text-primary)}.ec-btn--danger{color:var(--ec-text-on-action);background:var(--ec-danger-text);box-shadow:var(--ec-shadow-sm)}.ec-btn--danger:hover{filter:brightness(1.08)}.ec-btn--danger:active{filter:brightness(.94)}.ec-btn--link{height:auto;padding:0;color:var(--ec-text-link);background:none;border:0;font-weight:500}.ec-btn--link:hover{text-decoration:underline;text-underline-offset:3px}.ec-btn--link:active{transform:none}.ec-btn:disabled,.ec-btn.is-disabled{opacity:var(--ec-button-disabled-op);cursor:not-allowed;pointer-events:none;box-shadow:none;filter:none}.ec-btn.is-loading{color:transparent!important;pointer-events:none;cursor:progress}.ec-btn.is-loading>*{visibility:hidden}.ec-btn.is-loading:after{content:"";position:absolute;width:1em;height:1em;border-radius:var(--ec-radius-full);border:2px solid currentColor;border-block-start-color:transparent;color:var(--ec-button-primary-fg);animation:ec-spin .7s linear infinite}.ec-btn--outline.is-loading:after,.ec-btn--ghost.is-loading:after,.ec-btn--secondary.is-loading:after{color:var(--ec-action-primary)}.ec-icon-btn{display:inline-grid;place-content:center;width:var(--ec-control-h-md);height:var(--ec-control-h-md);border:1px solid transparent;border-radius:var(--ec-radius-md);background:transparent;color:var(--ec-text-secondary);cursor:pointer;transition:background-color var(--ec-dur-fast),color var(--ec-dur-fast),transform var(--ec-dur-fast)}.ec-icon-btn:hover{background:var(--ec-bg-hover);color:var(--ec-text-primary)}.ec-icon-btn:active{transform:scale(.94)}.ec-icon-btn:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-icon-btn.is-active{background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover)}.ec-icon-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ec-icon-btn .ic{width:18px;height:18px}.ec-field{display:flex;flex-direction:column;gap:var(--ec-space-2)}.ec-field__label{display:flex;align-items:center;gap:var(--ec-space-1);font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh);font-weight:500;color:var(--ec-text-secondary)}.ec-field__req{color:var(--ec-danger-text)}.ec-field__hint{font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh);color:var(--ec-text-tertiary)}.ec-field__error{display:none;align-items:center;gap:var(--ec-space-1);font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh);color:var(--ec-danger-text)}.ec-field__error .ic{width:12px;height:12px}.ec-input{--_h: var(--ec-control-h-md);display:flex;align-items:center;gap:var(--ec-space-2);width:100%;height:var(--_h);padding-inline:var(--ec-input-px);background:var(--ec-input-bg);border:1px solid var(--ec-input-border);border-radius:var(--ec-input-radius);color:var(--ec-text-primary);font-family:var(--ec-font-sans);font-size:var(--ec-body-size);transition:border-color var(--ec-dur-fast),box-shadow var(--ec-dur-fast),background-color var(--ec-dur-fast)}.ec-input>input,.ec-input>textarea{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;color:inherit;font:inherit;padding:0}.ec-input>input::placeholder{color:var(--ec-input-placeholder)}.ec-input .ic{width:16px;height:16px;color:var(--ec-text-tertiary)}.ec-input:hover{border-color:var(--ec-border-strong)}.ec-input:focus-within{border-color:var(--ec-border-focus);box-shadow:var(--ec-ring)}.ec-input.is-error,.ec-input[aria-invalid=true]{border-color:var(--ec-danger);background:var(--ec-danger-soft)}.ec-input.is-error:focus-within,.ec-input[aria-invalid=true]:focus-within{box-shadow:0 0 0 3px var(--ec-danger-soft)}.ec-input.is-disabled,.ec-input:has(input:disabled){background:var(--ec-bg-muted);border-color:var(--ec-border-subtle);color:var(--ec-text-disabled);cursor:not-allowed}.ec-input--sm{--_h: var(--ec-control-h-sm);font-size:var(--ec-caption-size)}.ec-input--lg{--_h: var(--ec-control-h-lg)}.ec-input--filled{background:var(--ec-input-bg-filled);border-color:transparent}.ec-input--filled:hover{border-color:var(--ec-input-border)}.ec-field.is-error .ec-field__error{display:flex}.ec-field.is-error .ec-field__hint{display:none}.ec-check{display:inline-flex;align-items:center;gap:var(--ec-space-2);min-height:var(--ec-control-h-md);cursor:pointer;font-size:var(--ec-body-size);color:var(--ec-text-primary)}.ec-check>input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:16px;height:16px;margin:0;border:1px solid var(--ec-border-strong);border-radius:var(--ec-radius-xs);background:var(--ec-bg-surface);cursor:pointer;transition:background-color var(--ec-dur-fast),border-color var(--ec-dur-fast),box-shadow var(--ec-dur-fast)}.ec-check>input[type=radio]{border-radius:var(--ec-radius-full)}.ec-check>input:hover{border-color:var(--ec-action-primary)}.ec-check>input:checked{background:var(--ec-action-primary-hover);border-color:var(--ec-action-primary-hover);box-shadow:inset 0 0 0 2px var(--ec-bg-surface)}.ec-check>input[type=radio]:checked{box-shadow:inset 0 0 0 3px var(--ec-bg-surface)}.ec-check>input:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-check>input:disabled{background:var(--ec-bg-sunken);border-color:var(--ec-border-subtle);cursor:not-allowed}.ec-check:has(input:disabled){color:var(--ec-text-disabled);cursor:not-allowed}.ec-switch{display:inline-flex;align-items:center;gap:var(--ec-space-2);cursor:pointer}.ec-switch>input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:22px;margin:0;border-radius:var(--ec-radius-full);background:var(--ec-bg-sunken);border:1px solid var(--ec-border-default);cursor:pointer;transition:background-color var(--ec-dur-base) var(--ec-ease-out),border-color var(--ec-dur-base)}.ec-switch>input:after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:var(--ec-radius-full);background:var(--ec-bg-surface);box-shadow:var(--ec-shadow-sm);transition:transform var(--ec-dur-base) var(--ec-ease-spring)}.ec-switch>input:checked{background:var(--ec-action-primary-hover);border-color:var(--ec-action-primary-hover)}.ec-switch>input:checked:after{transform:translate(18px)}.ec-switch>input:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-switch>input:disabled{opacity:.5;cursor:not-allowed}.ec-segmented{display:inline-flex;gap:2px;padding:3px;background:var(--ec-bg-sunken);border-radius:var(--ec-radius-md)}.ec-segmented__item{height:calc(var(--ec-control-h-sm) + 2px);padding-inline:var(--ec-space-3);border:0;border-radius:var(--ec-radius-sm);background:transparent;color:var(--ec-text-secondary);font-family:inherit;font-size:var(--ec-caption-size);font-weight:500;cursor:pointer;transition:background-color var(--ec-dur-fast),color var(--ec-dur-fast),box-shadow var(--ec-dur-fast)}.ec-segmented__item:hover{color:var(--ec-text-primary)}.ec-segmented__item[aria-pressed=true]{background:var(--ec-bg-surface);color:var(--ec-text-primary);box-shadow:var(--ec-shadow-sm)}.ec-segmented__item:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--ec-progress-h);border-radius:var(--ec-radius-full);background:var(--ec-bg-sunken);cursor:pointer}.ec-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:var(--ec-radius-full);background:var(--ec-bg-surface);border:2px solid var(--ec-action-primary-hover);box-shadow:var(--ec-shadow-sm)}.ec-slider:focus-visible{outline:none;box-shadow:var(--ec-ring)}.ec-tag{display:inline-flex;align-items:center;gap:var(--ec-space-1);height:var(--ec-tag-h-md);padding-inline:var(--ec-space-2);border:1px solid transparent;border-radius:var(--ec-radius-sm);font-size:var(--ec-micro-size);line-height:1;font-weight:500;white-space:nowrap;color:var(--ec-text-secondary);background:var(--ec-bg-muted)}.ec-tag--sm{height:var(--ec-tag-h-sm);font-size:var(--ec-micro-size)}.ec-tag--outline{background:transparent;border-color:var(--ec-border-default)}.ec-tag--primary{color:var(--ec-info-text);background:var(--ec-info-soft);border-color:var(--ec-info-border)}.ec-tag--success{color:var(--ec-success-text);background:var(--ec-success-soft);border-color:var(--ec-success-border)}.ec-tag--warning{color:var(--ec-warning-text);background:var(--ec-warning-soft);border-color:var(--ec-warning-border)}.ec-tag--danger{color:var(--ec-danger-text);background:var(--ec-danger-soft);border-color:var(--ec-danger-border)}.ec-tag .ic{width:12px;height:12px}.ec-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--ec-badge-size);height:var(--ec-badge-size);padding-inline:5px;border-radius:var(--ec-radius-sm);font-family:var(--ec-font-num);font-size:var(--ec-micro-size);font-weight:600;line-height:1;color:var(--ec-text-on-action);background:var(--ec-danger-text)}.ec-badge--dot{min-width:8px;width:8px;height:8px;padding:0;border-radius:var(--ec-radius-full)}.ec-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--ec-caption-size);line-height:1;color:var(--ec-text-secondary)}.ec-status__dot{width:6px;height:6px;flex:none;border-radius:var(--ec-radius-full);background:var(--ec-status-offline)}.ec-status--online .ec-status__dot{background:var(--ec-status-online)}.ec-status--maintain .ec-status__dot{background:var(--ec-status-maintain)}.ec-status--offline .ec-status__dot{background:var(--ec-status-offline)}.ec-status--expired .ec-status__dot{background:var(--ec-status-expired)}.ec-status--vip .ec-status__dot{background:var(--ec-status-vip)}.ec-status--owned .ec-status__dot{background:var(--ec-status-owned)}.ec-status--pulse .ec-status__dot{position:relative}.ec-status--pulse .ec-status__dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:1px solid currentColor;opacity:.5;animation:ec-pulse 2s var(--ec-ease-out) infinite}.ec-avatar{display:inline-grid;place-content:center;width:var(--ec-avatar-md);height:var(--ec-avatar-md);border-radius:var(--ec-radius-full);background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover);font-size:var(--ec-caption-size);font-weight:600;overflow:hidden}.ec-avatar--sm{width:var(--ec-avatar-sm);height:var(--ec-avatar-sm);font-size:var(--ec-micro-size)}.ec-avatar--lg{width:var(--ec-avatar-lg);height:var(--ec-avatar-lg);font-size:var(--ec-h3-size)}.ec-card{--_pad: var(--ec-card-pad-md);position:relative;padding:var(--_pad);background:var(--ec-card-bg);border:1px solid var(--ec-card-border);border-radius:var(--ec-card-radius);box-shadow:var(--ec-shadow-xs)}.ec-card--sm{--_pad: var(--ec-card-pad-sm)}.ec-card--lg{--_pad: var(--ec-card-pad-lg)}.ec-card--xl{--_pad: var(--ec-card-pad-xl)}.ec-card--flat{box-shadow:none}.ec-card--outlined{box-shadow:none;border-color:var(--ec-border-default)}.ec-card--interactive{cursor:pointer;transition:transform var(--ec-dur-base) var(--ec-ease-out),box-shadow var(--ec-dur-base) var(--ec-ease-out),border-color var(--ec-dur-base) var(--ec-ease-out)}.ec-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--ec-shadow-md);border-color:var(--ec-border-default)}.ec-card--interactive:active{transform:translateY(0)}.ec-card--interactive:focus-visible{outline:none;box-shadow:var(--ec-ring),var(--ec-shadow-md)}.ec-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-space-3);margin-block-end:var(--ec-space-3)}.ec-divider{display:flex;align-items:center;gap:var(--ec-space-3);color:var(--ec-text-tertiary);font-size:var(--ec-caption-size)}.ec-divider:before,.ec-divider:after{content:"";flex:1;height:1px;background:var(--ec-border-subtle)}.ec-divider--v{width:1px;height:1em;background:var(--ec-border-subtle);flex:none}.ec-stack{display:flex;flex-direction:column}.ec-stack--row{flex-direction:row}.ec-stack--wrap{flex-wrap:wrap}.ec-stack--center{align-items:center}.ec-stack--between{justify-content:space-between}.ec-stack--1{gap:var(--ec-space-1)}.ec-stack--2{gap:var(--ec-space-2)}.ec-stack--3{gap:var(--ec-space-3)}.ec-stack--4{gap:var(--ec-space-4)}.ec-stack--5{gap:var(--ec-space-5)}.ec-stack--6{gap:var(--ec-space-6)}.ec-stack--8{gap:var(--ec-space-8)}.ec-grid{display:grid;gap:var(--ec-gutter)}.ec-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ec-grid--auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.ec-tabs{display:flex;align-items:stretch;gap:var(--ec-space-1);border-block-end:1px solid var(--ec-border-subtle)}.ec-tabs__item{position:relative;display:inline-flex;align-items:center;gap:var(--ec-space-2);height:var(--ec-tabs-h);padding-inline:var(--ec-space-3);border:0;background:none;color:var(--ec-text-secondary);font-family:inherit;font-size:var(--ec-body-size);font-weight:500;cursor:pointer;transition:color var(--ec-dur-fast)}.ec-tabs__item:hover,.ec-tabs__item[aria-selected=true]{color:var(--ec-text-primary)}.ec-tabs__item[aria-selected=true]:after{content:"";position:absolute;inset-inline:var(--ec-space-2);inset-block-end:-1px;height:var(--ec-tab-indicator);border-radius:var(--ec-radius-full) var(--ec-radius-full) 0 0;background:var(--ec-action-primary-hover)}.ec-tabs__item:focus-visible{outline:none;box-shadow:var(--ec-ring);border-radius:var(--ec-radius-sm)}.ec-tabs__item:disabled{color:var(--ec-text-disabled);cursor:not-allowed}.ec-steps{display:flex;align-items:flex-start;gap:0;counter-reset:step}.ec-steps__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--ec-space-2);min-width:0}.ec-steps__item:before{content:"";position:absolute;inset-block-start:calc(var(--ec-steps-dot) / 2 - .5px);inset-inline-start:var(--ec-steps-dot);width:calc(100% - var(--ec-steps-dot));height:1px;background:var(--ec-border-default)}.ec-steps__item:last-child:before{display:none}.ec-steps__dot{display:grid;place-content:center;width:var(--ec-steps-dot);height:var(--ec-steps-dot);border-radius:var(--ec-radius-full);border:1px solid var(--ec-border-default);background:var(--ec-bg-surface);color:var(--ec-text-tertiary);font-family:var(--ec-font-num);font-size:var(--ec-caption-size);font-weight:600}.ec-steps__item.is-done .ec-steps__dot{background:var(--ec-success);border-color:var(--ec-success);color:var(--ec-text-on-action)}.ec-steps__item.is-done:before{background:var(--ec-success)}.ec-steps__item.is-current .ec-steps__dot{border-color:var(--ec-action-primary-hover);color:var(--ec-action-primary-hover);box-shadow:var(--ec-ring)}.ec-steps__item.is-error .ec-steps__dot{background:var(--ec-danger-soft);border-color:var(--ec-danger);color:var(--ec-danger-text)}.ec-steps__label{font-size:var(--ec-caption-size);font-weight:500;color:var(--ec-text-secondary)}.ec-steps__item.is-current .ec-steps__label{color:var(--ec-text-primary)}.ec-steps__item.is-error .ec-steps__label{color:var(--ec-danger-text)}.ec-steps__desc{font-size:var(--ec-micro-size);color:var(--ec-text-tertiary)}.ec-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ec-space-2);font-size:var(--ec-caption-size);color:var(--ec-text-tertiary)}.ec-breadcrumb a{color:var(--ec-text-secondary)}.ec-breadcrumb__sep{color:var(--ec-text-disabled)}.ec-breadcrumb [aria-current=page]{color:var(--ec-text-primary);font-weight:500}.ec-pager{display:inline-flex;align-items:center;gap:var(--ec-space-1)}.ec-pager__item{display:grid;place-content:center;min-width:var(--ec-pager-h);height:var(--ec-pager-h);padding-inline:var(--ec-space-2);border:1px solid transparent;border-radius:var(--ec-radius-md);background:none;color:var(--ec-text-secondary);font-family:var(--ec-font-num);font-size:var(--ec-caption-size);cursor:pointer;transition:background-color var(--ec-dur-fast),color var(--ec-dur-fast)}.ec-pager__item:hover{background:var(--ec-bg-hover);color:var(--ec-text-primary)}.ec-pager__item[aria-current=page]{background:var(--ec-action-primary-soft);border-color:var(--ec-action-primary-border);color:var(--ec-action-primary-hover);font-weight:600}.ec-pager__item:disabled{opacity:.4;cursor:not-allowed}.ec-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--ec-body-size);background:var(--ec-bg-surface)}.ec-table th,.ec-table td{padding-inline:var(--ec-table-cell-px);height:var(--ec-table-row-h);text-align:start;border-block-end:1px solid var(--ec-table-border)}.ec-table th{height:40px;background:var(--ec-table-head-bg);color:var(--ec-text-secondary);font-size:var(--ec-caption-size);font-weight:500;white-space:nowrap}.ec-table tbody tr:last-child td{border-block-end:0}.ec-table tbody tr:hover td{background:var(--ec-bg-hover)}.ec-table--compact th,.ec-table--compact td{height:var(--ec-table-row-h-compact)}.ec-table--striped tbody tr:nth-child(2n) td{background:var(--ec-table-stripe)}.ec-table--bordered{border:1px solid var(--ec-table-border);border-radius:var(--ec-card-radius);overflow:hidden}.ec-table__num{font-family:var(--ec-font-num);font-variant-numeric:tabular-nums;text-align:end}.ec-alert{display:flex;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);border:1px solid var(--ec-border-subtle);border-radius:var(--ec-radius-md);background:var(--ec-bg-muted);font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh)}.ec-alert__icon{flex:none;width:16px;height:16px;margin-block-start:1px}.ec-alert__title{font-weight:600;color:var(--ec-text-primary);margin-block-end:2px}.ec-alert__body{color:var(--ec-text-secondary)}.ec-alert--info{background:var(--ec-info-soft);border-color:var(--ec-info-border);color:var(--ec-info-text)}.ec-alert--success{background:var(--ec-success-soft);border-color:var(--ec-success-border);color:var(--ec-success-text)}.ec-alert--warning{background:var(--ec-warning-soft);border-color:var(--ec-warning-border);color:var(--ec-warning-text)}.ec-alert--danger{background:var(--ec-danger-soft);border-color:var(--ec-danger-border);color:var(--ec-danger-text)}.ec-alert--info .ec-alert__title,.ec-alert--success .ec-alert__title,.ec-alert--warning .ec-alert__title,.ec-alert--danger .ec-alert__title{color:inherit}.ec-alert--info .ec-alert__body,.ec-alert--success .ec-alert__body,.ec-alert--warning .ec-alert__body,.ec-alert--danger .ec-alert__body{color:inherit;opacity:.88}.ec-toast-layer{position:fixed;inset-block-start:var(--ec-space-6);inset-inline:0;z-index:var(--ec-z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--ec-toast-gap);pointer-events:none}.ec-toast{display:flex;align-items:center;gap:var(--ec-space-2);max-width:var(--ec-toast-w);padding:var(--ec-space-2) var(--ec-space-4);background:var(--ec-bg-raised);border:1px solid var(--ec-border-subtle);border-radius:var(--ec-toast-radius);box-shadow:var(--ec-shadow-lg);font-size:var(--ec-caption-size);color:var(--ec-text-primary);animation:ec-toast-in var(--ec-dur-base) var(--ec-ease-spring)}.ec-toast .ic{width:14px;height:14px;flex:none}.ec-toast--success .ic{color:var(--ec-success)}.ec-toast--danger .ic{color:var(--ec-danger)}.ec-toast.is-leaving{animation:ec-toast-out var(--ec-dur-fast) var(--ec-ease-in) forwards}.ec-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ec-z-overlay);display:grid;place-items:center;padding:var(--ec-space-6);background:var(--ec-bg-overlay);animation:ec-fade-in var(--ec-dur-base) var(--ec-ease-out)}.ec-overlay[hidden],.ec-drawer[hidden]{display:none}.ec-dialog{width:100%;max-width:var(--ec-dialog-w-md);background:var(--ec-bg-raised);border-radius:var(--ec-dialog-radius);box-shadow:var(--ec-shadow-xl);animation:ec-dialog-in var(--ec-dur-base) var(--ec-ease-spring)}.ec-dialog--sm{max-width:var(--ec-dialog-w-sm)}.ec-dialog--lg{max-width:var(--ec-dialog-w-lg)}.ec-dialog__head{display:flex;align-items:flex-start;gap:var(--ec-space-3);padding:var(--ec-space-5) var(--ec-space-5) var(--ec-space-3)}.ec-dialog__title{font-size:var(--ec-h3-size);font-weight:600}.ec-dialog__body{padding-inline:var(--ec-space-5);color:var(--ec-text-secondary);font-size:var(--ec-body-size)}.ec-dialog__foot{display:flex;justify-content:flex-end;gap:var(--ec-space-2);padding:var(--ec-space-5)}.ec-drawer{position:fixed;inset-block:0;inset-inline-end:0;z-index:var(--ec-z-modal);width:min(var(--ec-drawer-w-md),100vw);display:flex;flex-direction:column;background:var(--ec-bg-raised);box-shadow:var(--ec-shadow-xl);animation:ec-drawer-in var(--ec-dur-base) var(--ec-ease-out)}.ec-drawer--lg{width:min(var(--ec-drawer-w-lg),100vw)}.ec-drawer--sm{width:min(var(--ec-drawer-w-sm),100vw)}.ec-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-space-3);padding:var(--ec-space-4) var(--ec-space-5);border-block-end:1px solid var(--ec-border-subtle)}.ec-drawer__body{flex:1;overflow-y:auto;padding:var(--ec-space-5)}.ec-drawer__foot{display:flex;gap:var(--ec-space-2);padding:var(--ec-space-4) var(--ec-space-5);border-block-start:1px solid var(--ec-border-subtle)}.ec-progress{position:relative;height:var(--ec-progress-h);border-radius:var(--ec-radius-full);background:var(--ec-bg-sunken);overflow:hidden}.ec-progress__bar{height:100%;border-radius:inherit;background:var(--ec-grad-action);transition:width var(--ec-dur-slow) var(--ec-ease-out)}.ec-progress--gold .ec-progress__bar{background:var(--ec-grad-gold)}.ec-progress--thin{height:3px}.ec-skel{border-radius:var(--ec-skeleton-radius);background:var(--ec-skeleton-bg);background-image:linear-gradient(90deg,transparent 0%,var(--ec-bg-wash) 40%,var(--ec-bg-wash) 60%,transparent 100%);background-size:200% 100%;animation:ec-shimmer 1.4s var(--ec-ease-out) infinite}.ec-skel--line{height:12px}.ec-skel--title{height:18px;width:42%}.ec-skel--block{height:96px}.ec-skel--circle{border-radius:var(--ec-radius-full);aspect-ratio:1}.ec-spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--ec-border-default);border-block-start-color:var(--ec-action-primary-hover);border-radius:var(--ec-radius-full);animation:ec-spin .7s linear infinite}.ec-empty{display:flex;flex-direction:column;align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-12) var(--ec-space-6);text-align:center}.ec-empty__art{display:grid;place-content:center;width:64px;height:64px;margin-block-end:var(--ec-space-1);border-radius:var(--ec-radius-xl);background:var(--ec-action-primary-soft);color:var(--ec-action-primary)}.ec-empty__art .ic{width:28px;height:28px}.ec-empty__title{font-size:var(--ec-h3-size);font-weight:600}.ec-empty__desc{max-width:34ch;font-size:var(--ec-caption-size);line-height:1.7;color:var(--ec-text-secondary)}.ec-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ec-space-2);margin-block-start:var(--ec-space-1)}.ec-result{display:flex;flex-direction:column;align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-10) var(--ec-space-6);text-align:center}.ec-result__icon{display:grid;place-content:center;width:56px;height:56px;border-radius:var(--ec-radius-full)}.ec-result__icon .ic{width:26px;height:26px}.ec-result--success .ec-result__icon{background:var(--ec-success-soft);color:var(--ec-success-text)}.ec-result--danger .ec-result__icon{background:var(--ec-danger-soft);color:var(--ec-danger-text)}.ec-result--warning .ec-result__icon{background:var(--ec-warning-soft);color:var(--ec-warning-text)}.ec-result--info .ec-result__icon{background:var(--ec-info-soft);color:var(--ec-info-text)}.ec-result__title{font-size:var(--ec-h2-size);font-weight:600}.ec-result__desc{max-width:40ch;font-size:var(--ec-caption-size);line-height:1.7;color:var(--ec-text-secondary)}.ec-result__actions{display:flex;gap:var(--ec-space-2);margin-block-start:var(--ec-space-2)}.ec-tip{position:relative;display:inline-flex}.ec-tip__bubble{position:absolute;inset-block-end:calc(100% + 6px);inset-inline-start:50%;translate:-50% 0;padding:5px var(--ec-space-2);border-radius:var(--ec-radius-sm);background:var(--ec-bg-inverse);color:var(--ec-text-inverse);font-size:var(--ec-micro-size);line-height:1.4;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ec-dur-fast);z-index:var(--ec-z-tooltip)}.ec-tip:hover .ec-tip__bubble,.ec-tip:focus-within .ec-tip__bubble{opacity:1}@keyframes ec-spin{to{transform:rotate(360deg)}}@keyframes ec-pulse{0%{transform:scale(.8);opacity:.6}70%{transform:scale(1.8);opacity:0}to{transform:scale(1.8);opacity:0}}@keyframes ec-shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@keyframes ec-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ec-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes ec-drawer-in{0%{transform:translate(16px);opacity:0}to{transform:none;opacity:1}}@keyframes ec-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes ec-toast-out{to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.ec-skel{animation:none;background-image:none}}@media (max-width: 640px){.ec-grid--2{grid-template-columns:1fr}.ec-grid--3,.ec-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-dialog{max-width:none}.ec-drawer{width:100vw}.ec-steps__desc{display:none}.ec-icon-btn{width:var(--ec-control-h-lg);height:var(--ec-control-h-lg)}}@media (min-width: 641px) and (max-width: 1024px){.ec-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--bg-page: var(--ec-bg-base);--bg-surface: var(--ec-bg-surface);--bg-surface-2: var(--ec-bg-muted);--bg-nav: var(--ec-bg-surface);--bg-elevated: var(--ec-bg-raised);--bg-footer: var(--ec-bg-surface);--bg-soft: var(--ec-action-primary-soft);--text-primary: var(--ec-text-primary);--text-secondary: var(--ec-text-secondary);--text-muted: var(--ec-text-tertiary);--text-on-accent: var(--ec-text-on-action);--text-footer: var(--ec-text-secondary);--text-footer-muted: var(--ec-text-tertiary);--placeholder: var(--ec-text-placeholder);--accent: var(--ec-action-primary);--accent-strong: var(--ec-action-primary-hover);--accent-soft: var(--ec-action-primary-dim);--success: var(--ec-success-text);--success-bg: var(--ec-success-soft);--warning: var(--ec-warning-text);--warning-bg: var(--ec-warning-soft);--danger: var(--ec-danger-text);--danger-bg: var(--ec-danger-soft);--info: var(--ec-info-text);--border: var(--ec-border-subtle);--stroke-width: 1px;--stroke-color: var(--ec-border-default);--card-hover-border: var(--ec-border-default);--divider: var(--ec-border-subtle);--disabled-bg: var(--ec-bg-sunken);--disabled-text: var(--ec-text-disabled);--font-display: var(--ec-font-sans);--font-body: var(--ec-font-sans);--font-mono: var(--ec-font-mono);--font-price: var(--ec-font-num);--fs-display: var(--ec-display-size);--fs-h1: var(--ec-h1-size);--fs-h2: var(--ec-h2-size);--fs-h3: var(--ec-h3-size);--fs-body: var(--ec-body-size);--fs-sm: var(--ec-body-size);--fs-label: var(--ec-caption-size);--fs-price: var(--ec-price-int-sm);--fw-display: var(--ec-display-weight);--fw-heading: var(--ec-h3-weight);--fw-body: var(--ec-body-weight);--fw-label: var(--ec-button-font-weight);--fw-price: var(--ec-display-weight);--tracking-display: var(--ec-display-track);--tracking-label: var(--ec-micro-track);--leading-body: 1.6;--leading-title: 1.5;--heading-transform: none;--label-transform: none;--radius-card: var(--ec-radius-lg);--radius-panel: var(--ec-radius-xl);--radius-input: var(--ec-radius-md);--radius-input-tall: var(--ec-radius-lg);--radius-media: var(--ec-radius-md);--radius-pill: var(--ec-radius-full);--btn-radius: var(--ec-button-radius);--space-unit: var(--ec-space-2);--grid-gap: var(--ec-gutter);--section-gap: var(--ec-space-16);--container-max: var(--ec-container-lg);--container-narrow: var(--ec-container-md);--container-page-narrow: clamp(var(--ec-container-md), 72vw, var(--ec-container-lg));--container-padding: var(--ec-space-6);--navbar-height: var(--ec-topbar-h);--nav-padding-x: var(--ec-space-6);--nav-border-color: var(--ec-border-subtle);--nav-logo-height: 24px;--nav-menu-gap: var(--ec-space-5);--nav-link-size: var(--ec-body-size);--nav-scrolled-shadow: var(--ec-shadow-sm);--shadow-card: var(--ec-shadow-xs);--shadow-card-hover: var(--ec-shadow-md);--shadow-float: var(--ec-shadow-lg);--btn-height: var(--ec-control-h-md);--btn-padding-x: var(--ec-control-px);--btn-font-size: var(--ec-body-size);--btn-active-transform: scale(.98);--btn-secondary-bg: var(--ec-button-secondary-bg);--card-hover-transform: translateY(-2px);--media-hover-scale: 1.03;--transition-interactive: var(--ec-dur-fast) var(--ec-ease-out);--transition-surface: var(--ec-dur-base) var(--ec-ease-out);--transition-progress: var(--ec-dur-slow) var(--ec-ease-out);--enter-shift: 8px;--enter-scale: 1;--enter-duration: var(--ec-dur-slow);--enter-ease: var(--ec-ease-out);--stagger-step: 60ms;--z-nav: var(--ec-z-sticky);--z-dropdown: var(--ec-z-dropdown);--z-sticky: var(--ec-z-sticky);--z-boot: 450;--input-height: var(--ec-control-h-md);--input-padding-y: 0px;--input-padding-x: var(--ec-space-3);--input-font-size: var(--ec-body-size);--input-icon-size: 16px;--input-icon-gap: var(--ec-space-2);--input-focus-border: var(--ec-border-focus);--input-focus-shadow: var(--ec-ring);--icon-btn-size: var(--ec-control-h-md);--icon-btn-radius: var(--ec-radius-md);--icon-btn-icon-size: 18px;--card-width: 280px;--card-width-lg: 280px;--card-padding: var(--ec-card-pad-md);--card-padding-lg: var(--ec-card-pad-lg);--card-image-height: 200px;--card-image-height-lg: 200px;--card-title-size: var(--ec-body-size);--price-color: var(--ec-price-current);--price-bg: transparent;--micro-badge-padding: 2px 6px;--micro-badge-radius: var(--ec-radius-xs);--toast-offset: var(--ec-space-6);--dropdown-width: 200px;--dropdown-padding-y: var(--ec-space-1);--dropdown-radius: var(--ec-select-menu-radius);--dropdown-item-height: var(--ec-select-option-h);--dropdown-active-bar: var(--ec-tab-indicator);--tag-padding-y: 0px;--tag-padding-x: var(--ec-space-2);--tag-font-size: var(--ec-micro-size);--pager-size: var(--ec-pager-h);--pager-radius: var(--ec-radius-md);--pager-gap: var(--ec-space-1);--pager-font-size: var(--ec-caption-size);--pager-active-bg: var(--ec-action-primary-soft);--pager-active-color: var(--ec-action-primary-hover);--pager-active-border: var(--ec-action-primary-border);--pager-active-shadow: none;--progress-height: var(--ec-progress-h);--progress-radius: var(--ec-radius-full);--progress-track: var(--ec-bg-sunken);--spinner-size-sm: 20px;--spinner-size-md: 24px;--spinner-size-lg: 32px;--spinner-border: 2px;--spinner-border-lg: 2px;--spinner-duration: .7s;--avatar-size: var(--ec-avatar-md);--avatar-radius: var(--ec-radius-full);--checkbox-size: 16px;--checkbox-radius: var(--ec-radius-xs);--checkbox-icon-size: 12px;--mobile-nav-scale: .85;--mobile-control-scale: .9;--mobile-padding-scale: .8;--mobile-section-scale: .6;--mobile-title-scale: .7;--mobile-body-scale: .95;--select-arrow-size: 16px;--select-arrow-color: var(--ec-text-tertiary);--dropdown-max-height: 280px;--dropdown-offset: 6px;--dropdown-item-padding-x: var(--ec-space-3);--dropdown-item-font-size: var(--ec-body-size);--dropdown-item-hover-bg: var(--ec-bg-hover);--dropdown-item-active-bg: var(--ec-action-primary-soft);--dropdown-item-active-color: var(--ec-action-primary-hover);--dropdown-item-disabled-color: var(--ec-text-disabled);--dropdown-check-size: 14px;--dropdown-check-color: var(--ec-action-primary);--dropdown-group-height: 28px;--dropdown-group-font-size: var(--ec-micro-size);--dropdown-group-weight: var(--ec-h3-weight);--dropdown-group-color: var(--ec-text-tertiary);--dropdown-group-gap: 6px;--dropdown-hit-bg: var(--ec-action-primary-dim);--dropdown-search-gap: var(--ec-space-2);--dropdown-empty-padding: var(--ec-space-6);--dropdown-empty-font-size: var(--ec-caption-size);--checkbox-hover-border: var(--ec-action-primary);--checkbox-checked-bg: var(--ec-action-primary-hover);--checkbox-label-gap: var(--ec-space-2);--checkbox-label-size: var(--ec-body-size);--checkbox-indeterminate-width: 8px;--checkbox-row-min-height: var(--ec-control-h-md);--switch-track-w: 40px;--switch-track-h: 22px;--switch-track-radius: var(--ec-radius-full);--switch-thumb-size: 16px;--switch-thumb-radius: var(--ec-radius-full);--switch-off-bg: var(--ec-bg-sunken);--switch-on-bg: var(--ec-action-primary-hover);--switch-transition: var(--ec-dur-base) var(--ec-ease-out);--switch-thumb-inset: 2px;--switch-label-gap: var(--ec-space-2);--tab-height: var(--ec-tabs-h);--tab-padding-y: 0px;--tab-padding-x: var(--ec-space-3);--tab-font-size: var(--ec-body-size);--tab-font-weight: var(--ec-button-font-weight);--tab-color: var(--ec-text-secondary);--tab-active-color: var(--ec-text-primary);--tab-indicator-height: var(--ec-tab-indicator);--tab-indicator-color: var(--ec-action-primary-hover);--tab-gap: var(--ec-space-1);--tab-content-gap: var(--ec-space-5);--table-row-height: var(--ec-table-row-h);--table-head-height: 40px;--table-cell-padding-y: var(--ec-space-3);--table-cell-padding-x: var(--ec-table-cell-px);--table-font-size: var(--ec-body-size);--table-head-font-size: var(--ec-caption-size);--table-head-weight: var(--ec-button-font-weight);--table-border-width: 1px;--table-border-color: var(--ec-table-border);--table-zebra-bg: var(--ec-table-stripe);--table-row-hover-bg: var(--ec-bg-hover);--table-head-transform: none;--table-action-col-width: 120px;--datepicker-width: 280px;--datepicker-padding: var(--ec-space-4);--datepicker-radius: var(--ec-radius-lg);--datepicker-cell-size: var(--ec-control-h-md);--datepicker-cell-radius: var(--ec-radius-md);--datepicker-selected-bg: var(--ec-action-primary-hover);--datepicker-today-color: var(--ec-action-primary-hover);--datepicker-today-marker: inset 0 -2px 0 0 currentColor;--datepicker-font-size: var(--ec-caption-size);--datepicker-nav-size: 26px;--datepicker-title-size: var(--ec-h3-size);--datepicker-weekday-size: var(--ec-caption-size);--datepicker-weekday-height: 32px;--datepicker-other-opacity: .45;--skeleton-duration: 1.4s;--skeleton-animation-name: ec-shimmer;--skeleton-easing: var(--ec-ease-out);--skeleton-bg: var(--ec-skeleton-bg);--skeleton-highlight: var(--ec-bg-wash);--skeleton-line-gap: var(--ec-space-2);--empty-icon-size: 64px;--empty-icon-color: var(--ec-action-primary);--empty-title-size: var(--ec-h3-size);--empty-title-weight: var(--ec-h3-weight);--empty-desc-size: var(--ec-caption-size);--empty-desc-color: var(--ec-text-secondary);--empty-btn-gap: var(--ec-space-5);--empty-padding-top: var(--ec-space-12);--badge-height: var(--ec-badge-size);--badge-padding-x: 5px;--badge-radius: var(--ec-radius-full);--badge-bg: var(--ec-danger-text);--badge-color: var(--ec-text-on-action);--badge-font-size: var(--ec-micro-size);--badge-min-width: var(--ec-badge-size);--badge-dot-size: 8px;--badge-ring-width: 2px;--scrollbar-width: 8px;--scrollbar-track: var(--ec-bg-base);--scrollbar-thumb: var(--ec-border-default);--scrollbar-thumb-radius: var(--ec-radius-full);--scrollbar-thumb-hover: var(--ec-border-strong);--scrollbar-padding: 2px;--focus-ring: var(--ec-ring);--focus-ring-offset: 2px;--active-scale: .98;--state-disabled-opacity: var(--ec-button-disabled-op);--field-error-size: var(--ec-caption-size);--field-error-gap: 6px;--field-success-icon: 16px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100%}body{font-family:var(--ec-font-sans);font-size:var(--ec-body-size);font-weight:var(--ec-body-weight);line-height:var(--ec-body-lh);color:var(--ec-text-primary);background:var(--ec-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--ec-dur-base) var(--ec-ease-out),color var(--ec-dur-base) var(--ec-ease-out)}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ec-ease-out);mix-blend-mode:normal}::view-transition-group(root){animation-duration:.32s;animation-timing-function:var(--ec-ease-out)}html:active-view-transition body,html:active-view-transition body *,html:active-view-transition body *:before,html:active-view-transition body *:after{transition:none!important}html.is-theme-switching,html.is-theme-switching body,html.is-theme-switching body *,html.is-theme-switching body *:before,html.is-theme-switching body *:after{transition-property:background-color,border-color,color,fill,stroke,box-shadow,outline-color;transition-duration:.24s;transition-timing-function:var(--ec-ease-out);transition-delay:0s}@media (prefers-reduced-motion: reduce){html.is-theme-switching,html.is-theme-switching body,html.is-theme-switching body *,html.is-theme-switching body *:before,html.is-theme-switching body *:after{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}.ec-redeem-result__icon svg.app-icon{width:var(--ec-space-6);height:var(--ec-space-6);stroke-width:1.5}.ec-result__icon svg.app-icon{width:calc(var(--ec-space-6) + 2px);height:calc(var(--ec-space-6) + 2px);stroke-width:1.5}.u-empty-icon svg.app-icon{width:calc(var(--empty-icon-size) * .8);height:calc(var(--empty-icon-size) * .8);stroke-width:1.5}svg.app-icon.u-mm-state-icon{width:calc(var(--space-unit) * 4);height:calc(var(--space-unit) * 4);stroke-width:1.5}#app{width:100%;min-height:100vh}::selection{background:var(--ec-action-primary-dim)}button{border:none;cursor:pointer;font-family:inherit;font-size:inherit;background:none;padding:0;color:inherit}a{color:inherit;text-decoration:none;transition:color var(--ec-dur-fast) var(--ec-ease-out)}a:hover{color:var(--ec-action-primary-hover);text-decoration:none}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none;background:none;color:inherit}input::placeholder,textarea::placeholder{color:var(--ec-text-placeholder)}ul,ol{list-style:none}h1,h2,h3,h4{font-family:var(--ec-font-sans);font-weight:var(--ec-h3-weight);line-height:1.25;color:var(--ec-text-primary)}img{max-width:100%;height:auto;display:block;-webkit-user-drag:none}:focus-visible{outline:2px solid var(--ec-border-focus);outline-offset:2px;border-radius:var(--ec-radius-xs)}.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}@media (min-width: 768px){.show-mobile{display:none!important}}@keyframes enterUp{0%{opacity:0;transform:translateY(var(--enter-shift)) scale(var(--enter-scale))}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}.u-enter{animation:enterUp var(--enter-duration) var(--enter-ease) both;animation-delay:calc(var(--i, 0) * var(--stagger-step))}.u-btn-primary,.u-btn-secondary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--ec-button-gap);height:var(--ec-control-h-md);padding-inline:var(--ec-control-px);font-family:var(--ec-font-sans);font-size:var(--ec-body-size);font-weight:var(--ec-button-font-weight);line-height:1;border:1px solid transparent;border-radius:var(--ec-button-radius);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--ec-dur-fast) var(--ec-ease-out),border-color var(--ec-dur-fast) var(--ec-ease-out),color var(--ec-dur-fast) var(--ec-ease-out),box-shadow var(--ec-dur-fast) var(--ec-ease-out),transform var(--ec-dur-fast) var(--ec-ease-out)}.u-btn-primary{color:var(--ec-button-primary-fg);background:var(--ec-button-primary-bg);box-shadow:var(--ec-button-primary-shadow);isolation:isolate}.u-btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ec-grad-sheen);opacity:.9;z-index:-1}.u-btn-primary:hover:not(:disabled),.ec-btn--primary:hover:not(:disabled){color:var(--ec-text-on-action);box-shadow:var(--ec-button-primary-hover-shadow);filter:brightness(1.06)}.u-btn-primary:active:not(:disabled),.ec-btn--primary:active:not(:disabled){filter:brightness(.94);transform:var(--btn-active-transform)}.u-btn-primary:focus-visible,.ec-btn--primary:focus-visible{outline:none;box-shadow:var(--ec-ring)}.u-btn-secondary{color:var(--ec-action-primary-hover);background:var(--ec-button-secondary-bg);border-color:var(--ec-action-primary-border)}.u-btn-secondary:hover:not(:disabled){color:var(--ec-action-primary-hover);background:var(--ec-action-primary-dim);border-color:var(--ec-action-primary)}.u-btn-secondary:active:not(:disabled){transform:var(--btn-active-transform)}.u-btn-secondary:focus-visible{outline:none;box-shadow:var(--ec-ring)}.u-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ec-control-h-md);height:var(--ec-control-h-md);font-size:var(--ec-button-icon-size);line-height:1;color:var(--ec-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--ec-radius-md);transition:background-color var(--ec-dur-fast) var(--ec-ease-out),border-color var(--ec-dur-fast) var(--ec-ease-out),color var(--ec-dur-fast) var(--ec-ease-out),transform var(--ec-dur-fast) var(--ec-ease-out)}.u-icon-btn:hover:not(:disabled){color:var(--ec-text-primary);background:var(--ec-bg-hover)}.u-icon-btn:active:not(:disabled){transform:scale(.94)}.u-icon-btn:focus-visible{outline:none;box-shadow:var(--ec-ring)}.u-btn-primary:disabled,.u-btn-secondary:disabled,.u-icon-btn:disabled{opacity:var(--ec-button-disabled-op);cursor:not-allowed;pointer-events:none;box-shadow:none;filter:none;transform:none}.u-input{width:100%;height:var(--ec-control-h-md);padding-inline:var(--ec-input-px);font-family:var(--ec-font-sans);font-size:var(--ec-body-size);color:var(--ec-text-primary);background:var(--ec-input-bg);border:1px solid var(--ec-input-border);border-radius:var(--ec-input-radius);transition:border-color var(--ec-dur-fast) var(--ec-ease-out),box-shadow var(--ec-dur-fast) var(--ec-ease-out),background-color var(--ec-dur-fast) var(--ec-ease-out)}.u-input::placeholder{color:var(--ec-input-placeholder)}textarea.u-input{height:auto;min-height:calc(var(--ec-control-h-md) * 2.5);padding-block:var(--ec-space-2);border-radius:var(--ec-radius-lg);line-height:var(--ec-body-lh);resize:vertical}.u-input:hover{border-color:var(--ec-border-strong)}.u-input:focus{border-color:var(--ec-border-focus);box-shadow:var(--ec-ring);outline:none}.u-input:disabled{background:var(--ec-bg-muted);border-color:var(--ec-border-subtle);color:var(--ec-text-disabled);cursor:not-allowed}.u-search{position:relative;z-index:0;display:flex;align-items:center;gap:var(--input-icon-gap);width:100%}.u-search-icon{position:absolute;left:var(--input-padding-x);display:inline-flex;align-items:center;justify-content:center;width:var(--input-icon-size);font-size:var(--input-icon-size);line-height:1;pointer-events:none;z-index:1;color:var(--ec-text-tertiary)}.u-search .u-input{padding-left:calc(var(--input-padding-x) + var(--input-icon-size) + var(--input-icon-gap))}.ui-card{position:relative;display:flex;flex-direction:column;gap:var(--ec-space-2);width:100%;padding:var(--ec-card-pad-md);background:var(--ec-card-bg);border:1px solid var(--ec-card-border);border-radius:var(--ec-card-radius);box-shadow:var(--ec-shadow-xs);transition:transform var(--ec-dur-base) var(--ec-ease-out),border-color var(--ec-dur-base) var(--ec-ease-out),box-shadow var(--ec-dur-base) var(--ec-ease-out)}.ui-card--lg{padding:var(--ec-card-pad-lg);border-radius:var(--ec-radius-xl);min-width:min(100%,var(--card-width-lg))}.ui-card:hover{transform:var(--card-hover-transform);border-color:var(--ec-border-default);box-shadow:var(--ec-shadow-md)}.ui-card-media{position:relative;display:grid;place-items:center;flex-shrink:0;height:var(--card-image-height);background:var(--ec-grad-brand);border-radius:var(--ec-radius-md);overflow:hidden}.ui-card--lg .ui-card-media{height:var(--card-image-height-lg)}.ui-card-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--ec-dur-base) var(--ec-ease-out)}.ui-card:hover .ui-card-media img{transform:scale(var(--media-hover-scale))}.ui-card-body{display:flex;flex-direction:column;gap:var(--ec-space-2);flex:1;min-width:0}.product-card:focus-visible{outline:none;box-shadow:var(--ec-ring),var(--ec-shadow-md)}.ui-card-title{font-family:var(--ec-font-sans);font-size:var(--ec-body-size);font-weight:var(--ec-h3-weight);line-height:var(--leading-title);color:var(--ec-text-primary);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}.ui-card-sub{font-size:var(--ec-caption-size);color:var(--ec-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-price{display:inline-flex;align-items:baseline;font-family:var(--ec-font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:var(--ec-price-int-sm);font-weight:var(--ec-display-weight);line-height:1;letter-spacing:-.01em;color:var(--ec-price-current);background:var(--price-bg);border-radius:var(--micro-badge-radius)}.u-price-decimals{font-size:var(--ec-price-dec-sm);font-weight:600}.u-price-original{font-family:var(--ec-font-num);font-size:var(--ec-caption-size);color:var(--ec-price-original);text-decoration:line-through;text-decoration-thickness:1px}.u-discount{display:inline-flex;align-items:center;padding:var(--micro-badge-padding);font-family:var(--ec-font-num);font-size:var(--ec-micro-size);font-weight:600;line-height:1;color:var(--ec-text-on-action);background:var(--ec-danger-text);border-radius:var(--micro-badge-radius)}.u-tag{display:inline-flex;align-items:center;gap:var(--ec-space-1);height:var(--ec-tag-h-md);padding-inline:var(--ec-space-2);font-family:var(--ec-font-sans);font-size:var(--ec-micro-size);font-weight:var(--ec-micro-weight);line-height:1;letter-spacing:var(--ec-micro-track);color:var(--ec-text-secondary);background:var(--ec-bg-muted);border:1px solid var(--ec-border-subtle);border-radius:var(--ec-radius-sm);white-space:nowrap}.u-tag--accent{color:var(--ec-info-text);background:var(--ec-info-soft);border-color:var(--ec-info-border)}.u-tag--success{color:var(--ec-success-text);background:var(--ec-success-soft);border-color:var(--ec-success-border)}.u-tag--warning{color:var(--ec-warning-text);background:var(--ec-warning-soft);border-color:var(--ec-warning-border)}.u-tag--danger{color:var(--ec-danger-text);background:var(--ec-danger-soft);border-color:var(--ec-danger-border)}.u-tag--info{color:var(--ec-info-text);background:var(--ec-info-soft);border-color:var(--ec-info-border)}.u-tag--muted{color:var(--ec-text-tertiary);background:var(--ec-bg-muted);border-color:var(--ec-border-subtle)}button.u-tag{cursor:pointer;transition:border-color var(--ec-dur-fast) var(--ec-ease-out),color var(--ec-dur-fast) var(--ec-ease-out),background-color var(--ec-dur-fast) var(--ec-ease-out)}button.u-tag:hover:not(.u-tag--accent){border-color:var(--ec-action-primary-border);color:var(--ec-action-primary-hover)}button.u-tag:focus-visible{outline:none;box-shadow:var(--ec-ring)}.u-dropdown{min-width:var(--dropdown-width);padding:var(--ec-space-1);overflow:hidden;background:var(--ec-bg-raised);border:1px solid var(--ec-border-subtle);border-radius:var(--ec-select-menu-radius);box-shadow:var(--ec-shadow-lg);animation:enterUp var(--ec-dur-fast) var(--ec-ease-out) both}.u-dropdown-item{display:flex;align-items:center;gap:var(--ec-space-2);width:100%;height:var(--ec-select-option-h);padding-inline:var(--ec-space-3);font-size:var(--ec-body-size);color:var(--ec-text-primary);text-align:left;border-radius:var(--ec-radius-sm);transition:background-color var(--ec-dur-fast),color var(--ec-dur-fast)}.u-dropdown-item:hover{background:var(--ec-bg-hover);color:var(--ec-text-primary)}.u-dropdown-item--active{background:var(--ec-action-primary-soft);color:var(--ec-action-primary-hover);font-weight:var(--ec-button-font-weight)}.u-dropdown-divider{height:1px;margin:var(--ec-space-1) 0;background:var(--ec-border-subtle)}.u-progress{width:100%;height:var(--ec-progress-h);background:var(--ec-bg-sunken);border-radius:var(--ec-radius-full);overflow:hidden}.u-progress-bar{height:100%;background:var(--ec-grad-action);border-radius:var(--ec-radius-full);transition:width var(--ec-dur-slow) var(--ec-ease-out)}.u-spinner{display:inline-block;flex-shrink:0;width:var(--spinner-size-md);height:var(--spinner-size-md);border:var(--spinner-border-lg) solid var(--ec-border-default);border-top-color:var(--ec-action-primary-hover);border-radius:var(--ec-radius-full);animation:spin var(--spinner-duration) linear infinite}.u-spinner--sm{width:var(--spinner-size-sm);height:var(--spinner-size-sm);border-width:var(--spinner-border)}.u-spinner--lg{width:var(--spinner-size-lg);height:var(--spinner-size-lg)}.u-loading-block{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ec-space-3);padding:calc(var(--section-gap) * .4) var(--container-padding);font-size:var(--ec-body-size);color:var(--ec-text-tertiary)}.u-avatar{display:block;flex-shrink:0;width:var(--ec-avatar-md);height:var(--ec-avatar-md);overflow:hidden;background:var(--ec-action-primary-soft);border-radius:var(--ec-radius-full)}.u-avatar img{width:100%;height:100%;object-fit:cover}.section-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section-header{text-align:center;margin-bottom:var(--section-gap);animation:enterUp var(--enter-duration) var(--enter-ease) both}.section-title{display:flex;align-items:center;justify-content:center;gap:var(--ec-space-3);font-family:var(--ec-font-sans);font-size:var(--ec-h2-size);font-weight:var(--ec-h2-weight);line-height:var(--ec-h2-lh);letter-spacing:var(--ec-h2-track);color:var(--ec-text-primary);margin-bottom:var(--ec-space-2)}.title-icon{display:inline-flex;font-size:var(--ec-h2-size);color:var(--ec-action-primary)}.section-description{max-width:640px;margin:0 auto;font-size:var(--ec-body-size);line-height:var(--ec-body-lh);color:var(--ec-text-secondary)}.page-shell{width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--section-gap) var(--container-padding)}.page-shell--narrow{max-width:var(--container-page-narrow)}.page-shell-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ec-space-3);margin-bottom:var(--section-gap)}.page-shell-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--ec-space-6)}.page-shell-eyebrow{margin:0;font-family:var(--ec-font-mono);font-size:var(--ec-micro-size);font-weight:var(--ec-micro-weight);letter-spacing:var(--ec-micro-track);text-transform:uppercase;color:var(--ec-action-primary-hover)}.page-shell-title{margin:0;font-family:var(--ec-font-sans);font-size:var(--ec-h1-size);font-weight:var(--ec-h1-weight);line-height:var(--ec-h1-lh);letter-spacing:var(--ec-h1-track);color:var(--ec-text-primary)}.page-shell-title-link{color:inherit;transition:color var(--ec-dur-fast)}.page-shell-title-link:hover{color:var(--ec-action-primary-hover)}.page-shell-desc{max-width:640px;margin:0;font-size:var(--ec-body-size);line-height:var(--ec-body-lh);color:var(--ec-text-secondary)}.page-panel{padding:var(--ec-card-pad-lg);background:var(--ec-card-bg);border:1px solid var(--ec-card-border);border-radius:var(--ec-card-radius)}.page-panel+.page-panel{margin-top:var(--ec-space-6)}.page-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-space-4);margin:0 0 var(--ec-space-4);font-family:var(--ec-font-sans);font-size:var(--ec-h3-size);font-weight:var(--ec-h3-weight);line-height:var(--ec-h3-lh);color:var(--ec-text-primary)}.page-note{margin:0;font-size:var(--ec-caption-size);line-height:var(--ec-body-lh);color:var(--ec-text-tertiary)}.page-note--warning{padding:var(--ec-space-2) var(--ec-space-3);color:var(--ec-warning-text);background:var(--ec-warning-soft);border:1px solid var(--ec-warning-border);border-radius:var(--ec-radius-md)}.page-note--error{padding:var(--ec-space-2) var(--ec-space-3);color:var(--ec-danger-text);background:var(--ec-danger-soft);border:1px solid var(--ec-danger-border);border-radius:var(--ec-radius-md)}.page-empty{padding:var(--ec-space-12) var(--ec-space-6);text-align:center;color:var(--ec-text-tertiary)}.page-empty-title{margin:0 0 var(--ec-space-2);font-size:var(--ec-body-size);font-weight:var(--ec-h3-weight);color:var(--ec-text-primary)}.page-empty-hint{margin:0;font-size:var(--ec-caption-size);color:var(--ec-text-secondary)}.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ec-space-3)}.u-field{display:flex;flex-direction:column;gap:var(--ec-space-2)}.u-field-label{display:flex;align-items:center;gap:var(--ec-space-1);font-size:var(--ec-caption-size);font-weight:var(--ec-button-font-weight);color:var(--ec-text-secondary)}.u-field-hint{font-size:var(--ec-caption-size);line-height:var(--ec-caption-lh);color:var(--ec-text-tertiary)}.u-field-value{min-height:var(--ec-control-h-md);display:flex;align-items:center;padding-inline:var(--ec-input-px);font-family:var(--ec-font-mono);font-size:var(--ec-body-size);color:var(--ec-text-primary);background:var(--ec-bg-muted);border:1px solid var(--ec-border-subtle);border-radius:var(--ec-radius-lg);overflow-wrap:anywhere}@media (max-width: 1199px){.section-header{margin-bottom:calc(var(--section-gap) * .75)}}@media (max-width: 991px){.ui-card-media{height:calc(var(--card-image-height) * .9)}.ui-card--lg .ui-card-media{height:calc(var(--card-image-height-lg) * .9)}}@media (max-width: 767px){body{font-size:calc(var(--ec-body-size) * var(--mobile-body-scale))}.u-btn-primary,.u-btn-secondary{height:calc(var(--ec-control-h-md) * var(--mobile-control-scale));padding-inline:calc(var(--ec-control-px) * var(--mobile-padding-scale))}.u-icon-btn{width:calc(var(--ec-control-h-md) * var(--mobile-control-scale));height:calc(var(--ec-control-h-md) * var(--mobile-control-scale))}.u-input{height:calc(var(--ec-control-h-md) * var(--mobile-control-scale));padding-inline:calc(var(--ec-input-px) * var(--mobile-padding-scale))}.u-search .u-input{padding-left:calc(var(--ec-input-px) * var(--mobile-padding-scale) + var(--input-icon-size) + var(--input-icon-gap))}.u-search-icon{left:calc(var(--ec-input-px) * var(--mobile-padding-scale))}.ui-card{padding:calc(var(--ec-card-pad-md) * var(--mobile-padding-scale))}.ui-card--lg{padding:calc(var(--ec-card-pad-lg) * var(--mobile-padding-scale))}.ui-card-media,.ui-card--lg .ui-card-media{height:calc(var(--card-image-height) * var(--mobile-padding-scale))}.ec-overlay{padding:var(--ec-space-4)}.ec-dialog{max-width:none}.ec-drawer{width:100vw}.login-dialog{padding:var(--ec-space-4)}.login-dialog-close{top:var(--ec-space-4);right:var(--ec-space-4)}.ec-toast-layer{inset-block-start:auto;bottom:calc(var(--toast-offset) * .5);align-items:center;flex-direction:column-reverse}.ec-toast{width:calc(100vw - var(--toast-offset) * 2);max-width:none}.section-header{margin-bottom:calc(var(--section-gap) * var(--mobile-section-scale))}.section-title,.title-icon{font-size:calc(var(--ec-h2-size) * var(--mobile-title-scale))}.page-shell{padding:calc(var(--section-gap) * var(--mobile-section-scale)) calc(var(--container-padding) * var(--mobile-padding-scale))}.page-shell-head,.page-shell-head--row{flex-direction:column;align-items:flex-start;gap:var(--ec-space-3);margin-bottom:calc(var(--section-gap) * var(--mobile-section-scale))}.page-shell-title{font-size:calc(var(--ec-h1-size) * var(--mobile-title-scale))}.page-shell-desc{font-size:calc(var(--ec-body-size) * var(--mobile-body-scale))}.page-panel{padding:calc(var(--ec-card-pad-lg) * var(--mobile-padding-scale))}.page-panel-head{font-size:calc(var(--ec-h3-size) * var(--mobile-title-scale))}.page-empty{padding:calc(var(--ec-space-12) * var(--mobile-padding-scale)) calc(var(--ec-space-6) * var(--mobile-padding-scale))}.page-actions{flex-direction:column;align-items:stretch}.u-field-value{min-height:calc(var(--ec-control-h-md) * var(--mobile-control-scale));padding-inline:calc(var(--ec-input-px) * var(--mobile-padding-scale))}.u-icon-btn,.ec-icon-btn,.u-btn-primary,.u-btn-secondary,.navbar-logo,.user-avatar-btn,.legal-toc-link,.legal-switch-link,.link-btn,.category-back,.history-filter-btn,.contact-link,.footer-bottom-links a,.copyright a{position:relative}.u-icon-btn:after,.u-btn-primary:after,.u-btn-secondary:after,.navbar-logo:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.legal-toc-link:after,.legal-switch-link:after,.link-btn:after,.category-back:after,.history-filter-btn:after,.contact-link:after,.footer-bottom-links a:after,.copyright a:after{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px}.ec-icon-btn:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.navbar .u-icon-btn:after,.navbar .navbar-cart:after,.navbar .u-icon-btn.menu-toggle:after{top:-6px;right:-6px;bottom:-6px;left:-6px}.navbar .user-avatar-btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;z-index:1}}@media (max-width: 575px){.ec-drawer__foot{flex-direction:column}.ec-drawer__foot>*{width:100%}}.u-select{position:relative;width:100%}.u-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit));width:100%;height:var(--input-height);padding:var(--input-padding-y) var(--input-padding-x);font-family:var(--font-body);font-size:var(--input-font-size);color:var(--text-primary);text-align:left;background:var(--bg-surface-2);border:var(--stroke-width) solid var(--stroke-color);border-radius:var(--radius-input);transition:border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive),opacity var(--transition-interactive)}.u-select-trigger:hover:not(:disabled){border-color:var(--input-focus-border)}.u-select-trigger:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--focus-ring);outline:none}.u-select-trigger:active:not(:disabled){transform:scale(var(--active-scale))}.u-select-trigger:disabled{color:var(--disabled-text);cursor:not-allowed;opacity:var(--state-disabled-opacity)}.u-select-arrow{flex-shrink:0;width:var(--select-arrow-size);height:var(--select-arrow-size);background:var(--select-arrow-color);transition:transform var(--transition-interactive);-webkit-mask:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");mask:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}.u-select-trigger[aria-expanded=true] .u-select-arrow{transform:rotate(180deg)}.u-select-trigger:disabled .u-select-arrow{background:var(--disabled-text)}.u-select-panel{position:absolute;top:calc(100% + var(--dropdown-offset));left:0;z-index:var(--z-dropdown);display:flex;flex-direction:column;box-sizing:border-box;width:100%;min-width:var(--dropdown-width);padding:var(--dropdown-padding-y) 0;background:var(--bg-elevated);border:var(--stroke-width) solid var(--border);border-radius:var(--dropdown-radius);box-shadow:var(--shadow-float)}.u-select-panel--up{top:auto;bottom:calc(100% + var(--dropdown-offset))}.u-select.is-open,.datepicker-field.is-open,.ui-card:has(.u-select.is-open),.ui-card:has(.datepicker-field.is-open){position:relative;z-index:var(--z-dropdown)}.u-select-list{max-height:var(--dropdown-max-height);overflow-y:auto}.u-select-item{display:flex;align-items:center;gap:calc(var(--space-unit));width:100%;height:var(--dropdown-item-height);padding:0 var(--dropdown-item-padding-x);font-family:var(--font-body);font-size:var(--dropdown-item-font-size);color:var(--text-secondary);text-align:left;background:transparent;border:0;border-left:var(--dropdown-active-bar) solid transparent;cursor:pointer;transition:background-color var(--transition-interactive),border-color var(--transition-interactive),color var(--transition-interactive)}.u-select-item:hover:not(:disabled){background:var(--dropdown-item-hover-bg);color:var(--text-primary)}.u-select-item--active{color:var(--dropdown-item-active-color);background:var(--dropdown-item-active-bg);border-left-color:var(--accent)}.u-select-item--active:after{content:"";flex-shrink:0;width:var(--dropdown-check-size);height:var(--dropdown-check-size);margin-left:auto;background:var(--dropdown-check-color);clip-path:polygon(14% 44%,0 65%,38% 100%,100% 16%,82% 2%,36% 62%)}.u-select-item:disabled{color:var(--dropdown-item-disabled-color);cursor:not-allowed}.u-select-item:disabled:hover{background:transparent}.u-select-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.u-select-group{display:flex;align-items:center;height:var(--dropdown-group-height);margin-top:var(--dropdown-group-gap);padding:0 var(--dropdown-item-padding-x);font-size:var(--dropdown-group-font-size);font-weight:var(--dropdown-group-weight);color:var(--dropdown-group-color)}.u-select-group:first-child{margin-top:0}.u-select-search{display:flex;margin-bottom:var(--dropdown-search-gap);padding:0 var(--dropdown-item-padding-x)}.u-select-hit{padding:0;color:inherit;background:var(--dropdown-hit-bg);border-radius:var(--radius-input)}.u-select-empty{margin:0;padding:var(--dropdown-empty-padding) var(--dropdown-item-padding-x);font-size:var(--dropdown-empty-font-size);color:var(--text-muted);text-align:center}.u-checkbox{display:flex;align-items:center;gap:var(--checkbox-label-gap);min-height:var(--checkbox-row-min-height);font-size:var(--checkbox-label-size);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.u-checkbox input{position:absolute;width:var(--stroke-width);height:var(--stroke-width);opacity:0;pointer-events:none}.u-checkbox-box{position:relative;display:block;flex-shrink:0;box-sizing:border-box;width:var(--checkbox-size);height:var(--checkbox-size);background:var(--bg-surface);border:var(--stroke-width) solid var(--stroke-color);border-radius:var(--checkbox-radius);transition:background-color var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}.u-checkbox:hover .u-checkbox-box{border-color:var(--checkbox-hover-border)}.u-checkbox-box:after{content:"";position:absolute;top:50%;left:50%;width:var(--checkbox-icon-size);height:var(--checkbox-icon-size);background:var(--text-on-accent);clip-path:polygon(14% 44%,0 65%,38% 100%,100% 16%,82% 2%,36% 62%);opacity:0;transform:translate(-50%,-50%);transition:opacity var(--transition-interactive)}.u-checkbox input:checked+.u-checkbox-box{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-bg)}.u-checkbox input:checked+.u-checkbox-box:after{opacity:1}.u-checkbox input:indeterminate+.u-checkbox-box{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-bg)}.u-checkbox input:indeterminate+.u-checkbox-box:after{width:var(--checkbox-indeterminate-width);height:calc(var(--stroke-width) * .5);z-index:1;background:var(--text-on-accent);clip-path:none;opacity:1}.u-checkbox input:focus-visible+.u-checkbox-box{box-shadow:var(--focus-ring);outline:var(--stroke-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}.u-checkbox input:disabled+.u-checkbox-box{opacity:var(--state-disabled-opacity)}.u-checkbox:has(input:disabled){color:var(--disabled-text);cursor:not-allowed}.u-switch{display:flex;align-items:center;gap:var(--switch-label-gap);min-height:var(--checkbox-row-min-height);font-size:var(--checkbox-label-size);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.u-switch-track{position:relative;flex-shrink:0;box-sizing:border-box;width:var(--switch-track-w);height:var(--switch-track-h);background:var(--switch-off-bg);border-radius:var(--switch-track-radius);transition:background-color var(--switch-transition),transform var(--switch-transition)}.u-switch-thumb{position:absolute;top:50%;left:var(--switch-thumb-inset);box-sizing:border-box;width:var(--switch-thumb-size);height:var(--switch-thumb-size);background:var(--text-on-accent);border-radius:var(--switch-thumb-radius);transform:translateY(-50%);transition:left var(--switch-transition)}.u-switch:hover .u-switch-track{background:var(--border)}.u-switch:active .u-switch-track{transform:scale(var(--active-scale))}.u-switch[aria-checked=true] .u-switch-track{background:var(--switch-on-bg)}.u-switch[aria-checked=true] .u-switch-thumb{left:calc(100% - var(--switch-thumb-size) - var(--switch-thumb-inset))}.u-switch[aria-checked=true]:hover .u-switch-track{background:var(--switch-on-bg)}.u-switch:focus-visible{border-radius:var(--switch-track-radius);box-shadow:var(--focus-ring);outline:none}.u-switch input{position:absolute;width:var(--stroke-width);height:var(--stroke-width);opacity:0;pointer-events:none}.u-switch input:focus-visible~.u-switch-track{box-shadow:var(--focus-ring)}.u-switch[aria-disabled=true],.u-switch:has(input:disabled){color:var(--disabled-text);cursor:not-allowed}.u-switch[aria-disabled=true] .u-switch-track,.u-switch:has(input:disabled) .u-switch-track{opacity:var(--state-disabled-opacity)}.u-switch[aria-disabled=true]:active .u-switch-track,.u-switch:has(input:disabled):active .u-switch-track{transform:none}.u-switch-label{font-size:var(--checkbox-label-size);line-height:var(--leading-body)}@media (max-width: 1199px){.u-select-list{max-height:calc(var(--dropdown-max-height) * .8)}}@media (max-width: 991px){.u-checkbox,.u-switch{font-size:calc(var(--checkbox-label-size) * var(--mobile-body-scale))}.u-select-item{font-size:calc(var(--dropdown-item-font-size) * var(--mobile-body-scale))}}@media (max-width: 767px){.u-select-trigger{height:calc(var(--input-height) * var(--mobile-control-scale));padding:calc(var(--input-padding-y) * var(--mobile-padding-scale)) calc(var(--input-padding-x) * var(--mobile-padding-scale))}.u-select-arrow{width:calc(var(--select-arrow-size) * var(--mobile-control-scale));height:calc(var(--select-arrow-size) * var(--mobile-control-scale))}.u-select-item,.u-select-group,.u-select-search,.u-select-empty{padding-right:calc(var(--dropdown-item-padding-x) * var(--mobile-padding-scale));padding-left:calc(var(--dropdown-item-padding-x) * var(--mobile-padding-scale))}.u-checkbox-box{width:calc(var(--checkbox-size) * var(--mobile-control-scale));height:calc(var(--checkbox-size) * var(--mobile-control-scale))}.u-checkbox-box:after{width:calc(var(--checkbox-icon-size) * var(--mobile-control-scale));height:calc(var(--checkbox-icon-size) * var(--mobile-control-scale))}.u-switch-track{width:calc(var(--switch-track-w) * var(--mobile-control-scale));height:calc(var(--switch-track-h) * var(--mobile-control-scale))}.u-switch-thumb{width:calc(var(--switch-thumb-size) * var(--mobile-control-scale));height:calc(var(--switch-thumb-size) * var(--mobile-control-scale))}.u-select-group{font-size:calc(var(--dropdown-group-font-size) * var(--mobile-title-scale))}}@media (max-width: 575px){.u-select-empty{padding-top:calc(var(--dropdown-empty-padding) * var(--mobile-padding-scale));padding-bottom:calc(var(--dropdown-empty-padding) * var(--mobile-padding-scale))}.u-select-panel{min-width:0}}.u-tabs{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--tab-gap);border-bottom:var(--stroke-width) solid var(--divider)}.u-tab{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:calc(var(--space-unit) * .75);height:var(--tab-height);padding:var(--tab-padding-y) var(--tab-padding-x);font-size:var(--tab-font-size);font-weight:var(--tab-font-weight);line-height:1;color:var(--tab-color);white-space:nowrap;cursor:pointer;background:none;border-radius:var(--radius-pill);transition:background-color var(--transition-interactive),color var(--transition-interactive),transform var(--transition-interactive)}.u-tab:hover{color:var(--tab-active-color);background:var(--divider)}.u-tab:active{transform:scale(var(--active-scale))}.u-tab:focus-visible{outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring)}.u-tab--active,.u-tab[aria-selected=true]{color:var(--tab-active-color)}.u-tab--active:after,.u-tab[aria-selected=true]:after{content:"";position:absolute;right:var(--tab-padding-x);bottom:0;left:var(--tab-padding-x);height:var(--tab-indicator-height);background:var(--tab-indicator-color);border-radius:var(--radius-pill);pointer-events:none}.u-tab:disabled,.u-tab[aria-disabled=true]{opacity:var(--state-disabled-opacity);cursor:not-allowed;transform:none}.u-tab:disabled:hover,.u-tab[aria-disabled=true]:hover{color:var(--tab-color);background:none}.u-tabs--pill{padding:calc(var(--space-unit) * .5);background:var(--bg-surface);border-bottom:none;border-radius:var(--radius-pill)}.u-tabs--pill .u-tab--active,.u-tabs--pill .u-tab[aria-selected=true],.u-tabs--pill .u-tab--active:hover,.u-tabs--pill .u-tab[aria-selected=true]:hover{color:var(--text-on-accent);background:var(--accent)}.u-tabs--pill .u-tab--active:after,.u-tabs--pill .u-tab[aria-selected=true]:after{display:none}.u-tabs-content{margin-top:var(--tab-content-gap)}@media (max-width: 1199px){.u-tabs{gap:calc(var(--tab-gap) * .75)}}@media (max-width: 767px){.theme-switch{padding:1px}.theme-switch__btn{position:relative;width:calc(var(--ec-control-h-sm) * var(--mobile-control-scale));height:calc(var(--ec-control-h-sm) * var(--mobile-control-scale))}.theme-switch__btn:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.u-tabs{gap:calc(var(--tab-gap) * var(--mobile-padding-scale))}.u-tab{height:calc(var(--tab-height) * var(--mobile-control-scale));padding:calc(var(--tab-padding-y) * var(--mobile-padding-scale)) calc(var(--tab-padding-x) * var(--mobile-padding-scale));font-size:calc(var(--tab-font-size) * var(--mobile-body-scale))}.u-tab--active:after,.u-tab[aria-selected=true]:after{right:calc(var(--tab-padding-x) * var(--mobile-padding-scale));left:calc(var(--tab-padding-x) * var(--mobile-padding-scale))}.u-tabs-content{margin-top:calc(var(--tab-content-gap) * var(--mobile-padding-scale))}}@media (max-width: 575px){.u-tabs--pill{padding:calc(var(--space-unit) * .25)}}.theme-switch{display:flex;flex:none;gap:2px;padding:2px;background:var(--ec-bg-sunken);border-radius:var(--ec-radius-md)}.theme-switch__btn{display:grid;place-content:center;width:var(--ec-control-h-sm);height:var(--ec-control-h-sm);font-size:14px;line-height:1;color:var(--ec-text-tertiary);background:transparent;border:1px solid transparent;border-radius:var(--ec-radius-sm);transition:background-color var(--ec-dur-fast) var(--ec-ease-out),color var(--ec-dur-fast) var(--ec-ease-out),box-shadow var(--ec-dur-fast) var(--ec-ease-out)}.theme-switch__btn:hover{color:var(--ec-text-primary)}.theme-switch__btn:focus-visible{outline:none;box-shadow:var(--ec-ring)}.theme-switch__btn[aria-pressed=true]{color:var(--ec-text-primary);background:var(--ec-bg-surface);box-shadow:var(--ec-shadow-sm)}.u-table-wrap{width:100%;overflow-x:auto}.u-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size);color:var(--text-primary);background:var(--bg-surface-2);text-align:left}.u-table th{height:var(--table-head-height);padding:var(--table-cell-padding-y) var(--table-cell-padding-x);font-size:var(--table-head-font-size);font-weight:var(--table-head-weight);letter-spacing:var(--tracking-label);text-transform:var(--table-head-transform);color:var(--text-secondary);background:var(--bg-surface);border-bottom:var(--table-border-width) solid var(--table-border-color);text-align:inherit;vertical-align:middle;white-space:nowrap}.u-table tbody tr{height:var(--table-row-height);transition:background-color var(--transition-interactive)}.u-table tbody td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);color:var(--text-primary);border-bottom:var(--table-border-width) solid var(--table-border-color);vertical-align:middle}.u-table--zebra tbody tr:nth-child(2n){background:var(--table-zebra-bg)}.u-table tbody tr:hover{background:var(--table-row-hover-bg)}.u-table--zebra tbody tr:nth-child(2n):hover{background:var(--table-row-hover-bg)}.u-table tbody tr[aria-selected=true],.u-table tbody tr[aria-selected=true]:hover{background:var(--bg-soft)}.u-table .u-table-col-action{width:var(--table-action-col-width);text-align:right;white-space:nowrap}.u-datepicker{width:var(--datepicker-width);min-width:min(calc(7 * var(--datepicker-cell-size) + var(--datepicker-padding) * 2 + var(--stroke-width) * 2),100%);max-width:100%;padding:var(--datepicker-padding);font-size:var(--datepicker-font-size);color:var(--text-primary);background:var(--bg-elevated);border:var(--stroke-width) solid var(--stroke-color);border-radius:var(--datepicker-radius);box-shadow:var(--shadow-float);-webkit-user-select:none;user-select:none}.u-datepicker-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * .5);margin-bottom:calc(var(--space-unit) * 1)}.u-datepicker-nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--datepicker-nav-size);height:var(--datepicker-nav-size);font-size:var(--datepicker-nav-size);line-height:1;color:var(--text-muted);border-radius:var(--datepicker-cell-radius);cursor:pointer;transition:color var(--transition-interactive),background-color var(--transition-interactive),transform var(--transition-interactive)}.u-datepicker:not([aria-readonly=true]) .u-datepicker-nav:hover:not(:disabled){color:var(--accent);background:var(--bg-soft)}.u-datepicker-nav:focus-visible{box-shadow:var(--focus-ring);outline:none}.u-datepicker:not([aria-readonly=true]) .u-datepicker-nav:active:not(:disabled){transform:scale(var(--active-scale))}.u-datepicker-nav:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed}.u-datepicker-title{flex:1;min-width:0;font-size:var(--datepicker-title-size);font-weight:var(--fw-heading);color:var(--text-primary);text-align:center;font-variant-numeric:tabular-nums}.u-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;height:var(--datepicker-weekday-height)}.u-datepicker-weekday{font-size:var(--datepicker-weekday-size);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);color:var(--text-muted);text-align:center}.u-datepicker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.u-datepicker-cell{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:100%;max-width:var(--datepicker-cell-size);aspect-ratio:1;padding:0;font-size:var(--datepicker-font-size);color:var(--text-primary);background:none;border-radius:var(--datepicker-cell-radius);cursor:pointer;transition:color var(--transition-interactive),background-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive)}.u-datepicker:not([aria-readonly=true]) .u-datepicker-cell:not(.u-datepicker-cell--selected):hover:not(:disabled){color:var(--accent);background:var(--bg-soft)}.u-datepicker-cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.u-datepicker-cell--today:focus-visible{box-shadow:var(--focus-ring),var(--datepicker-today-marker)}.u-datepicker:not([aria-readonly=true]) .u-datepicker-cell:active:not(:disabled){transform:scale(var(--active-scale))}.u-datepicker-cell:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed}.u-datepicker-cell--today{color:var(--datepicker-today-color);box-shadow:var(--datepicker-today-marker);font-weight:var(--fw-heading)}.u-datepicker-cell--outside{color:var(--text-muted);opacity:var(--datepicker-other-opacity)}.u-datepicker-cell--selected{color:var(--text-on-accent);background:var(--datepicker-selected-bg);font-weight:var(--fw-heading)}.u-datepicker-cell--selected:hover:not(:disabled){color:var(--text-on-accent);background:var(--datepicker-selected-bg)}.u-datepicker[aria-readonly=true] .u-datepicker-nav,.u-datepicker[aria-readonly=true] .u-datepicker-cell{cursor:default}@media (max-width: 767px){.u-table{font-size:calc(var(--table-font-size) * var(--mobile-body-scale))}.u-table th{height:calc(var(--table-head-height) * var(--mobile-control-scale));font-size:calc(var(--table-head-font-size) * var(--mobile-body-scale))}.u-table tbody tr{height:calc(var(--table-row-height) * var(--mobile-control-scale))}.u-table th,.u-table tbody td{padding:calc(var(--table-cell-padding-y) * var(--mobile-padding-scale)) calc(var(--table-cell-padding-x) * var(--mobile-padding-scale))}.u-datepicker{padding:calc(var(--datepicker-padding) * var(--mobile-padding-scale))}.u-datepicker-title{font-size:calc(var(--datepicker-title-size) * var(--mobile-body-scale))}.u-datepicker-nav{width:calc(var(--datepicker-nav-size) * var(--mobile-control-scale));height:calc(var(--datepicker-nav-size) * var(--mobile-control-scale));font-size:calc(var(--datepicker-nav-size) * var(--mobile-control-scale))}.u-datepicker-weekdays{height:calc(var(--datepicker-weekday-height) * var(--mobile-control-scale))}.u-datepicker-weekday{font-size:calc(var(--datepicker-weekday-size) * var(--mobile-body-scale))}.u-datepicker-cell{max-width:calc(var(--datepicker-cell-size) * var(--mobile-control-scale))}}@media (max-width: 575px){.u-table .u-table-col-action{width:calc(var(--table-action-col-width) * var(--mobile-padding-scale))}}.u-skeleton{position:relative;overflow:hidden;background-color:var(--skeleton-bg);background-image:linear-gradient(90deg,transparent,var(--skeleton-highlight),transparent);background-repeat:no-repeat;background-size:200% 100%;background-position:-100% 0;border-radius:var(--radius-card);animation:var(--skeleton-animation-name) var(--skeleton-duration) var(--skeleton-easing) infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes skeleton-pulse{0%,to{background-color:var(--skeleton-bg)}50%{background-color:var(--skeleton-highlight)}}.u-skeleton--avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-pill)}.u-skeleton--card{display:flex;flex-direction:column;gap:var(--skeleton-line-gap);background:none;animation:none}.u-empty{display:flex;flex-direction:column;align-items:center;padding:var(--empty-padding-top) var(--container-padding) calc(var(--empty-padding-top) * .5);text-align:center}.u-empty-icon{--empty-icon-size: 40px;display:flex;align-items:center;justify-content:center;width:var(--empty-icon-size);height:var(--empty-icon-size);font-size:var(--empty-icon-size);line-height:1;margin-bottom:calc(var(--space-unit) * 2);color:var(--empty-icon-color)}.u-empty-title{margin-bottom:var(--space-unit);font-size:var(--empty-title-size);font-weight:var(--empty-title-weight);color:var(--text-primary)}.u-empty-desc{font-size:var(--empty-desc-size);color:var(--empty-desc-color)}.u-empty-actions{display:flex;align-items:center;justify-content:center;gap:calc(var(--space-unit) * 1.5);margin-top:var(--empty-btn-gap)}.u-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--badge-min-width);height:var(--badge-height);padding:0 var(--badge-padding-x);font-family:var(--font-mono);font-size:var(--badge-font-size);font-variant-numeric:tabular-nums;line-height:1;color:var(--badge-color);background-color:var(--badge-bg);border-radius:var(--badge-radius);white-space:nowrap}.u-badge--ring{box-shadow:0 0 0 var(--badge-ring-width) var(--badge-ring-color, var(--bg-surface))}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:var(--scrollbar-padding) solid transparent;border-radius:var(--scrollbar-thumb-radius);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@keyframes loading-spin{to{transform:rotate(360deg)}}.u-field-error{margin-top:var(--field-error-gap);font-size:var(--field-error-size);color:var(--danger)}.u-field .u-field-error{margin-top:0}@media (max-width: 767px){.u-empty{padding-top:calc(var(--empty-padding-top) * var(--mobile-section-scale))}}.u-mm-section{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5);min-width:0}.u-mm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.u-mm-section-head-main{min-width:0}.u-mm-section-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-heading);line-height:var(--leading-title);letter-spacing:var(--tracking-display);text-transform:var(--heading-transform);color:var(--text-primary)}.u-mm-section-desc{margin-top:calc(var(--space-unit) * .5);font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-section-body{min-width:0}.u-mm-state{display:flex;flex-direction:column;align-items:center;padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 2);text-align:center}.u-mm-state-icon{margin-bottom:calc(var(--space-unit) * 1.5);color:var(--empty-icon-color)}.u-mm-state--error .u-mm-state-icon{color:var(--danger)}.u-mm-state--locked .u-mm-state-icon{color:var(--accent)}.u-mm-state-title{font-size:var(--fs-h3);font-weight:var(--fw-heading);line-height:var(--leading-title);color:var(--text-primary)}.u-mm-state-desc{margin-top:calc(var(--space-unit) * .75);max-width:34ch;font-size:var(--fs-body);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-state-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:calc(var(--space-unit) * 1.5);margin-top:calc(var(--space-unit) * 2)}.u-mm-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-unit) * 1.5);padding-top:calc(var(--space-unit) * 1.5);border-top:var(--stroke-width) solid var(--divider)}.u-mm-pager-info{font-family:var(--font-mono);font-size:var(--fs-label);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-label);color:var(--text-muted)}.u-mm-pager-btns{display:flex;align-items:center;gap:calc(var(--space-unit) * 1)}.u-mm-identity{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-unit) * 2);padding:var(--card-padding-lg);background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.u-mm-identity-main{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--space-unit) * .75);min-width:0}.u-mm-identity-name{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:var(--fw-heading);line-height:var(--leading-title);letter-spacing:var(--tracking-display);color:var(--text-primary)}.u-mm-identity-expiry{font-size:var(--fs-sm);color:var(--text-muted)}.u-mm-identity-expiry--warning{color:var(--warning);font-weight:var(--fw-label)}.u-mm-identity-actions{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap;flex-shrink:0}.u-mm-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.u-mm-asset{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .75);padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);transition:transform var(--transition-surface),border-color var(--transition-surface),box-shadow var(--transition-surface)}.u-mm-asset:hover{transform:var(--card-hover-transform);border-color:var(--card-hover-border);box-shadow:var(--shadow-card-hover)}.u-mm-asset:focus-visible{box-shadow:var(--focus-ring);outline:var(--stroke-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}.u-mm-asset-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);color:var(--text-muted)}.u-mm-asset-value{display:flex;align-items:baseline;gap:calc(var(--space-unit) * .5);font-family:var(--font-price);font-size:var(--fs-h1);font-weight:var(--fw-price);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text-primary)}.u-mm-asset-unit{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--fw-body);font-style:normal;color:var(--text-muted)}.u-mm-asset-hint{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-asset--empty .u-mm-asset-value{color:var(--text-muted)}.u-mm-growth{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1)}.u-mm-growth-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-unit) * 1)}.u-mm-growth-num{font-family:var(--font-mono);font-size:var(--fs-h3);font-weight:var(--fw-heading);font-variant-numeric:tabular-nums;color:var(--text-primary)}.u-mm-growth-hint{font-size:var(--fs-label);color:var(--text-muted)}.u-mm-growth-track{position:relative;height:var(--progress-height);background:var(--progress-track);border-radius:var(--progress-radius);overflow:hidden}.u-mm-growth-fill{height:100%;background:var(--accent);border-radius:var(--progress-radius);transition:width var(--transition-progress)}.u-mm-benefit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-unit) * 22),1fr));gap:var(--grid-gap)}.u-mm-benefit{display:flex;flex-direction:column;gap:0;padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-benefit-icon{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;margin-bottom:calc(var(--space-unit) * 1.5);color:var(--accent)}.u-mm-benefit-name{margin-bottom:calc(var(--space-unit) * .25);font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-benefit-value{font-family:var(--font-price);font-size:var(--fs-h3);font-weight:var(--fw-price);font-variant-numeric:tabular-nums;line-height:1.2;color:var(--text-primary)}.u-mm-benefit-next{margin-top:0;padding-top:calc(var(--space-unit) * 1.25);font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-benefit-next-em{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.u-mm-benefit--locked{background:var(--bg-soft)}.u-mm-benefit--locked .u-mm-benefit-icon,.u-mm-benefit--locked .u-mm-benefit-value{color:var(--text-muted)}.u-mm-ladder{min-width:0}.u-mm-ladder-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.u-mm-ladder th.u-mm-ladder-num,.u-mm-matrix-table th.u-mm-ladder-num{text-align:right}.u-mm-ladder tr.is-current{box-shadow:inset calc(var(--space-unit) * .5) 0 0 0 var(--accent)}.u-mm-ladder tr.is-current td{font-weight:var(--fw-heading);color:var(--text-primary)}.u-mm-matrix-table{min-width:calc(var(--space-unit) * 68)}.u-mm-matrix-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.u-mm-matrix-table th.u-mm-matrix-cell{text-align:center}.u-mm-matrix-table col.is-current{background:var(--accent-soft)}.u-mm-matrix-table th.is-current{color:var(--accent)}.u-mm-matrix-cards{display:none;flex-direction:column;gap:var(--grid-gap)}.u-mm-matrix-card{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1);padding:var(--card-padding);background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-matrix-card.is-current{border-color:var(--accent)}.u-mm-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-unit) * 26),1fr));gap:var(--grid-gap)}.u-mm-plan{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.25);padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.u-mm-plan.is-current{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.u-mm-plan-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 1);flex-wrap:wrap}.u-mm-plan-duration{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-plan-price{display:flex;align-items:baseline;gap:calc(var(--space-unit) * .25);font-family:var(--font-price);font-size:var(--fs-h1);font-weight:var(--fw-price);line-height:1.1;color:var(--price-color)}.u-mm-plan-perday{font-size:var(--fs-label);color:var(--text-muted)}.u-mm-plan-facts{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);padding-top:calc(var(--space-unit) * .5);border-top:var(--stroke-width) solid var(--divider);font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-secondary)}.u-mm-plan-cta{margin-top:auto}.u-mm-coupon{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--grid-gap);padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-coupon-amount{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--space-unit) * .25);padding-right:var(--grid-gap);border-right:var(--stroke-width) dashed var(--divider);font-family:var(--font-price);font-size:var(--fs-h2);font-weight:var(--fw-price);line-height:1.1;color:var(--price-color)}.u-mm-coupon-threshold{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--fw-body);color:var(--text-muted)}.u-mm-coupon-body{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);min-width:0}.u-mm-coupon-name{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-coupon-scope,.u-mm-coupon-meta{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-coupon-flag{align-self:flex-start;margin-top:calc(var(--space-unit) * .25)}.u-mm-coupon.is-used,.u-mm-coupon.is-expired{opacity:var(--state-disabled-opacity)}.u-mm-coupon.is-expiring .u-mm-coupon-meta{color:var(--warning);font-weight:var(--fw-label)}.u-mm-checkin-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:calc(var(--space-unit) * .75)}.u-mm-checkin-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--space-unit) * .25);aspect-ratio:1;padding:calc(var(--space-unit) * .5);font-size:var(--datepicker-font-size);color:var(--text-muted);background:var(--bg-soft);border:var(--stroke-width) solid transparent;border-radius:var(--datepicker-cell-radius)}.u-mm-checkin-cell--checked{color:var(--text-on-accent);background:var(--accent)}.u-mm-checkin-cell--today{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);font-weight:var(--fw-label)}.u-mm-checkin-cell--future{opacity:var(--state-disabled-opacity)}.u-mm-checkin-cell--makeup{border-style:dashed;border-color:var(--divider)}.u-mm-balance{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5)}.u-mm-balance-num{display:flex;align-items:baseline;gap:calc(var(--space-unit) * .5);font-family:var(--font-price);font-size:var(--fs-display);font-weight:var(--fw-price);font-variant-numeric:tabular-nums;line-height:1.05;color:var(--text-primary)}.u-mm-balance-unit{font-family:var(--font-body);font-size:var(--fs-h3);font-weight:var(--fw-body);font-style:normal;color:var(--text-muted)}.u-mm-balance-desc{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-ledger{display:flex;flex-direction:column}.u-mm-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--grid-gap);padding:calc(var(--space-unit) * 1.5) 0;border-bottom:var(--stroke-width) solid var(--divider)}.u-mm-ledger-row:last-child{border-bottom:0}.u-mm-ledger-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .25);min-width:0}.u-mm-ledger-type{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-ledger-sub{display:flex;align-items:center;gap:calc(var(--space-unit) * .75);font-size:var(--fs-label);color:var(--text-muted)}.u-mm-ledger-ref{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.u-mm-ledger-right{display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--space-unit) * .25);flex-shrink:0}.u-mm-ledger-delta{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:var(--fw-heading);font-variant-numeric:tabular-nums}.u-mm-ledger-delta--earn{color:var(--success)}.u-mm-ledger-delta--spend{color:var(--danger)}.u-mm-ledger-balance{font-family:var(--font-mono);font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--text-muted)}.u-mm-task-list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.u-mm-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--grid-gap);padding:var(--card-padding);background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-task-icon{display:flex;align-items:center;justify-content:center;color:var(--accent)}.u-mm-task-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);min-width:0}.u-mm-task-name{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-task-period,.u-mm-task-desc{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-task-bar{position:relative;height:var(--progress-height);background:var(--progress-track);border-radius:var(--progress-radius);overflow:hidden}.u-mm-task-bar-fill{height:100%;background:var(--accent);border-radius:var(--progress-radius);transition:width var(--transition-progress)}.u-mm-task-reward{font-family:var(--font-mono);font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--text-muted)}.u-mm-task-action{flex-shrink:0}.u-mm-task--done{opacity:var(--state-disabled-opacity)}.u-mm-mall-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-unit) * 40),1fr));gap:var(--grid-gap)}.u-mm-mall{display:flex;align-items:center;column-gap:var(--grid-gap);padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-mall-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1);min-width:0;flex:1 1 auto;align-self:stretch}.u-mm-mall-head{display:flex;align-items:center;gap:calc(var(--space-unit) * 1)}.u-mm-mall-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.u-mm-mall-name{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-mall-desc{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-mall>button{flex:none;align-self:center}.u-mm-mall-cost{display:flex;align-items:baseline;margin-top:auto;flex-shrink:0;gap:calc(var(--space-unit) * .25);font-family:var(--font-price);font-size:var(--fs-h3);font-weight:var(--fw-price);font-variant-numeric:tabular-nums;line-height:1.2;color:var(--price-color)}.u-mm-mall-cost-unit{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--fw-body);font-style:normal;white-space:nowrap;color:var(--text-muted)}.u-mm-mall-hint{font-size:var(--fs-label);color:var(--text-muted)}.u-mm-mall-hint--warn{color:var(--warning)}.u-mm-todo-list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1)}.u-mm-todo{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);padding:calc(var(--space-unit) * 1.25) var(--card-padding);background:var(--bg-soft);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);transition:border-color var(--transition-surface)}.u-mm-todo:hover{border-color:var(--accent)}.u-mm-todo-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--warning)}.u-mm-todo-text{flex:1;min-width:0;font-size:var(--fs-body);color:var(--text-primary)}.u-mm-todo-link{flex-shrink:0;font-size:var(--fs-label);font-weight:var(--fw-label);color:var(--accent)}.u-mm-mail-list{display:flex;flex-direction:column;gap:var(--grid-gap)}.u-mm-mail-item{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .75);padding:var(--card-padding);min-width:0;background:var(--bg-surface);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);box-shadow:inset calc(var(--space-unit) * .5) 0 0 0 transparent;transition:box-shadow var(--transition-surface)}.u-mm-mail-item--unread{box-shadow:inset calc(var(--space-unit) * .5) 0 0 0 var(--accent)}.u-mm-mail-head{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);flex-wrap:wrap}.u-mm-mail-type{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .5);font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);color:var(--text-muted)}.u-mm-mail-time{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--text-muted)}.u-mm-mail-dot{width:var(--badge-dot-size);height:var(--badge-dot-size);flex-shrink:0;background:var(--accent);border-radius:var(--radius-pill)}.u-mm-mail-title{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--leading-body);color:var(--text-primary)}.u-mm-mail-item--unread .u-mm-mail-title{font-weight:var(--fw-heading)}.u-mm-mail-body{font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-secondary)}.u-mm-mail-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--grid-gap);flex-wrap:wrap}.u-mm-mail-link{font-size:var(--fs-label);font-weight:var(--fw-label);color:var(--accent)}.u-mm-pref-list{display:flex;flex-direction:column}.u-mm-pref{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--grid-gap);padding:calc(var(--space-unit) * 1.5) 0;border-bottom:var(--stroke-width) solid var(--divider)}.u-mm-pref:last-child{border-bottom:0}.u-mm-pref-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .25);min-width:0}.u-mm-pref-name{font-size:var(--fs-body);font-weight:var(--fw-label);color:var(--text-primary)}.u-mm-pref-desc{font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-mm-account{display:flex;align-items:center;justify-content:space-between;gap:var(--grid-gap);flex-wrap:wrap;padding:var(--card-padding);background:var(--bg-soft);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-account-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .25);min-width:0}.u-mm-account-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);color:var(--text-muted)}.u-mm-account-value{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-mm-account-value--missing{font-family:var(--font-body);color:var(--text-muted)}.u-mm-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.u-mm-stat{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .25);padding:var(--card-padding);min-width:0;background:var(--bg-soft);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card)}.u-mm-stat-num{font-family:var(--font-price);font-size:var(--fs-h1);font-weight:var(--fw-price);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text-primary)}.u-mm-stat--success .u-mm-stat-num{color:var(--success)}.u-mm-stat--danger .u-mm-stat-num{color:var(--danger)}.u-mm-stat-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);color:var(--text-muted)}.u-mm-log-name{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-secondary)}.u-mm-log-attempts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.u-mm-log-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-muted)}@media (max-width: 991px){.u-mm-asset-grid,.u-mm-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.u-mm-benefit-grid{grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-unit) * 18),1fr))}}@media (max-width: 767px){.u-mm-matrix{display:none}.u-mm-matrix-cards{display:flex}.u-mm-identity{padding:var(--card-padding)}.u-mm-identity-actions{width:100%}.u-mm-identity-actions>*{flex:1}.u-mm-task{grid-template-columns:auto minmax(0,1fr)}.u-mm-task-action{grid-column:1 / -1}.u-mm-task-action>*{width:100%}.u-mm-plan-grid,.u-mm-mall-list{grid-template-columns:minmax(0,1fr)}.u-mm-checkin-grid{gap:calc(var(--space-unit) * .5)}.u-mm-pager{justify-content:center}.u-mm-pager-btns{width:100%}.u-mm-pager-btns>*{flex:1}}@media (max-width: 575px){.u-mm-asset-grid,.u-mm-stat-grid{grid-template-columns:minmax(0,1fr)}.u-mm-benefit-grid{grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-unit) * 15),1fr))}.u-mm-section-head{gap:calc(var(--space-unit) * 1)}.u-mm-section-title{font-size:var(--fs-body)}.u-mm-coupon{grid-template-columns:minmax(0,1fr)}.u-mm-coupon-amount{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:calc(var(--space-unit) * .5);padding-right:0;padding-bottom:calc(var(--space-unit) * 1);border-right:0;border-bottom:var(--stroke-width) dashed var(--divider)}.u-mm-state{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 1)}.u-mm-state-title{font-size:var(--fs-body)}}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(calc(var(--space-unit) * 32),calc(var(--space-unit) * 42));gap:var(--grid-gap);align-items:start}.tool-layout--single{grid-template-columns:minmax(0,1fr)}.tool-main{display:flex;flex-direction:column;gap:var(--grid-gap);min-width:0}.tool-shell-back{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .75);align-self:flex-start;margin-bottom:calc(var(--space-unit) * 2);text-decoration:none}.tool-shell-back+.tool-shell-back{margin-bottom:0}.tool-shell-title-icon{display:inline-flex;vertical-align:-.08em;margin-right:calc(var(--space-unit) * 1.5);font-size:.85em;color:var(--accent)}.tool-shell-card-tag{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .75);margin:0}.tool-panel{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);padding:var(--card-padding)}.tool-panel-title{display:inline-flex;align-items:center;gap:calc(var(--space-unit));margin:0;font-size:var(--fs-h3);font-weight:var(--fw-heading);color:var(--text-primary)}.tool-form{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--space-unit))}.tool-textarea{min-height:calc(var(--space-unit) * 22);padding:var(--input-padding-y) var(--input-padding-x);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--leading-body);border-radius:var(--radius-input-tall);resize:vertical}.tool-file-drop{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit));padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 2);border:var(--stroke-width) dashed var(--stroke-color);border-radius:var(--radius-card);background:var(--bg-surface-2);text-align:center;cursor:pointer;transition:border-color var(--transition-interactive),background var(--transition-interactive)}.tool-file-drop:hover,.tool-file-drop--active{border-color:var(--accent);background:var(--accent-soft)}.tool-file-icon{display:inline-flex;font-size:var(--fs-h3);color:var(--accent)}.tool-file-title{margin:0;font-size:var(--fs-sm);color:var(--text-primary)}.tool-file-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tool-file-name{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .5);margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.tool-result{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.tool-result-loading{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 1.5);padding:calc(var(--space-unit) * 4) 0;font-size:var(--fs-sm);color:var(--text-secondary)}.tool-result-body{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.tool-result-actions{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit))}.tool-result-error{display:flex;align-items:flex-start;gap:calc(var(--space-unit));padding:calc(var(--space-unit) * 2);border:var(--stroke-width) solid var(--danger);border-radius:var(--radius-card);background:var(--danger-bg)}.tool-result-error-icon{display:inline-flex;font-size:var(--fs-h3);color:var(--danger)}.tool-result-error-text{margin:0;font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-primary)}.tool-result-error-main{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5);min-width:0}.tool-result-meta{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 2);font-size:var(--fs-sm);color:var(--text-secondary)}.tool-result-meta-item{display:inline-flex;align-items:baseline;gap:calc(var(--space-unit) * .5)}.tool-result-value{font-family:var(--font-mono);color:var(--text-primary)}.tool-result-note{margin:0;font-size:var(--fs-label);color:var(--text-muted)}.tool-preview{margin:0;padding:calc(var(--space-unit) * 2);max-height:calc(var(--space-unit) * 40);overflow:auto;border:var(--stroke-width) solid var(--stroke-color);border-radius:var(--radius-input);background:var(--bg-surface-2);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.tool-preview-media{display:flex;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 2);border-radius:var(--radius-card);background:var(--bg-surface-2)}.tool-preview-media img{display:block;max-width:100%;max-height:calc(var(--space-unit) * 34);border-radius:var(--radius-media)}.tool-aside{display:flex;flex-direction:column;gap:var(--grid-gap)}.tool-aside-card{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5);padding:var(--card-padding)}.tool-aside-title{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .75);margin:0;font-size:var(--fs-body);font-weight:var(--fw-heading);color:var(--text-primary)}.tool-aside-title-icon{display:inline-flex;color:var(--accent)}.tool-aside-list{display:flex;flex-direction:column;gap:calc(var(--space-unit));margin:0;padding-left:calc(var(--space-unit) * 2.5);font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-secondary)}.tool-aside-note{display:flex;align-items:flex-start;gap:calc(var(--space-unit) * .75);margin:0;font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-secondary)}.tool-aside-note-icon{display:inline-flex;flex:none;color:var(--warning)}@media (max-width: 991px){.tool-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px){.tool-panel,.tool-aside-card{padding:calc(var(--card-padding) * var(--mobile-padding-scale))}.tool-actions,.tool-result-actions{flex-direction:column;align-items:stretch}.tool-actions>*,.tool-result-actions>*{width:100%}.tool-calc-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.tool-mode-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tool-mode-tabs::-webkit-scrollbar{display:none}.tool-mode-tab{flex:none;padding:0 calc(var(--space-unit) * 1.75)}}.tool-mode-tabs{display:flex;flex-wrap:wrap;border-bottom:var(--stroke-width) solid var(--border);margin-bottom:calc(var(--space-unit) * 2)}.tool-mode-tab{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * .75);height:var(--btn-height);padding:0 calc(var(--space-unit) * 2.25);border:0;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--fs-body);cursor:pointer;transition:var(--transition-interactive)}.tool-mode-tab:hover{color:var(--accent)}.tool-mode-tab.is-active{color:var(--accent);font-weight:var(--fw-label);box-shadow:inset 0 -2px 0 0 var(--accent)}.tool-mode-hint{font-size:var(--fs-label);color:var(--text-muted)}.tool-file-list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.25)}.tool-file-card{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.25);padding:calc(var(--space-unit) * 1.25);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-input);background:var(--bg-surface-2)}.tool-file-card-body{flex:1;min-width:0}.tool-file-card-name{overflow:hidden;color:var(--text-primary);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.tool-file-card-meta{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 1.25);color:var(--text-muted);font-size:var(--fs-label)}.tool-file-card-remove{flex:none;width:var(--icon-btn-size);height:var(--icon-btn-size);border:var(--stroke-width) solid var(--border);border-radius:var(--radius-input);background:transparent;color:var(--text-muted);cursor:pointer;transition:var(--transition-interactive)}.tool-file-card-remove:hover{border-color:var(--danger);color:var(--danger)}.tool-calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:calc(var(--space-unit) * 1.5)}.tool-calc-note{color:var(--text-muted);font-size:var(--fs-label)}.tool-code{display:flex;flex-direction:column;overflow:hidden;border:var(--stroke-width) solid var(--border);border-radius:var(--radius-panel);background:var(--bg-surface)}.tool-code-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit);padding:var(--space-unit) calc(var(--space-unit) * 1.75);border-bottom:var(--stroke-width) solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:var(--fs-label)}.tool-code-lang{font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:var(--label-transform)}.tool-preview-code{max-height:420px;margin:0;padding:calc(var(--space-unit) * 1.75);overflow:auto;border:0;border-radius:0;background:transparent;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.6}.app-icon[data-v-88c232c8]{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex-shrink:0;overflow:visible}.search-submit[data-v-4452e60e]{flex-shrink:0}@media (max-width: 767px){.search-submit[data-v-4452e60e]{display:none}}.theme-switch[data-v-cd14241a]{position:relative}.theme-switch[data-v-cd14241a]:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:var(--ec-control-h-sm);background:var(--ec-bg-surface);border-radius:var(--ec-radius-sm);box-shadow:var(--ec-shadow-sm);transition:transform .18s var(--ec-ease-out);pointer-events:none}.theme-switch__btn[data-v-cd14241a]{position:relative;z-index:1}.theme-switch__btn[aria-pressed=true][data-v-cd14241a]{background:transparent;box-shadow:none}.theme-switch__btn[aria-pressed=true][data-v-cd14241a]:focus-visible{box-shadow:var(--ec-ring)}html[data-theme-mode=dark] .theme-switch[data-v-cd14241a]:before{transform:translate(calc(100% + 2px))}html[data-theme-mode=auto] .theme-switch[data-v-cd14241a]:before{transform:translate(calc(200% + 4px))}@media (max-width: 767px){.theme-switch[data-v-cd14241a]:before{top:1px;bottom:1px;left:1px;width:calc(var(--ec-control-h-sm) * var(--mobile-control-scale))}}@media (prefers-reduced-motion: reduce){.theme-switch[data-v-cd14241a]:before{transition:none}}.smart-image-fallback[data-v-4ed26ed6]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--fs-h1);color:var(--text-muted);background:transparent}.navbar[data-v-3bd012f7]{position:sticky;top:0;z-index:var(--z-nav);transition:box-shadow var(--transition-surface)}.navbar[data-v-3bd012f7]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--bg-nav);border-bottom:var(--stroke-width) solid var(--nav-border-color)}.navbar-scrolled[data-v-3bd012f7]{box-shadow:var(--nav-scrolled-shadow)}.navbar-inner[data-v-3bd012f7]{display:flex;align-items:center;gap:var(--nav-menu-gap);height:var(--navbar-height);max-width:var(--container-max);margin:0 auto;padding:0 var(--nav-padding-x)}.navbar-logo[data-v-3bd012f7]{display:flex;align-items:center;gap:calc(var(--space-unit));flex:none;height:var(--nav-logo-height)}.logo-icon[data-v-3bd012f7]{font-size:var(--nav-logo-height);line-height:1}.logo-text[data-v-3bd012f7]{font-family:var(--font-display);font-size:calc(var(--nav-logo-height) * .72);font-weight:var(--fw-display);letter-spacing:var(--tracking-display);color:var(--text-primary);white-space:nowrap}.navbar-logo:hover .logo-text[data-v-3bd012f7]{color:var(--accent)}.navbar-menu[data-v-3bd012f7]{flex:none;height:100%}.menu-list[data-v-3bd012f7]{display:flex;align-items:stretch;gap:var(--nav-menu-gap);height:100%}.menu-item[data-v-3bd012f7]{display:flex}.menu-link[data-v-3bd012f7]{position:relative;display:flex;align-items:center;height:100%;font-size:var(--nav-link-size);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);white-space:nowrap;color:var(--text-secondary);transition:color var(--transition-interactive)}.menu-link[data-v-3bd012f7]:hover,.menu-link.router-link-active[data-v-3bd012f7]{color:var(--text-primary)}.menu-link[data-v-3bd012f7]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--space-unit) * .25);background:var(--accent);transform:scaleX(0);transition:transform var(--transition-interactive)}.menu-link[data-v-3bd012f7]:hover:after,.menu-link.router-link-active[data-v-3bd012f7]:after{transform:scaleX(1)}.navbar-search[data-v-3bd012f7]{position:relative;display:flex;align-items:center;flex:none}.search-slot[data-v-3bd012f7]{display:block;width:var(--icon-btn-size);height:var(--icon-btn-size)}.search-field[data-v-3bd012f7]{position:absolute;top:50%;right:0;width:var(--icon-btn-size);height:var(--icon-btn-size);overflow:clip;color:var(--text-secondary);background:var(--bg-surface);border:var(--stroke-width) solid var(--stroke-color);border-radius:var(--icon-btn-radius);transform:translateY(-50%);transition:width var(--transition-surface),color var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}.navbar-search.search-open .search-field[data-v-3bd012f7]{width:min(calc(var(--icon-btn-size) * 8),calc(100vw - var(--space-unit) * 6))}.navbar-search .search-field[data-v-3bd012f7]:hover{color:var(--accent);border-color:var(--accent)}.navbar-search.search-open .search-field[data-v-3bd012f7]:hover{border-color:var(--stroke-color)}.navbar-search.search-open .search-field[data-v-3bd012f7]:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.navbar-search .search-field .search-toggle[data-v-3bd012f7]{position:absolute;top:50%;right:0;width:calc(var(--icon-btn-size) - var(--stroke-width) * 2);height:calc(var(--icon-btn-size) - var(--stroke-width) * 2);color:inherit;background:transparent;border-color:transparent;cursor:pointer;transform:translateY(-50%)}.navbar-search .search-field .search-toggle[data-v-3bd012f7]:hover{background:transparent;border-color:transparent}.search-field[data-v-3bd012f7] .u-search{width:100%;height:100%;min-width:0;padding-left:var(--input-padding-x);padding-right:calc(var(--icon-btn-size) - var(--stroke-width) * 2 + var(--input-padding-x))}.search-field[data-v-3bd012f7] .u-input{height:100%;padding-left:0;padding-right:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;min-width:0}.search-field[data-v-3bd012f7] .u-input:focus{border-color:transparent;box-shadow:none}.navbar-search:not(.search-open) .search-field[data-v-3bd012f7] .u-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.navbar-actions[data-v-3bd012f7]{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);flex:none;margin-left:auto}.navbar-user[data-v-3bd012f7]{position:relative}.user-avatar-btn[data-v-3bd012f7]{position:relative;display:block;border-radius:var(--avatar-radius);transition:opacity var(--transition-interactive)}.user-avatar-btn[data-v-3bd012f7]:hover{opacity:.85}.avatar-fallback[data-v-3bd012f7]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--fs-label);line-height:1;background:var(--bg-soft)}.navbar-avatar-status[data-v-3bd012f7]{position:absolute;right:0;bottom:0;width:6px;height:6px;border-radius:var(--ec-radius-full);background:var(--ec-success);box-shadow:0 0 0 1.5px var(--ec-bg-surface);pointer-events:none}.navbar-avatar-status[data-v-3bd012f7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 0 2px var(--ec-success);opacity:0;animation:navbar-avatar-pulse-3bd012f7 2s var(--ec-ease-out) infinite}@keyframes navbar-avatar-pulse-3bd012f7{0%{box-shadow:0 0 0 2px var(--ec-success);opacity:.45}70%,to{box-shadow:0 0 0 4px var(--ec-success);opacity:0}}@media (prefers-reduced-motion: reduce){.navbar-avatar-status[data-v-3bd012f7]:after{animation:none}}.user-dropdown[data-v-3bd012f7]{position:absolute;top:calc(100% + var(--space-unit) * 1.5);right:0;width:max(var(--dropdown-width),calc(var(--space-unit) * 28));overflow:visible;animation:enterUp .18s var(--enter-ease) both}.dropdown-item-icon[data-v-3bd012f7]{display:inline-flex;flex:none;align-items:center;justify-content:center;font-size:var(--fs-sm);color:var(--text-muted)}.u-dropdown-item:hover .dropdown-item-icon[data-v-3bd012f7],.u-dropdown-item:focus-visible .dropdown-item-icon[data-v-3bd012f7]{color:currentColor}.user-info[data-v-3bd012f7]{padding:calc(var(--space-unit) * 1.5) var(--dropdown-item-padding-x)}.user-name[data-v-3bd012f7]{display:flex;align-items:center;gap:calc(var(--space-unit));font-size:var(--fs-sm);font-weight:var(--fw-heading);color:var(--text-primary);margin:0 0 calc(var(--space-unit) * .5)}.user-name-text[data-v-3bd012f7]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge[data-v-3bd012f7]{flex-shrink:0}.guest-note[data-v-3bd012f7]{margin:0;padding:0 var(--dropdown-item-padding-x) calc(var(--space-unit) * 1.5);font-size:var(--fs-label);line-height:var(--leading-body);color:var(--text-muted)}.u-dropdown-item.guest-login[data-v-3bd012f7]{color:var(--accent);font-weight:var(--fw-heading)}.user-since[data-v-3bd012f7]{font-size:var(--tag-font-size);color:var(--text-muted);margin:0}.user-menu-first-item[data-v-3bd012f7]{margin-top:calc(var(--space-unit) * 2)}.u-dropdown-item.logout[data-v-3bd012f7]{color:var(--danger)}.navbar-cart[data-v-3bd012f7],.navbar-member[data-v-3bd012f7],.navbar-mail[data-v-3bd012f7]{position:relative;flex:none}.navbar-cart-badge[data-v-3bd012f7],.navbar-member-badge[data-v-3bd012f7],.navbar-mail-badge[data-v-3bd012f7]{position:absolute;top:calc(var(--space-unit) * -.5);right:calc(var(--space-unit) * -.5);--badge-ring-color: var(--bg-nav)}.navbar-member-badge[data-v-3bd012f7]{background-color:var(--accent);color:var(--text-on-accent)}.menu-toggle[data-v-3bd012f7]{display:none}.menu-toggle-bars[data-v-3bd012f7]{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--space-unit) * .5);width:var(--icon-btn-icon-size)}.menu-toggle-bars i[data-v-3bd012f7]{display:block;height:calc(var(--space-unit) * .25);background:currentColor;border-radius:var(--radius-pill);transition:transform var(--transition-interactive),opacity var(--transition-interactive)}.menu-toggle.active .menu-toggle-bars i[data-v-3bd012f7]:nth-child(1){transform:translateY(calc(var(--space-unit) * .75)) rotate(45deg)}.menu-toggle.active .menu-toggle-bars i[data-v-3bd012f7]:nth-child(2){opacity:0}.menu-toggle.active .menu-toggle-bars i[data-v-3bd012f7]:nth-child(3){transform:translateY(calc(var(--space-unit) * -.75)) rotate(-45deg)}.navbar-drawer[data-v-3bd012f7]{position:fixed;top:var(--navbar-height);left:0;right:0;max-height:calc(100vh - var(--navbar-height));overflow-y:auto;padding:calc(var(--space-unit) * 2) var(--nav-padding-x) calc(var(--space-unit) * 3);background:var(--bg-elevated);border-bottom:var(--stroke-width) solid var(--stroke-color);transform:translateY(calc(var(--space-unit) * -1));opacity:0;visibility:hidden;transition:transform var(--transition-surface),opacity var(--transition-surface),visibility var(--transition-surface)}.navbar-drawer.active[data-v-3bd012f7]{transform:translateY(0);opacity:1;visibility:visible}.drawer-list[data-v-3bd012f7]{display:flex;flex-direction:column}.drawer-link[data-v-3bd012f7]{display:block;padding:calc(var(--space-unit) * 1.5) 0;font-size:var(--fs-body);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);color:var(--text-secondary);border-bottom:var(--stroke-width) solid var(--divider)}.drawer-link.router-link-active[data-v-3bd012f7]{color:var(--accent)}.drawer-theme[data-v-3bd012f7]{display:none}.drawer-theme-label[data-v-3bd012f7]{font-size:var(--fs-sm);color:var(--text-secondary)}@media (max-width: 1199px){.navbar-inner[data-v-3bd012f7]{gap:calc(var(--nav-menu-gap) * .6);padding:0 calc(var(--nav-padding-x) * .6)}.menu-list[data-v-3bd012f7]{gap:calc(var(--nav-menu-gap) * .6)}.menu-link[data-v-3bd012f7]{font-size:calc(var(--nav-link-size) * .92)}.navbar-actions[data-v-3bd012f7]{gap:var(--space-unit)}}@media (max-width: 991px){.navbar-menu[data-v-3bd012f7]{margin-right:auto}}@media (max-width: 767px){.hide-below-768[data-v-3bd012f7]{display:none}.menu-toggle[data-v-3bd012f7]{display:inline-flex}.navbar-inner[data-v-3bd012f7]{height:calc(var(--navbar-height) * var(--mobile-nav-scale));gap:calc(var(--space-unit) * 2)}.navbar-drawer[data-v-3bd012f7]{top:calc(var(--navbar-height) * var(--mobile-nav-scale));max-height:calc(100vh - var(--navbar-height) * var(--mobile-nav-scale));padding-left:calc(var(--nav-padding-x) * .6);padding-right:calc(var(--nav-padding-x) * .6)}.user-dropdown[data-v-3bd012f7]{max-width:calc(100vw - var(--space-unit) * 4);max-height:calc(100vh - var(--navbar-height) * var(--mobile-nav-scale) - var(--space-unit) * 4);overflow-y:auto;overscroll-behavior:contain}.user-dropdown .u-dropdown-item[data-v-3bd012f7]{height:auto;min-height:44px}.navbar-actions[data-v-3bd012f7] .theme-switch{display:none}.drawer-theme[data-v-3bd012f7]{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:var(--stroke-width) solid var(--divider)}}@media (max-width: 575px){.logo-text[data-v-3bd012f7]{display:none}}.footer[data-v-dc84eb82]{width:100%;margin-top:var(--section-gap);color:var(--text-footer);background:var(--bg-footer)}.footer-container[data-v-dc84eb82]{max-width:var(--container-max);margin:0 auto;padding:calc(var(--section-gap) * .6) var(--container-padding)}.footer-content[data-v-dc84eb82]{display:flex;justify-content:center;margin-bottom:calc(var(--section-gap) * .4)}.footer-section[data-v-dc84eb82]{display:flex;flex-direction:column;align-items:center;max-width:var(--container-narrow);text-align:center}.footer-logo[data-v-dc84eb82]{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * 2)}.logo-icon[data-v-dc84eb82]{font-size:calc(var(--fs-h3) * 1.4);line-height:1}.logo-text[data-v-dc84eb82]{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-heading);letter-spacing:var(--tracking-display);color:var(--text-footer)}.about-text[data-v-dc84eb82]{margin-bottom:calc(var(--space-unit) * 2);font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-footer-muted)}.social-links[data-v-dc84eb82]{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--space-unit) * 1.5)}.contact-links[data-v-dc84eb82]{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--space-unit) * 1.5);margin:0;padding:0;list-style:none}.contact-link[data-v-dc84eb82]{display:flex;align-items:center;gap:calc(var(--space-unit) * .75);height:max(var(--icon-btn-size),var(--avatar-size));padding:0 calc(var(--icon-btn-size) * .4);font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);color:var(--text-footer);background:var(--bg-soft);border:var(--stroke-width) solid currentColor;border-radius:var(--radius-pill);transition:background-color var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive),transform var(--transition-interactive)}.contact-link[data-v-dc84eb82]:hover{color:var(--text-on-accent);background:var(--accent);border-color:var(--accent);transform:translateY(calc(var(--space-unit) * -.5))}.contact-hours[data-v-dc84eb82]{margin:calc(var(--space-unit) * 1.5) 0 0;font-size:var(--fs-label);color:var(--text-footer-muted)}.footer-divider[data-v-dc84eb82]{height:var(--stroke-width);margin-bottom:calc(var(--section-gap) * .4);background:var(--divider)}.footer-bottom[data-v-dc84eb82]{padding:calc(var(--space-unit) * 2.5) 0}.footer-bottom-container[data-v-dc84eb82]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--space-unit) * 2.5)}.payment-methods[data-v-dc84eb82]{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);font-size:var(--fs-label);color:var(--text-footer-muted)}.method-label[data-v-dc84eb82]{font-weight:var(--fw-label);letter-spacing:var(--tracking-label)}.payment-icon[data-v-dc84eb82]{font-size:var(--fs-h3)}.copyright[data-v-dc84eb82]{flex:1;margin:0;font-size:var(--fs-label);color:var(--text-footer-muted);text-align:center}.copyright a[data-v-dc84eb82],.footer-bottom-links a[data-v-dc84eb82]{color:var(--accent);transition:color var(--transition-interactive)}.copyright a[data-v-dc84eb82]:hover,.footer-bottom-links a[data-v-dc84eb82]:hover{color:var(--accent-strong);text-decoration:underline}.footer-bottom-links[data-v-dc84eb82]{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 2.5);font-size:var(--fs-label)}@media (max-width: 1199px){.footer-container[data-v-dc84eb82]{padding:calc(var(--section-gap) * .5) var(--container-padding)}}@media (max-width: 991px){.footer-bottom-container[data-v-dc84eb82]{gap:calc(var(--space-unit) * 2)}}@media (max-width: 767px){.footer-container[data-v-dc84eb82]{padding:calc(var(--section-gap) * .4 * var(--mobile-section-scale)) calc(var(--container-padding) * var(--mobile-padding-scale))}.footer-content[data-v-dc84eb82],.footer-divider[data-v-dc84eb82]{margin-bottom:calc(var(--section-gap) * .3 * var(--mobile-section-scale))}.footer-bottom-container[data-v-dc84eb82]{flex-direction:column;align-items:flex-start;gap:calc(var(--space-unit) * 2)}.copyright[data-v-dc84eb82]{order:1;text-align:left}.payment-methods[data-v-dc84eb82]{order:2}.footer-bottom-links[data-v-dc84eb82]{order:3}}@media (max-width: 575px){.footer-container[data-v-dc84eb82]{padding:calc(var(--section-gap) * .3 * var(--mobile-section-scale)) calc(var(--container-padding) * var(--mobile-padding-scale))}.contact-links[data-v-dc84eb82],.payment-methods[data-v-dc84eb82]{gap:var(--space-unit)}.footer-bottom-links[data-v-dc84eb82]{gap:calc(var(--space-unit) * 1.5)}}.toast-icon[data-v-f3ab09aa]{font-size:14px}.ec-toast--success .toast-icon[data-v-f3ab09aa]{color:var(--ec-success)}.ec-toast--danger .toast-icon[data-v-f3ab09aa]{color:var(--ec-danger)}.ec-toast--warning .toast-icon[data-v-f3ab09aa],.toast-warning .toast-icon[data-v-f3ab09aa]{color:var(--ec-warning)}.ec-toast--info .toast-icon[data-v-f3ab09aa],.toast-info .toast-icon[data-v-f3ab09aa]{color:var(--ec-info)}.help-drawer-title[data-v-0aa0c761]{margin:0;font-size:var(--ec-h3-size);font-weight:600;color:var(--ec-text-primary)}.help-body[data-v-0aa0c761]{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2.5)}.help-intro[data-v-0aa0c761]{margin:0;font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-secondary)}.help-steps[data-v-0aa0c761]{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5);margin:0;padding:0;list-style:none;counter-reset:help-step}.help-step[data-v-0aa0c761]{display:flex;align-items:flex-start;gap:calc(var(--space-unit) * 1.25);font-size:var(--fs-sm);line-height:var(--leading-body);color:var(--text-secondary)}.help-step-index[data-v-0aa0c761]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:calc(var(--space-unit) * 2.5);height:calc(var(--space-unit) * 2.5);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-label);color:var(--text-on-accent);background:var(--accent);border-radius:var(--radius-pill)}.help-contact[data-v-0aa0c761]{display:flex;flex-direction:column;margin:0;border:var(--stroke-width) solid var(--border);border-radius:var(--radius-card);overflow:hidden}.help-contact-row[data-v-0aa0c761]{display:flex;align-items:baseline;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 1.5)}.help-contact-row+.help-contact-row[data-v-0aa0c761]{border-top:var(--stroke-width) solid var(--divider)}.help-contact-row dt[data-v-0aa0c761]{flex-shrink:0;min-width:calc(var(--space-unit) * 10);font-size:var(--fs-sm);color:var(--text-muted)}.help-contact-row dd[data-v-0aa0c761]{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-primary)}.help-contact-row a[data-v-0aa0c761]{color:var(--accent);transition:color var(--transition-interactive)}.help-contact-row a[data-v-0aa0c761]:hover{color:var(--accent-strong);text-decoration:underline}@media (max-width: 575px){.help-contact-row[data-v-0aa0c761]{flex-direction:column;gap:calc(var(--space-unit) * .5)}.help-contact-row dt[data-v-0aa0c761]{min-width:0}}.login-dialog[data-v-d45d896f]{position:relative;padding:var(--ec-space-5)}.login-dialog-close[data-v-d45d896f]{position:absolute;top:var(--ec-space-4);right:var(--ec-space-4);z-index:1}.modal-tabs[data-v-d45d896f]{display:flex;padding-right:calc(var(--ec-control-h-sm) + var(--ec-space-2));margin-bottom:calc(var(--space-unit) * 3);border-bottom:var(--stroke-width) solid var(--divider)}.tab-btn[data-v-d45d896f]{position:relative;flex:1;height:var(--btn-height);font-size:var(--btn-font-size);font-weight:var(--fw-heading);letter-spacing:var(--tracking-label);color:var(--text-muted);transition:color var(--transition-interactive)}.tab-btn[data-v-d45d896f]:hover{color:var(--text-primary)}.tab-btn.active[data-v-d45d896f]{color:var(--accent)}.tab-btn.active[data-v-d45d896f]:after{content:"";position:absolute;right:0;bottom:calc(var(--stroke-width) * -1);left:0;height:var(--dropdown-active-bar);background:var(--accent)}.form[data-v-d45d896f]{display:flex;flex-direction:column;gap:var(--ec-space-4);animation:enterUp var(--enter-duration) var(--enter-ease) both}.form-group[data-v-d45d896f]{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .75)}.form-group label[data-v-d45d896f]{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--text-secondary)}.form-options[data-v-d45d896f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit);font-size:var(--fs-sm);color:var(--text-secondary)}.remember-hint[data-v-d45d896f]{margin-top:calc(var(--space-unit) * -1.5);font-size:var(--fs-label);line-height:var(--leading-body)}.u-checkbox span[data-v-d45d896f]{color:var(--text-secondary)}.link-btn[data-v-d45d896f],.inline-link[data-v-d45d896f]{padding:0;font-size:inherit;font-family:inherit;color:var(--accent);background:none;border:none;cursor:pointer;transition:color var(--transition-interactive)}.link-btn[data-v-d45d896f]:hover,.inline-link[data-v-d45d896f]:hover{color:var(--accent-strong);text-decoration:underline}.inline-link[data-v-d45d896f]{text-decoration:underline;text-underline-offset:2px}.social-note[data-v-d45d896f]{margin-top:calc(var(--space-unit));text-align:center}.submit-btn[data-v-d45d896f]{width:100%}.divider[data-v-d45d896f]{position:relative;margin:calc(var(--space-unit) * 2) 0;font-size:var(--fs-sm);color:var(--text-muted);text-align:center}.divider[data-v-d45d896f]:before,.divider[data-v-d45d896f]:after{content:"";position:absolute;top:50%;width:calc(50% - var(--space-unit) * 2.5);height:var(--stroke-width);background:var(--divider)}.divider[data-v-d45d896f]:before{left:0}.divider[data-v-d45d896f]:after{right:0}.social-login[data-v-d45d896f]{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--space-unit) * 1.5)}.social-btn[data-v-d45d896f]{width:100%}.error-message[data-v-d45d896f],.success-message[data-v-d45d896f]{margin-top:var(--ec-space-4);padding:var(--tag-padding-y) calc(var(--space-unit) * 1.5);font-size:var(--fs-sm);text-align:center;border-radius:var(--radius-input)}.error-message[data-v-d45d896f]{color:var(--danger);background:var(--danger-bg);animation:shake-d45d896f var(--enter-duration) var(--enter-ease) both}.success-message[data-v-d45d896f]{color:var(--success);background:var(--success-bg)}@keyframes shake-d45d896f{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--space-unit) * -.6))}75%{transform:translate(calc(var(--space-unit) * .6))}}@media (max-width: 767px){.form-options[data-v-d45d896f]{flex-direction:column;align-items:flex-start}.social-login[data-v-d45d896f]{grid-template-columns:1fr}}.app-container[data-v-316392d8]{position:relative;display:flex;flex-direction:column;width:100%;min-height:100vh}.main-content[data-v-316392d8]{flex:1;width:100%}.scroll-to-top[data-v-316392d8]{position:fixed;right:calc(var(--space-unit) * 3);bottom:calc(var(--space-unit) * 3);z-index:var(--z-sticky);animation:enterUp var(--enter-duration) var(--enter-ease) both}.route-progress[data-v-316392d8]{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);height:var(--progress-height);overflow:hidden;background:var(--progress-track)}.route-progress-bar[data-v-316392d8]{display:block;width:40%;height:100%;background:var(--accent);border-radius:var(--progress-radius);animation:routeProgress-316392d8 var(--spinner-duration) var(--skeleton-easing) infinite}@keyframes routeProgress-316392d8{0%{transform:translate(-100%)}to{transform:translate(250%)}}.boot-screen[data-v-316392d8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-boot);display:flex;align-items:center;justify-content:center;background:var(--bg-page)}.boot-inner[data-v-316392d8]{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 1.5);padding:var(--container-padding);text-align:center}.boot-mark[data-v-316392d8]{font-size:var(--fs-h1);line-height:1;color:var(--accent)}.boot-brand[data-v-316392d8]{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-heading);color:var(--text-primary)}.boot-text[data-v-316392d8]{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}.boot-enter-active[data-v-316392d8],.boot-leave-active[data-v-316392d8]{transition:opacity var(--transition-surface)}.boot-enter-from[data-v-316392d8],.boot-leave-to[data-v-316392d8]{opacity:0}@media (prefers-reduced-motion: reduce){.route-progress-bar[data-v-316392d8]{width:100%;animation:none}.boot-enter-active[data-v-316392d8],.boot-leave-active[data-v-316392d8]{transition:none}.boot-inner[data-v-316392d8] .u-spinner{animation:none}}@media (max-width: 767px){.scroll-to-top[data-v-316392d8]{right:calc(var(--space-unit) * 2);bottom:calc(var(--space-unit) * 2)}}
