#results:has(.treasure-finale){margin:10px 0}
.treasure-finale{color:var(--cream);padding:6px 0 20px;max-width:1420px;margin:auto}
.finale-heading{text-align:center;max-width:850px;margin:0 auto 10px;min-height:110px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.finale-heading>p:first-child{color:var(--brass);font-weight:650;font-size:.9rem}
.finale-heading h1{font-size:clamp(2rem,4vw,3.2rem);overflow-wrap:anywhere;text-wrap:balance}
.finale-hint{font-size:1rem;max-width:650px;align-self:center;min-height:2.9em}
.finale-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:8px 0 15px}
.finale-controls button{border-color:#a9bfba;background:var(--deep);color:var(--cream);font-size:.85rem}
.finale-controls button:hover:not(:disabled){background:var(--cream);color:var(--ink)}
.finale-controls button:focus-visible{outline-color:var(--brass)}
.finale-route{list-style:none;padding:0;display:flex;max-width:900px;margin:0 auto 16px;gap:8px;justify-content:center}
.finale-route li{flex:1;max-width:175px;text-align:center;font-size:.78rem;color:#d2ded8;padding:8px 4px;border-bottom:2px solid #a9bfba}
.finale-route li span{display:block;font-size:.8rem;margin-top:5px}
.finale-route .active{color:var(--brass);border-color:var(--brass);font-weight:750}
.finale-route .counted{color:var(--cream)}
.finale-crews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}
.finale-crew{background:var(--cream);color:var(--ink);border:3px solid var(--cream);border-radius:6px;padding:16px;min-width:0;position:relative}
.finale-crew>header{min-height:40px;text-align:center;overflow-wrap:anywhere}
.finale-crew h2{font-size:1.35rem}.finale-crew h2 small{font:400 .8rem system-ui}
.haul-total{display:flex;align-items:center;flex-direction:column;gap:2px;margin:4px auto 8px;width:125px;height:125px;justify-content:center;border:2px solid #8c9c98;border-radius:50%;background:var(--paper)}
.haul-total>span{font-size:.72rem}.haul-total strong{font:700 3.3rem/.98 Georgia,serif;font-variant-numeric:tabular-nums}
.haul-source{height:110px;display:flex;align-items:center;gap:12px;justify-content:center;position:relative;border-bottom:1px solid #8c9c98;margin-bottom:12px;padding-bottom:10px}
.haul-add{font:700 2.15rem Georgia,serif;flex-shrink:0;color:#267342}
.haul-items{display:flex;align-items:center;gap:7px;overflow-x:auto;max-height:130px;min-width:0;padding:8px 2px;font-size:.82rem;flex-wrap:wrap}
.haul-items:has(button){flex-wrap:nowrap}
.haul-items button,.finale-collection button{padding:0;border:0;width:57px;min-width:57px;background:transparent;position:relative;flex-shrink:0;box-shadow:1px 3px 4px #082a3533;border-radius:3px}
.haul-items img,.finale-collection img{display:block;width:100%;border-radius:3px}
.haul-items button>span,.finale-collection button>span{position:absolute;bottom:0;left:0;right:0;background:var(--deep);color:var(--cream);font-size:.8rem;padding:2px;text-align:center}
.haul-coin{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #79551f;background:var(--brass);font-weight:700}
.haul-trophy{display:grid;place-items:center;width:43px;height:48px;border:2px solid #79551f;border-radius:3px 3px 45% 45%;background:var(--brass);font:700 1.2rem Georgia,serif}
.seal-receipt{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:.76rem}.seal-receipt>span{max-width:80px}.seal-receipt b{display:block;font-size:1.2rem}.palm-receipt b{display:block;font:700 1.5rem Georgia,serif}
.sealed-haul{font:700 5rem Georgia,serif;color:#79551f}
.haul-ledger{display:grid;gap:6px;margin:0}.haul-ledger>div{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:.82rem}.haul-ledger dd{margin:0;min-width:28px;text-align:right;font-weight:700}.haul-ledger .active{font-weight:750;color:#267342}
.gold-crew{border-color:var(--brass);box-shadow:0 0 0 1px #79551f}.gold-crew .haul-total{border-color:#79551f;background:var(--brass)}
.gold-stamp{display:block;font:700 .85rem Georgia,serif;margin-top:6px;color:#79551f}
.finale-complete .finale-heading h1{color:var(--brass)}
.finale-complete .haul-source{flex-direction:column;gap:10px;height:135px}.finale-complete .haul-source>button{min-height:44px}.finale-collection{display:flex;gap:6px;overflow-x:auto;width:100%;padding-bottom:5px}.finale-collection button{width:44px;min-width:44px}.finale-collection button>span{font-size:.64rem}
.finale-tie{font-size:.78rem;text-align:center;max-width:740px;margin:22px auto 0;color:#d2ded8}
.finale-rematch{text-align:center;margin:32px auto 0;padding-top:24px;border-top:1px solid #a9bfba}.finale-rematch h2{font-size:1.35rem;margin-bottom:14px}.finale-rematch p{font-size:.8rem;margin-top:10px}
.treasure-finale[data-stage=intro] .sealed-haul{animation:chart-open .8s ease-out both}.haul-items{animation:treasure-land .6s cubic-bezier(.18,.8,.3,1) both}.haul-add{animation:treasure-count .7s ease-out both}.finale-complete .gold-stamp{animation:gold-stamp .7s cubic-bezier(.2,.8,.2,1) both}.finale-complete .gold-crew .haul-total{animation:gold-arrives .9s cubic-bezier(.2,.8,.2,1) both}.treasure-finale[data-stage=suspense] .sealed-haul{animation:gold-waits 1.1s ease-in-out both}.is-paused *{animation-play-state:paused!important}
@keyframes chart-open{from{transform:rotate(-25deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes treasure-land{from{transform:translateY(28px) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}
@keyframes treasure-count{from{transform:translateY(25px) scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes gold-stamp{from{transform:scale(2) rotate(-12deg);opacity:0}70%{transform:scale(.96) rotate(2deg);opacity:1}to{transform:none}}
@keyframes gold-arrives{from{transform:scale(.75);box-shadow:0 0 0 20px #e9bb6500}60%{transform:scale(1.06);box-shadow:0 0 0 12px #e9bb6544}to{transform:none;box-shadow:0 0 0 25px #e9bb6500}}
@keyframes gold-waits{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(max-width:720px){.treasure-finale{padding-top:8px}.finale-heading{min-height:145px;gap:9px}.finale-heading h1{font-size:2rem}.finale-hint{font-size:.85rem;min-height:3.8em}.finale-controls{gap:6px;margin:12px 0 15px}.finale-controls button{font-size:.75rem;padding:7px 10px;flex:1;min-width:80px}.finale-route{gap:4px;margin-bottom:16px}.finale-route li{font-size:.65rem;padding:6px 1px;overflow-wrap:anywhere}.finale-crews{grid-template-columns:1fr;gap:12px}.finale-crew{padding:14px;display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.finale-crew>header{grid-column:1/-1;min-height:0}.finale-crew h2{font-size:1.2rem}.haul-total{width:100px;height:100px;margin:0}.haul-total strong{font-size:2.6rem}.haul-total>span{font-size:.61rem}.haul-source{margin:0;padding:0;height:130px;border:0;flex-direction:column;gap:4px;grid-column:2;grid-row:2/4;overflow:hidden}.haul-add{font-size:1.7rem}.haul-items{max-height:95px;flex-shrink:0;width:100%;justify-content:flex-start}.haul-items button{width:47px;min-width:47px}.haul-ledger{grid-column:1/-1;gap:5px;border-top:1px solid #8c9c98;padding-top:10px}.haul-ledger>div{font-size:.77rem}.finale-complete .haul-source{height:135px;gap:8px}.finale-collection button{width:36px;min-width:36px}.finale-tie{font-size:.7rem}.finale-rematch{margin-top:22px}.finale-rematch h2{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.treasure-finale *{animation:none!important;transition:none!important}}
.treasure-finale.is-settled *{animation:none!important}
@media(max-width:720px){.finale-collection button{width:44px;min-width:44px}}
