.section-screen { --section-accent:#34d5f6; --section-accent-rgb:52,213,246; min-height:100svh; height:100dvh; max-width:680px; margin:auto; padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)); overflow:hidden; color:#f7fbff; background:radial-gradient(circle at 50% 0,rgba(var(--section-accent-rgb),.22),transparent 35%),#050b20; }
.section-panel { height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:2px solid rgba(var(--section-accent-rgb),.7); border-radius:22px; background:linear-gradient(180deg,rgba(12,28,61,.98),rgba(5,12,31,.99)); box-shadow:0 0 0 3px rgba(4,15,36,.9),0 18px 55px #000; scrollbar-width:thin; scrollbar-color:var(--section-accent) #071128; }
.section-header { position:sticky; z-index:21; top:0; display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:8px; min-height:78px; padding:10px 12px; border-bottom:1px solid rgba(var(--section-accent-rgb),.4); background:linear-gradient(135deg,#103e73,#102454 62%,#28175d); box-shadow:0 8px 22px rgba(0,0,0,.3); }
.section-header::after { content:""; position:absolute; right:18%; bottom:0; left:18%; height:2px; background:var(--section-accent); box-shadow:0 0 10px var(--section-accent); }
.section-header h1,.section-header small { display:block; margin:0; }
.section-header h1 { font-size:clamp(1.3rem,6vw,1.85rem); line-height:.95; letter-spacing:.025em; }
.section-header small { color:#a7bad5; font-size:.62rem; font-weight:800; letter-spacing:.1em; }
.section-back { width:44px; height:44px; padding:0 0 4px; border:2px solid #65dcfa; border-radius:14px; color:white; background:linear-gradient(#24bfe9,#1864bb); box-shadow:inset 0 2px rgba(255,255,255,.25),0 4px 0 #092653; font:800 2rem/1 "Baloo 2",sans-serif; }
.section-back:focus,.section-back:focus-visible { outline:none; }
.section-count { display:grid; min-width:48px; text-align:center; }
.section-count b { color:var(--section-accent); font-size:1.45rem; line-height:1; }
.section-count small { font-size:.5rem; }
.section-count--rating { --rating-edge:#d98445; --rating-light:#8b492d; --rating-dark:#321d20; --rating-shadow:#211014; position:relative; min-width:66px; min-height:55px; padding:6px 10px 5px; overflow:hidden; place-content:center; border:2px solid var(--rating-edge); border-radius:15px; background:linear-gradient(145deg,var(--rating-light),var(--rating-dark)); box-shadow:inset 0 2px rgba(255,255,255,.2),inset 0 -5px rgba(0,0,0,.24),0 4px 0 var(--rating-shadow),0 7px 13px rgba(0,0,0,.32); }
.section-count--rating::before { content:""; position:absolute; top:-45%; left:-20%; width:62%; height:150%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent); transform:rotate(24deg); pointer-events:none; }
.section-count--rating b { position:relative; color:#fff4d7; font-size:1.65rem; line-height:.78; text-shadow:0 2px 2px rgba(0,0,0,.55); }
.section-count--rating small { position:relative; margin-top:5px; color:#fff; font-size:.46rem; font-weight:800; letter-spacing:.13em; line-height:1; }
.section-count--rating[data-rating-tier="silver"] { --rating-edge:#e3effb; --rating-light:#758ba4; --rating-dark:#26364c; --rating-shadow:#162235; }
.section-count--rating[data-rating-tier="gold"] { --rating-edge:#ffe27a; --rating-light:#cf951b; --rating-dark:#60400c; --rating-shadow:#3e2705; }
.section-count--rating[data-rating-tier="legend"] { --rating-edge:#ffe16f; --rating-light:#2168a9; --rating-dark:#281755; box-shadow:inset 0 2px rgba(255,255,255,.24),inset 0 -5px rgba(0,0,0,.25),0 0 0 2px #8d53da,0 4px 0 #130c31,0 0 15px rgba(105,85,255,.5); }
.section-tabs { position:sticky; z-index:20; top:78px; display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:8px 10px; background:#08152e; }
.section-tabs button { min-height:45px; border:1px solid rgba(var(--section-accent-rgb),.32); border-radius:12px; color:#8fa5c4; background:#0d2243; font:800 .82rem/1 "Baloo 2",sans-serif; letter-spacing:.035em; }
.section-tabs button[aria-selected="true"] { color:#04101d; border-color:#a5f1ff; background:linear-gradient(#75e9ff,var(--section-accent)); box-shadow:inset 0 2px rgba(255,255,255,.45),0 3px 0 #087692; }
.section-screen--load-game { --section-accent:#52d9f5; --section-accent-rgb:82,217,245; }
.section-screen--load-game .section-header { background:linear-gradient(135deg,#0c5276,#143867 62%,#29245d); }
.section-screen--load-game .section-back { border-color:#acf0ff; background:linear-gradient(#52d9f5,#1689c5); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #075078; }
.load-game-content { min-height:calc(100% - 78px); padding:clamp(18px,5vw,34px) clamp(12px,4vw,26px); background:radial-gradient(circle at 50% 12%,rgba(82,217,245,.16),transparent 34%); }
.load-game-content__brand { display:grid; height:clamp(90px,18dvh,150px); margin-bottom:clamp(12px,2vh,20px); place-items:center; }
.load-game-content__brand img { width:min(72%,330px); max-height:100%; object-fit:contain; filter:drop-shadow(0 7px 7px rgba(0,0,0,.62)); }
.load-game-card { padding:clamp(18px,5vw,30px); border:1px solid rgba(82,217,245,.45); border-radius:18px; background:linear-gradient(180deg,rgba(17,39,75,.96),rgba(8,22,48,.98)); box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.34); text-align:center; }
.load-game-card > small { display:block; margin-bottom:7px; color:#74e7ff; font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.load-game-card .login-panel__intro { margin-bottom:clamp(18px,3vh,26px); }
.section-screen--diamonds { --section-accent:#4cddff; --section-accent-rgb:76,221,255; }
.section-screen--diamonds .section-header { background:linear-gradient(135deg,#075b86,#163a78 62%,#32256f); }
.section-screen--diamonds .section-back { border-color:#b5f4ff; background:linear-gradient(#62e8ff,#1a9ed7); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #075078; }
.diamonds-balance { display:flex; min-width:68px; height:42px; padding:5px 10px; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(156,239,255,.62); border-radius:13px; background:rgba(4,22,58,.56); box-shadow:inset 0 1px rgba(255,255,255,.14); }
.diamonds-balance img { width:27px; height:27px; object-fit:contain; filter:drop-shadow(0 2px 2px rgba(0,0,0,.48)); }
.diamonds-balance b { font-size:1rem; }
.diamonds-content { min-height:calc(100% - 78px); background:radial-gradient(circle at 50% 10%,rgba(76,221,255,.13),transparent 34%); }
.section-screen--missions { --section-accent:#ffc64a; --section-accent-rgb:255,198,74; }
.section-screen--community { --section-accent:#59dfb0; --section-accent-rgb:89,223,176; }
.section-screen--community .section-header { background:linear-gradient(135deg,#145b58,#174367 62%,#27235f); }
.section-screen--community .section-back { border-color:#9affdc; background:linear-gradient(#48ddb0,#19947e); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #075349; }
.community-content { display:grid; min-height:calc(100% - 78px); padding:24px 16px; place-items:center; background:radial-gradient(circle at 50% 18%,rgba(89,223,176,.18),transparent 35%),linear-gradient(180deg,#102744,#071329); }
.community-empty { display:grid; width:min(100%,390px); padding:28px 20px; place-items:center; border:1px solid rgba(112,226,193,.3); border-radius:22px; background:linear-gradient(150deg,rgba(24,69,91,.92),rgba(9,28,56,.96)); box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 25px rgba(0,0,0,.28); text-align:center; }
.community-empty img { width:104px; height:104px; object-fit:contain; filter:drop-shadow(0 7px 7px rgba(0,0,0,.4)); }
.community-empty small { margin-top:12px; color:#70e5c0; font-size:.54rem; font-weight:900; letter-spacing:.14em; }
.community-empty h2 { margin:3px 0 5px; color:#fff; font-size:1.25rem; }
.community-empty p { max-width:310px; margin:0; color:#aebed1; font-size:.72rem; line-height:1.3; }
.section-screen--missions .section-header { background:linear-gradient(135deg,#7b4812,#633347 62%,#222653); }
.section-screen--missions .section-back { border-color:#ffe59a; background:linear-gradient(#ffd65c,#e89418); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #754108; }
.missions-content { min-height:calc(100% - 78px); padding:13px 11px 28px; background:radial-gradient(circle at 50% 5%,rgba(255,198,74,.2),transparent 28%),linear-gradient(180deg,#101f3e,#071328); }
.mission-group { position:relative; padding:11px 9px 13px; border:1px solid rgba(113,204,242,.25); border-radius:18px; background:linear-gradient(145deg,rgba(19,49,87,.9),rgba(8,24,52,.96)); box-shadow:inset 0 1px rgba(255,255,255,.07),0 6px 14px rgba(0,0,0,.25); }
.mission-group + .mission-group { margin-top:17px; }
.mission-group > header { display:flex; align-items:center; gap:8px; margin:0 2px 12px; }
.mission-group > header > span { display:grid; flex:none; width:33px; height:33px; place-items:center; border:2px solid #ffe49a; border-radius:50%; color:#5b3308; background:linear-gradient(#ffd960,#eba01c); box-shadow:inset 0 2px rgba(255,255,255,.4),0 3px 0 #754108; font-size:.62rem; font-weight:900; }
.mission-group > header div { min-width:0; }
.mission-group > header small { display:block; color:#7edfff; font-size:.46rem; font-weight:800; letter-spacing:.12em; }
.mission-group > header h2 { margin:1px 0 0; color:#fff; font-size:1rem; line-height:1; }
.mission-list { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; align-items:stretch; }
.mission-group[aria-labelledby="missions-inspirations-title"] .mission-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mission-list--costumes { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mission-group__description{margin:0 2px 12px;color:#9fb1ca;font-size:.52rem;line-height:1.2}.mission-list--quality{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-card--quality{min-height:132px}.mission-card--quality .mission-card__emblem{font-size:1.25rem}.mission-card--bronze .mission-card__emblem{border-color:#ef9b5d;background:radial-gradient(circle at 35% 25%,#ffbd7c,#9c4e20 72%);box-shadow:inset 0 3px rgba(255,255,255,.3),0 3px 0 #4d240e,0 0 0 4px rgba(205,105,47,.15)}.mission-card--silver .mission-card__emblem{border-color:#eef7ff;color:#fff;background:radial-gradient(circle at 35% 25%,#fff,#849ab1 72%);box-shadow:inset 0 3px rgba(255,255,255,.55),0 3px 0 #34475b,0 0 0 4px rgba(190,220,244,.14)}.mission-card--gold .mission-card__emblem{border-color:#fff0a0;color:#fff9c5;background:radial-gradient(circle at 35% 25%,#fff184,#c77a14 72%);box-shadow:inset 0 3px rgba(255,255,255,.45),0 3px 0 #6c3509,0 0 0 4px rgba(255,204,61,.15)}.mission-card--quality[data-mission-state="claimed"]>strong{color:#85f0b7}.mission-card--quality[data-mission-state="claimed"]::after{content:"✓";position:absolute;top:7px;right:7px;display:grid;width:19px;height:19px;place-items:center;border-radius:50%;color:#073c29;background:#79efad;font-size:.7rem;font-weight:900}
.mission-list::before { content:""; position:absolute; z-index:0; top:38px; right:8%; left:8%; height:5px; border-block:1px solid rgba(255,213,89,.38); background:repeating-linear-gradient(90deg,#d8951d 0 8px,transparent 8px 13px); opacity:.65; }
.mission-card { position:relative; z-index:1; display:flex; min-width:0; min-height:146px; padding:8px 7px 9px; flex-direction:column; align-items:center; border:2px solid #d99a2d; border-radius:17px; background:linear-gradient(165deg,#264f7d,#122a4c 58%,#09182f); box-shadow:inset 0 2px rgba(255,255,255,.12),inset 0 -5px rgba(0,0,0,.22),0 4px 0 #071428,0 8px 14px rgba(0,0,0,.3); text-align:center; }
.mission-card__emblem { display:grid; flex:none; width:58px; height:58px; margin-bottom:8px; place-items:center; border:4px solid #ffdf6b; border-radius:50%; color:#fff5c6; background:radial-gradient(circle at 35% 25%,#e9a936,#713b0b 72%); box-shadow:inset 0 3px rgba(255,255,255,.26),0 3px 0 #3b2109,0 0 0 4px rgba(255,204,61,.13); font-size:clamp(.9rem,4vw,1.16rem); font-weight:900; text-shadow:0 2px 2px #422000; }
.mission-card__emblem--image { width:82px; height:82px; margin-top:5px; margin-bottom:0; border:0; border-radius:0; background:transparent; box-shadow:none; text-shadow:none; }
.mission-card__emblem--image img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 4px 4px rgba(0,0,0,.48)); }
.mission-card__emblem--empty { border-style:dashed; background:rgba(7,19,39,.36); box-shadow:inset 0 2px rgba(255,255,255,.05),0 3px 0 #111b2b; }
.mission-card > div { display:flex; min-width:0; flex:1; flex-direction:column; align-items:center; justify-content:flex-start; }
.mission-card > div small { display:block; color:#f5bd4e; font-size:.42rem; font-weight:800; letter-spacing:.1em; }
.mission-card h3 { margin:3px 0 0; color:#fff; font-size:clamp(.56rem,2.2vw,.72rem); line-height:1.05; }
.mission-card p { display:none; }
.mission-card > strong { margin-top:7px; padding:4px 7px; border:1px solid rgba(255,231,146,.45); border-radius:999px; color:#ffe49a; background:rgba(53,31,5,.5); font-size:.4rem; letter-spacing:.05em; white-space:nowrap; }
.mission-card[data-mission-state="pending"] { animation:missionReadyPulse 2.2s ease-in-out infinite; }
.mission-card[data-mission-state="pending"] { cursor:pointer; -webkit-tap-highlight-color:transparent; }
.mission-card[data-mission-state="pending"]::before { content:"PULSA AQUÍ"; position:absolute; z-index:4; top:-9px; left:50%; padding:4px 9px; border:2px solid #fff0a1; border-radius:999px; color:#4c2900; background:linear-gradient(#ffe86f,#f4ad20); box-shadow:0 3px 0 #8a4a08,0 0 12px rgba(255,203,61,.62); font-size:.4rem; font-weight:900; letter-spacing:.06em; line-height:1; white-space:nowrap; transform:translateX(-50%); }
.mission-card[data-mission-state="pending"]:focus,.mission-card[data-mission-state="pending"]:focus-visible { outline:none; }
.mission-card[data-mission-state="claimed"] { border-color:#45d489; background:linear-gradient(165deg,#1d5c5b,#15394d 58%,#0a2335); }
.mission-card[data-mission-state="claimed"] > strong { border-color:rgba(119,255,183,.4); color:#85f0b7; background:rgba(7,67,43,.48); }
.mission-card[data-mission-state="locked"] { border-color:#536985; background:linear-gradient(165deg,#2f435d,#172941 58%,#0c182b); box-shadow:inset 0 2px rgba(255,255,255,.07),inset 0 -5px rgba(0,0,0,.2),0 4px 0 #07111f,0 8px 14px rgba(0,0,0,.26); }
.mission-card[data-mission-state="locked"] .mission-card__emblem { border-color:#7a8da6; color:#bac6d7; background:radial-gradient(circle at 35% 25%,#5b6c82,#26364b 72%); box-shadow:inset 0 2px rgba(255,255,255,.11),0 3px 0 #111b2b,0 0 0 4px rgba(130,151,178,.1); text-shadow:0 2px 2px #101928; }
.mission-card[data-mission-state="locked"] .mission-card__emblem--image { border:0; background:transparent; box-shadow:none; text-shadow:none; }
.mission-card[data-mission-state="locked"] > strong { border-color:rgba(154,173,198,.24); color:#8698b2; background:rgba(0,0,0,.2); }
.mission-card--grand { grid-column:auto; border-color:#f6c941; background:linear-gradient(155deg,#764014,#4c2740 58%,#1d1b42); }
.mission-card--grand .mission-card__emblem { border-color:#ffe377; background:radial-gradient(circle at 35% 25%,#ffec80,#c77a14 58%,#6c3509); }
.mission-card--quality.mission-card--bronze[data-mission-state] .mission-card__emblem{border-color:#ef9b5d;color:#fff0df;background:radial-gradient(circle at 35% 25%,#ffbd7c,#9c4e20 72%);box-shadow:inset 0 3px rgba(255,255,255,.3),0 3px 0 #4d240e,0 0 0 4px rgba(205,105,47,.15)}.mission-card--quality.mission-card--silver[data-mission-state] .mission-card__emblem{border-color:#eef7ff;color:#fff;background:radial-gradient(circle at 35% 25%,#fff,#849ab1 72%);box-shadow:inset 0 3px rgba(255,255,255,.55),0 3px 0 #34475b,0 0 0 4px rgba(190,220,244,.14)}.mission-card--quality.mission-card--gold[data-mission-state] .mission-card__emblem{border-color:#fff0a0;color:#fff9c5;background:radial-gradient(circle at 35% 25%,#fff184,#c77a14 72%);box-shadow:inset 0 3px rgba(255,255,255,.45),0 3px 0 #6c3509,0 0 0 4px rgba(255,204,61,.15)}
.mission-card--inspiration{min-height:156px}
.mission-card[data-mission-state="pending"]{border-color:#fff2a0;background:linear-gradient(155deg,#ffe978,#f4b82e 58%,#c7790c);box-shadow:inset 0 2px rgba(255,255,255,.62),inset 0 -6px rgba(131,68,0,.18),0 4px 0 #754108,0 0 20px rgba(255,199,47,.62);animation:qualityMissionReadyPulse 1.65s ease-in-out infinite}
.mission-card[data-mission-state="pending"] > div small{color:#713800;text-shadow:0 1px rgba(255,255,255,.4)}
.mission-card[data-mission-state="pending"] h3{color:#321900;text-shadow:0 1px rgba(255,255,255,.38)}
.mission-card[data-mission-state="pending"] > strong{border-color:rgba(77,37,0,.48);color:#fff8d0;background:#683500;box-shadow:inset 0 1px rgba(255,255,255,.16)}
@keyframes missionReadyPulse { 0%,100% { box-shadow:inset 0 2px rgba(255,255,255,.12),inset 0 -5px rgba(0,0,0,.22),0 4px 0 #071428,0 0 8px rgba(255,197,49,.2); } 50% { box-shadow:inset 0 2px rgba(255,255,255,.12),inset 0 -5px rgba(0,0,0,.22),0 4px 0 #071428,0 0 18px rgba(255,197,49,.7); } }
@keyframes qualityMissionReadyPulse { 0%,100% { box-shadow:inset 0 2px rgba(255,255,255,.62),inset 0 -6px rgba(131,68,0,.18),0 4px 0 #754108,0 0 11px rgba(255,199,47,.42); } 50% { box-shadow:inset 0 2px rgba(255,255,255,.72),inset 0 -6px rgba(131,68,0,.15),0 4px 0 #754108,0 0 25px rgba(255,222,91,.92); } }
@media (max-width:390px) {
  .missions-content { padding-inline:8px; }
  .mission-group { padding-inline:7px; }
  .mission-list { gap:7px; }
  .mission-card { min-height:137px; padding-inline:4px; }
  .mission-card__emblem { width:52px; height:52px; }
  .mission-card__emblem--image { width:74px; height:74px; }
  .mission-card h3 { font-size:clamp(.52rem,2.65vw,.64rem); }
}
@media (prefers-reduced-motion:reduce) { .mission-card[data-mission-state="pending"] { animation:none; } }
.mission-card[data-author-quality-target]{cursor:pointer;-webkit-tap-highlight-color:transparent}.mission-card[data-author-quality-target]:focus,.mission-card[data-author-quality-target]:focus-visible{outline:none}
.mission-info-modal{position:fixed;z-index:100;inset:0;display:grid;padding:18px;place-items:center;background:rgba(1,5,17,.86);backdrop-filter:blur(5px)}.mission-info-modal>section{width:min(100%,370px);overflow:hidden;border:2px solid #ffd361;border-radius:22px;color:#fff;background:linear-gradient(160deg,#153863,#0a1935 68%,#151335);box-shadow:0 7px 0 #08051c,0 24px 65px #000}.mission-info-modal>section>header{display:flex;min-height:76px;padding:13px 14px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(105,223,252,.34);background:linear-gradient(135deg,#194d7c,#26225f)}.mission-info-modal header span{min-width:0}.mission-info-modal header small{display:block;color:#ffd261;font-size:.48rem;font-weight:900;letter-spacing:.11em}.mission-info-modal h2{margin:2px 0 0;color:#fff;font-size:clamp(.9rem,4vw,1.12rem);line-height:1}.mission-info-modal header button{display:grid;flex:0 0 34px;width:34px;height:34px;padding:0;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#dd3851;box-shadow:0 3px 0 #681525;font:900 1.1rem/1 sans-serif}.mission-info-modal__body{display:grid;padding:15px;gap:11px}.mission-info-modal__target{display:grid;min-height:88px;place-content:center;border:1px solid rgba(255,216,91,.52);border-radius:15px;background:radial-gradient(circle at 50% 20%,rgba(255,209,67,.2),transparent 58%),rgba(5,18,42,.72);text-align:center}.mission-info-modal__target small{color:#8de8ff;font-size:.47rem;font-weight:900;letter-spacing:.12em}.mission-info-modal__target strong{color:#ffd75b;font-size:2rem;line-height:.9;text-shadow:0 3px #6d3904}.mission-info-modal__target em{margin-top:3px;color:#fff1bf;font-size:.54rem;font-style:normal;font-weight:900}.mission-info-modal__body>p{margin:0;color:#d8e2ef;font-size:.68rem;font-weight:700;line-height:1.35;text-align:center}.mission-info-modal__body>p b{color:#fff3b8}.mission-info-modal__progress{display:grid;gap:5px}.mission-info-modal__progress>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission-info-modal__progress small{color:#80dcf5;font-size:.47rem;font-weight:900}.mission-info-modal__progress span b{color:#fff;font-size:.65rem}.mission-info-modal__progress>i{height:13px;padding:2px;overflow:hidden;border:1px solid #375c78;border-radius:999px;background:#020a18;box-shadow:inset 0 2px 4px #000}.mission-info-modal__progress>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#18a9db,#70e4ff);box-shadow:0 0 8px rgba(83,220,255,.6)}.mission-info-modal__remaining{justify-self:center;padding:5px 10px;border:1px solid #ff8b92;border-radius:999px;color:#ffd9dc;background:rgba(114,18,34,.58);font-size:.58rem;letter-spacing:.04em}.mission-info-modal__remaining.is-complete{border-color:#8df0af;color:#d8ffe6;background:rgba(14,99,55,.6)}.mission-info-modal__reward{display:flex;min-height:74px;padding:8px 11px;align-items:center;gap:11px;border:2px solid #e8b83f;border-radius:15px;background:linear-gradient(135deg,#67400f,#2b201b);box-shadow:inset 0 2px rgba(255,255,255,.16),0 4px 0 #211207}.mission-info-modal__reward img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.52))}.mission-info-modal__reward span{display:grid;gap:1px}.mission-info-modal__reward small{color:#ffc94f;font-size:.47rem;font-weight:900;letter-spacing:.09em}.mission-info-modal__reward strong{color:#fff1b0;font-size:.82rem;line-height:1}.mission-info-modal__reward em{color:#c9bda2;font-size:.48rem;font-style:normal;font-weight:700}.mission-info-modal footer{display:grid;padding:10px 14px 15px;place-items:center;border-top:1px solid rgba(100,218,248,.18);background:#08152c}.mission-info-modal footer button{width:100%;min-height:47px;border:3px solid #fff0a3;border-radius:13px;color:#4d2d00;background:linear-gradient(#ffe16b,#efa31d);box-shadow:inset 0 3px rgba(255,255,255,.4),0 5px 0 #7c4808;font:900 .72rem/1 "Baloo 2",sans-serif}
.section-screen--components { position:relative; }
.mission-info-modal>section{max-height:calc(100dvh - 36px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffd361 #08152c}
.components-stage { position:relative; height:clamp(220px,61vw,360px); overflow:hidden; border-block:2px solid var(--section-accent); background:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/cadiz-promenade.png") center/cover no-repeat; }
.components-stage::after { content:""; position:absolute; right:0; bottom:0; left:0; height:32%; background:linear-gradient(transparent,rgba(3,10,25,.76)); pointer-events:none; }
.components-formation-picker { position:absolute; z-index:9; top:8px; left:12px; }.components-formation-picker > button { display:flex; box-sizing:border-box; height:22px; min-height:0; padding:4px 7px 4px 9px; align-items:center; gap:6px; border:0; border-radius:8px; color:#fff; background:rgba(3,14,34,.82); box-shadow:none; outline:none; font:800 .5rem/1 "Baloo 2",sans-serif; letter-spacing:.06em; -webkit-tap-highlight-color:transparent; }.components-formation-picker > button i { display:grid; width:14px; height:14px; place-items:center; border-radius:50%; color:#07162d; background:#5eddf8; font:900 .7rem/1 sans-serif; transition:transform .18s ease; }.components-formation-picker > button[aria-expanded="true"] i { transform:rotate(180deg); }.components-formation-picker > button:focus,.components-formation-picker > button:focus-visible { outline:none; }.components-formation-menu { position:absolute; top:27px; left:0; display:grid; width:150px; padding:5px; gap:3px; border:1px solid rgba(94,221,248,.65); border-radius:10px; background:rgba(5,19,42,.97); box-shadow:0 8px 20px rgba(0,0,0,.38); }.components-formation-menu[hidden] { display:none; }.components-formation-menu button { display:flex; min-height:30px; padding:5px 7px; align-items:center; justify-content:space-between; gap:6px; border:0; border-radius:7px; color:#8293aa; background:#101f38; box-shadow:none; font-family:"Baloo 2",sans-serif; text-align:left; }.components-formation-menu button span { font-size:.52rem; font-weight:900; }.components-formation-menu button b { font-size:.38rem; }.components-formation-menu button.is-current { color:#fff; background:linear-gradient(135deg,#168fc4,#1e5e9f); }.components-formation-menu button.is-current b { color:#91efff; }.components-formation-menu button:disabled { opacity:.48; }
.components-stage__cast { position:absolute; z-index:2; inset:0 2% 10px; }
.components-stage__member { position:absolute; z-index:var(--z); left:50%; top:var(--y); width:28%; height:64%; overflow:visible; transform:translateX(var(--offset)); transition:none; }
.components-stage__member > img { width:100%; height:100%; object-fit:contain; object-position:center bottom; transition:none; }
.components-stage__member.is-empty > img { opacity:.35; filter:grayscale(1) brightness(.92); }
.components-stage__stat { position:absolute; z-index:4; top:4px; right:4px; display:none; min-width:27px; height:27px; padding:0 5px; place-items:center; border:2px solid rgba(255,255,255,.9); border-radius:50%; color:#13203a; background:#fff4bd; box-shadow:0 2px 5px rgba(0,0,0,.62); font-size:.58rem; font-weight:800; line-height:1; }
.components-stage__name { display:none; }
.components-stage.is-stats-view { height:var(--stats-stage-height,auto); min-height:0; transition:none; }
.components-stage.is-stats-view .components-stage__cast { inset:43px 8px 9px; display:grid; grid-template-columns:repeat(30,minmax(0,1fr)); grid-template-rows:repeat(var(--stats-rows,3),max-content); align-content:start; gap:6px 0; }
.components-stage.is-saving .components-stage__cast { pointer-events:none; }
.components-stage.is-stats-view .components-stage__member { --plate-edge:#a9673f; --plate-accent:#e39151; --plate-glow:rgba(196,105,56,.22); position:relative; left:auto; top:auto; grid-column:var(--stats-column)/span var(--stats-span); grid-row:var(--stats-row); width:calc(100% - 6px); height:auto; min-width:0; max-height:100%; margin:0; overflow:hidden; aspect-ratio:1; align-self:center; justify-self:center; border:2px solid var(--plate-edge); border-radius:11px; background:linear-gradient(155deg,#253a52 0%,#13243a 54%,#0a1425 100%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 -4px rgba(0,0,0,.28),0 3px 7px rgba(0,0,0,.44),0 0 7px var(--plate-glow); transform:none; cursor:grab; touch-action:none; }
.components-stage.is-stats-view .components-stage__member:active { cursor:grabbing; }
.components-stage.is-stats-view .components-stage__member.is-selected { border-color:#64e8ff; box-shadow:inset 0 2px rgba(255,255,255,.18),inset 0 0 10px rgba(100,232,255,.28),0 0 0 3px rgba(100,232,255,.72),0 5px 10px rgba(0,0,0,.5); transform:none; }
.components-stage.is-stats-view .components-stage__member.is-dragging { opacity:.48; }
.components-stage.is-stats-view .components-stage__member.is-natural-position { outline:2px dashed #69efff; outline-offset:0; animation:componentsNaturalPositionPulse .7s ease-in-out infinite; }
.components-stage.is-stats-view .components-stage__member.is-drop-target { border-color:#fff; box-shadow:inset 0 0 0 2px #62e6ff,0 0 13px rgba(98,230,255,.9); }
@keyframes componentsNaturalPositionPulse { 0%,100% { outline-color:rgba(105,239,255,.5); } 50% { outline-color:#baf8ff; } }
.components-drag-ghost { position:fixed!important; z-index:9999!important; left:0; top:0; margin:0!important; opacity:.92!important; pointer-events:none!important; transform:translate(-50%,-50%) scale(1.06)!important; transition:none!important; box-shadow:0 10px 24px rgba(0,0,0,.56),0 0 0 3px rgba(100,232,255,.72)!important; }
.components-drag-ghost * { transition:none!important; }
.components-stage.is-stats-view .components-stage__member.rarity-silver { --plate-edge:#9caec3; --plate-accent:#e4edf6; --plate-glow:rgba(181,211,239,.24); }
.components-stage.is-stats-view .components-stage__member.rarity-gold { --plate-edge:#c89518; --plate-accent:#ffe16a; --plate-glow:rgba(255,197,43,.28); }
.components-stage.is-stats-view .components-stage__member.rarity-legend { --plate-edge:#6559ca; --plate-accent:#48dcff; --plate-glow:rgba(104,91,232,.38); }
.components-stage.is-stats-view .components-stage__member.is-empty { border-style:dashed; border-color:rgba(167,208,224,.34); background:rgba(8,30,54,.48); box-shadow:inset 0 0 18px rgba(0,0,0,.25); cursor:default; }
.components-stage.is-stats-view .components-stage__member > img { position:absolute; z-index:1; top:-26%; left:-18%; width:136%; height:142%; object-fit:contain; object-position:center top; }
.components-stage.is-stats-view .components-stage__stat { top:auto; right:3%; bottom:17%; display:block; min-width:0; height:auto; padding:0; border:0; border-radius:0; color:var(--plate-accent,#e39151); background:transparent; box-shadow:none; font-size:clamp(.8rem,3.3vw,1.15rem); line-height:.9; letter-spacing:-.05em; -webkit-text-stroke:2px #030711; paint-order:stroke fill; text-shadow:-1px -1px 0 #030711,1px -1px 0 #030711,-1px 1px 0 #030711,1px 1px 0 #030711,0 2px 2px rgba(0,0,0,.72); }
.components-stage__mismatch { display:none; }
.components-stage.is-stats-view .components-stage__member.has-specialty-mismatch { filter:drop-shadow(0 0 5px rgba(255,35,65,.9)); }
.components-stage.is-stats-view .components-stage__mismatch.is-visible { position:absolute; z-index:5; bottom:17%; left:50%; display:block; color:#ff344f; font-size:clamp(.72rem,3vw,1.05rem); font-style:normal; font-weight:900; line-height:.85; text-shadow:-1px -1px 0 #fff,0 -1px 0 #fff,1px -1px 0 #fff,-1px 0 0 #fff,1px 0 0 #fff,-1px 1px 0 #fff,0 1px 0 #fff,1px 1px 0 #fff,0 2px 3px #07101f; transform:translateX(-50%); }
.components-stage.is-stats-view .components-stage__name { position:absolute; z-index:3; right:0; bottom:0; left:0; display:flex; min-height:17%; padding:2px 4px; overflow:visible; align-items:center; justify-content:center; border-top:1px solid rgba(255,255,255,.25); color:#fff; background:rgba(4,14,34,.94); font-size:clamp(.36rem,1.5vw,.54rem); font-weight:800; line-height:1; text-shadow:0 1px 2px #000; text-transform:uppercase; white-space:nowrap; }
.components-stage.is-stats-view .components-stage__name > b { position:absolute; bottom:100%; left:2%; min-width:0; padding:2px 10px 2px 2px; border:0; border-radius:0; color:#fff; background:var(--role-color,#338ef0); clip-path:polygon(0 0,78% 0,100% 100%,0 100%); box-shadow:none; font-size:clamp(.62rem,2.5vw,.9rem); line-height:.9; text-align:left; text-shadow:-1px -1px 0 #07101f,0 -1px 0 #07101f,1px -1px 0 #07101f,-1px 0 0 #07101f,1px 0 0 #07101f,-1px 1px 0 #07101f,0 1px 0 #07101f,1px 1px 0 #07101f; }
.components-stage__name > span { display:block; width:100%; min-width:0; max-width:100%; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.components-stage.is-stats-view .components-stage__member.rarity-bronze .components-stage__name > span{color:#f0d2bd}
.components-stage.is-stats-view .components-stage__member.rarity-silver .components-stage__name > span{color:#eef6ff}
.components-stage.is-stats-view .components-stage__member.rarity-gold .components-stage__name > span{color:#fff1b8}
.components-stage.is-stats-view .components-stage__member.rarity-legend .components-stage__name > span{color:#eadcff}
.components-stage.is-stats-view .components-stage__member.is-author .components-stage__name > span { color:#86e5ff; }
.components-view-toggle { position:absolute; z-index:7; top:8px; right:12px; display:grid; box-sizing:border-box; grid-template-columns:auto 27px auto; width:auto; height:22px; min-height:0; padding:4px 9px; align-items:center; gap:5px; border:0; border-radius:8px; color:#8ca2bd; background:rgba(3,14,34,.76); box-shadow:none; outline:none; -webkit-tap-highlight-color:transparent; }
.components-view-toggle b { font-size:.5rem; letter-spacing:.06em; }.components-view-toggle b:first-child { color:#fff; }.components-view-toggle i { position:relative; width:27px; height:14px; border-radius:10px; background:#1c3a5d; box-shadow:inset 0 1px 3px rgba(0,0,0,.55); }.components-view-toggle i::after { content:""; position:absolute; top:2px; left:2px; width:10px; height:10px; border-radius:50%; background:#5eddf8; box-shadow:0 0 6px rgba(94,221,248,.7); transition:transform .2s ease; }.components-view-toggle[aria-pressed="true"] b:first-child { color:#8ca2bd; }.components-view-toggle[aria-pressed="true"] b:last-child { color:#fff; }.components-view-toggle[aria-pressed="true"] i::after { transform:translateX(13px); }.components-view-toggle:focus,.components-view-toggle:focus-visible { outline:none; }

.section-screen--repertoire { --section-accent:#ffd34f; --section-accent-rgb:255,211,79; }
.section-screen--repertoire .section-header { background:linear-gradient(135deg,#714018,#3c2856 64%,#172452); }
.section-screen--repertoire .section-back { border-color:#ffe899; background:linear-gradient(#ffc94d,#d77a12); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #683a08; }
.section-unavailable { display:grid; min-height:260px; margin:14px 10px 20px; padding:28px 22px; place-items:center; align-content:center; overflow:hidden; border:1px solid rgba(var(--section-accent-rgb),.46); border-radius:17px; color:#fff; background:radial-gradient(circle at 50% 18%,rgba(var(--section-accent-rgb),.17),transparent 38%),linear-gradient(160deg,#172844,#0b162d 72%); box-shadow:inset 0 2px rgba(255,255,255,.06),0 7px 18px rgba(0,0,0,.28); text-align:center; }
.section-unavailable[hidden],[data-performances-lock][hidden],[data-performances-content][hidden],.rehearsal-tabs[hidden],[data-rehearsals-main][hidden],[data-rehearsal-progress][hidden],.section-lock-notice[hidden] { display:none; }
.section-unavailable > span { display:grid; width:68px; height:68px; margin-bottom:12px; place-items:center; border:2px solid rgba(var(--section-accent-rgb),.75); border-radius:22px; color:rgb(var(--section-accent-rgb)); background:rgba(var(--section-accent-rgb),.1); box-shadow:inset 0 2px rgba(255,255,255,.1),0 0 20px rgba(var(--section-accent-rgb),.14); font-size:2rem; font-weight:900; line-height:1; }
.section-unavailable > small { color:rgb(var(--section-accent-rgb)); font-size:.52rem; font-weight:900; letter-spacing:.12em; }.section-unavailable h2 { margin:5px 0 7px; font-size:1rem; line-height:1.05; }.section-unavailable p { max-width:410px; margin:0; color:#aab9ce; font-size:.7rem; line-height:1.35; }
.section-lock-notice { display:flex; min-height:58px; margin:13px 10px 18px; padding:9px 13px; align-items:center; gap:10px; border:1px solid rgba(var(--section-accent-rgb),.48); border-radius:13px; color:#fff; background:linear-gradient(145deg,rgba(var(--section-accent-rgb),.13),#101b33 70%); box-shadow:inset 3px 0 rgb(var(--section-accent-rgb)),0 4px 10px rgba(0,0,0,.24); }
.section-lock-notice > span { display:grid; flex:0 0 25px; width:25px; height:25px; place-items:center; border:2px solid #fff; border-radius:7px; color:#fff; background:#ed4058; box-shadow:0 2px 0 #741323; font-size:.83rem; font-weight:900; line-height:1; }.section-lock-notice > strong { font-size:.65rem; line-height:1.15; letter-spacing:.02em; }
.section-energy { display:flex; align-items:center; gap:3px; min-width:58px; padding:5px 7px; border:1px solid rgba(255,220,102,.55); border-radius:13px; background:rgba(28,20,38,.55); }
.section-energy > img { width:29px; height:29px; object-fit:contain; }
.section-energy span { display:grid; text-align:center; }.section-energy strong { line-height:.8; }.section-energy small { font-size:.44rem; }
.repertoire-workshop { position:relative; width:100%; aspect-ratio:900/394; min-height:175px; max-height:335px; overflow:hidden; border-bottom:2px solid #eeb93e; background:#392318; }
.repertoire-workshop::before { content:""; position:absolute; z-index:1; inset:0; background:radial-gradient(circle at 50% 38%,rgba(255,215,104,.2),transparent 34%); pointer-events:none; }
.repertoire-workshop > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.repertoire-workshop > .repertoire-workshop__background { z-index:0; }
.repertoire-workshop > img[data-repertoire-avatar],
.costumes-shop > .costumes-shop__shopkeeper { z-index:4; top:-4%; bottom:auto; left:82%; width:120%; height:120%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); transform-origin:center bottom; animation:sectionCharacterBreath 3.2s ease-in-out infinite; }
@keyframes sectionCharacterBreath {
  0%,100% { transform:translateX(-50%) scaleX(1) scaleY(1); }
  45%,55% { transform:translateX(-50%) scaleX(1.012) scaleY(.982); }
}
@media (prefers-reduced-motion:reduce) {
  .components-stage.is-stats-view .components-stage__member.is-natural-position { animation:none; }
  .repertoire-workshop > img[data-repertoire-avatar],
  .costumes-shop > .costumes-shop__shopkeeper { animation:none; }
}
.repertoire-workshop > .repertoire-workshop__foreground { z-index:3; pointer-events:none; }
.character-speech { position:absolute; z-index:5; max-width:48%; margin:0; padding:8px 11px; border:2px solid #19345d; border-radius:15px; color:#14223a; background:linear-gradient(#fff,#eef5fb); box-shadow:0 4px 0 rgba(6,18,42,.45),0 7px 16px rgba(0,0,0,.28); font-size:clamp(.78rem,3.2vw,1rem); font-weight:800; line-height:1.18; text-align:center; }
.character-speech::before { content:""; position:absolute; width:13px; height:13px; border-right:2px solid #19345d; border-bottom:2px solid #19345d; background:#eef5fb; transform:rotate(45deg); }
.character-speech--repertoire { bottom:7%; left:4%; max-width:63%; }
.character-speech--repertoire::before { top:50%; right:-12px; width:14px; height:18px; border:0; background:#eef5fb; clip-path:polygon(0 0,100% 50%,0 100%); filter:drop-shadow(2px 0 0 #19345d); transform:translateY(-50%); }
.repertoire-status { display:grid; gap:7px; padding:12px 10px 5px; }.info-card { display:grid; grid-template-columns:39px 1fr; align-items:center; gap:8px; min-height:58px; padding:7px 10px; border:1px solid #314766; border-radius:13px; background:#10233e; }.info-card > span { display:grid; width:35px; height:35px; place-items:center; border-radius:10px; font-size:1.3rem; font-weight:900; }.info-card p,.info-card strong,.info-card small { display:block; margin:0; }.info-card strong { color:#fff4c7; font-size:.72rem; }.info-card small { color:#a7b7cc; font-size:.64rem; line-height:1.2; }.info-card--energy > span { color:#6b3e00; background:#ffd34f; }.info-card--pending > span { color:white; background:#ef5262; }
.info-card--energy > span { background:rgba(255,211,79,.12); }.info-card--energy img { width:31px; height:31px; object-fit:contain; }
.powerups { padding:14px 10px 8px; }.powerups > header { display:flex; align-items:end; justify-content:space-between; padding:0 3px 8px; }.powerups header small { display:block; color:#ffd45b; font-size:.55rem; font-weight:800; letter-spacing:.1em; }.powerups h2 { margin:0; font-size:1.05rem; line-height:1; }.powerups header button { border:0; color:#84dfff; background:none; font-size:.55rem; font-weight:800; }.powerup-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; }.powerup-list button { display:grid; min-width:0; min-height:78px; padding:5px 2px; place-items:center; border:1px solid #3d5270; border-radius:11px; color:white; background:linear-gradient(#1a3150,#0d1d36); }.powerup-list button > span { font-size:clamp(1.15rem,6vw,1.75rem); line-height:1; }.powerup-list strong { overflow:hidden; max-width:100%; color:#c8d3e2; font-size:clamp(.38rem,1.65vw,.52rem); }.powerup-list small { color:#ffbd4c; font-size:.58rem; font-weight:800; }.repertoire-feedback { min-height:25px; margin:0; padding-top:5px; color:#8498b5; font-size:.62rem; text-align:center; }
.repertoire-lock { display:grid; grid-template-columns:42px 1fr; gap:2px 8px; margin:5px 10px 16px; padding:13px; border:1px solid rgba(255,204,72,.42); border-radius:16px; background:linear-gradient(145deg,#2b2035,#131d35); }.repertoire-lock__icon { grid-row:1; display:grid; width:40px; height:40px; place-items:center; border-radius:12px; background:#3b3042; }.repertoire-lock small { color:#e8ad44; font-size:.55rem; font-weight:800; letter-spacing:.08em; }.repertoire-lock h2 { margin:0; color:#ffcc58; font-size:1.02rem; line-height:1; }.repertoire-lock p { grid-column:1/-1; margin:10px 0 12px; color:#b5c2d5; font-size:.75rem; line-height:1.28; }.repertoire-lock > button { position:relative; grid-column:1/-1; display:grid; width:100%; min-height:58px; place-content:center; border:2px solid #fff0a6; border-radius:13px; color:#3d2708; background:linear-gradient(#ffdc62,#eda11d); box-shadow:inset 0 3px rgba(255,255,255,.35),0 4px 0 #80510a; }.repertoire-lock > button small { color:#75501d; font-size:.48rem; }.repertoire-lock > button strong { font-size:1rem; }.repertoire-lock > button span { position:absolute; top:50%; right:12px; font-size:1.5rem; transform:translateY(-50%); }
.powerup-list { grid-template-columns:repeat(8,minmax(0,1fr)); gap:3px; }
.powerup-list button { display:grid; min-height:0; padding:0; gap:3px; border:0; border-radius:10px; color:white; background:transparent; place-items:center; outline:none; }
.powerup-list button > span { display:grid; width:100%; aspect-ratio:1; padding:3px; place-items:center; overflow:hidden; border:1px solid #3d5270; border-radius:10px; background:linear-gradient(#1a3150,#0d1d36); box-shadow:inset 0 1px rgba(255,255,255,.08); }
.powerup-list button > span > img { width:100%; height:100%; object-fit:contain; }
.powerup-list button > small { color:#ffbd4c; font-size:.64rem; font-weight:800; line-height:1; }
.powerup-list strong { width:100%; text-overflow:ellipsis; white-space:nowrap; }
.repertoire-lock__icon svg { width:27px; height:27px; fill:#e8ad44; stroke:#fff1ad; stroke-width:2.3; stroke-linecap:round; }
.roster { padding:16px 10px 4px; }
.components-advice { position:relative; margin:12px 10px 0; padding:10px 13px 11px 15px; overflow:hidden; border:1px solid #df9f2c; border-radius:12px; background:linear-gradient(145deg,#372515,#1b2135 72%); box-shadow:inset 4px 0 #f2b63d,0 4px 10px rgba(0,0,0,.25); }
.components-advice[hidden] { display:none; }
.components-advice small,.components-advice strong { display:block; }.components-advice small { color:#f4b943; font-size:.46rem; font-weight:800; letter-spacing:.11em; }.components-advice strong { margin-top:1px; color:#fff3cb; font-size:.7rem; line-height:1.05; }
.components-advice__messages { display:grid; gap:4px; margin-top:7px; }.components-advice__messages > span { display:grid; grid-template-columns:12px minmax(0,1fr); align-items:center; gap:5px; color:#c4cede; font-size:.6rem; line-height:1.2; }.components-advice__messages i { display:grid; width:11px; height:11px; place-items:center; border-radius:3px; color:#f02f49; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.32); font-size:.58rem; font-style:normal; font-weight:900; line-height:1; }
.roster > header { display:flex; align-items:end; justify-content:space-between; padding:0 4px 9px; }
.roster header small { display:block; color:var(--section-accent); font-size:.58rem; font-weight:800; letter-spacing:.1em; }
.roster h2 { margin:0; font-size:1rem; line-height:1; }
.roster header > b { color:#9fb1ca; font-size:.75rem; }
.roster-filters { display:flex; margin:0 0 7px; padding:4px; overflow-x:auto; gap:4px; border:1px solid #284564; border-radius:10px; background:#09182f; scrollbar-width:none; }
.roster-filters::-webkit-scrollbar { display:none; }
.roster-filters button { flex:1 0 34px; min-width:34px; min-height:29px; padding:3px 6px; border:1px solid transparent; border-radius:7px; color:#8298b7; background:transparent; font-size:.5rem; font-weight:800; line-height:1; outline:none; -webkit-tap-highlight-color:transparent; }
.roster-filters button:first-child { flex-basis:52px; }
.roster-filters button[aria-pressed="true"] { border-color:#81e9ff; color:#06253d; background:linear-gradient(#6ee8ff,#31b8df); box-shadow:inset 0 1px rgba(255,255,255,.35),0 2px 0 #08718f; }
.roster-legend,.roster-row { display:grid; grid-template-columns:26px minmax(68px,1.8fr) repeat(10,minmax(18px,.55fr)); align-items:center; gap:1px; }
.roster-legend { min-height:27px; padding:3px 5px; border:1px solid #2a456a; border-radius:8px 8px 0 0; color:#8edfff; background:#142b4d; font-size:clamp(.42rem,1.8vw,.58rem); font-weight:800; text-align:center; }
.roster-legend span:nth-child(2) { padding-left:4px; text-align:left; }
.roster-list { overflow:hidden; border:1px solid #253d61; border-top:0; border-radius:0 0 9px 9px; }
.roster-row { width:100%; min-height:38px; padding:3px 5px; border:0; border-bottom:1px solid #263a59; border-radius:0; color:white; background:#0d203d; text-align:center; }
.roster-row:nth-child(even) { background:#112847; }
.roster-row:last-child { border-bottom:0; }
.roster-row > b { font-size:clamp(.49rem,2.15vw,.67rem); font-weight:700; }
.roster-row > b.is-best { color:#57e4ff; font-weight:800; }
.roster-role { display:grid; width:23px; height:23px; place-items:center; border-radius:5px; background:var(--role-color); box-shadow:inset 0 1px rgba(255,255,255,.25); font-size:.52rem; font-weight:800; }
.roster-name strong,.roster-name small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.roster-name { min-width:0; padding-left:4px; text-align:left; }
.roster-name strong { font-size:clamp(.58rem,2.5vw,.76rem); }.roster-name small { color:#8499b7; font-size:clamp(.38rem,1.55vw,.49rem); font-weight:700; }
.substitutes-grid { display:grid; grid-template-columns:repeat(var(--substitute-columns,6),minmax(0,1fr)); padding:7px; gap:6px; border:1px solid #253d61; border-radius:9px; background:#0d203d; }
.substitute-card { --plate-edge:#a9673f; --plate-accent:#e39151; --plate-glow:rgba(196,105,56,.22); position:relative; min-width:0; overflow:hidden; aspect-ratio:1; padding:0; border:2px solid var(--plate-edge); border-radius:11px; color:#fff; background:linear-gradient(155deg,#253a52 0%,#13243a 54%,#0a1425 100%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 -4px rgba(0,0,0,.28),0 3px 7px rgba(0,0,0,.44),0 0 7px var(--plate-glow); cursor:grab; touch-action:none; }
.substitute-card[hidden] { display:none; }
.substitute-card:active { cursor:grabbing; }
.substitute-card.is-selected { border-color:#64e8ff; box-shadow:inset 0 0 10px rgba(100,232,255,.28),0 0 0 3px rgba(100,232,255,.72),0 5px 10px rgba(0,0,0,.5); }
.substitute-card.is-dragging { opacity:.48; }
.substitute-card.is-drop-target { border-color:#fff; box-shadow:inset 0 0 0 2px #62e6ff,0 0 13px rgba(98,230,255,.9); }
.substitute-card.rarity-silver { --plate-edge:#9caec3; --plate-accent:#e4edf6; --plate-glow:rgba(181,211,239,.24); }
.substitute-card.rarity-gold { --plate-edge:#c89518; --plate-accent:#ffe16a; --plate-glow:rgba(255,197,43,.28); }
.substitute-card.rarity-legend { --plate-edge:#6559ca; --plate-accent:#48dcff; --plate-glow:rgba(104,91,232,.38); }
.substitute-card.is-empty { border-style:dashed; border-color:rgba(167,208,224,.34); background:rgba(8,30,54,.48); box-shadow:inset 0 0 18px rgba(0,0,0,.25); cursor:default; }
.substitute-card > img { position:absolute; z-index:1; top:-26%; left:-18%; width:136%; height:142%; object-fit:contain; object-position:center top; pointer-events:none; }
.substitute-card.is-empty > img { opacity:.35; filter:grayscale(1) brightness(.92); }
.substitute-card__score { position:absolute; z-index:4; right:3%; bottom:17%; color:var(--plate-accent,#e39151); font-size:clamp(.78rem,3.15vw,1.1rem); line-height:.9; letter-spacing:-.05em; -webkit-text-stroke:2px #030711; paint-order:stroke fill; text-shadow:-1px -1px 0 #030711,1px -1px 0 #030711,-1px 1px 0 #030711,1px 1px 0 #030711,0 2px 2px rgba(0,0,0,.72); }
.substitute-card__footer { position:absolute; z-index:3; right:0; bottom:0; left:0; display:flex; min-height:17%; padding:2px 3px; overflow:visible; align-items:center; justify-content:center; border-top:1px solid rgba(255,255,255,.25); background:rgba(4,14,34,.94); font-size:clamp(.36rem,1.45vw,.52rem); line-height:1; text-transform:uppercase; white-space:nowrap; }
.substitute-card__footer > b { position:absolute; bottom:100%; left:2%; padding:2px 9px 2px 2px; background:var(--role-color,#338ef0); clip-path:polygon(0 0,78% 0,100% 100%,0 100%); font-size:clamp(.52rem,2.1vw,.8rem); line-height:.9; text-shadow:-1px -1px 0 #07101f,0 -1px 0 #07101f,1px -1px 0 #07101f,-1px 0 0 #07101f,1px 0 0 #07101f,-1px 1px 0 #07101f,0 1px 0 #07101f,1px 1px 0 #07101f; }
.substitute-card__footer > span { display:block; width:100%; min-width:0; max-width:100%; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.substitute-card.rarity-bronze .substitute-card__footer > span{color:#f0d2bd}
.substitute-card.rarity-silver .substitute-card__footer > span{color:#eef6ff}
.substitute-card.rarity-gold .substitute-card__footer > span{color:#fff1b8}
.substitute-card.rarity-legend .substitute-card__footer > span{color:#eadcff}
.substitute-card.is-author .substitute-card__footer > span { color:#86e5ff; }
.components-feedback { min-height:34px; margin:0; padding:7px 14px 18px; color:#8fa5c3; font-size:.7rem; text-align:center; }
.components-selection-menu { position:absolute; z-index:40; right:18px; bottom:max(14px,env(safe-area-inset-bottom)); left:18px; padding:8px; border:2px solid #6ce7ff; border-radius:17px; background:linear-gradient(145deg,rgba(14,48,82,.98),rgba(5,18,43,.99)); box-shadow:inset 0 1px rgba(255,255,255,.18),0 5px 0 #062d4b,0 12px 28px rgba(0,0,0,.55); }
.components-selection-menu[hidden] { display:none; }
.components-selection-menu > strong { display:block; overflow:hidden; padding:1px 5px 6px; color:#a7eefe; font-size:.58rem; letter-spacing:.1em; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.components-selection-menu > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.components-selection-menu button { min-height:44px; border:1px solid #9cedff; border-radius:11px; color:#06233a; background:linear-gradient(#70e8ff,#31b6df); box-shadow:inset 0 2px rgba(255,255,255,.35),0 3px 0 #08708f; font-size:.65rem; font-weight:800; }
.components-selection-menu button[data-component-action="expel"] { border-color:#ff9cab; color:#fff; background:linear-gradient(#f06476,#bd2943); box-shadow:inset 0 2px rgba(255,255,255,.22),0 3px 0 #71162a; }
.components-selection-menu button:disabled { opacity:.38; filter:grayscale(.7); }
.components-selection-menu button.is-confirming { color:#fff; background:linear-gradient(#ff9c43,#db4c25); box-shadow:inset 0 2px rgba(255,255,255,.22),0 3px 0 #7d2613; }
.component-profile .subsection-header { border-bottom-color:rgba(98,223,255,.48); background:linear-gradient(135deg,#0c5276,#143867 62%,#29245d); }
.component-profile .subsection-header::after { background:#62dfff; box-shadow:0 0 10px #62dfff; }
.component-profile .subsection-header button { border-color:#acf0ff; background:linear-gradient(#52d9f5,#1689c5); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #075078; }
.component-profile[data-quality="bronze"] [data-component-field="name"]{color:#f0d2bd}
.component-profile[data-quality="silver"] [data-component-field="name"]{color:#eef6ff}
.component-profile[data-quality="gold"] [data-component-field="name"]{color:#fff1b8}
.component-profile[data-quality="legend"] [data-component-field="name"]{color:#eadcff}
.component-profile__stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:16px; }
.component-profile__stats div { padding:12px; border:1px solid #315476; border-radius:12px; background:#0c203e; }
.component-profile__stats small,.component-profile__stats strong { display:block; }.component-profile__stats small { color:#81dff4; font-size:.5rem; font-weight:800; letter-spacing:.09em; }.component-profile__stats strong { margin-top:3px; font-size:.82rem; }
@media(max-width:370px){.section-screen{padding-inline:4px}.section-header{grid-template-columns:43px 1fr auto;padding-inline:8px}.roster{padding-inline:5px}.roster-legend,.roster-row{grid-template-columns:24px minmax(62px,1.8fr) repeat(10,minmax(17px,.52fr))}.components-stage{height:230px}}
.subsection-screen { display:grid; place-items:center; padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom)); }
.subsection-panel { width:min(100%,620px); height:min(92dvh,760px); overflow:hidden; border:2px solid #ffd45b; border-radius:22px; color:white; background:linear-gradient(180deg,#101d3c,#071027); box-shadow:0 0 0 4px rgba(5,12,31,.88),0 24px 80px rgba(0,0,0,.72); }
.subsection-header { position:relative; display:grid; grid-template-columns:48px 1fr; align-items:center; gap:10px; min-height:78px; padding:10px 14px; border-bottom:1px solid rgba(255,211,79,.4); background:linear-gradient(135deg,#714018,#3c2856 64%,#172452); }
.subsection-header::after { content:""; position:absolute; right:20%; bottom:0; left:20%; height:2px; background:#ffd34f; box-shadow:0 0 10px #ffd34f; }
.subsection-header button { width:44px; height:44px; padding:0 0 4px; border:2px solid #ffe899; border-radius:14px; color:white; background:linear-gradient(#ffc94d,#d77a12); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #683a08; font:800 2rem/1 "Baloo 2",sans-serif; outline:none; }
.subsection-header small,.subsection-header h1 { display:block; margin:0; }.subsection-header small { color:#d9ba83; font-size:.58rem; font-weight:800; letter-spacing:.12em; }.subsection-header h1 { font-size:clamp(1.25rem,6vw,1.75rem); line-height:.95; text-transform:uppercase; }
.subsection-content { min-height:calc(100% - 78px); }
.section-screen--costumes { --section-accent:#c56aff; --section-accent-rgb:197,106,255; }
.section-screen--costumes .section-header { background:linear-gradient(135deg,#6c278f,#3d266f 62%,#152454); }
.section-screen--costumes .section-back { border-color:#e7b4ff; background:linear-gradient(#c968f0,#783ab4); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #3c1761; }
.costumes-shop { position:relative; width:100%; aspect-ratio:900/394; min-height:175px; max-height:335px; overflow:hidden; border-bottom:2px solid #c56aff; background:#382016; }
.costumes-shop > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.costumes-shop__background { z-index:0; }
.costumes-shop__foreground { z-index:3; pointer-events:none; }
.character-speech--costumes { z-index:5; right:auto; bottom:7%; left:4%; max-width:63%; }
.character-speech--costumes::before { top:50%; right:-12px; width:14px; height:18px; border:0; background:#eef5fb; clip-path:polygon(0 0,100% 50%,0 100%); filter:drop-shadow(2px 0 0 #19345d); transform:translateY(-50%); }
.costume-season-setup { padding:16px; color:#fff; background:linear-gradient(180deg,#151b38,#0a1129); }
.costume-season-setup[hidden],.costume-powerups[hidden],.repertoire-content .powerups[hidden],.rehearsal-powerups[hidden] { display:none; }
.costume-season-setup > header { margin-bottom:13px; text-align:center; }
.costume-season-setup > header small { color:#aa43dd; font-size:.58rem; font-weight:900; letter-spacing:.1em; }
.costume-season-setup > header h2 { margin:2px 0; font-size:1.12rem; }
.costume-season-setup > header p { margin:0; color:#718097; font-size:.66rem; }
.costume-season-identity { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.costume-group-name { grid-column:1/-1; display:block; padding:11px; border:1px solid #614278; border-radius:14px; background:linear-gradient(145deg,#282044,#17182f); }
.costume-group-name > small { display:block; margin-bottom:5px; color:#d991fa; font-size:.58rem; font-weight:900; letter-spacing:.07em; }
.costume-group-name input {
  display:block;
  width:100%;
  min-height:46px;
  padding:8px 12px;
  border:2px solid #d58df4;
  border-radius:10px;
  color:#fff;
  background:#0c142b;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.4);
  font:800 .82rem/1 "Baloo 2",sans-serif;
}
.costume-group-name input::placeholder { color:#7e88a5; }
.costume-choice-group { grid-column:1/-1; min-width:0; margin:0; padding:9px; border:1px solid #3c496c; border-radius:14px; background:#111b36; }
.costume-choice-group legend,.costume-type-picker > legend { padding:0 4px; color:#78dffc; font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.costume-choice-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.costume-choice-options--gender { grid-template-columns:repeat(3,minmax(0,1fr)); }
.costume-choice-options label { min-width:0; cursor:pointer; }
.costume-choice-options input { position:absolute; width:1px; height:1px; opacity:0; }
.costume-choice-options span { display:grid; min-height:43px; padding:5px; place-content:center; border:2px solid #344666; border-radius:10px; color:#aab5ca; background:linear-gradient(#243250,#18243f); font-size:clamp(.72rem,3vw,.9rem); font-weight:900; text-align:center; }
.costume-choice-options:not(.costume-choice-options--gender) span { min-height:48px; }
.costume-choice-options span small { display:block; color:#78849b; font-size:.38rem; }
.costume-choice-options [data-modality-lock][hidden] { display:none; }
.costume-choice-options input:checked + span { border-color:#8ce8ff; color:#06263e; background:linear-gradient(#73e8ff,#38b9df); box-shadow:0 3px 0 #147c9e,0 0 12px rgba(82,212,246,.3); }
.costume-choice-options .is-locked { opacity:.38; cursor:default; }
.costume-type-picker { grid-column:1/-1; min-width:0; margin:0; padding:0; border:0; }
.costume-type-picker > legend { margin-bottom:7px; }
.costume-type-picker > select { display:block; width:100%; min-height:45px; margin-bottom:10px; padding:8px 36px 8px 12px; border:2px solid #4d5d83; border-radius:11px; color:#fff; background:#162541; box-shadow:inset 0 2px 5px rgba(0,0,0,.32),0 3px 0 #080e21; font:900 16px/1 "Baloo 2",sans-serif; appearance:none; background-image:linear-gradient(45deg,transparent 50%,#72def9 50%),linear-gradient(135deg,#72def9 50%,transparent 50%); background-position:calc(100% - 17px) 18px,calc(100% - 11px) 18px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.costume-type-picker > select:valid { border-color:#72def9; }
.costume-proposals { display:grid; gap:12px; }
.costume-proposals > p { margin:5px 0 2px; padding:12px; border:1px dashed #465573; border-radius:11px; color:#8492aa; background:#101a31; font-size:.58rem; font-weight:800; text-align:center; }
.costume-proposals > section { position:relative; padding:8px; border:2px solid var(--costume-tier-border,#3b496b); border-radius:14px; background:linear-gradient(160deg,var(--costume-tier-bg,#172340),#0e1730 62%); box-shadow:inset 0 1px rgba(255,255,255,.08),0 5px 13px rgba(0,0,0,.28); }
.costume-proposals__group--bronze { --costume-tier:#e58a49; --costume-tier-dark:#71351f; --costume-tier-border:#a85b34; --costume-tier-bg:#342119; }
.costume-proposals__group--silver { --costume-tier:#dce9f7; --costume-tier-dark:#53677e; --costume-tier-border:#92a9bf; --costume-tier-bg:#25354a; }
.costume-proposals__group--gold { --costume-tier:#ffe265; --costume-tier-dark:#9a5d09; --costume-tier-border:#dba919; --costume-tier-bg:#3d3014; }
.costume-proposals__tier { display:grid; grid-template-columns:auto 1fr auto; min-height:39px; margin-bottom:8px; padding:5px 7px; align-items:center; gap:7px; border:1px solid var(--costume-tier); border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--costume-tier-dark),rgba(5,13,30,.92)); box-shadow:inset 0 1px rgba(255,255,255,.16); }
.costume-proposals__medal { min-width:50px; padding:4px 6px; border:1px solid var(--costume-tier); border-radius:7px; color:#17120b; background:var(--costume-tier); box-shadow:inset 0 1px rgba(255,255,255,.55),0 2px 0 var(--costume-tier-dark); font-size:.48rem; font-weight:900; line-height:1; text-align:center; }
.costume-proposals__tier-copy { display:grid; min-width:0; line-height:1; }
.costume-proposals__tier-copy strong { font-size:.6rem; letter-spacing:.04em; }
.costume-proposals__tier-copy small { margin-top:3px; color:var(--costume-tier); font-size:.49rem; font-weight:900; }
.costume-proposals__tier-price { display:flex; min-width:56px; align-items:center; justify-content:flex-end; gap:4px; color:#fff; }
.costume-proposals__tier-price b { font-size:.67rem; line-height:1; }
.costume-proposals__tier-price img { width:19px; height:19px; object-fit:contain; filter:drop-shadow(0 1px 1px rgba(0,0,0,.35)); }
.costume-proposals section > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.costume-proposal { display:block; min-width:0; cursor:pointer; }
.costume-proposal input { position:absolute; width:1px; height:1px; opacity:0; }
.costume-proposal > span { display:block; overflow:hidden; border:3px solid var(--costume-tier-border,#3a4b6c); border-radius:12px; background:#17223e; box-shadow:0 3px 0 #060c1d; }
.costume-proposal img { display:block; width:100%; aspect-ratio:4/3; box-sizing:border-box; padding:10px; object-fit:contain; background:radial-gradient(circle at 50% 35%,#31466b,#111a32 72%); }
.costume-proposal__preview { position:relative; display:block; overflow:hidden; background:radial-gradient(circle at 50% 35%,#31466b,#111a32 72%); }
.costume-proposal__preview img { transition:opacity .16s ease; }
.costume-proposal__preview.is-loading img,.costume-proposal__preview.has-error img { opacity:0; }
.costume-proposal__preview.is-loading::before { content:""; position:absolute; inset:0; background:linear-gradient(105deg,#17223e 35%,#354d75 48%,#17223e 61%); background-size:220% 100%; animation:costumeCatalogLoading 1.15s linear infinite; }
.costume-proposal__image-status { position:absolute; inset:0; display:grid; place-items:center; padding:8px; color:#c1cee5; font-size:.55rem; font-weight:900; text-align:center; }
.costume-proposal__image-status[hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .costume-proposal__preview.is-loading::before { animation:none; } }
.costume-proposal__meta { display:flex; min-height:31px; padding:5px 5px 6px; align-items:center; justify-content:center; gap:4px; }.costume-proposal strong { display:block; min-width:0; overflow:hidden; color:#e6ecf7; font-size:.54rem; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.costume-proposal input:checked + span { border-color:#fff3b0; background:#402458; box-shadow:0 3px 0 var(--costume-tier-dark,#74299a),0 0 16px var(--costume-tier,#d25cff); }
.costume-season-setup__status { min-height:20px; margin:11px 0 6px; color:#e3b0ff; font-size:.63rem; font-weight:900; text-align:center; }
.section-screen--costumes .section-panel{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
.costume-season-actions,.general-rehearsal__actions{position:fixed;z-index:40;right:0;bottom:0;left:50%;width:min(calc(100% - 20px),660px);padding:11px 8px max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(197,106,255,.55);background:linear-gradient(180deg,rgba(7,15,35,.96),#071026 28%);box-shadow:0 -9px 22px rgba(0,0,0,.38);transform:translateX(-50%)}
.costume-season-actions[hidden]{display:none}
.costume-season-actions > button {
  width:100%; min-height:50px; border:2px solid #efb3ff; border-radius:13px; color:#fff;
  background:linear-gradient(#ca62f0,#8c36bc); box-shadow:0 4px 0 #5d207f; font:900 .76rem/1 "Baloo 2",sans-serif;
}
.costume-season-actions > button:disabled { opacity:.5; }
.costume-formation {margin:0;padding:0;border:0;border-radius:0;box-shadow:none;}
.costume-formation[hidden] {display:none;}
.costume-formation__stage {isolation:isolate;--stage-border-color:var(--section-accent);}
.costume-formation__identity {position:absolute;z-index:8;bottom:8px;left:8px;max-width:calc(100% - 16px);padding:4px 9px;border:1px solid #d4b56e;border-radius:7px;background:#102139ed;color:#ffedb6;font-size:11px;font-weight:900;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.costume-formation>p {padding:10px 14px;margin:0;color:#dce6f7;font-size:14px;}
.costume-powerups { padding-top:16px; padding-bottom:18px; }
.costume-powerups > header { align-items:center; }
.costume-powerups header small { color:#d993ff; }
.costume-powerups header button { color:#dca0ff; }
.costume-powerups .powerup-list button > span { border-color:#68427e; background:radial-gradient(circle at 50% 35%,#3d2856,#18152e 72%); box-shadow:inset 0 1px rgba(255,255,255,.12),0 3px 8px rgba(0,0,0,.22); }
.costume-powerups .powerup-list button > small { color:#dc9cff; }
.costume-powerups__feedback { min-height:22px; margin:0; padding-top:7px; color:#9989ae; font-size:.62rem; text-align:center; }
.costume-map-entry { position:relative; display:grid; width:calc(100% - 32px); min-height:58px; margin:16px 16px 10px; padding:9px 52px 9px 14px; place-content:center; border:2px solid #9beaff; border-radius:14px; color:#fff; background:linear-gradient(145deg,#248dc0,#1e5d9c 62%,#263978); box-shadow:inset 0 3px rgba(255,255,255,.2),inset 0 -5px rgba(0,0,0,.16),0 4px 0 #12385f,0 8px 16px rgba(0,0,0,.28); font-family:"Baloo 2",sans-serif; text-align:center; cursor:pointer; }
.costume-map-entry small,.costume-map-entry strong { display:block; }.costume-map-entry small { color:#bcefff; font-size:.48rem; font-weight:900; letter-spacing:.1em; }.costume-map-entry strong { margin-top:2px; font-size:.9rem; line-height:1; }.costume-map-entry > span { position:absolute; top:50%; right:13px; color:#fff; font-size:1.8rem; font-weight:900; line-height:1; transform:translateY(-54%); }
.cadiz-map-viewer { width:100dvw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; background:#08111b; }
.cadiz-map-viewer::backdrop { background:#08111b; }
.cadiz-map-viewer__frame { display:block; width:100%; height:100%; border:0; background:#08111b; }
.cadiz-map-viewer__loading { position:fixed; z-index:5; inset:0; display:grid; place-items:center; background:rgba(3,9,27,.94); backdrop-filter:blur(5px); }
.cadiz-map-viewer__loading .game-loader__card { width:min(78vw,330px); }
.cadiz-map-viewer__parade-title { position:fixed; z-index:2; top:max(7px,env(safe-area-inset-top)); right:0; left:0; width:min(330px,72vw); height:92px; margin-inline:auto; object-fit:contain; object-position:center; pointer-events:none; transform-origin:50% 55%; filter:drop-shadow(0 5px 5px rgba(0,0,0,.52)); animation:cadizParadeDrop .85s cubic-bezier(.2,.85,.28,1.15) both,cadizParadeClamor 1.8s .9s ease-in-out infinite; }
.cadiz-map-viewer__phase { position:fixed; z-index:2; top:max(88px,calc(env(safe-area-inset-top) + 81px)); right:0; left:0; display:block; width:max-content; max-width:80vw; margin-inline:auto; padding:5px 15px 3px; border:1px solid rgba(255,224,117,.75); border-radius:999px; color:#fff3bd; background:rgba(15,18,45,.82); box-shadow:0 4px 9px rgba(0,0,0,.42); font:700 clamp(.62rem,2.6vw,.82rem)/1.25 "Baloo 2",sans-serif; letter-spacing:.12em; text-align:center; pointer-events:none; animation:cadizPhaseAppear .45s .55s ease-out both; }
@keyframes cadizParadeDrop { 0% { opacity:0; transform:translateY(-70px) scale(.86); } 68% { opacity:1; transform:translateY(3px) scale(1.02); } 84% { transform:translateY(-2px) scale(.99); } 100% { opacity:1; transform:none; } }
@keyframes cadizParadeClamor { 0%,100% { transform:rotate(-1deg) scale(1); } 18% { transform:rotate(1.2deg) scale(1.025); } 34% { transform:rotate(-.6deg) scale(.99); } 52% { transform:rotate(1deg) scale(1.018); } 70% { transform:rotate(-1.1deg) scale(1.005); } 84% { transform:rotate(.55deg) scale(1.015); } }
@keyframes cadizPhaseAppear { from { opacity:0; transform:translateY(-8px) scale(.92); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce){.cadiz-map-viewer__parade-title,.cadiz-map-viewer__phase{animation:none}}
@media(max-width:520px){
  .costume-proposals section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible;padding:0}
  .costume-proposal img{aspect-ratio:1/1;padding:5px;transform:scale(1.12)}
  .costume-proposal strong{font-size:.54rem}
}
.section-screen--rehearsals { --section-accent:#62dc76; --section-accent-rgb:98,220,118; }
.section-screen--rehearsals .section-header { background:linear-gradient(135deg,#195a4f,#173d55 60%,#182653); }
.section-screen--rehearsals .section-back { border-color:#b5f6bd; background:linear-gradient(#64dd7c,#249958); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #10552e; }
.section-screen--rehearsals .rehearsal-actions { min-width:0; padding:0; gap:5px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.section-screen--rehearsals .rehearsal-actions strong { color:#d8ffe0; font-size:1rem; line-height:1; text-shadow:0 2px 2px rgba(0,0,0,.55); }
.section-screen--rehearsals .rehearsal-actions small { color:#9cf2aa; font-weight:900; letter-spacing:.05em; }
.section-screen--rehearsals .section-energy > img,
.rehearsal-tabs button[aria-selected="true"] { border-color:#c2fac8; background:linear-gradient(#82ec91,#4bc667); box-shadow:inset 0 2px rgba(255,255,255,.45),0 3px 0 #247d3d; }
.section-screen--rehearsals .rehearsal-actions > img { width:32px; height:32px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.rehearsal-stage,.costume-formation__stage,.backdrop-preview__stage { width:100%; aspect-ratio:748/434; height:auto; min-height:0; max-height:none; }
.rehearsal-stage,.costume-formation__stage { position:relative; overflow:hidden; border-block:2px solid var(--stage-border-color,#62dc76); background:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/falla-stage-open.jpg") center/cover no-repeat; }.rehearsal-stage > div,.costume-formation__cast,.backdrop-preview__cast { position:absolute; inset:0 2% 10px; }.rehearsal-stage > div img,.costume-formation__cast img,.backdrop-preview__cast img { position:absolute; z-index:var(--z); top:var(--y); left:50%; width:28%; height:64%; object-fit:contain; object-position:center bottom; transform:translateX(var(--offset)); }
.costume-formation__stage { border-top:0; }
.costume-formation__background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.rehearsal-stage > div img.is-empty { opacity:.35; filter:grayscale(1); }
.rehearsal-stage__curtain { position:absolute; z-index:20; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; cursor:pointer; transform:translateY(0); transition:transform 4.5s cubic-bezier(.65,0,.35,1); will-change:transform; }
.rehearsal-stage.is-curtain-opening .rehearsal-stage__curtain { transform:translateY(-101%); }
.component-aura { background-repeat:no-repeat; background-size:110%; background-position:center bottom -10px; }
.component-aura--blue { background-image:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/aura-blue.gif"); }
.component-aura--green { background-image:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/aura-green.gif"); }
.component-aura--yellow { background-image:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/aura-yellow.gif"); }
.component-aura--purple { background-image:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/aura-purple.gif"); }
.rehearsal-powerups { padding-top:7px; }.rehearsal-powerups .powerup-list button > small { color:#72df84; }
.rehearsal-progress { padding:10px 10px 18px; }.rehearsal-progress > header { padding:0 3px 9px; }.rehearsal-progress header small { display:block; color:#70df83; font-size:.55rem; font-weight:800; letter-spacing:.1em; }.rehearsal-progress h2 { margin:0; font-size:1.05rem; line-height:1; }.rehearsal-selection-help { margin:0 3px 8px; padding:6px 8px; border:1px solid rgba(112,223,131,.4); border-radius:8px; color:#caffd2; background:rgba(29,92,54,.34); font-size:.54rem; font-weight:900; letter-spacing:.055em; text-align:center; }.rehearsal-piece-list { display:grid; gap:6px; }.rehearsal-piece-block { overflow:hidden; border:1px solid #3c5875; border-radius:12px; background:#10243f; }.rehearsal-piece-block h3 { margin:0; padding:7px 9px 5px; color:#70df83; background:#162d49; font-size:.66rem; letter-spacing:.08em; }.rehearsal-piece-block > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; padding:1px; background:#263e59; }.rehearsal-piece { display:grid; grid-template-columns:minmax(72px,.8fr) minmax(44px,1.5fr) 31px; align-items:center; gap:5px; width:100%; min-height:38px; padding:5px 7px; border:1px solid #3c5875; border-radius:10px; color:white; background:#10243f; font:inherit; text-align:left; appearance:none; }.rehearsal-piece.is-missing { opacity:.48; }.rehearsal-piece-block .rehearsal-piece { grid-template-columns:minmax(59px,.9fr) minmax(24px,1fr) 29px; grid-template-rows:9px 14px; align-content:center; column-gap:5px; row-gap:0; min-height:32px; padding:3px 5px; border:0; border-radius:0; }.rehearsal-piece.is-trainable { position:relative; z-index:1; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(112,223,131,.42); }.rehearsal-piece.is-trainable::after { content:"+25"; position:absolute; top:2px; right:3px; color:#d6ffdc; font-size:.42rem; font-weight:900; text-shadow:0 1px 2px #06140b; }.rehearsal-piece.is-selected { z-index:2; background:#194b37; box-shadow:inset 0 0 0 2px #7ff292,0 0 10px rgba(87,229,113,.55); }.rehearsal-piece.is-just-trained { animation:rehearsalPieceGain .8s ease-out; }.rehearsal-piece > strong { font-size:.65rem; }.rehearsal-piece-block .rehearsal-piece > strong { align-self:center; font-size:.52rem; line-height:1; white-space:nowrap; }.rehearsal-piece__title { grid-column:1/-1; align-self:end; overflow:hidden; color:#63ddff; font-size:.43rem; font-weight:800; line-height:8px; text-overflow:ellipsis; white-space:nowrap; }.rehearsal-piece i { height:8px; overflow:hidden; border-radius:8px; background:#030a15; }.rehearsal-piece i b { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#46c766,#8af29a); transition:width .35s ease; }.rehearsal-piece em { color:#73df85; font-size:.57rem; font-style:normal; font-weight:800; text-align:right; }.rehearsal-action-bar { position:sticky; z-index:8; bottom:8px; display:flex; margin-top:10px; padding:7px 8px; align-items:center; justify-content:space-between; gap:9px; border:1px solid #65df79; border-radius:12px; background:rgba(7,31,27,.96); box-shadow:0 6px 18px rgba(0,0,0,.42); }.rehearsal-action-bar > span { display:grid; }.rehearsal-action-bar small { color:#83e592; font-size:.43rem; font-weight:900; letter-spacing:.08em; }.rehearsal-action-bar strong { color:#fff; font-size:.58rem; }.rehearsal-action-bar button { min-width:105px; padding:8px 10px 6px; border:2px solid #b9f7c2; border-radius:9px; color:#08351a; background:linear-gradient(#7bed8e,#32b85c); box-shadow:inset 0 2px rgba(255,255,255,.35),0 3px 0 #176b36; font:900 .62rem/1 "Baloo 2",sans-serif; }.rehearsal-action-bar button b { margin-left:4px; }.rehearsal-action-bar button:disabled { opacity:.38; filter:grayscale(.7); box-shadow:none; }.rehearsal-selection-help[hidden],.rehearsal-action-bar[hidden] { display:none; }@keyframes rehearsalPieceGain { 0% { filter:brightness(1); } 35% { filter:brightness(1.75); transform:scale(1.035); } 100% { filter:brightness(1); transform:none; } }
@media(max-width:520px){.rehearsal-piece-block > div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rehearsal-local { padding:18px 12px 28px; text-align:center; }.rehearsal-local > header small,.rehearsal-local > header h2 { display:block; margin:0; }.rehearsal-local > header small { color:#72df84; font-size:.5rem; font-weight:900; letter-spacing:.12em; }.rehearsal-local > header h2 { color:#fff; font-size:1.2rem; line-height:1; }.rehearsal-local figure { margin:13px 0 0; overflow:hidden; border:2px solid #67df7b; border-radius:17px; background:#10283a; box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 0 #15552b,0 11px 22px rgba(0,0,0,.32); }.rehearsal-local figure > img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }.rehearsal-local figcaption { display:flex; min-height:56px; padding:8px 12px; align-items:center; justify-content:space-between; gap:12px; text-align:left; }.rehearsal-local figcaption span small,.rehearsal-local figcaption span strong { display:block; }.rehearsal-local figcaption span small { color:#7ee28e; font-size:.44rem; font-weight:900; letter-spacing:.1em; }.rehearsal-local figcaption span strong { color:#fff; font-size:.82rem; }.rehearsal-local figcaption > b { padding:5px 10px; border:1px solid #93f3a2; border-radius:999px; color:#0b3520; background:#71dd84; font-size:.5rem; letter-spacing:.07em; }.rehearsal-local > p { margin:14px 8px 0; color:#9fb0c5; font-size:.68rem; }
.rehearsal-local-collection { margin-top:22px; padding-top:15px; border-top:1px solid rgba(114,223,132,.25); text-align:left; }.rehearsal-local-collection > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:0 3px 10px; }.rehearsal-local-collection header small,.rehearsal-local-collection header h3 { display:block; margin:0; }.rehearsal-local-collection header small { color:#72df84; font-size:.48rem; font-weight:900; letter-spacing:.11em; }.rehearsal-local-collection header h3 { color:#fff; font-size:1rem; line-height:1; }.rehearsal-local-collection header > b { color:#8de99c; font-size:.7rem; }.rehearsal-local-collection > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.rehearsal-local-card { position:relative; display:grid; overflow:hidden; border:1px solid #355772; border-radius:13px; background:#10243d; box-shadow:0 4px 0 #071426; }.rehearsal-local-card.is-current { border:2px solid #72df84; box-shadow:0 4px 0 #15552b,0 0 14px rgba(92,220,116,.22); }.rehearsal-local-card > img { display:block; width:100%; aspect-ratio:200/94; object-fit:cover; }.rehearsal-local-card > span { display:grid; min-width:0; padding:7px 9px 8px; }.rehearsal-local-card span small { color:#74df87; font-size:.42rem; font-weight:900; letter-spacing:.08em; }.rehearsal-local-card span strong { overflow:hidden; color:#fff; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.rehearsal-local-card > b { position:absolute; top:7px; right:7px; padding:3px 6px; border:1px solid #a8f6b4; border-radius:999px; color:#0a3d20; background:#72df84; font-size:.4rem; letter-spacing:.06em; }

.rehearsal-planner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 0 10px; }
.rehearsal-planner button { position:relative; min-height:48px; padding:8px; border:2px solid #526578; border-radius:12px; color:#8794a4; background:linear-gradient(#3e4854,#252d37); box-shadow:inset 0 2px rgba(255,255,255,.12),0 4px 0 #111821; font:900 .72rem/1 "Baloo 2",sans-serif; letter-spacing:.035em; }
.rehearsal-planner button.is-available { border-color:#fff0a6; color:#4a2b05; background:linear-gradient(#ffdf68,#f1a51c); box-shadow:inset 0 3px rgba(255,255,255,.42),inset 0 -5px rgba(151,82,0,.2),0 4px 0 #80510a,0 0 15px rgba(255,190,50,.38); cursor:pointer; }
.rehearsal-planner button.is-rehearsal-prompt { z-index:2; overflow:visible; animation:rehearsalFirstPrompt 1.35s ease-in-out infinite; }
.rehearsal-planner button.is-rehearsal-prompt::after { content:"ENSAYAR"; position:absolute; z-index:3; top:-10px; left:50%; min-width:76px; padding:4px 8px 3px; border:2px solid #fff3a0; border-radius:999px; color:#542600; background:linear-gradient(#ffe766,#ffae22); box-shadow:0 3px 0 #a94b08,0 5px 10px rgba(0,0,0,.38); font:900 clamp(.45rem,1.8vw,.58rem)/1 "Baloo 2",sans-serif; letter-spacing:.06em; text-align:center; text-shadow:0 1px rgba(255,255,255,.55); transform:translateX(-50%); pointer-events:none; }
@keyframes rehearsalFirstPrompt { 0%,100% { filter:none; transform:scale(1); } 50% { filter:brightness(1.12); transform:scale(1.025); } }
.rehearsal-planner button:disabled { opacity:.46; }
.rehearsal-progress > header.rehearsal-progress__results { margin-top:15px; padding:14px 3px 9px; border-top:1px solid rgba(112,223,131,.25); }
.rehearsal-picker[hidden] { display:none; }
.rehearsal-picker { position:fixed; z-index:1200; inset:0; display:grid; padding:18px; place-items:center; background:rgba(1,7,18,.82); backdrop-filter:blur(3px); }
.rehearsal-picker > section { display:grid; width:min(430px,100%); max-height:min(720px,88vh); overflow:hidden; border:3px solid #65df79; border-radius:20px; color:#fff; background:linear-gradient(160deg,#12324a,#08172b 72%); box-shadow:0 9px 0 #07111e,0 18px 45px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.16); }
.rehearsal-picker > section > header { display:flex; padding:14px 14px 10px; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(101,223,121,.25); }
.rehearsal-picker header small,.rehearsal-picker header h2 { display:block; margin:0; }.rehearsal-picker header small { color:#72df84; font-size:.46rem; font-weight:900; letter-spacing:.1em; }.rehearsal-picker header h2 { font-size:1rem; line-height:1; }
.rehearsal-picker [data-rehearsal-picker-close] { display:grid; width:38px; height:38px; padding:0 0 2px; place-items:center; border:2px solid #bdf7c6; border-radius:11px; color:#07351a; background:linear-gradient(#79e98e,#37b85b); box-shadow:0 3px 0 #176c35; font:900 1.3rem/1 sans-serif; text-align:center; }
.rehearsal-picker > section > p { margin:10px 14px 8px; color:#c5d2e1; font-size:.65rem; line-height:1.25; }
.rehearsal-picker [data-rehearsal-picker-list] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:3px 14px 14px; overflow:auto; }
.rehearsal-picker [data-rehearsal-picker-list].is-single-piece { grid-template-columns:minmax(0,1fr); }
.rehearsal-picker [data-picker-piece] { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:5px; min-height:60px; padding:8px; align-items:center; border:2px solid #425d76; border-radius:11px; color:#fff; background:#102641; box-shadow:0 3px 0 #071426; font:inherit; text-align:left; }
.rehearsal-picker [data-picker-piece].is-selected { border-color:#aef5b9; background:#19533a; box-shadow:0 3px 0 #0d3923,0 0 13px rgba(87,229,113,.38); }
.rehearsal-picker [data-picker-piece].is-complete { opacity:.45; cursor:default; }
.rehearsal-picker [data-picker-piece] strong { min-width:0; overflow:hidden; font-size:.72rem; line-height:1; text-overflow:ellipsis; white-space:nowrap; }.rehearsal-picker__writing-score { position:absolute; top:5px; right:5px; display:flex; width:23px; height:23px; padding:0; align-items:center; justify-content:center; border:1px solid #ffe989; border-radius:5px; color:#fff4b2; background:linear-gradient(155deg,#c89520,#76500b); box-shadow:inset 0 1px rgba(255,255,255,.28),0 2px 0 #3d2905; font-size:.58rem; line-height:1; text-shadow:0 1px #442c00; }.rehearsal-picker__piece-title { grid-column:1/-1; overflow:hidden; color:#69dfff; font-size:.48rem; font-weight:800; line-height:1; text-overflow:ellipsis; white-space:nowrap; }.rehearsal-picker [data-picker-piece] > span { height:7px; overflow:hidden; border-radius:8px; background:#030a15; }.rehearsal-picker [data-picker-piece] > span i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#46c766,#8af29a); }.rehearsal-picker [data-picker-piece] > em { color:#76e38a; font-size:.58rem; font-style:normal; font-weight:900; text-align:right; }
.rehearsal-picker footer { display:flex; min-height:68px; padding:10px 14px 13px; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid rgba(101,223,121,.25); background:#09182b; }.rehearsal-picker footer > span { max-width:52%; color:#91e99f; font-size:.53rem; font-weight:900; line-height:1.15; }.rehearsal-picker footer button { display:inline-flex; min-width:125px; min-height:38px; padding:7px 10px; align-items:center; justify-content:center; gap:6px; border:2px solid #baf7c3; border-radius:10px; color:#07351a; background:linear-gradient(#80ed92,#3fc363); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #176c35; font:900 .68rem/1 "Baloo 2",sans-serif; }.rehearsal-picker footer button b { display:inline-flex; margin:0; align-items:center; justify-content:center; gap:2px; line-height:1; }.rehearsal-picker footer button b img { display:block; width:18px; height:18px; flex:0 0 18px; object-fit:contain; }.rehearsal-picker footer button b span { display:block; font-size:.65rem; line-height:1; }.rehearsal-picker footer button:disabled { opacity:.4; filter:grayscale(.8); box-shadow:none; }
.rehearsal-picker [data-picker-piece] > .rehearsal-picker__progress { position:relative; grid-column:1/-1; display:block; height:15px; overflow:hidden; border:1px solid #4d805c; border-radius:5px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(99,143,116,.25) calc(20% - 1px),rgba(99,143,116,.25) 20%),linear-gradient(180deg,#060d13,#13251e); box-shadow:inset 0 2px 4px rgba(0,0,0,.82),0 1px rgba(176,255,190,.12); }
.rehearsal-picker [data-picker-piece] > .rehearsal-picker__progress i { position:absolute; z-index:1; inset:0 auto 0 0; display:block; height:100%; border-radius:3px; background:linear-gradient(180deg,#c6ffd0 0%,#70e58a 38%,#35bd5d 64%,#187c3b 100%); box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -2px rgba(4,69,25,.32),0 0 5px rgba(73,224,103,.3); }
.rehearsal-picker [data-picker-piece] > .rehearsal-picker__progress em { position:absolute; z-index:2; inset:0 5px 0 auto; display:flex; align-items:center; color:#fff; font-size:.48rem; font-style:normal; font-weight:900; line-height:1; text-shadow:0 1px 2px #000,1px 0 #000; }
.rehearsal-piece-block .rehearsal-piece { grid-template-columns:minmax(0,1fr) 31px; grid-template-rows:auto auto 15px; gap:2px 6px; min-height:61px; padding:6px 7px; align-content:center; }
.rehearsal-piece-block .rehearsal-piece > strong { grid-column:1/-1; overflow:hidden; align-self:auto; font-size:.64rem; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.rehearsal-piece-block .rehearsal-piece__title { grid-column:1/-1; align-self:auto; overflow:hidden; color:#63ddff; font-size:.46rem; font-weight:800; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.rehearsal-piece-block .rehearsal-piece > i { position:relative; grid-column:1; grid-row:3; display:block; height:15px; overflow:hidden; border:1px solid #4d805c; border-radius:5px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(99,143,116,.25) calc(20% - 1px),rgba(99,143,116,.25) 20%),linear-gradient(180deg,#060d13,#13251e); box-shadow:inset 0 2px 4px rgba(0,0,0,.82),0 1px rgba(176,255,190,.12); }
.rehearsal-piece-block .rehearsal-piece > i > b { display:block; height:100%; border-radius:3px; background:linear-gradient(180deg,#c6ffd0 0%,#70e58a 38%,#35bd5d 64%,#187c3b 100%); box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -2px rgba(4,69,25,.32),0 0 5px rgba(73,224,103,.3); }
.rehearsal-piece-block .rehearsal-piece > em { grid-column:2; grid-row:3; align-self:center; color:#76e38a; font-size:.64rem; text-align:right; }
.rehearsal-piece-block .rehearsal-piece { grid-template-columns:minmax(0,1fr); }
.rehearsal-piece-block .rehearsal-piece > i { grid-column:1/-1; }
.rehearsal-piece-block .rehearsal-piece > i > em { position:absolute; z-index:2; inset:0 5px 0 auto; display:flex; align-items:center; color:#fff; font-size:.48rem; font-style:normal; font-weight:900; line-height:1; text-shadow:0 1px 2px #000,1px 0 #000; }
.rehearsal-piece-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rehearsal-piece-list > .rehearsal-piece-block { grid-column:1/-1; }
.rehearsal-piece-list > .rehearsal-piece { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 15px; min-height:52px; }
.rehearsal-piece-list > .rehearsal-piece > strong { grid-column:1; }
.rehearsal-piece { position:relative; }
.rehearsal-piece > strong { min-width:0; padding-right:25px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rehearsal-piece__writing-score { position:absolute; z-index:3; top:4px; right:5px; display:grid; width:22px; height:22px; padding:0; place-items:center; border:1px solid #ffe989; border-radius:5px; color:#fff4b2; background:linear-gradient(155deg,#c89520,#76500b); box-shadow:inset 0 1px rgba(255,255,255,.28),0 2px 0 #3d2905; font-size:.55rem; font-weight:900; line-height:1; text-shadow:0 1px #442c00; }
.rehearsal-piece-block .rehearsal-piece__writing-score { top:4px; right:4px; width:20px; height:20px; font-size:.5rem; }
.rehearsal-piece.is-picker-link { cursor:pointer; }
.rehearsal-piece.is-picker-link:focus-visible { outline:2px solid #ffe46d; outline-offset:2px; }
.rehearsal-piece-list > .rehearsal-piece > i { position:relative; grid-column:1; display:block; height:15px; overflow:hidden; border:1px solid #4d805c; border-radius:5px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(99,143,116,.25) calc(20% - 1px),rgba(99,143,116,.25) 20%),linear-gradient(180deg,#060d13,#13251e); box-shadow:inset 0 2px 4px rgba(0,0,0,.82),0 1px rgba(176,255,190,.12); }
.rehearsal-piece-list > .rehearsal-piece > i > b { display:block; height:100%; border-radius:3px; background:linear-gradient(180deg,#c6ffd0 0%,#70e58a 38%,#35bd5d 64%,#187c3b 100%); box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -2px rgba(4,69,25,.32),0 0 5px rgba(73,224,103,.3); }
.rehearsal-piece-list > .rehearsal-piece > i > em { position:absolute; z-index:2; inset:0 5px 0 auto; display:flex; align-items:center; color:#fff; font-size:.48rem; font-style:normal; font-weight:900; line-height:1; text-shadow:0 1px 2px #000,1px 0 #000; }
.rehearsal-piece.is-just-trained { position:relative; z-index:3; animation:rehearsalFifaCard 1.35s ease both; }
.rehearsal-piece.is-just-trained::after { content:attr(data-rehearsal-gain); position:absolute; z-index:6; top:50%; left:50%; padding:3px 7px; border:1px solid #c8ffd0; border-radius:999px; color:#edfff0; background:linear-gradient(#54df72,#1a9a43); box-shadow:0 3px 0 #0d5727,0 0 18px rgba(91,240,119,.75); font-size:.66rem; font-weight:900; line-height:1; text-shadow:0 1px #07501f; pointer-events:none; animation:rehearsalFifaGain 1.25s ease-out both; }
.rehearsal-piece.is-just-trained > i > b { filter:brightness(1.25); box-shadow:inset 0 2px rgba(255,255,255,.55),0 0 12px rgba(75,225,105,.78); }
@keyframes rehearsalFifaCard { 0%,100% { filter:brightness(1); transform:scale(1); } 30% { filter:brightness(1.35); transform:scale(1.025); } }
@keyframes rehearsalFifaGain { 0% { opacity:0; transform:translate(-50%,20%) scale(.65); } 22% { opacity:1; transform:translate(-50%,-50%) scale(1.08); } 72% { opacity:1; transform:translate(-50%,-80%) scale(1); } 100% { opacity:0; transform:translate(-50%,-135%) scale(.92); } }
.rehearsal-animation-lock { position:fixed; z-index:1240; inset:0; display:block; background:rgba(1,7,18,.08); cursor:wait; touch-action:none; user-select:none; }
.rehearsal-animation-lock > span { position:absolute; top:max(12px,env(safe-area-inset-top)); left:50%; padding:6px 13px 5px; border:1px solid rgba(184,249,195,.8); border-radius:999px; color:#eaffed; background:rgba(8,45,28,.92); box-shadow:0 3px 0 rgba(4,25,15,.8),0 0 15px rgba(76,225,103,.28); font-size:.55rem; font-weight:900; letter-spacing:.08em; transform:translateX(-50%); }
.rehearsal-results { position:fixed; z-index:1250; inset:0; display:grid; padding:18px; place-items:center; opacity:0; background:radial-gradient(circle at 50% 35%,rgba(55,170,91,.28),transparent 45%),rgba(1,7,18,.91); backdrop-filter:blur(5px); transition:opacity .18s ease; }
.rehearsal-results.is-visible { opacity:1; }
.rehearsal-results > section { width:min(440px,100%); max-height:90vh; overflow:auto; border:3px solid #70e385; border-radius:20px; color:#fff; background:linear-gradient(160deg,#15364c,#08172b 72%); box-shadow:0 9px 0 #07111e,0 20px 50px rgba(0,0,0,.62),0 0 28px rgba(72,223,101,.22); }
.rehearsal-results header { padding:16px 15px 11px; text-align:center; border-bottom:1px solid rgba(112,227,133,.28); }.rehearsal-results header small { color:#80e993; font-size:.48rem; font-weight:900; letter-spacing:.12em; }.rehearsal-results header h2 { margin:1px 0 0; font-size:1.08rem; line-height:1; }
.rehearsal-results__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:13px; }
.rehearsal-result-card { position:relative; display:grid; grid-template-rows:auto auto 15px; gap:3px; min-height:66px; padding:8px; align-content:center; overflow:visible; border:2px solid #42647b; border-radius:11px; color:#fff; background:#102641; box-shadow:0 4px 0 #071426; }
.rehearsal-result-card > strong { overflow:hidden; font-size:.68rem; line-height:1; text-overflow:ellipsis; white-space:nowrap; }.rehearsal-result-card > small { overflow:hidden; color:#69dfff; font-size:.46rem; font-weight:800; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.rehearsal-result-card > i { position:relative; display:block; height:15px; overflow:hidden; border:1px solid #42627a; border-radius:7px; background:linear-gradient(#06101d,#0a1828); box-shadow:inset 0 2px 3px rgba(0,0,0,.72); }.rehearsal-result-card > i > b { display:block; width:0; height:100%; border-radius:5px; background:linear-gradient(180deg,#9bf5a8,#45ce68 48%,#23994a); }.rehearsal-result-card > i > em { position:absolute; z-index:2; inset:0 5px 0 auto; display:flex; align-items:center; color:#fff; font-size:.48rem; font-style:normal; font-weight:900; text-shadow:0 1px 2px #000; }
.rehearsal-results footer { display:grid; min-height:64px; padding:10px 14px 14px; place-items:center; border-top:1px solid rgba(112,227,133,.25); background:#09182b; }.rehearsal-results footer strong,.rehearsal-results footer small { display:block; text-align:center; }.rehearsal-results footer strong { color:#8bec9c; font-size:.7rem; }.rehearsal-results footer small { color:#adbdcf; font-size:.48rem; }.rehearsal-results footer button { min-width:150px; padding:10px; border:2px solid #baf7c3; border-radius:10px; color:#07351a; background:linear-gradient(#80ed92,#3fc363); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #176c35; font:900 .7rem/1 "Baloo 2",sans-serif; }

.section-screen--messages { --section-accent:#62dfff; --section-accent-rgb:98,223,255; }
.section-screen--messages .section-header { background:linear-gradient(135deg,#0d5270,#123663 62%,#182653); }
.section-screen--messages .section-back { border-color:#a6efff; background:linear-gradient(#4ad7f4,#1688c4); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #075078; }
.section-count--messages b { color:#fff; }
.messages-intro { padding:20px 16px 13px; }
.messages-intro small { color:var(--section-accent); font-size:.58rem; font-weight:800; letter-spacing:.12em; }
.messages-intro h2 { margin:1px 0 3px; font-size:1.15rem; line-height:1; }
.messages-intro p { margin:0; color:#9db0ca; font-size:.72rem; line-height:1.25; }
.message-list { display:grid; gap:10px; padding:0 10px 20px; }
.message-card { position:relative; display:grid; grid-template-columns:7px minmax(0,1fr); align-items:stretch; gap:10px; width:100%; min-height:105px; padding:12px 14px 14px 0; overflow:hidden; border:2px solid #d7e2ee; border-radius:16px; color:#14213a; background:linear-gradient(145deg,#fff,#eef3f8); box-shadow:0 5px 0 rgba(0,0,0,.2),0 10px 22px rgba(0,0,0,.2); text-align:left; transition:opacity .2s ease,border-color .2s ease; }
.message-card__marker { align-self:stretch; border-radius:0 7px 7px 0; background:#aab7c5; }
.message-card__content,.message-card__meta,.message-card__title,.message-card__text { display:block; min-width:0; }
.message-card__meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:3px; }
.message-card__meta strong { overflow:hidden; color:#59708d; font-size:.54rem; letter-spacing:.08em; text-overflow:ellipsis; white-space:nowrap; }
.message-card__meta time { flex:none; color:#8493a7; font-size:.5rem; font-weight:800; }
.message-card__title { display:flex; align-items:center; gap:7px; }
.message-card h2 { overflow:hidden; margin:0; font-size:clamp(.72rem,3.2vw,.92rem); line-height:1.05; text-overflow:ellipsis; white-space:nowrap; }
.message-card__new { flex:none; padding:3px 6px; border-radius:10px; color:#06324a; background:#55dcff; font-size:.45rem; line-height:1; letter-spacing:.06em; }
.message-card__text { display:block; margin-top:9px; color:#455970; font-size:clamp(.68rem,2.8vw,.8rem); line-height:1.42; white-space:pre-line; }
.message-card__text strong { color:#075a7c; font-weight:900; }
.message-card.is-unread { border-color:#66dcfa; background:linear-gradient(145deg,#fff,#e6f8ff); box-shadow:0 0 0 2px rgba(82,215,249,.14),0 5px 0 #0b6889,0 10px 23px rgba(0,0,0,.25); }
.message-card.is-unread .message-card__marker { background:linear-gradient(#70ebff,#18a8dd); box-shadow:0 0 12px #42d9ff; }
.message-card.is-unread h2 { color:#075576; }
.message-card.is-read { opacity:.94; }
@media(max-width:360px){.message-card{min-height:96px;gap:7px}.message-card__new{padding-inline:4px}.messages-intro{padding-inline:12px}}

.subsection-screen--message { height:100dvh; background:rgba(1,7,23,.2); }
.message-detail { height:min(88dvh,680px); border-color:#65ddfb; background:linear-gradient(180deg,#10294c,#08152e); }
.message-detail .subsection-header { border-bottom-color:rgba(98,223,255,.45); background:linear-gradient(135deg,#0d5270,#123663 62%,#182653); }
.message-detail .subsection-header::after { background:#62dfff; box-shadow:0 0 10px #62dfff; }
.message-detail .subsection-header button { border-color:#a6efff; background:linear-gradient(#4ad7f4,#1688c4); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #075078; }
.message-detail .subsection-header small { color:#9eeaff; }
.message-detail__paper { display:flex; flex-direction:column; min-height:calc(100% - 78px); margin:0; color:#17233a; background:linear-gradient(145deg,#fff,#eef4f9); }
.message-detail__content > small { color:#75879c; font-size:.52rem; font-weight:800; letter-spacing:.11em; }
.message-detail__content { flex:1; padding:26px 22px; }
.message-detail__content h2 { margin:4px 0 18px; color:#075576; font-size:clamp(1.05rem,5vw,1.45rem); line-height:1.05; }
.message-detail__content p { margin:0; color:#45566d; font-size:clamp(.78rem,3.2vw,.92rem); line-height:1.55; }
.message-detail__paper footer { display:grid; gap:10px; padding:14px 18px 20px; }
.message-detail__paper footer > span { color:#a4b0bd; font-size:.55rem; font-weight:800; letter-spacing:.15em; text-align:center; }

.subsection-screen--profile,.subsection-screen--component-profile { min-height:100svh; height:100dvh; max-width:680px; margin:auto; padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)); place-items:stretch; background:rgba(1,7,23,.3); }
.profile-panel,.component-profile { width:100%; height:100%; border-color:#62dfff; background:linear-gradient(180deg,#102c54,#07142e); }
.profile-panel .subsection-header { border-bottom-color:rgba(98,223,255,.48); background:linear-gradient(135deg,#0c5276,#143867 62%,#29245d); }
.profile-panel .subsection-header::after { background:#62dfff; box-shadow:0 0 10px #62dfff; }
.profile-panel .subsection-header button { border-color:#acf0ff; background:linear-gradient(#52d9f5,#1689c5); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #075078; }
.profile-panel .subsection-header small { color:#9beaff; }
.profile-hero { position:relative; display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:16px; min-height:178px; padding:18px 22px; overflow:hidden; border-bottom:1px solid #2b6891; background:radial-gradient(circle at 20% 42%,rgba(67,215,255,.28),transparent 28%),linear-gradient(135deg,#123f70,#172653 58%,#3a2466); }
.profile-hero::after { content:""; position:absolute; right:-35px; bottom:-75px; width:180px; height:180px; border:28px solid rgba(115,226,255,.06); border-radius:50%; }
.profile-avatar { position:relative; z-index:1; display:grid; width:108px; height:108px; padding:5px; place-items:center; border:3px solid #8be9ff; border-radius:32px; background:linear-gradient(145deg,#dffaff,#62cef0); box-shadow:0 0 0 4px rgba(31,93,145,.75),0 10px 22px rgba(0,0,0,.35); }
.profile-avatar > span { position:relative; width:100%; height:100%; overflow:hidden; border-radius:25px; background:#eafaff; }
.profile-avatar img { position:absolute; top:-20%; left:50%; width:175%; height:175%; object-fit:contain; object-position:center top; transform:translateX(-50%); }
.profile-identity { position:relative; z-index:1; min-width:0; }.profile-identity small { color:#8fe9ff; font-size:.58rem; font-weight:800; letter-spacing:.14em; }.profile-identity h2 { overflow:hidden; margin:2px 0 5px; color:white; font-size:clamp(1.45rem,7vw,2rem); line-height:.9; text-overflow:ellipsis; white-space:nowrap; }.profile-identity > strong { display:inline-block; padding:4px 9px; border:1px solid #72dfff; border-radius:9px; color:#092b47; background:#69dcf7; font-size:.58rem; letter-spacing:.06em; }.profile-identity p { margin:8px 0 0; color:#b5c8dd; font-size:.58rem; font-weight:800; }
.profile-body { display:grid; gap:14px; padding:14px 12px 20px; }
.profile-group-card { display:grid; gap:1px; padding:12px 14px; border:1px solid #376282; border-radius:14px; background:linear-gradient(145deg,#163655,#10233e); }.profile-group-card small { color:#7edfff; font-size:.52rem; font-weight:800; letter-spacing:.1em; }.profile-group-card strong { color:white; font-size:.86rem; }.profile-group-card span { color:#8fa4bd; font-size:.55rem; font-weight:700; }
.profile-stats > header,.profile-career > header { padding:0 3px 7px; }.profile-stats header small,.profile-career header small { display:block; color:#69dafa; font-size:.52rem; font-weight:800; letter-spacing:.11em; }.profile-stats h2,.profile-career h2 { margin:1px 0 0; font-size:.95rem; line-height:1; }
.profile-stats { display:grid; gap:6px; }.profile-stat { display:grid; grid-template-columns:minmax(102px,1.2fr) minmax(75px,1fr) 27px; align-items:center; gap:8px; min-height:46px; padding:7px 10px; border:1px solid #294763; border-radius:11px; background:#0f223b; }.profile-stat span strong,.profile-stat span small { display:block; }.profile-stat span strong { font-size:.62rem; }.profile-stat span small { color:#7f94ae; font-size:.47rem; }.profile-stat > i { height:8px; overflow:hidden; border-radius:8px; background:#030b18; }.profile-stat > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#36b8e6,#72e6ff); }.profile-stat em { color:#74e3ff; font-size:.7rem; font-style:normal; font-weight:800; text-align:right; }
.profile-career > div { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.profile-career article { display:grid; min-height:61px; place-content:center; border:1px solid #34526e; border-radius:12px; background:#112640; text-align:center; }.profile-career article strong { color:#65dfff; font-size:1.05rem; line-height:1; }.profile-career article small { margin-top:4px; color:#8ea2b9; font-size:.46rem; font-weight:800; }
@media(max-width:360px){.profile-hero{grid-template-columns:90px minmax(0,1fr);gap:12px;padding-inline:15px}.profile-avatar{width:88px;height:88px;border-radius:27px}.profile-avatar>span{border-radius:20px}.profile-body{gap:10px}.profile-stat{min-height:42px}}
.profile-panel,.component-profile { overflow-x:hidden; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#62dfff #07142e; }
.profile-panel > .subsection-header,.component-profile > .subsection-header { position:sticky; z-index:8; top:0; }
.profile-stage { position:relative; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:748/434; overflow:hidden; border-bottom:2px solid #62dfff; background:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/cadiz-promenade.png") center/cover no-repeat; }
.profile-stage::after { content:""; position:absolute; right:0; bottom:0; left:0; height:30%; background:linear-gradient(transparent,rgba(4,12,30,.7)); pointer-events:none; }
.profile-stage > img { position:absolute; z-index:2; bottom:2%; left:50%; width:36%; height:82%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); }
.profile-stage > span { position:absolute; z-index:3; top:10px; left:12px; display:grid; padding:5px 9px; border:1px solid rgba(120,226,255,.5); border-radius:9px; background:rgba(4,22,51,.78); }.profile-stage > span small { color:#8fe7ff; font-size:.48rem; font-weight:800; letter-spacing:.1em; }.profile-stage > span strong { font-size:.7rem; line-height:1; }
.profile-panel [data-message-field="name"],.profile-panel .profile-stage [data-message-field="role"]{color:#86e5ff}
.profile-details { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.profile-details article { display:grid; min-width:0; min-height:61px; align-content:center; padding:9px 11px; border:1px solid #355674; border-radius:12px; background:linear-gradient(145deg,#173653,#10233c); }.profile-details small { color:#7edfff; font-size:.48rem; font-weight:800; letter-spacing:.09em; }.profile-details strong { overflow:hidden; color:white; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.profile-details [data-message-field="name"] { text-transform:uppercase; }
.profile-account > header,.profile-important > header,.profile-logout > header,.profile-delete > header { padding:0 3px 7px; }.profile-account header small,.profile-important header small,.profile-logout header small,.profile-delete header small { display:block; color:#69dafa; font-size:.52rem; font-weight:800; letter-spacing:.11em; }.profile-account h2,.profile-important h2,.profile-logout h2,.profile-delete h2 { margin:1px 0 0; font-size:.95rem; line-height:1; }
.profile-account__card { padding:12px; border:1px solid #355674; border-radius:13px; background:#10243e; }.profile-account__card > span small,.profile-account__card > span strong { display:block; }.profile-account__card > span small { color:#899db6; font-size:.49rem; font-weight:800; }.profile-account__card > span strong { color:#69dcfa; font-size:.72rem; }.profile-account__card > p:not(.profile-action-feedback) { margin:9px 0 11px; color:#c1ccda; font-size:.66rem; line-height:1.3; }.profile-account__card button,.profile-important button { min-height:44px; border:1px solid #7bddf5; border-radius:10px; color:#082d48; background:linear-gradient(#70e3fb,#35b6dd); box-shadow:0 3px 0 #0a6886; font-size:.61rem; font-weight:800; }.profile-account__card button { width:100%; }.profile-action-feedback { min-height:0; margin:7px 0 0; color:#91a7be; font-size:.56rem; }
.profile-important > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.profile-important button:focus,.profile-important button:focus-visible { outline:none; }
.profile-logout { padding:12px; border:1px solid rgba(105,220,250,.42); border-radius:14px; background:linear-gradient(145deg,#102d48,#131d35); }.profile-logout[hidden],[data-guest-account][hidden] { display:none; }.profile-logout p,[data-guest-account] p { margin:8px 0 11px; color:#bfcbd8; font-size:.64rem; line-height:1.3; }.profile-logout > button { width:100%; min-height:48px; border:2px solid #a8efff; border-radius:11px; color:#07304b; background:linear-gradient(#70e5fc,#37bce3); box-shadow:inset 0 2px rgba(255,255,255,.4),0 4px 0 #087393; font-size:.72rem; font-weight:800; }
.profile-delete { padding:12px; border:1px solid rgba(244,91,108,.45); border-radius:14px; background:linear-gradient(145deg,#301b2b,#1a1a31); }.profile-delete header small { color:#ff8793; }.profile-delete p { margin:8px 0 11px; color:#bfc5d2; font-size:.64rem; line-height:1.3; }.profile-delete > button { width:100%; min-height:48px; border:2px solid #ffadb5; border-radius:11px; color:white; background:linear-gradient(#f65d6d,#c92e47); box-shadow:inset 0 2px rgba(255,255,255,.22),0 4px 0 #731329; font-size:.72rem; font-weight:800; }
@media(max-width:360px){.profile-stage>img{width:42%}.profile-details{gap:5px}.profile-details article{padding-inline:8px}.profile-important>div{grid-template-columns:1fr}}

.section-screen--performances { --section-accent:#ff6574; --section-accent-rgb:255,101,116; }
.section-screen--performances .section-header { background:linear-gradient(135deg,#802f47,#51264d 62%,#172452); }
.section-screen--performances .section-back { border-color:#ffc0c7; background:linear-gradient(#ff7180,#ca334d); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #711427; }
.performances-preview { position:relative; width:100%; aspect-ratio:900/394; min-height:175px; max-height:335px; overflow:hidden; border-bottom:2px solid #ff6574; background:#171329; }
.performances-preview > .performances-preview__background { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.performances-preview > img[data-performances-author] { position:absolute; z-index:2; top:-4%; left:82%; width:120%; height:120%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); transform-origin:center bottom; animation:sectionCharacterBreath 3.2s ease-in-out infinite; }
.character-speech--performances { z-index:4; bottom:7%; left:4%; max-width:63%; }
.character-speech--performances::before { top:50%; right:-12px; width:14px; height:18px; border:0; background:#eef5fb; clip-path:polygon(0 0,100% 50%,0 100%); filter:drop-shadow(2px 0 0 #19345d); transform:translateY(-50%); }
.performance-hero { position:relative; min-height:190px; overflow:hidden; padding:24px 18px; border-bottom:2px solid #e44a61; background:radial-gradient(ellipse at 50% 0,#72427e 0,transparent 48%),linear-gradient(#261838,#090c1e); }
.performance-hero::before,.performance-hero::after { content:""; position:absolute; top:-40px; width:110px; height:240px; background:linear-gradient(100deg,transparent 15%,rgba(255,239,185,.2),transparent 70%); transform:rotate(18deg); }.performance-hero::before{left:8%}.performance-hero::after{right:8%;transform:rotate(-18deg)}
.performance-hero__lights { position:absolute; z-index:2; top:9px; right:12%; left:12%; display:flex; justify-content:space-between; }.performance-hero__lights i { width:17px; height:17px; border:3px solid #50192d; border-radius:50%; background:#ffe08b; box-shadow:0 0 18px #ffbc52; }
.performance-hero__stage { position:absolute; z-index:1; right:3%; bottom:0; left:38%; display:flex; height:76%; align-items:end; justify-content:center; gap:2%; border-bottom:13px solid #431b32; }.performance-hero__stage span { width:16%; height:72%; border-radius:45% 45% 12% 12%; background:#080b19; }.performance-hero__stage span:nth-child(2),.performance-hero__stage span:nth-child(4){height:58%}.performance-hero__stage span:nth-child(3){height:84%}
.performance-hero__copy { position:relative; z-index:3; width:52%; }.performance-hero__copy small,.performance-agenda header small { color:#ff8995; font-size:.56rem; font-weight:800; letter-spacing:.1em; }.performance-hero h2 { margin:5px 0; font-size:1.42rem; line-height:.94; }.performance-hero p { margin:0; color:#c0b4cb; font-size:.69rem; line-height:1.25; }
.performance-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:10px; background:#091329; }.performance-summary article { display:grid; min-height:54px; padding:7px; place-content:center; border:1px solid #3e3656; border-radius:11px; background:#151b36; text-align:center; }.performance-summary small { color:#8f98b2; font-size:.47rem; font-weight:800; }.performance-summary strong { color:#ff7c89; font-size:.76rem; }
.performance-agenda { padding:14px 10px 22px; }.performance-agenda > header { display:flex; align-items:end; justify-content:space-between; padding:0 4px 9px; }.performance-agenda h2 { margin:0; font-size:1.05rem; line-height:1; }.performance-agenda > header > b { color:#a4adc0; font-size:.58rem; }.performance-list { display:grid; gap:8px; }.performance-list > button { display:grid; grid-template-columns:56px minmax(0,1fr) auto 14px; align-items:center; gap:9px; min-height:84px; padding:8px 10px; border:1px solid #4e3b57; border-radius:14px; color:white; background:linear-gradient(145deg,#22233e,#12172e); text-align:left; }.performance-place { display:grid; width:54px; height:54px; place-items:center; border-radius:12px; background:linear-gradient(#eb5a72,#8d2846); }.performance-place svg { width:37px; fill:none; stroke:#ffe4d6; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.performance-place--peña{background:linear-gradient(#e96c55,#9a2f36)}.performance-place--square{background:linear-gradient(#e19750,#9f482c)}
.performance-list button > span:nth-child(2) small,.performance-list button > span:nth-child(2) strong,.performance-list button > span:nth-child(2) em { display:block; }.performance-list button > span:nth-child(2) small { color:#ff8995; font-size:.48rem; font-weight:800; }.performance-list button > span:nth-child(2) strong { font-size:.72rem; line-height:1.05; }.performance-list button > span:nth-child(2) em { color:#929fb5; font-size:.55rem; font-style:normal; }.performance-list button > b { color:#ffc661; font-size:.72rem; text-align:right; }.performance-list button > b small { display:block; color:#8492a9; font-size:.42rem; }.performance-list button > i { color:#ff7b88; font-size:1.25rem; font-style:normal; }.performance-list button.is-locked { opacity:.55; filter:saturate(.5); }
.subsection-screen--performance { height:100dvh; }.performance-detail { height:min(90dvh,700px); border-color:#ff7180; }.performance-detail .subsection-header { border-bottom-color:#ff7180; background:linear-gradient(135deg,#802f47,#51264d 62%,#172452); }.performance-detail .subsection-header::after { background:#ff7180; box-shadow:0 0 10px #ff7180; }.performance-detail .subsection-header button { border-color:#ffc0c7; background:linear-gradient(#ff7180,#ca334d); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #711427; }.performance-detail .subsection-header small{color:#ffb4bc}.performance-detail__stage { display:flex; height:180px; align-items:end; justify-content:center; gap:6px; padding:24px 18% 0; border-bottom:10px solid #541b32; background:radial-gradient(circle at 50% 0,#b15a87,transparent 55%),#171127; }.performance-detail__stage span { width:17%; height:70%; border-radius:45% 45% 10% 10%; background:#070914; }.performance-detail__stage span:nth-child(2),.performance-detail__stage span:nth-child(4){height:58%}.performance-detail__stage span:nth-child(3){height:84%}.performance-detail__content { padding:20px; }.performance-detail__content > small { color:#ff8491; font-size:.58rem; font-weight:800; }.performance-detail__content h2 { margin:3px 0; font-size:1.35rem; }.performance-detail__content > strong { color:#ffc465; font-size:.72rem; }.performance-detail__content p { color:#aeb8c9; font-size:.78rem; line-height:1.4; }.performance-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:18px 0; }.performance-detail dl div { padding:10px; border:1px solid #44374f; border-radius:11px; background:#161c34; }.performance-detail dt { color:#8592aa; font-size:.48rem; font-weight:800; }.performance-detail dd { margin:2px 0 0; color:#ffc45d; font-size:.74rem; font-weight:800; }.performance-detail__content > button { width:100%; min-height:52px; border:2px solid #ffc0c7; border-radius:13px; color:#3c0b15; background:linear-gradient(#ff7c89,#e3445c); box-shadow:0 4px 0 #7c1729; font-size:.76rem; font-weight:800; }

.section-screen--coac { --section-accent:#47bfff; --section-accent-rgb:71,191,255; }.section-screen--coac .section-header { background:linear-gradient(135deg,#174d79,#17375f 60%,#192859); }.section-screen--coac .section-back { border-color:#a8e5ff; background:linear-gradient(#57c9ff,#287fc9); box-shadow:inset 0 2px rgba(255,255,255,.3),0 4px 0 #12477d; }.coac-year { padding:5px 8px; border:1px solid #6ed2ff; border-radius:9px; color:#fff; background:#0e4470; font-size:.72rem; font-weight:800; }
.coac-tabs button[aria-selected="true"] { border-color:#a8e8ff; background:linear-gradient(#63d2ff,#329bd7); box-shadow:inset 0 2px rgba(255,255,255,.42),0 3px 0 #0b547f; }
.coac-tabs button span { font:inherit; }
.coac-history[hidden],[data-coac-view][hidden] { display:none; }
.coac-history { min-height:calc(100% - 139px); padding:18px 10px 24px; }
.coac-history__heading { display:flex; align-items:end; justify-content:space-between; padding:0 4px 13px; }.coac-history__heading small { display:block; color:#65caff; font-size:.54rem; font-weight:800; letter-spacing:.1em; }.coac-history__heading h2 { margin:1px 0 0; font-size:1.05rem; line-height:1; }.coac-history__heading > b { color:#8298b2; font-size:.55rem; }
.coac-history__columns { display:grid; grid-template-columns:42px minmax(100px,1fr) 70px 42px; gap:5px; padding:7px 9px; border:1px solid #315171; border-radius:9px 9px 0 0; color:#84dfff; background:#142c4b; font-size:.49rem; font-weight:800; text-align:center; }.coac-history__columns span:nth-child(2) { text-align:left; }
.coac-history__empty { display:grid; min-height:360px; padding:42px 22px; place-items:center; align-content:center; border:1px solid #28445f; border-top:0; border-radius:0 0 15px 15px; background:linear-gradient(180deg,#0e2039,#0a182f); text-align:center; }.coac-history__empty > span { display:grid; width:82px; height:82px; margin-bottom:13px; place-items:center; border:2px solid #4ec7fb; border-radius:26px; background:radial-gradient(circle,#1b5480,#102944); box-shadow:0 0 25px rgba(71,191,255,.18); }.coac-history__empty svg { width:50px; fill:none; stroke:#76d9ff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.coac-history__empty > small { color:#5fcfff; font-size:.52rem; font-weight:800; letter-spacing:.12em; }.coac-history__empty h3 { margin:4px 0 6px; font-size:1rem; line-height:1.05; }.coac-history__empty p { max-width:390px; margin:0 0 18px; color:#91a5bc; font-size:.68rem; line-height:1.35; }.coac-history__empty button { min-width:210px; min-height:48px; border:2px solid #a8e8ff; border-radius:12px; color:#062b45; background:linear-gradient(#65d2ff,#329dd8); box-shadow:inset 0 2px rgba(255,255,255,.35),0 4px 0 #0b547f; font-size:.68rem; font-weight:800; }
.coac-stage { position:relative; width:100%; aspect-ratio:900/424; min-height:190px; max-height:340px; overflow:hidden; border-bottom:2px solid #3fb9f5; background:#29070b; }
.coac-stage::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(4,8,22,.12) 55%,rgba(4,8,22,.88)); pointer-events:none; }
.coac-stage > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.coac-status small,.coac-requirements header small,.coac-phases header small { color:#65caff; font-size:.54rem; font-weight:800; letter-spacing:.1em; }
.coac-stage__badge { position:absolute; z-index:2; top:13px; right:13px; padding:6px 8px; border:1px solid rgba(255,255,255,.38); border-radius:9px; color:#fff1c5; background:rgba(99,13,22,.82); font-size:.49rem; font-weight:800; letter-spacing:.06em; }
.coac-status { margin:10px; padding:13px; border:1px solid #315a82; border-radius:14px; background:#102541; }.coac-status header { display:flex; justify-content:space-between; }.coac-status h2 { margin:1px 0; color:#eaf7ff; font-size:.92rem; }.coac-status header > b { color:#58c8ff; font-size:1.2rem; }.coac-progress { height:9px; margin:8px 0; overflow:hidden; border-radius:8px; background:#040a15; }.coac-progress i { display:block; width:4%; height:100%; background:#50c9ff; }.coac-status p { margin:0; color:#93a7bf; font-size:.62rem; }
.coac-requirements,.coac-phases { padding:7px 10px 14px; }.coac-requirements h2,.coac-phases h2 { margin:1px 0 8px; font-size:1rem; }.coac-requirements > div { display:grid; gap:6px; }.coac-requirements article { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; min-height:53px; padding:7px 10px; border:1px solid #2e5e6d; border-radius:11px; background:#102d3b; }.coac-check { display:block; width:23px; height:23px; border:2px solid #70e1bc; border-radius:50%; background:#1f9c75; }.coac-check::after { content:""; display:block; width:8px; height:4px; margin:6px 5px; border-left:2px solid white; border-bottom:2px solid white; transform:rotate(-45deg); }.coac-requirements article p,.coac-requirements article strong,.coac-requirements article small { display:block; margin:0; }.coac-requirements article strong { font-size:.66rem; }.coac-requirements article small { color:#899db5; font-size:.52rem; }.coac-requirements article > b { color:#72e3bd; font-size:.5rem; }.coac-requirements article.is-pending { border-color:#344d6d; background:#111f37; }.coac-requirements .is-pending .coac-check { border-color:#72839a; background:transparent; }.coac-requirements .is-pending .coac-check::after { display:none; }.coac-requirements .is-pending > b { color:#8796aa; }
.coac-phases ol { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:0; padding:0; list-style:none; }.coac-phases li { display:grid; gap:4px; min-width:0; padding:8px 3px; border:1px solid #2b4261; border-radius:10px; background:#101d35; text-align:center; }.coac-phases li > b { display:grid; width:24px; height:24px; margin:auto; place-items:center; border-radius:50%; color:#91a2b8; background:#263852; font-size:.62rem; }.coac-phases li strong,.coac-phases li small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.coac-phases li strong { font-size:clamp(.42rem,1.8vw,.56rem); }.coac-phases li small { color:#7c8ea6; font-size:.4rem; }.coac-phases li.is-current { border-color:#44c3ff; background:#102d4e; }.coac-phases li.is-current > b { color:#07304e; background:#53c9ff; }.coac-actions { display:grid; grid-template-columns:1.5fr 1fr; gap:6px; margin-top:10px; }.coac-actions button { min-height:45px; border:1px solid #6fd5ff; border-radius:11px; color:#062c48; background:linear-gradient(#65d2ff,#2e9dd9); box-shadow:0 3px 0 #0d507d; font-size:.6rem; font-weight:800; }.coac-actions button:last-child { color:#b9c9db; border-color:#405a79; background:#182a45; box-shadow:0 3px 0 #091326; }.coac-phases > p { min-height:18px; margin:8px 0 0; color:#8fa3bb; font-size:.58rem; text-align:center; }
@media(max-width:370px){.performance-list>button{grid-template-columns:48px minmax(0,1fr) auto 10px;padding-inline:7px}.performance-place{width:46px;height:48px}.coac-requirements article{padding-inline:7px}.coac-phases{padding-inline:6px}}
.costume-admin-entry {
  display:block;
  width:calc(100% - 32px);
  margin:16px auto;
  padding:13px 18px;
  border:2px solid #ffd36b;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(180deg,#344d84,#17284d);
  box-shadow:0 4px 0 #0a1530, inset 0 1px rgba(255,255,255,.25);
  font:800 .9rem/1 "Baloo 2",sans-serif;
  letter-spacing:.06em;
}
.costume-admin-entry[hidden] { display:none; }
.costume-admin-entries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px; }
.costume-admin-entries[hidden] { display:none; }
.costume-admin-entries .costume-admin-entry { width:100%; margin:0; padding-inline:10px; }
.costume-admin-entry--legendary { border-color:#efd17a; color:#fff7cf; background:linear-gradient(180deg,#704298,#3a215e); box-shadow:0 4px 0 #200f39,inset 0 1px rgba(255,255,255,.3); }
.costume-admin-form { padding:16px; color:#17233d; }
.costume-admin-card,.costume-admin-images {
  margin:0 0 16px;
  padding:14px;
  border:2px solid #d6e1f1;
  border-radius:16px;
  background:#f7f9fd;
  box-shadow:0 5px 0 rgba(16,37,72,.14);
}
.costume-admin-card { display:grid; grid-template-columns:1fr 150px; gap:12px; }
.costume-admin-card label,.costume-admin-images legend {
  color:#466083;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.costume-admin-card input,.costume-admin-card select {
  display:block;
  width:100%;
  min-height:44px;
  margin-top:5px;
  padding:8px 11px;
  border:2px solid #b7c7dd;
  border-radius:10px;
  color:#17233d;
  background:#fff;
  font:800 .9rem/1.2 "Baloo 2",sans-serif;
}
.costume-admin-images { border:0; }
.costume-admin-images legend { padding:0 5px 7px; }
.costume-admin-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(90px,1fr));
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
}
.costume-admin-grid--backdrops { grid-template-columns:repeat(3,minmax(140px,1fr)); }
.costume-admin-grid--legendary-backdrop { grid-template-columns:minmax(180px,1fr); }
.costume-admin-images--backdrops .costume-upload span,.costume-admin-images--backdrops .costume-upload img { height:120px; min-height:120px; }
.costume-admin-images--legendary-backdrop .costume-upload span,.costume-admin-images--legendary-backdrop .costume-upload img { height:170px; min-height:170px; }
.legendary-costume-admin-card { grid-template-columns:minmax(0,1fr) minmax(180px,.7fr) 150px; }
.legendary-costume-quality { display:grid; min-height:44px; margin-top:17px; padding:5px 10px; place-content:center; border:2px solid #d9b75a; border-radius:10px; color:#fff3bc; background:linear-gradient(145deg,#6e4097,#361e58); box-shadow:inset 0 1px rgba(255,255,255,.25),0 3px 0 #1c0d32; text-align:center; }
.legendary-costume-quality small { color:#d9b75a; font-size:.48rem; font-weight:900; letter-spacing:.12em; }
.legendary-costume-quality strong { font-size:.78rem; line-height:1; }
.legendary-costume-catalog-card > header { grid-template-columns:minmax(0,1fr) minmax(155px,.7fr) 105px 115px; }
.legendary-costume-catalog-card > header .legendary-costume-quality { margin-top:0; }
.legendary-costume-catalog-backdrop > div { grid-template-columns:minmax(180px,1fr) !important; }
.section-screen--legendary-costume-admin .section-header { background:linear-gradient(135deg,#43205f,#251438 62%,#10162c); }
.section-screen--legendary-costume-admin .costume-admin-submit { border-color:#ffe79a; color:#251136; background:linear-gradient(#e0a8ff,#a968dc); box-shadow:0 5px 0 #65338b; }
.costume-upload {
  display:block;
  color:#253b60;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
}
.costume-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.costume-upload span {
  display:grid;
  min-height:150px;
  margin-top:5px;
  place-items:center;
  overflow:hidden;
  border:2px dashed #86a2c5;
  border-radius:13px;
  background:#e8eef7;
  cursor:pointer;
}
.costume-upload img { display:none; width:100%; height:150px; object-fit:contain; }
.costume-upload span.has-preview img { display:block; }
.costume-upload span.has-preview b { display:none; }
.costume-upload b { color:#567092; font-size:.68rem; }
.costume-admin-status { min-height:24px; margin:4px 0 10px; color:#168454; text-align:center; font-weight:900; }
.costume-admin-status.is-error { color:#d62e46; }
.costume-admin-submit {
  width:100%;
  padding:15px;
  border:2px solid #8deaff;
  border-radius:15px;
  color:#07152c;
  background:linear-gradient(180deg,#6de6ff,#2eb9e2);
  box-shadow:0 5px 0 #147da1;
  font:900 1rem/1 "Baloo 2",sans-serif;
}
.costume-admin-submit:disabled { opacity:.55; }
@media (max-width:520px) {
  .costume-admin-card { grid-template-columns:1fr; }
  .costume-admin-entries { grid-template-columns:1fr; }
  .legendary-costume-quality { margin-top:0; }
  .costume-upload span,.costume-upload img { height:120px; min-height:120px; }
}
.costume-catalog { padding:8px 16px 28px; color:#17233d; }
.costume-catalog > header { margin-bottom:10px; }
.costume-catalog > header small { color:#2998bf; font-size:.58rem; font-weight:900; letter-spacing:.1em; }
.costume-catalog > header h2 { margin:2px 0 0; font-size:1.1rem; }
.costume-catalog__status { margin:0 0 10px; color:#627795; font-size:.68rem; font-weight:800; }
.costume-catalog__list { display:grid; gap:18px; }
.costume-catalog-card {
  padding:13px;
  border:2px solid #b6c8de;
  border-radius:17px;
  background:#f5f8fc;
  box-shadow:0 6px 0 rgba(22,44,78,.18);
}
.costume-catalog-card > header { display:grid; grid-template-columns:minmax(0,1fr) 105px 115px; gap:8px; }
.costume-catalog-card__links { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.costume-catalog-card__links a { display:inline-flex; min-height:27px; padding:5px 9px; align-items:center; border:1px solid #4ebfe5; border-radius:8px; color:#12334d; background:#dff7ff; font-size:.52rem; font-weight:900; letter-spacing:.035em; text-decoration:none; }
.costume-catalog-card__links a:hover,.costume-catalog-card__links a:focus-visible { color:#fff; background:#188db8; outline:0; }
.costume-catalog-card > header label,.costume-catalog-card > section > strong {
  color:#526b8d;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.07em;
}
.costume-catalog-card > header input,.costume-catalog-card > header select {
  display:block;
  width:100%;
  min-height:38px;
  margin-top:4px;
  padding:6px 8px;
  border:1px solid #aebfd5;
  border-radius:9px;
  color:#17233d;
  background:#fff;
  font:800 .72rem/1 "Baloo 2",sans-serif;
}
.costume-catalog-card > section { margin-top:13px; }
.costume-catalog-card > section > div {
  display:grid;
  grid-template-columns:repeat(5,minmax(82px,1fr));
  gap:7px;
  margin-top:5px;
  overflow-x:auto;
  padding:1px 1px 5px;
}
.costume-catalog-card > .costume-catalog-backdrops > div { grid-template-columns:repeat(3,minmax(120px,1fr)); }
.costume-catalog-backdrops .costume-catalog-image span { height:105px; }
.costume-catalog-image { position:relative; display:block; min-width:82px; text-align:center; }
.costume-catalog-image small { display:block; margin-bottom:3px; color:#71839c; font-size:.46rem; font-weight:900; }
.costume-catalog-image__picker { display:block; cursor:pointer; }
.costume-catalog-image span { display:block; height:115px; overflow:hidden; border:1px solid #a9bbd2; border-radius:10px; background:#dfe7f1; }
.costume-catalog-image span.is-lazy { background:linear-gradient(105deg,#dfe7f1 35%,#f7fbff 48%,#dfe7f1 61%); background-size:220% 100%; animation:costumeCatalogLoading 1.15s linear infinite; }
.costume-catalog-image img { width:100%; height:100%; object-fit:contain; opacity:1; transition:opacity .16s ease; }
.costume-catalog-image span.is-lazy img,.costume-catalog-image span:not(.has-preview) img { opacity:0; }
.costume-catalog-image span i { display:grid; height:100%; place-items:center; color:#8799b0; font-size:.52rem; font-style:normal; font-weight:900; }
.costume-catalog-image span.has-preview i { display:none; }
@keyframes costumeCatalogLoading { to { background-position:-220% 0; } }
.costume-catalog-image input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.costume-catalog-image > a,.costume-catalog-image > b {
  display:block;
  margin-top:4px;
  padding:5px 3px;
  border-radius:7px;
  color:#fff;
  background:#49678f;
  font-size:.46rem;
  font-weight:900;
  text-decoration:none;
}
.costume-catalog-image > a:hover,.costume-catalog-image > a:focus-visible { background:#188db8; outline:0; }
.costume-catalog-image > b.is-disabled { color:#72839a; background:#dce4ee; }
.costume-catalog-card > p { min-height:18px; margin:8px 0 5px; color:#168454; font-size:.62rem; font-weight:900; text-align:center; }
.costume-catalog-card > p.is-error { color:#d62e46; }
.costume-catalog-card > button {
  width:100%;
  min-height:42px;
  border:1px solid #79d9f4;
  border-radius:10px;
  color:#07243b;
  background:linear-gradient(#63ddf9,#34afd4);
  box-shadow:0 3px 0 #177698;
  font:900 .7rem/1 "Baloo 2",sans-serif;
}
.costume-catalog-card > button:disabled { opacity:.55; }
@media (max-width:520px) {
  .costume-catalog-card > header { grid-template-columns:1fr 1fr; }
  .costume-catalog-card > header label:first-child { grid-column:1/-1; }
}

.coac-history__empty[hidden] { display:none; }
.coac-history__entry { display:grid; grid-template-columns:42px minmax(100px,1fr) 70px 42px; align-items:center; gap:5px; padding:14px 9px; border:1px solid #315171; border-top:0; background:#0e2039; font-size:.6rem; text-align:center; }
.coac-history__entry:last-child { border-radius:0 0 12px 12px; }
.coac-history__entry > span:nth-child(2) { display:grid; gap:4px; min-width:0; text-align:left; overflow-wrap:anywhere; }
.coac-history__entry small { color:#84dfff; font-size:.48rem; }
.coac-history__entry > span:nth-child(3) { color:#91a5bc; font-size:.45rem; }

/* Estados legibles del selector de formación, incluso en la opción activa deshabilitada. */
.components-formation-menu { width:min(250px,calc(100vw - 48px)); padding:5px; gap:3px; border:2px solid #70ddff; background:#0c1b32; }
.components-formation-menu button { min-height:30px; padding:3px 8px; border:1px solid #6b7e97; opacity:1; }
.components-formation-menu button span { font-size:.62rem; }
.components-formation-menu button b { flex-shrink:0; padding:2px 5px; border-radius:5px; font-size:.43rem; line-height:1.1; }
.components-formation-menu button:disabled { opacity:1; }
.components-formation-menu button.is-current { border-color:#9bf5be; color:#fff; background:linear-gradient(135deg,#247e53,#155336); box-shadow:inset 0 1px rgba(255,255,255,.2); }
.components-formation-menu button.is-current b { color:#123d24; background:#a3f1bc; }
.components-formation-menu button.is-available { border-color:#5bd8ff; color:#fff; background:linear-gradient(135deg,#167ea6,#195080); cursor:pointer; }
.components-formation-menu button.is-available b { color:#072c45; background:#8ae4ff; }
.components-formation-menu button.is-available:active { background:#256f9b; }
.components-formation-menu button.is-locked { border-color:#59697e; color:#bec8d6; background:#263246; }
.components-formation-menu button.is-locked b { color:#cbd4df; background:#162134; }

.components-stage.is-formation-menu-open { overflow:visible; z-index:10; }

.online-schedule { display:grid; width:100%; margin:20px 0 10px; padding:0; gap:8px; list-style:none; }
.online-schedule li { display:flex; gap:12px; align-items:center; padding:12px 10px; border:1px solid #376d8b; border-radius:12px; background:#102943; text-align:left; }
.online-schedule time { color:#7ae5ff; font-size:1.05rem; font-weight:900; }
.online-schedule span { color:#fff; font-size:.65rem; font-weight:900; line-height:1.15; }
.online-schedule li.online-schedule__final { border-color:#ffd56b; background:linear-gradient(135deg,#69332d,#351c35); }
.online-schedule__final time,.online-schedule__final span { color:#ffe396; }
.community-empty .online-timezone { color:#83b4ca; font-size:.55rem; }
.community-empty .online-coming-soon { margin-top:16px; font-size:.62rem; }

.community-empty img.online-brand { width:min(100%,280px); height:auto; object-fit:contain; }

/* December's general rehearsal: a quiet room, real cast and foreground audience. */
.general-rehearsal { background:#081e18; }
.general-rehearsal__panel { min-height:100%; background:linear-gradient(155deg,#163c30,#091c20 65%); padding-bottom:max(18px,env(safe-area-inset-bottom)); }
.general-rehearsal .section-header h1 { font-size:clamp(20px,5.4vw,29px); }
.general-rehearsal__scene { position:relative; isolation:isolate; width:100%; aspect-ratio:748/434; overflow:hidden; background-position:center; background-size:cover; border-top:0; border-bottom:2px solid var(--section-accent); }
.general-rehearsal__lights { position:absolute; inset:0; z-index:0; background:linear-gradient(#17223566,transparent 25%,transparent 65%,#071324b8); pointer-events:none; }
.general-rehearsal__identity { position:absolute; z-index:6; top:12px; left:12px; right:12px; width:fit-content; max-width:calc(100% - 24px); border:1px solid #e2bb76; border-radius:8px; padding:5px 10px; background:#10233fea; color:#fff1c7; text-transform:uppercase; font-size:12px; font-weight:900; box-sizing:border-box; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.general-rehearsal__cast { position:absolute; left:2%; right:2%; top:16%; height:62%; }
.general-rehearsal__cast img { position:absolute; left:50%; top:var(--y); z-index:var(--z); width:28%; height:64%; object-fit:contain; object-position:center bottom; transform:translateX(var(--offset)); }
.general-rehearsal[data-modality="cuarteto"] .general-rehearsal__cast img { top:calc(var(--y) - 12%); height:76%; }
.general-rehearsal__audience { position:absolute; inset:0; z-index:10; pointer-events:none; }
.general-audience-person { position:absolute; width:28%; height:48%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); }
.general-rehearsal__intro,.general-rehearsal__live { margin:18px 14px 0; padding:18px; border:1px solid #408e62; border-radius:18px; background:#15382c; text-align:center; box-shadow:0 5px 0 #050f20; }
.general-rehearsal__intro>small,.general-rehearsal__live>small {color:#8eeba4;font-weight:900;font-size:11px;letter-spacing:.1em;}
.general-rehearsal__intro h2,.general-rehearsal__live h2 {margin:5px 0 8px;color:#fff4db;font-size:24px;line-height:1.1;}
.general-rehearsal__intro p,.general-rehearsal__live p {color:#d3e1ed;font-size:16px;line-height:1.35;margin:0;}
.general-rehearsal__details {display:flex;justify-content:center;gap:8px;margin:14px 0;}
.general-rehearsal__details span {padding:4px 10px;background:#0a241a;border-radius:6px;color:#b8dcc3;font-size:12px;}
.general-rehearsal__start {width:100%;min-height:54px;padding:10px;border:2px solid #b6f3a3;border-radius:12px;background:linear-gradient(#8fdd63,#3b9c3e);box-shadow:0 5px 0 #1e582b,inset 0 2px #eaffb280;color:#102c1a;font-family:inherit;line-height:1.15;font-size:19px;font-weight:900;cursor:pointer;touch-action:manipulation;}
.general-rehearsal__start:active {transform:translateY(2px);box-shadow:0 3px 0 #1e582b;}.general-rehearsal__start:disabled {filter:grayscale(1);opacity:.5;cursor:default;}
.general-rehearsal__start { display:flex; align-items:center; justify-content:center; gap:12px; }
.general-rehearsal__start span {font-size:32px;line-height:1;}
.general-rehearsal [hidden] {display:none!important;}
@media (max-height:700px) { .general-rehearsal__scene {aspect-ratio:748/434;} .general-rehearsal__intro {margin-top:12px;padding:14px;} }

.artisan-tabs button[aria-selected="true"] {color:#fff;border-color:#e3aeff;background:linear-gradient(#bc66e3,#8237ae);box-shadow:inset 0 2px #ffffff40,0 3px 0 #4f216b;}
[data-artisan-view][hidden] {display:none!important;}


[data-repertoire-powerups][hidden] { display:none; }
[data-repertoire-powerups] .powerup-list,.costume-powerups .powerup-list { grid-template-columns:repeat(5,minmax(0,1fr)); }

.backdrop-picker { padding:0 0 18px; }
.backdrop-picker.is-confirmed { padding-bottom:0; }
.backdrop-picker [hidden] { display:none!important; }
.backdrop-picker > label,.backdrop-picker > p { margin-inline:14px; }
.backdrop-picker > select { width:calc(100% - 28px); margin-inline:14px; }
.backdrop-picker > label { display:block; margin-top:18px; margin-bottom:9px; color:#78dffc; font-weight:900; }
.costume-proposals__group--legend { --costume-tier:#d4a0ff; --costume-tier-dark:#683998; --costume-tier-border:#aa70db; --costume-tier-bg:#2c1944; }
.backdrop-preview__stage > img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; background:#10162c; }
.backdrop-preview__stage > img[hidden] { display:none; }
.backdrop-preview .costume-proposals__tier { grid-template-columns:auto minmax(0,1fr) auto; margin-inline:14px; }
.backdrop-preview .costume-proposals__tier-price { justify-self:end; font-size:.65rem; white-space:nowrap; }
.backdrop-picker > p { color:#d5c3e5; font-size:.65rem; line-height:1.4; }

.backdrop-preview__stage { position:relative; overflow:hidden; border-radius:0; border-bottom:2px solid var(--section-accent); }
.backdrop-preview__stage[hidden] { display:none; }
.backdrop-preview__cast.costume-formation__cast { display:block; inset:0 2% 10px; padding:0; pointer-events:none; }
.backdrop-preview__cast.costume-formation__cast > img { position:absolute; top:var(--y); left:50%; width:28%; height:64%; margin:0; transform:translateX(var(--offset)); }

.costume-formation__labels { position:absolute; z-index:8; top:8px; left:8px; max-width:calc(100% - 16px); display:flex; flex-direction:column; align-items:flex-start; gap:4px; pointer-events:none; }
.costume-formation__labels[hidden] { display:none; }
.costume-formation__labels > .costume-formation__identity { position:static; max-width:100%; box-sizing:border-box; }

.coac-group-label { top:auto; bottom:8px; left:8px; right:8px; max-width:none; align-items:stretch; }
.coac-group-label > .costume-formation__identity { width:100%; }

.general-rehearsal__actions { border-top-color:rgba(var(--section-accent-rgb),.55); background:linear-gradient(180deg,rgba(9,30,24,.96),#081e18 28%); }
.general-rehearsal:not(.has-started) .general-rehearsal__panel { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }

.artisan-stage-score.section-count--rating { position:absolute; z-index:9; top:8px; right:8px; }
.costume-formation__stage .costume-formation__labels,.backdrop-preview__stage .costume-formation__labels { max-width:calc(100% - 95px); }
.powerup-list button > span { position:relative; }
.artisan-powerup-bonus { position:absolute; right:4px; bottom:3px; z-index:1; color:#ffdf38; font-size:clamp(18px,4.5vw,26px); line-height:1; font-style:normal; font-weight:900; -webkit-text-stroke:2px #000; paint-order:stroke fill; text-shadow:0 2px 0 #000; pointer-events:none; }
[data-artisan-powerup-list] button:disabled { opacity:.5; cursor:default; }

.repertoire-powerup-picker { display:grid; gap:18px; padding:20px; }
.repertoire-powerup-picker select { width:100%; min-width:0; padding:12px; border:2px solid #d8ae56; border-radius:10px; background:#162541; color:#fff; font:700 16px "Baloo 2",sans-serif; }
[data-repertoire-powerups] button:disabled { opacity:.5; cursor:default; }

/* General rehearsal: lightweight audience reactions and persisted advice. */
.general-rehearsal .general-rehearsal__panel {padding-bottom:calc(110px + env(safe-area-inset-bottom));}
.general-rehearsal__reaction {position:absolute;z-index:12;bottom:25%;left:50%;transform:translateX(-50%);width:max-content;max-width:80%;padding:12px 16px;border:2px solid #173c2c;border-radius:16px;background:#fff9e9;color:#163526;text-align:center;font-weight:900;font-size:clamp(16px,4vw,22px);line-height:1.2;box-shadow:0 4px 0 #10291b66;}
.general-rehearsal__reaction::after {content:'';position:absolute;bottom:-10px;left:45%;border:10px solid transparent;border-bottom:0;border-top-color:#fff9e9;}
.general-rehearsal__controls {display:flex;justify-content:space-between;gap:10px;}
.general-rehearsal__controls button {min-height:44px;flex:1;border:1px solid #7bc997;border-radius:10px;background:#173d2d;color:#e6f8e8;font-weight:700;font-size:13px;line-height:1.2;padding:8px;cursor:pointer;font-family:inherit;}
.general-rehearsal__status {color:#ffe8a0;text-align:center;margin:12px 18px;}
.general-rehearsal__progress {display:grid;gap:6px;margin-top:14px;}
.general-rehearsal__progress>div {display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;background:#0b281e;color:#d3e1ed;text-align:left;}
.general-rehearsal__progress .is-focus {border:1px solid #8eeba4;color:#ceffd7;}
.general-rehearsal.is-playing .general-rehearsal__cast img {transform-origin:center bottom;animation:cuartetoSpeakingSquash .8s ease-in-out infinite;}
.general-rehearsal.is-playing .general-rehearsal__cast img:nth-child(2n) {animation-delay:-.7s;}
.general-rehearsal.is-playing .general-rehearsal__cast img:nth-child(3n) {animation-delay:-1.2s;}
.general-rehearsal.is-paused .general-rehearsal__cast img {animation-play-state:paused;}
@keyframes general-rehearsal-sway {from{transform:translateX(var(--offset)) rotate(-.7deg);}to{transform:translateX(var(--offset)) translateY(-2px) rotate(.7deg);}}
@media(prefers-reduced-motion:reduce){.general-rehearsal.is-playing .general-rehearsal__cast img{animation:none;}}

[data-artisan-score][hidden], [data-backdrop-picker][hidden] { display:none!important; }


/* Confirmation uses the framed cards and raised buttons of Artesanos. */
.tipo-powerup-confirm{width:min(92vw,420px);max-height:calc(100dvh - 28px);box-sizing:border-box;overflow:auto;border:3px solid #b584e9;border-radius:22px;padding:0;color:#fff;background:linear-gradient(145deg,#302346,#11182f);text-align:center;font-family:"Baloo 2",sans-serif;box-shadow:0 6px 0 #130d24,0 22px 55px #0009}
.tipo-powerup-confirm::backdrop{background:#050918d9}
.tipo-powerup-confirm header{padding:17px 14px 14px;border-bottom:2px solid #9765c6;background:linear-gradient(135deg,#613b86,#30224f);box-shadow:inset 0 3px #ffffff20}
.tipo-powerup-confirm header>small{color:#e4c3ff;font-size:12px;font-weight:900;letter-spacing:1px}
.tipo-powerup-confirm h2{margin:3px 0 0;font-size:clamp(22px,6vw,28px);line-height:1.15;color:#fff0b2;text-shadow:0 3px #241437}
.tipo-powerup-confirm__body{padding:18px;display:grid;gap:16px}
.tipo-powerup-confirm__item{display:flex;align-items:center;gap:15px;text-align:left;padding:12px;border:2px solid #9374b4;border-radius:16px;background:linear-gradient(140deg,#443359,#201e39);box-shadow:inset 0 2px #ffffff1f,0 4px #090f22}
.tipo-powerup-confirm__icon{position:relative;flex:0 0 76px;width:76px;height:80px;display:grid;place-items:center;background:#13172a;border:2px solid #d2acef;border-radius:14px}
.tipo-powerup-confirm__icon img{width:64px;height:64px;object-fit:contain}
.tipo-powerup-confirm__icon em{position:absolute;right:-5px;bottom:-7px;color:#ffdc53;font-size:26px;font-style:normal;font-weight:900;-webkit-text-stroke:1px #23152e;paint-order:stroke fill;text-shadow:0 2px #000}
.tipo-powerup-confirm__item small{display:block;color:#d5b3ef;font-size:10px;font-weight:900;letter-spacing:.4px}
.tipo-powerup-confirm h3{margin:3px 0;font-size:22px;line-height:1.1}
.tipo-powerup-confirm__item p{margin:5px 0 0;color:#e0d9eb;font-size:13px}
.tipo-powerup-confirm__scores{display:grid;grid-template-columns:1fr 30px 1fr;gap:8px;align-items:center}
.tipo-powerup-confirm__scores>div{padding:11px 5px;border:2px solid #778399;border-radius:14px;background:linear-gradient(#25354d,#141f33);box-shadow:inset 0 2px #ffffff18,0 4px #080e1b}
.tipo-powerup-confirm__scores small{display:block;font-size:11px;font-weight:900;letter-spacing:1px;color:#c9d7e9}
.tipo-powerup-confirm__scores strong{display:block;font-size:46px;line-height:1.1;text-shadow:0 3px #060d1e}
.tipo-powerup-confirm__scores>span{font-size:40px;color:#ffe088}
.tipo-powerup-confirm__scores .tipo-powerup-confirm__after{border-color:#f8d67d;background:linear-gradient(#79531e,#352b25)}
.tipo-powerup-confirm__after strong{color:#ffe28b}
.tipo-powerup-confirm [data-effect]{margin:0;color:#eee7f9;font-size:15px;line-height:1.3}
.tipo-powerup-confirm footer{display:flex;gap:10px;padding:14px 16px 20px;background:#12172c;border-top:1px solid #795296}
.tipo-powerup-confirm button{flex:1;min-height:48px;border:3px solid #a9b4cd;border-radius:12px;padding:10px 7px;background:linear-gradient(#546581,#2e3d57);box-shadow:inset 0 3px #ffffff30,0 5px #121b2c;color:#fff;font:900 13px/1.1 "Baloo 2",sans-serif;cursor:pointer}
.tipo-powerup-confirm [data-apply]{flex:1.5;background:linear-gradient(#ffe58d,#efb33e);border-color:#fff0b2;box-shadow:inset 0 3px #ffffff66,0 5px #775022;color:#39280e}
.tipo-powerup-confirm [data-apply]{display:flex;align-items:center;justify-content:center;gap:10px}
.tipo-powerup-confirm [data-apply] span{display:block;flex:none;width:8px;height:8px;margin:0;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg)}
.tipo-powerup-confirm button:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff20,0 2px #121b2c}
.tipo-powerup-confirm button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-height:600px){.tipo-powerup-confirm__body{padding:12px;gap:10px}.tipo-powerup-confirm header{padding:10px}.tipo-powerup-confirm__scores strong{font-size:36px}}

.repertoire-powerup-choices{display:flex;gap:6px;overflow-x:auto;padding:3px 2px 7px}
.repertoire-powerup-choices button{flex:1;min-width:55px;padding:6px 3px;display:grid;justify-items:center;gap:3px;border-width:2px}
.repertoire-powerup-choices button[aria-pressed="true"]{border-color:#ffe285;background:linear-gradient(#695025,#332a25);box-shadow:0 3px #735121}
.repertoire-powerup-choices img{width:38px;height:38px;object-fit:contain}
.repertoire-powerup-choices span{font-size:10px;line-height:1.15}
.repertoire-powerup-choices small{color:#ffe28b;font-size:12px}
.repertoire-score-piece[role="button"]{cursor:pointer}
.repertoire-score-piece[role="button"]:focus-visible{outline:2px solid #ffe285;outline-offset:3px}

.tipo-powerup-confirm button:disabled{opacity:.42;cursor:default;transform:none}
.repertoire-powerup-choices button:disabled img{filter:grayscale(1)}
.repertoire-powerup-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
.repertoire-powerup-choices button{min-width:0}

.artisan-powerup-bonus.is-empty{color:#fff}
[data-repertoire-powerups] .powerup-list button>small,.costume-powerups .powerup-list button>small{font-size:clamp(9px,2.5vw,12px);white-space:nowrap}
[data-artisan-powerup-list] button:disabled{opacity:1}
[data-artisan-powerup-list] button:disabled img{opacity:.5}

.repertoire-powerup-choice-icon{position:relative;display:grid;place-items:center;width:100%;height:48px}
.repertoire-powerup-choice-icon .artisan-powerup-bonus{right:0;bottom:0;font-size:21px}
.repertoire-powerup-choices button>small{font-size:clamp(8px,2.2vw,10px);white-space:nowrap}
.tipo-powerup-confirm .repertoire-powerup-choices button:disabled{opacity:1}
.repertoire-powerup-choices button:disabled img{opacity:.45}

/* Colección permanente de entradas, dentro de Misiones. */
.melody-collection>p{color:#c2d2e8;font-size:.75rem;line-height:1.4}
.melody-collection>button,.melody-collection [data-entry-more]{width:100%;margin-top:12px}
.melody-collection [hidden]{display:none!important}
.melody-collection__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.melody-collection__entry{display:flex;min-width:0;flex-direction:column;gap:9px;padding:13px 10px;border:2px solid #bf925f;border-radius:13px;background:#12213b;color:#fff;text-align:left;font-family:inherit;cursor:pointer}
.melody-collection__entry strong{font-size:.75rem;line-height:1.3}
.melody-collection__entry span{align-self:flex-start;padding:3px 7px;border-radius:6px;background:#705033;font-size:.65rem;font-weight:900}
.melody-collection__entry small{color:#81dcff;font-size:.65rem;font-weight:900}
.melody-collection__entry[data-quality="silver"]{border-color:#bcd4e6}.melody-collection__entry[data-quality="silver"] span{background:#bcd4e6;color:#12213b}
.melody-collection__entry[data-quality="gold"]{border-color:#ffdc74}.melody-collection__entry[data-quality="gold"] span{background:#ffdc74;color:#432c09}
.melody-collection__entry[data-quality="legend"]{border-color:#cd9aff}.melody-collection__entry[data-quality="legend"] span{background:#cd9aff;color:#291340}

/* Escudos de agrupación: la imagen ya incorpora el marco de calidad. */
.mission-card.mission-card--quality[data-mission-state] .mission-card__emblem.mission-card__emblem--image{width:min(82px,100%);height:auto;aspect-ratio:1;margin-top:0;margin-bottom:8px;border:0;border-radius:0;background:transparent;box-shadow:none;text-shadow:none}

/* Inspiraciones: el escudo incluye su marco Oro o Leyenda. */
.mission-card.mission-card--inspiration[data-mission-state] .mission-card__emblem.mission-card__emblem--image{width:min(82px,100%);height:auto;aspect-ratio:1;border:0;border-radius:0;background:transparent;box-shadow:none;text-shadow:none;transform:none}

/* Tres posiciones iguales, aunque Repertorio tenga una sola misión. */
.mission-group[aria-labelledby="missions-modalities-title"] .mission-list,
.mission-list--repertoire{grid-template-columns:repeat(3,minmax(0,1fr))}
.mission-list--repertoire::before{display:none}

.mission-card--inspiration .mission-card__emblem--image img{filter:none}

/* Recompensas listas: el mismo movimiento y halo del Game Center. */
.mission-card[data-mission-state="pending"]{z-index:2;overflow:visible;animation:missionClaimTarget 1.35s ease-in-out infinite}
.mission-card[data-mission-state="pending"]::before{content:"RECOGER ›";font-size:clamp(.48rem,2vw,.62rem);padding:5px 9px;pointer-events:none}
.mission-card[data-mission-state="pending"]::after{content:"";position:absolute;inset:-3px;z-index:-1;border:2px solid #ffe467;border-radius:19px;box-shadow:0 0 0 2px #ff6d2c66,0 0 12px #ffda3388;pointer-events:none;animation:missionClaimRing 1.35s ease-out infinite}
.mission-card[data-mission-state="pending"]:focus-visible{outline:3px solid #fff;outline-offset:5px}
html body button.modal-action[data-entry-claim]:not([hidden]):not(:disabled){animation:missionClaimTarget 1.35s ease-in-out infinite;box-shadow:0 4px #80510a,0 0 14px #ffda3377}
@keyframes missionClaimTarget{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}
@keyframes missionClaimRing{0%,100%{opacity:.6;transform:scale(.99)}50%{opacity:1;transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.mission-card[data-mission-state="pending"],.mission-card[data-mission-state="pending"]::after,html body button.modal-action[data-entry-claim]:not([hidden]):not(:disabled){animation:none}}

/* Progreso de ensayos: puntuación a la izquierda del nombre y la letra. */
.rehearsal-piece-list .rehearsal-piece{grid-template-columns:24px minmax(0,1fr);column-gap:6px}
.rehearsal-piece-list .rehearsal-piece > strong{grid-column:2;grid-row:1;padding-right:0}
.rehearsal-piece-list .rehearsal-piece__writing-score{position:static;grid-column:1;grid-row:1;align-self:center;justify-self:center;width:22px;height:22px}
.rehearsal-piece-list .rehearsal-piece__title{grid-column:2;grid-row:2;min-width:0}
.rehearsal-piece-list > .rehearsal-piece > i{grid-column:1/-1;grid-row:2}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece{grid-template-rows:minmax(11px,auto) minmax(11px,auto) 15px}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece__writing-score{grid-row:1/3}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece > i{grid-column:1/-1;grid-row:3}

/* Marcador de calidad: cifra protagonista y placa dorada del juego. */
.rehearsal-piece-list .rehearsal-piece{grid-template-columns:34px minmax(0,1fr);column-gap:7px}
.piece-quality-badge,.rehearsal-piece-list .rehearsal-piece .rehearsal-piece__writing-score{display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;border:2px solid #fff0a1;border-radius:9px;color:#ffe681;background:linear-gradient(155deg,#30496b,#14243d 60%,#09152b);box-shadow:inset 0 2px 0 #ffffff30,inset 0 -3px 0 #030a1866,0 3px 0 #050c19;font-family:"Baloo 2",system-ui,sans-serif;font-size:.9rem;font-weight:900;line-height:1;text-shadow:0 2px 0 #070e1d}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece{grid-template-rows:minmax(15px,auto) minmax(15px,auto) 15px;row-gap:3px}
.rehearsal-piece-list > .rehearsal-piece{row-gap:6px;padding-block:7px}

.general-rehearsal__visitor{display:flex;align-items:center;gap:12px;text-align:left}
.general-rehearsal__visitor>img{flex:none;width:80px;height:108px;object-fit:contain;filter:drop-shadow(0 4px 5px #0006)}
.general-rehearsal__visitor>div{min-width:0}
.general-rehearsal__visitor small{color:#ffdf8c;font-size:10px;font-weight:900;letter-spacing:.08em}
.general-rehearsal__visitor h2{font-size:22px}
.general-rehearsal__visitor p{font-size:14px}
.general-rehearsal [data-general-report]{margin-top:16px;text-align:left}
.general-rehearsal__outlook{display:grid;gap:7px;margin:16px 0;padding-top:12px;border-top:1px solid #408e62}
.general-rehearsal__outlook>div{display:flex;justify-content:space-between;gap:12px;color:#d3e1ed;font-size:14px}
.general-rehearsal__outlook strong{text-align:right;color:#ffe2a0}
.general-rehearsal__live .general-rehearsal__assumption{font-size:13px;line-height:1.45;color:#b8c9c0}

/* La visita de leyenda comparte el lenguaje de sobres y recompensas. */
.general-rehearsal__live{position:relative;margin:16px 12px 0;padding:16px;border:2px solid #efc977;border-radius:20px;background:radial-gradient(ellipse at 8% 0%,#69469377,transparent 65%),linear-gradient(145deg,#282344,#101c32);box-shadow:inset 0 2px 0 #fff2bd30,0 5px 0 #080e1c,0 9px 20px #0004;overflow:hidden}
.general-rehearsal__visitor{gap:12px;min-height:116px}
.general-rehearsal__visitor>img{width:90px;height:122px;filter:drop-shadow(0 0 13px #efb75755) drop-shadow(0 5px 2px #0008)}
.general-rehearsal__visitor small{display:inline-block;padding:4px 7px;border:1px solid #f6d991;border-radius:5px;background:linear-gradient(#ffe3a3,#d4a652);color:#38284a;font-size:9px;letter-spacing:.08em;box-shadow:0 2px 0 #68431c}
.general-rehearsal__visitor h2{margin:8px 0 5px;color:#fff1bf;font-size:26px;text-shadow:0 3px 0 #100d22}
.general-rehearsal__visitor p{font-size:14px;line-height:1.4;color:#e2e6f5}
.general-rehearsal [data-general-report]{padding-top:14px;border-top:1px solid #e8c27b44}
.general-rehearsal [data-general-advice]{padding:12px;border-left:3px solid #efc977;border-radius:0 9px 9px 0;background:#ffffff08;font-size:14px;line-height:1.5;color:#f3eedf}
.general-rehearsal__report-title{margin:18px 0 10px;color:#b9c9e6;font-size:11px;font-weight:900;letter-spacing:.09em}
.general-rehearsal__progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}
.general-rehearsal__progress>div{--quality-color:#d8a274;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 5px;padding:10px;border:1px solid #ffffff24;border-radius:11px;background:linear-gradient(145deg,#24334d,#101c32);box-shadow:inset 0 1px 0 #ffffff12,0 2px 0 #070e1b}
.general-rehearsal__progress>div[data-quality="silver"]{--quality-color:#c7e2f5}
.general-rehearsal__progress>div[data-quality="gold"]{--quality-color:#ffd26f}
.general-rehearsal__progress>div[data-quality="legend"]{--quality-color:#deabff}
.general-rehearsal__progress>div>span{font-size:12px;font-weight:800;line-height:1.15}
.general-rehearsal__progress>div>strong{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid var(--quality-color);border-radius:8px;background:#080e21;color:var(--quality-color);font-size:20px;text-shadow:0 2px #000}
.general-rehearsal__progress>div>i{grid-column:1/-1;height:5px;border-radius:5px;background:linear-gradient(to right,var(--quality-color) var(--score),#060e1d var(--score));box-shadow:inset 0 1px 2px #0005}
.general-rehearsal__outlook{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0;border:0}
.general-rehearsal__outlook>div{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid #ffffff20;border-top:3px solid #a8b5ce;border-radius:10px;background:#0a1326}
.general-rehearsal__outlook>div>span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.general-rehearsal__outlook strong{text-align:left;font-size:13px;line-height:1.25;color:#c0cadb}
.general-rehearsal__outlook>div[data-outlook="strong"]{border-top-color:#74dfa7}
.general-rehearsal__outlook>div[data-outlook="strong"] strong{color:#8ee8b6}
.general-rehearsal__outlook>div[data-outlook="possible"]{border-top-color:#f1ca77}
.general-rehearsal__outlook>div[data-outlook="possible"] strong{color:#f1ca77}
.general-rehearsal__live .general-rehearsal__assumption{font-size:12px;color:#a8b8d0}
@media(max-width:350px){.general-rehearsal__live{padding:12px;margin-inline:9px}.general-rehearsal__visitor{gap:8px}.general-rehearsal__visitor>img{width:70px;height:106px}.general-rehearsal__visitor h2{font-size:23px}.general-rehearsal__visitor p{font-size:12px}.general-rehearsal__progress>div{padding:8px}.general-rehearsal__progress>div>span{font-size:11px}}

.general-rehearsal__playback{margin:0 2px 10px}
.general-rehearsal__playback>div{display:flex;justify-content:space-between;margin-bottom:5px;color:#caefd7;font-size:11px;font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.general-rehearsal__playback progress{display:block;width:100%;height:12px;overflow:hidden;appearance:none;border:1px solid #4d805c;border-radius:5px;background:#091b18;box-shadow:inset 0 2px 3px #0008}
.general-rehearsal__playback progress::-webkit-progress-bar{background:#091b18}
.general-rehearsal__playback progress::-webkit-progress-value{background:linear-gradient(#c6ffd0,#70e58a 38%,#187c3b)}
.general-rehearsal__playback progress::-moz-progress-bar{background:linear-gradient(#c6ffd0,#70e58a 38%,#187c3b)}
.general-rehearsal.is-playing .general-rehearsal__panel{padding-bottom:calc(150px + env(safe-area-inset-bottom))}

/* Carta del invitado legendario. */
.general-rehearsal__visitor{position:relative;isolation:isolate;padding:14px 12px;border:1px solid #f4cc7977;border-radius:15px;background:radial-gradient(ellipse at 15% 40%,#965ed766,transparent 65%),linear-gradient(135deg,#3e285c,#171b35 75%);box-shadow:inset 0 2px 0 #ffe9a422,inset 0 -3px 0 #080c2180,0 4px 10px #0004;gap:14px}
.general-rehearsal__visitor::before{content:"";position:absolute;z-index:-1;inset:5px;border:1px solid #ffdc8c18;border-radius:11px;pointer-events:none}
.general-rehearsal__portrait{position:relative;flex:none;display:grid;place-items:center;width:90px;height:132px;border:2px solid #f5d184;border-radius:12px 12px 18px 18px;background:radial-gradient(ellipse at 50% 35%,#b77aef77,#342653 65%,#14152e);box-shadow:inset 0 0 0 3px #1d163c,0 4px 0 #79512e,0 0 18px #ba7cfa33;overflow:visible}
.general-rehearsal__portrait>img{width:110%;height:120px;object-fit:contain;transform:translateY(-6px);filter:drop-shadow(0 5px 3px #0008)}
.general-rehearsal__portrait>span{position:absolute;bottom:4px;left:0;right:0;text-align:center;color:#ffdf83;font-size:12px;letter-spacing:3px;text-shadow:0 2px #6c3e19}
.general-rehearsal__visitor>div:last-child{flex:1;min-width:0}
.general-rehearsal__visitor small{font-size:8px;padding:4px 6px;letter-spacing:.045em}
.general-rehearsal__visitor h2{width:fit-content;max-width:100%;box-sizing:border-box;margin:9px 0 8px;padding:4px 10px;border:1px solid #f1d187;border-radius:6px;background:linear-gradient(135deg,#ffe9ab,#e6b653);color:#352139;text-shadow:0 1px #fff2c0;box-shadow:0 3px 0 #885c30;font-size:23px;overflow-wrap:anywhere}
.general-rehearsal__visitor p{font-size:12px;line-height:1.4}
.general-rehearsal__listening{display:none;align-items:center;gap:6px;margin-top:10px;color:#b9f5df;font-size:8px;font-weight:900;letter-spacing:.025em}
.general-rehearsal.is-playing .general-rehearsal__listening{display:flex}
.general-rehearsal__listening>i{display:flex;align-items:center;gap:2px;height:14px}
.general-rehearsal__listening b{display:block;width:3px;height:12px;border-radius:2px;background:#8ff0c5;animation:general-listening-bars .8s ease-in-out infinite alternate;transform-origin:center}
.general-rehearsal__listening b:nth-child(2){animation-delay:-.6s;height:8px}
.general-rehearsal__listening b:nth-child(3){animation-delay:-.3s}
.general-rehearsal__listening b:nth-child(4){animation-delay:-.5s;height:9px}
.general-rehearsal.is-paused .general-rehearsal__listening b{animation-play-state:paused}
@keyframes general-listening-bars{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.general-rehearsal__listening b{animation:none}}
@media(max-width:350px){.general-rehearsal__visitor{padding:11px 8px;gap:10px}.general-rehearsal__portrait{width:68px;height:112px}.general-rehearsal__portrait>img{height:102px}.general-rehearsal__visitor h2{font-size:20px;padding:4px 7px}.general-rehearsal__visitor small{font-size:7px}.general-rehearsal__listening{font-size:7px}}

/* Un solo marco para la tarjeta de leyenda, sin una segunda caja interior. */
.general-rehearsal__visitor{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.general-rehearsal__visitor::before{content:none}
@media(max-width:350px){.general-rehearsal__visitor{padding:0}}

.general-rehearsal [data-general-advice]{position:relative;margin-top:8px;padding:13px 14px;border:2px solid #19345d;border-radius:15px;color:#14223a;background:linear-gradient(#fff,#eef5fb);box-shadow:0 4px 0 #06122a73,0 7px 16px #0004;font-size:14px;font-weight:900;line-height:1.35}
.general-rehearsal [data-general-advice]::before{content:"";position:absolute;top:-9px;left:32px;width:14px;height:14px;border-top:2px solid #19345d;border-left:2px solid #19345d;background:#fff;transform:rotate(45deg)}
.general-rehearsal__portrait>img{transform:none}

.general-rehearsal__phase-highlight{color:#7626b5;background:#eee0ff;border-radius:4px;padding:1px 4px;font-weight:900;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.general-rehearsal__live .general-rehearsal__assumption{margin-top:14px}

/* Potenciadores disponibles: brillo del marco y movimiento suave del objeto. */
:is([data-repertoire-powerups],[data-artisan-powerup-list]) button.has-powerup-stock:not(:disabled)>span{border-color:#ffdb70;box-shadow:inset 0 0 9px #ffcd482b,0 0 9px #ffcb4540}
:is([data-repertoire-powerups],[data-artisan-powerup-list]) button.has-powerup-stock:not(:disabled)>span::after{content:"";position:absolute;inset:0;border:2px solid #ffe797;border-radius:inherit;box-shadow:inset 0 0 12px #ffda7466;pointer-events:none;animation:powerup-stock-glow 2s ease-in-out infinite}
:is([data-repertoire-powerups],[data-artisan-powerup-list]) button.has-powerup-stock:not(:disabled)>span>img{animation:powerup-stock-float 2s ease-in-out infinite}
@keyframes powerup-stock-glow{0%,100%{opacity:.2}50%{opacity:.85}}
@keyframes powerup-stock-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){:is([data-repertoire-powerups],[data-artisan-powerup-list]) button.has-powerup-stock:not(:disabled)>span::after,:is([data-repertoire-powerups],[data-artisan-powerup-list]) button.has-powerup-stock:not(:disabled)>span>img{animation:none}}

.tipo-powerup-confirm .powerup-effect-points{display:inline-block;margin:3px 2px;padding:4px 9px;border:1px solid #fff0ab;border-radius:7px;background:linear-gradient(#ffeaa2,#f4bf4d);color:#452709;font-size:1.1em;font-weight:900;line-height:1.2;white-space:nowrap;text-shadow:0 1px #fff2bd;box-shadow:inset 0 1px #fff9d9,0 3px 0 #855617}

/* Calidad de cada copla: misma paleta que el informe del ensayo general. */
.repertoire-score-piece[data-quality]{--piece-color:#d8a274;--piece-dark:#80502f}
.repertoire-score-piece[data-quality="silver"]{--piece-color:#c7e2f5;--piece-dark:#688ba6}
.repertoire-score-piece[data-quality="gold"]{--piece-color:#ffd26f;--piece-dark:#aa761e}
.repertoire-score-piece[data-quality="legend"]{--piece-color:#deabff;--piece-dark:#8c45b5}
.repertoire-score-piece[data-quality="missing"]{--piece-color:#8493aa;--piece-dark:#46536b}
.repertoire-scores .repertoire-score-piece[data-quality]>.piece-quality-badge{border-color:var(--piece-color);color:var(--piece-color);background:linear-gradient(145deg,#24334d,#080e21);text-shadow:0 2px #000}
.repertoire-scores .repertoire-score-piece[data-quality]>span{border-color:var(--piece-dark)}
.repertoire-scores .repertoire-score-piece[data-quality]>span>i{background:linear-gradient(180deg,var(--piece-color),var(--piece-dark));box-shadow:inset 0 1px #ffffff77,inset 0 -2px #0003}

/* La calidad colorea únicamente la cifra; el progreso de ensayo sigue verde. */
:is([data-rehearsal-piece],[data-picker-piece])[data-quality]{--rehearsal-quality:#d8a274}
:is([data-rehearsal-piece],[data-picker-piece])[data-quality="silver"]{--rehearsal-quality:#c7e2f5}
:is([data-rehearsal-piece],[data-picker-piece])[data-quality="gold"]{--rehearsal-quality:#ffd26f}
:is([data-rehearsal-piece],[data-picker-piece])[data-quality="legend"]{--rehearsal-quality:#deabff}
:is([data-rehearsal-piece],[data-picker-piece])[data-quality="missing"]{--rehearsal-quality:#8493aa}
.rehearsal-piece-list [data-rehearsal-piece][data-quality]>.rehearsal-piece__writing-score,[data-picker-piece][data-quality]>.rehearsal-picker__writing-score{color:var(--rehearsal-quality);border-color:var(--rehearsal-quality);background:linear-gradient(145deg,#24334d,#080e21);text-shadow:0 2px #000}

/* Igual que Repertorio: nombre y título juntos junto a la puntuación. */
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece{row-gap:1px}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece>strong{align-self:end;line-height:1.05}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece>.rehearsal-piece__title{align-self:start;line-height:1.1}
.rehearsal-piece-list .rehearsal-piece-block .rehearsal-piece>i{margin-top:4px}

/* El bloque inicial de powerups aprovecha el ancho del modal con 6px de margen. */
.tipo-powerup-confirm__body>:is(.repertoire-powerup-choices,.tipo-powerup-confirm__item):first-child{margin-top:-12px;margin-left:-12px;margin-right:-12px}
@media(max-height:600px){.tipo-powerup-confirm__body>:is(.repertoire-powerup-choices,.tipo-powerup-confirm__item):first-child{margin-top:-6px;margin-left:-6px;margin-right:-6px}}

.repertoire-powerup-choice{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0}
.tipo-powerup-confirm .repertoire-powerup-choice>button{box-sizing:border-box;flex:none;display:grid;place-items:center;width:100%;min-width:0;min-height:0;aspect-ratio:1;padding:4px;gap:0}
.repertoire-powerup-choice .repertoire-powerup-choice-icon{width:100%;height:100%;min-height:0;aspect-ratio:1}
.repertoire-powerup-choice img{width:100%;height:100%;object-fit:contain}
.repertoire-powerup-choice>small{display:block;text-align:center;font-size:clamp(8px,2.2vw,10px);font-weight:900;line-height:1.2;white-space:nowrap;color:#ffe28b}

.collection-gallery:not([hidden]) { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px; }
.collection-item { min-width:0;display:flex;flex-direction:column;gap:5px;padding:7px;border-radius:10px;background:#08172d;border:1px solid #344563;text-align:center; }
.collection-item img { width:100%;height:74px;object-fit:contain;filter:grayscale(1);opacity:.4; }
.collection-item strong { font-size:.58rem;color:#acb8cb;overflow-wrap:anywhere; }
.collection-item small { margin-top:auto;font-size:.45rem;font-weight:900;color:#8093ad; }
.collection-item.is-collected { border-color:#79d9b2; }
.collection-item.is-collected img { filter:none;opacity:1; }
.collection-item.is-collected strong { color:#fff; }
.collection-item.is-collected small { color:#8ef0bb; }

.hub-sponsor__collection { display:block;margin:5px 0;color:#b9cce6;font-size:.55rem;font-weight:900; }
.hub-sponsor__collection.is-new { color:#ffe07c;text-shadow:0 0 10px #ffc94355; }

.collection-modal { width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:0;border:2px solid #ffd361;border-radius:20px;color:#fff;background:linear-gradient(155deg,#183c65,#0a1830);box-shadow:0 20px 60px #0009;overflow:hidden; }
.collection-modal[open] { display:flex;flex-direction:column; }
.collection-modal::backdrop { background:#010511dc;backdrop-filter:blur(5px); }
.collection-modal>header { flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid #547491;background:linear-gradient(135deg,#194d7c,#26225f); }
.collection-modal header small { color:#ffdb7e;font-size:.6rem;font-weight:900; }
.collection-modal h2 { margin:5px 0 0;font-size:1.1rem;line-height:1.1; }

.collection-modal .collection-gallery { min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;grid-auto-rows:max-content;margin:0;padding:14px;gap:10px; }
.collection-modal .collection-item { min-height:auto; }
.collection-modal .collection-item > * { flex-shrink:0; }
.collection-modal .collection-item strong { display:block;white-space:normal;line-height:1.1; }
.collection-modal .collection-item.is-empty { min-height:84px; }
.collection-modal .collection-item.is-empty { border:1px dashed #456084;background:#07162bb3;box-shadow:inset 0 2px 8px #0004; }

/* Shared close button, extracted from the repertoire style picker. */
.modal-dismiss { flex:none;width:36px;height:36px;padding:0 0 3px;border:2px solid #e7b4ff;border-radius:11px;color:#fff;background:linear-gradient(#c968f0,#783ab4);box-shadow:inset 0 2px rgba(255,255,255,.25),0 3px 0 #3c1761;font:900 1.45rem/1 "Baloo 2",sans-serif;cursor:pointer; }
.modal-dismiss:focus-visible { outline:2px solid #fff;outline-offset:3px; }

.collection-modal[data-collection-type="locals"] .collection-item img,
.collection-modal[data-collection-type="stages"] .collection-item img { display:block;flex:none;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px; }
.collection-item__number { margin-top:-3px;color:#9eb8d8;font-size:.48rem;font-weight:800;line-height:1.1; }

.mission-list + .mission-group__description { margin:16px 2px 0;line-height:1.4; }

.section-screen--contest-repertoire .section-panel { display:flex; flex-direction:column; overflow:hidden; }
.section-screen--contest-repertoire .section-header { flex-shrink:0; }
.section-screen--contest-repertoire .contest-repertoire-stage { isolation:isolate; width:calc(100% + 32px); min-width:0; max-width:none; height:auto; min-height:0; flex:0 0 auto; aspect-ratio:748/434; margin:-16px -16px 14px; box-sizing:border-box; --stage-border-color:var(--section-accent); }
.contest-repertoire-body { display:block; flex:1; min-width:0; min-height:0; overflow-x:hidden; overflow-y:auto; padding:16px; }
.contest-repertoire-action { flex-shrink:0; padding:10px 16px 16px; border-top:1px solid rgba(var(--section-accent-rgb),.4); background:#101329; }
.contest-repertoire-action p { margin:0 0 8px; text-align:center; color:var(--section-accent); }
.contest-repertoire-action p.is-forecast { position:relative; display:flex; min-height:52px; padding:8px 13px; align-items:center; justify-content:space-between; gap:12px; overflow:hidden; border:2px solid #69caff; border-radius:13px; color:#fff; background:linear-gradient(145deg,#111a36,#070b19 72%); box-shadow:inset 0 1px rgba(255,255,255,.14),inset 0 -7px 15px rgba(45,25,104,.3),0 3px 0 #080c1b,0 0 14px rgba(78,169,255,.32); }
.contest-repertoire-action p.is-forecast::before { content:""; position:absolute; top:-55%; left:-16%; width:42%; height:190%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent); transform:rotate(22deg); pointer-events:none; }
.contest-repertoire-action p.is-forecast small { display:grid; color:#fff; font-size:.64rem; font-weight:900; letter-spacing:.07em; line-height:1.05; text-align:left; }
.contest-repertoire-action p.is-forecast small span { color:#78cef8; font-size:.46rem; letter-spacing:.14em; }
.contest-repertoire-action p.is-forecast small b { margin-top:3px; color:#eaf8ff; font-size:.64rem; }
.contest-repertoire-action p.is-forecast strong { flex-shrink:0; color:#ffe37a; font-size:1.28rem; line-height:1; text-shadow:0 2px #5b3600,0 0 9px rgba(255,213,80,.35); }
.contest-repertoire-action .modal-action { width:100%; }
.contest-repertoire-action .modal-action:disabled { opacity:.45; filter:grayscale(.6); cursor:default; }
.contest-repertoire-heading { position:relative; z-index:1; clear:both; padding:2px 3px 0; }
.contest-repertoire-heading small,.contest-repertoire-heading h2 { display:block; margin:0; }
.contest-repertoire-heading small { color:var(--section-accent); font-size:.52rem; font-weight:900; letter-spacing:.12em; }
.contest-repertoire-heading h2 { font-size:1.1rem; line-height:1; }
.contest-fixed-pieces { position:relative; z-index:1; clear:both; margin-top:2px; }
.contest-repertoire-body > p { margin:8px 3px 1px; }
.contest-repertoire-body > p[data-contest-instructions] > span,.contest-repertoire-body > p[data-contest-instructions] > strong { display:block; }
.contest-repertoire-body > p[data-contest-instructions] > strong { margin-top:4px; color:#ffe16d; font-size:.57rem; letter-spacing:.075em; text-shadow:0 1px #6f3e00,0 0 7px rgba(255,210,68,.3); }
.rehearsal-piece-block > .contest-repertoire-options { gap:6px; margin:0; padding:6px; background:#0b192e; }
.rehearsal-piece-block .contest-repertoire-piece { overflow:hidden; border:1px solid #3c5875; border-radius:10px; opacity:1; background:#10243f; cursor:pointer; transition:opacity .18s ease,filter .18s ease,box-shadow .18s ease; }
.rehearsal-piece-block .contest-repertoire-piece.is-dimmed { opacity:.3; filter:saturate(.35) brightness(.72); }
.rehearsal-piece-block .contest-repertoire-piece > i { margin-bottom:1px; }
.rehearsal-piece-block .contest-repertoire-piece.is-selected { z-index:2; border-color:#ffe078; background:linear-gradient(145deg,#11182d,#080c18 72%); box-shadow:0 0 0 2px #dcae36,0 0 9px rgba(255,205,72,.72); }
.rehearsal-piece-block .contest-repertoire-piece.is-selected > i { border-color:#a98432; box-shadow:inset 0 2px 4px rgba(0,0,0,.82),0 0 5px rgba(255,201,65,.3); }

/* Retransmisión del COAC: reutiliza el escenario de selección y conserva la agrupación preparada para entrar. */
.section-screen--on-air .section-panel{background:linear-gradient(180deg,#191029,#080817 72%)}
.section-screen--on-air .on-air-header{grid-template-columns:1fr;min-height:76px;text-align:center}
.on-air-header span{display:grid;justify-items:center}
.on-air-header small{color:#ffb9c1}
.on-air-header h1{color:#fff4c1;font-size:clamp(1.65rem,7vw,2.15rem);text-shadow:0 3px #711629,0 0 14px rgba(255,97,116,.42)}
.section-screen--on-air .on-air-body{display:flex;flex-direction:column;align-content:start;overflow:hidden;background:radial-gradient(circle at 50% 15%,rgba(255,89,111,.12),transparent 42%)}
.section-screen--on-air .on-air-stage{isolation:isolate;flex:0 0 auto;height:auto;min-height:0;max-height:none;aspect-ratio:748/434;margin-bottom:0;background-position:center;background-size:cover}
.on-air-stage::after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(3,5,16,.18));pointer-events:none}
.on-air-stage>.on-air-cast{z-index:1;visibility:hidden;opacity:0;pointer-events:none}
.on-air-stage>.on-air-presenters{z-index:5;inset:0;display:block;padding:0;pointer-events:none}
.on-air-presenters figure{position:absolute;bottom:-38%;width:78%;height:145%;margin:0}
.on-air-presenters figure:first-child{left:-8%}
.on-air-presenters figure:last-child{right:-8%}
.rehearsal-stage>.on-air-presenters figure img{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 5px rgba(0,0,0,.65));transform:none}
.rehearsal-stage>.on-air-presenters .on-air-presenter--enrique img{transform:translateY(-10%) scale(.9);transform-origin:center bottom}
.on-air-presenters figure.is-speaking{--offset:0px;transform-origin:center bottom;animation:hubFormationBreath .9s ease-in-out infinite}
.rehearsal-stage>.on-air-channel-logo{position:absolute;z-index:12;right:12px;bottom:10px;left:auto;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.72));transform:none}
.rehearsal-stage>.on-air-curtain{position:absolute;z-index:7;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:translateY(0);transition:transform 5s cubic-bezier(.65,0,.35,1);will-change:transform}
.rehearsal-stage>.on-air-curtain[hidden],.rehearsal-stage>.on-air-stage-blackout[hidden]{display:none}
.rehearsal-stage>.on-air-stage-blackout{position:absolute;z-index:8;inset:0;display:block;background:#000;opacity:1;transition:opacity 5s linear;pointer-events:none}
.on-air-stage.is-performance-transition>.on-air-presenters{visibility:hidden;opacity:0}
.on-air-stage.is-performance-transition>.on-air-cast{visibility:visible;opacity:1}
.on-air-stage.is-scene-revealing>.on-air-stage-blackout{opacity:.5}
.on-air-stage.is-curtain-opening>.on-air-curtain{transform:translateY(-101%)}
.on-air-stage.is-performing>.on-air-cast img{transform-origin:center bottom;animation:cuartetoSpeakingSquash .8s ease-in-out infinite}
.on-air-stage.is-performing>.on-air-cast img:nth-child(2n){animation-delay:-.38s}
.on-air-stage.is-performing>.on-air-cast img:nth-child(3n){animation-delay:-.76s}
.rehearsal-stage>.on-air-piece-caption{position:absolute;z-index:10;inset:auto auto 9px 10px;display:grid;width:max-content;max-width:72%;padding:5px 8px 4px;gap:1px;border-left:3px solid rgba(255,255,255,.9);color:#fff;background:linear-gradient(90deg,rgba(3,5,13,.78),rgba(3,5,13,0));filter:drop-shadow(0 2px 2px #000);pointer-events:none}
.rehearsal-stage>.on-air-piece-caption[hidden]{display:none}
.on-air-piece-caption strong{font-size:.64rem;font-weight:1000;line-height:1;letter-spacing:.075em;text-shadow:0 2px 2px #000}
.on-air-piece-caption span{overflow:hidden;font-size:.5rem;font-weight:800;line-height:1.12;text-shadow:0 1px 2px #000;white-space:nowrap;text-overflow:ellipsis}
.on-air-piece-caption span[hidden]{display:none}
.on-air-piece-caption.is-showing{animation:onAirPieceCaption 2.3s ease-out both}
.rehearsal-stage>.on-air-audience-finale{position:absolute;z-index:11;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#08050a;animation:onAirAudienceFinale .55s ease-out both}
.rehearsal-stage>.on-air-audience-finale[hidden]{display:none}
.on-air-commentary{display:flex;position:relative;flex:1 1 auto;min-height:0;margin:0 0 2px;padding:8px 7px 7px;flex-direction:column;overflow:hidden;border:1px solid #57384d;border-radius:14px;background:radial-gradient(circle at 15% 0,rgba(57,114,193,.18),transparent 42%),linear-gradient(160deg,#151a31,#090d1c);box-shadow:inset 0 1px rgba(255,255,255,.07),0 4px 10px rgba(0,0,0,.3)}
.on-air-commentary[hidden],.on-air-action[hidden],.on-air-return-action[hidden],.on-air-performance[hidden]{display:none}
.on-air-commentary>small{display:flex;width:max-content;max-width:100%;margin:0 3px 7px;padding:3px 7px;align-items:center;gap:5px;border-radius:999px;color:#ffd5da;background:#781d34;font-size:.46rem;font-weight:900;letter-spacing:.09em;line-height:1}
.on-air-commentary>small::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#ffbac2;box-shadow:0 0 7px #fff}
.on-air-commentary>div{display:flex;min-height:0;padding:1px 3px 3px;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d84358 #0d1021}
.on-air-commentary p{position:relative;display:grid;width:calc(100% - 13px);box-sizing:border-box;grid-template-columns:36px minmax(0,1fr);margin:0;padding:7px 9px;align-items:start;gap:8px;border:1px solid #42618a;border-radius:11px;color:#e4edf8;background:linear-gradient(145deg,#172c4a,#101a30);box-shadow:inset 0 1px rgba(255,255,255,.08),0 3px 7px rgba(0,0,0,.28);font-size:.64rem;line-height:1.25}
.on-air-commentary p::after{content:"";position:absolute;top:12px;left:-6px;width:10px;height:10px;border-left:1px solid #42618a;border-bottom:1px solid #42618a;background:#172b49;transform:rotate(45deg)}
.on-air-commentary p.is-lead{align-self:flex-start}
.on-air-commentary p.is-partner{grid-template-columns:minmax(0,1fr) 36px;align-self:flex-end;border-color:#765178;background:linear-gradient(145deg,#30203f,#19172e)}
.on-air-commentary p.is-partner::after{right:-6px;left:auto;border:0;border-top:1px solid #765178;border-right:1px solid #765178;background:#2e1f3d}
.on-air-commentary p.is-partner .on-air-commentary__portrait{grid-column:2;grid-row:1}
.on-air-commentary p.is-partner .on-air-commentary__copy{grid-column:1;grid-row:1}
.on-air-commentary__portrait{z-index:1;display:block;width:36px;height:36px;overflow:hidden;border:2px solid #80bfff;border-radius:10px;background:#202b41;box-shadow:0 0 0 2px rgba(8,15,31,.72),0 2px 6px rgba(0,0,0,.4)}
.on-air-commentary p.is-partner .on-air-commentary__portrait{border-color:#e8a5ef}
.on-air-commentary__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.on-air-commentary__typing{display:inline-block;color:#dbe5f1;font-size:.86rem;font-style:normal;font-weight:900;letter-spacing:.12em;line-height:1;animation:onAirTypingDots .1s steps(1,end) infinite alternate}
.on-air-commentary__text{white-space:pre-wrap}
.on-air-commentary__text b{color:#ffe37a;font-weight:900;text-shadow:0 1px #684300}
.on-air-commentary p.is-typing{box-shadow:inset 0 0 11px rgba(117,172,255,.13),0 0 8px rgba(77,135,224,.16)}
.on-air-commentary p strong{display:block;margin-bottom:3px;color:#7ed1ff;font-size:.52rem;letter-spacing:.08em}
.on-air-commentary p.is-partner strong{color:#efa9f7}
.on-air-performance{display:flex;flex:1 1 auto;min-height:0;margin:0;padding:8px;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d84358 #0d1021;border:1px solid #7e263c;border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(224,54,78,.19),transparent 48%),linear-gradient(165deg,#17192b,#080b16 72%);box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.32)}
.on-air-performance__header{display:flex;min-height:28px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px}
.on-air-performance__header span{display:grid;min-width:0;line-height:1}
.on-air-performance__header small{color:#9fa9bc;font-size:.43rem;font-weight:900;letter-spacing:.1em}
.on-air-performance__header strong{margin-top:3px;color:#ffcf55;font-size:.67rem;font-weight:1000;letter-spacing:.04em;text-shadow:0 0 8px rgba(255,191,34,.36)}
.on-air-performance__header>b{flex:0 0 auto;padding:4px 6px;border-radius:6px;color:#fff;background:#861c35;font-size:.55rem;font-weight:1000;line-height:1;box-shadow:inset 0 1px rgba(255,255,255,.16)}
.on-air-performance__progress{position:relative;height:7px;flex:0 0 7px;overflow:hidden;border-radius:999px;background:#303447;box-shadow:inset 0 1px 3px #03040a}
.on-air-performance__progress>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d7304c,#ffcb39);box-shadow:0 0 9px #efbd32;will-change:width}
.on-air-performance__pieces{display:grid;min-height:0;flex:0 0 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,34px);gap:4px}
.on-air-performance__piece{position:relative;display:grid;min-width:0;margin:0;padding:4px 6px 4px 28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;overflow:hidden;border-radius:7px;color:#8993a6;background:#111524;box-shadow:inset 0 0 0 1px #292f42;transition:color .2s,background .2s,box-shadow .2s,transform .2s}
.on-air-performance__piece>i{position:absolute;left:6px;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;color:#768095;background:#252a3a;font-size:.48rem;font-style:normal;font-weight:1000}
.on-air-performance__piece>strong{overflow:hidden;font-size:.53rem;font-weight:1000;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.on-air-performance__piece>b{padding:3px 5px 2px;border:1px solid var(--on-air-quality-light);border-radius:5px;color:#fff;background:linear-gradient(145deg,var(--on-air-quality),var(--on-air-quality-dark));box-shadow:inset 0 1px rgba(255,255,255,.24),0 2px 0 var(--on-air-quality-shadow);font-size:.58rem;font-weight:1000;line-height:1;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.75)}
.on-air-performance__piece>b small{font-size:.37rem}
.on-air-performance__piece[data-quality="bronze"]{--on-air-quality:#a96435;--on-air-quality-light:#e6a06f;--on-air-quality-dark:#623318;--on-air-quality-shadow:#32190c}
.on-air-performance__piece[data-quality="silver"]{--on-air-quality:#8494a9;--on-air-quality-light:#e5edf5;--on-air-quality-dark:#46566d;--on-air-quality-shadow:#222c3a}
.on-air-performance__piece[data-quality="gold"]{--on-air-quality:#d39a19;--on-air-quality-light:#ffe47d;--on-air-quality-dark:#805707;--on-air-quality-shadow:#422b02}
.on-air-performance__piece[data-quality="legend"]{--on-air-quality:#8c42c0;--on-air-quality-light:#efbdff;--on-air-quality-dark:#492066;--on-air-quality-shadow:#240e35}
.on-air-performance__piece.is-active{z-index:1;color:#fff;background:linear-gradient(135deg,#632038,#31172a);box-shadow:inset 0 0 0 1px #ffca4b,0 0 9px rgba(255,190,45,.35);transform:translateY(-1px)}
.on-air-performance__piece.is-active>i{color:#321f00;background:#ffd257;box-shadow:0 0 7px #eab83b}
.on-air-performance__piece.is-complete{color:#dbe9df;background:#13251f;box-shadow:inset 0 0 0 1px #337157}
.on-air-performance__piece.is-complete>i{color:transparent;background:#42b77d}
.on-air-performance__piece.is-complete>i::after{content:"✓";position:absolute;color:#fff;font-size:.58rem}
@keyframes onAirTypingDots{from{opacity:.25}to{opacity:1}}
@keyframes onAirPresenterSpeaking{0%,100%{transform:scaleX(1) scaleY(1)}45%,55%{transform:scaleX(1.012) scaleY(.982)}}
@keyframes onAirPieceCaption{0%{opacity:0;transform:translateX(-6px)}8%,88%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
@keyframes onAirAudienceFinale{from{opacity:0;filter:brightness(.65)}to{opacity:1;filter:brightness(1)}}
@media(max-width:370px){.on-air-presenters figure{width:80%}.on-air-performance{padding:7px;gap:5px}.on-air-performance__piece{padding-right:4px;padding-left:25px}.on-air-performance__piece>i{left:5px}.on-air-performance__piece>strong{font-size:.49rem}.on-air-performance__piece>b{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){.on-air-stage.is-performing>.on-air-cast img,.on-air-presenters figure.is-speaking{animation:none}}

/* Veredicto del jurado */
.section-screen--contest-verdict .section-panel{background:linear-gradient(180deg,#1c1230,#090817 74%)}
.contest-verdict__header{grid-template-columns:1fr;min-height:76px;text-align:center}
.contest-verdict__header span{display:grid;justify-items:center}
.contest-verdict__header small{color:#d9b8ff}
.contest-verdict__header h1{color:#fff3c0;font-size:clamp(1.35rem,6vw,1.9rem);text-shadow:0 3px #5f2389,0 0 14px rgba(184,91,255,.45)}
.contest-verdict__body{display:flex;min-height:0;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(133,65,194,.18),transparent 43%)}
.section-screen--contest-verdict .contest-verdict__stage{position:relative;isolation:isolate;flex:0 0 auto;aspect-ratio:748/434;margin-bottom:0;overflow:hidden;background:#140b1c url("assets/falla-stage-open.jpg") center/cover no-repeat}
.contest-verdict__stage::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(11,4,18,.12),rgba(8,3,15,.68));pointer-events:none}
.contest-verdict__presenters{position:absolute;z-index:4;inset:0;opacity:0;pointer-events:none;transition:opacity .35s ease}
.contest-verdict__stage.is-presenters .contest-verdict__presenters{opacity:1}
.contest-verdict__curtain{position:absolute;z-index:8;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateY(0);filter:brightness(.72);transition:transform 4.5s cubic-bezier(.65,0,.35,1),opacity .25s ease;will-change:transform}
.contest-verdict__jury{position:absolute;z-index:4;inset:0;opacity:0;pointer-events:none;transition:opacity .25s ease}
.contest-verdict__stage.is-jury-scene .contest-verdict__jury,.contest-verdict__stage.is-jury-scene .contest-verdict__curtain{opacity:1}
.contest-verdict__stage.is-curtain-open .contest-verdict__curtain{transform:translateY(-101%)}
.contest-verdict__stage.is-stage-lights-dimmed::before{content:"";position:absolute;z-index:9;inset:0;background:#000;opacity:.5;pointer-events:none;transition:opacity .7s ease}
.contest-verdict__jury>.contest-verdict__juror{position:absolute;z-index:var(--z);top:var(--y);left:50%;display:block;width:28%;height:64%;object-fit:contain;object-position:center bottom;transform:translateX(var(--offset));transform-origin:center bottom}
.contest-verdict__juror--president.is-speaking{animation:contestVerdictPresidentSpeaking .9s ease-in-out infinite}
.contest-verdict__blackout{position:absolute;z-index:10;inset:-1px;background:#000;opacity:0;pointer-events:none;transition:opacity .7s ease;transform:translateZ(0);backface-visibility:hidden;will-change:opacity}
.contest-verdict__stage.is-changing-scene .contest-verdict__blackout{opacity:1}
.contest-verdict__act{display:flex;min-height:0;flex:1 1 auto;margin:3px 0 2px;padding:8px 7px 7px;flex-direction:column;overflow:hidden;border:1px solid #77509b;border-radius:14px;background:radial-gradient(circle at 12% 0,rgba(125,71,181,.2),transparent 42%),linear-gradient(160deg,#19172d,#0b0c18);box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.34)}
.contest-verdict__act>small{display:flex;width:max-content;max-width:100%;margin:0 3px 7px;padding:4px 8px;align-items:center;gap:5px;border-radius:999px;color:#ead7ff;background:#532576;font-size:.44rem;font-weight:900;letter-spacing:.075em;line-height:1}
.contest-verdict__act>small i{width:6px;height:6px;border-radius:50%;background:#ffe17c;box-shadow:0 0 7px #fff}
.contest-verdict__act>[data-verdict-messages]{display:flex;min-height:0;padding:1px 3px 4px;flex:1 1 auto;flex-direction:column;gap:7px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a66bd2 #111020}
.contest-verdict__classification{display:grid;min-height:auto!important;flex:0 0 auto;margin:0 3px 8px;padding:0!important;gap:5px;overflow:visible!important}
.contest-verdict__classification[hidden]{display:none}
.contest-verdict__classification>strong{display:block;padding:5px 8px 4px;border:1px solid #8d6eaa;border-radius:7px;color:#e7d6f5;background:linear-gradient(90deg,#30223f,#1b1728);font-size:.52rem;font-weight:1000;letter-spacing:.085em;line-height:1;text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.07)}
.contest-verdict__classification>strong.is-last{border-color:#f0bd43;color:#fff0a8;background:linear-gradient(90deg,#593d11,#2c1d0a);box-shadow:0 0 10px rgba(240,181,45,.3);animation:contestVerdictLastPlace .8s ease-in-out infinite alternate}
.contest-verdict__classification ol{display:grid;margin:0;padding:0;grid-template-columns:repeat(var(--qualified-count,3),minmax(0,1fr));gap:4px;list-style:none}
.contest-verdict__classification li{position:relative;display:grid;min-width:0;height:42px;padding:4px 6px 3px;align-content:center;overflow:hidden;box-sizing:border-box;border:1px solid #76568f;border-radius:7px;color:#eadff3;background:linear-gradient(145deg,#2b2037,#17131f);box-shadow:inset 0 1px rgba(255,255,255,.08),0 2px 5px rgba(0,0,0,.32);animation:contestVerdictQualifiedIn .42s cubic-bezier(.2,.8,.2,1) both}
.contest-verdict__classification li>span{display:-webkit-box;overflow:hidden;font-size:.43rem;font-weight:1000;line-height:.95;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
.contest-verdict__classification li>b{margin-top:2px;color:#a996b7;font-size:.31rem;letter-spacing:.07em;line-height:1}
.contest-verdict__classification li.is-own{border-color:#ffe16b;color:#fff7c7;background:linear-gradient(145deg,#6a4c13,#2d1d08);box-shadow:inset 0 1px rgba(255,255,255,.16),0 0 12px rgba(255,205,55,.55)}
.contest-verdict__classification li.is-own>b{color:#ffe792}
.contest-verdict__classification.is-passed>strong{border-color:#6be6a0;color:#dcffea;background:linear-gradient(90deg,#1f7148,#103322);box-shadow:0 0 12px rgba(61,218,127,.38)}
.contest-verdict__classification.is-eliminated>strong{border-color:#c55a68;color:#ffdce0;background:linear-gradient(90deg,#672432,#30131c)}
.contest-verdict__stage.is-final-draw{animation:contestVerdictStageTension .72s ease-in-out infinite alternate}
.on-air-commentary p.verdict-message--highlight{border-color:#e8c657;color:#fff7ce;background:linear-gradient(145deg,#4b3818,#22180c);box-shadow:inset 0 1px rgba(255,255,255,.13),0 0 11px rgba(239,192,62,.34)}
.on-air-commentary p.verdict-message--highlight::after{border-color:#e8c657;background:#4b3818}
.on-air-commentary p.verdict-message--highlight strong{color:#ffe277}
.on-air-commentary p.verdict-message--result{margin-top:4px;font-weight:900}
.contest-verdict__action{border-top-color:rgba(171,100,222,.45);background:#100d20}
.section-screen--contest-verdict.is-eliminated .contest-verdict__stage{filter:grayscale(.72)}
@media(max-width:370px){.contest-verdict__header h1{font-size:1.28rem}}
@media(prefers-reduced-motion:reduce){.contest-verdict__juror--president.is-speaking{animation:none}}
@keyframes contestVerdictPresidentSpeaking{0%,100%{transform:translateX(var(--offset)) scaleX(1) scaleY(1)}45%,55%{transform:translateX(var(--offset)) scaleX(1.012) scaleY(.982)}}
@keyframes contestVerdictLastPlace{from{transform:scale(1)}to{transform:scale(1.015)}}
@keyframes contestVerdictQualifiedIn{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
@keyframes contestVerdictStageTension{from{filter:brightness(.82)}to{filter:brightness(.66)}}

/* Las coplas interpretadas quedan cerradas para nuevos ensayos y mejoras. */
.rehearsal-piece.is-performed,.repertoire-score-piece.is-performed{position:relative;isolation:isolate;cursor:default;pointer-events:none}
.rehearsal-piece.is-performed>:not(.performed-piece-badge),.repertoire-score-piece.is-performed>:not(.performed-piece-badge){opacity:.3;filter:grayscale(.8)}
.performed-piece-badge{position:absolute;z-index:5;top:50%;left:50%;display:grid;min-width:88px;padding:4px 9px 3px;place-items:center;border:1px solid #f1dcff;border-radius:8px;color:#fff;background:linear-gradient(145deg,#8c45c7,#4a196e);box-shadow:0 3px 0 #28103c,0 0 12px rgba(193,111,255,.42);font-style:normal;line-height:1;text-align:center;text-shadow:0 1px 2px #240834;transform:translate(-50%,-50%)}
.performed-piece-badge small{font-size:.38rem;font-weight:900;letter-spacing:.08em}.performed-piece-badge b{margin-top:2px;font-size:.52rem;font-weight:1000;white-space:nowrap}

.on-air-commentary p.verdict-message--displaced{display:block;padding:14px;border:2px solid #ec6374;border-radius:12px;background:linear-gradient(145deg,#6b2233,#35101b);color:#ffe1e6;font-size:.64rem;line-height:1.25;box-shadow:inset 0 1px #ffffff12,0 0 12px #d23b5333}
.on-air-commentary p.verdict-message--displaced strong{display:inline;margin:0;color:#fff;font-size:inherit;font-weight:900;letter-spacing:normal}
.on-air-commentary p.verdict-message--displaced::after{border-color:#ec6374;background:#5b1d2b}

.coac-history__entry>.coac-history__identity{display:flex;align-items:center;gap:7px}
.coac-history__avatar{position:relative;display:block;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border:1px solid #68c6f3;border-radius:11px;background:#e9f8ff}
.coac-history__avatar img{position:absolute;left:50%;top:-24%;width:175%;max-width:none;height:175%;object-fit:contain;object-position:center top;transform:translateX(-50%)}
.coac-history__copy{display:grid;gap:1px;min-width:0;line-height:1.15}
.coac-history__copy>strong{font-size:.58rem}
.coac-history__copy>small{line-height:1.1}

.coac-history__columns,.coac-history__entry{grid-template-columns:38px minmax(0,1fr) 33px 57px 26px;gap:5px}
.coac-history__entry>span:nth-child(3){color:inherit;font-size:inherit}
.coac-history__entry>span:nth-child(4){color:#91a5bc;font-size:.45rem}
.coac-history__columns>span:nth-child(2){text-align:left}

/* Recuerdos del Falla: tarjetas y ficha de cada edición. */
.coac-history__heading {padding:8px 4px 22px;align-items:center}
.coac-history__heading h2 {font-size:1.2rem;line-height:1.15;text-shadow:0 2px #071020}
.coac-history__heading>b {padding:7px 9px;border:1px solid #775ab9;border-radius:8px;color:#e0ceff;background:#30204c}
.coac-history__columns {border:0;border-radius:0;background:transparent;color:#9f8dbb;padding-bottom:10px}
[data-coac-history-list] {display:grid;gap:10px}
[data-coac-history-list][hidden],.coac-history__columns[hidden] {display:none}
.coac-history__entry,.coac-history__entry:last-child {position:relative;width:100%;min-height:78px;padding:13px 9px;border:1px solid #7053a1;border-left:3px solid #b589ff;border-radius:13px;color:#f5efff;background:radial-gradient(ellipse at 0 0,#483161 0,transparent 65%),linear-gradient(135deg,#211d38,#101d32);box-shadow:inset 0 1px #ffffff18,0 4px 0 #080f20,0 8px 16px #0003;cursor:pointer;font-family:inherit;transition:border-color .15s,transform .15s}
.coac-history__entry:hover,.coac-history__entry:focus-visible {border-color:#d7b1ff;outline:2px solid #a775ed;outline-offset:3px;transform:translateY(-2px)}
.coac-history__entry>.coac-history__identity {gap:0}
.coac-history__copy>strong {font-size:.66rem;line-height:1.2}
.coac-history__copy>small {margin-top:3px;color:#bba6dc}
.coac-history__entry>b:last-child {color:#ffd782;text-shadow:0 0 14px #ffb34144}
.coac-history__entry>.coac-history__avatar {border:2px solid #b498e8;box-shadow:0 0 12px #b87eff33}
.coac-memory {padding-top:4px;animation:coac-memory-enter .2s ease-out}
.coac-memory__stage {border:2px solid #a681d1;border-radius:14px;box-shadow:0 0 0 3px #302145,0 12px 25px #0005}
.coac-memory__stats {display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 3px;color:#bcafce;font-size:.6rem;font-weight:800}
.coac-memory__stats>b {color:#ffda8f;font-size:.8rem}
.coac-memory__unavailable {position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#071020aa;color:white;text-align:center;font-size:.75rem}
.coac-memory__repertoire {margin-top:10px;padding:12px;border:1px solid #55456f;border-radius:14px;background:linear-gradient(140deg,#251d36,#111c30)}
.coac-memory__repertoire>small {color:#b495d7;font-size:.5rem;letter-spacing:.12em;font-weight:800}
.coac-memory__repertoire h4 {margin:3px 0 16px;font-size:1rem}
.coac-memory__repertoire>div {display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.coac-memory__repertoire>div>section {display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid #ffffff12}
.coac-memory__repertoire>div>section:last-child {border:0;padding-bottom:0}
.coac-memory__repertoire article>strong {color:#dfd4f0;font-size:.6rem;letter-spacing:.06em}
.coac-memory__repertoire article>small {color:#9d91ad;font-size:.6rem}
.coac-memory__pieces {display:flex;flex-wrap:wrap;gap:7px}
.coac-memory__pieces>span {display:grid;min-width:31px;height:32px;padding:0 5px;place-items:center;border:1px solid #bd8a61;border-radius:7px;color:#edc7a9;background:#51392c;font-size:.7rem;font-weight:900;box-shadow:inset 0 1px #ffffff25,0 2px #070d20}
.coac-memory__pieces>[data-tier="silver"] {border-color:#c2cedc;color:#edf5ff;background:#455266}
.coac-memory__pieces>[data-tier="gold"] {border-color:#eac15e;color:#ffe6a0;background:#614a22}
.coac-memory__pieces>[data-tier="legend"] {border-color:#c290ff;color:#edd3ff;background:#533479;box-shadow:0 0 9px #b276ff33}
@keyframes coac-memory-enter {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.coac-memory{animation:none}.coac-history__entry{transition:none}}

.coac-memory__repertoire .repertoire-score-block {padding:0;border:1px solid #655238}
.coac-memory__repertoire .repertoire-score-block h4 {margin:0;font-size:.62rem}
.coac-memory__repertoire .repertoire-score-piece>small {white-space:normal;line-height:1.25;overflow-wrap:anywhere}
.coac-memory__repertoire .repertoire-score-block>div>small {padding:10px;color:#9d91ad;font-size:.6rem}

.coac-memory__repertoire>div>.coac-memory__session {grid-column:1/-1;min-width:0;padding:12px;border:1px solid #74529a;border-radius:12px;background:#16182e}
.coac-memory__session h5 {margin:0 0 12px;color:#dbb4ff;font-size:.85rem;letter-spacing:.07em}
.coac-memory__session-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.coac-memory__session-grid>[data-history-block="pasodobles"],.coac-memory__session-grid>[data-history-block="cuples"] {grid-column:1/-1}
.coac-memory__session-grid>[data-history-block="presentacion"]>div,.coac-memory__session-grid>[data-history-block="popurri"]>div {grid-template-columns:minmax(0,1fr)}


.coac-memory.subsection-panel {display:flex;flex-direction:column;padding:0;animation:none}
.coac-memory>.subsection-header {flex-shrink:0}
.coac-memory__body {min-height:0;padding:14px;overflow-y:auto;overscroll-behavior:contain}

.subsection-screen--coac-memory {box-sizing:border-box;max-width:680px;margin:auto;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}
.subsection-screen--coac-memory>.subsection-panel {box-sizing:border-box;width:100%;height:100%;max-height:none}
.coac-memory__body {flex:1}

.coac-history__entry[data-history-tier] {border-color:var(--history-edge);border-left-color:var(--history-color);background:radial-gradient(ellipse at 0 0,var(--history-glow),transparent 70%),linear-gradient(135deg,#211d38,#101d32)}
.coac-history__entry[data-history-tier="bronze"] {--history-color:#dfa576;--history-edge:#926442;--history-glow:#61412e}
.coac-history__entry[data-history-tier="silver"] {--history-color:#d2e6f7;--history-edge:#7894ae;--history-glow:#354b62}
.coac-history__entry[data-history-tier="gold"] {--history-color:#ffda76;--history-edge:#b58b36;--history-glow:#605029}
.coac-history__entry[data-history-tier="legend"] {--history-color:#d7a5ff;--history-edge:#9863c3;--history-glow:#51316b}
.coac-history__entry[data-history-tier]>.coac-history__avatar {border-color:var(--history-color);box-shadow:0 0 12px var(--history-glow)}
.coac-history__entry[data-history-tier] .coac-history__copy>small,.coac-history__entry[data-history-tier]>.coac-history__phase,.coac-history__entry[data-history-tier]>b:last-child {color:var(--history-color)}
.coac-history__entry[data-history-tier]:hover,.coac-history__entry[data-history-tier]:focus-visible {border-color:var(--history-color);outline-color:var(--history-color)}

.coac-history__columns,.coac-history__entry {grid-template-columns:38px minmax(0,1fr) 38px 36px}
.coac-history__entry {min-height:0;padding-top:8px;padding-bottom:10px;row-gap:5px;text-align:left}
.coac-history__entry>.coac-history__phase {grid-column:1/3;grid-row:1;font-size:.58rem;font-weight:900;letter-spacing:.08em;color:#bba6dc}
.coac-history__entry>.coac-history__avatar {grid-column:1;grid-row:2}
.coac-history__entry>.coac-history__identity {grid-column:2;grid-row:2;display:flex;gap:0;font-size:inherit;color:inherit}
.coac-history__entry>.coac-history__year {grid-column:3;grid-row:1/3;text-align:center}
.coac-history__entry>.coac-history__score {grid-column:4;grid-row:1/3;text-align:center}

.coac-history .coac-history__entry {min-height:0;padding:6px 9px 8px;row-gap:3px}
.coac-history .coac-history__entry>.coac-history__phase {line-height:1;margin:0;padding:0}

.street-performance__scene {background-image:url("https://revoseo1.ams3.digitaloceanspaces.com/fallamania/assets/coac/escenarios/falla-exterior-publico.jpg")}
.street-performance__scene>.costume-formation__cast {inset:8% 2% 10px;height:auto}
.street-performance .general-rehearsal__start {margin-top:15px}
.street-performance [data-street-controls][hidden] {display:none}
.street-performance__scene::after {content:"";position:absolute;z-index:11;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 48%,rgba(3,8,18,.12) 65%,rgba(3,8,18,.65) 100%)}
.street-performance__scene>.costume-formation__cast img {height:54%}

.street-performance .general-rehearsal__playback {margin-top:16px;margin-bottom:18px}
.on-air-stage>.on-air-cast img {height:54%}


.performed-piece-badge[data-performed-tier="bronze"]{border-color:#f6c996;background:linear-gradient(145deg,#b77940,#63351c);box-shadow:0 3px 0 #432311,0 0 12px #d798494d;text-shadow:0 1px 2px #432311}
.performed-piece-badge[data-performed-tier="silver"]{border-color:#edf5ff;background:linear-gradient(145deg,#c6d6e5,#75899e);color:#172c42;box-shadow:0 3px 0 #3e5268,0 0 12px #c6d6e54d;text-shadow:0 1px 1px #ffffff70}
.performed-piece-badge[data-performed-tier="gold"]{border-color:#fff0a6;background:linear-gradient(145deg,#f5ce61,#b97919);color:#432805;box-shadow:0 3px 0 #76500f,0 0 12px #f5ce614d;text-shadow:0 1px 1px #fff0a670}

.roster-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0;color:#cfe8ff;font-weight:900;font-size:.65rem}
.roster-pagination[hidden]{display:none}
.roster-pagination button{padding:8px 10px;border:1px solid #6fa4d4;border-radius:8px;color:#fff;background:#244369;font:inherit;cursor:pointer}
.roster-pagination button:disabled{opacity:.4;cursor:default}

.cuarteto-dialogue-bubble{position:absolute;z-index:100;max-width:min(58%,220px);padding:5px 9px;border:2px solid #754320;border-radius:12px;color:#35200f;background:#fff3d4;box-shadow:0 3px 0 rgba(37,20,8,.45),0 4px 9px rgba(0,0,0,.24);font:900 clamp(.58rem,2.5vw,.82rem)/1.15 "Baloo 2",sans-serif;text-align:center;transform:translate(-50%,-100%);pointer-events:none}
.cuarteto-dialogue-bubble[hidden]{display:none}
.cuarteto-dialogue-bubble::after{content:"";position:absolute;top:100%;left:50%;width:9px;height:9px;border-right:2px solid #754320;border-bottom:2px solid #754320;background:#fff3d4;transform:translate(-50%,-4px) rotate(45deg)}
.is-cuarteto-dialogue>img,.general-rehearsal.is-playing .general-rehearsal__cast.is-cuarteto-dialogue>img{animation:none}
.is-cuarteto-dialogue>img.is-cuarteto-speaking,.general-rehearsal.is-playing .general-rehearsal__cast.is-cuarteto-dialogue>img.is-cuarteto-speaking{transform-origin:center bottom;animation:cuartetoSpeakingSquash .28s ease-in-out infinite}
.is-cuarteto-dialogue.is-dialogue-paused>img.is-cuarteto-speaking,.general-rehearsal.is-playing .general-rehearsal__cast.is-cuarteto-dialogue.is-dialogue-paused>img.is-cuarteto-speaking{animation-play-state:paused}
@keyframes cuartetoSpeakingSquash{0%,100%{transform:translateX(var(--offset)) scale(1,1)}50%{transform:translateX(var(--offset)) scale(1.06,.92)}}
@media(prefers-reduced-motion:reduce){.is-cuarteto-dialogue>img.is-cuarteto-speaking,.general-rehearsal.is-playing .general-rehearsal__cast.is-cuarteto-dialogue>img.is-cuarteto-speaking{animation:none}}

.coac-memory__session-grid--quartet>[data-history-block="pasodobles"] {grid-column:1}
.coac-memory__session-grid--quartet>[data-history-block="popurri"] {grid-column:2}
.coac-memory__session-grid--quartet>[data-history-block="pasodobles"]>div {grid-template-columns:minmax(0,1fr)}

.section-screen--contest-verdict .on-air-commentary p strong,
.section-screen--contest-verdict .on-air-commentary__text b { color:#fff; text-shadow:none; }
.section-screen--contest-verdict .on-air-commentary p.is-qualified .on-air-commentary__text b,
.section-screen--contest-verdict .on-air-commentary p strong.verdict-group-name { color:#fff; text-shadow:none; }

.contest-improvement-lock { margin:0 0 10px; padding:10px 12px; border:1px solid #dca278; border-radius:10px; color:#ffe0bc; background:linear-gradient(120deg,#553027,#302332); box-shadow:inset 0 1px #ffffff12; text-align:left; }
.contest-improvement-lock>strong { display:block; font-size:.75rem; color:#ffd27e; }
.contest-improvement-lock>p { margin:4px 0 0; font-size:.67rem; line-height:1.35; }

.section-screen--contest-verdict [data-verdict-qualified][hidden] { display:none; }
.section-screen--contest-verdict .is-omitted .on-air-commentary__text { display:inline-block; min-width:48px; font-size:.78rem; line-height:1.3; letter-spacing:.02em; color:#dbc2ef; text-align:center; }

.section-screen--contest-verdict .is-modality-list .on-air-commentary__text b:not(:first-child) { color:#fff; text-shadow:none; }

.section-screen--contest-verdict .on-air-commentary__text em { font-style:italic; color:#dcd4e7; font-weight:400; }

.section-screen--contest-verdict .on-air-commentary p.is-qualified-own .on-air-commentary__text b { color:#ffe37a; font-weight:900; text-shadow:0 1px #684300; }
.section-screen--contest-verdict .on-air-commentary p strong.verdict-group-name { font-weight:400; }

.section-screen--contest-verdict .on-air-commentary p.is-own-modality .on-air-commentary__text>b:first-child { color:#ffe37a; text-shadow:0 1px #684300; }

.contest-verdict__action:has([data-verdict-skip]:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:8px; }
.contest-verdict__action [data-verdict-skip][hidden] { display:none; }
.contest-verdict__action [data-verdict-skip] { width:100%; min-width:0; padding-inline:6px; font-size:.72rem; }
.contest-verdict__action:has([data-verdict-skip]:not([hidden])) [data-verdict-finish] { width:100%; min-width:0; padding-inline:6px; }

.on-air-action:has([data-on-air-skip]:not([hidden])),.on-air-return-action:not([hidden]):has([data-on-air-skip]:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:8px; }
[data-on-air-skip][hidden] { display:none; }
.on-air-action [data-on-air-skip],.on-air-return-action [data-on-air-skip] { width:100%; min-width:0; padding-inline:6px; font-size:.72rem; }
.on-air-action:has([data-on-air-skip]:not([hidden])) [data-on-air-start],.on-air-return-action:has([data-on-air-skip]:not([hidden])) [data-on-air-performance-return] { width:100%; min-width:0; padding-inline:6px; }

.coac-memory__audio { display:grid; gap:8px; padding:12px; margin:10px 0; border:1px solid #8d62b5; border-radius:12px; background:linear-gradient(140deg,#35224b,#141b34); }
.coac-memory__audio>strong { color:#e5c5ff; font-size:.75rem; }
.coac-memory__audio>small { color:#c6cce0; font-size:.65rem; }
.coac-memory__audio>button { width:100%; }

.coac-memory__inspiration { display:block; margin-top:4px; color:#cbd9ed; font-size:.56rem; line-height:1.25; }
.coac-memory__inspiration[data-quality="plata"] { color:#cddfeb; }
.coac-memory__inspiration[data-quality="oro"] { color:#ffe080; }
.coac-memory__inspiration[data-quality="leyenda"] { color:#dfb5ff; }

.coac-memory__audio-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.coac-memory__audio-heading>strong { color:#e5c5ff; font-size:.75rem; }
.coac-memory__audio-score { display:grid; min-width:58px; min-height:50px; justify-items:center; gap:5px; margin:0; border-radius:10px; }
.coac-memory__audio-score b { font-size:1.3rem; }
.coac-memory__audio-score small { color:#fff4d7; font-size:.46rem; font-weight:900; letter-spacing:.05em; line-height:1; }
.coac-memory__audio .general-rehearsal__playback { margin:4px 0 3px; }

.coac-memory__stage.is-entry-playing .costume-formation__cast>img { transform-origin:center bottom; animation:cuartetoSpeakingSquash .8s ease-in-out infinite; }
.coac-memory__stage.is-entry-playing .costume-formation__cast>img:nth-child(2n) { animation-delay:-.2s; }
.coac-memory__stage.is-entry-playing .costume-formation__cast>img:nth-child(3n) { animation-delay:-.45s; }
@media(prefers-reduced-motion:reduce) { .coac-memory__stage.is-entry-playing .costume-formation__cast>img { animation:none; } }
