/* Non-utility styles layered on top of the Tailwind CDN config shared by every
   generated page (see build/templates.js `TAILWIND_CONFIG`). Lifted from the
   docs/designs/*.html mockups so the built site matches them exactly. */

body {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
}

.ambient-shadow {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.stream-item {
    transition: background-color 0.2s ease;
}

.stream-item:hover {
    background-color: theme('colors.surface-container-low');
}

.dark .stream-item:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Command palette / list keyboard-highlighted row */
.palette-row[data-active="true"] {
    border-left-color: #005fae;
    background-color: rgba(0, 0, 0, 0.02);
}

.dark .palette-row[data-active="true"] {
    border-left-color: #a5c8ff;
    background-color: rgba(255, 255, 255, 0.04);
}

.palette-row[data-active="true"] .row-icon {
    color: #005fae;
}

.dark .palette-row[data-active="true"] .row-icon {
    color: #a5c8ff;
}

/* Collapsible section-list sidebar nav */
.side-nav {
    width: 220px;
    transition: width 0.2s ease;
}

.side-nav[data-collapsed="true"] {
    width: 56px;
}

.side-nav[data-collapsed="true"] .side-nav-label {
    display: none;
}

.side-nav[data-collapsed="true"] .side-nav-link {
    justify-content: center;
}

/* Intro video atop the command palette */
.palette-video {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .palette-video {
        height: 220px;
    }
}

/* Sound mute toggle, sits inside the palette search row */
.mute-toggle {
    color: #46464a;
    opacity: 0.6;
    transition: opacity 0.15s ease;
}

.mute-toggle:hover {
    opacity: 1;
}

.dark .mute-toggle {
    color: #8c8382;
}

/* Markdown post typography */
.prose h2 {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-top: 48px;
    margin-bottom: 24px;
}

.prose h3 {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 32px;
    margin-bottom: 16px;
}

.prose p {
    margin-bottom: 24px;
}

.prose blockquote {
    border-left: 2px solid #005fae;
    padding-left: 24px;
    margin-left: 0;
    margin-right: 0;
    font-style: italic;
    color: #46464a;
}

.dark .prose blockquote {
    color: #8c8382;
}

.prose code:not(pre code) {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    background-color: #e8e8ea;
    padding: 2px 6px;
    border-radius: 4px;
    color: #030304;
}

.dark .prose code:not(pre code) {
    background-color: #262626;
    color: #f2f2f2;
}

.prose pre {
    background-color: #0A0A0A;
    padding: 24px;
    border-radius: 4px;
    overflow-x: auto;
    margin-bottom: 32px;
}

.prose pre code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    color: #F2F2F2;
}

.prose a {
    text-decoration: underline;
    text-decoration-color: #005fae;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: text-decoration-color 0.2s ease;
}

.dark .prose a {
    text-decoration-color: #a5c8ff;
}

.prose a:hover {
    text-decoration-color: transparent;
}

.prose img {
    margin: 48px 0;
    border-radius: 4px;
    max-width: 100%;
}

.prose ul {
    list-style-type: disc;
    padding-left: 24px;
    margin-bottom: 24px;
}

.prose li {
    margin-bottom: 8px;
}
