/* Shared native presentation: meaningful metadata remains readable in every plan and Demo. */
body{--apag:#52627a;--muy:#52627a}
body :is(.ov,.eyebrow){font-size:13px!important}
#mkStart :is(.sub,.muted,.note,.mockgrid .acc>span:not(.ic)){font-size:14px!important;line-height:1.55}
#mkStart .mchip{font-size:13px!important}
#ftm-design :is(.ftm-phase-status,.ftm-plan-label,.ftm-search,.ftm-filter button,.ftm-free-copy p,.ftm-free-copy>div:first-child>span){font-size:14px!important;line-height:1.5}
#ftt{--muted:#52627a;--faint:#52627a;--good:#16754f}
#ftt :is(.counts,.tsub,.ritmo,.legal,.mname small,.hcol){font-size:14px;line-height:1.55}
#ftt :is(.prow,.modes button,.lnk,.lnk-ext){font-size:14px}
#ftt .plab{font-weight:700;min-width:220px;flex-wrap:wrap}
/* These spans are labels, not touch targets. Do not inherit the generic .pill button rule. */
#ftt .plab .pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;height:auto;min-width:0;min-height:0!important;aspect-ratio:auto;padding:3px 8px;font:700 12px/1.4 var(--sans);letter-spacing:.02em;white-space:nowrap}
#ftt .pill-hard{color:#705600}
#ftt :is(.eyebrow,.legend,.legend .dep-scope,.ring b,.wpill,.tag,.badge-src){font-size:13px}
#ftt .pval{font:600 14px/1.5 var(--sans);min-width:90px}
#ftt .mname{font-size:15px;line-height:1.5}
#ftt .thead>div:has(>.tname){min-width:0;flex:1}
#ftt .tsub{white-space:normal;overflow-wrap:anywhere}
#ftt .ph{font-size:13px}
#ftt #ftt-src{font-size:12px;white-space:normal}
/* Reader annotations must stay distinct from the larger academic body. */
:is(.bar,.lec-h,.idx-head) .ov{color:#52627a!important;font-size:13px!important}
:is(.rd-min,.conf-op,.conf-link,.conf-phase){font-size:14px!important}
.conf-op.sin{color:#52627a!important}
/* Shared learning widgets, including notebook metadata and progress counters. */
.lf-root :is(.lf-help,.lf-note-date,.lf-note-tag,.lf-note-excerpt,.lf-metrics span,.lf-selection,.lf-tools-area>p){font-size:14px!important;line-height:1.5}
.lf-root .lf-button{font-size:14px!important}
.lf-root :is(.lf-eyebrow,th){font-size:13px}
.lf-root input::placeholder,.lf-root textarea::placeholder{color:#52627a;opacity:1}
#ftPracticeScope :is(.ft-practice-title,.ft-practice-intro,.ft-practice-hint){font-size:14px!important;line-height:1.5}
#ftPracticeScope :is(.ft-practice-plan,#ftPracticeScopeAction){font-size:13px!important}
/* Academy, Material and account: meaningful secondary copy, not miniature previews. */
.ftah :is(.ftah-service-copy,.ftah-sync,.ftah-event p,.ftah-event small,.ftah-legend,.ftah-stat small,.ftah-text-action,.ftah-service-secondary,.ftah-service-value>span,.ftah-service-actions>a){font-size:14px!important;line-height:1.5}
.ftah :is(.ftah-kicker,.ftah-dow){font-size:12px!important}
.ftah :is(.ftah-btn,.ftah-service-go){font-size:14px!important}
.ftah :is(.ftah-service-copy,.ftah-sync,.ftah-event p,.ftah-legend){color:#52627a}
#ftm-design :is(.ftm-description,.ftm-language,#ftm-zip-status,.ftm-phase-open){font-size:14px!important;line-height:1.5}
:is(.mc-mini,.mc-chip,.mc-lnk,.mc-plg,.mc-bt){font-size:14px!important;line-height:1.5}
.mc-mini{color:#52627a!important}
.finipad :is(#finiSuggests .chip,#finiComposerStatus,#finiComposer>p){font-size:14px!important;line-height:1.5;color:#52627a!important}
/* Mobile: keep labels, progress values and bars aligned without shrinking the text. */
@media(max-width:767px){
 #ftt .summary{padding:18px}
 #ftt .sumtop{gap:8px;margin-bottom:20px}
 #ftt .eyebrow{font-family:var(--sans);letter-spacing:.06em}
 #ftt .prow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
 #ftt .prow+.prow{margin-top:20px}
 #ftt .plab{grid-column:1/-1;min-width:0;gap:8px}
 #ftt .ptrack{min-width:0;width:100%;height:9px}
 #ftt .pval{min-width:0;white-space:nowrap}
 #ftt .ritmo{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:4px 10px}
 #ftt .ritmo b{grid-column:2;overflow-wrap:anywhere}
 #ftt .ritmo .dot{margin-top:7px}
 #ftt .tbright{margin-left:0}
 #ftt .thead{gap:12px;padding:16px}
 #ftt .tmeta{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:35%}
 #ftt .tname{font-size:17px}
 #ftt .toolbar{gap:8px}
 #ftt .modes{display:flex;flex:1}
 #ftt .modes button{flex:1;padding:8px;white-space:normal}
 #ftt .legend{gap:8px 14px;line-height:1.5}
 #ftt .badge-src{max-width:100%;font-family:var(--sans)}
 .ft-app-header.ft-ah-wrap{grid-template-columns:minmax(90px,auto) minmax(0,1fr)!important}
 .ft-app-header .ft-ah-tabs>:is(.tb,[role=tab],.fctab),#ftPlanTabs>.tb{font-size:14px!important}
 .ft-obv3-header-tools{min-width:0;max-width:100%;flex:0 1 auto!important}
 .ft-ah-actions .ft-obv3-header-tools{width:100%;flex:1 1 auto!important}
 #ft-obv3-launcher{white-space:normal!important;min-width:0;max-width:180px;font-size:13px!important;line-height:1.35;flex:1 1 auto}
 .ft-ah-actions #ftfb-top{margin-left:0;flex:none}
 .ft-ah-actions :is(.adj,.ft-rg-open),.ft-ah-actions .adj-s{font-size:14px!important}
 .botnav :is(a,button)>span{font-size:12px!important;line-height:1.4}
 .botnav :is(a,button){min-height:52px!important}
 .blue .ovl,.blue .propill,.blue .cu-t{font-size:13px!important}
 .blue .phv .p{font-size:26px!important;line-height:1.15!important}
 .blue .phv>span{font-size:14px!important}
 .hoyfecha,.phase{font-size:14px!important}
 .lf-root :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.ftah :is(input,select,textarea),#ftm-search,#recSearch,#finiInput{font-size:16px!important}
 .lf-root .lf-metrics{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
 .lf-root .lf-metrics span{overflow-wrap:anywhere}
 .ftah .ftah-service-actions{flex-wrap:wrap;gap:8px}
 .ftah :is(.ftah-service-copy,.ftah-service-title){overflow-wrap:anywhere}
 .finipad #finiSuggests{flex-wrap:wrap}
 .finipad>div:first-child{flex-wrap:wrap!important;padding:12px 16px!important;gap:10px!important}
 .finipad>div:first-child>div:first-child{flex:1 1 250px;min-width:0;gap:10px!important}
 .finipad>div:first-child>div:first-child>div:last-child{flex:1;min-width:0}
 .finipad>div:first-child>div:first-child>div:last-child>div:last-child{display:block!important;font-size:14px!important;line-height:1.5}
 .finipad>div:first-child>[data-ft-req=messages_left]{margin-left:54px;max-width:calc(100% - 54px);font-size:14px!important;white-space:normal!important}
 .finipad>div:first-child>[data-ft-req=messages_left]:not([hidden]){display:block!important;box-sizing:border-box}
 .finipad>div:first-child>[data-ft-req=messages_left]>span{white-space:normal}

 .ft-native-demo-ribbon{font-size:14px!important;line-height:1.5!important}
 .ft-native-demo-ribbon button{font-size:14px!important;min-height:44px!important}
}

@media(max-width:420px){
 #planArea div:has(>div>#cfgStart){grid-template-columns:minmax(0,1fr)!important}
 #planArea :is(input,select){min-width:0;max-width:100%;box-sizing:border-box;font-size:16px!important}
 #cfgDays{display:grid!important;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px!important}
 #cfgDays button{font-size:14px!important}
 .ftah .ftah-service-grid{grid-template-columns:1fr}.ftah .ftah-service h3{font-size:16px}}

/* Desktop and shared secondary text: real native screens and public Demo use this file. */
.ft-native-demo-ribbon,.ft-native-demo-ribbon button{font-size:14px!important;line-height:1.5!important}
#ftSb .sbuser .sbtext>div:last-child,#ftSb .sbuser small{font-size:13px!important;line-height:1.5}
.ft-app-header :is(.adj-l,.adj-s,#ft-obv3-launcher),#ftPracticeScopeCurrent,#ftPracticeScopeAction{font-size:14px!important}
/* Today, progress and planning controls. Preserve large headings and chart values. */
:is(.today-sub,.today-link,.treal,.hoyfecha,.tplan,.pnote,.dom-pie,.nvnm,.nvpc,.field .fs,.field .fl,.field .fv,.sheet .mods li,.note,.sin,.sec-s,.sec-c,.pervacio,.ftbtn,.ftlnk,.progSub){font-size:14px!important;line-height:1.5}
:is(.pey,.seclbl,.phase){font-size:13px!important;line-height:1.45}
:is(.proxlist,.proximosCard,.toolgrid,.statgrid,.hoycard,.timecard,.pmetric,.pweeks) small{font-size:14px!important;line-height:1.5}
#proximosCard :is(.proxtopic,.proxdesc,.proxh),.toolgrid .tool p{font-size:14px!important;line-height:1.55}
#planArea :is(label,button),#cfgDaysCount{font-size:14px!important}
#ftPlanCal :is(.tp,.hr,.dn,.hh,.res,.cmn,.cmhint),#calLeg,#calViews{font-size:14px!important;line-height:1.5}
#ftPlanCal .yc{font-size:13px!important;min-height:24px;color:#52627a}
#ftPlanCal .yc:is(.ovv,.dee,.mas,.don,.exa){color:#fff}
#ftPlanCal .ycells{gap:4px}
#ftPlanCal .calday .n{font-size:14px!important;color:#52627a}
#ftPlanCal :is(.hr,.cv2){color:#52627a}
#ftPlanCal .calday{min-width:0}
#ftPlanCal :is(.tp,.cmn){overflow-wrap:anywhere}
/* Disclosure action is text, not a 14px-wide icon. */
.sec-h .sec-c{width:auto;min-width:44px;flex:0 0 auto;text-align:right}
.sec-h>div:first-child{min-width:0}
/* Reader index metadata and actions, including three-column study layout. */
:is(.topic-m,.mod-m,.ixitem .mm,.idx-head .ov,.lec-h .ov,.chk-pos,.rd-pill){font-size:14px!important;line-height:1.5}
.lec-h :is(button,a),.bar :is(button,a){font-size:14px!important}
/* Native learning flows: all builders, notebook detail, capture and results. */
.lf-root :is(.lf-note-link,.lf-note-metadata,.lf-note-date,.lf-note-tag,.lf-note-excerpt,.lf-selection,.lf-session-meta,.lf-session-count,.lf-review-context,.lf-choice-hint,.lf-caption,.lf-help,small),.lf-capture-dialog :is(label,small){font-size:14px!important;line-height:1.55}
.lf-root :is(.lf-note-link,.lf-help,.lf-caption){color:#52627a}
.lf-root input::placeholder,.lf-root textarea::placeholder{color:#52627a;opacity:1}
.lf-root :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
#ft-lf-exercises .lf-design-config .lf-mode-options button{font-size:14px}
/* FinCards: library, creation, personal cards and the complete study state. */
#cardTap{font-size:14px!important;line-height:1.5;color:#52627a!important}
section[data-tabview] :is(label,small){font-size:14px!important;line-height:1.5}
.fctab{font-size:14px!important}
/* All mock states, not only the catalogue. */
:is(#mkStart,#mkInstruc,#mkExam,#mkRepaso,#mkResult) :is(small,.sub,.note,.go,.muted,.mchip){font-size:14px!important;line-height:1.55}
:is(#mkStart,#mkInstruc,#mkExam,#mkRepaso,#mkResult) :is(button,label){font-size:14px}
/* Material's miniature paper covers are decorative, not reading surfaces. */
#ftm-design :is(.ftm-language,.ftm-plan-label,.ftm-hector-kicker,[data-ftm-m-pill],[data-ftm-t-weight],[data-ftm-m-meta],.ftm-sample-link){font-size:14px!important;line-height:1.5;color:#52627a}
#ftm-design .ftm-hector-profile :is(p,nav a){font-size:14px!important;line-height:1.55}
/* Resource table labels and filter values. Keep horizontal table scrolling local. */
.recpad :is(th,td,select,label,small){font-size:14px!important;line-height:1.55}
.recpad :is(th,small){color:#52627a}
.recpad th{white-space:normal!important;overflow-wrap:anywhere}
/* Academy calendar and appointment summaries remain readable at desktop density. */
.ftah :is(.ftah-mini,.ftah-row-time,.ftah-row-state,.ftah-date-number,.ftah-calendar-note){font-size:14px!important;line-height:1.45}
.ftah .ftah-mini{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
.ftah .ftah-day{min-width:0}
.ftah .ftah-date-number{color:#52627a}
/* Account: referral histories and labels, including long URLs and references. */
.mc-page :is(label,small,.mr-note,.mr-pill,.mr-link,.mr-button,.mr-unit,.mr-row,.mr-event){font-size:14px!important;line-height:1.55}
.mc-page .mr-link{overflow-wrap:anywhere}
/* Tutor landing and conversations. Explanations retain the original body hierarchy. */
#intentChips :is(button,a),#recBody,.toolgrid .tool p{font-size:14px!important;line-height:1.55}
.finipad [data-ft-req=messages_left],.finipad [data-ft-req=messages_left]>span{font-size:14px!important;line-height:1.5}
@media(min-width:768px){
 .ft-native-demo-ribbon{gap:12px;padding:14px 16px!important}
 .ft-native-demo-ribbon button{min-height:36px}
 #ftPlanCal .ygrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
 .recpad input,.recpad select,#ftm-design input{font-size:16px!important}
 .lf-root .lf-heading{gap:18px;flex-wrap:wrap}
 .lf-root .lf-heading>div{min-width:0}
}

/* Private candidate; append to original app-legibility owner only after native+Demo review. */
@media(max-width:1100px){
 #ftExercisesTopbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px!important;flex-wrap:wrap!important}
 #ftExercisesTopbar>.ft-exercises-heading{grid-area:1 / 1 / 2 / 2;min-width:0;width:auto;flex:none}
 #ftExercisesTopbar>.ft-obv3-header-tools{grid-area:1 / 2 / 2 / 3;justify-self:end;width:auto;flex:none!important;max-width:none}
 #ftExercisesTopbar>.ft-obv3-header-tools #ft-obv3-launcher{font-size:14px!important;min-height:44px;max-width:none}
 #ftExercisesTopbar .ft-obv3-label-desktop{display:none}
 #ftExercisesTopbar .ft-obv3-label-mobile{display:inline}
 #ftExercisesTopbar>#ftPracticeScope{grid-area:2 / 1 / 3 / 3;justify-self:end;max-width:100%}
 #ftExercisesTopbar #ftPracticeScopeToggle{max-width:100%;min-height:44px}
}

/* Notebook hero only: wrap actions before shrinking the introduction into a narrow column. */
#ft-lf-exercises[data-lf-screen="notebook"]>.lf-heading{flex-wrap:wrap}
#ft-lf-exercises[data-lf-screen="notebook"]>.lf-heading>div:first-child{flex:1 1 20rem;min-width:min(100%,20rem)}
#ft-lf-exercises[data-lf-screen="notebook"]>.lf-heading>.lf-note-actions{flex:0 1 auto;flex-wrap:wrap;max-width:100%}
#ft-lf-exercises[data-lf-screen="notebook"]>.lf-heading>.lf-note-actions>.lf-button{font-size:14px;min-height:44px;max-width:100%;white-space:normal}
#ft-lf-exercises[data-lf-screen="notebook"]>.lf-heading>div:first-child>p:not(.lf-eyebrow){font-size:14px}
