:root{--primary:#2563eb;--primary-strong:#1d4ed8;--primary-weak:#eff6ff;--accent:#f59e0b;--accent-weak:#fff7e6;--danger:#ef4444;--danger-weak:#fef2f2;--success:#10b981;--success-weak:#ecfdf5;--bg:#f6f7fb;--card:#fff;--text:#1f2937;--text-muted:#6b7280;--border:#e5e7eb;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 4px 16px #10182814;--shadow-lg:0 12px 32px #1018281f;--container:1120px;--space-section:64px;--space-section-sm:40px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(1000px 300px at 50% -100px,#2563eb14,transparent 70%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}a{color:var(--primary)}img{max-width:100%}::selection{background:#2563eb2e}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d1d5db padding-box content-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}::-webkit-scrollbar-track{background:0 0}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:16px;transition:box-shadow .25s,transform .25s}.btn{border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(180deg,var(--primary),var(--primary-strong));color:#fff;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 20px;font-family:inherit;font-size:14px;transition:opacity .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 6px #2563eb47}.btn:hover{opacity:.92;box-shadow:0 4px 12px #2563eb52}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--primary);border:1px solid var(--primary);box-shadow:none;background:#fff}.btn-secondary:hover{background:var(--primary-weak)}.input{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;outline:none;padding:9px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}
