*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F2F2F7;--bg-content: #FFFFFF;--bg-secondary: #F2F2F7;--bg-tertiary: #E5E5EA;--bg-card: #FFFFFF;--separator: rgba(0,0,0,.08);--separator-strong: rgba(0,0,0,.12);--text: #000000;--text-secondary: #3C3C43;--text-dim: #6D6D72;--text-quaternary: #AEAEB2;--accent: #128C7E;--accent-hover: #0F7A6D;--accent-pressed: #0C665B;--accent-light: rgba(18,140,126,.12);--accent-bg: #F6F7F8;--bubble-own: #D8FDD2;--danger: #FF3B30;--success: #34C759;--warning: #FF9500;--input-bg: #F2F2F7;--shadow-card: 0 2px 12px rgba(0,0,0,.06);--shadow-nav: 0 -1px 8px rgba(0,0,0,.04);--radius: 18px;--radius-sm: 14px;--radius-xs: 10px;--radius-pill: 20px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.msg-animate{animation:fadeIn .3s cubic-bezier(.25,.46,.45,.94) both}.card-animate{animation:slideUp .35s cubic-bezier(.25,.46,.45,.94) both}.modal-animate{animation:scaleIn .3s cubic-bezier(.25,.46,.45,.94) both}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer}input,textarea{font-size:16px;font-family:inherit}@keyframes swipeHint{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}.swipe-hint{animation:swipeHint 1.5s ease-in-out 2}@media (hover: none){button:active{opacity:.7;transform:scale(.97)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}body{overscroll-behavior-y:contain}.safe-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}
