body { font-family: 'IBM Plex Sans', sans-serif; }
code, pre { font-family: 'IBM Plex Mono', monospace; }

.chat-row-block { padding: 14px 0; }
.chat-panel {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
}

.folder-chevron {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid rgb(148 163 184);
    border-bottom: 2px solid rgb(148 163 184);
    transform: rotate(-45deg);
    transition: transform 0.2s;
}

details.is-open > summary .folder-chevron { transform: rotate(45deg); }
details { border: none !important; box-shadow: none !important; }
h1, h2, h3, h4, h5, h6 { scroll-margin-top: 7rem; }

* { scrollbar-width: thin; scrollbar-color: rgb(203 213 225) transparent; }
*::-webkit-scrollbar { width: 3px; height: 3px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background-color: rgb(203 213 225); border-radius: 2px; }
*::-webkit-scrollbar-thumb:hover { background-color: rgb(148 163 184); }
.dark *::-webkit-scrollbar-thumb { background-color: rgb(71 85 105); }
.dark *::-webkit-scrollbar-thumb:hover { background-color: rgb(100 116 139); }
.dark * { scrollbar-color: rgb(71 85 105) transparent; }

.sidebar-highlight { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35); transition: box-shadow 10s ease, background-color 10s ease; }
.sidebar-highlight.fade-out { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0); }

body.pdf-focus { overflow: hidden; }
body.pdf-focus #site-navbar,
body.pdf-focus #site-footer,
body.pdf-focus #posts-sidebar,
body.pdf-focus #toc-sidebar,
body.pdf-focus #mobile-posts-panel,
body.pdf-focus #mobile-toc-panel { display: none !important; }
body.pdf-focus #content-with-sidebars { max-width: none !important; width: 100vw !important; padding: 0 !important; margin: 0 !important; gap: 0 !important; }
body.pdf-focus #main-content { padding: 1rem !important; }
body.pdf-focus .pdf-viewer { height: calc(100vh - 6rem) !important; }

body.iframe-fullscreen-open { overflow: hidden; }
.iframe-fullscreen-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(2, 6, 23, 0.85); display: flex; flex-direction: column; }
.iframe-fullscreen-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 1rem; color: #e2e8f0; font-size: 0.9rem; background: rgba(15, 23, 42, 0.9); border-bottom: 1px solid rgba(148, 163, 184, 0.3); }
.iframe-fullscreen-body { flex: 1; padding: 0.75rem; }
.iframe-fullscreen-frame { width: 100%; height: 100%; border: 0; border-radius: 0.5rem; background: #0f172a; }

.layout-fluid {
    --layout-breakpoint: 1280px;
    --layout-blend: 240px;
    max-width: calc(100% - (100% - var(--layout-max-width)) * clamp(0, (100vw - var(--layout-breakpoint)) / var(--layout-blend), 1)) !important;
}

.tabs-container { margin: 2rem 0; border: 1px solid rgb(226 232 240); border-radius: 0.5rem; overflow: visible; box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1); }
.dark .tabs-container { border-color: rgb(51 65 85); box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3); }
.tabs-header { display: flex; background: rgb(248 250 252); border-bottom: 1px solid rgb(226 232 240); gap: 0; }
.dark .tabs-header { background: rgb(15 23 42); border-bottom-color: rgb(51 65 85); }
.tab-button { flex: 1; padding: 0.875rem 1.5rem; background: transparent; border: none; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 500; font-size: 0.9375rem; color: rgb(100 116 139); transition: all 0.15s ease; position: relative; margin-bottom: -1px; }
.dark .tab-button { color: rgb(148 163 184); }
.tab-button:hover:not(.active) { background: rgb(241 245 249); color: rgb(51 65 85); }
.dark .tab-button:hover:not(.active) { background: rgb(30 41 59); color: rgb(226 232 240); }
.tab-button.active { color: rgb(15 23 42); border-bottom-color: rgb(15 23 42); background: white; font-weight: 600; }
.dark .tab-button.active { color: rgb(248 250 252); border-bottom-color: rgb(248 250 252); background: rgb(2 6 23); }
.tabs-content { background: white; position: relative; overflow: visible; }
.dark .tabs-content { background: rgb(2 6 23); }
.tab-panel { padding: 1rem; animation: fadeIn 0.2s ease-in; position: absolute; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; pointer-events: none; overflow: visible; }
.tab-panel.active { position: relative; opacity: 1; visibility: visible; pointer-events: auto; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.tab-panel > *:first-child { margin-top: 0 !important; }
.tab-panel > *:last-child { margin-bottom: 0 !important; }
.tab-panel pre { border-radius: 0.375rem; font-size: 0.875rem; }
.tab-panel code { font-family: 'IBM Plex Mono', monospace; }

.vyasa-table-scroll { width: 100%; max-width: 100%; position: static; left: auto; transform: none; margin: 1.5rem 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable both-edges; box-shadow: none; transition: box-shadow 160ms ease; }
.vyasa-table-scroll.vyasa-table-breakout { width: min(var(--vyasa-breakout-width, 80vw), 80vw); max-width: 80vw; position: relative; left: 50%; transform: translateX(-50%); }
.vyasa-table-scroll.has-right-overflow { box-shadow: inset -18px 0 16px -14px rgba(15, 23, 42, 0.32); }
.vyasa-table-scroll.has-left-overflow { box-shadow: inset 18px 0 16px -14px rgba(15, 23, 42, 0.32); }
.vyasa-table-scroll.has-left-overflow.has-right-overflow { box-shadow: inset 18px 0 16px -14px rgba(15, 23, 42, 0.32), inset -18px 0 16px -14px rgba(15, 23, 42, 0.32); }
.dark .vyasa-table-scroll.has-right-overflow { box-shadow: inset -18px 0 16px -14px rgba(2, 6, 23, 0.62); }
.dark .vyasa-table-scroll.has-left-overflow { box-shadow: inset 18px 0 16px -14px rgba(2, 6, 23, 0.62); }
.dark .vyasa-table-scroll.has-left-overflow.has-right-overflow { box-shadow: inset 18px 0 16px -14px rgba(2, 6, 23, 0.62), inset -18px 0 16px -14px rgba(2, 6, 23, 0.62); }
.vyasa-table-scroll > table, .vyasa-table-scroll > .uk-table { width: max-content !important; min-width: 0; table-layout: auto; margin: 0 auto; }
.uk-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(71, 85, 105, 0.08); }
.dark .uk-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(148, 163, 184, 0.12); }
.uk-table-striped tbody tr:hover { background-color: rgba(59, 130, 246, 0.1); }
.dark .uk-table-striped tbody tr:hover { background-color: rgba(59, 130, 246, 0.15); }
.uk-table thead { border-bottom: 2px solid rgba(71, 85, 105, 0.3); }
.dark .uk-table thead { border-bottom: 2px solid rgba(148, 163, 184, 0.4); }
.uk-table thead th { font-weight: 600; font-size: 1.25rem; color: rgb(51, 65, 85); }
.dark .uk-table thead th { color: rgb(226, 232, 240); }
.uk-table th:not(:last-child), .uk-table td:not(:last-child) { border-right: 1px solid rgba(71, 85, 105, 0.15); }
.dark .uk-table th:not(:last-child), .dark .uk-table td:not(:last-child) { border-right: 1px solid rgba(148, 163, 184, 0.2); }
