*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-text-size-adjust:100%}
.star-btn{cursor:pointer}
.star-btn.active{color:#facc15}
input,select,textarea,button{font-size:16px!important}
@media(max-width:640px){.container{padding-left:1rem;padding-right:1rem}}

/* ── Glass morphism ── */
.glass{background:rgba(26,26,26,0.75);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.06)}
.glass-sm{background:rgba(26,26,26,0.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.05)}
.glass-nav{background:rgba(10,10,10,0.82);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(239,68,68,0.12)}
.glass-drawer{background:rgba(26,26,26,0.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid rgba(255,255,255,0.05)}

/* ── htmx transitions ── */
.htmx-added{opacity:0}
.htmx-settling{opacity:0}
.htmx-request{opacity:0.7;transition:opacity 0.2s}
.fade-in{animation:fadeIn 0.25s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.15)}
