/* Keep long question prompts and music controls within the available column. */
#rfQuestionSettings{padding:18px;border:1px solid #6c5979;border-radius:16px;background:#211829;display:grid;gap:14px;margin:16px 0;min-width:0}
#rfQuestionSettings[hidden]{display:none!important}
#rfQuestionSettings label{display:grid;gap:8px;min-width:0;font-weight:800;font-size:12px}
#rfQuestionSettings select:not(.rf-native-select){max-width:100%;width:100%;min-width:0;font-size:16px;padding:12px}
#rfQuestionSettings .rf-choice,#rfQuestionSettings .rf-choice-trigger{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#train.rf-question-setup #rfSetupMore,#train.rf-question-setup #intervalRange,#train.rf-question-setup label:has(#intervalValue){display:none!important}
#train.rf-question-setup .rf-english-toggle,#train.rf-question-setup label:has(#rfThemeEnglish){display:none!important}
body #train #rfTrainActions,body #battlePlay #rfBattleActions{position:relative!important;bottom:auto!important;z-index:2!important}
#rfQuestionSettings h3,#rfQuestionSettings p{margin:0;overflow-wrap:anywhere}
.rf-question-session #prompt,.rf-question-session #prompt span{font-size:clamp(22px,4vw,48px)!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:break-word;word-break:normal;max-width:100%}
.rf-question-session .prompt-zone{min-width:0;overflow:visible;height:auto}
.rf-library,.rf-library-item,.rf-library-track,.rf-library-heading,.rf-listen{min-width:0;max-width:100%}
.rf-library-track b,.rf-library-choice,.rf-listen-title{white-space:normal;overflow-wrap:anywhere}
.rf-library-heading{flex-wrap:wrap}
.rf-library-heading label{min-width:0;max-width:100%}
.rf-library-heading select{max-width:100%}
@media(max-width:480px){.rf-library-tracks{grid-template-columns:minmax(0,1fr)!important}.rf-library-track{min-width:0}.rf-library-pages{flex-wrap:wrap}.rf-library-pages button{white-space:normal}.rf-question-session #prompt{padding-inline:4px}}
@media(max-width:480px){.blog-hero h1{font-size:clamp(34px,10.8vw,51px)!important;line-height:1.08!important}.blog-hero h1 em{overflow-wrap:normal}.battle-cards{min-width:0;max-width:100%}.stage{min-width:0}.stage .battle-card{min-width:0}.stage .battle-card img{width:100%;max-width:100%;object-fit:cover}}

/* Full layout review: readable lines and containers that grow with their text. */
html body h1{line-height:1.16!important;overflow-wrap:break-word}
html body h2{line-height:1.25!important;overflow-wrap:break-word}
html body h3{line-height:1.3!important;overflow-wrap:break-word}
html body .blog-hero{padding:clamp(22px,4vw,42px)!important}
html body .blog-hero h1{font-size:clamp(32px,7.5vw,96px)!important;line-height:1.16!important;letter-spacing:-.04em!important}
html body .blog-hero p{font-size:18px!important;line-height:1.65!important;margin-top:20px!important}
html body .article-head h1{line-height:1.18!important;letter-spacing:-.025em!important}
html body .article-body :is(h2,h3){margin-bottom:14px!important}
html body .article-body p{line-height:1.7!important}
html body .rf-cat-copy strong{overflow-wrap:normal!important;word-break:normal!important;line-height:1.35!important}
html body .rf-cat-copy small{font-size:11px!important;line-height:1.45!important}
html body .blog-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body .rf-site-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
html body .rf-site-footer-brand p{line-height:1.5!important;overflow-wrap:break-word}
html body .rf-site-footer-links a{line-height:1.4!important;overflow-wrap:break-word}
@media(max-width:1000px){html body .blog-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){html body .rf-site-footer-inner{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px){
 html body .blog-cluster-grid{grid-template-columns:minmax(0,1fr)!important}
 html body .rf-legal-page{padding-inline:20px!important}
 html body .legal-hero h1{font-size:clamp(28px,8vw,42px)!important;line-height:1.18!important;letter-spacing:-.02em!important}
 html body .article-head h1{font-size:clamp(29px,7.8vw,38px)!important}
 html body .article-body h2{font-size:clamp(25px,6.5vw,32px)!important}
 html body.rf-landing .experience-card{display:flex!important;flex-direction:column!important;min-width:0;padding:20px!important;gap:0!important}
 html body.rf-landing .experience-card :is(.type-art,.reply-art,.steps-art){width:100%;max-width:100%;height:110px!important;min-height:0;margin:16px 0!important;align-self:stretch;justify-content:center}
 html body.rf-landing .experience-card h3{font-size:28px!important;margin:8px 0 12px!important}
 html body.rf-landing .experience-card p{font-size:14px!important;line-height:1.65!important;margin:0!important}
 html body.rf-landing .experience-card .card-link{font-size:11px!important;line-height:1.5!important;margin-top:18px!important;white-space:normal}
 html body.rf-landing .hero-editorial h1{font-size:clamp(42px,11vw,65px)!important}
}

/* Home skill cards are content cards, not the inline controls used in setup. */
html body.app-v4 #home .mode-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:10px!important;min-width:0!important;height:auto!important;padding:20px!important;transform:none!important;white-space:normal!important}
html body.app-v4 #home .mode-card h3{font-size:clamp(20px,2vw,24px)!important;line-height:1.3!important;width:100%!important;margin:0!important;min-width:0!important;overflow-wrap:break-word}
html body.app-v4 #home .mode-card p{font-size:14px!important;line-height:1.6!important;width:100%!important;margin:0!important;min-width:0!important}
html body #home .rf-rewards-entry{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;height:auto!important;min-width:0!important;white-space:normal!important}
html body #home .rf-rewards-entry strong{font-size:clamp(22px,6vw,32px)!important;line-height:1.3!important;white-space:normal!important}
html body #home .rf-v18-how{min-width:0!important;box-sizing:border-box;white-space:normal!important}
html body #home .rf-v18-quick-single{grid-template-columns:minmax(0,1fr)!important}
@media(max-width:600px){html body #home .rf-v18-how{width:100%!important}}
@media(max-width:400px){
 html body #rfTrainingModes{grid-template-columns:minmax(0,1fr)!important}
 html body .rf-library-genres{grid-template-columns:minmax(0,1fr)!important}
 html body #profile h2{font-size:26px!important}
 html body.app-v4 .bottom-nav button{font-size:9px!important;line-height:1.35!important;padding-inline:2px!important;min-width:0!important}
}

html body .rf-academy-promo h2{line-height:1.25!important}
html body .article-wrap{overflow-x:clip}
@media(max-width:400px){html body.app-v4>.bottom-nav.v4-nav.battle-nav button{font-size:9px!important;line-height:1.35!important;letter-spacing:0!important;padding-inline:2px!important}}

@media(max-width:900px){html body .course-tabs{grid-template-columns:minmax(0,1fr)!important}html body .course-tabs button{min-width:0!important;white-space:normal!important}}
