/* Small global additions on top of Tailwind (CDN). Keep this file short. */
[x-cloak] { display: none !important; }

/* Subtle grid backgrounds used behind page headers */
.adc-grid-bg {
  background-image:
    linear-gradient(to right, rgb(228 228 231 / .55) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(228 228 231 / .55) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 100%);
}
.dark .adc-grid-bg {
  background-image:
    linear-gradient(to right, rgb(63 63 70 / .35) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(63 63 70 / .35) 1px, transparent 1px);
}
.adc-grid-bg-dark {
  background-image:
    linear-gradient(to right, rgb(255 255 255 / .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(255 255 255 / .06) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* Course cover gradients (catalogue cards) */
.adc-cover { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.adc-cover::after {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgb(255 255 255 / .22) 1px, transparent 0);
  background-size: 16px 16px;
}
.adc-cover[data-variant="1"] { background: linear-gradient(135deg, #0ea5e9, #6366f1); }
.adc-cover[data-variant="2"] { background: linear-gradient(135deg, #10b981, #0ea5e9); }
.adc-cover[data-variant="3"] { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.adc-cover[data-variant="4"] { background: linear-gradient(135deg, #ec4899, #8b5cf6); }
.adc-cover[data-variant="5"] { background: linear-gradient(135deg, #14b8a6, #22c55e); }
.adc-cover[data-variant="6"] { background: linear-gradient(135deg, #334155, #6366f1); }
.adc-cover > * { z-index: 1; }

/* Secondary button used in toolbars */
.adc-btn-secondary {
  display: inline-flex; align-items: center; gap: .45rem;
  border-radius: .65rem; border: 1px solid rgb(228 228 231); background: #fff;
  padding: .45rem .8rem; font-size: .8125rem; font-weight: 600; color: rgb(63 63 70);
  box-shadow: 0 1px 2px rgb(0 0 0 / .04); transition: all .15s;
}
.adc-btn-secondary:hover { border-color: rgb(165 180 252); color: rgb(67 56 202); }
.dark .adc-btn-secondary { background: rgb(24 24 27); border-color: rgb(63 63 70); color: rgb(212 212 216); }
.dark .adc-btn-secondary:hover { border-color: rgb(99 102 241 / .6); color: rgb(199 210 254); }
.adc-btn-accent { border-color: rgb(165 180 252); color: rgb(67 56 202); }
.dark .adc-btn-accent { border-color: rgb(99 102 241 / .5); color: rgb(165 180 252); }

/* TOC scrollspy active state */
.adc-toc a[data-active="true"] { border-left-color: rgb(99 102 241); color: rgb(67 56 202); font-weight: 600; }
.dark .adc-toc a[data-active="true"] { color: rgb(165 180 252); }

/* Micro-interactions */
@keyframes adc-pop { 0% { transform: scale(.85); opacity: .4 } 60% { transform: scale(1.04) } 100% { transform: scale(1); opacity: 1 } }
.adc-pop { animation: adc-pop .35s ease-out; }
@keyframes adc-shake { 0%,100% { transform: translateX(0) } 25% { transform: translateX(-4px) } 75% { transform: translateX(4px) } }
.adc-shake { animation: adc-shake .25s ease-in-out 2; }
@media (prefers-reduced-motion: reduce) { .adc-pop, .adc-shake { animation: none; } }
