:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#fff;background:#130c2d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 30% 0%,#392071 0%,#130c2d 55%);overflow-x:hidden}.theme-sunset{--accent:#ff7c79;--accent2:#ffc54a}.theme-ocean{--accent:#26c7ff;--accent2:#7ef7e6}.theme-lime{--accent:#7ae9a4;--accent2:#d5fc5d}.theme-violet{--accent:#b777ff;--accent2:#ffdd50}:root{--accent:#b777ff;--accent2:#ffdd50}.glow{position:fixed;pointer-events:none;border-radius:50%;filter:blur(95px);opacity:.28}.glow-a{width:280px;height:280px;background:#bc58ff;top:-120px;left:-100px}.glow-b{width:300px;height:300px;background:#3474ff;bottom:-130px;right:-170px}.app{max-width:640px;min-height:100vh;margin:auto;padding:0 20px;display:flex;flex-direction:column;position:relative}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 0}.brand{font-weight:900;font-size:21px;color:white;text-decoration:none;letter-spacing:-.9px}.brand:first-letter{color:var(--accent2)}.dot{color:var(--accent2)}.top-pill{font-size:11px;background:#ffffff13;border:1px solid #ffffff24;border-radius:30px;padding:9px 12px;color:#e5dafa}main{flex:1;padding:18px 0 32px}.hero{padding:30px 0 0}.center{text-align:center}.hero-art{display:flex;align-items:center;justify-content:center;height:155px;gap:0}.hero-art span{display:grid;place-items:center;font-size:72px;filter:drop-shadow(0 10px 22px #08031799);transform:rotate(-12deg)}.hero-art span:nth-child(2){font-size:105px;transform:translateY(-16px) rotate(9deg)}.hero-art span:nth-child(3){transform:rotate(15deg)}.eyebrow{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--accent);margin-bottom:14px}h1{font-size:clamp(38px,9vw,60px);line-height:1.06;letter-spacing:-2.2px;margin:0 0 18px;font-weight:950}h1 em{font-style:normal;color:var(--accent2)}p{color:#d0c7e7;line-height:1.6;margin:0 0 27px;font-size:16px}.hero p{max-width:420px;margin:0 auto 30px}.btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:53px;width:100%;border:0;border-radius:19px;text-decoration:none;font:inherit;font-weight:850;cursor:pointer;padding:15px 22px;transition:transform .18s,filter .18s;margin:12px 0}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn:active{transform:scale(.98)}.btn.big{min-height:64px;font-size:17px}.btn.primary{background:linear-gradient(125deg,var(--accent2),#ffae35);color:#24123b;box-shadow:0 12px 35px #ffc84632}.btn.secondary{background:#ffffff12;border:1px solid #b88bff7c;color:white}.hint{font-size:12px;color:#c5b9dd;margin:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:50px}.steps div{background:#ffffff0b;border:1px solid #ffffff1b;padding:18px 8px;border-radius:19px;display:flex;align-items:center;flex-direction:column;gap:9px;font-size:12px;color:#ddd2f3}.steps strong{background:#a66aff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:white}.panel{background:linear-gradient(160deg,#241448e8,#160f32f5);border:1px solid #ffffff1b;border-radius:28px;padding:clamp(20px,5vw,34px);box-shadow:0 25px 75px #0704154a}.panel h1{font-size:clamp(32px,7vw,46px)}.panel p{font-size:15px}.field-title{display:block;font-weight:800;margin:20px 0 11px}input:not([type=radio]){width:100%;background:#ffffff0d;color:white;border:1px solid #ffffff34;border-radius:13px;padding:14px 15px;font:inherit;outline:0}input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #ad79fa36}.themes{display:flex;gap:12px}.themes label{cursor:pointer}.themes input{position:absolute;opacity:0}.swatch{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;font-size:25px;border:2px solid transparent}.swatch.violet{background:#5d2fa0}.swatch.sunset{background:#a93f5c}.swatch.ocean{background:#1c719c}.swatch.lime{background:#2c8158}.themes input:checked+.swatch{border-color:white;box-shadow:0 0 0 3px #a574ff66}.section-title{display:flex;justify-content:space-between;font-size:20px;font-weight:900;margin:30px 0 16px}.edit-card{background:#ffffff0a;border:1px solid #ffffff21;padding:17px;border-radius:19px;margin-bottom:16px}.question-number{color:var(--accent);font-size:11px;letter-spacing:1.5px;font-weight:900;margin-bottom:12px}.option-help{color:#c8badd;font-size:12px;margin:14px 0 8px}.edit-option{display:flex;align-items:center;gap:10px;margin:8px 0}.edit-option input[type=radio]{accent-color:#d9b3ff;width:19px;height:19px;flex-shrink:0}.edit-option input:not([type=radio]){padding:11px}.hero-emoji{font-size:78px;margin:8px 0 20px;filter:drop-shadow(0 9px 22px #a969ff77)}.share-link{padding:15px;background:#ffffff0e;border:1px dashed #b788ff88;border-radius:14px;overflow-wrap:anywhere;font-size:13px;color:#ead7ff;margin:15px 0 22px}.text-link{display:inline-block;margin:20px 0 0;color:#e6cbff;font-weight:750;text-decoration:underline}.button-link{background:none;border:0;cursor:pointer;font:inherit}.progress{height:9px;background:#ffffff22;border-radius:20px;overflow:hidden;margin:25px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,#a66cff,#ffdb58);border-radius:20px;transition:width .25s}.play-question{border:0;margin:0;padding:0;width:100%}.play-question[hidden]{display:none}.play-question legend{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.play-question legend small{color:#c9a7ff;font-size:12px;letter-spacing:1.5px;font-weight:900}.play-question legend strong{font-size:clamp(24px,5vw,34px);line-height:1.2}.answer{display:block;cursor:pointer;margin:11px 0}.answer input{position:absolute;opacity:0}.answer span{display:block;border-radius:16px;background:#ffffff0c;border:2px solid #ffffff24;padding:17px 19px;font-weight:700;transition:background .2s,border .2s}.answer input:checked+span{border-color:#bc8bff;background:#773cbd66}.answer input:focus-visible+span{outline:3px solid #ffdb58}.score{display:flex;align-items:baseline;justify-content:center;gap:13px;margin:15px 0 20px}.score strong{font-size:90px;color:var(--accent2);line-height:1}.score span{font-size:25px;font-weight:850}.ranking{margin:25px 0}.rank{display:flex;align-items:center;gap:14px;padding:16px;background:#ffffff0e;border-radius:15px;margin:9px 0}.medal{font-size:24px;min-width:36px}.rank-name{flex:1;font-weight:750;overflow-wrap:anywhere}.rank strong{color:var(--accent2)}footer{text-align:center;color:#b3a7ce;font-size:11px;padding:22px 0 30px}footer span{margin:0 5px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#fff;color:#23113d;padding:13px 21px;border-radius:15px;box-shadow:0 12px 40px #0008;font-weight:800;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:380px){.top-pill{display:none}.hero-art span{font-size:55px}.hero-art span:nth-child(2){font-size:85px}.steps{gap:6px}.steps div{font-size:11px;padding:14px 5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v003: juego compacto mobile-first, CTA accesible */
.route-play .top{padding:12px 0 8px}.route-play .top-pill{display:none}.route-play main{padding:4px 0 8px}.route-play footer{padding:10px 0 14px}.route-play .app{padding:0 12px}.route-play .play-panel{padding:16px 17px 10px;border-radius:23px}.route-play .play-intro .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:6px}.route-play .play-intro h1{font-size:clamp(21px,5.4vw,29px);line-height:1.12;letter-spacing:-.6px;margin:0 0 8px}.route-play .field-title{font-size:12px;margin:5px 0 5px;color:#e7ddfb}.route-play #player_name{padding:10px 12px;border-radius:11px;min-height:43px;font-size:16px}.route-play .progress{margin:11px 0 12px;height:6px}.route-play .play-question legend{gap:5px;margin-bottom:10px}.route-play .play-question legend small{font-size:10px}.route-play .play-question legend strong{font-size:clamp(20px,5.4vw,27px);line-height:1.16}.route-play .answer{margin:7px 0}.route-play .answer span{padding:12px 14px;min-height:49px;border-radius:13px;font-size:16px;display:flex;align-items:center}.route-play .play-actions{position:sticky;bottom:0;z-index:10;padding:8px 0 max(8px,env(safe-area-inset-bottom));background:linear-gradient(0deg,#1b1039 75%,#1b103900);margin-top:5px}.route-play .play-actions .btn{margin:0;min-height:49px;padding:11px 15px;border-radius:14px;font-size:16px}.route-play .play-question input:checked+span{background:#7142ad80;border-color:#ffda61}.route-play .play-question input:checked+span:after{content:'✓';margin-left:auto;color:#ffdf60;font-weight:900}.route-play .play-question{min-width:0}@media(max-height:740px){.route-play .top{padding:8px 0 4px}.route-play .play-panel{padding-top:12px}.route-play .play-intro h1{font-size:21px}.route-play .progress{margin:8px 0}.route-play .answer{margin:5px 0}.route-play .answer span{min-height:44px;padding:9px 12px}.route-play footer{display:none}}

/* Entrega 004: acceso publico al ranking sin obligar a jugar */
.ranking-shortcut{display:inline-flex;align-items:center;gap:6px;color:#e8d5ff;font-size:13px;font-weight:800;text-decoration:none;background:#ffffff12;border:1px solid #ffffff27;border-radius:999px;padding:8px 12px;margin:4px 0 8px}.ranking-shortcut:focus-visible{outline:3px solid #ffdb58}.route-play .play-intro h1{margin-bottom:4px}.result-position{font-weight:850;color:#f8dc7a;margin:-4px 0 20px;font-size:16px;text-align:center}

/* Editor de preguntas personalizadas · v005 */
.editor-toolbar{display:flex;flex-direction:column;gap:8px;margin:14px 0 24px}.editor-toolbar .btn{width:100%}.remove-question{display:block;margin:12px 0 0 auto;background:transparent;border:0;color:#ffc5d6;text-decoration:underline;font:inherit;cursor:pointer}.remove-question:disabled{opacity:.35;cursor:not-allowed}.editor-toolbar .hint{text-align:center;margin:0}

/* v006: catálogo de preguntas y publicidad no intrusiva */
.catalog-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9px;background:#ffffff0a;border:1px solid #ffffff22;padding:12px;border-radius:17px;margin:14px 0}.catalog-toolbar label{font-weight:800;font-size:13px}.catalog-toolbar select{width:100%;background:#2b194d;border:1px solid #ffffff40;color:white;padding:11px;border-radius:11px;font:inherit}.catalog-toolbar .btn{grid-column:1/-1;margin:0;min-height:45px}.ad-area{margin:25px 0 12px;min-height:90px;text-align:center;overflow:hidden}.ad-area small{display:block;color:#afa3ca;margin-bottom:8px;font-size:11px}

/* Entrega 008: celebración y resultado visibles en una pantalla móvil habitual. */
.route-share .top,.route-result .top{padding:12px 0 8px}
.route-share main,.route-result main{padding:8px 0 12px}
.route-share .panel,.route-result .panel{padding:18px 20px;border-radius:24px}
.route-share .hero-emoji,.route-result .hero-emoji{font-size:48px;margin:0 0 8px}
.route-share .eyebrow,.route-result .eyebrow{margin-bottom:8px;font-size:11px}
.route-share h1,.route-result h1{font-size:clamp(27px,7vw,38px);line-height:1.12;margin:0 0 10px;letter-spacing:-1px}
.route-share p,.route-result p{font-size:14px;line-height:1.4;margin:0 0 12px}
.share-help{background:#ffffff0d;border:1px solid #ffffff28;border-radius:13px;padding:12px;font-size:13px;line-height:1.4;color:#e8dafa;text-align:left;margin:12px 0 16px}
.share-success .btn,.result-success .btn{margin:8px 0;min-height:47px;padding:11px 12px;border-radius:14px;font-size:15px}
.share-success .btn.big,.result-success .btn.big{min-height:54px;font-size:16px}
.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-actions .btn{font-size:13px;margin:0;min-width:0}
.new-challenge{background:#ffffff08;border:1px solid #ffffff24;color:#f5eaff}
.route-share footer,.route-result footer{padding:8px 0 12px}
.route-result .score{margin:7px 0 10px}.route-result .score strong{font-size:68px}.route-result .score span{font-size:20px}.route-result .result-position{margin:0 0 12px;font-size:14px}
@media(max-height:740px){.route-share .top-pill,.route-result .top-pill{display:none}.route-share footer,.route-result footer{display:none}.route-share .panel,.route-result .panel{padding:13px 16px}.route-share .hero-emoji,.route-result .hero-emoji{font-size:39px;margin-bottom:4px}.route-share .share-help{padding:9px;margin:8px 0}.route-share .btn,.route-result .btn{min-height:43px;margin:6px 0}}

/* Entrega 010: la opción se selecciona también tocando su texto editable. */
.edit-option{cursor:pointer;border-radius:14px;transition:background .15s ease}
.edit-option:has(input[type=radio]:checked){background:#a76dff1c}
.edit-option:has(input[type=radio]:checked) input[data-option]{border-color:#bc8bff;box-shadow:0 0 0 1px #bc8bff55}
.edit-option input[data-option]{cursor:text}

/* 011: plantillas temáticas, clasificación y tarjeta de puntuación */
.theme-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 15px}.preset{border:1px solid #ffffff40;background:#ffffff12;color:#fff;padding:12px 6px;border-radius:13px;font:inherit;font-weight:750;cursor:pointer}.preset.active,.preset:focus-visible{border-color:#ffe16b;background:#6845a8}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}.podium-place{min-width:0;background:#ffffff12;border:1px solid #ffffff22;border-radius:15px;padding:12px 5px;text-align:center;display:flex;flex-direction:column;gap:5px}.podium-place strong{overflow-wrap:anywhere;font-size:12px}.podium-place span{font-weight:800;color:#ffe16b}.podium-medal{font-size:30px}.podium-1{background:#ffe16b20;border-color:#ffe16b80}.result-success #score-card-btn{font-size:14px}
