*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body, #root { height: 100%; overflow: hidden; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #F9F8F5; color: #1A1916; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #F4F3EF; }
::-webkit-scrollbar-thumb { background: #D4D2CB; border-radius: 3px; }
@keyframes fadeUp   { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes pulse    { 0%,100%{opacity:.3;transform:scale(.8)} 50%{opacity:1;transform:scale(1)} }
@keyframes blink    { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes shimmer  { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
@keyframes spin     { to { transform: rotate(360deg); } }
.msg-bubble  { animation: fadeUp .25s ease; }
.hover-gold:hover  { background: rgba(122,92,30,.05) !important; border-color: rgba(122,92,30,.25) !important; }
.hover-dim:hover   { color: #7A5C1E !important; }
.hover-lift:hover  { transform: translateY(-1px); }
.cursor-blink::after { content:'▋'; color:#7A5C1E; animation: blink 1s step-end infinite; }
.skel { background: linear-gradient(90deg,#E8E7E2 25%,#F4F3EF 50%,#E8E7E2 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:4px; }
textarea { resize:none; }
textarea:focus, input:focus { outline: none; box-shadow: 0 0 0 2px rgba(122,92,30,.12); }
select:focus { outline: none; box-shadow: 0 0 0 2px rgba(122,92,30,.12); }
select { appearance:none; }
button { cursor:pointer; font-family:inherit; }
* { transition-property: none; }
.trans { transition: all .18s ease !important; }
/* Override Bootstrap base */
body, input, textarea, select, button { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
