/* beta251: shared narrow-screen contract. Content is reflowed, never hidden to mask overflow. */
#concurser-core-app,#concurser-core-app .ccore-nav-content,#concurser-core-app [data-nav-panel],
#concurser-core-app .ccore-home,#concurser-core-app .ccore-study{min-width:0;max-width:100%;box-sizing:border-box}
#concurser-core-app :is(button,input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;max-width:100%;min-width:0}
#concurser-core-app button{white-space:normal;overflow-wrap:anywhere}
#concurser-core-app :is(.ed-room,.ed-lesson,.ed-topic-card,.ed-proof-card,.ed-dashboard>*,.en-overview>*,.en-area-grid>*,.ccore-project-card,.ccore-training-list>*,.ccore-status-card){min-width:0;max-width:100%;overflow-wrap:anywhere}
#concurser-core-app :is(.ed-lesson,.ccore-ai-solution,.ccore-lesson-grid,.ce-theory) table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#concurser-core-app .ccore-source-visual{min-width:0;max-width:100%;margin-inline:0}
#concurser-core-app .ccore-source-visual details{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#concurser-core-app .ccore-source-visual details img{width:100%;min-width:700px;max-width:none}
/* Course widths follow the actual component, including narrow Elementor containers. */
:is(#ccore-english,#ccore-spanish).ce-course{container:ccore-course / inline-size;min-width:0;width:100%;max-width:1100px}
:is(#ccore-english,#ccore-spanish) :is(.ce-grid,.ce-roadmap-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
:is(#ccore-english,#ccore-spanish) :is(.ce-grid>*,.ce-overview>*,.ce-next>*,.ce-catalog-controls>*,.ce-stage-nav>*,.ce-studio-controls>*,.ce-studio-top>*,.ce-card>span,.ce-voice-options>*){min-width:0;max-width:100%}
:is(#ccore-english,#ccore-spanish) :is(.ce-card,.ce-card strong,.ce-card small,.ce-target,.ce-theory p,.ce-feedback,.ce-note){white-space:normal;overflow-wrap:anywhere;word-break:normal}
:is(#ccore-english,#ccore-spanish) .ce-card{width:100%;height:auto;align-items:flex-start}
:is(#ccore-english,#ccore-spanish) .ce-card .ce-number{flex:0 0 40px;min-width:40px}
:is(#ccore-english,#ccore-spanish) .ce-card>span:nth-child(2){flex:1;min-width:0}
:is(#ccore-english,#ccore-spanish) .ce-overview{grid-template-columns:minmax(0,1fr) 82px}
:is(#ccore-english,#ccore-spanish) :is(select,input,textarea,fieldset){min-width:0;max-width:100%}
:is(#ccore-english,#ccore-spanish) .ce-quiz fieldset{margin-inline:0}
:is(#ccore-english,#ccore-spanish) .ce-catalog-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
:is(#ccore-english,#ccore-spanish) .ce-catalog-controls input{font:inherit}
:is(#ccore-english,#ccore-spanish) .ce-practice[data-coach-phase]>[data-ce-record],
:is(#ccore-english,#ccore-spanish) .ce-studio-controls [data-ce-record]{min-width:0;max-width:100%;white-space:normal}
:is(#ccore-english,#ccore-spanish) :is(.ce-studio-top button,.ce-studio-navigation button,.ce-question-nav button,.ce-theory-tabs button){min-height:44px!important;font-size:14px}
:is(#ccore-english,#ccore-spanish) .ce-stage-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(#ccore-english,#ccore-spanish) .ce-stage-nav button{min-height:48px;white-space:normal;line-height:1.45}
:is(#ccore-english,#ccore-spanish) :is(.ce-catalog-pages,.ce-question-nav,.ce-lesson-nav,.ce-stage-footer){flex-wrap:wrap}
:is(#ccore-english,#ccore-spanish) audio{max-width:100%;min-width:0}
/* Small container and viewport use the same course presentation. */
@container ccore-course (max-width:650px){
 :is(#ccore-english,#ccore-spanish) :is(.ce-grid,.ce-roadmap-grid,.ce-catalog-controls,.ce-voice-options){grid-template-columns:minmax(0,1fr)}
 :is(#ccore-english,#ccore-spanish) .ce-catalog-controls>*{grid-column:auto}
 :is(#ccore-english,#ccore-spanish) :is(.ce-lesson,.ce-practice,.ce-lab){padding:16px 12px}
 :is(#ccore-english,#ccore-spanish).ce-speech-focus .ce-lesson{padding:16px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-practice:has(.ce-studio){padding:14px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-theory-tabs{display:grid;grid-template-columns:minmax(0,1fr)}
 :is(#ccore-english,#ccore-spanish) .ce-hero{padding:24px 18px}
 :is(#ccore-english,#ccore-spanish) .ce-next{display:block;padding:18px}
 :is(#ccore-english,#ccore-spanish) .ce-next button{width:100%;margin-top:12px}
 :is(#ccore-english,#ccore-spanish) .ce-stage-nav{grid-template-columns:minmax(0,1fr);gap:6px}
 :is(#ccore-english,#ccore-spanish) .ce-stage-nav button{text-align:left;justify-content:flex-start;padding:12px 14px;font-size:15px}
 :is(#ccore-english,#ccore-spanish) .ce-studio-top nav{display:flex;flex-wrap:wrap;width:100%}
 :is(#ccore-english,#ccore-spanish) .ce-studio-top nav button{flex:1 1 90px;padding:10px 8px;font-size:14px}
 :is(#ccore-english,#ccore-spanish) .ce-studio-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 :is(#ccore-english,#ccore-spanish) .ce-studio-controls button{width:100%;min-width:0}
 :is(#ccore-english,#ccore-spanish) .ce-studio-phrase{padding:16px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-target{font-size:clamp(22px,5cqi,28px)}
}
@media(max-width:700px){
 #concurser-core-app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
 #concurser-core-app :is(.ed-module button,.ccore-status-card button,.ccore-training button,.ccore-projects button){min-height:44px}
 #concurser-core-app :is(.ed-module-header,.ed-view-heading,.ed-room-heading,.ed-counters,.ed-proof-card,.ed-room-footer,.en-choice){flex-wrap:wrap;min-width:0}
 #concurser-core-app .ed-counters{white-space:normal}
 #concurser-core-app .ed-proof-card>div{min-width:0;flex:1 1 100%}
 #concurser-core-app :is(.ed-audio,.ed-knowledge-card,.ed-enem-deepen){padding:16px 12px}
 #concurser-core-app :is(.ed-knowledge-actions,.ed-room-footer){gap:10px}
 #concurser-core-app .ed-knowledge-actions button{flex:1 1 140px}
 #concurser-core-app .en-tabs{flex-wrap:wrap}
 #concurser-core-app .en-tabs button{min-width:0;flex:1 1 120px}
 #concurser-core-app :is(.ccore-training-actions,.ccore-bundle-actions,.ccore-userbox,.ccore-topbar){flex-wrap:wrap;min-width:0}
 :is(#ccore-english,#ccore-spanish) :is(.ce-grid,.ce-roadmap-grid,.ce-catalog-controls,.ce-voice-options){grid-template-columns:minmax(0,1fr)}
 :is(#ccore-english,#ccore-spanish) .ce-catalog-controls>*{grid-column:auto}
 :is(#ccore-english,#ccore-spanish) :is(.ce-lesson,.ce-practice,.ce-lab){padding:16px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-stage-nav{grid-template-columns:minmax(0,1fr);gap:6px}
 :is(#ccore-english,#ccore-spanish) .ce-stage-nav button{text-align:left;padding:12px 14px;font-size:15px}
 :is(#ccore-english,#ccore-spanish) .ce-studio-top nav{display:flex;flex-wrap:wrap;width:100%}
 :is(#ccore-english,#ccore-spanish) .ce-studio-top nav button{flex:1 1 90px;font-size:14px;padding:10px 8px}
 :is(#ccore-english,#ccore-spanish) .ce-studio-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 :is(#ccore-english,#ccore-spanish) .ce-studio-controls button{width:100%;min-width:0}
 :is(#ccore-english,#ccore-spanish).ce-speech-focus .ce-lesson{padding:16px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-practice:has(.ce-studio){padding:14px 12px}
 :is(#ccore-english,#ccore-spanish) .ce-theory-tabs{display:grid;grid-template-columns:minmax(0,1fr)}
 :is(#ccore-english,#ccore-spanish) .ce-card{padding:16px;gap:10px}
 :is(#ccore-english,#ccore-spanish) .ce-overview{grid-template-columns:minmax(0,1fr);justify-items:start;padding:18px}
 :is(#ccore-english,#ccore-spanish) .ce-stage-footer{align-items:stretch;flex-direction:column}
 :is(#ccore-english,#ccore-spanish) .ce-stage-footer button{width:100%}
}
/* Panels detached from the application retain the same readable control sizes. */
body .ce-word-popup[data-language-popup]{max-height:min(calc(var(--ccore-visible-height,100dvh) - 16px),650px);scroll-padding-top:74px;overflow-wrap:anywhere}
body .ce-word-popup[data-language-popup] header{position:sticky;top:-18px;background:#fff;z-index:2;padding:8px 0}
body .ce-word-popup[data-language-popup] :is(textarea,select){font-size:16px;min-width:0}
body .ce-word-popup[data-language-popup] button,body .ce-selection-actions button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
body .ce-selection-actions{box-sizing:border-box;overflow-wrap:anywhere;max-width:calc(var(--ccore-visible-width,100vw) - 16px);max-height:calc(var(--ccore-visible-height,100dvh) - 16px);overflow:auto}
.ce-study-dialog{box-sizing:border-box;max-height:calc(var(--ccore-visible-height,100dvh) - 32px);overflow-wrap:anywhere}
.ce-study-dialog header{flex-wrap:wrap;min-width:0}
.ce-study-dialog :is(select,textarea,input:not([type=radio]):not([type=checkbox])){box-sizing:border-box;min-width:0;max-width:100%;font-size:16px}
@media(max-width:700px){
 body .ce-word-popup[data-language-popup]{border-radius:16px;padding:16px;width:calc(var(--ccore-visible-width,100vw) - 16px);max-width:calc(var(--ccore-visible-width,100vw) - 16px)}
 body .ce-word-popup[data-language-popup] header{top:-16px;cursor:default;touch-action:auto}
 body .ce-word-popup[data-language-popup] .ce-word-actions button{flex:1 1 120px}
 body .ce-selection-actions{width:calc(var(--ccore-visible-width,100vw) - 16px)}
 body .ce-selection-actions button{flex:1 1 120px;font-size:14px}
 .ce-study-dialog[open]{position:fixed;top:calc(var(--ccore-visible-top,0px) + 8px);bottom:auto;left:8px;right:auto;margin:0;width:calc(var(--ccore-visible-width,100vw) - 16px);max-height:calc(var(--ccore-visible-height,100dvh) - 16px);padding:16px}
 .ce-study-dialog .ce-study-actions button{width:100%;margin:5px 0}
}
/* On a telephone the selected concept has its own reading space. */
@media(max-width:750px){
 dialog.ccore-knowledge{height:var(--ccore-visible-height,100dvh);max-height:var(--ccore-visible-height,100dvh);width:100%;max-width:100%;top:var(--ccore-visible-top,0px);bottom:auto;margin:0;box-sizing:border-box}
 dialog.ccore-knowledge header{flex-wrap:wrap;gap:10px}
 dialog.ccore-knowledge .k-window-actions{flex-wrap:wrap;gap:6px;max-width:100%}
 dialog.ccore-knowledge .k-window-actions button{min-height:44px;font-size:13px}
 dialog.ccore-knowledge .k-map-tools{flex-wrap:wrap}
 dialog.ccore-knowledge .k-map-tools button{min-height:44px}
 dialog.ccore-knowledge.is-reading .k-columns{display:block;min-height:0;overflow:auto}
 dialog.ccore-knowledge.is-reading .k-columns>section:first-child{display:none}
 dialog.ccore-knowledge.is-reading [data-k-detail]{display:block;height:auto;min-height:100%;overflow:visible;padding:18px 14px}
 dialog.ccore-knowledge :is(textarea,input,select){font-size:16px;max-width:100%;min-width:0}
}
/* Financial functions stay unchanged; narrow keyboards use five columns. */
@media(max-width:600px){
 .ccore-fin-overlay{top:var(--ccore-visible-top,0px);bottom:auto;height:var(--ccore-visible-height,100dvh)}
 .ccore-fin-dialog{box-sizing:border-box;max-width:100%;max-height:100%;height:100%;overflow:auto}
 .ccore-fin-dialog .ccore-fin-keys{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(66px,auto);column-gap:6px;row-gap:8px;padding:10px 6px}
 .ccore-fin-dialog .ccore-fin-keys button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:66px;padding:5px 2px;gap:3px;white-space:normal}
 .ccore-fin-dialog .ccore-fin-keys .is-enter{grid-column:auto;grid-row:auto}
 .ccore-fin-dialog .ccore-fin-keys .is-enter b{display:block;font-size:12px;line-height:1.25;flex:none}
 .ccore-fin-dialog .ccore-fin-keys button small{position:static;transform:none;font-size:10px;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
 .ccore-fin-dialog .ccore-fin-keys button em{font-size:10px;line-height:1.2;max-width:100%;white-space:normal}
 .ccore-fin-dialog .ccore-fin-keys button b{font-size:15px;line-height:1.2}
 .ccore-fin-dialog .ccore-fin-toolbar button,.ccore-fin-dialog .ccore-fin-controls button{min-height:44px;font-size:13px}
 .ccore-fin-dialog .ccore-fin-toolbar{flex-wrap:wrap}
 .ccore-fin-dialog .ccore-fin-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Credits remain visible with long balances and narrow screens. */
@media(max-width:480px){
 .ccore-app .ccredit-wallet-main{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px}
 .ccore-app .ccredit-legend,.ccore-app .ccredit-legend>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .ccore-app .ccredit-legend>div{flex-wrap:wrap}
 .ccore-app .ccredit-alert-ring{flex-direction:column;align-items:center;text-align:center}
 .ccore-app .ccredit-dialog{padding:26px 16px}
 .ccore-app .ccredit-dialog h2{overflow-wrap:anywhere}
 #concurser-core-app .ed-schedule>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
.ccore-app .ccredit-overlay{top:var(--ccore-visible-top,0px);bottom:auto;height:var(--ccore-visible-height,100dvh);box-sizing:border-box}
.ccore-app .ccredit-dialog{max-height:calc(var(--ccore-visible-height,100dvh) - 32px)}
@media(prefers-reduced-motion:reduce){body .ce-word-popup[data-language-popup]{scroll-behavior:auto}}
