.slam-dialog{background:repeating-linear-gradient(to bottom,#eee7d9 0 35px,#ffbfa6 35px 36px);border-left:14px solid #c84053}
.slam-dialog .answers button{background:#fffaf0d9;border-radius:2px;box-shadow:2px 3px 0 #43352e15}
.answers button.selected{border:2px solid #ac263b;opacity:1;background:#f4d7d9}
.quiz-review{margin-top:25px;border-top:1px solid #ab8a8a;padding-top:18px}.quiz-review summary{cursor:pointer;font-size:16px}.quiz-review li{padding:15px 0}.quiz-review p{font-size:14px;margin:5px 0}
.photo-dialog{width:min(760px,calc(100% - 24px))}.photo-start,.photo-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-start .tickets,.photo-actions .tickets{font-size:14px;margin-top:8px;border:0;gap:10px;padding:15px 18px;min-height:48px}
.upload-photo{border:1px dashed #aa4554;padding:15px;font-size:15px;cursor:pointer;display:block}.upload-photo input{display:block;font-size:12px;max-width:240px;margin-top:10px}.upload-photo:focus-within{outline:3px solid #ba2938}
#photo-status{font-size:14px;min-height:24px}#selfie-canvas{display:block;width:min(100%,400px);height:auto;margin:15px auto;box-shadow:0 10px 25px #0003;touch-action:none;cursor:move}
.frame-options{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;border:0;padding:0}.frame-options legend{font-size:16px;font-weight:bold;margin-bottom:10px}.frame-options button{border:1px solid #917e73;background:#fff5e7;color:#281e17;padding:12px;font-size:14px;border-radius:4px}.frame-options button[aria-pressed=true]{background:#96283a;color:white;border-color:#96283a}
.tie-adjust{padding:15px 0;border-block:1px solid #ac8b8033}.tie-adjust summary{cursor:pointer}.tie-adjust p{font-size:14px}.tie-adjust label{display:grid;grid-template-columns:100px 1fr;align-items:center;font-size:14px;margin:12px 0;gap:10px}.tie-adjust input{width:100%;accent-color:#b3293b}.photo-actions button:disabled{opacity:.4;cursor:wait}
.camera-guide{position:relative;max-width:400px;margin:20px auto;background:#201612;aspect-ratio:4/5;overflow:hidden}.camera-guide video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-guide{position:absolute;left:28%;top:10%;width:44%;height:40%;border:2px dashed #fff9;border-radius:50%;pointer-events:none}.camera-guide>span{position:absolute;bottom:15px;left:0;width:100%;text-align:center;background:#0007;color:white;font-size:13px;padding:8px}#camera-live{text-align:center}
@media(max-width:480px){.photo-start,.photo-actions{align-items:stretch;flex-direction:column}.photo-start>*{width:100%}.photo-actions .tickets{width:100%;max-width:none}.frame-options button{flex:1;font-size:12px;padding:12px 7px}}
.stage-buy{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:5;width:max-content;max-width:95%;text-align:center;padding:4px 20px;background:radial-gradient(ellipse,#0a0809c9,transparent 75%)}.stage-buy .tickets{margin:0;background:#c91620;border:1px solid #f86a6866;border-radius:3px;padding:17px 26px;min-height:56px;gap:20px;box-shadow:0 7px 25px #0008;font-size:16px}.stage-buy .ticket-note{margin:8px 0 0;color:#fff0da;text-shadow:0 1px 3px #000}.stage-buy .tickets:focus-visible{outline-color:#fff0cf}@media(max-width:640px){.stage-buy{bottom:4px;padding:4px 8px}.stage-buy .tickets{padding:13px 18px;font-size:14px;min-height:48px;width:auto}.stage-buy .ticket-note{font-size:11px}.stage:has(.stage-buy){height:270px}}
.ar-source{position:fixed;left:-2px;bottom:-2px;width:1px;height:1px;opacity:0;pointer-events:none}#live-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}#live-actions .tickets{border:0;margin:0;min-height:50px;font-size:15px}#live-actions .tickets:disabled{opacity:.4;cursor:wait}#selfie-canvas{cursor:default;touch-action:auto}

/* Resultado del slam: nivel de aciertos y corbata que se llena de rojo. */
.slam-result{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr);align-items:center;gap:22px;margin:8px 0 12px;padding:4px 12px 0}
.rebel-tie-meter{width:100%;max-width:140px;justify-self:center;filter:drop-shadow(6px 8px 0 #3c202214)}
.rebel-tie-meter svg{display:block;width:100%;height:auto;max-height:280px}
.rebel-tie-fill{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--tie-level));animation:rebel-tie-fill-up 1.45s cubic-bezier(.2,.65,.25,1) both}
.rebel-result-copy{min-width:0;padding:12px 0 0}
.slam-dialog .rebel-result-title{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(39px,5.6vw,61px);font-weight:900;line-height:.92;letter-spacing:-.025em;text-transform:uppercase;transform:rotate(-7deg) skewX(-4deg);transform-origin:center;margin:0 4px 22px 0;color:#201c1d}
.rebel-result-title span,.rebel-result-title strong{display:block}
.rebel-result-title strong{font-size:1.45em;line-height:.97;color:#db2236;text-shadow:3px 3px 0 #fff7e7}
.slam-dialog .rebel-result-score{font-size:14px;line-height:1.45;margin:14px 0 0;color:#584647}
.rebel-result-score b{font-size:21px;color:#a72234;white-space:nowrap}
.slam-dialog .rebel-result-message{font-size:15px;line-height:1.5;margin:12px 0 16px}
@keyframes rebel-tie-fill-up{from{transform:scaleY(0)}to{transform:scaleY(var(--tie-level))}}
@media(max-width:480px){.slam-result{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:0 2px;margin-top:0}.rebel-tie-meter{max-width:90px}.rebel-tie-meter svg{max-height:220px}.slam-dialog .rebel-result-title{font-size:clamp(30px,8.7vw,41px);margin-bottom:20px}.slam-dialog .rebel-result-score{font-size:12px;margin-top:12px}.rebel-result-score b{font-size:18px}.slam-dialog .rebel-result-message{font-size:14px}}
@media(prefers-reduced-motion:reduce){.rebel-tie-fill{animation:none}}

/* El intento sin premio invita a repetir con un sello centrado. */
.rebel-retry-wrap{display:grid;place-items:center;padding:24px 12px;overflow:hidden;margin:0 -10px}
.rebel-retry-stamp{display:block;width:min(100%,440px);border:3px solid #aa2338;border-radius:3px;padding:12px 16px;background:#fff7e8b3;color:#a02035;text-align:center;text-transform:uppercase;box-shadow:inset 0 0 0 3px #fff7e8,inset 0 0 0 4px #aa233880;transform:rotate(-3deg);transform-origin:50% 50%;opacity:1;animation:rebel-stamp-in .55s cubic-bezier(.17,.8,.3,1) 1.4s both}
.rebel-retry-stamp span,.rebel-retry-stamp strong{display:block}
.rebel-retry-score{font-size:15px;font-weight:800;letter-spacing:.045em;line-height:1.4}
.rebel-retry-note{font-size:13px;font-weight:700;letter-spacing:.055em;line-height:1.5;margin-top:3px}
.rebel-retry-stamp strong{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(23px,4.3vw,31px);font-weight:900;letter-spacing:.015em;line-height:1.1;margin-top:7px}
.rebel-retry-stamp:hover{background:#f7dfdc}
.rebel-retry-stamp:focus-visible{animation:none;outline:3px solid #a02035;outline-offset:4px}
@keyframes rebel-stamp-in{0%{opacity:0;transform:scale(1.75) rotate(-9deg)}75%{opacity:1;transform:scale(.96) rotate(-3deg)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
@media(max-width:480px){.rebel-retry-wrap{padding:20px 10px}.rebel-retry-stamp{padding:11px 10px}.rebel-retry-score{font-size:13px}.rebel-retry-note{font-size:11px;letter-spacing:.025em}}
@media(prefers-reduced-motion:reduce){.rebel-retry-stamp{animation:none}}

/* Cada respuesta pasa a la siguiente página con un fundido breve. */
.slam-dialog .quiz-page{animation:rebel-question-in .24s ease-out both}
.slam-dialog .quiz-page.is-leaving{animation:rebel-question-out .2s ease-in .14s both;pointer-events:none}
@keyframes rebel-question-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes rebel-question-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.slam-dialog .quiz-page,.slam-dialog .quiz-page.is-leaving{animation:none}}
