.guided-start{max-width:920px;margin:0 auto;padding:clamp(1rem,3vw,2rem) 0 3rem}.guide-copy{text-align:center;max-width:760px;margin:0 auto 1.4rem}.guide-copy h1{font-size:clamp(2rem,6vw,3.7rem);line-height:1.06;margin:.55rem 0}.guide-copy p{color:var(--muted);max-width:700px;margin:.8rem auto}.guide-status{display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.guide-status span{padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.86rem}.guide-status strong{color:var(--text)}
.recommended-start{max-width:680px;margin:0 auto;padding:clamp(1.1rem,4vw,1.7rem);background:var(--panel);border:1px solid var(--line);border-color:color-mix(in srgb,var(--violet) 45%,var(--line));border-radius:1.2rem;text-align:center;box-shadow:var(--shadow)}.recommended-start h2{font-size:clamp(1.45rem,5vw,2.1rem);margin:.55rem 0}.recommended-start p{color:var(--muted);margin:.55rem auto;max-width:580px}.recommended-start .btn{width:100%;margin-top:.8rem;min-height:54px}.route-badge{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:rgba(128,108,255,.15);color:var(--text);font-size:.78rem;font-weight:800}.route-reason{font-size:.86rem}
.quick-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:760px;margin:1rem auto}.quick-route{display:grid;grid-template-columns:auto 1fr;gap:.1rem .65rem;align-items:center;text-align:left;padding:.85rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}.quick-route>span{grid-row:1/3;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.7rem;background:rgba(128,108,255,.13)}.quick-route strong{font-size:.92rem}.quick-route small{color:var(--muted);font-size:.75rem}.quick-route:hover,.quick-route:focus-visible{border-color:var(--violet);background:rgba(128,108,255,.08)}
.advanced-setup{max-width:760px;margin:1rem auto;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.02)}.advanced-setup>summary{padding:1rem;cursor:pointer;font-weight:800}.advanced-setup form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:0 1rem 1rem}.advanced-setup form label{margin:0}.advanced-setup form .btn{grid-column:1/-1;min-height:52px}.setup-message,.game-status{padding:.75rem;border-radius:.7rem;text-align:center}.setup-message{max-width:760px;margin:1rem auto}.setup-message.loading,.game-status.loading{background:rgba(128,108,255,.1)}.setup-message.error,.game-status.error{background:rgba(255,101,122,.12);color:#ffb0bd}.game-status.success{background:rgba(56,211,159,.1)}
.game-shell{max-width:980px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start}.game-shell:not(.contest-mode){grid-template-columns:minmax(0,1fr);max-width:820px}.ladder{position:sticky;top:5rem;display:flex;flex-direction:column-reverse;gap:.35rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.ladder div{display:flex;justify-content:space-between;padding:.43rem .6rem;border-radius:.45rem;color:var(--muted);font-size:.82rem}.ladder div.current{background:linear-gradient(90deg,var(--violet),rgba(128,108,255,.3));color:#fff}.ladder div.safe{border:1px solid rgba(240,199,94,.35)}
.question-stage{padding:clamp(1rem,3vw,1.5rem);background:var(--panel);border:1px solid var(--line);border-radius:1.15rem;box-shadow:var(--shadow)}.game-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.game-top>div{display:flex;align-items:baseline;gap:.65rem}.session-kicker{color:var(--muted);font-size:.82rem}.exit-session{border:0;background:transparent;color:var(--muted);padding:.45rem;cursor:pointer;text-decoration:underline}.progress-line{height:10px;margin:.8rem 0 1rem;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--gold));width:0;transition:width .25s ease}.question-meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:flex-start;color:var(--muted);font-size:.75rem}.question-meta span{padding:.3rem .5rem;border:1px solid var(--line);border-radius:99px;max-width:100%;overflow-wrap:anywhere}.question-meta #moduleName{flex:1 1 100%;border-radius:.8rem}.question-stage h2{font-size:clamp(1.3rem,4.5vw,2rem);line-height:1.36;margin:1rem 0 .45rem}.answer-instruction{color:var(--muted);font-size:.88rem;margin:0 0 .9rem}.options{display:grid;grid-template-columns:1fr;gap:.7rem}.option{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;min-height:68px;font-size:1rem;line-height:1.35;transition:border-color .15s ease,background .15s ease,transform .15s ease}.option:hover{border-color:rgba(128,108,255,.65)}.option:active{transform:scale(.995)}.option .key{flex:0 0 auto;display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:.65rem;background:rgba(128,108,255,.16);font-weight:900}.option.selected{border-color:var(--gold);background:rgba(240,199,94,.09)}.option.selected .key{background:var(--gold);color:#17151f}.option.correct{border-color:var(--green);background:rgba(56,211,159,.12)}.option.wrong{border-color:var(--red);background:rgba(255,101,122,.12)}.option.hidden-option{display:none}.option:disabled{cursor:default;opacity:1}.question-loading{height:190px;border-radius:.9rem;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:questionPulse 1.2s infinite}@keyframes questionPulse{to{background-position:-200% 0}}
.help-panel{margin:.85rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.help-panel>summary{padding:.75rem 0;cursor:pointer;color:var(--muted);font-size:.88rem}.lifelines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0 0 .75rem}.lifelines button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:.7rem;padding:.65rem;cursor:pointer;font-size:.8rem}.lifelines button:disabled{opacity:.38}.help-result{margin:0 0 .75rem;padding:.7rem;border-radius:.65rem;background:rgba(128,108,255,.09);font-size:.85rem}
.feedback{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:.95rem}.feedback.good{background:rgba(56,211,159,.08);border-color:rgba(56,211,159,.45)}.feedback.bad{background:rgba(255,101,122,.08);border-color:rgba(255,101,122,.4)}.feedback-heading{display:flex;align-items:center;gap:.65rem}.feedback-heading>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:rgba(255,255,255,.08);font-weight:900}.feedback-heading h3{margin:0}.memory-card{margin:.85rem 0;padding:.75rem;border-left:3px solid var(--gold);background:rgba(240,199,94,.06)}.feedback details{margin:.65rem 0}.feedback summary{cursor:pointer;font-weight:750}.feedback ul{padding-left:1.2rem}.feedback .source{padding:.75rem 0;color:var(--muted);font-size:.85rem}.feedback-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.9rem}.mini-btn{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:.65rem;padding:.55rem .7rem;cursor:pointer;font-size:.82rem}
.secondary-actions{display:flex;justify-content:center;gap:1rem;margin:.8rem 0}.text-control{border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer;padding:.4rem}.game-actions{display:flex}.action-main{width:100%;min-height:56px;font-size:1rem}.result-card{max-width:720px;margin:2rem auto;text-align:center;padding:clamp(1rem,4vw,2rem)}.result-card .big-score{font-size:clamp(4rem,16vw,6rem);font-weight:900;color:var(--gold)}.result-primary{display:flex;justify-content:center;width:100%;margin:1rem 0;min-height:54px}.result-details{margin-top:1rem;text-align:left;border:1px solid var(--line);border-radius:.9rem}.result-details>summary{padding:1rem;cursor:pointer;font-weight:800}.result-details>*:not(summary){margin-left:1rem;margin-right:1rem}.result-cta-group{display:grid;gap:.75rem;margin:1rem 0}.result-secondary{display:flex;justify-content:center;width:100%;min-height:52px}.result-links{display:flex;gap:.8rem;flex-wrap:wrap;padding:1rem 0}.recommend-box{text-align:left;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(240,199,94,.06)}#timer.urgent{color:var(--red);border-color:rgba(255,101,122,.5)}
body.focus-mode .topbar nav,body.focus-mode .top-actions{display:none}body.focus-mode .topbar{justify-content:flex-start}
@media(max-width:850px){.game-shell,.game-shell.contest-mode{grid-template-columns:1fr}.ladder{display:none!important}.quick-routes{grid-template-columns:1fr}.advanced-setup form{grid-template-columns:1fr}.advanced-setup form .btn{grid-column:auto}}
@media(max-width:620px){.guided-start{padding-top:.35rem}.guide-copy{text-align:left}.guide-copy h1{font-size:2rem}.guide-status{justify-content:flex-start}.recommended-start{text-align:left}.recommended-start .btn{text-align:center}.question-stage{border-radius:.9rem;padding:.85rem}.question-meta{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:start}.question-meta #moduleName{grid-column:1 / -1}.question-stage h2{margin-top:.85rem}.option{padding:.85rem;min-height:64px}.help-panel{margin-bottom:5.5rem}.game-actions{position:sticky;bottom:.45rem;z-index:10;padding:.45rem;background:var(--panel);background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:.9rem;backdrop-filter:blur(12px)}.feedback-actions{display:grid}.mini-btn{justify-content:center}.secondary-actions{font-size:.85rem}.result-card{margin:.5rem auto}.topbar .brand small{display:none}}
.route-empty-note{margin-top:1rem;padding:.75rem;border-radius:.75rem;background:rgba(240,199,94,.08);color:var(--text)!important;text-align:center}

/* V5: práctica general visible y seleccionable */
.general-practice{max-width:760px;margin:0 auto 1rem;padding:clamp(1rem,4vw,1.45rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:1rem;align-items:center;background:var(--panel);border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));border-radius:1.15rem;box-shadow:var(--shadow)}
.general-practice h2{font-size:clamp(1.35rem,4vw,1.85rem);margin:.55rem 0}.general-practice p{color:var(--muted);margin:.5rem 0}.general-practice-form{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.025)}.general-practice-form label{font-size:.86rem;font-weight:800}.general-practice-form select{width:100%;min-height:48px}.general-practice-form .btn{width:100%;min-height:52px}.advanced-setup label small{display:block;margin-top:.35rem;color:var(--muted);font-size:.75rem;line-height:1.35}
@media(max-width:720px){.general-practice{grid-template-columns:1fr}.general-practice-form{padding:.75rem}}

