html{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}button:active{transform:scale(.98)}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.recording-pulse:before{content:"";position:absolute;inset:0;border-radius:50%;background:#f9731666;animation:pulse-ring 1.5s ease-out infinite}@keyframes volume-bounce{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.volume-bar{animation:volume-bounce .5s ease-in-out infinite}.gradient-text{background:linear-gradient(135deg,#f97316,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-shadow{box-shadow:0 4px 20px #00000014}.waveform-container{display:flex;align-items:center;justify-content:center;gap:3px;height:60px}.waveform-bar{width:4px;background:linear-gradient(to top,#f97316,#fb923c);border-radius:2px;transition:height .1s ease}input:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px #f973161a}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.wechat-tip{display:none}@media (hover: none) and (pointer: coarse){.wechat-tip{display:block}}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 375px){html{font-size:14px}}@media (min-width: 414px){html{font-size:16px}}@tailwind base;@tailwind components;@tailwind utilities;@layer base{*{@apply box-border;}html{@apply antialiased;-webkit-tap-highlight-color:transparent}body{@apply m-0 p-0 min-h-screen bg-gray-50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}#root{@apply min-h-screen;}}@layer components{.btn-primary{@apply px-6 py-3 bg-orange-500 text-white rounded-xl font-medium hover:bg-orange-600 active:scale-[.98] transition-all disabled:bg-gray-300 disabled:cursor-not-allowed;}.btn-secondary{@apply px-6 py-3 border border-gray-300 text-gray-700 rounded-xl font-medium hover:bg-gray-50 active:scale-[.98] transition-all;}.card{@apply bg-white rounded-2xl shadow-soft p-6;}.input-field{@apply w-full px-4 py-3 border border-gray-200 rounded-xl focus:ring-2 focus:ring-orange-500 focus:border-transparent outline-none transition-all;}}@layer utilities{.text-gradient{@apply bg-gradient-to-r from-orange-500 to-orange-600 bg-clip-text text-transparent;}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area-top{padding-top:env(safe-area-inset-top,0)}}
