@import '../prints/prints.css';
main{max-width:1360px;margin:auto;padding:0 4vw 36px}header{display:flex;align-items:center;justify-content:space-between}.header-tools{display:flex;align-items:center;gap:16px}#sound{width:112px;font-size:12px;padding:8px;background:transparent;color:var(--muted);border:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.heading h1{margin:14px 0 12px}.back-link{font-size:12px;color:var(--muted);text-decoration:none}.purse{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-decoration:none;flex-shrink:0}.purse span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.purse strong{font-size:28px;color:var(--paper);font-variant-numeric:tabular-nums}#status{color:#f2ce98;font-size:14px;margin:0}#status:not(:empty){padding:14px 18px;background:#3a3329;border-radius:8px;margin-bottom:20px}.tide-scene,.bank-scene{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;background-color:#061d27;background-size:cover;background-position:center;background-repeat:no-repeat;background-origin:border-box;border:1px solid var(--edge)}.tide-scene{height:520px;background-image:linear-gradient(0deg,#061d27eb 0%,transparent 50%,#06263155),url('art/tide.webp');display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px}.prize-title{position:absolute;top:26px;left:0;right:0;text-align:center;text-shadow:0 2px 18px #032933}.prize-title>span{font:10px var(--mono);letter-spacing:.22em;color:#edf3e1}.prize-title strong{display:block;font-size:46px;font-weight:550;letter-spacing:-.03em}.prize-title small{font-size:17px;font-weight:450;letter-spacing:.02em}.chest{background:none;border:0;width:300px;padding:0;line-height:0;cursor:pointer;filter:drop-shadow(0 18px 12px #05202c55)}.chest img{width:100%;height:auto;transition:transform .3s}.chest:hover:not(:disabled) img{transform:translateY(-5px)}.chest:disabled{opacity:1;cursor:default}.chest.opening img{animation:chest-wake .5s ease-in-out infinite alternate}#result{margin:0 0 20px;font-size:20px;color:#fff0c6;text-align:center;min-height:30px}.entrants{display:flex;justify-content:center;gap:12px}.entrants span{font-size:12px;border:1px solid #bccbc64d;padding:8px 18px;border-radius:100px;background:#062633bb;color:#bdceca}.entrants [data-entrant="0"]{color:#fff1cd;border-color:#e6c78888}.entrants .winner{background:#f4dfaa;color:#17333b;border-color:#f4dfaa;box-shadow:0 0 25px #f1ce7244}.action-bar{display:flex;align-items:center;justify-content:space-between;padding:24px 0;gap:20px}.action-bar strong{font-size:16px;font-weight:500}.action-bar p{margin:5px 0 0;font-size:13px;color:var(--muted)}.source-strip{border-block:1px solid var(--edge);padding:24px 0;display:grid;grid-template-columns:1fr auto 1fr auto 1.3fr;align-items:center;gap:20px}.source-strip div{display:flex;flex-direction:column;gap:9px}.source-strip span:not(.flow-arrow){font:9px var(--mono);letter-spacing:.12em;color:var(--muted)}.source-strip strong{font-size:17px;font-weight:500}.source-strip b{font-weight:500}.flow-arrow{color:#d3be83}.source-strip p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.bank-scene{min-height:430px;background-image:linear-gradient(90deg,#071d2e70,transparent 65%),url('art/vault.webp');background-position:center}.bank-content{padding:38px;max-width:54%;}.vault-total{font-size:64px;font-weight:500;letter-spacing:-.055em;line-height:1.15}.vault-total small{display:block;font-size:12px;letter-spacing:.12em;margin-top:8px;color:#ddcfac}.vault-caption{font-size:16px;color:#bbcfd2;margin:22px 0}.position{display:flex;gap:36px;border-top:1px solid #c7d6d326;padding-top:22px}.position div{display:flex;flex-direction:column;gap:8px}.position span{font-size:11px;color:#adc4cd}.position strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.position [data-tone=loss]{color:#f1af9c}.position [data-tone=gain]{color:#b8dbb1}#ownership{font-size:11px;color:#b4c9ce;margin:22px 0 0}.bank-console{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 0}.bank-console section+section{border-left:1px solid var(--edge);padding-left:36px}.bank-console h2,.visitor h2{font-size:25px;margin:0 0 10px}.bank-console p,.visitor p{font-size:14px;color:var(--muted);line-height:1.65}.choices{display:flex;align-items:center;gap:8px;margin-top:20px}.choices button{min-width:65px;border:1px solid #abc2bd55;border-radius:7px;color:var(--ink);background:#163741;padding:10px 18px;min-height:44px}.choices [aria-pressed=true]{color:#112d37;background:#e8dcb9;border-color:#e8dcb9}.choices span{font-size:11px;color:var(--muted);padding-left:8px}.quote{font-size:12px!important;min-height:40px;margin:12px 0 14px!important}#empty-purse{font-size:12px}.visitor{display:flex;align-items:center;justify-content:space-between;gap:36px;border-block:1px solid var(--edge);padding:30px 0}.visitor>div{max-width:66ch}.visitor .primary{flex-shrink:0}.visitor .small{font-size:11px;margin-bottom:0}#visitor-result{color:#e4d5b3;margin-bottom:8px}details{border-bottom:1px solid var(--edge);margin:0}summary{padding:20px 0;font-size:14px;cursor:pointer}.rules{max-width:78ch;padding:0 0 22px}.rules p{font-size:14px;line-height:1.7;color:var(--muted)}.history{list-style:none;margin:0;padding:0 0 20px}.history li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--edge);font-size:13px;color:#becfcb}.history time{font-size:11px;color:var(--muted)}.next{padding-top:28px}.next p{font-size:17px;color:var(--paper)}.next>div{display:flex;flex-wrap:wrap;gap:12px 30px}.next a{font-size:13px;min-height:44px;padding:10px 0}footer{padding:20px 4vw;display:flex;justify-content:space-between;gap:25px;font-size:12px}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}@keyframes chest-wake{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:900px){header{flex-wrap:wrap}.header-tools{margin-left:auto}.bank-content{max-width:64%}.position{gap:22px}.bank-console{gap:24px}.bank-console section+section{padding-left:24px}.visitor{gap:20px}.visitor .primary{padding-inline:18px}}
@media(max-width:620px){body[data-ui=reserves]>header{gap:12px;padding:14px 5vw}header>a img{width:84px;height:auto}header nav{order:3;width:100%;justify-content:space-between}body[data-ui=reserves] header nav a{padding:8px 10px;font-size:12px}.header-tools{gap:10px}#sound{width:100px}main{padding-inline:5vw}.heading{align-items:flex-start;gap:12px}.heading h1{font-size:36px!important}.heading>div>p:last-child{font-size:14px!important;max-width:25ch}.purse{padding-top:5px}.purse strong{font-size:22px}.purse span{font-size:9px}.tide-scene{height:430px;padding:18px 12px;background-position:center}.chest{width:255px}.prize-title{top:20px}.prize-title strong{font-size:39px}.entrants{gap:6px}.entrants span{padding:7px 11px;font-size:11px}#result{font-size:16px;margin-bottom:16px}.action-bar{align-items:flex-start;flex-direction:column;gap:16px}.action-bar .primary{width:100%}.source-strip{gap:10px;grid-template-columns:1fr 16px 1fr 16px 1.2fr}.source-strip strong{font-size:12px;line-height:1.5}.source-strip span:not(.flow-arrow){font-size:8px;letter-spacing:.06em}.bank-scene{min-height:380px;background-position:62% center}.bank-content{padding:24px;max-width:100%;background:linear-gradient(90deg,#061d2eda,#061d2e80 60%,#061d2e22);min-height:380px}.vault-total{font-size:54px}.position{gap:26px;max-width:300px}.position span{font-size:10px}.position strong{font-size:19px}.bank-console{grid-template-columns:1fr;gap:26px}.bank-console section+section{border-left:0;border-top:1px solid var(--edge);padding:26px 0 0}.bank-console p{font-size:13px}.quote{min-height:20px}.bank-console .primary,.bank-console .secondary{width:100%}.visitor{display:block}.visitor .primary{width:100%;margin-top:20px}.visitor p{font-size:13px}footer{flex-direction:column;gap:12px}.history li{font-size:12px}.history time{min-width:65px;text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Follow the money in the same order as the interaction: back, play, redeem. */
.bank-console>.visitor{display:block;border-block:0;margin:0;padding:0 0 0 36px}.bank-console>.visitor .primary{margin-top:10px}.bank-console>.redeem-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--edge);padding:26px 0 0}.redeem-panel h2{font-size:21px}.redeem-panel .choices{display:inline-flex;margin:8px 24px 8px 0}.redeem-panel .quote{display:inline-block;margin:0!important;min-height:0}.redeem-panel #redeem{display:block;margin-top:12px}.redeem-panel>p:first-of-type{margin-top:0}.position strong{font-size:24px}#ownership{white-space:pre-line;line-height:1.7}.entrants span{border:0;background:transparent;padding:8px 14px;border-radius:4px}.entrants [data-entrant="0"]::before{content:'● ';color:#edd5a0;font-size:8px}.entrants .winner{background:#f4dfaa;color:#17333b}.chest{position:relative}.chest::after{content:'';position:absolute;z-index:-1;left:13%;right:9%;bottom:12%;height:14%;background:#04273177;filter:blur(13px);border-radius:50%}
@media(max-width:620px){.bank-console>.visitor{padding:26px 0 0;border-top:1px solid var(--edge)}.bank-console>.visitor .primary{margin-top:12px}.bank-console>.redeem-panel{padding-top:26px}.bank-scene{background-size:auto 300px;background-position:right top;background-repeat:no-repeat;background-color:#081f30;min-height:0}.bank-content{margin-top:220px;padding:22px;min-height:0;background:linear-gradient(0deg,#081f30 80%,#081f30c9)}.bank-content .eyebrow{margin:0 0 10px}.vault-total{font-size:36px}.vault-total small{display:inline;margin-left:10px;font-size:10px}.vault-caption{margin:12px 0 16px;font-size:13px}.position{padding-top:16px;gap:22px}.position strong{font-size:19px}#ownership{margin-top:15px;font-size:10px}.bank-content{max-width:100%}.redeem-panel .quote{display:block}.redeem-panel #redeem{width:100%}.entrants span{padding-inline:12px}}

.prize-title{text-shadow:0 2px 12px #001722,0 1px 3px #001722;background:radial-gradient(ellipse,#042331b8,transparent 72%);padding:14px 32px;border-radius:12px;}

/* Treasure Tide is a prize ceremony. Back the Reef is a working reserve table. */
.tide-scene{height:570px;padding:64px 24px 24px;background-image:linear-gradient(0deg,#042432 0%,#04243255 35%,#04243222),url('art/tide.webp')}.draw-track{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.draw-track span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #accbc977;background:#082c3c;font:11px var(--mono);color:#bed4cf}.draw-track [data-done=true]{background:#b6dac7;color:#11332f;border-color:#b6dac7}.draw-track [data-active=true]{background:#ffe1a2;color:#43351c;box-shadow:0 0 18px #f4d09177}.tide-scene .prize-title{top:51px}.tide-scene .prize-title strong{font-size:52px;color:#fff0c1}.tide-scene .chest{width:260px;margin-top:100px}.tide-scene #result{font-size:20px;font-weight:600;margin-bottom:18px}.entrants{width:min(100%,520px);gap:12px}.entrants>span{position:relative;flex:1;padding:10px 5px 8px;border:1px solid #84abb66b!important;border-radius:12px;background:#082c3ded;text-align:center;display:grid;justify-items:center;gap:4px;transition:background .2s,transform .2s,box-shadow .2s}.entrants [data-entrant="0"]::before{display:none}.entrants b{font-size:13px}.entrants small{font-size:9px;color:#b8ced3}.tide-fish{display:block;width:72px;height:46px;background-image:url('/site/assets/fish-sprites.png');background-size:400% 1300%;background-position:0 calc(var(--fish-row)*100%/12);filter:drop-shadow(0 5px 3px #031d2b);pointer-events:none}.entrants .winner{background:#f2d48e;border-color:#f2d48e!important;color:#16343c;transform:translateY(-5px);box-shadow:0 0 25px #f8d57655}.entrants .winner small{color:#254951}.tide-scene[data-phase=drawing] .entrants>span{animation:tide-turn .8s linear infinite}.tide-scene[data-phase=drawing] .entrants>span:nth-child(2){animation-delay:.2s}.tide-scene[data-phase=drawing] .entrants>span:nth-child(3){animation-delay:.4s}.tide-scene[data-phase=drawing] .entrants>span:nth-child(4){animation-delay:.6s}.tide-scene[data-phase=settled] .winner .tide-fish{animation:prize-fish .5s ease-out}.action-bar #draw{background:#efcf85;color:#20373a;border-radius:9px;box-shadow:0 4px 0 #715c35;font-weight:700}.action-bar #draw:enabled:active{transform:translateY(3px);box-shadow:0 1px 0 #715c35}.reserve-chart{margin-top:20px;border-top:1px solid #89adb44d;padding-top:14px}.reserve-chart>span{font:10px var(--mono);color:#c2d8d7}.reserve-chart svg{display:block;width:100%;height:70px;overflow:visible}.reserve-chart polyline{stroke:#91e5c4;stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-baseline{stroke:#9ecbb32d;stroke-dasharray:3 5;fill:none}.reserve-chart p{margin:0;font:10px var(--mono);color:#d1e6dd}.bank-content{background:linear-gradient(90deg,#061d2efa,#061d2ebb 80%,transparent);max-width:60%}.visitor-table{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:135px;padding:15px 18px;margin-bottom:22px;border-radius:14px;border:1px solid #688e8d;background:radial-gradient(ellipse at center,#266059,#102f37);box-shadow:inset 0 0 0 5px #173d42}.visitor-table>div{display:grid;justify-items:center;gap:5px;flex:1}.visitor-table span{font-size:12px;color:#e1f0df}.visitor-table b{font-size:11px;color:#b9d0c9}.visitor-token{display:grid;place-items:center;border:2px solid #eccb85;background:#7c6435;border-radius:50%;width:40px;height:40px;flex:none;font-size:23px!important;color:#ffebac!important}.table-reserve strong{font-size:28px;color:#c9ecbc}.visitor-table[data-phase=playing] .visitor-token{animation:reserve-coin .5s alternate infinite}.visitor-table[data-phase=visitor]>div:first-child,.visitor-table[data-phase=reserve] .table-reserve{filter:drop-shadow(0 0 12px #cbe79899)}.bank-console .visitor{min-width:0}.bank-console #visitor{background:#bde3cd;color:#15372f;border-radius:9px}.bank-console .choices button[aria-pressed=true]{box-shadow:0 3px 0 #625834;transform:translateY(-2px)}.bank-console #deposit,.bank-console #redeem{border-radius:9px}.bank-console section{min-width:0}@keyframes tide-turn{0%,24%{box-shadow:0 0 0 2px #ffe4a1;background:#526149}25%,100%{box-shadow:none;background:#082c3ded}}@keyframes prize-fish{50%{transform:translateY(-8px) rotate(-5deg)}}@keyframes reserve-coin{to{transform:rotateY(65deg)}}
@media(max-width:620px){.tide-scene{height:510px;padding:60px 12px 18px}.tide-scene .chest{width:230px}.tide-scene .prize-title strong{font-size:43px}.tide-scene #result{font-size:16px;min-height:40px;margin-bottom:12px}.entrants{gap:7px}.entrants>span{padding:8px 2px}.tide-fish{width:59px;height:39px}.entrants b{font-size:12px}.entrants small{font-size:8px}.bank-content{max-width:100%;background:linear-gradient(0deg,#081f30 85%,#081f30c9)}.visitor-table{min-height:135px}.reserve-chart svg{height:65px}}
@media(prefers-reduced-motion:reduce){.tide-scene[data-phase=drawing] .entrants>span,.tide-scene[data-phase=settled] .winner .tide-fish,.visitor-table[data-phase=playing] .visitor-token{animation:none}.entrants>span{transition:none}}


.draw-track{align-items:center}.draw-track b{font:10px var(--mono);font-weight:400;color:#082c3c;text-shadow:0 1px 8px #ecedc9;margin-right:2px}.entrants small{font-size:11px}.position span{font-size:12px}.reserve-chart p{font-size:12px;line-height:1.5}@media(max-width:620px){.draw-track{gap:5px}.draw-track span{width:23px;height:23px}.entrants small{font-size:10px}.visitor b,.visitor .small{font-size:12px}}

/* Keep the prize, opened chest, result, and entrants in separate rows. */
.tide-scene{height:auto;min-height:570px;justify-content:flex-start;gap:12px;padding:20px 24px 24px}.tide-scene .draw-track{position:static;transform:none;flex:none}.tide-scene .prize-title{position:static;padding:0;background:none;flex:none}.tide-scene .chest{width:260px;height:230px;margin:0;flex:none}.tide-scene .chest img{width:100%;height:100%;object-fit:contain}.tide-scene #result{margin:0;min-height:30px}.tide-fish{width:64px;height:64px;background-position:66.6667% calc(var(--fish-row)*100%/12)}
@media(max-width:620px){.tide-scene{padding:18px 12px;min-height:0;gap:10px}.tide-scene .chest{width:230px;height:210px}.tide-scene #result{min-height:40px}.tide-fish{width:52px;height:52px}}

/* Draws finish in the scene; the saved series remains visible below it. */
.tide-scene .action-bar{align-self:stretch;justify-content:space-between;background:#082932e8;border:1px solid #769a9566;border-radius:12px;padding:16px 20px;margin-top:8px}
.tide-scene .action-bar strong{color:#f2e4b7;font-size:16px}
.tide-scene .action-bar p{color:#bdd4d0}
.tide-scene .action-bar .primary{margin:0;min-width:220px}
.draw-track [data-won=true]{background:#f5d987;border-color:#f5d987;color:#22392d;box-shadow:0 0 0 2px #f5d98733}
.tide-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;padding:24px;margin:22px 0;border:1px solid var(--edge);border-radius:12px;background:#0b2b34}
.tide-summary>div{display:grid;gap:5px}.tide-summary span{font:10px var(--mono);letter-spacing:.12em;color:#afc9c7}.tide-summary strong{font-size:27px;color:#f1dfad;font-variant-numeric:tabular-nums}.tide-summary p{grid-column:1/-1;margin:0;font-size:13px;color:#bed2d0}.tide-summary>a{align-self:center;justify-self:start;margin:0;font-size:14px}.tide-summary>a:not(.primary){padding:12px 0}
.bank-console{gap:22px;padding-top:22px;align-items:start;grid-template-rows:min-content 1fr}
.bank-console>.deposit-panel,.bank-console>.visitor,.bank-console>.redeem-panel{border:1px solid #77979866;border-radius:14px;background:#0b2d37;padding:24px}
.bank-console>.deposit-panel{grid-column:1;grid-row:1}.bank-console>.visitor{grid-column:2;grid-row:1 / span 2}.bank-console>.redeem-panel{grid-column:1;grid-row:2}
.bank-console .step-label{font:11px var(--mono);letter-spacing:.12em;color:#e9d494;margin:0 0 15px}
.bank-console>.visitor .step-label{margin-top:0}
.visitor-rounds{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin:22px 0 12px;padding:0;list-style:none}
.visitor-rounds li{display:grid;place-items:center;aspect-ratio:1;border:1px solid #60818a;border-radius:6px;color:#a8c3c8;font:10px var(--mono)}
.visitor-rounds [data-outcome=gain]{background:#b9e2c2;color:#153c30;border-color:#b9e2c2}.visitor-rounds [data-outcome=loss]{background:#e1ab96;color:#412b24;border-color:#e1ab96}.visitor-rounds [data-outcome=playing]{background:#f4d896;color:#31371c;border-color:#f4d896;animation:reserve-round-pulse .65s alternate infinite}
.bank-console .bank-next-step{font-size:13px;color:#d8e9dc;margin-bottom:0}
.reserve-receipt{display:grid;gap:8px;margin-top:18px;padding:18px!important;border:1px solid #9ec7b388!important;border-radius:10px;background:#173e3d;animation:reserve-receipt-in .3s ease-out}
.reserve-receipt>strong{font-size:12px;color:#c3d8cd}.reserve-receipt>b{font-size:23px;color:#e4edbd}.reserve-receipt p{margin:0!important;color:#c6d9d5!important;font-size:13px!important}.reserve-receipt[data-tone=loss]{background:#3c302d;border-color:#cf9c8588!important}.reserve-receipt[data-tone=loss]>b{color:#f1c6ad}
@keyframes reserve-round-pulse{to{box-shadow:0 0 0 3px #f4d89644}}
@keyframes reserve-receipt-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:620px){.tide-scene .action-bar{padding:15px;gap:12px}.tide-scene .action-bar .primary{min-width:0;width:100%;white-space:normal}.tide-summary{padding:18px;gap:14px}.tide-summary>a{grid-column:1/-1}.tide-summary strong{font-size:24px}.bank-console>.deposit-panel,.bank-console>.visitor,.bank-console>.redeem-panel{padding:18px}.visitor-rounds{gap:4px}.visitor-rounds li{font-size:9px;border-radius:4px}.bank-console .choices{gap:6px}.bank-console .choices button{min-width:54px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.reserve-receipt,.visitor-rounds [data-outcome=playing]{animation:none}}

body[data-ui=reserves] .heading>.purse{display:none}
body[data-ui=reserves] .skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
.tide-summary:focus-visible{outline:2px solid #edd596;outline-offset:4px}

@media(max-width:620px){.bank-console{grid-template-rows:auto}.bank-console>.deposit-panel,.bank-console>.visitor,.bank-console>.redeem-panel{grid-column:1;grid-row:auto}}
