/* Community theme — shared Home 2 visual language. Layout and rules stay page-owned. */
:root{color-scheme:light;--ink:#202e2c;--paper:#f2f0e4;--sage:#bdcbb0;--green:#526852;--yellow:#edcf75;--bg:var(--paper);--panel:#faf8ef;--line:#a1ad98;--muted:#526052;--text:var(--ink);--gold:#526852}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3{font-weight:800}h1{letter-spacing:-.5px}h2,h3{line-height:1.2}
.header{background:var(--paper);border-bottom:3px solid var(--ink);padding-bottom:16px;gap:24px;flex-wrap:wrap}
.header .brand{font-size:14px;font-weight:800;letter-spacing:1px;flex-shrink:0;padding:16px 0 8px}
.brand b{display:block;font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:1.8px;color:var(--ink)}
.brand small{color:var(--green);letter-spacing:1px}
.insignia{clip-path:none;background:var(--ink);color:var(--paper);border-radius:50%;height:55px;width:55px;padding:0;display:grid;place-items:center;font:800 24px Barlow,Arial,sans-serif;border:3px solid var(--sage);outline:2px solid var(--ink);transform:rotate(-8deg)}
.header nav{flex-wrap:wrap;gap:6px;align-self:center}
.header nav a.home-link,.header nav a.archive-nav-link{font-size:12px;font-weight:700;padding:8px 10px;color:var(--ink);border:2px solid transparent;border-radius:5px;white-space:nowrap}
.header nav a:hover,.header nav a:focus-visible{background:var(--sage);border-color:var(--ink);text-decoration:none}
.header nav a[aria-current=page]{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--sage)}
.eyebrow{font-weight:800;color:var(--green)}.breadcrumb{color:var(--muted)}.breadcrumb strong{color:var(--ink)}
footer{background:var(--ink);color:var(--paper);border-top:3px solid var(--ink);margin-top:40px}footer span{color:inherit}
:focus-visible{outline:3px dashed var(--green);outline-offset:4px}
button,input,select,textarea{accent-color:var(--green)}
button:not(:disabled),select,summary{cursor:pointer}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:6px}
button{border-radius:5px}
button:disabled{cursor:not-allowed}
input::placeholder,textarea::placeholder{color:#647260;opacity:1}
/* Solid outlines and offset shadows belong to primary panels, not nested cells. */
:is(.entry,.combat-doctrines,.datasheet,.builder-panel,.builder-create,.bcp-card,.bcp-section,.insights-section,.matchup-panel,.admin-panel,.topic-card,.collection-empty,.calendar-event-panel,.community-contact){border:2px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink)}
:is(.rankings-table-wrap,.sheet-filters,.quick-nav-group,.faction-nav-group,.export-controls,.rankings-meta,#stats-period-filter){border:2px solid var(--ink);border-radius:8px}
:is(.performance-stats,.insights-metrics,.bcp-metrics)>div{background:var(--sage);border:1px solid #84917d;border-radius:6px}
:is(.performance-stats,.insights-metrics,.bcp-metrics) dd{color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-weight:800}
:is(.bcp-card,.topic-card){background:var(--sage);transition:transform .15s,box-shadow .15s}
:is(.bcp-card,.topic-card):hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink);background:#cbd5be}
.bcp-sections a{border:2px solid var(--ink);border-radius:6px;font-weight:700}
.bcp-sections a[aria-current=page]{background:var(--yellow);color:var(--ink)}
#stats-period-filter button[aria-pressed=true],.faction-nav-group button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 -3px var(--ink)}
:is(.matchup-panel,.insights-section,.bcp-section){margin-bottom:30px}
.matchup-primary-stat strong,.matchup-rate,.stats-percent{color:#40563d}
.matchup-panel .matchup-fact{background:#f3e4b2;color:#59441b;border-color:#bbaa78;border-radius:6px}
.calendar-weekday{background:var(--sage)}.calendar-grid{border:2px solid var(--ink);border-radius:8px;overflow:hidden}
.calendar-day{background:#faf8ef}.calendar-outside{background:#e6e7dd}.calendar-today{box-shadow:inset 0 0 0 3px var(--green)}
#event-calendar .calendar-event{background:#f3e4b2;color:var(--ink);border:1px solid #a69666;border-left:4px solid #887039;border-radius:5px}
#event-calendar .calendar-event.is-matched{background:#d5e1c9;border-left-color:var(--green)}
.insights-search>input{border:3px solid var(--ink);background:#faf8ef;box-shadow:5px 5px 0 var(--ink);border-radius:9px}
.player-suggestions{background:#e3e8d9;border:2px solid var(--ink);border-top:0}.player-suggestions:empty{border:0}
/* High contrast, flat reference sheets and readable army controls. */
.sheet-header,.builder-heading{background:var(--sage);color:var(--ink);border-bottom:2px solid var(--ink);border-radius:6px 6px 0 0}
.sheet-section>h3,.faction-datasheet .unit-wargear>h3{background:#526852;color:#fffdf5}
.stat dd{background:#fffdf5;color:var(--ink);border-color:var(--green)}
.rule-body .rule-target,.source-verbatim .rule-target,.faction-datasheet .rule-target{color:#245b69}
.rule-body .rule-effect,.source-verbatim .rule-effect,.faction-datasheet .rule-effect{color:#674b12;background:#edcf7566}
.builder-layout>.builder-roster{background:#e3e8d9;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.builder-roster>h2,#builder .roster-unit-name{color:var(--ink)}
.builder-roster .builder-selected{background:#fffdf5;border:1px solid #84917d;border-left:4px solid var(--green);box-shadow:none;border-radius:6px;padding:18px}
.roster-unit-points{background:var(--yellow);color:#473b19}.roster-unit-actions{border-color:#c1c9b7}
#builder .roster-unit-actions button{background:#e3e8d9;color:var(--ink);border-color:#84917d}
#builder .roster-unit-actions button[aria-pressed=true]{background:var(--yellow);color:#473b19!important}
.manager-role-heading{background:var(--sage);border:2px solid var(--ink);border-radius:6px}
.builder-editor .manager-role-heading h3,.manager-role-heading .manager-counter{color:var(--ink)}
.manager-totals>strong{background:var(--green);color:#fffdf5}.manager-totals>span{color:var(--muted)}
.manager-role>.manager-accordion>summary{background:#e3e8d9;color:var(--ink)}
#builder .manager-primary-save,.admin-panel button{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-weight:800}
#builder .manager-primary-save:hover:not(:disabled){background:#f3db93;color:var(--ink)}
.builder-list-errors,.saved-list-errors{background:#f6e4dd;color:#792d27;border-color:#b77668}.builder-list-errors h2,.saved-list-errors summary{color:#792d27}
.admin-indicator summary,.admin-indicator button,.archive-language select{background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
.admin-indicator summary::before{color:#286044}
.community-intro{border-left:4px solid var(--green)}.community-contact{background:var(--sage)}.community-monogram{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-5deg)}
@media(max-width:600px){.header{gap:12px}.header .brand{font-size:12px}.brand b{font-size:20px}.header nav a.home-link,.header nav a.archive-nav-link{font-size:11px;padding:7px}.insignia{width:46px;height:46px;font-size:21px}:is(.bcp-section,.insights-section,.matchup-panel){box-shadow:3px 3px 0 var(--ink)}footer{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.performance-chart text{fill:#526052}.performance-chart line{stroke:#a1ad98}.performance-chart path{stroke:#70551b}
.performance-chart circle[fill="#80d6ad"]{fill:#286044}.performance-chart circle[fill="#f09090"]{fill:#a53832}.performance-chart circle[fill="#dbb66f"]{fill:#70551b}.performance-chart circle[fill="#c6d5dc"]{fill:#526052}
.play-roster,.play-detachment{border:2px solid var(--ink);border-radius:8px}.play-heading{background:var(--sage);border:2px solid var(--ink);border-radius:8px}
@media print{footer{display:none}body{background:white;color:black}:is(.datasheet,.builder-panel,.entry,.play-detachment){box-shadow:none}}

/* Home introduction with the shared team emblem. */
.community-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px}
.community-hero .community-intro{min-width:0}.community-hero h1{font-size:clamp(36px,4vw,56px)}
.community-logo{padding:20px;background:#e0e6d7;background-image:radial-gradient(#202e2c22 1px,transparent 1px);background-size:8px 8px;border:3px solid var(--ink);border-radius:24px 8px 24px 8px;box-shadow:8px 8px 0 var(--ink);transform:rotate(2deg)}
.community-logo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
@media(max-width:750px){.community-hero{grid-template-columns:1fr;gap:36px}.community-logo{width:85%;max-width:390px;justify-self:center}.community-hero h1{font-size:clamp(36px,7vw,50px)}}

/* Ranking-focused landing page. Shared colour variables follow light/dark mode. */
.rankings-home{display:grid;gap:36px}
.rankings-home .community-intro{max-width:900px}
.rankings-home .community-intro h1{font-size:clamp(32px,5vw,60px);overflow-wrap:anywhere}
.rankings-home .community-intro p{max-width:78ch;line-height:1.7}
.rankings-menu-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.rankings-guide-item{position:relative;display:block;padding:22px 48px 22px 24px;border:2px solid var(--ink);border-radius:10px;color:inherit;text-decoration:none;background:var(--paper)}
.rankings-guide-item h3{margin:0 0 8px;font-size:1.35rem}.rankings-guide-item p{margin:0;line-height:1.6}.rankings-guide-item>span{position:absolute;right:20px;top:24px}
.rankings-guide-item:hover,.rankings-guide-item:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.rankings-contact{display:flex;align-items:center;gap:28px}.rankings-contact img{width:140px;height:140px;object-fit:contain;border-radius:10px;flex-shrink:0}.rankings-contact p{line-height:1.6}
@media(max-width:650px){.rankings-menu-guide{grid-template-columns:1fr}.rankings-contact{flex-direction:column;text-align:center}.rankings-contact img{width:120px;height:120px}}

/* Blend the white logo canvas into a softly textured sage paper tile. */
.rankings-contact-logo{flex-shrink:0;padding:12px;border:1px solid #8b9c83;border-radius:14px;background-color:#c8d2ba;background-image:radial-gradient(ellipse at 25% 20%,#f6f0da77,transparent 65%),repeating-linear-gradient(35deg,#34493108 0 1px,transparent 1px 4px),repeating-linear-gradient(125deg,#fff8df24 0 1px,transparent 1px 6px);box-shadow:inset 0 1px 0 #fff7dc66,0 3px 9px #13201918;isolation:isolate}
.rankings-contact .rankings-contact-logo img{display:block;mix-blend-mode:multiply;border-radius:0}
html[data-theme="dark"] .rankings-contact-logo{background-color:#a7b69b;border-color:#6d8065;box-shadow:inset 0 1px 0 #e9eed52b,0 3px 12px #0003}
