:root{--color-primary: #ce0058;--color-primary-light: #e8337d;--color-primary-dark: #a30046;--color-primary-subtle: #fdf0f4;--color-bg: #ffffff;--color-bg-secondary: #f8f8fa;--color-bg-chat-user: #ce0058;--color-bg-chat-assistant: #f3f3f5;--color-text: #1a1a2e;--color-text-secondary: #6b6b80;--color-text-inverse: #ffffff;--color-text-on-primary: #ffffff;--color-border: #e8e8ec;--color-border-light: #f0f0f3;--color-success: #2d8a56;--color-error: #d93025;--color-warning: #e8a317;--font-family: "Maven Pro", system-ui, -apple-system, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .1);--keyboard-height: 0px;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{height:100dvh;display:flex;flex-direction:column}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}button,a,input,textarea,select{font-family:inherit;font-size:inherit}button,a{min-height:44px;min-width:44px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-md);font-weight:600;font-size:16px;cursor:pointer;transition:background-color .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background-color:var(--color-primary-light)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-border)}.btn-ghost{background:none;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-bg-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
