/* BluntAI shared chrome — structural rules that apply in both modes.
   Color / typography variations live in dark/light chrome files. */

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

html { scroll-behavior: smooth; color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

body {
    background: var(--bg);
    color: var(--text);
    transition: background-color var(--t-base), color var(--t-base);
    min-height: 100vh;
}

a { color: inherit; text-decoration: none; }

img, figure { max-width: 100%; display: block; }

/* Visible focus state for keyboard navigation — uses current cat accent */
:focus-visible {
    outline: 2px solid var(--cat-accent);
    outline-offset: 3px;
    border-radius: 3px;
}

/* Page width wrapper */
.bluntai-wrap, .header-inner, .page-content > * {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
}
@media (max-width: 767px) {
    .bluntai-wrap, .header-inner, .page-content > * { padding-left: 16px; padding-right: 16px; }
}

/* Reading progress bar rail — painted by bluntai-scroll-morph.css */
.reading-progress {
    position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 200;
    pointer-events: none;
}
