.site-shell { max-width: 1480px; min-height: 100vh; margin: 0 auto; padding: 0 48px; }
.site-header { height: 78px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font: 800 16px Manrope, sans-serif; letter-spacing: -.4px; }
.brand-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent); color: white; font: 800 15px Manrope, sans-serif; box-shadow: 0 4px 10px rgb(49 94 234 / 22%); }
.header-actions { display: flex; align-items: center; gap: 22px; }
.privacy-pill { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.privacy-dot, .status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px color-mix(in srgb, var(--green) 13%, transparent); }
.theme-toggle { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); cursor: pointer; padding: 8px 12px; font-size: 12px; font-weight: 600; }
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }
.page-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.main-content { min-width: 0; }
.site-footer { min-height: 74px; margin-top: 56px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.ad-slot { display: none; }
@media (min-width: 1280px) { .site-shell { padding-inline: 64px; } }
@media (max-width: 650px) { .site-shell { padding-inline: 20px; } .site-header { height: 68px; } .header-actions { gap: 10px; } .privacy-pill { display: none; } .site-footer { margin-top: 36px; gap: 12px; font-size: 10px; } }
