/* Readable type and a quiet, locally drawn landscape behind the interface. */
:root {
    --muted: #566651;
    --type-body: 16px;
    --type-small: 14px;
}
@media screen {
    body.site-finish { position: relative; isolation: isolate; font-size: var(--type-body); }
    small { font-size: max(14px, .85em); }
    .site-ambience { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
        background: radial-gradient(ellipse 40rem 30rem at 100% 14rem, #e9eada66, transparent 78%), radial-gradient(ellipse 30rem 36rem at 0 68rem, #eee4d455, transparent 78%); }
    .site-ambience img { position: absolute; top: 75px; left: 50%; transform: translateX(-50%); width: max(100%, 780px); max-width: 1800px; height: auto; opacity: .9; }
    .site-header { background: transparent; }
    .page-hero .intro, .hero-description { max-width: 62ch; font-size: 17px; line-height: 1.8; }
    .hero-description { max-width: 39ch; }
    .field, .form-hint, .form-hint p, .eyebrow { line-height: 1.6; }
    .field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), .field select, .field textarea { font-size: 16px; }
    .field input::placeholder, .field textarea::placeholder, .hero-search input::placeholder { color: #62705d; opacity: 1; }
    .button, .text-link { line-height: 1.45; }
    .button { min-height: 44px; }
    .eyebrow, .mini-heading, .member-navigation-section { letter-spacing: .095em; }
    .main-nav a { font-size: 14px; }
    .section-heading { gap: 20px; flex-wrap: wrap; }
    .section-heading > .text-link { max-width: none; white-space: normal; }
    .footer-middle { font-size: 15px; }
    .footer-bottom { flex-wrap: wrap; font-size: 14px; line-height: 1.7; }
    .footer-links { gap: 9px; }
    .footer-links a { padding: 3px 0; }
    .footer-support { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; grid-column: 1 / -1; }
    .footer-contact { min-width: 0; max-width: 100%; }
    .footer-contact a { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; max-width: 100%; font-size: 14px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
    .footer-contact .icon { width: 16px; height: 16px; }
    .footer-contact a span { min-width: 0; overflow-wrap: anywhere; }
    .site-header .header-notification-count { min-width: 25px; height: 25px; font-size: 14px; padding: 0 5px; }
    .local-weather-reading { min-width: 0; }
    [data-weather-state=unavailable] .local-weather-reading > strong { white-space: normal; }
    .local-ticker-meta { flex-wrap: wrap; column-gap: 10px; }
    .local-weather-credit { max-width: 255px; }
    .source-note, .source-updated, .article-source-order, .source-featured .article-meta, .source-recent-item time { color: var(--muted); }
    .product-manager-availability, .product-manager-description, .product-ai-history-item small { color: var(--muted); }
    .product-manager-badges { gap: 9px 12px; }
    .season-copy p, .writing-empty small, .member-ui .calendar-cell.outside { color: var(--muted); }
    .product-ai-dialog .eyebrow { font-size: 14px; }
    .product-photo-badge, .post-photo-badge { line-height: 1.5; }
    .member-navigation-user small, .member-tools-tree a, .member-tool-group summary { font-size: 14px; }
    .member-ui .tool-card p, .member-ui .record-card p { font-size: 16px; line-height: 1.7; }
    .source-featured h3, .supplier-product h3, .product-manager-copy h3 { text-wrap: pretty; }
    .producer-card, .article-source-group, .offer-card, .product-manager-card { box-shadow: 0 5px 22px #263f2e05; }
    .site-footer { position: relative; background: linear-gradient(115deg, #e8eddd, #e2e8d6); }
    @media (max-width: 800px) {
        .site-ambience img { top: 120px; opacity: .65; }
        .page-hero .intro, .hero-description { font-size: 16px; }
        .footer-middle p, .footer-links, .footer-links button { font-size: 14px; }
        .site-header .header-zone { font-size: 14px; }
    }
    @media (max-width: 480px) {
        .site-header .header-actions:not(.has-notifications) { display: grid; grid-template-columns: repeat(2, 48px); gap: 4px 8px; min-width: 104px; }
        .site-header .header-zone { white-space: normal; text-align: center; justify-content: center; }
        .site-header .header-actions.has-notifications .header-zone { min-height: 36px; }
        .local-weather-title, .local-weather-meta { font-size: 14px; }
        .local-weather-reading > span { max-width: 90px; }
        .local-ticker-link { font-size: 14px; }
        .section-heading { align-items: flex-start; }
        .calendar-cell-weather { white-space: normal; line-height: 1.35; }
        .calendar-task-count { overflow-wrap: anywhere; }
    }
}
@media print { .site-ambience { display: none; } }
@media (forced-colors: active) { .site-ambience { display: none; } }
