/* Brand contrast: charcoal framing, warm surfaces, soft red accents. */
:root{--ink:#102127;--night:#091317;--muted:#4e6062;--line:#cbd4ce;--soft:#e4ece2;--shadow:0 12px 28px #10212716}
body{background:#f2e9e9}
.site-header{background:#091317;color:#f8faf5;border-bottom:3px solid #db5a56;box-shadow:0 3px 18px #0913171a}
.site-header .brand>span,.site-header .login-link,.site-header .admin-link,.site-header .logout-link,.site-header .menu-toggle{color:#f8faf5}
.site-header .brand strong{color:#db5a56}
.site-header #main-nav a{color:#d3ded8}
.site-header #main-nav a.active,.site-header #main-nav a:hover{color:#db5a56}
.site-header #main-nav a.active:after{background:#db5a56}
.site-header .notification-bell{background:#233438;color:#e37f7c;border:1px solid #485951}
.site-header .notification-bell:hover{background:#344b45}
.site-header .notification-count{border-color:#091317}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:#db5a56}
.page-home{background:#f5e4e3}
.home-intro{background:linear-gradient(135deg,#e5ece3 0%,#f5cfce 100%);border-bottom:1px solid #cbd3bc}
.hero-main{box-shadow:0 12px 30px #10212720}
.hero-community{background:#f1c0bf;border-color:#d85d59;box-shadow:0 7px 22px #851f1c10}
.hero-community .eyebrow,.hero-community p,.hero-community .community-facebook{color:#512625}
.hero-community .outline-symbol{border-color:#bd5855;color:#4c2322}
.hero-community .hero-logo{box-shadow:0 0 0 6px #df726f}
.hero-community .community-primary{background:#102127;color:#fff;border-color:#102127}
.hero-community .community-primary:hover{background:#293f38}
.topic-strip{border-bottom:0}
.topic-strip>span{color:#4c5c50}
.topic-strip>a{border:1px solid #b9c4aa;border-radius:5px;background:#ffffff70;padding:6px 10px}
.topic-strip>a:hover{background:#f4cbc9;border-color:#ab3834}
.projects-band{background:#172c2b;border-color:#30473b;color:#f7faf4}
.projects-band .section-heading h2{color:#f7faf4}
.projects-band .section-heading .eyebrow{color:#e58582}
.projects-band .section-heading>.text-link{color:#e58582}
.projects-band .project-card{color:var(--ink);border-color:#bac9b8}
.projects-band .project-empty p{color:#d0ded4}
.projects-band .project-empty .btn{background:#db5a56;color:#102127}
.post-card,.project-card{border-color:#c8d1c3;box-shadow:0 4px 14px #1021270c}
.post-card:hover,.project-card:hover{border-color:#a1b095;box-shadow:var(--shadow)}
.post-card-body,.project-body{border-top:3px solid #d84c48}
.post-card-body .eyebrow{color:#984028}
.newsletter-banner,.community-welcome{background:linear-gradient(115deg,#091317,#263e33);border:1px solid #425747;border-left:5px solid #db5a56}
.newsletter-banner p,.community-welcome p{color:#d0dcd3}
.page-articles,.page-downloads,.page-search{background:linear-gradient(145deg,#e9eee2,#f2d6d5)}
.page-community{background:linear-gradient(145deg,#f2c9c8,#e6eee0)}
.page-profile,.page-project{background:#eee3e3}
.page-article{background:#e7ecdf}
.article-page{background:#fef9f8;border-right:1px solid #d5ddcc;border-left:1px solid #d5ddcc;padding-left:32px;padding-right:32px}
.page-heading .eyebrow,.section-heading .eyebrow{color:#862a27}
.projects-band .section-heading .eyebrow{color:#e58582}
.panel,.download-filters,.auth-card{border-color:#c2cdbb;box-shadow:0 3px 14px #10212707}
.comments,.panel.social-comments{background:#faf0ef;border-color:#e4c1be}
.comment,.comment-replies{border-color:#e4c1be}
.leaderboard{background:#fbefee;border-color:#e6c7c4}
.leaderboard>p,.leader-row small{color:#642b29}
.profile-cover{background:linear-gradient(115deg,#091317,#294538);border-bottom:4px solid #d84c48;color:#e69491}
.profile-tabs{border-bottom-color:#b9c6af}
.contribution-form{background:#f6d8d7;border-color:#d9827f}
.report-panel{background:transparent;border:0;box-shadow:none}
.chip{border-color:#bdc9b3}
.chip.selected{background:#102127;color:#fff;border-color:#102127}
.site-footer{border-top:4px solid #d74945}
@media(max-width:600px){.article-page{padding-left:18px;padding-right:18px}.topic-strip>a{padding:5px 8px}.hero-community .hero-logo{box-shadow:0 0 0 4px #df726f}}

/* Red accents with accessible button contrast and soft home surfaces. */
:root{--accent:#f58c86;--red:#bd3434}
.btn.primary,.projects-band .project-empty .btn{background:#b93232;color:#fff}
.btn.primary:hover,.projects-band .project-empty .btn:hover{background:#962828;color:#fff}
.hero-community{background:#f6dedd;border-color:#d9aaa8;box-shadow:0 7px 22px #8a292910}
.hero-community .eyebrow,.hero-community p,.hero-community .community-facebook{color:#633b3b}
.hero-community .outline-symbol{border-color:#c98f8b;color:#753c38}
.hero-community .hero-logo{box-shadow:0 0 0 6px #e7b9b6}
.home-intro{background:linear-gradient(135deg,#f4eeeb 0%,#f5dfdd 100%);border-bottom-color:#e1c6c3}
.page-home{background:#faf4f2}
@media(max-width:600px){.hero-community .hero-logo{box-shadow:0 0 0 4px #e7b9b6}}

/* White pages; alternating soft rose and white sections on the home page. */
:root{--page-background:#fff;--home-section-background:#eee3e3}
body[class*="page-"]{background:var(--page-background)}
.page-article .article-page{background:#fff}
.page-home .home-intro,.page-home .home-blog-band{background:#fff}
.page-home .home-intro{padding-bottom:28px}
.page-home .projects-band,.page-home .home-newsletter-band{background:var(--home-section-background)}
.page-home #main>section.container{background:#fff}
.page-home .projects-band{color:var(--ink);border-color:#e1c6c3}
.page-home .projects-band .section-heading h2{color:var(--ink)}
.page-home .projects-band .section-heading .eyebrow,
.page-home .projects-band .section-heading>.text-link{color:var(--red)}
.page-home .projects-band .project-empty p{color:var(--muted)}
/* Shared role rings apply to photos and initials across the site. */
body .avatar.avatar-role-admin{border:2px solid #bc3030}
body .avatar.avatar-role-editor{border:2px solid #268245}
body .avatar.avatar-role-moderator{border:2px solid #2877c7}
body .profile-avatar.avatar[class*="avatar-role-"]{border-width:3px}
.rank-badge{display:inline-block;vertical-align:middle;margin-left:10px;padding:4px 9px;border-radius:20px;font-size:.72rem;font-weight:600;line-height:1.4;letter-spacing:0}
.rank-admin{color:#a12424;background:#fce7e7}
.rank-editor{color:#196633;background:#e7f5eb}
.rank-moderator{color:#1a5898;background:#e8f1fc}
.page-home .hero-main{padding:28px;min-width:0}
.page-home .hero-main h1{font-size:clamp(1.7rem,2.5vw,2.4rem);overflow-wrap:anywhere}
.page-home .hero-community{padding:38px 42px;min-width:0}
.page-home .hero-community h2{font-size:clamp(2rem,3.5vw,3.25rem)}
.page-home .hero-community p{font-size:1rem}
.page-home .hero-community .community-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:20px}
.page-home .hero-community .community-primary{width:auto;margin-top:0}
.page-home .hero-community .community-facebook{margin-top:0}
.page-home .hero-community .hero-logo{width:140px;height:140px}
@media(max-width:600px){
 .page-home .hero-community{padding:24px;grid-template-columns:minmax(0,1fr) 70px}
 .page-home .hero-community h2{font-size:1.7rem}
 .page-home .hero-community p{font-size:.9rem}
 .page-home .hero-community .hero-logo{width:70px;height:70px}
 .page-home .hero-main{min-height:300px;padding:27px}
 .page-home .hero-main h1{font-size:2rem}
}
.recaptcha-field{margin:20px 0;max-width:100%}
.recaptcha-field .field-help{margin-top:10px;font-size:.75rem}
.recaptcha-field a{text-decoration:underline}
.sponsored-products{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.sponsored-products h3{margin:8px 0 10px}
.sponsored-list{display:grid;gap:14px;margin-top:18px}
.sponsored-product{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #e5cccc;border-radius:8px;background:#fff}
.sponsored-product img,.sponsor-admin-card>img{width:90px;height:90px;object-fit:contain;border-radius:6px;flex-shrink:0}
.sponsored-product>div,.sponsor-admin-card>div{min-width:0;overflow-wrap:anywhere}
.sponsored-product h4{margin:0 0 6px;font-size:1rem;line-height:1.4}
.sponsored-product p{font-size:.8rem;margin-bottom:8px}
.sponsored-product .text-link{color:var(--red);font-size:.85rem}
.sponsor-edit-photo{width:120px;height:100px;object-fit:contain;margin-bottom:10px}
.sponsor-admin-list{display:grid;gap:14px;margin-top:24px}
.sponsor-admin-card{display:flex;gap:18px;align-items:center;margin:0}
@media(max-width:600px){.sponsored-product{gap:12px;padding:12px}.sponsored-product img{width:70px;height:70px}}
