:root{--ka-primary: #0f2a4a;--ka-primary-hover: #16406e;--ka-primary-pressed: #0b1b32;--ka-primary-weak: #3a5f8c;--ka-primary-soft: rgba(15, 42, 74, .06);--ka-accent: #c9a25a;--ka-accent-hover: #d9b878;--ka-accent-pressed: #a9863f;--ka-accent-weak: #e3c88e;--ka-accent-soft: rgba(201, 162, 90, .12);--ka-success: #2e8b6e;--ka-success-soft: rgba(46, 139, 110, .1);--ka-danger: #c04a4a;--ka-danger-soft: rgba(192, 74, 74, .1);--ka-warning: #b8860b;--ka-warning-soft: rgba(184, 134, 11, .12);--ka-gray-50: #f8fafc;--ka-gray-100: #f1f5f9;--ka-gray-200: #e2e8f0;--ka-gray-300: #cbd5e1;--ka-gray-400: #94a3b8;--ka-gray-500: #64748b;--ka-gray-600: #475569;--ka-gray-700: #334155;--ka-gray-800: #1e293b;--ka-gray-900: #0f172a;--ka-gray-950: #0b1220;--ka-bg: #f7f9fc;--ka-surface: #ffffff;--ka-border: #e2e8f0;--ka-text: #0b1220;--ka-text-2: #475569;--ka-text-3: #94a3b8;--ka-gradient-brand: linear-gradient(135deg, #0f2a4a 0%, #16406e 55%, #1e5a8a 100%);--ka-gradient-hero: radial-gradient(1200px 520px at 20% -10%, rgba(201, 162, 90, .14), transparent 60%), radial-gradient(900px 460px at 85% 0%, rgba(15, 42, 74, .12), transparent 55%), linear-gradient(180deg, #eef3f9 0%, #f7f9fc 100%);--ka-gradient-gold: linear-gradient(135deg, #a9863f 0%, #c9a25a 50%, #e3c88e 100%);--ka-ring: 0 0 0 3px rgba(201, 162, 90, .2);--ka-skeleton: linear-gradient(90deg, var(--ka-gray-100) 25%, var(--ka-gray-200) 37%, var(--ka-gray-100) 63%);--ka-skeleton-size: 400% 100%;--ka-shadow-card: 0 1px 2px rgba(15, 42, 74, .04), 0 4px 16px rgba(15, 42, 74, .06);--ka-shadow-hover: 0 2px 4px rgba(15, 42, 74, .06), 0 12px 32px rgba(15, 42, 74, .12);--ka-shadow-pop: 0 4px 8px rgba(15, 42, 74, .08), 0 24px 64px rgba(15, 42, 74, .16);--ka-shadow-modal: 0 12px 40px rgba(15, 42, 74, .18), 0 4px 12px rgba(15, 42, 74, .1);--ka-shadow-brand: 0 8px 24px rgba(15, 42, 74, .28);--ka-shadow-gold: 0 6px 24px rgba(201, 162, 90, .28);--ka-space-1: 4px;--ka-space-2: 8px;--ka-space-3: 12px;--ka-space-4: 16px;--ka-space-5: 24px;--ka-space-6: 32px;--ka-space-7: 48px;--ka-radius-sm: 6px;--ka-radius-md: 10px;--ka-radius-lg: 14px;--ka-radius-xl: 20px;--ka-radius-full: 999px;--ka-font: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--ka-font-num: "JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;--ka-ease-out: cubic-bezier(.22, 1, .36, 1);--ka-ease-in: cubic-bezier(.4, 0, 1, 1);--ka-dur-1: .15s;--ka-dur-2: .25s;--ka-dur-3: .4s;--ka-text-1: var(--ka-text);--ka-text-secondary: var(--ka-text-2);--ka-text-tertiary: var(--ka-text-3);--ka-text-inverse: #ffffff;--ka-muted: var(--ka-text-3);--ka-info: var(--ka-accent);--ka-info-soft: var(--ka-accent-soft);--ka-bg-1: var(--ka-gray-50);--ka-bg-2: var(--ka-gray-100);--ka-bg-soft: var(--ka-gray-50);--ka-bg-subtle: var(--ka-gray-50);--ka-card-bg: var(--ka-surface);--ka-border-soft: var(--ka-gray-200);--ka-font-mono: var(--ka-font-num);--ka-gradient-accent: var(--ka-gradient-gold);--ka-warn: var(--ka-warning);--ka-warning-deep: var(--ka-warning);--ka-radius: var(--ka-radius-md);--ka-shadow: var(--ka-shadow-card);--ka-shadow-sm: var(--ka-shadow-card);--ka-shadow-lg: var(--ka-shadow-hover);--ka-slider-pct: 0%}[data-theme=dark]{--ka-bg: #0b1220;--ka-surface: #111a2c;--ka-border: #1e293b;--ka-gray-50: #0f172a;--ka-gray-100: #1e293b;--ka-gray-200: #334155;--ka-gray-300: #475569;--ka-gray-400: #64748b;--ka-gray-500: #94a3b8;--ka-gray-600: #cbd5e1;--ka-text: #f1f5f9;--ka-text-2: #cbd5e1;--ka-text-3: #64748b;--ka-primary: #d9b878;--ka-primary-hover: #e3c88e;--ka-primary-weak: #c9a25a;--ka-primary-soft: rgba(201, 162, 90, .16);--ka-accent: #c9a25a;--ka-accent-hover: #d9b878;--ka-accent-weak: #e3c88e;--ka-accent-soft: rgba(201, 162, 90, .16);--ka-success-soft: rgba(46, 139, 110, .16);--ka-danger-soft: rgba(192, 74, 74, .16);--ka-warning-soft: rgba(184, 134, 11, .18);--ka-gradient-hero: radial-gradient(1200px 520px at 20% -10%, rgba(201, 162, 90, .16), transparent 60%), radial-gradient(900px 460px at 85% 0%, rgba(30, 90, 138, .14), transparent 55%), linear-gradient(180deg, #0f172a 0%, #0b1220 100%);--ka-skeleton: linear-gradient(90deg, var(--ka-gray-800) 25%, var(--ka-gray-700) 37%, var(--ka-gray-800) 63%);--ka-text-1: var(--ka-text);--ka-text-secondary: var(--ka-text-2);--ka-text-tertiary: var(--ka-text-3);--ka-muted: var(--ka-text-3);--ka-bg-1: #0d1526;--ka-bg-2: var(--ka-gray-800);--ka-bg-soft: var(--ka-gray-900);--ka-bg-subtle: var(--ka-gray-900);--ka-border-soft: var(--ka-gray-800);--ka-slider-pct: 0%}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--ka-font);background:var(--ka-bg);color:var(--ka-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.6;transition:background-color var(--ka-dur-2) var(--ka-ease-out),color var(--ka-dur-2) var(--ka-ease-out)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.3}p{margin:0}a{color:var(--ka-primary);text-decoration:none}a:hover{color:var(--ka-primary-hover)}img{max-width:100%;display:block}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}ul,ol{margin:0;padding:0}::selection{background:#c9a25a3d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ka-gray-300);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--ka-gray-400);background-clip:content-box}.ka-page{max-width:1280px;margin:0 auto}.ka-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ka-page-title{font-size:22px;font-weight:800;letter-spacing:-.01em}.ka-page-sub{color:var(--ka-text-3);font-size:13px;margin-top:4px}.ka-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ka-surface);border:1px solid var(--ka-border);border-radius:var(--ka-radius-lg);padding:14px 16px;margin-bottom:16px}.ka-toolbar-spacer{flex:1}.ka-grid{display:grid;gap:16px}.ka-grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ka-grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ka-grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ka-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1;padding:4px 10px;border-radius:var(--ka-radius-full);background:var(--ka-gray-100);color:var(--ka-text-2);white-space:nowrap}.ka-tag-primary{background:var(--ka-primary-soft);color:var(--ka-primary)}.ka-tag-success{background:var(--ka-success-soft);color:var(--ka-success)}.ka-tag-warning{background:var(--ka-warning-soft);color:var(--ka-warning)}.ka-tag-danger{background:var(--ka-danger-soft);color:var(--ka-danger)}.ka-tag-accent{background:var(--ka-accent-soft);color:var(--ka-accent)}.ka-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 24px;color:var(--ka-text-3);text-align:center}.ka-empty .ka-empty-ico{width:72px;height:72px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ka-primary-soft),var(--ka-accent-soft));font-size:34px}.ka-empty-title{color:var(--ka-text-2);font-weight:600;font-size:15px}.ka-empty-sub{font-size:13px}.ka-skeleton{background:var(--ka-skeleton);background-size:var(--ka-skeleton-size);animation:ka-shimmer 1.6s var(--ka-ease-in) infinite;border-radius:var(--ka-radius-md)}@keyframes ka-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ka-cover{width:100%;aspect-ratio:4 / 3;border-radius:var(--ka-radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:28px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.ka-cover img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.ka-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 15% 0%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.ka-card{background:var(--ka-surface);border:1px solid var(--ka-border);border-radius:var(--ka-radius-lg);box-shadow:var(--ka-shadow-card);transition:box-shadow var(--ka-dur-2) var(--ka-ease-out),transform var(--ka-dur-2) var(--ka-ease-out),border-color var(--ka-dur-2) var(--ka-ease-out)}.ka-card-hover:hover{box-shadow:var(--ka-shadow-hover);transform:translateY(-3px);border-color:#c9a25a66}.ka-btn{border:none;cursor:pointer;border-radius:var(--ka-radius-md);font-size:14px;font-weight:600;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s var(--ka-ease-out),box-shadow var(--ka-dur-2) var(--ka-ease-out),opacity .15s ease,background var(--ka-dur-1) ease,color var(--ka-dur-1) ease;line-height:1.2;white-space:nowrap}.ka-btn:active{transform:scale(.97)}.ka-btn:disabled{opacity:.55;cursor:not-allowed}.ka-btn-primary{background:var(--ka-gradient-brand);color:#fff;box-shadow:var(--ka-shadow-brand)}.ka-btn-primary:hover{filter:brightness(1.08);box-shadow:var(--ka-shadow-hover)}.ka-btn-accent{background:var(--ka-gradient-gold);color:#fff;box-shadow:var(--ka-shadow-gold)}.ka-btn-accent:hover{filter:brightness(1.06)}.ka-btn-ghost{background:var(--ka-primary-soft);color:var(--ka-primary)}.ka-btn-ghost:hover{background:#c9a25a2e}.ka-btn-outline{background:transparent;color:var(--ka-primary);border:1px solid var(--ka-primary)}.ka-btn-outline:hover{background:var(--ka-primary-soft)}.ka-btn-danger{background:var(--ka-danger);color:#fff}.ka-btn-danger:hover{filter:brightness(1.06)}.ka-btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--ka-radius-sm)}.ka-btn-block{width:100%}.ka-input{height:40px;padding:0 14px;border:1px solid var(--ka-border);border-radius:var(--ka-radius-md);background:var(--ka-surface);color:var(--ka-text);outline:none;font-size:14px;transition:border-color var(--ka-dur-1) ease,box-shadow var(--ka-dur-1) ease}.ka-input:focus{border-color:var(--ka-primary);box-shadow:var(--ka-ring)}.ka-select{height:40px;padding:0 34px 0 12px;border:1px solid var(--ka-border);border-radius:var(--ka-radius-md);background:var(--ka-surface);color:var(--ka-text);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.ka-select:focus{border-color:var(--ka-primary);box-shadow:var(--ka-ring)}.ka-table{width:100%;border-collapse:collapse;background:var(--ka-surface)}.ka-table th{text-align:left;font-size:12px;font-weight:700;color:var(--ka-text-3);padding:12px 14px;border-bottom:1px solid var(--ka-border);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ka-table td{padding:12px 14px;border-bottom:1px solid var(--ka-gray-100);font-size:14px}.ka-table tbody tr{transition:background var(--ka-dur-1) ease}.ka-table tbody tr:hover{background:var(--ka-gray-50)}.num{font-family:var(--ka-font-num);font-variant-numeric:tabular-nums}.ka-muted{color:var(--ka-text-3);font-size:13px}.ka-danger-text{color:var(--ka-danger)}.ka-success-text{color:var(--ka-success)}.ka-primary-text{color:var(--ka-primary)}.ka-accent-text{color:var(--ka-accent)}.ka-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ka-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 4px 4px}.ka-fade-enter-active,.ka-fade-leave-active{transition:opacity var(--ka-dur-2) var(--ka-ease-out),transform var(--ka-dur-2) var(--ka-ease-out)}.ka-fade-enter-from,.ka-fade-leave-to{opacity:0;transform:translateY(8px)}@media (max-width: 768px){.ka-page{padding:16px 12px 40px!important}.ka-card{padding:14px;border-radius:12px}.ka-toolbar{flex-wrap:wrap;gap:8px}.ka-toolbar input,.ka-toolbar select{flex:1 1 140px;min-width:0}.ka-page-head{align-items:flex-start;gap:10px}.ka-grid-2,.ka-grid-3,.ka-grid-4{grid-template-columns:1fr}}.ka-stat{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--ka-surface);border:1px solid var(--ka-border);border-radius:var(--ka-radius-lg);box-shadow:var(--ka-shadow-card);transition:transform var(--ka-dur-2) var(--ka-ease-out),box-shadow var(--ka-dur-2) var(--ka-ease-out)}.ka-stat:hover{transform:translateY(-2px);box-shadow:var(--ka-shadow-hover)}.ka-stat-label{color:var(--ka-text-3);font-size:13px}.ka-stat-value{font-size:26px;font-weight:800;font-family:var(--ka-font-num);font-variant-numeric:tabular-nums;color:var(--ka-text)}.ka-stat-trend{font-size:12px;display:inline-flex;align-items:center;gap:4px}.ka-sec-head{display:flex;align-items:center;gap:12px;margin:8px 0 18px}.ka-sec-head:before{content:"";width:4px;height:20px;border-radius:2px;background:var(--ka-gradient-gold);flex:none}.ka-sec-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.ka-sec-more{margin-left:auto;font-size:13px;font-weight:600;color:var(--ka-text-3);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color var(--ka-dur-1) ease}.ka-sec-more:hover{color:var(--ka-accent)}.ka-gold-line{position:relative;overflow:hidden}.ka-gold-line:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ka-gradient-gold);opacity:0;transform:scaleX(.3);transition:opacity var(--ka-dur-2) var(--ka-ease-out),transform var(--ka-dur-2) var(--ka-ease-out)}.ka-gold-line:hover:before{opacity:1;transform:scaleX(1)}.ka-stock{height:6px;border-radius:999px;background:var(--ka-gray-100);overflow:hidden}.ka-stock>i{display:block;height:100%;border-radius:999px;background:var(--ka-gradient-gold);transition:width var(--ka-dur-2) var(--ka-ease-out)}.ka-stock.low>i{background:var(--ka-warning)}.ka-stock.out>i{background:var(--ka-gray-300)}.ka-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--ka-surface);border:1px solid var(--ka-border);border-radius:var(--ka-radius-lg);padding:10px 14px;margin-bottom:16px}.ka-filterbar .fb-item{padding:6px 14px;border-radius:var(--ka-radius-full);font-size:13px;font-weight:600;color:var(--ka-text-2);cursor:pointer;transition:all var(--ka-dur-1) ease;border:1px solid transparent}.ka-filterbar .fb-item:hover{color:var(--ka-accent)}.ka-filterbar .fb-item.on{color:var(--ka-accent);background:var(--ka-accent-soft);border-color:#c9a25a66}.ka-filterbar .fb-spacer{flex:1}.ka-filterbar .fb-count{font-size:12px;color:var(--ka-text-3)}
