:root{--theme-mode: light;--brand-primary: #2563eb;--brand-primary-hover: #1d4ed8;--brand-primary-active: #1e40af;--brand-primary-light: #93c5fd;--brand-primary-dim: rgba(37, 99, 235, .1);--brand-secondary: #3b82f6;--brand-secondary-hover: #2563eb;--brand-secondary-dim: rgba(59, 130, 246, .1);--brand-accent: #f97316;--brand-accent-hover: #ea580c;--brand-accent-dim: rgba(249, 115, 22, .1);--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: rgba(255, 255, 255, .85);--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-disabled: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-glow-primary: 0 0 20px rgba(37, 99, 235, .3);--shadow-glow-secondary: 0 0 20px rgba(59, 130, 246, .25);--shadow-glass: 0 8px 32px rgba(0, 0, 0, .08);--shadow-glass-hover: 0 12px 48px rgba(0, 0, 0, .12);--font-display: "Fira Code", "Fira Sans", system-ui, -apple-system, sans-serif;--font-body: "Fira Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "SF Mono", "Roboto Mono", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--brand-logo-display: icon;--brand-logo-url: none;--brand-logo-text: "城市探险家";--brand-bg-pattern: none;--brand-bg-opacity: 0;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--easing-smooth: cubic-bezier(.4, 0, .2, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--easing-standard: cubic-bezier(.4, 0, .2, 1);--easing-deceleration: cubic-bezier(0, 0, .2, 1);--easing-acceleration: cubic-bezier(.4, 0, 1, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{transition-property:background-color,border-color,color,box-shadow,fill,stroke,transform,opacity,filter;transition-duration:var(--duration-base);transition-timing-function:var(--easing-smooth)}*:not([data-theme]) *,[data-transition=none]{transition:none!important}.ant-modal-content,.ant-dropdown-menu,.ant-select-dropdown{transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.glass-card{background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow-glass)}@supports not (backdrop-filter: blur(12px)){.glass-card{background:var(--bg-secondary);border:1px solid var(--border-subtle)}}.glass-modal{background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-xl)}@supports not (backdrop-filter: blur(16px)){.glass-modal{background:var(--bg-secondary)}}.glass-backdrop{background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hover-card{cursor:pointer;transition:transform var(--duration-base) var(--easing-smooth),box-shadow var(--duration-base) var(--easing-smooth)}.hover-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-glass-hover)}@media(prefers-reduced-motion:reduce){.hover-card:hover{transform:none}}*:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--brand-primary);color:#fff;padding:8px 16px;text-decoration:none;border-radius:0 0 var(--radius-md) 0;z-index:9999}.skip-to-content:focus{top:0}.md-card{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--easing-standard)}.md-card:hover{box-shadow:var(--shadow-md)}.md-button{background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-weight:500;transition:all var(--duration-base) var(--easing-standard);box-shadow:var(--shadow-sm);cursor:pointer}.md-button:hover{background:var(--brand-primary-hover);box-shadow:var(--shadow-md)}.md-button:active{box-shadow:var(--shadow-sm)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--border-default) var(--bg-primary)}::selection{background:var(--brand-primary);color:#fff}::-moz-selection{background:var(--brand-primary);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shadow-1{box-shadow:var(--shadow-sm)}.shadow-2{box-shadow:var(--shadow-md)}.shadow-3{box-shadow:var(--shadow-lg)}.shadow-4{box-shadow:var(--shadow-xl)}.ant-layout{background:var(--bg-primary)!important}.ant-layout-sider{background:var(--bg-secondary)!important}.ant-layout-header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-subtle)!important}.ant-layout-content{background:var(--bg-primary)!important}.ant-card{background:var(--bg-secondary)!important;border-color:var(--border-subtle)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important}.ant-card-head{background:transparent!important;border-bottom-color:var(--border-subtle)!important}.ant-card-head-title{color:var(--text-primary)!important;font-weight:600!important}.ant-table{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-radius:var(--radius-lg)!important}.ant-table-thead>tr>th{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border-bottom-color:var(--border-subtle)!important;font-weight:600!important}.ant-table-tbody>tr>td{border-bottom-color:var(--border-subtle)!important}.ant-table-tbody>tr:hover>td{background:var(--bg-primary)!important}.ant-menu{background:transparent!important}.ant-menu-item{color:var(--text-primary)!important;height:44px!important;border-radius:var(--radius-md)!important;margin:4px 8px!important}.ant-menu-item-selected{background:#2563eb1a!important;color:#2563eb!important}.ant-menu-item-selected:after{border-right-color:#2563eb!important}.ant-menu-item:hover{background:#2563eb0d!important}.ant-btn-primary{background:#2563eb!important;border:none!important;box-shadow:var(--shadow-sm)!important;border-radius:var(--radius-md)!important}.ant-btn-primary:hover{background:#1d4ed8!important;box-shadow:var(--shadow-md)!important}.ant-btn-primary:active{box-shadow:var(--shadow-sm)!important}.ant-input{background:var(--bg-secondary)!important;border-color:var(--border-subtle)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important}.ant-input:focus,.ant-input-focused{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-input::placeholder{color:var(--text-tertiary)!important}.ant-modal-content{background:#fffffff2!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important}.ant-modal-mask{background:#0006!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ant-modal-header{background:transparent!important;border-bottom-color:var(--border-subtle)!important}.ant-modal-title{color:var(--text-primary)!important;font-weight:600!important}.ant-modal-close-x{color:var(--text-secondary)!important}.ant-dropdown-menu{background:var(--bg-secondary)!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.ant-dropdown-menu-item{color:var(--text-primary)!important}.ant-dropdown-menu-item:hover{background:var(--bg-primary)!important}.ant-tag{background:var(--bg-primary)!important;border-color:var(--border-subtle)!important;color:var(--text-primary)!important;border-radius:var(--radius-sm)!important}.ant-statistic-title{color:var(--text-secondary)!important}.ant-statistic-content{color:var(--text-primary)!important;font-weight:700}.ant-form-item-label>label{color:var(--text-primary)!important;font-weight:500}.ant-form-item-explain-error{color:#ef4444!important}.ant-breadcrumb-link{color:var(--text-secondary)!important}.ant-breadcrumb-separator{color:var(--text-tertiary)!important}.ant-select-selector{background:var(--bg-secondary)!important;border-color:var(--border-subtle)!important;border-radius:var(--radius-md)!important}.ant-select-focused .ant-select-selector{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.ant-pagination-item{background:var(--bg-secondary)!important;border-color:var(--border-subtle)!important;border-radius:var(--radius-sm)!important}.ant-pagination-item:hover{border-color:#2563eb!important}.ant-pagination-item-active{background:#2563eb!important;border-color:#2563eb!important}.ant-pagination-item-active a{color:#fff!important}@media(max-width:768px){body{font-size:13px}.ant-layout-sider{position:fixed!important;z-index:var(--z-fixed)}}@media print{.ant-layout-sider,.ant-layout-header{display:none!important}body{background:#fff;color:#000}}
