/* Shared cinematic grammar, with a different material and silhouette per chapter. */
.chapter-outcome{--light:#ffe4a0;--accent:#75e5d4;--ink:#071e2c;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:var(--light);pointer-events:none!important;font-family:"Microsoft YaHei",sans-serif;isolation:isolate;z-index:2147483500;animation:outcome-life var(--show-time) linear both}
.chapter-outcome::backdrop{background:transparent;pointer-events:none}.chapter-outcome *{box-sizing:border-box;pointer-events:none!important}
.chapter-outcome.theme-forest{--light:#edffd1;--accent:#98e7a9;--ink:#092a24}.chapter-outcome.theme-stars{--light:#ffedc3;--accent:#cab4ff;--ink:#1b103c}.chapter-outcome.theme-wind{--light:#fff1c7;--accent:#a1edff;--ink:#0a2b42}.chapter-outcome.theme-lantern{--light:#ffe3a0;--accent:#e8b668;--ink:#111b32}
.outcome-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,color-mix(in srgb,var(--ink) 73%,transparent) 0%,color-mix(in srgb,var(--ink) 87%,transparent) 57%,color-mix(in srgb,var(--ink) 94%,transparent) 100%);backdrop-filter:blur(3px);animation:outcome-veil .3s ease both}
.outcome-vignette:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 41%,color-mix(in srgb,var(--accent) 23%,transparent),transparent 47%)}
.outcome-rays{position:absolute;left:50%;top:43%;width:min(110vw,125vh);aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(from 8deg,transparent 0 13deg,color-mix(in srgb,var(--light) 12%,transparent) 14deg,transparent 17deg 30deg);mask-image:radial-gradient(circle,#000 2%,#0008 25%,transparent 65%);animation:outcome-ray-turn 18s linear infinite;opacity:.45}
.tier-big .outcome-rays,.tier-legend .outcome-rays{opacity:1}.tier-legend .outcome-rays{background:repeating-conic-gradient(from 8deg,transparent 0 10deg,#ffe7a82e 12deg,transparent 15deg 24deg)}
.outcome-orbits{position:absolute;left:50%;top:42%;width:min(63vw,540px);aspect-ratio:1;translate:-50% -50%;opacity:.5}.outcome-orbits i{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;box-shadow:0 0 25px color-mix(in srgb,var(--accent) 8%,transparent);animation:outcome-ring-in .8s cubic-bezier(.15,.8,.2,1) both}.outcome-orbits i:nth-child(2){inset:12%;border-style:dashed;animation-delay:.08s}.outcome-orbits i:nth-child(3){inset:-14%;border-color:color-mix(in srgb,var(--light) 10%,transparent);animation-delay:.16s}
.outcome-content{position:absolute;left:50%;top:48%;width:min(90vw,720px);translate:-50% -50%;text-align:center;display:flex;flex-direction:column;align-items:center;animation:outcome-content-in .48s .07s cubic-bezier(.12,.75,.2,1) both;text-shadow:0 2px 18px var(--ink)}
.outcome-emblem{width:clamp(135px,20vh,205px);aspect-ratio:1;position:relative;margin-bottom:10px}.outcome-emblem:before{content:'';position:absolute;inset:15%;border-radius:50%;background:var(--accent);filter:blur(40px);opacity:.21;animation:outcome-emblem-glow 1s ease both}.outcome-emblem svg{position:relative;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--light);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 65%,transparent));animation:outcome-emblem-in .7s cubic-bezier(.15,.8,.2,1) both}
.outcome-emblem .emblem-core{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke-width:1.8}.outcome-emblem .emblem-ring{stroke:var(--accent);stroke-dasharray:1 7;opacity:.65}.outcome-emblem .emblem-number{stroke:none;fill:var(--light);font:italic 46px Georgia,serif;text-anchor:middle;paint-order:stroke;stroke:var(--ink);stroke-width:3px}.outcome-emblem .emblem-flame{fill:#ffe3a043;transform-origin:100px 124px;animation:outcome-flame .75s ease-in-out infinite alternate}.outcome-emblem .emblem-wave{stroke:var(--accent);animation:outcome-wave 1.4s ease-in-out infinite alternate}.outcome-emblem .emblem-track{stroke:var(--accent);stroke-dasharray:400;stroke-dashoffset:400;animation:outcome-track .85s .12s ease-out forwards}.outcome-emblem .emblem-needle{transform-origin:100px 100px;animation:outcome-needle .9s cubic-bezier(.15,.8,.2,1) both}
.outcome-kicker{font:10px/1.6 Georgia,serif;letter-spacing:4px;color:var(--accent)}
.outcome-content h2{font-size:clamp(21px,3.1vw,34px);font-weight:500;letter-spacing:5px;margin:13px 0 18px;line-height:1.5}
.outcome-profit{display:flex;justify-content:center;align-items:baseline;gap:12px;white-space:nowrap}.outcome-profit>span{font-size:13px;letter-spacing:3px;opacity:.8}.outcome-profit strong{font:clamp(40px,7vw,82px)/1 Georgia,"Microsoft YaHei",serif;font-variant-numeric:tabular-nums;letter-spacing:-2px;color:#fff7db;text-shadow:0 0 28px color-mix(in srgb,var(--light) 40%,transparent),0 4px 0 #07152255}.outcome-profit>b{font:18px Georgia,serif;opacity:.8}.tier-legend .outcome-profit strong{font-size:clamp(48px,8vw,104px);color:#fff0b5}
.outcome-content p{font-size:12px;line-height:1.9;letter-spacing:1px;color:color-mix(in srgb,var(--light) 75%,#fff);margin:18px 0 0}.outcome-content p i{font-style:normal;opacity:.4;margin-inline:7px}.outcome-rule{display:flex;align-items:center;gap:15px;width:min(240px,65vw);margin-top:25px;color:var(--accent);font-size:11px}.outcome-rule:before,.outcome-rule:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--accent));opacity:.5}.outcome-rule:after{transform:scaleX(-1)}
.chapter-outcome[data-long="true"] .outcome-profit strong{font-size:min(68px,calc((90vw - 85px) / var(--digits) * 1.65));letter-spacing:-1px}
.outcome-motes{position:absolute;left:50%;top:42%;width:0;height:0}.outcome-mote{position:absolute;color:var(--accent);font-size:var(--size);font-style:normal;text-shadow:0 0 12px currentColor;animation:outcome-mote 1.55s var(--d) cubic-bezier(.1,.6,.25,1) both}.outcome-mote.mote-1{color:var(--light)}.outcome-mote.mote-2{color:#fffbe5;font-size:calc(var(--size) * .6)}
.tier-loss{--light:#d5ddeb;--accent:#a3b9cc}.tier-loss .outcome-rays,.tier-even .outcome-rays{display:none}.tier-loss .outcome-emblem svg{filter:none;animation:outcome-loss-emblem .65s both}.tier-loss .outcome-profit strong{color:#dbe0eb;font-size:clamp(38px,6vw,65px);text-shadow:none}.tier-loss .outcome-emblem{opacity:.6}.tier-loss .outcome-orbits{opacity:.15}.tier-loss .outcome-mote{animation-name:outcome-fragment}.tier-even .outcome-orbits{opacity:.22}.tier-even .outcome-profit strong{font-size:clamp(38px,6vw,65px)}
.theme-shore .outcome-orbits{scale:1 .55;top:42%;width:min(80vw,740px)}.theme-forest .outcome-orbits i{border-radius:8% 65% 8% 65%;rotate:45deg}.theme-wind .outcome-orbits i:nth-child(2){inset:6% -9%;rotate:-22deg;border-style:solid}.theme-lantern .outcome-orbits i{border-radius:45% 45% 10% 10%;border-top-color:transparent}.theme-lantern .outcome-rays{opacity:.25;background:conic-gradient(from 160deg,transparent,#ffd57e2e 20deg,transparent 40deg 180deg,#ffd57e2e 200deg,transparent 220deg)}
@keyframes outcome-life{0%{opacity:0}12%,82%{opacity:1}100%{opacity:0}}
@keyframes outcome-veil{from{opacity:0}to{opacity:1}}
@keyframes outcome-content-in{from{opacity:0;transform:translateY(15px) scale(.92)}to{opacity:1;transform:none}}
@keyframes outcome-emblem-in{from{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}
@keyframes outcome-emblem-glow{from{scale:.5;opacity:0}60%{opacity:.4}to{scale:1;opacity:.21}}
@keyframes outcome-ring-in{from{scale:.5;opacity:0}to{scale:1;opacity:1}}
@keyframes outcome-ray-turn{to{transform:rotate(360deg)}}
@keyframes outcome-flame{to{transform:scale(.9,1.08);opacity:.6}}
@keyframes outcome-wave{to{translate:0 5px;opacity:.5}}
@keyframes outcome-track{to{stroke-dashoffset:0}}
@keyframes outcome-needle{from{transform:rotate(-140deg)}75%{transform:rotate(12deg)}to{transform:none}}
@keyframes outcome-mote{0%{opacity:0;transform:translate(0,0) scale(0)}18%,65%{opacity:.9}100%{opacity:0;transform:translate(var(--mx),var(--my)) rotate(var(--turn)) scale(.35)}}
@keyframes outcome-fragment{0%{opacity:0;transform:translate(calc(var(--mx) * .4),calc(var(--my) * .2))}20%{opacity:.5}100%{opacity:0;transform:translate(calc(var(--mx) * .5),calc(var(--my) * .2 + 90px)) rotate(var(--turn)) scale(.2)}}
@keyframes outcome-loss-emblem{from{opacity:1;transform:translateY(-5px)}to{opacity:.55;transform:translateY(8px) scale(.94)}}

/* I: the tide keeps the unbanked treasure on the table. */
#star-game,.compass-instrument{position:relative}
.chapter-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none!important;border-radius:inherit;z-index:0;isolation:isolate}.chapter-atmosphere *{pointer-events:none!important}.chapter-atmosphere>i{position:absolute;left:var(--x);top:var(--y);color:#fff0bd;font:10px Georgia,serif;opacity:0;animation:atmos-drift var(--t) var(--d) ease-in-out infinite;text-shadow:0 0 8px currentColor}
.atmos-halo{position:absolute;inset:5%;background:radial-gradient(ellipse at 50% 40%,#ffe4a511,transparent 65%);animation:atmos-breathe 6s ease-in-out infinite alternate}
.atmos-shore .atmos-trace{position:absolute;left:50%;bottom:-36%;width:150%;height:80%;border:1px solid #fff6ce88;box-shadow:0 0 0 10px #fff5ce11,0 0 0 25px #fff5ce15,0 0 0 45px #fff5ce0c;translate:-50%;border-radius:50%;animation:atmos-tide 7s ease-in-out infinite alternate}
.atmos-shore>i{color:#fff7dd;font-size:17px}.atmos-forest>i{color:#77965d;font-size:15px;opacity:.15}.atmos-forest .atmos-halo{background:radial-gradient(ellipse at 50% 75%,#b5d58d44,transparent 60%)}
.atmos-stars .atmos-trace{position:absolute;width:115%;height:48%;left:-8%;top:14%;border:1px solid #cdb7ed1c;border-radius:50%;rotate:-24deg;box-shadow:0 0 0 13px #cdb7ed06,0 0 0 40px #cdb7ed08}.atmos-stars>i{color:#d8c1ff}.atmos-stars .atmos-halo{background:radial-gradient(ellipse at 50% 35%,#c49aff24,transparent 65%)}
.atmos-wind .atmos-trace{position:absolute;inset:15% 3%;border:1px solid #fff4c72b;border-left-color:transparent;border-right-color:transparent;border-radius:50%;rotate:-28deg;animation:atmos-wind 12s linear infinite}.atmos-wind .atmos-halo{background:radial-gradient(ellipse,#d6f7ff25,transparent 65%)}
.atmos-lantern{z-index:2}.atmos-lantern .atmos-halo{inset:0;background:conic-gradient(from 163deg at 50% 30%,transparent,#ffdc8a19 17deg,transparent 34deg);filter:blur(8px)}.atmos-lantern>i{color:#ffe0a2;font-size:8px;animation-name:atmos-ember}
.hide-background-effects .chapter-atmosphere{display:none}
@keyframes atmos-drift{0%,100%{opacity:0;translate:0 10px;rotate:var(--r)}45%{opacity:.55}80%{translate:8px -15px;opacity:.15}}
@keyframes atmos-breathe{to{opacity:.5;scale:1.1}}
@keyframes atmos-tide{to{translate:-50% -16%;scale:1.06;opacity:.4}}
@keyframes atmos-wind{to{rotate:332deg}}
@keyframes atmos-ember{0%{opacity:0;translate:0 25px}30%{opacity:.5}to{opacity:0;translate:12px -40px}}
.shore-treasure{display:flex;align-items:center;justify-content:center;gap:14px;margin:17px auto 4px;padding:12px 14px;max-width:460px;border:1px solid #b99b65;border-radius:8px 19px 8px 19px;background:linear-gradient(110deg,#f9edc9,#fff9e6 55%,#e6dab0);box-shadow:0 3px 0 #ac8d562e,inset 0 1px #fff7df;color:#655538}
.shore-treasure[hidden]{display:none}.shore-treasure small{display:block;font-size:10px;letter-spacing:2px;color:#8b794f}.shore-treasure strong{display:block;font:26px/1.25 Georgia,serif;color:#496f63;font-variant-numeric:tabular-nums}.shore-treasure strong b{font-size:12px;font-weight:400}.shore-treasure>span{font-size:10px;line-height:1.8;margin-left:auto;text-align:right;color:#8b794f}.shore-treasure>span b{display:block;font:16px Georgia,serif;color:#94713f}.treasure-pile{position:relative;width:54px;height:44px;flex-shrink:0;border-bottom:2px solid #bd9d65;border-radius:50%}.treasure-pile i{position:absolute;bottom:calc(2px + mod(var(--n),3) * 6px);left:calc(3px + mod(var(--n),5) * 7px);color:#4caa91;font:bold 26px Georgia;rotate:var(--r);text-shadow:1px 1px #fff9df,-1px -1px #c0ebd1;animation:treasure-arrive .35s ease-out both}
.shore-flying-gem{position:fixed;font:bold 33px Georgia;color:#6ce6ca;text-shadow:0 0 12px #b3ffe5,1px 2px #3b977f;z-index:2147483000;pointer-events:none}
body[data-stage="0"] .grid-wrap[data-treasure-depth="1"]{box-shadow:inset 0 0 0 2px #fff0c2,inset 0 0 24px #f6dc8b66,0 4px 0 #c9ab78,0 0 20px #e7c56a33}
body[data-stage="0"] .grid-wrap[data-treasure-depth="2"],body[data-stage="0"] .grid-wrap[data-treasure-depth="3"]{box-shadow:inset 0 0 0 2px #fff0c2,inset 0 0 28px #ffe59899,0 4px 0 #c9ab78,0 0 34px #e7c56a77}
@keyframes treasure-arrive{from{opacity:0;translate:0 -8px;scale:.5}to{opacity:1;translate:0 0;scale:1}}
.shore-misfire{position:fixed;width:0;height:0;z-index:2147483100;pointer-events:none}.shore-misfire:before{content:'';position:absolute;inset:-28px;border-radius:50%;background:radial-gradient(circle,#ffe4ac99,#b9978c44,transparent 70%);animation:misfire-smoke .43s ease-out both}.shore-misfire i{position:absolute;width:5px;height:5px;border-radius:50%;background:#c39175;animation:misfire-ember .4s var(--d) ease-out both}
@keyframes misfire-smoke{from{opacity:.9;scale:.5}to{opacity:0;scale:2.8;translate:0 -14px}}@keyframes misfire-ember{from{opacity:.8;translate:0 0}to{opacity:0;translate:var(--dx) var(--dy);scale:.2}}

/* II: point values ring through the leaf veins. */
#forest-game[data-player-state="twenty-one"] #player-total{color:#365e3c;border-color:#c7a149;background:#fff2bc;box-shadow:0 0 0 5px #e2be5c29,0 0 22px #e2be5c66}
#forest-game[data-player-state="twenty-one"] .forest-hand:not(.guardian-hand){box-shadow:inset 0 0 0 1px #ffe9a0,0 0 25px #e0c27066}
#forest-game[data-player-state="bust"] #player-total{color:#8d5260;border-color:#b78582;background:#f0d3cb}
#forest-game[data-player-state="bust"] #player-cards .leaf-card{filter:saturate(.35);opacity:.75}
#forest-game[data-player-state="edge"] #player-total{border-color:#b7a05e;background:#fff0c9}
.forest-result[data-outcome="blackjack"]{box-shadow:0 0 25px #e1cf7e55}

/* III: hand constellations are traced, rather than merely switched. */
.constellation-resolving .star-constellation{filter:drop-shadow(0 0 12px #d4b8ff88)}
.constellation-resolving .star-reading{animation:star-reading-arrive .7s .2s both}
.constellation-resolving .star-card{box-shadow:0 0 24px #d6b8ed55;transition:box-shadow .3s}
.star-card.is-held .star-hold-mark{letter-spacing:2px;text-shadow:0 0 9px #ffe4ad88}
@keyframes star-reading-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}

/* IV: actual hits draw wind ribbons to the backed tokens. */
.wind-path-layer{position:fixed;inset:0;z-index:2147482900;pointer-events:none;overflow:hidden}.wind-path-layer svg{width:100%;height:100%;overflow:visible}.wind-path-layer path{fill:none;stroke:#fff0ad;stroke-width:2.5;filter:drop-shadow(0 0 6px #9feaff);stroke-dasharray:1400;animation:wind-path .65s var(--d) ease-out both}
.wind-resolving .compass-wheel{filter:drop-shadow(0 0 18px #ffe6a47a)}.wind-resolving .compass-bet.is-hit.is-backed{animation:wind-token .65s .15s both}
@keyframes wind-path{from{stroke-dashoffset:1400;opacity:0}25%{opacity:1}80%{opacity:1}to{stroke-dashoffset:0;opacity:0}}
@keyframes wind-token{0%{scale:1}40%{scale:1.1;filter:brightness(1.4)}to{scale:1;filter:brightness(1)}}

/* V: a dark lantern gathers light, then exposes its true core. */
.auction-scene[data-unveiling="true"] .auction-lot{filter:brightness(.45);animation:lamp-gather .4s both}.auction-scene[data-unveiling="true"] .auction-price-plaque{filter:brightness(.75)}
.auction-price-plaque[data-profit="loss"] #auction-net{color:#955665}.auction-price-plaque[data-profit="gain"] #auction-net{color:#3c7059}
@keyframes lamp-gather{from{filter:brightness(.45)}to{filter:brightness(1.6) drop-shadow(0 0 27px #ffe0a3)}}
@media(max-width:700px){.outcome-content{top:46%;width:94vw}.outcome-content h2{letter-spacing:2px;margin:12px 0 20px;padding-inline:10px}.outcome-kicker{font-size:9px;letter-spacing:2px}.outcome-content p{font-size:10px;letter-spacing:0;max-width:92vw}.outcome-orbits{width:85vw}.outcome-profit{gap:7px}.outcome-profit>span{font-size:11px;letter-spacing:1px}.outcome-profit strong{letter-spacing:-1px;font-size:clamp(30px,10vw,65px)}.tier-legend .outcome-profit strong{font-size:clamp(34px,11vw,75px)}.shore-treasure{gap:8px;padding:8px 10px;margin-top:12px}.shore-treasure small{letter-spacing:0}.shore-treasure strong{font-size:23px}.treasure-pile{width:45px}.outcome-content p i{margin-inline:3px}}
@media(max-height:600px) and (min-width:701px){.outcome-emblem{width:110px;margin-bottom:0}.outcome-content{top:49%}.outcome-content h2{margin:7px 0 10px;font-size:23px}.outcome-profit strong{font-size:52px}.outcome-rule{margin-top:12px}.outcome-content p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.chapter-outcome,.chapter-outcome *,.shore-treasure *,.wind-resolving *,.constellation-resolving *{animation:none!important;transition:none!important}.chapter-atmosphere,.shore-misfire,.outcome-rays,.outcome-motes,.outcome-orbits,.outcome-emblem:before,.wind-path-layer,.shore-flying-gem{display:none}.chapter-outcome{opacity:1}.outcome-emblem svg{filter:none}.outcome-vignette{backdrop-filter:none}.outcome-emblem .emblem-track{stroke-dashoffset:0}}

/* Ordinary rounds stay inside their own table; the scenery and cards remain visible. */
.chapter-outcome.table-outcome{--paper:#fff8e4;--table-ink:#53674f;--accent:#769a70;position:absolute;inset:auto;left:50%;width:min(340px,calc(100% - 20px));height:auto;min-height:92px;max-height:none;padding:13px 15px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 65%,#c3ad79);border-radius:7px 18px 7px 18px;background:linear-gradient(115deg,var(--paper),color-mix(in srgb,var(--paper) 92%,var(--accent)));box-shadow:0 5px 18px #18362926,inset 0 0 0 3px #fff6;color:var(--table-ink);overflow:hidden;isolation:isolate;z-index:20;animation:outcome-life var(--show-time) linear both,table-result-arrive .17s ease-out both;box-sizing:border-box}
.table-outcome.theme-shore{--paper:#fff5d9;--table-ink:#72603c;--accent:#5c9f8a}.table-outcome.theme-forest{--paper:#eff3d6;--table-ink:#4d6749;--accent:#859f65}.table-outcome.theme-stars{--paper:#36294d;--table-ink:#f4dfbc;--accent:#c9a9de;box-shadow:0 5px 20px #120d3066,inset 0 0 0 3px #e9c9f009}.table-outcome.theme-wind{--paper:#f8f4e5;--table-ink:#536c74;--accent:#9fb6af}.table-outcome.theme-lantern{--paper:#13283e;--table-ink:#e9d6af;--accent:#bda36f;box-shadow:0 5px 22px #08162866,inset 0 0 0 3px #f8dea00a}
.table-outcome .table-result-emblem{width:45px;height:51px;flex:0 0 45px;color:var(--accent);opacity:.85}.table-result-emblem svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.table-result-emblem .emblem-core{fill:color-mix(in srgb,var(--accent) 10%,transparent)}.table-result-emblem .emblem-number{fill:var(--accent);stroke:none;font:45px Georgia,serif;text-anchor:middle}.table-outcome .table-result-copy{min-width:0;flex:1;text-align:left}.table-result-copy>small{font-size:9px;line-height:1.5;letter-spacing:2px;opacity:.65}.table-result-copy h2{font:500 12px/1.6 "Microsoft YaHei",sans-serif;letter-spacing:.5px;margin:1px 0 2px;color:var(--table-ink)}
.table-outcome .outcome-profit{justify-content:flex-start;gap:6px;line-height:1.2}.table-outcome .outcome-profit>span{font-size:9px;letter-spacing:1px;opacity:.7}.table-outcome .outcome-profit strong{font:34px/1.15 Georgia,serif;letter-spacing:-1px;text-shadow:none;color:var(--table-ink);font-variant-numeric:tabular-nums}.table-outcome .outcome-profit>b{font-size:11px}.table-outcome .table-result-copy>p{font-size:9px;line-height:1.65;letter-spacing:0;opacity:.7;margin:3px 0 0;color:var(--table-ink);overflow-wrap:anywhere}.table-result-line{position:absolute;left:12px;right:12px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.55}
.table-outcome.tier-loss .table-result-emblem{opacity:.45}.table-outcome.tier-loss .outcome-profit strong{font-size:29px;color:color-mix(in srgb,var(--table-ink) 82%,#ac7b7b)}.table-outcome.tier-even .outcome-profit strong{font-size:29px}.chapter-outcome.table-outcome[data-long="true"] .outcome-profit strong{font-size:clamp(15px,calc((90vw - 95px) / var(--digits) * 1.3),25px)}
.fx-quiet .fx-coin{width:16px;height:16px;font-size:10px;line-height:12px;border-width:1px;animation-duration:.42s;box-shadow:0 1px 0 #ba914a}
@keyframes table-result-arrive{from{transform:translate(-50%,6px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* A big win gets a spotlight. The full constellation and dense rays belong to legends. */
.presentation-spotlight .outcome-vignette{background:radial-gradient(ellipse at 50% 46%,color-mix(in srgb,var(--ink) 78%,transparent) 0%,color-mix(in srgb,var(--ink) 48%,transparent) 44%,color-mix(in srgb,var(--ink) 28%,transparent) 100%);backdrop-filter:none}
.presentation-spotlight .outcome-orbits{display:none}.presentation-spotlight .outcome-rays{opacity:.25}.presentation-spotlight .outcome-emblem{width:clamp(115px,18vh,160px);margin-bottom:4px}.presentation-spotlight .outcome-content h2{font-size:clamp(22px,2.8vw,28px);letter-spacing:3px;margin:10px 0 14px}.presentation-spotlight .outcome-profit strong{font-size:clamp(42px,6vw,66px)}.presentation-spotlight .outcome-content p{font-size:11px;margin-top:12px}.presentation-spotlight .outcome-rule{width:160px;margin-top:16px}
.presentation-spotlight .outcome-content{padding:14px;background:radial-gradient(ellipse,color-mix(in srgb,var(--ink) 88%,transparent) 20%,transparent 73%)}
.presentation-cinematic .outcome-emblem{filter:drop-shadow(0 0 15px #ffe5a033)}
@media(max-width:700px){.chapter-outcome.table-outcome{width:min(310px,calc(100% - 16px));padding:10px 12px;gap:9px;min-height:84px}.table-outcome .table-result-emblem{width:35px;height:42px;flex-basis:35px}.table-result-copy h2{font-size:11px}.table-outcome .outcome-profit strong{font-size:30px}.table-outcome.tier-loss .outcome-profit strong,.table-outcome.tier-even .outcome-profit strong{font-size:27px}.table-outcome .table-result-copy>p{font-size:9px}.presentation-spotlight .outcome-kicker{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.chapter-outcome.table-outcome{animation:none;opacity:1}}
