:root{color-scheme:dark;--ink:#10112d;--cream:#fff4dc;--gold:#ffcf57;--pink:#fa55b9;--cyan:#4de5f1}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--cream);font:15px/1.45 system-ui,-apple-system,sans-serif}body{background:radial-gradient(ellipse at 20% 0,#403276,transparent 50%),radial-gradient(ellipse at 100% 50%,#074e66,transparent 60%),#10112d}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:var(--cream);text-decoration:none}button{border:1px solid #ffffff38;background:#242448;border-radius:12px;padding:12px 18px;font-weight:800;min-height:44px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}button:active{transform:translateY(2px)}#home{max-width:1370px;margin:auto;padding:25px 40px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.creator{font-size:11px;font-weight:850;letter-spacing:2px}#sound{font-size:11px}.brand{text-align:center;margin:-16px auto 18px;pointer-events:none}.brand img{width:min(66vw,690px);height:270px;object-fit:contain;filter:drop-shadow(0 15px 35px #0008)}.brand p{font-size:12px;font-weight:900;letter-spacing:6px;margin:-8px 0 0;color:#d7b7fa}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px}.section-title span,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;color:var(--cyan)}.section-title strong{font:italic 26px Impact,'Arial Black',sans-serif;color:var(--gold);text-transform:uppercase}#cast{display:grid;grid-template-columns:repeat(11,minmax(55px,1fr));gap:8px}#cast button{padding:0 4px 9px;position:relative;overflow:hidden;min-width:0;border:2px solid #ffffff12;border-radius:14px;background:linear-gradient(145deg,#393661,#152d43);transition:border-color .2s,background .2s}#cast button[aria-pressed=true]{background:linear-gradient(145deg,#696039,#342044);border-color:var(--gold);box-shadow:0 0 22px #ffcf5738}#cast canvas{display:block;width:100%;aspect-ratio:1}#cast button span{display:block;font-size:10px;font-weight:750;line-height:1.1;min-height:22px}#cast button:disabled{opacity:.45;cursor:default}#cast button:disabled:after{content:'🔒';position:absolute;top:12px;right:10px}.configuration{display:flex;align-items:end;gap:12px;margin-top:20px;padding:17px 20px;border:1px solid #ffffff20;border-radius:18px;background:#0c152bcc}.configuration label{display:grid;gap:6px;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}select{border:1px solid #ffffff3a;border-radius:9px;color:white;background:#282b4b;min-width:145px;padding:10px}.primary{background:linear-gradient(115deg,#ffdf70,#ffa838);color:#211a35;border:2px solid #ffe7a0;box-shadow:0 5px 0 #996328,0 8px 25px #ffbd381c;font-weight:950;letter-spacing:.6px}.configuration .primary{margin-left:auto;min-width:230px;font-size:21px;padding:10px 25px}.primary span{margin-left:30px}#character-info{color:#d6cee8;min-height:24px;font-size:12px}footer{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid #ffffff22;margin-top:22px;padding-top:18px;font-size:10px;font-weight:900;letter-spacing:1px}footer small{margin-left:auto;color:#aa9eba;font-weight:400;letter-spacing:0}body.in-game{overflow:hidden;background:#07091d}#game{position:fixed;width:min(100vw,177.7778vh);height:min(100vh,56.25vw);left:50%;top:50%;transform:translate(-50%,-50%);background:#07091d;overflow:hidden;touch-action:none;user-select:none}#arena{display:block;width:100%;height:100%;object-fit:fill;outline:none}.game-tools{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:5}.game-tools button{padding:5px 12px;min-height:34px;background:#11152edb;box-shadow:0 2px 12px #0006;font-size:12px}.game-tools span{font-size:8px;letter-spacing:1px;font-weight:850;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;color:#d0d6ee}#live{position:absolute;top:22%;left:50%;transform:translateX(-50%);color:var(--gold);font-size:12px;font-weight:800;pointer-events:none;text-shadow:0 2px 5px black;z-index:4}.touch-controls{position:absolute;inset:0;pointer-events:none;z-index:4}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:2px solid #ffffff75;box-shadow:inset 0 2px 4px #fff4,0 5px 14px #0005;color:#fff9e6;background:linear-gradient(145deg,#4b547fb3,#152946d6);padding:0;min-height:0}.touch-controls button.active{background:#fff0a5b3;box-shadow:0 0 25px #ffdd7799;transform:scale(.95)}.dpad{position:absolute;left:max(25px,env(safe-area-inset-left));bottom:24px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#7276a22b,#18214455);border:1px solid #ffffff20;pointer-events:none}.dpad button{position:absolute;width:64px;height:64px;border-radius:16px;font-size:26px}.dpad .up{top:0;left:63px}.dpad .down{bottom:0;left:63px}.dpad .left{left:0;top:63px}.dpad .right{right:0;top:63px}.dpad i{position:absolute;width:56px;height:56px;top:67px;left:67px;border-radius:50%;border:1px solid #ffffff20;background:#8498ad11}.action-pad{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:22px;width:245px;height:200px}.action-pad button{position:absolute;width:78px;height:78px;border-radius:50%;font-size:23px;font-weight:950}.action-pad small{display:block;font-size:8px;letter-spacing:.4px;line-height:1.2}.action-pad .punch{bottom:0;left:25px;background:linear-gradient(140deg,#edac4cd9,#6e4125dd)}.action-pad .kick{bottom:48px;right:0;background:linear-gradient(140deg,#4bceded9,#24547ddd)}.action-pad .s1{top:5px;left:0;background:linear-gradient(140deg,#f776b6d9,#722479dd)}.action-pad .s2{top:0;right:62px;background:linear-gradient(140deg,#9877eed9,#492b8ddd)}.action-pad button.ready{border-color:#ffe383;box-shadow:inset 0 2px 5px #fff4,0 0 20px #ffe38377}.action-pad button.unready{filter:saturate(.45);opacity:.7}dialog{color:var(--cream);background:linear-gradient(135deg,#30264e,#101a34);border:2px solid #f2cf88;border-radius:22px;padding:28px 36px;max-width:min(850px,92vw);max-height:94dvh;overflow:auto;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#060819b8;backdrop-filter:blur(7px)}dialog h1{font:italic clamp(26px,5vw,48px)/1 Impact,'Arial Black',sans-serif;letter-spacing:1px;margin:12px 0 20px;color:var(--gold)}dialog p{font-size:13px;color:#d6cfe7}dialog button{margin:8px 7px 0 0}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.control-grid div{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff08;border-radius:10px}.control-grid b{min-width:80px;font-size:20px;color:var(--cyan)}.control-grid span{font-size:12px}#controls .primary{width:100%;margin-top:18px}#pause-dialog,#result{text-align:center;max-width:540px}#comic{position:fixed;inset:0;z-index:20;background:radial-gradient(circle at 70% 20%,#403167,#121329);padding:25px 5vw;overflow:auto}.comic-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:950}#comic h1{font:italic clamp(30px,5vw,70px)/1 Impact,'Arial Black',sans-serif;text-transform:uppercase;margin:18px 0 25px}#comic-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}article.panel{position:relative;background:#ffefcc;border:5px solid #08091d;box-shadow:7px 7px 0 #9e5b9a;transform:rotate(-1deg);overflow:hidden}article.panel:nth-child(2){transform:rotate(1deg)}.panel canvas{width:100%;height:32vh;display:block;background:radial-gradient(circle at 40% 20%,#8564a2,#102b49)}.panel p{color:#201733;font-size:clamp(12px,1.3vw,18px);font-weight:750;padding:15px;margin:0;min-height:110px}.comic-progress{height:4px;background:#ffffff25;margin-top:27px}.comic-progress i{display:block;height:100%;background:var(--gold);width:0}#comic>p{text-align:right;font-size:11px;color:#b5a6cf}#rotate{display:none}body.in-game #rotate{position:fixed;z-index:40;inset:0;background:#11132bf7;align-items:center;justify-content:center;flex-direction:column;gap:25px;text-align:center;padding:30px;font-size:70px}#rotate b{font-size:22px}#rotate span{font-size:15px}
@media(max-width:700px){#home{padding:18px}.brand img{height:190px;width:90vw}.brand{margin:10px auto 20px}#cast{grid-template-columns:repeat(5,1fr)}.configuration{flex-wrap:wrap;padding:14px}.configuration .primary{width:100%;margin:8px 0 0}.configuration select{min-width:120px}header .creator{font-size:8px;letter-spacing:1px}.section-title strong{font-size:20px}footer{gap:15px}.brand p{font-size:9px;letter-spacing:4px}}
@media(orientation:landscape) and (max-height:550px){#home{padding:12px 25px}.brand img{height:160px;width:440px}.brand{margin:-35px auto 5px}.brand p{font-size:8px;letter-spacing:4px}.section-title{margin:6px 0}.section-title strong{font-size:20px}.section-title span{font-size:9px}#cast{gap:5px}#cast button{padding:0 3px 5px;border-radius:9px}#cast canvas{height:60px;object-fit:contain;aspect-ratio:auto}#cast button span{font-size:8px;min-height:17px}.configuration{margin-top:12px;padding:10px 13px}.configuration .primary{font-size:16px;min-width:170px}#character-info{font-size:10px}footer{margin-top:12px;padding-top:12px;font-size:8px}.dpad{width:145px;height:145px;left:18px;bottom:18px}.dpad button{width:49px;height:49px;border-radius:12px;font-size:20px}.dpad .up,.dpad .down{left:48px}.dpad .left,.dpad .right{top:48px}.dpad i{width:43px;height:43px;top:51px;left:51px}.action-pad{width:195px;height:155px;right:16px;bottom:18px}.action-pad button{width:61px;height:61px;font-size:19px}.action-pad .punch{left:17px}.action-pad .kick{bottom:36px}.action-pad .s1{top:0}.action-pad .s2{right:49px}.action-pad small{font-size:6px}.game-tools{top:5px}.game-tools button{min-height:29px;font-size:10px}.game-tools span{font-size:7px}.control-grid{gap:6px}.control-grid div{padding:7px}.control-grid b{font-size:16px;min-width:65px}.control-grid span{font-size:10px}dialog{padding:14px 25px}dialog h1{font-size:30px;margin:5px 0 12px}#controls .eyebrow{margin:0}#controls p{font-size:10px;margin:8px 0}#controls .primary{margin-top:6px}#comic{padding:12px 3vw}#comic h1{font-size:30px;margin:7px 0 12px}.panel canvas{height:33vh}.panel p{font-size:11px;padding:10px;min-height:90px}#comic-panels{gap:10px}.comic-progress{margin-top:16px}.comic-top button{padding:5px 12px;min-height:30px;font-size:10px}}
@media(orientation:portrait) and (max-width:650px){body.in-game:not(.portrait-ok) #rotate{display:flex}#comic-panels{grid-template-columns:1fr}.panel canvas{height:30vh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Theatre identity, readable labels and centred final roster row. */
body{background:linear-gradient(#080c28aa,#10112df0),url('assets/fondo-menu.webp') center top/cover fixed}
#home{max-width:1230px}.selection{padding:18px 20px 22px;border:1px solid #c9c7ff38;border-radius:22px;background:linear-gradient(145deg,#17172fd9,#102a3bd9);box-shadow:0 15px 60px #0005;backdrop-filter:blur(5px)}
#cast{grid-template-columns:repeat(18,minmax(0,1fr));gap:9px}#cast button{grid-column:span 2;background:radial-gradient(ellipse at 50% 25%,#54628099,#10223ee8);box-shadow:inset 0 1px 0 #ffffff35,0 4px 9px #0004}#cast button:nth-child(19){grid-column:6/span 2}
#cast button span,.section-title strong,.primary,dialog h1,#comic h1{font-family:'Arial Black',Impact,sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.3px;text-shadow:0 2px 0 #12102a,1px 0 0 #12102a,-1px 0 0 #12102a,0 4px 6px #0009}
#cast button span{font-size:clamp(9px,1vw,13px);font-weight:950;color:#ffedab;line-height:1.2;min-height:30px;display:flex;align-items:center;justify-content:center;padding:0 2px}
.section-title strong{background:linear-gradient(#fff9e0 12%,#ffe189 47%,#fca64a 70%,#fff3ac);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #130d2a);text-shadow:none;font-size:clamp(20px,2.4vw,32px)}
.section-title span,.configuration label,.eyebrow,.brand p,.comic-top{font-family:'Arial Black',sans-serif;letter-spacing:1.4px}.primary{text-shadow:0 1px #fff5}.configuration{flex-wrap:wrap}.configuration label{max-width:220px}.configuration select{min-width:120px;max-width:220px}#stage-choice{max-width:220px}#character-info{padding:5px 18px;text-align:center;color:#ffe7ad;text-shadow:0 2px 3px #000}.configuration .primary{min-width:190px}
#comic{background:linear-gradient(#10152ad9,#10132af0),url('assets/fondo-menu.webp') center/cover}
dialog{background:linear-gradient(135deg,#30264ef5,#101a34f5),url('assets/fondo-menu.webp') center/cover}
/* Minimum 48 px targets; clear centre and lower contrast at rest. */
.dpad{width:156px;height:156px;left:max(14px,env(safe-area-inset-left));bottom:12px;background:#202e4922;border-color:#ffffff15}.dpad button{width:52px;height:52px;background:#23395959;border-color:#ffffff55;font-size:22px;box-shadow:inset 0 1px 2px #fff3,0 2px 6px #0004}.dpad .up,.dpad .down{left:52px}.dpad .left,.dpad .right{top:52px}.dpad i{width:44px;height:44px;left:56px;top:56px}
.action-pad{width:204px;height:160px;right:max(14px,env(safe-area-inset-right));bottom:12px}.action-pad button{width:64px;height:64px;font-size:20px;border-color:#ffffff66;opacity:.78}.action-pad .punch{left:14px;background:linear-gradient(140deg,#edac4c80,#6e412585)}.action-pad .kick{bottom:36px;background:linear-gradient(140deg,#4bcede80,#24547d85)}.action-pad .s1{top:0;background:linear-gradient(140deg,#f776b680,#72247985)}.action-pad .s2{right:53px;background:linear-gradient(140deg,#9877ee80,#492b8d85)}.action-pad small{font-size:7px}.touch-controls button.active,.touch-controls button:focus-visible{opacity:1}.action-pad button.unready{opacity:.48}
@media(max-width:700px){#cast{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}#cast button:nth-child(19){grid-column:3/span 2}.selection{padding:12px 8px}#cast button span{font-size:9px;min-height:26px}#home{padding:14px}.configuration label{flex:1 1 35%}.configuration select{width:100%;max-width:100%}.configuration .primary{flex-basis:100%}}
@media(orientation:landscape) and (max-height:550px){#cast{grid-template-columns:repeat(18,minmax(0,1fr))}#cast button:nth-child(19){grid-column:6/span 2}.selection{padding:10px 12px}#cast button span{font-size:9px;min-height:23px}.brand img{height:125px}.brand{margin:-25px auto 8px}.configuration{margin-top:9px;padding:9px 12px}.configuration label{flex:none}.configuration .primary{flex-basis:auto}.configuration select{min-width:90px;max-width:170px}#stage-choice{max-width:170px}.dpad{width:144px;height:144px;bottom:10px;left:12px}.dpad button{width:48px;height:48px;font-size:19px}.dpad .up,.dpad .down{left:48px}.dpad .left,.dpad .right{top:48px}.dpad i{left:51px;top:51px;width:42px;height:42px}.action-pad{width:178px;height:142px;bottom:10px;right:12px}.action-pad button{width:56px;height:56px;font-size:18px}.action-pad .s2{right:45px}.action-pad .kick{bottom:33px}.action-pad .punch{left:10px}.action-pad small{font-size:6px}}

.voice-toggle{display:block;margin:18px;font-size:14px}.voice-toggle input{width:20px;height:20px;vertical-align:middle;margin-right:8px}
.game-tools{top:auto;bottom:8px}.game-tools button{min-width:44px;min-height:44px}.game-tools span{background:#10152b99;padding:4px 7px;border-radius:6px}
@media(orientation:landscape) and (max-height:550px){.game-tools{top:auto;bottom:6px}.game-tools span{display:none}.game-tools button{min-height:44px;font-size:10px;padding:4px 9px}}

body.in-game.comic-mode #rotate{display:none}

/* The show ticket keeps explanatory copy separate from the character names. */
.brand p{color:#ffe4a4;font-size:11px;letter-spacing:3px;text-shadow:0 2px 8px #000}.configuration{border-color:#d6b57c66;background:linear-gradient(130deg,#172b42ed,#251a3aeb);box-shadow:inset 0 1px #fff2,0 12px 35px #0004}.configuration select{font-size:12px;min-height:44px}.show-ticket{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:stretch;margin:18px 0 8px;border:1px solid #e4c98b45;border-radius:16px;overflow:hidden;background:#101a30dd;box-shadow:0 10px 30px #0003}.show-ticket>div:first-child{padding:18px 22px}.show-ticket .eyebrow{color:#eac57c}#mode-description{font-size:14px;color:#f0e9da;max-width:650px;margin:8px 0}#character-info{padding:0;margin:10px 0 0;text-align:left;font-size:12px;line-height:1.65;color:#93e5ed}.stage-preview{min-height:135px;background-size:cover;background-position:center;display:flex;align-items:end;padding:14px}.stage-preview span{font:italic 900 15px 'Arial Black',sans-serif;color:#ffe3a0;text-shadow:0 2px 4px #000}dialog h1,#comic h1{line-height:1.08;color:#ffe0a0;text-wrap:balance}dialog{border:1px solid #ffe5a6;box-shadow:inset 0 0 0 5px #122039,0 25px 100px #000b}dialog .control-grid div{background:linear-gradient(130deg,#233a4fc9,#2f2345bf);border:1px solid #b9d8e82a}.control-grid b{font-family:'Arial Black',sans-serif;font-style:italic;color:#9deaf2}.control-grid span{color:#f6eedf;line-height:1.45}#pause-dialog{padding:44px 35px}#pause-dialog>button{display:block;width:100%;margin:12px 0}#comic h1{background:linear-gradient(#fff3c9,#ffd67b);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0b0d26);text-shadow:none}.panel p{line-height:1.6;font-weight:650}.comic-top>span{padding:8px 14px;background:#0e1936b8;border:1px solid #e4c98b55;border-radius:8px}
@media(max-width:700px){.show-ticket{grid-template-columns:1fr}.stage-preview{min-height:120px}.brand p{font-size:9px;letter-spacing:1px}.show-ticket>div:first-child{padding:15px}#mode-description{font-size:13px}}
@media(orientation:landscape) and (max-height:550px){.show-ticket{grid-template-columns:1fr 200px;margin-top:10px;gap:10px}.show-ticket>div:first-child{padding:12px 16px}.stage-preview{min-height:100px}#mode-description{font-size:12px;margin:4px 0}#character-info{font-size:10px}.brand p{font-size:8px;letter-spacing:1.5px}}
#controls,#pause-dialog,#result{background:linear-gradient(125deg,#10213edb,#20172be8),url('assets/fondo-bambalinas.webp') center/cover}dialog::backdrop{background:linear-gradient(#060b1bad,#0a0822d9),url('assets/fondo-bambalinas.webp') center/cover;backdrop-filter:blur(5px)}#comic{background:linear-gradient(#10152abf,#10132ae8),url('assets/fondo-bambalinas.webp') center/cover}

.control-grid b{white-space:nowrap;min-width:110px;flex-shrink:0;font-size:17px}.control-grid div{min-width:0}.control-grid span{min-width:0}@media(orientation:portrait) and (max-width:650px){.control-grid{grid-template-columns:1fr}.control-grid b{font-size:15px;min-width:110px}}@media(orientation:landscape) and (max-height:550px){.control-grid b{font-size:13px;min-width:95px}}
