:root{--color-primary: #6c5ce7;--color-primary-hover: #5a4bd1;--color-primary-light: #ede9ff;--color-bg: #f4f3ff;--color-card: #ffffff;--color-text: #2d2d2d;--color-text-body: #555;--color-text-muted: #888;--color-border: #e8e5f5;--color-danger: #e74c3c;--color-danger-hover: #c0392b;--color-success: #27ae60;--color-success-hover: #219a52;--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--shadow: 0 2px 16px rgba(108, 92, 231, .08);--shadow-lg: 0 8px 32px rgba(108, 92, 231, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--max-width: 900px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text-body);line-height:1.6;min-height:100vh}img{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4{color:var(--color-text);line-height:1.3}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.1rem}button,input,textarea,select{font-family:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.3rem;border:2px solid transparent;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#fdf0ef}.btn-danger-fill{background:var(--color-danger);color:#fff}.btn-danger-fill:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}
