.closure-confirm,.closure-equivalent,.runner-recap{max-width:620px;margin:auto;padding-bottom:30px}.closure-queen{aspect-ratio:1/1;overflow:hidden;margin:-12px -12px 0}.closure-queen img{display:block;width:100%;height:auto}.closure-confirm{text-align:center}.closure-confirm h1{font-size:clamp(25px,7vw,38px);line-height:1.15;margin:18px 0}.closure-confirm>p{font-size:16px}.closure-bar{position:relative;height:86px;margin:18px 0 22px}.closure-bar:before{content:'';position:absolute;top:32px;left:10px;right:10px;height:21px;border:2px solid #d5ad59;border-radius:8px;background:repeating-linear-gradient(45deg,#333 0 2px,#777 2px 3px,#222 3px 5px);box-shadow:0 0 8px #8d6026}.closure-bar input{position:relative;z-index:1;display:block;width:100%;height:86px;margin:0;padding:0;background:transparent;appearance:none;touch-action:pan-y;cursor:grab}.closure-bar input::-webkit-slider-runnable-track{height:86px;background:transparent}.closure-bar input::-moz-range-track{height:86px;background:transparent}.closure-bar input::-webkit-slider-thumb{appearance:none;width:86px;height:86px;border:0;background:transparent url('assets/closure/plate.svg') center/contain no-repeat}.closure-bar input::-moz-range-thumb{width:86px;height:86px;border:0;border-radius:50%;background:transparent url('assets/closure/plate.svg') center/contain no-repeat}.closure-bar input:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.closure-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;font-size:10px;text-align:center;line-height:1.4}.closure-rating h2{text-align:center;font-size:17px}.closure-rating [data-rating-label]{text-align:center;color:var(--gold);font-weight:700;min-height:2.5em}.closure-cinema{position:relative;max-width:500px;margin:auto;background:#000;text-align:center}.closure-cinema video{display:block;width:100%;max-height:75vh;aspect-ratio:9/16;object-fit:contain}.closure-cinema h1{position:absolute;bottom:90px;left:0;right:0;font-size:36px;color:#e7bc58;text-shadow:0 2px 7px #000;pointer-events:none}.closure-cinema button{margin:14px auto}.closure-hero{aspect-ratio:1.2;overflow:hidden;margin-bottom:15px;border-radius:12px}.closure-hero img{display:block;width:100%;height:auto}.closure-equivalent h2{font-size:22px;margin-bottom:12px}.closure-equivalent>p{font-size:17px;line-height:1.5}.closure-equivalent>.micro{font-size:13px}.closure-stats{padding:18px;border:1px solid #99763d;border-radius:14px;margin:22px 0}.closure-stats>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}.closure-stats>div+div{border-top:1px solid #54442c}.closure-stats dt{font-size:12px;line-height:1.5}.closure-stats dd{font-weight:bold;white-space:nowrap;margin:0;font-size:17px}.closure-equivalent>.primary,.runner-recap>.primary{width:100%}.closure-set{display:grid;grid-template-columns:.8fr 1fr auto;gap:8px;font-size:12px;border-top:1px solid #6e5834;padding:12px 0}.closure-set:first-of-type{margin-top:12px}.runner-recap>h1{text-align:center}.runner-recap>h2{font-size:19px}.runner-recap>.card b{font-size:15px}html[data-theme=light] .closure-confirm,html[data-theme=light] .closure-equivalent,html[data-theme=light] .closure-cinema{background:#13100e;color:#f1d38f;padding:12px;border-radius:12px}html[data-theme=light] .closure-confirm p,html[data-theme=light] .closure-equivalent p,html[data-theme=light] .closure-equivalent h2{color:#f1d38f}
@media(prefers-reduced-motion:reduce){.closure-cinema video{animation:none}}
/* Débrief Miami compact, sans personnage. */
.runner-recap{display:block!important;padding:0 0 24px!important;background:linear-gradient(180deg,#311326 0,#171013 360px,transparent 900px);border-radius:14px}
.closure-debrief-hero{aspect-ratio:2.75;overflow:hidden;border-radius:14px 14px 0 0;margin-bottom:14px}
.closure-debrief-hero img{display:block;width:100%;max-width:none;height:auto;max-height:none;margin:0}
.runner-recap>h2{margin:20px 0 10px;font-size:18px;line-height:1.3}
.runner-recap>h2:first-of-type{margin:8px 0 4px;text-align:center;font-size:23px}
.runner-recap>p:not(.card){margin:0 0 16px;text-align:center;font-size:13px}
.runner-recap>.card{margin:0 0 12px;border-color:#8e6c3e;background:linear-gradient(125deg,#271c20,#181215);padding:15px}
.runner-recap>.card p{margin:8px 0;font-size:13px;line-height:1.5}
.closure-rating h2{margin:0 0 9px!important;font-size:16px}
.closure-rating [data-rating-label]{font-size:15px;min-height:0;margin:8px 0!important}
.closure-bar input{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;outline-offset:0}
.closure-feeling-bar{height:68px;margin:10px 0 6px}
.closure-feeling-bar:before{top:24px;height:18px}
.closure-feeling-bar input{width:calc(75% + 64px)!important;height:68px!important;min-height:0!important;margin:0 0 0 calc(12.5% - 32px)!important}
.closure-feeling-bar input::-webkit-slider-thumb{width:64px;height:64px}
.closure-feeling-bar input::-moz-range-thumb{width:64px;height:64px}
.closure-feeling-bar input::-webkit-slider-runnable-track{height:64px}
.closure-feeling-bar input::-moz-range-track{height:64px}
.closure-levels{gap:4px;font-size:10px}
.closure-set{font-size:12px;padding:10px 0}
.runner-recap>.primary{margin-top:16px}
.cinema-stage{position:relative;aspect-ratio:9/16;max-height:75vh;overflow:hidden}
.cinema-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
[data-cinema-mount]{position:absolute;inset:0;opacity:0}
[data-cinema-mount] video{width:100%;height:100%;max-height:none;object-fit:contain}
.closure-cinema .cinema-stage h1{bottom:26px;opacity:0;margin:0}
.cinema-loading{position:absolute;bottom:25px;left:10px;right:10px;text-align:center;padding:12px;background:#171013d9;border-radius:8px;color:#f1d38f}
.closure-cinema.is-playing [data-cinema-mount],.closure-cinema.is-playing .cinema-stage h1{opacity:1}
.closure-cinema.is-playing .cinema-poster,.closure-cinema.is-playing .cinema-loading{visibility:hidden}
.closure-cinema.is-playing [data-run="play-cinema"]{display:none}
html[data-theme=light] .runner-recap{background:linear-gradient(180deg,#fae6ec,#fbf8f0 650px)}
html[data-theme=light] .runner-recap>.card{background:#fffaf2;border-color:#c5a674}

.app-update-ready{position:fixed;bottom:90px;left:12px;right:12px;max-width:620px;margin:auto;z-index:1100;background:#e4bb58;color:#171013;border:1px solid #ffe3a3;border-radius:12px;padding:15px;font-size:13px;font-weight:700}.app-update-ready[hidden]{display:none}
