:root{color-scheme:light;--accent: #ec1c14;--accent-solid: var(--accent);--accent-hover: var(--accent);--accent-press: var(--accent);--accent-text: #d4140c;--accent-soft: #fff1ef;--bg: #ffffff;--bg-sunken: #faf7f2;--border: #cfc7b5;--fg: #1a1916;--fg-muted: #5c5648;--fg-subtle: #807865;--hairline: #e6e0d2;--success: #1a7f64;--success-soft: #edf8f3;--warning: #986c12;--warning-soft: #fff8e8;--error: #8a4238;--error-soft: #f0dedb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}button,input{font:inherit}button{color:inherit}.brand-lockup{align-items:center;display:flex;gap:10px}.brand-lockup img{border-radius:6px;display:block;height:30px;width:30px}.brand-lockup strong{font:700 16px/1.2 Songti SC,STSong,SimSun,serif;letter-spacing:.02em}.icon-button{align-items:center;background:transparent;border:0;border-radius:8px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.icon-button:hover{background:var(--bg-sunken)}.icon-button:focus-visible,.button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:7px;height:38px;justify-content:center;padding:0 14px;transition:background .15s ease,border-color .15s ease,color .15s ease}.button:hover:not(:disabled){border-color:var(--fg-subtle)}.button:disabled{cursor:not-allowed;opacity:.52}.button--primary{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button--primary:active:not(:disabled){background:var(--accent-press);border-color:var(--accent-press)}.button--danger{border-color:color-mix(in srgb,var(--error) 45%,var(--hairline));color:var(--error)}.button--ghost{border-color:transparent;padding-inline:8px}.button--sm{height:32px;padding-inline:10px}.status-dot{background:var(--fg-subtle);border-radius:999px;height:8px;width:8px}.status-dot--success{background:var(--success)}.status-dot--error{background:var(--error)}.status-dot--running{animation:pulse 1.2s ease-in-out infinite;background:var(--accent)}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.status-dot--running{animation:none}}
