*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--surface-bg);min-height:100vh;line-height:1.6}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit}
input,select,textarea{font-family:inherit}
img{max-width:100%;display:block}
ul,ol{list-style:none}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
:focus-visible{outline:2px solid var(--base-dark);outline-offset:2px;border-radius:var(--radius-sm)}
::selection{background:var(--lime-dim);color:var(--text)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flex{display:flex}.flex-col{flex-direction:column}
.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}
.w-full{width:100%}
.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}
.font-medium{font-weight:500}.font-semibold{font-weight:600}
.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}
.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}
.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}
