/* Studio system. Performance stages retain their artwork and timing layout. */
body[data-rf-studio]{--studio-bg:#0d0f12;--studio-panel:#16191e;--studio-line:#343a43;--studio-ink:#f2f3f5;--studio-muted:#b0b6c1;--studio-accent:#d9fa76;--studio-violet:#bea7e9;color-scheme:dark;background:var(--studio-bg)!important;color:var(--studio-ink)!important;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased}
body[data-rf-studio] :is(button,input,select,textarea){font-family:inherit}
body[data-rf-studio] :is(h2,h3,h4){font-family:inherit!important;letter-spacing:-.025em!important;line-height:1.2;text-shadow:none!important;-webkit-text-stroke:0!important}
body[data-rf-studio] :is(p,li,label,summary){text-shadow:none!important;-webkit-text-stroke:0!important}
body[data-rf-studio] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--studio-accent)!important;outline-offset:4px!important}
body[data-rf-studio] :is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],input[type=number],textarea,select){background:#111419!important;color:var(--studio-ink)!important;border:1px solid #46505d!important;border-radius:12px!important;box-shadow:none!important;min-height:46px;font-size:16px!important;line-height:1.4}
body[data-rf-studio] :is(input,textarea)::placeholder{color:#9ba4b1!important;opacity:1}
body[data-rf-studio] :is(input[type=range],input[type=checkbox],input[type=radio],progress){accent-color:var(--studio-accent)}
body[data-rf-studio] :is(.primary,.f-primary,.button-lime,.rf-action-ok,.dash-start,.sticky-start .primary){background:var(--studio-accent)!important;border:1px solid var(--studio-accent)!important;color:#18200b!important;-webkit-text-fill-color:#18200b!important;box-shadow:none!important;text-shadow:none!important;border-radius:12px!important;font-weight:750!important;letter-spacing:.015em!important;min-height:48px;transform:none!important}
body[data-rf-studio] :is(button.secondary,a.secondary,button.ghost,a.ghost,.f-secondary,.button.secondary,.rf-action-cancel){background:#20252d!important;color:#edf0f4!important;-webkit-text-fill-color:#edf0f4!important;border:1px solid #434c59!important;box-shadow:none!important;text-shadow:none!important;border-radius:12px!important;min-height:44px;transform:none!important}
body[data-rf-studio] :is(.primary,.f-primary,.secondary,.ghost,.f-secondary) :is(span,b,strong,small){color:inherit!important;-webkit-text-fill-color:inherit!important;text-shadow:none!important}
body[data-rf-studio] :is(button,input,select,textarea):disabled{opacity:.58!important;cursor:not-allowed;box-shadow:none!important}
body[data-rf-studio] :is(.kicker,.eyebrow,.micro-label,.rf-resource-tag){color:var(--studio-muted)!important;letter-spacing:.12em!important;font-size:11px!important;font-weight:750!important}
body[data-rf-studio] :is(.section-head,.related-head){margin-block:28px 20px}
body[data-rf-studio] :is(.section-head h2,.related-head h2){font-size:clamp(25px,3.6vw,42px)!important}
body[data-rf-studio] :is(.section-head p,.lead,.fine){color:var(--studio-muted)!important;line-height:1.65}
/* Application dashboard and setup. */
body[data-rf-studio][data-rf-studio] :is(p,li,label,input,textarea,select,button,summary,.rf-reading-card strong,.rf-cat-copy strong){font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-shadow:none!important;-webkit-text-stroke:0!important}
body[data-rf-studio][data-rf-studio] :is(h2,h3,h4){font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-weight:750!important}
body[data-rf-studio=blog][data-rf-studio] .article-head h1,body[data-rf-studio=academia][data-rf-studio] .academy-public-hero h1{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-weight:780!important}
body[data-rf-studio].app-v4 .dash-hero{padding:clamp(24px,4vw,48px)!important;background:radial-gradient(ellipse at top right,#3b34444d,transparent 65%),#16191e!important;border:1px solid #3c414c!important;border-radius:24px!important;box-shadow:none!important}
body[data-rf-studio].app-v4 .dash-hero h1{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:clamp(31px,4.5vw,58px)!important;line-height:1.08!important;font-weight:780!important;letter-spacing:-.045em!important;text-shadow:none!important;-webkit-text-stroke:0!important}
body[data-rf-studio].app-v4 .dash-hero h1 em{color:var(--studio-accent)!important;font-style:normal!important}
body[data-rf-studio].app-v4 .topbar{background:#101318f5!important;border-bottom:1px solid #343b46!important;box-shadow:none!important}
body[data-rf-studio].app-v4 .noise{opacity:.015!important;pointer-events:none}
body[data-rf-studio].app-v4 #train :is(.training-layout,.setup-card,.beats-panel,.tool-grid,.tool-card){min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
body[data-rf-studio].app-v4 #train :is(.segmented,.focus-chips){min-width:0!important;max-width:100%!important;flex-wrap:wrap!important}
body[data-rf-studio].app-v4 #train :is(.segmented,.focus-chips)>button{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;font-size:13px!important}
@media(max-width:700px){body[data-rf-studio].app-v4 #train .training-layout{grid-template-columns:minmax(0,1fr)!important}body[data-rf-studio].app-v4 #train .setup-card{width:100%!important}body[data-rf-studio].app-v4 #train .tool-grid{grid-template-columns:minmax(0,1fr)!important}body[data-rf-studio].app-v4 #train .sticky-start{left:12px!important;right:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box!important}}
body[data-rf-studio=batallas-amigos] .f-hero{background:transparent!important;border:0!important;box-shadow:none!important;padding-inline:0!important}
body[data-rf-studio=batallas-amigos] .f-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px!important}
body[data-rf-studio=batallas-amigos] .f-segmented button{background:#20252d!important;color:#d4dbe5!important;border:1px solid #485462!important;box-shadow:none!important}
body[data-rf-studio=batallas-amigos] .f-segmented button[aria-pressed=true]{background:#293523!important;color:#ecffd6!important;border-color:#81965f!important}
body[data-rf-studio=batallas-amigos] .f-options label>span{background:#20252d!important;border:1px solid #485462!important;color:#e6eaf0!important;box-shadow:none!important;border-radius:12px!important}
body[data-rf-studio=batallas-amigos] .f-options input:checked+span{background:#293523!important;color:#ecffd6!important;border-color:#81965f!important}
body[data-rf-studio=batallas-amigos] .f-options span :is(b,small){color:inherit!important;-webkit-text-fill-color:inherit!important}
body[data-rf-studio].app-v4 :is(.setup-card,.profile-card,.beats-panel,.result-card,.daily-card,.xp-panel,.battle-panel,.battle-room,.nb-panel){background:var(--studio-panel)!important;border:1px solid var(--studio-line)!important;border-radius:20px!important;box-shadow:0 12px 36px #00000016!important}
body[data-rf-studio].app-v4 :is(.stats-grid article,.history-item,.tool-card,.mode-card,.rank-banner){background:var(--studio-panel)!important;border:1px solid var(--studio-line)!important;border-radius:14px!important;box-shadow:none!important}
body[data-rf-studio].app-v4 :is(.stats-grid article strong,.history-item strong){font-variant-numeric:tabular-nums;color:var(--studio-ink)!important}
body[data-rf-studio].app-v4 :is(.stats-grid article span,.stats-grid article small,.history-item p){color:var(--studio-muted)!important}
body[data-rf-studio] #train :is(#rfLanguageMode,.custom-focus,#multiWordControls,#focusChooser,.tool-card){background:var(--studio-panel)!important;border:1px solid var(--studio-line)!important;box-shadow:none!important;border-radius:16px!important}
body[data-rf-studio] #train :is(#durationSelect,#difficultySelect,.rf-language-switch){background:#0f1216!important;border:1px solid #303641!important;border-radius:14px!important;padding:5px!important}
body[data-rf-studio] #train :is(#durationSelect,#difficultySelect,.rf-language-switch)>button{background:transparent!important;color:#bfc6d1!important;-webkit-text-fill-color:#bfc6d1!important;font-weight:650!important;box-shadow:none!important;min-height:48px!important}
body[data-rf-studio] #train :is(#durationSelect,#difficultySelect,.rf-language-switch)>button.selected,body[data-rf-studio] #train :is(#modeSelect,#multiWordControls,#focusChooser) button:is(.selected,.active,[aria-pressed=true]){background:#273326!important;color:#e6ffb6!important;-webkit-text-fill-color:#e6ffb6!important;border-color:#71875b!important;box-shadow:none!important}
body[data-rf-studio] #train .step-label>b{background:#292535!important;color:#d9cbef!important;border:1px solid #494055;border-radius:11px!important;box-shadow:none!important;font-size:15px!important}
body[data-rf-studio] #train .step-label>span{font-size:17px!important;letter-spacing:-.01em!important;color:var(--studio-ink)!important}
body[data-rf-studio] #train :is(.rf-language-head>span,.rf-language-head>small,#rfLanguageHint,.tool-card small){color:var(--studio-muted)!important}
body[data-rf-studio] #train .sticky-start{background:#11151af2!important;border-top:1px solid var(--studio-line)!important;box-shadow:0 -8px 28px #0002!important;border-radius:16px 16px 0 0;backdrop-filter:blur(18px)}
body[data-rf-studio] :is(.battle-tabs,.beat-tabs,.nb-tabs){padding:5px!important;gap:5px!important;background:#101318!important;border:1px solid var(--studio-line)!important;border-radius:14px!important}
body[data-rf-studio] :is(.battle-tabs,.beat-tabs,.nb-tabs)>button{background:transparent!important;color:#c0c6d0!important;-webkit-text-fill-color:#c0c6d0!important;border-color:transparent!important;border-radius:9px!important;box-shadow:none!important;min-height:44px;font-weight:650!important}
body[data-rf-studio] :is(.battle-tabs,.beat-tabs,.nb-tabs)>button:is(.active,[aria-selected=true],[aria-pressed=true]){background:#30363e!important;color:#f2f5f8!important;-webkit-text-fill-color:#f2f5f8!important;border-color:#505b6a!important}
body[data-rf-studio] .bottom-nav{background:#14181ef5!important;border:1px solid #3a424f!important;box-shadow:0 -8px 32px #0003!important;backdrop-filter:blur(20px);border-radius:20px 20px 0 0!important}
body[data-rf-studio] .bottom-nav button{color:#a7afbc!important;min-height:48px;font-weight:650!important;letter-spacing:0!important}
body[data-rf-studio] .bottom-nav button.active{color:var(--studio-accent)!important;background:#242d20!important;border-radius:12px!important}
/* Shared chrome. */
body[data-rf-studio] :is(.blog-top,.site-header,.f-header){background:#0d0f12f5!important;border-bottom:1px solid #303640!important;box-shadow:none!important;backdrop-filter:blur(16px)}
body[data-rf-studio] :is(.blog-login,.nav-login,.f-back){background:#20242b!important;border:1px solid #48515e!important;color:#eef0f5!important;-webkit-text-fill-color:#eef0f5!important;border-radius:11px!important;box-shadow:none!important;font-size:12px!important;min-height:42px}
body[data-rf-studio] .rf-site-footer{background:#0b0d10!important;border-top:1px solid #303640!important;color:var(--studio-muted)!important}
/* Editorial reading: examples have surfaces, prose has space. */
body[data-rf-studio=blog] .article-wrap{max-width:1080px!important}
body[data-rf-studio=blog] .article-head{background:transparent!important;border:0!important;box-shadow:none!important;padding-block:36px!important}
body[data-rf-studio=blog] .article-head h1{font-family:inherit!important;letter-spacing:-.045em!important;font-size:clamp(34px,5.2vw,64px)!important;line-height:1.08!important;text-shadow:none!important;-webkit-text-stroke:0!important;color:var(--studio-ink)!important}
body[data-rf-studio=blog] .article-body{font-size:17px!important;line-height:1.8!important}
body[data-rf-studio=blog] .article-body :is(p,li){color:#d0d5de!important;line-height:1.8!important}
body[data-rf-studio=blog] .article-body :is(h2,h3){color:#f2f3f5!important;scroll-margin-top:90px}
body[data-rf-studio=blog] .article-body h2{font-size:clamp(25px,3.4vw,36px)!important}
body[data-rf-studio=blog] .article-body .rf-learning-block{padding:22px 0!important;margin:12px 0!important;border:0!important;border-bottom:1px solid #2c323b!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body[data-rf-studio=blog] :is(.rf-learning-lab,.rap-demo,.wb-replica,.article-practice,.rf-learning-goal){background:var(--studio-panel)!important;border:1px solid #3c4150!important;border-radius:18px!important;box-shadow:none!important}
body[data-rf-studio=blog] :is(.rf-learning-pair>div,.article-practice){background:#111419!important;border-color:#343b46!important}
body[data-rf-studio=blog] .rf-reading-index{background:#13161b!important;border:1px solid #353c48!important;border-radius:16px!important;padding:18px!important}
body[data-rf-studio=blog] .rf-reading-index a{font-family:inherit!important;font-size:14px!important;line-height:1.5!important;color:#c6cbd5!important;padding:9px 0!important;text-decoration:none!important}
body[data-rf-studio=blog] :is(.blog-card,.cluster-card,.rf-reading-card){background:var(--studio-panel)!important;border:1px solid #353c47!important;box-shadow:none!important;border-radius:17px!important;transition:background .18s,border-color .18s}
body[data-rf-studio=blog] :is(.blog-card,.rf-reading-card):hover{background:#1e232b!important;border-color:#8b81a4!important}
body[data-rf-studio=blog] .blog-card :is(h2,h3){font-size:22px!important;line-height:1.3!important;color:var(--studio-ink)!important}
body[data-rf-studio=blog] .blog-card p{font-size:15px!important;color:var(--studio-muted)!important;line-height:1.6!important}
body[data-rf-studio=blog] a.rf-blog-cat{background:#171b21!important;border:1px solid #373e49!important;box-shadow:none!important;border-radius:14px!important;color:#ebedf1!important}
body[data-rf-studio=blog] .rf-cat-icon{background:#282432!important;color:#cfbdea!important;box-shadow:none!important}
body[data-rf-studio=blog] .rf-cat-copy strong{font-family:inherit!important;font-size:13px!important;letter-spacing:.025em!important;color:#eceef3!important}
body[data-rf-studio=blog] .rf-cat-copy small{color:#b3bbc7!important}
body[data-rf-studio=blog] .rf-compact-banner{background:#1d1a26!important;border:1px solid #40394f!important;border-radius:14px!important;box-shadow:none!important}
/* Academy, reply setup, local battles and plans. */
body[data-rf-studio=academia] :is(.panel,.card,.lesson-card,.course-card,.academy-level),body[data-rf-studio=replica] :is(.panel,.card):not(.arena),body[data-rf-studio=batallas-amigos] :is(.f-setup,.f-panel,.rf-vocabulary),body[data-rf-studio=planes] :is(.plan,.scholarships){background:var(--studio-panel)!important;border:1px solid #39414d!important;border-radius:20px!important;box-shadow:none!important}
body[data-rf-studio=academia] .academy-public-hero{background:radial-gradient(ellipse at top right,#35304366,transparent 65%),#15181d!important;border:1px solid #414050!important;border-radius:24px!important;box-shadow:none!important}
body[data-rf-studio=academia] .academy-public-hero h1{font-family:inherit!important;font-size:clamp(36px,5vw,62px)!important;line-height:1.08!important;letter-spacing:-.04em!important;text-shadow:none!important}
body[data-rf-studio=replica]:not(.rf-replica-focus) main>h1{font-family:inherit!important;font-size:clamp(52px,8vw,96px)!important;letter-spacing:-.06em!important;color:#f2f3f6!important}
body[data-rf-studio=replica] main>h1 span{color:var(--studio-violet)!important}
body[data-rf-studio=replica] .choice-button{background:#191e25!important;border:1px solid #424b59!important;color:#edf0f4!important;box-shadow:none!important;border-radius:12px!important}
body[data-rf-studio=replica] .choice-button[aria-pressed=true]{background:#283225!important;border-color:#94ac6a!important;color:#e2ffba!important}
body[data-rf-studio=replica] .choice-button span{color:#b7c0cc!important}
body[data-rf-studio=replica] :is(button:not(.secondary):not(.choice-button),.button:not(.secondary)){background:var(--studio-accent);color:#19200e}
body[data-rf-studio=planes] [role=tab][aria-selected=true]{background:#2a323b!important;color:#e8f6d1!important;-webkit-text-fill-color:#e8f6d1!important;border-color:#6a7855!important;box-shadow:none!important}
body[data-rf-studio=planes] [role=tab][aria-selected=true] small{color:inherit!important;-webkit-text-fill-color:inherit!important}
body[data-rf-studio=planes] .plan h2{color:#f0f3f7!important;letter-spacing:-.04em!important}
body[data-rf-studio=landing] .masthead{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:1180px!important}
body[data-rf-studio=landing] .experience-card{border-color:#414752!important;box-shadow:none!important;border-radius:20px!important}
body[data-rf-studio=landing] .button{border-radius:12px!important;box-shadow:none!important}
/* Audio controls share the same visual and keyboard behavior. */
body[data-rf-studio] :is(.rf-demo-player,.studio-player){background:#10151b!important;border:1px solid #3b4553!important;border-radius:15px!important;padding:16px!important;box-shadow:none!important;display:flex;align-items:center;gap:15px}
body[data-rf-studio] :is(.rf-demo-toggle,.studio-player button){flex:0 0 46px;width:46px;height:46px;min-height:46px;padding:0!important;border:1px solid #748553!important;border-radius:50%!important;background:var(--studio-accent)!important;color:#19200f!important;-webkit-text-fill-color:#19200f!important;box-shadow:none!important;font:700 18px/1 system-ui!important;cursor:pointer}
body[data-rf-studio] :is(.rf-demo-track,.studio-track){flex:1;min-width:0}
body[data-rf-studio] :is(.rf-demo-label,.studio-player-label){display:block;font-size:10px!important;font-weight:700;letter-spacing:.11em!important;color:#b5beca!important;margin-bottom:6px}
body[data-rf-studio] :is(.rf-demo-player,.studio-player) input[type=range]{display:block;width:100%;height:24px;margin:0;padding:0;accent-color:var(--studio-accent)}
body[data-rf-studio] :is(.rf-demo-time,.studio-time){font:12px/1.5 ui-monospace,monospace!important;color:#b7c1cf!important;font-variant-numeric:tabular-nums}
body[data-rf-studio] audio[data-studio-audio]{display:none!important}
body[data-rf-studio] .studio-audio-status{font-size:13px!important;color:#c6bfd8!important;line-height:1.5!important;margin:7px 0}
body[data-rf-studio] .studio-audio-status:empty{display:none}
body[data-rf-studio] :is(.studio-player,.studio-audio-status)[hidden]{display:none!important}
/* Equal cookie choices, compact on narrow screens. */
body[data-rf-studio] #rfCookieBanner{width:min(560px,calc(100% - 24px))!important;max-width:560px!important;left:auto!important;right:12px!important;bottom:12px!important;transform:none!important;padding:18px!important;background:#191d24fa!important;border:1px solid #596170!important;border-radius:18px!important;box-shadow:0 14px 60px #0008!important;backdrop-filter:blur(16px)}
body[data-rf-studio] #rfCookieBanner>strong{font-family:inherit!important;font-size:16px!important;line-height:1.4!important;color:#f3f4f7!important}
body[data-rf-studio] #rfCookieBanner p{font-size:13px!important;line-height:1.55!important;margin:8px 0 14px!important;color:#c7cdd7!important}
body[data-rf-studio] #rfCookieBanner .rf-cookie-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
body[data-rf-studio] #rfCookieBanner .rf-cookie-actions button{width:100%!important;min-height:44px!important;margin:0!important;padding:10px 8px!important;background:#2b323d!important;border:1px solid #737e8e!important;border-radius:10px!important;color:#f2f4f7!important;-webkit-text-fill-color:#f2f4f7!important;font-size:11px!important;line-height:1.3!important;box-shadow:none!important}
body[data-rf-studio] #rfCookieBanner[hidden]{display:none!important}
@media(max-width:640px){body[data-rf-studio] :is(.blog-top,.f-header){padding:12px 16px!important;min-height:64px!important}body[data-rf-studio=blog] .article-head{padding:24px 0!important}body[data-rf-studio=blog] .article-body{font-size:16px!important;line-height:1.75!important}body[data-rf-studio=blog] :is(.rap-demo,.rf-learning-lab,.wb-replica){padding:20px 16px!important}body[data-rf-studio] .screen{padding-left:16px!important;padding-right:16px!important}body[data-rf-studio].app-v4 :is(.setup-card,.profile-card,.beats-panel){padding:20px 16px!important}body[data-rf-studio] .bottom-nav{padding-inline:4px!important}body[data-rf-studio] .bottom-nav button{font-size:10px!important}body[data-rf-studio] #rfCookieBanner{bottom:max(12px,env(safe-area-inset-bottom))!important;padding:15px!important}body[data-rf-studio].app-v4 #rfCookieBanner{bottom:calc(78px + env(safe-area-inset-bottom))!important}}
@media(prefers-reduced-motion:reduce){body[data-rf-studio] :is(.blog-card,.rf-reading-card,.studio-player button){transition:none!important}}
@media(forced-colors:active){body[data-rf-studio] :is(button,a,input,select,textarea){forced-color-adjust:auto}}
