:root { --app-bg: #f5f7fb; --app-primary: #5b4df5; }
body { background: var(--app-bg); }
.app-navbar { background: linear-gradient(135deg, #1d2144, #5b4df5); }
.shadow-soft { box-shadow: 0 20px 60px rgba(31, 38, 135, .10); }
.rounded-4 { border-radius: 1.25rem !important; }
.sticky-panel { position: sticky; top: 1.25rem; }
.center-stage { min-height: 70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.spinner-modern { width: 76px; height: 76px; border-radius: 50%; border: 7px solid rgba(91,77,245,.15); border-top-color: var(--app-primary); animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.idea-card input { font-weight: 600; }
.avatar-frame { width: min(360px, 90vw); aspect-ratio: 9/16; background: #fff; border: 1px solid #e8eaf2; border-radius: 1.25rem; overflow: hidden; display:flex; align-items:center; justify-content:center; }
.avatar-frame img { width:100%; height:100%; object-fit:cover; }
.video-preview { width: 160px; aspect-ratio: 9/16; background:#111; border-radius:.75rem; }
.badge-status { text-transform: uppercase; letter-spacing: .04em; font-size: .72rem; }
pre.wrap { white-space: pre-wrap; }
