:root{--ink:#100d09;--timber:#1d1510;--paper:#dac9a6;--gold:#d4a24b;--red:#8e3024;--blue:#273947;--muted:#a99b84;--display:"Rye",serif;--body:"Source Serif 4",Georgia,serif;--mono:"Special Elite",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--paper);background:#0c0907;font-family:var(--body);font-size:16px;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.1;background-image:radial-gradient(#f2d18f 0.5px,transparent .8px);background-size:5px 5px;mix-blend-mode:screen}.site-header{height:70px;position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:36px;padding:0 clamp(20px,4vw,70px);border-bottom:1px solid rgba(212,162,75,.35);background:rgba(15,11,8,.96);box-shadow:0 5px 25px #0008}.brand{color:#f3d589;font:20px var(--display);text-transform:uppercase;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:clamp(11px,1.7vw,28px);margin-left:auto}.site-header nav a{color:#b6a78f;font-size:11px;font-weight:700;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.site-header nav a:hover,.site-header nav a.active{color:#e9c86f}.site-header nav a.active{border-bottom:2px solid var(--gold);padding:25px 0 22px}.menu{display:none;color:var(--paper);border:1px solid #8e7546;background:transparent;padding:8px 10px;font:10px var(--mono);text-transform:uppercase}.hero{position:relative;isolation:isolate;min-height:720px;overflow:hidden;border-bottom:1px solid #7a562b;background:#382116}.hero:after,.aftermath:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c0907 0%,rgba(12,9,7,.86) 36%,rgba(12,9,7,.15) 70%,#0c0907aa),linear-gradient(0deg,#0c0907,transparent 35%)}.hero__art{position:absolute;inset:0;z-index:-2;overflow:hidden;background:linear-gradient(#4f3030 0%,#b46e45 35%,#d99a5b 51%,#5b3221 52%,#1c1711 100%)}.sun{position:absolute;left:59%;top:12%;width:32vw;height:32vw;border-radius:50%;background:#ffd88b;filter:blur(3px);opacity:.72}.ridge{position:absolute;inset:auto -5% 28% -5%;height:43%;background:#482b26;clip-path:polygon(0 80%,14% 38%,25% 65%,43% 8%,57% 70%,68% 24%,79% 64%,95% 27%,100% 72%,100% 100%,0 100%);opacity:.92}.ridge--front{bottom:0;height:50%;background:#1a1713;clip-path:polygon(0 56%,16% 31%,27% 65%,41% 43%,53% 72%,63% 35%,77% 58%,86% 22%,100% 57%,100% 100%,0 100%)}.town-sign{position:absolute;right:13%;bottom:18%;padding:18px 28px;border:5px solid #422919;background:#7c4929;color:#e3c388;font:clamp(21px,3vw,48px)/.9 var(--display);text-align:center;transform:rotate(-3deg);box-shadow:8px 8px #1b120d}.hero__copy{max-width:650px;padding:100px clamp(22px,8vw,145px) 70px}.kicker,.label{margin:0;color:#d4a24b;font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase}.hero h1,.section h2,.white-flag h2,.aftermath h2,dialog h2{margin:12px 0 17px;color:#f0d795;font:clamp(38px,6vw,76px)/.95 var(--display);letter-spacing:.02em;text-transform:uppercase;text-shadow:3px 4px #28170f}.hero h1 em{color:#d0593c;font-style:normal}.lead{max-width:420px;margin:0;color:#eee0c2;font-size:21px;line-height:1.25}.hero__story{max-width:530px;margin:25px 0;color:#cdbd9e;font-size:17px}.hero q,.white-flag q{display:block;margin:28px 0;color:#e3b454;font:22px var(--mono);text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #f1c466;background:linear-gradient(#d6a34a,#9d5f24);color:#160e08;padding:13px 18px;font:12px var(--mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px #ffe39a,0 5px 15px #0006}.button:hover{filter:brightness(1.12);transform:translateY(-1px)}.button--ghost{background:#150f0bcc;color:#e7c475;border-color:#9d7b3d}.section{max-width:1230px;margin:auto;padding:100px 30px}.section-heading{text-align:center;max-width:700px;margin:0 auto 45px}.section h2,.white-flag h2{font-size:clamp(29px,4vw,48px)}.section-heading h2{margin-bottom:4px}.scoreboard{position:relative;display:grid;grid-template-columns:1fr 180px 1fr;align-items:stretch;border:1px solid #80623b;box-shadow:0 20px 45px #0008}.faction{min-height:265px;display:flex;flex-direction:column;justify-content:center;padding:38px 10%;background:linear-gradient(135deg,#4e1d18,#1b100e);border-right:1px solid #89653d}.faction--sheriff{align-items:flex-end;text-align:right;border:0;background:linear-gradient(225deg,#192b37,#0f1519)}.faction strong{color:#f2c569;font:20px var(--mono);letter-spacing:.1em;text-transform:uppercase}.faction b{margin:12px 0 13px;color:#f6dfab;font:clamp(35px,4vw,60px)/1 var(--display)}.faction small,.posse small{font:10px var(--mono);text-transform:uppercase}.faction span{color:#d1bda1;font-size:14px}.medallion{z-index:1;width:180px;height:180px;align-self:center;margin:0 -1px;border:7px double #bb8a3f;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#20170f;color:#dbbd80;text-align:center;box-shadow:0 0 0 7px #0e0b08,0 10px 30px #000}.medallion span{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.medallion b,.medallion strong{font:31px var(--display)}.medallion b{color:#cb5c43}.medallion strong{color:#708c9e}.medallion i{font:11px var(--mono);font-style:normal}.battle-meta{margin:22px 0 0;text-align:center;color:#a99b84;font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase}.battle-meta b{padding:0 8px;color:#c59442}.white-flag{display:grid;grid-template-columns:1.1fr .9fr .42fr;position:relative;min-height:570px;overflow:hidden;border-top:1px solid #664a2d;border-bottom:1px solid #664a2d;background:#241a12}.white-flag__scene{position:relative;grid-column:1/3;grid-row:1;overflow:hidden;background:linear-gradient(125deg,#19110e,#9b5c3a 47%,#453126)}.white-flag__scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#170e0b 0%,transparent 65%,#170e0b)}.flag{position:absolute;left:55%;top:19%;width:145px;height:110px;border-left:8px solid #25180e;transform:rotate(-4deg)}.flag:after{content:"";position:absolute;left:0;top:0;width:125px;height:74px;background:#e8dfc9;clip-path:polygon(0 0,100% 14%,82% 47%,100% 100%,0 90%);box-shadow:0 7px 15px #0007}.meeting{position:absolute;z-index:1;left:45%;bottom:14%;color:#20150f;font-size:160px;filter:drop-shadow(8px 4px #0006)}.white-flag article{z-index:2;grid-column:1;grid-row:1;align-self:center;max-width:540px;padding:70px clamp(25px,6vw,100px)}.white-flag article p{color:#dac9ac}.settlement-plaque{z-index:3;grid-column:3;grid-row:1;align-self:center;margin-right:30px;padding:29px 18px;border:6px double #c99a4e;background:#5d371f;color:#ead397;text-align:center;box-shadow:8px 9px #170e09}.settlement-plaque span,.settlement-plaque b{display:block;text-transform:uppercase}.settlement-plaque span{font:18px var(--display)}.settlement-plaque b{margin:11px 0;color:#f3c95b;font:21px var(--mono)}.settlement-plaque p{margin:0;font-size:13px}.heroes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.hero-ryder{position:relative;overflow:hidden;border:1px solid #705b39;background:#18120d;box-shadow:0 13px 28px #0007;transition:transform .2s}.hero-ryder:hover{transform:translateY(-5px)}.hero-ryder__art{height:255px;position:relative;background:#2c2117}.portrait{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.08)}.hero-ryder__art .portrait{object-position:center top}.hero-ryder__shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#f9cf7440 50%,transparent 60%);mix-blend-mode:screen}.hero-ryder__body{padding:20px}.hero-ryder h3{min-height:51px;margin:6px 0 11px;color:#efd797;font:18px/1.05 var(--display);text-transform:uppercase}.hero-ryder p:last-child{min-height:95px;color:#c5b598;font-size:14px}.badge-stack{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.badge{display:inline-block;border:1px solid #806a42;padding:3px 6px;background:#292015;color:#d8bd7b;font:8px var(--mono);letter-spacing:.05em;text-transform:uppercase}.badge--legendary{border-color:#d6aa50;color:#f4cd68;background:#503414}.badge--rare{border-color:#7b9cac;color:#c5d7dc;background:#19303a}.hero-ryder dl{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:15px 0}.hero-ryder dd,.hero-ryder dt{margin:0}.hero-ryder dd{color:#e5bf67;font:bold 16px var(--body)}.hero-ryder dt{color:#8c806d;font:8px var(--mono);text-transform:uppercase}.contributors{background:linear-gradient(90deg,transparent,#17110d,transparent)}.honors{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #705b3f}.honors article{padding:26px 19px;border:1px solid #705b3f;border-left:0;background:#1b130e}.honors p{margin:0;color:#b38c4d;font:10px var(--mono);text-transform:uppercase}.honors h3{margin:9px 0 4px;color:#ead29b;font:22px var(--display)}.honors span{color:#a99b84;font-size:13px}.text-button{display:block;margin:28px auto 0;border:0;border-bottom:1px solid #b78d47;background:none;color:#e4c27a;padding:6px 0;font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.section-heading--next{margin-top:85px;margin-bottom:28px}.posses{display:grid;grid-template-columns:1fr 1fr;gap:20px}.posse{border:1px solid #6e5132;background:#17110d;padding:24px}.posse--rebels{border-top:4px solid #a94b38}.posse--sheriff{border-top:4px solid #4d7187}.posse header{display:flex;align-items:start;justify-content:space-between;gap:20px}.posse h3{margin:5px 0;color:#ebd399;font:24px var(--display)}.posse header>b{color:#e3ba61;font:22px var(--display);text-align:right}.posse ul{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0;padding:0;list-style:none}.posse li{display:flex;align-items:center;gap:8px;color:#c6b89b;font-size:13px}.portrait--tiny{width:34px;height:34px;border:1px solid #82633b}.placeholder{display:grid;place-items:center;background:#302419;color:#bca778;font:8px var(--mono);text-align:center}.posse__award{margin:0;border-top:1px solid #58432c;padding-top:13px;color:#ab9b82;font-size:13px}.posse__award strong{color:#dfbd75}.personal{max-width:none;padding:0;background:linear-gradient(90deg,#3b2017,#16110e)}.personal article{max-width:1170px;margin:auto;padding:65px 30px}.personal h2{font-size:46px}.personal__stats{display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0;border:1px solid #7c5f39}.personal__stats div{padding:17px;border-right:1px solid #7c5f39}.personal__stats div:last-child{border:0}.personal__stats b,.personal__stats span{display:block}.personal__stats b{color:#f0c663;font:32px var(--display)}.personal__stats span{color:#b9a98c;font:10px var(--mono);text-transform:uppercase}.gallery{overflow:hidden}.ryder-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:15px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}.ryder-gallery article{scroll-snap-align:start;border:1px solid #765d38;background:#18120d;padding-bottom:16px;text-align:center}.ryder-gallery .portrait{height:220px}.ryder-gallery h3{margin:13px 8px 0;color:#e6cb91;font:17px var(--display)}.ryder-gallery>article>span{color:#92836b;font:10px var(--mono)}.ryder-gallery .badge-stack{justify-content:center;padding:0 8px}.legacy{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;background:#0a0807}.legacy>div{min-height:315px;padding:65px max(30px,calc((100vw - 1170px)/2));background:#421b17}.legacy__sheriff{background:#162733!important}.legacy h2{font-size:38px}.legacy p:last-child{max-width:400px;color:#decdb0}.legacy .text-button{grid-column:1/-1;margin:0;padding:24px;background:#100d0a}.aftermath{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;padding:80px max(30px,calc((100vw - 1170px)/2));overflow:hidden;background:linear-gradient(110deg,#21140e,#8c5639 55%,#2b261c)}.aftermath>div{max-width:510px}.aftermath h2{font-size:clamp(43px,5vw,67px)}.aftermath p{color:#ddcdb2;font-size:18px}.aftermath .button{margin-top:14px}footer{padding:28px;background:#080605;color:#766953;font:10px var(--mono);letter-spacing:.12em;text-align:center;text-transform:uppercase}dialog{width:min(920px,calc(100% - 30px));max-height:85vh;overflow:auto;border:1px solid #98743e;background:#17110d;color:#e3d0ac;padding:35px;box-shadow:0 20px 80px #000}dialog::backdrop{background:#050403d9;backdrop-filter:blur(4px)}.modal__close{position:absolute;right:12px;top:8px;border:0;background:none;color:#e4c274;font-size:30px;cursor:pointer}.reward-table>div{display:grid;grid-template-columns:55px 1fr 110px 110px;gap:10px;padding:8px;border-bottom:1px solid #4d3b27;font-size:14px}.reward-table .head{color:#bf9248;font:10px var(--mono);text-transform:uppercase}.participant-list .filter{margin:5px;border:1px solid #765a35;background:#21180f;color:#d5bc89;padding:9px;font:10px var(--mono);text-transform:uppercase}.participant-list p{margin-top:25px;color:#bba98b}

/* ---- FE polish pass: richer texture, connected scoreboard, prestige hero cards, faction watermarks, tighter rhythm ---- */
body{background:#0c0907 radial-gradient(ellipse at 50% 0%,#1c140d 0%,#0c0907 55%)}
.site-header{backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15)}
.section{padding:80px 30px}
.section-heading{margin-bottom:38px}
.hero__sub{max-width:460px;margin:16px 0 0;color:#cdbd9e;font-size:16px;line-height:1.5}
.ornament{max-width:1230px;margin:0 auto;padding:0 30px;display:flex;align-items:center;gap:16px;color:#8a6b3f}
.ornament:before,.ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#8a6b3f80,transparent)}
.ornament i{width:6px;height:6px;background:#c99a4e;transform:rotate(45deg);flex:none;box-shadow:0 0 8px #c99a4e80}
.two-sides{max-width:none;display:grid;grid-template-columns:1fr 1fr;background:#0a0807;border-top:1px solid #4a3620;border-bottom:1px solid #4a3620}
.two-sides__panel{position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:64px 50px}
.two-sides__panel--rebels{padding-left:max(50px,calc((100vw - 1170px)/2 + 30px));background:linear-gradient(100deg,#180d0a 0%,#180d0aee 60%,#180d0af5 100%),url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/db0cf4f0-5993-4faf-23c8-34b75e477a00/public") 30% center/cover no-repeat}
.two-sides__panel--sheriff{padding-right:max(50px,calc((100vw - 1170px)/2 + 30px));background:linear-gradient(135deg,#16242f,#0a1013 78%)}
.two-sides__panel--sheriff:after{content:"";position:absolute;top:-70px;right:-70px;width:320px;height:320px;opacity:.08;background:#8fb4c9;-webkit-mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public") center/contain no-repeat;mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public") center/contain no-repeat}
.two-sides__panel--rebels:after{content:"";position:absolute;bottom:-80px;left:-80px;width:320px;height:320px;opacity:.07;background:#e3b454;-webkit-mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat;mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat}
.two-sides__panel>*{position:relative;z-index:1}
.two-sides__icon{display:flex;width:56px;height:56px;margin-bottom:16px;padding:4px;border-radius:50%;overflow:hidden;background:linear-gradient(#e9dfc8,#c9bb96);border:2px solid #c99a4e;box-shadow:0 3px 10px #0009}
.two-sides__icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.two-sides h3{margin:0 0 14px;color:#efd797;font:28px var(--display);text-transform:uppercase}
.two-sides p{margin:0;max-width:440px;color:#cdbd9e;font-size:15px;line-height:1.65}
.scoreboard{border:1px solid rgba(212,162,75,.5);box-shadow:0 20px 50px #000a,inset 0 0 0 1px #00000040}
.faction{position:relative}
.scoreboard:before,.posse:before,.honors article:before,.hero-ryder:before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/75c0f1b3-25f6-4fc0-4c77-0799c1e68c00/public"),url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/a82020ac-0b6d-4171-51a0-ccba05999900/public"),url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/3cbb6ffb-5669-4fbd-1119-3244ac587200/public"),url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/1cbb6f57-861a-48aa-bf62-b56dc68c0c00/public");background-repeat:no-repeat;background-position:top left,top right,bottom left,bottom right}
.scoreboard:before{background-size:42px 41px}
.posse:before,.honors article:before,.hero-ryder:before{background-size:26px 26px}
.honors article{position:relative}
.faction--rebels{background:linear-gradient(135deg,#39331f 0%,#181409 75%);border-right:0}
.faction--sheriff{background:linear-gradient(225deg,#1c2f3c 0%,#0b1013 75%)}
.medallion b{color:#e7dcc0}
.faction strong{font-size:24px;letter-spacing:.13em}
.scoreboard{grid-template-columns:calc(var(--rebel-share,51.9) * 1fr) calc(var(--sheriff-share,48.1) * 1fr)}
.medallion{position:absolute;top:50%;left:calc(var(--rebel-share,51.9) * 1%);transform:translate(-50%,-50%);width:240px;height:242px;margin:0;z-index:2;padding:0 18%;border-radius:0;border:0;background:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/95118c45-18b6-4ce2-f95b-21e35d00f300/public") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 16px 30px rgba(0,0,0,.7))}
.medallion span{letter-spacing:.18em}
.medallion b,.medallion strong{font-size:33px;position:relative;z-index:1}
.medallion i{display:flex;align-items:center;gap:8px;width:68%;margin:5px 0;color:#9c8760;font:9px var(--mono);font-style:normal;letter-spacing:.22em;text-transform:uppercase}
.medallion i:before,.medallion i:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#9c7d47,transparent)}
.battle-meta{margin-top:28px;padding-top:14px;border-top:1px solid rgba(212,162,75,.22)}
.settlement-plaque{padding:0;border:0;background:none;box-shadow:none}
.settlement-plaque img{display:block;width:100%;max-width:260px;height:auto;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}
.white-flag q{color:#f3c95b}
.heroes{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:18px}
.hero-ryder--pair{grid-column:span 2;min-width:420px}
.white-flag__scene{grid-column:1/-1}
.white-flag__scene:after{background:linear-gradient(90deg,#170e0b 0%,transparent 55%,transparent 75%,#170e0bcc)}
.settlement-plaque{margin-right:max(30px,calc((100vw - 1230px)/2 + 30px))}
.hero-ryder__art{height:auto}
.hero-ryder__art .portrait{height:auto;aspect-ratio:1;object-position:center}
.badge{display:inline-flex;align-items:center;justify-content:center;border:0;padding:0;background:none;font-family:inherit;cursor:pointer;transition:transform .15s ease,filter .15s ease}
.badge img{width:48px;height:48px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 8px rgba(0,0,0,.8))}
.badge-stack{gap:10px}
.badge:hover,.badge:focus-visible{transform:translateY(-2px) scale(1.1);filter:brightness(1.25) drop-shadow(0 4px 10px #0009);outline:none}
.badge:active{transform:translateY(0) scale(.96)}
.badge-modal{text-align:center;max-width:360px;margin:0 auto}
.badge-modal img{display:block;width:220px;height:220px;object-fit:contain;margin:0 auto 16px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.6))}
.badge-modal__rarity{margin-bottom:2px}
.badge-modal h2{font-size:clamp(22px,4vw,30px);margin:4px 0 10px}
.badge-modal p:last-child{color:#cdbd9e;font-size:15px;line-height:1.6}
.easter-egg{display:flex;justify-content:center;padding:40px 20px;text-align:center}
.easter-egg a{color:#8a7350;font:11px var(--mono);letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .15s ease}
.easter-egg a:hover,.easter-egg a:focus-visible{color:#e6bd69;text-decoration:underline;text-underline-offset:4px}
.badge--historical,.badge--distinguished{border:0;background:transparent}
.hero-ryder--prestige{border-color:#d6aa50;box-shadow:0 0 0 1px #d6aa5040,0 13px 28px #0007}
.hero-ryder--prestige .hero-ryder__body{background:linear-gradient(180deg,#241a0f,#18120d)}
.hero-ryder--prestige h3{color:#f7dd93}
.hero-ryder--unbroken{border-color:#c9b98a}
.hero-ryder--unbroken dd{color:#e7dcc0;font-size:20px}
.posse--rebels{border-top-color:#c9b98a}
.legacy .legacy__rebel{background:#2c2415}
.hero-ryder--pair .hero-ryder__art--pair{display:flex;height:auto}
.hero-ryder--pair .hero-ryder__art--pair .portrait{width:50%;height:auto;aspect-ratio:1;object-fit:cover;border-right:1px solid #100d09}
.section-heading--faction{text-align:left;max-width:none;margin:0 0 22px;display:flex;align-items:baseline;gap:12px}
.section-heading--faction h3{margin:0;color:#ebd399;font:26px var(--display);text-transform:uppercase}
.section-heading--next{margin-top:52px}
.posse{position:relative;overflow:hidden}
.posse:after{content:"";position:absolute;top:-30px;right:-30px;width:170px;height:170px;pointer-events:none;background:#e3b454;opacity:.06;-webkit-mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat;mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat}
.posse--sheriff:after{background:#8fb4c9;-webkit-mask-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public");mask-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public")}
.posse ul{grid-template-columns:repeat(5,1fr)}
.posse li{flex-direction:column;text-align:center;gap:6px;font-size:11px}
.portrait--posse{width:100%;aspect-ratio:1;height:auto;border:1px solid #82633b;image-rendering:pixelated}
.ryder-gallery article{position:relative}
.ryder-gallery .portrait{height:255px}
.ryder-gallery__overlay{position:absolute;inset:0 0 auto 0;height:255px;display:flex;align-items:flex-end;padding:12px;background:linear-gradient(0deg,#0c0907e6,transparent 60%);opacity:0;transition:opacity .2s}
.ryder-gallery article:hover .ryder-gallery__overlay,.ryder-gallery article:focus-within .ryder-gallery__overlay{opacity:1}
.ryder-gallery .badge-stack{margin:0;justify-content:center}
.legacy{padding:0}
.legacy>div{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.legacy__watermark{position:absolute;top:50%;right:-30px;transform:translateY(-50%);width:280px;height:280px;opacity:.07;pointer-events:none;background:#e3b454;-webkit-mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat;mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/contain no-repeat}
.legacy__sheriff .legacy__watermark{background:#8fb4c9;-webkit-mask-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public");mask-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/82dce8eb-18f1-4a85-e0bd-72e90b8b3800/public")}
.legacy__number{position:relative;z-index:1;display:block;margin:0;color:#f0d795;font:clamp(72px,9vw,140px)/.85 var(--display);opacity:.92;text-shadow:4px 5px #1b0f0a}
.legacy__label{position:relative;z-index:1;margin:2px 0 20px;color:#d4a24b;font:12px var(--mono);letter-spacing:.16em;text-transform:uppercase}
.legacy h2{position:relative;z-index:1;font-size:26px;margin:0 0 10px}
.legacy p:last-child{position:relative;z-index:1}
@media(max-width:900px){.heroes{grid-template-columns:repeat(2,1fr)}.two-sides{grid-template-columns:1fr}.two-sides__panel{padding:48px 30px}}
@media(max-width:620px){.two-sides__panel--rebels,.two-sides__panel--sheriff{padding:40px 22px}.posse ul{grid-template-columns:repeat(5,1fr)}.legacy__number{font-size:64px}}
@media(prefers-reduced-motion:reduce){.ryder-gallery__overlay{transition:none}}
@media(max-width:900px){.site-header{gap:16px}.site-header nav{gap:12px}.site-header nav a{font-size:9px}.hero{min-height:650px}.hero__copy{padding-top:75px}.heroes{grid-template-columns:repeat(2,1fr)}.white-flag{grid-template-columns:1fr 190px}.white-flag__scene{grid-column:1/-1}.white-flag article{grid-column:1}.settlement-plaque{grid-column:2;margin-right:22px}.honors{grid-template-columns:repeat(2,1fr)}.honors article:nth-child(3){border-left:1px solid #705b3f}.legacy>div{padding:50px 35px}}
@media(max-width:620px){.site-header{height:60px;padding:0 17px}.site-header nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#130e0a;border-bottom:1px solid #80623b}.site-header nav.open{display:flex}.site-header nav a,.site-header nav a.active{padding:13px 20px;border:0}.menu{display:block;margin-left:auto}.hero{min-height:620px}.hero__copy{padding:55px 22px 45px}.hero h1{font-size:42px}.lead{font-size:18px}.hero__story{font-size:15px}.town-sign{right:5%;bottom:9%;font-size:25px;padding:12px 15px}.sun{left:46%;top:38%;width:55vw;height:55vw}.section{padding:68px 18px}.section-heading{margin-bottom:30px}.scoreboard{grid-template-columns:1fr;overflow:hidden}.faction{min-height:185px;padding:28px;text-align:center;align-items:center;border:0}.faction--sheriff{align-items:center;text-align:center}.medallion{left:50%;top:50%;width:145px;height:145px}.battle-meta{font-size:10px;line-height:2}.white-flag{display:block;min-height:0}.white-flag__scene{height:260px}.white-flag article{padding:44px 22px}.settlement-plaque{margin:0 22px 30px}.heroes{display:flex;overflow-x:auto;padding-bottom:13px;scroll-snap-type:x mandatory}.hero-ryder{min-width:260px;scroll-snap-align:start}.hero-ryder__art{height:270px}.hero-ryder p:last-child{min-height:auto}.honors{display:flex;overflow-x:auto;border:0}.honors article{min-width:225px;border-left:1px solid #705b3f}.posses{display:flex;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.posse{min-width:315px;scroll-snap-align:start}.personal article{padding:50px 20px}.personal__stats{grid-template-columns:1fr 1fr}.personal__stats div:nth-child(2){border-right:0}.personal__stats div:nth-child(-n+2){border-bottom:1px solid #7c5f39}.personal__stats b{font-size:25px}.legacy{display:block}.legacy>div{min-height:0;padding:48px 25px}.legacy h2{font-size:31px}.aftermath{min-height:540px;padding:60px 24px}.aftermath h2{font-size:43px}.reward-table>div{grid-template-columns:32px 1fr 70px 70px;font-size:12px}.reward-table .head{font-size:8px}.actions .button{width:100%}}
@media(max-width:620px){.two-sides__panel--rebels{background-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/8155e1d2-01de-4647-af61-8f2ace66cd00/public")}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-ryder,.button{transition:none}.hero-ryder:hover,.button:hover{transform:none}}

/* Supplied Hammertown art, kept local so this chronicle deploys independently. */
.hero__art{background:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/c6282387-fc03-4997-391b-1d772bc30b00/public") center/cover no-repeat}
.white-flag__scene{background:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/185f2986-4022-46aa-355b-f1774bead400/public") center/cover no-repeat}
.aftermath{background:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/f36db4ef-832b-426f-7177-017f21ea9800/public") center/cover no-repeat}
.personal__claim-status{align-self:center;color:#e8c677;font:12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.personal .button:disabled{cursor:wait;filter:saturate(.45);opacity:.72;transform:none}
@media(max-width:620px){.hero__art{background-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/e4986f31-82b8-4bfc-878a-ca42e750d800/public")}.white-flag__scene{background-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/2ffbbb2b-6061-402f-4059-fcdca284c200/public")}.aftermath{background-image:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/955be13c-9e71-41a9-fb17-cf7b56369c00/public")}.hero-ryder__art--pair{height:auto}.medallion b,.medallion strong{font-size:24px}.medallion i{font-size:8px}}

/* Cards stay still; badges are the only hover affordance. */
.hero-ryder:hover{transform:none}
.badge img{width:56px;height:56px}

.participant-list__filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.participant-list__filters .filter{margin:0}.participant-list__note{margin:0 0 16px;color:#bba98b;font-size:14px}.participant-table{border:1px solid #4d3b27}.participant-table__head,.participant-table__row{display:grid;grid-template-columns:85px minmax(170px,1fr) 100px 130px 60px;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #4d3b27}.participant-table__head{color:#bf9248;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.participant-table__row:last-child{border-bottom:0}.participant-table__row>b,.participant-table__row strong{color:#e7c475;font:18px var(--display)}.participant-table__row>span:nth-child(2){color:#e3d0ac}.participant-table__row small{display:block;color:#8f8069;font:10px var(--mono)}.participant-table__row em{display:inline-block;margin-left:7px;color:#f1c466;font:9px var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase}.participant-table__faction{font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase}.participant-table__faction--rebels{color:#d1846c}.participant-table__faction--sheriff{color:#91afbf}.participant-table__row.is-mine{background:linear-gradient(90deg,#5a3c1760,#24180e40);box-shadow:inset 3px 0 #e4b955}@media(max-width:620px){.participant-table{overflow-x:auto}.participant-table__head,.participant-table__row{min-width:590px}.participant-list__note{font-size:13px}}

/* Mobile composition: make each chapter read cleanly at a narrow viewport. */
@media (max-width:620px){
  .hero{min-height:660px}
  .hero__copy{max-width:none;padding:48px 22px 36px}
  .hero h1{max-width:100%;font-size:clamp(33px,9.8vw,37px);letter-spacing:0;overflow-wrap:anywhere}
  .hero__art{background-position:center center}

  .two-sides__panel--rebels{position:relative;isolation:isolate;background:#2d1713;background-image:linear-gradient(135deg,#4b201a,#160b0a 78%)}
  .two-sides__panel--rebels:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.13;background:#db755b;-webkit-mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/70% no-repeat;mask:url("https://imagedelivery.net/X88xqy8rYOBclOQo6xifRA/97cae257-04eb-40c6-e1c6-8ce6cab26000/public") center/70% no-repeat}

  .result .section-heading h2{font-size:34px}
  .scoreboard{display:grid;grid-template-columns:1fr;grid-template-rows:1.08fr .92fr;overflow:visible;background:none}
  .faction{min-height:230px;padding:30px 18px}
  .faction--rebels{grid-row:1;padding-bottom:98px}
  .faction--sheriff{grid-row:2;padding-top:76px}
  .faction b{margin:8px 0;font-size:42px}
  .medallion{position:absolute;top:53%;left:50%;transform:translate(-50%,-50%);width:166px;height:168px;margin:0;z-index:7}
  .medallion b,.medallion strong{font-size:27px}
  .battle-meta{margin-top:36px}

  .white-flag article{padding:42px 22px 52px}
  .white-flag q{max-width:290px;margin:32px auto 0;text-align:center;font-size:20px;line-height:1.15}
  .settlement-plaque{display:none}

  .section-heading--faction{justify-content:space-between;gap:8px}
  .swipe-hint{display:inline-flex;align-items:center;color:#d6a34a;font:9px var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
  .posses,.heroes,.honors,.ryder-gallery{scrollbar-width:thin;scrollbar-color:#c89646 #24170f}
  .posses{padding-right:30px;background:linear-gradient(90deg,transparent calc(100% - 52px),#0c0907 100%)}

  .aftermath{background-position:center center}
}

/* Static chronicle equivalent of the app-wide header. */
.hammertown-header{position:sticky;top:0;z-index:9;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:72px;padding:10px 18px;border-bottom:1px solid rgba(216,154,43,.22);background:linear-gradient(180deg,rgba(5,4,3,.94),rgba(10,8,6,.84));box-shadow:0 18px 45px rgba(0,0,0,.35);backdrop-filter:blur(16px);font-family:var(--body)}.hammertown-header__brand{display:flex;align-items:center}.hammertown-header__brand img{display:block;width:52px;height:52px;object-fit:contain}.hammertown-header__nav{display:flex;justify-content:center;align-items:center;gap:2px;min-width:0}.hammertown-header__nav a{position:relative;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 11px;color:#b8ad9a;font:700 11px var(--body);letter-spacing:.03em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:color .16s ease}.hammertown-header__nav a:after{content:"";position:absolute;right:9px;bottom:0;left:9px;height:1px;background:transparent;transition:background .16s ease,box-shadow .16s ease}.hammertown-header__nav a:hover,.hammertown-header__nav a.active{color:#f6c65b}.hammertown-header__nav a.active:after{background:rgba(246,198,91,.72);box-shadow:0 0 8px rgba(246,198,91,.2)}.hammertown-header__nav img{width:15px;height:15px;object-fit:contain;filter:saturate(.65) brightness(.72);opacity:.82}.hammertown-header__actions{display:flex;align-items:center;gap:5px}.hammertown-header__actions>a:not(.hammertown-header__signin){display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px}.hammertown-header__actions>a:not(.hammertown-header__signin) img{width:17px;height:17px;opacity:.76}.hammertown-header__signin{display:inline-flex;align-items:center;justify-content:center;height:36px;border:1px solid rgba(246,198,91,.5);padding:0 12px;color:#f6c65b;background:rgba(246,198,91,.14);font:700 11px var(--body);letter-spacing:.03em;text-decoration:none;text-transform:uppercase}.hammertown-header .menu{margin-left:4px}@media(max-width:900px){.hammertown-header{grid-template-columns:auto 1fr;min-height:62px}.hammertown-header__nav{display:none;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:stretch;gap:0;margin:0 -18px -10px;padding:8px 18px;background:#0a0807;border-top:1px solid rgba(216,154,43,.22)}.hammertown-header__nav.open{display:flex}.hammertown-header__nav a{justify-content:flex-start;padding:0 8px}.hammertown-header__actions{margin-left:auto}.hammertown-header__signin,.hammertown-header__actions>a:not(.hammertown-header__signin){display:none}.hammertown-header .menu{display:block}}

body:before{display:none}
.hammertown-back-header{position:relative;z-index:9;display:flex;align-items:center;min-height:54px;padding:0 clamp(18px,4vw,60px);border-bottom:1px solid rgba(212,162,75,.28);background:#0c0907}.hammertown-back-header a{display:inline-flex;align-items:center;gap:10px;color:#cdbd9e;font:11px var(--mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .16s ease}.hammertown-back-header a span{color:#e4ba61;font:24px/1 var(--body);transition:transform .16s ease}.hammertown-back-header a:hover,.hammertown-back-header a:focus-visible{color:#f0d795}.hammertown-back-header a:hover span{transform:translateX(-4px)}

/* Keep the posse roster light while it is outside the viewport. */
.posse{content-visibility:auto;contain-intrinsic-size:auto 350px}.posse:after{display:none}
.portrait--posse{filter:none}
.ryder-gallery__rank{display:inline-block;color:#f0d795;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.ryder-gallery__empty{width:100%;margin:0;border:1px solid #4d3b27;padding:34px 20px;color:#bba98b;text-align:center}
.ryder-gallery__contribution{display:block;margin-top:3px;color:#d8ad5c;font:9px var(--mono);letter-spacing:.04em;text-transform:uppercase}

/* Uniform gallery cards; badges are revealed inside the image frame on hover. */
.ryder-gallery{grid-auto-columns:220px}
.ryder-gallery__art{position:relative;aspect-ratio:1/1.16;overflow:hidden;line-height:0;background:#0f0b08}
.ryder-gallery .portrait--gallery{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transform:scale(1.18)}
.ryder-gallery__art .ryder-gallery__overlay{inset:0;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:12px;background:linear-gradient(0deg,#0c0907ee,transparent 62%)}
.ryder-gallery__art:hover .ryder-gallery__overlay,.ryder-gallery__art:focus-within .ryder-gallery__overlay{opacity:1}

/* The personal recap is deliberately smaller than the chronicle chapters. */
.personal.personal--rebels{background:linear-gradient(100deg,#24100f,#0d0908)}
.personal.personal--sheriff{background:linear-gradient(100deg,#10222e,#090d10)}
.personal article{padding-top:36px;padding-bottom:42px}
.personal h2{margin:6px 0 10px;font-size:36px}
.personal__stats{margin:16px 0}
.personal__stats div{padding:12px 16px}
.personal__stats b{font-size:27px}
.personal .actions{margin-top:16px}
.personal__ryders{margin-top:34px}
.personal__ryders .section-heading{margin-bottom:24px}
.personal__ryders h2{font-size:clamp(30px,3.2vw,40px)}
@media(max-width:620px){.personal article{padding:30px 20px 36px}.personal h2{font-size:32px}.personal__ryders{margin-top:28px}}
.personal__ryders{margin-top:58px;padding-top:56px;border-top:1px solid rgba(212,162,75,.24)}.personal__ryders .section-heading{margin-bottom:32px}.personal__ryders .section-heading h2{font-size:clamp(29px,4vw,48px)}

@media(max-width:620px){
  dialog{width:calc(100% - 34px);max-height:88svh;padding:30px 18px 24px}
  dialog h2{font-size:clamp(31px,10vw,38px);line-height:.92;margin:12px 0 20px}
  .modal__close{right:10px;top:6px}
  .reward-table>div{grid-template-columns:28px minmax(0,1fr) 48px 72px;gap:5px;padding:8px 5px;font-size:11px}
  .reward-table .head{font-size:7px;letter-spacing:.03em}
  .reward-table>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .modal-participants h2{font-size:27px;overflow-wrap:anywhere}
  .participant-table{overflow:visible}
  .participant-table__head{display:none}
  .participant-table__row{min-width:0;grid-template-columns:64px minmax(0,1fr);gap:3px 10px;padding:12px 10px}
  .participant-table__row>b{grid-row:1/5;align-self:center;font-size:23px}
  .participant-table__row>span:nth-child(2){font-size:16px}
  .participant-table__row>span:nth-child(2) small{display:inline;margin-left:5px}
  .participant-table__faction,.participant-table__row strong,.participant-table__row>span:last-child{grid-column:2;font-size:10px}
  .participant-table__row strong{font:11px var(--mono);color:#e7c475}
  .posses{gap:12px;padding-right:44px;scroll-padding-left:0;background:linear-gradient(90deg,transparent calc(100% - 58px),#0c0907 100%)}
  .posse{min-width:calc(100% - 42px)}
  .swipe-hint{color:#efc465;font-size:9px;letter-spacing:.07em}
  .aftermath .button{display:flex;width:max-content;margin:22px auto 0}
  footer{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;line-height:1.2}
  .hero{min-height:570px}
  .hero__copy{min-height:570px;display:flex;flex-direction:column}
  .hero .actions{margin-top:auto}
  .scoreboard .medallion{margin:0}
  .battle-meta{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.45}
  .battle-meta span{display:block;white-space:nowrap}
  .legacy .text-button{text-align:center}
}
