:root{--color-primary:#e45826;--color-primary-hover:#c84415;--color-primary-soft:#fce8dd;--color-secondary:#6b9b37;--color-accent:#d4a52a;--color-success:#2f8c4f;--color-warning:#d4a52a;--color-danger:#c84415;--color-info:#3b7db3;--color-text:#1f2024;--color-text-secondary:#5a5f66;--color-text-muted:#707478;--color-text-inverse:#fff;--color-bg:#fff;--color-bg-soft:#f8f6f2;--color-bg-mute:#eeeae4;--color-surface:#fff;--color-surface-2:#faf8f4;--color-overlay:rgba(15,12,8,.5);--color-border:#e8e4dc;--color-border-strong:#c8c2b6;--color-divider:#efebe3;--color-price:#c84415;--color-price-original:#95989e;--color-badge-hot:#e45826;--color-badge-new:#2f8c4f;--color-badge-sale:#d4a52a;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:20px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(15,12,8,.04),0 2px 8px rgba(15,12,8,.04);--shadow-card-hover:0 4px 12px rgba(15,12,8,.08),0 12px 24px rgba(15,12,8,.06);--shadow-dropdown:0 6px 24px rgba(15,12,8,.1);--shadow-modal:0 24px 64px rgba(15,12,8,.18);--shadow-sticky:0 -2px 8px rgba(15,12,8,.04);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-11:44px;--space-12:48px;--space-16:64px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei UI",system-ui,sans-serif;--font-serif:"Source Han Serif SC","Songti SC",serif;--font-mono:"SF Mono","JetBrains Mono",Consolas,monospace;--font-price:"DIN Alternate","DIN Pro",var(--font-mono);--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--topbar-height:64px;--topbar-height-mobile:52px;--bottom-nav-height:60px;--sidebar-width:240px;--sidebar-width-collapsed:64px;--container-max:1280px;--bp-mobile:767px;--bp-tablet:1023px;--bp-desktop:1279px;--motion-duration-fast:.18s;--motion-duration-base:.28s;--motion-duration-slow:.44s;--motion-duration-layout:.38s;--motion-ease-standard:cubic-bezier(.4,0,.2,1);--motion-ease-emphasized:cubic-bezier(.2,0,0,1);--motion-ease-decelerate:cubic-bezier(0,0,.2,1);--opacity-disabled:.5;--focus-ring:0 0 0 2px var(--color-primary-soft),0 0 0 4px var(--color-primary);--focus-ring-error:0 0 0 2px var(--color-danger-soft),0 0 0 4px var(--color-danger);--color-success-soft:rgba(47,140,79,.12);--color-warning-soft:rgba(212,165,42,.12);--color-danger-soft:rgba(200,68,21,.12);--color-info-soft:rgba(59,125,179,.12);--z-sticky:100;--z-dropdown:500;--z-overlay:1000;--z-modal:1100;--z-toast:1200}html[data-theme=dark]{--color-text:#eceae5;--color-text-secondary:#adaaa3;--color-text-muted:#6b6962;--color-bg:#1a1815;--color-bg-soft:#221f1b;--color-bg-mute:#2e2a24;--color-surface:#242017;--color-surface-2:#2b2620;--color-border:#3a342b;--color-border-strong:#56503f;--color-divider:#2f2a22;--color-primary-soft:#3d1f12;--color-overlay:rgba(0,0,0,.6);--shadow-card:0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3);--shadow-card-hover:0 4px 12px rgba(0,0,0,.45),0 12px 24px rgba(0,0,0,.35);--shadow-modal:0 24px 64px rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:13px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold)}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.route-page-enter-active,.route-page-leave-active{transition:opacity var(--motion-duration-base) var(--motion-ease-standard),transform var(--motion-duration-base) var(--motion-ease-standard)}.route-page-enter-from{opacity:0;transform:translateY(8px) scale(.995)}.route-page-leave-to{opacity:0;transform:translateY(-8px)}.overlay-motion-enter-active,.overlay-motion-leave-active{transition:opacity var(--motion-duration-base) var(--motion-ease-standard)}.overlay-motion-enter-from,.overlay-motion-leave-to{opacity:0}.motion-panel--scale-enter-active,.motion-panel--scale-leave-active{transition:opacity var(--motion-duration-base) var(--motion-ease-emphasized),transform var(--motion-duration-base) var(--motion-ease-emphasized)}.motion-panel--scale-enter-from,.motion-panel--scale-leave-to{opacity:0;transform:translateY(8px) scale(.96)}.motion-panel--bottom-enter-active,.motion-panel--bottom-leave-active{transition:transform var(--motion-duration-base) var(--motion-ease-emphasized)}.motion-panel--bottom-enter-from,.motion-panel--bottom-leave-to{transform:translateY(100%)}.motion-panel--right-enter-active,.motion-panel--right-leave-active{transition:transform var(--motion-duration-base) var(--motion-ease-emphasized)}.motion-panel--right-enter-from,.motion-panel--right-leave-to{transform:translate(100%)}.motion-stagger>*{opacity:0;transform:translateY(8px);animation:stagger-in var(--motion-duration-slow) var(--motion-ease-decelerate) forwards}.motion-stagger>:first-child{animation-delay:40ms}.motion-stagger>:nth-child(2){animation-delay:80ms}.motion-stagger>:nth-child(3){animation-delay:.12s}.motion-stagger>:nth-child(4){animation-delay:.16s}.motion-stagger>:nth-child(5){animation-delay:.2s}.motion-stagger>:nth-child(n+6){animation-delay:.24s}@keyframes stagger-in{to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-soft) 25%,var(--color-surface-2) 50%,var(--color-bg-soft) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:var(--radius-md)}.error-slide-enter-active,.error-slide-leave-active{transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard),max-height var(--motion-duration-base) var(--motion-ease-standard);overflow:hidden}.error-slide-enter-from,.error-slide-leave-to{opacity:0;transform:translateY(-4px);max-height:0}.error-slide-enter-to,.error-slide-leave-from{max-height:80px}
