:root{--brand-50: #faf5ea;--brand-100: #f3e9d6;--brand-300: #e3cc9f;--brand-500: #cda35f;--brand-600: #b3893f;--brand-700: #8a6a3b;--brand-800: #5f4a2c;--primary: #46372a;--primary-light: var(--brand-50);--primary-grad: linear-gradient(135deg, #3a2f22 0%, #6b5436 100%);--primary-grad-strong: linear-gradient(135deg, #241c14 0%, #3a2f22 100%);--success: #15803d;--success-bg: #eef6ee;--warning: #a1610c;--warning-bg: #fbf3e6;--danger: #c0392b;--danger-bg: #fbeeec;--info: #1d4ed8;--info-bg: #eef3fc;--ink-900: #241f1a;--ink-700: #4d443a;--ink-500: #7c7264;--ink-400: #a99e8f;--border: #e8e0d3;--border-light: #f2ece1;--surface: #fffdf9;--surface-2: #f6f0e7;--text-main: var(--ink-900);--text-sub: var(--ink-500);--bg-page: radial-gradient(1100px 620px at 88% -8%, rgba(205, 163, 95, .14), transparent 60%), radial-gradient(900px 560px at -8% 6%, rgba(120, 90, 50, .08), transparent 55%), linear-gradient(180deg, #fbf7ef 0%, #fdfbf6 45%, #ffffff 100%);--fs-display: 30px;--fs-h1: 24px;--fs-h2: 18px;--fs-h3: 16px;--fs-body: 14px;--fs-sm: 13px;--fs-caption: 12px;--fs-overline: 11px;--lh-body: 1.6;--lh-title: 1.35;--fw-normal: 400;--fw-medium: 600;--fw-bold: 800;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-full: 999px;--sh-1: 0 1px 2px rgba(60, 45, 25, .06);--sh-2: 0 6px 18px rgba(60, 45, 25, .08);--sh-3: 0 14px 36px rgba(60, 45, 25, .1);--t-fast: .15s ease-out;--t-base: .25s ease-out;--z-nav: 20;--z-modal: 100;--z-toast: 200}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--r-sm)}button:focus-visible,[role=button]:focus-visible{border-radius:var(--r-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-5);border:1px solid transparent;border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-h3);font-weight:var(--fw-medium);letter-spacing:.5px;cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast),opacity var(--t-fast)}.btn-block{width:100%}.btn-primary{background:var(--primary-grad);color:#fff;border-color:#ffffff1a;box-shadow:0 10px 22px #3a2f2247,inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background:var(--primary-grad-strong);transform:translateY(-1px);box-shadow:0 14px 28px #3a2f2252,inset 0 1px #ffffff2e}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--ink-900)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-300)}.btn-ghost{background:transparent;color:var(--brand-700)}.btn-ghost:hover:not(:disabled){background:var(--brand-50)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--sh-2)}.card-interactive{cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.field-label{display:block;font-size:var(--fs-caption);color:var(--ink-500);margin-bottom:var(--sp-2)}.field-input{width:100%;height:44px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink-900);font-size:var(--fs-h3);font-family:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.field-input::placeholder{color:var(--ink-400)}.field-input:focus,.field-input:focus-visible{outline:2px solid transparent;border-color:var(--brand-600);box-shadow:0 0 0 3px #b3893f2e}.field-input:disabled{background:var(--surface-2);color:var(--ink-400)}.field-input.error{border-color:var(--danger);background:var(--danger-bg)}.field-error{display:flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);font-size:var(--fs-caption);color:var(--danger)}.tag{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px 10px;border-radius:var(--r-full);font-size:var(--fs-overline);font-weight:var(--fw-medium);background:var(--surface-2);color:var(--ink-500)}.tag-success{background:var(--success-bg);color:var(--success)}.tag-warning{background:var(--warning-bg);color:var(--warning)}.tag-danger{background:var(--danger-bg);color:var(--danger)}.tag-info{background:var(--info-bg);color:var(--info)}.spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,system-ui,sans-serif;color:var(--text-main);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg-page);background-attachment:fixed;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,select{font-family:inherit;font-size:inherit}
