:root{--background:0 0% 7%;--foreground:0 0% 90%;--card:0 0% 10%;--card-foreground:0 0% 90%;--popover:0 0% 10%;--popover-foreground:0 0% 90%;--primary:0 0% 90%;--primary-foreground:0 0% 7%;--secondary:0 0% 15%;--secondary-foreground:0 0% 80%;--muted:0 0% 14%;--muted-foreground:0 0% 55%;--accent:0 0% 90%;--accent-foreground:0 0% 7%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:0 0% 18%;--input:0 0% 18%;--ring:0 0% 90%;--link:0 0% 70%;--link-hover:0 0% 80%;--button:0 0% 15%;--button-foreground:0 0% 90%;--button-border:0 0% 22%;--button-hover:0 0% 20%;--button-hover-foreground:0 0% 95%;--button-hover-border:0 0% 40%;--button-ring:0 0% 90%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:0 0% 5%;--sidebar-foreground:0 0% 80%;--sidebar-primary:0 0% 90%;--sidebar-primary-foreground:0 0% 7%;--sidebar-accent:0 0% 12%;--sidebar-accent-foreground:0 0% 80%;--sidebar-border:0 0% 15%;--sidebar-ring:0 0% 90%;--radius:0.5rem}body,html{margin:0;scroll-behavior:smooth}*,:after,:before{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}.confession-card-reveal,.confession-card-reveal--visible,[style*=animation],[style*=transform]{transition-property:background-color,border-color,color,box-shadow}[data-theme-mode=light] body{background-color:hsl(var(--background))}[data-theme-mode=light] [role=dialog]{box-shadow:0 8px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06)!important}::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:.7}::placeholder{color:hsl(var(--muted-foreground));opacity:.7}[data-theme-mode=light] input[type=text]{background-color:hsl(var(--card))}[data-theme-mode=light] textarea{background-color:hsl(var(--muted))!important;border-color:hsl(var(--border))!important}@keyframes confession-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confession-card-animated{animation:confession-enter .3s ease both}@keyframes scroll-top-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scroll-top-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.92)}}@keyframes banner-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes load-more-pulse{0%,to{opacity:1}50%{opacity:.65}}