/* V7: selección múltiple y plan equilibrado de práctica */
.general-practice{grid-template-columns:1fr;max-width:820px}
.practice-main-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.practice-main-options label{display:grid;gap:.4rem}
.scope-selector{border:1px solid var(--line);border-radius:1rem;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}
.scope-selector>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem;cursor:pointer;font-weight:850;background:rgba(255,255,255,.025)}
.scope-selector>summary small{color:var(--muted);font-weight:650;text-align:right}
.selection-tools,.topic-selection-tools{display:flex;gap:.55rem;flex-wrap:wrap;padding:.85rem 1rem .75rem}
.selector-tool{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:.6rem .85rem;border:1px solid color-mix(in srgb,var(--violet) 45%,var(--line));border-radius:.8rem;background:rgba(128,108,255,.1);color:var(--text);font-weight:800;cursor:pointer}.selector-tool span{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:.4rem;background:var(--violet);color:#fff;font-size:.8rem}.selector-tool.secondary{background:rgba(255,255,255,.035);border-color:var(--line);color:var(--muted)}.selector-tool.secondary span{background:rgba(255,255,255,.1);color:var(--text)}
.module-choice-grid{border:0;margin:0;padding:0 1rem 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.module-choice,.topic-choice{position:relative;display:grid!important;grid-template-columns:1.25rem minmax(0,1fr) auto;gap:.8rem;align-items:center;margin:0!important;padding:.9rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.025);cursor:pointer;font-weight:600!important;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;overflow:hidden}
.module-choice:before,.topic-choice:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--choice-accent,var(--violet));opacity:.55}.module-choice:hover,.topic-choice:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--choice-accent,var(--violet)) 48%,var(--line))}
.choice-input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}
.choice-check{display:grid;place-items:center;width:1.25rem;height:1.25rem;border:2px solid color-mix(in srgb,var(--muted) 60%,transparent);border-radius:.42rem;color:transparent;font-size:.78rem;font-weight:950;transition:.18s ease}
.choice-copy{display:grid;gap:.18rem;min-width:0}.choice-copy strong{font-size:.96rem;line-height:1.25;color:var(--text);overflow-wrap:anywhere}.choice-copy small{color:var(--muted);font-size:.72rem;font-weight:650;line-height:1.25}
.choice-count{display:grid;justify-items:end;align-content:center;min-width:58px;padding:.38rem .5rem;border-radius:.7rem;background:rgba(255,255,255,.05);line-height:1}.choice-count strong{font-size:.92rem;color:var(--text)}.choice-count small{margin-top:.18rem;color:var(--muted);font-size:.62rem;font-weight:750}.choice-count.compact{min-width:54px}
.module-choice:has(.choice-input:checked),.topic-choice:has(.choice-input:checked){border-color:color-mix(in srgb,var(--choice-accent,var(--violet)) 72%,var(--line));background:color-mix(in srgb,var(--choice-accent,var(--violet)) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--choice-accent,var(--violet)) 24%,transparent)}
.module-choice:has(.choice-input:checked) .choice-check,.topic-choice:has(.choice-input:checked) .choice-check{border-color:var(--choice-accent,var(--violet));background:var(--choice-accent,var(--violet));color:#fff}.module-choice:has(.choice-input:focus-visible),.topic-choice:has(.choice-input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.topic-choice-panel{margin:0 1rem 1rem;border-top:1px solid var(--line)}
.topic-choice-panel>summary{display:grid;gap:.2rem;padding:1rem 0;cursor:pointer;font-weight:850}.topic-choice-panel>summary small{display:block;color:var(--muted);font-weight:550;line-height:1.35}
.topic-selection-tools{padding:.1rem 0 .8rem}
.topic-module-list{display:grid;gap:.65rem;padding-bottom:.2rem}
.topic-module-group{border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.018);overflow:hidden}.topic-module-group[hidden]{display:none}.topic-module-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.8rem .9rem;cursor:pointer}.topic-group-name{display:flex;align-items:center;gap:.55rem;min-width:0}.topic-group-name i{width:.65rem;height:.65rem;border-radius:50%;background:var(--choice-accent,var(--violet));box-shadow:0 0 0 4px color-mix(in srgb,var(--choice-accent,var(--violet)) 15%,transparent)}.topic-group-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-group-status{color:var(--muted);font-size:.72rem;font-weight:750;white-space:nowrap}.topic-module-group.has-selection>summary{background:color-mix(in srgb,var(--choice-accent,var(--violet)) 7%,transparent)}
.topic-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.2rem .75rem .75rem;max-height:350px;overflow:auto}.topic-choice{font-size:.82rem!important;line-height:1.3}.topic-choice .choice-copy strong{font-size:.82rem}
.balance-preview{padding:.75rem .85rem;border-radius:.75rem;background:rgba(56,211,159,.07);color:var(--muted)!important;font-size:.82rem;line-height:1.4}.balance-preview.warning{background:rgba(255,101,122,.1);color:#ffb0bd!important}
@media(max-width:620px){.practice-main-options,.module-choice-grid,.topic-choice-grid{grid-template-columns:1fr}.scope-selector>summary{align-items:flex-start;flex-direction:column}.scope-selector>summary small{text-align:left}.selection-tools,.topic-selection-tools{display:grid;grid-template-columns:1fr 1fr}.selector-tool{width:100%;padding:.58rem .5rem}.module-choice-grid{gap:.55rem;padding-left:.75rem;padding-right:.75rem}.module-choice,.topic-choice{grid-template-columns:1.2rem minmax(0,1fr) auto;padding:.82rem;gap:.65rem}.choice-copy strong{font-size:.9rem}.choice-count{min-width:52px;padding:.35rem .4rem}.topic-choice-panel{margin-left:.75rem;margin-right:.75rem}.topic-module-group>summary{align-items:flex-start;flex-direction:column}.topic-group-status{padding-left:1.2rem}.topic-choice-grid{max-height:310px;padding-left:.55rem;padding-right:.55rem}.topic-choice .choice-copy strong{font-size:.84rem}}

