:root{--bg-base: #1a1612;--bg-surface: #231f1a;--bg-elevated: #2c2620;--bg-hover: #342e27;--border-subtle: #3d352c;--border-default: #4a4038;--text-primary: #e8e0d6;--text-secondary: #a89e94;--text-tertiary: #7a7068;--accent-green: #4ade80;--accent-amber: #f59e0b;--accent-red: #f87171;--accent-teal: #2dd4bf;--accent-brand: #c87941;--accent-brand-hover: #d4874e;--accent-green-bg: rgba(74, 222, 128, .08);--accent-amber-bg: rgba(245, 158, 11, .08);--accent-red-bg: rgba(248, 113, 113, .08);--accent-teal-bg: rgba(45, 212, 191, .08);--accent-brand-bg: rgba(200, 121, 65, .1);--accent-green-border: rgba(74, 222, 128, .2);--accent-amber-border: rgba(245, 158, 11, .2);--accent-red-border: rgba(248, 113, 113, .2);--accent-teal-border: rgba(45, 212, 191, .2);--accent-brand-border: rgba(200, 121, 65, .2);--font-sans: "DM Sans", "Noto Sans CJK TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", monospace;--text-xs: .8rem;--text-sm: .95rem;--text-base: 1.125rem;--text-lg: 1.4rem;--text-xl: 1.75rem;--text-2xl: 2.2rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-teal);text-decoration:none}a:hover{color:#5be8d5}:lang(zh),:lang(ja),:lang(ko){line-height:1.8}h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em}h3{font-size:var(--text-lg);font-weight:600;letter-spacing:-.02em}h4{font-size:var(--text-base);font-weight:600}:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-6);transition:border-color var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--border-default)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--accent-brand)}.badge{display:inline-flex;align-items:center;padding:var(--sp-1) var(--sp-3);border-radius:999px;font-size:var(--text-xs);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;line-height:1;white-space:nowrap}.badge-green{background:var(--accent-green-bg);color:var(--accent-green);border:1px solid var(--accent-green-border)}.badge-amber{background:var(--accent-amber-bg);color:var(--accent-amber);border:1px solid var(--accent-amber-border)}.badge-red{background:var(--accent-red-bg);color:var(--accent-red);border:1px solid var(--accent-red-border)}.badge-teal{background:var(--accent-teal-bg);color:var(--accent-teal);border:1px solid var(--accent-teal-border)}.badge-brand{background:var(--accent-brand-bg);color:var(--accent-brand);border:1px solid var(--accent-brand-border)}.badge-muted{background:var(--bg-elevated);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.status{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text-primary);font-size:var(--text-sm)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-green{background:var(--accent-green);box-shadow:0 0 6px #4ade8066}.dot-amber{background:var(--accent-amber);box-shadow:0 0 6px #f59e0b4d}.dot-red{background:var(--accent-red);box-shadow:0 0 6px #f871714d}.dot-teal{background:var(--accent-teal);box-shadow:0 0 6px #2dd4bf4d}.dot-muted{background:var(--text-tertiary);box-shadow:none}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--duration-fast) var(--ease-out)}.btn-primary{background:var(--accent-brand);color:var(--bg-base)}.btn-primary:hover{background:var(--accent-brand-hover)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
