*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f4f4f7;--color-surface: #ffffff;--color-border: #dddde8;--color-primary: #5b52e0;--color-primary-hover: #4840c8;--color-text: #111118;--color-muted: #66667a;--color-danger: #d9334a;--color-success: #1a9e6a;--color-shadow: rgba(0, 0, 0, .07);--radius: 10px;font-family:system-ui,-apple-system,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #0f0f11;--color-surface: #1a1a1f;--color-border: #2a2a32;--color-primary: #6c63ff;--color-primary-hover: #5a52e0;--color-text: #e8e8f0;--color-muted: #888899;--color-danger: #ff5566;--color-success: #44bb88;--color-shadow: rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--color-bg: #0f0f11;--color-surface: #1a1a1f;--color-border: #2a2a32;--color-primary: #6c63ff;--color-primary-hover: #5a52e0;--color-text: #e8e8f0;--color-muted: #888899;--color-danger: #ff5566;--color-success: #44bb88;--color-shadow: rgba(0, 0, 0, .3)}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;transition:background .2s,color .2s}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.5rem 1.2rem;font-size:.95rem;font-weight:500;transition:background .15s,border-color .15s}button.primary{background:var(--color-primary);color:#fff}button.primary:hover{background:var(--color-primary-hover)}button.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}button.secondary:hover{border-color:var(--color-primary)}button.danger{background:var(--color-danger);color:#fff}input,textarea,select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.6rem .9rem;font-size:.95rem;width:100%;outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}label{display:block;margin-bottom:.3rem;color:var(--color-muted);font-size:.88rem;font-weight:500}.form-group{margin-bottom:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.2rem;box-shadow:0 1px 4px var(--color-shadow)}.error-msg{color:var(--color-danger);font-size:.88rem;margin-top:.4rem}.muted{color:var(--color-muted);font-size:.88rem}
