/* Readability pass: ordinary UI only. Blockly, code and stage geometry are untouched. */
body.figma-ui :is(.fc-page,.fp-page) :is(p,li,label,input,select,textarea),body.figma-ui :is(.fc-page .fc-button,.fc-page .fc-page-button,.fp-page .fp-button){font-size:16px!important;line-height:1.65}
body.figma-ui :is(.fc-page,.fp-page) :is(small,.fc-chips span,.fc-lesson-code,.fp-badge,.fc-page-size,.fc-page-total,.fp-muted,.fp-callout,.fp-eyebrow){font-size:14px!important;line-height:1.55}
body.figma-ui :is(.fc-breadcrumb,.course-trail,.fp-breadcrumb){font-size:16px!important;line-height:1.6;gap:8px}
body.figma-ui :is(.fc-breadcrumb,.course-trail,.fp-breadcrumb) a{padding-block:4px}
body.figma-ui :is(.fc-page,.fp-page) :is(h2,h3){line-height:1.4}
body.figma-ui .fc-page .fc-lesson-card strong{font-size:17px!important}
body.figma-ui .fc-page :is(.fc-series-filter a,.fc-grade-bar a,.fc-status-filter a,.fc-course-sidebar a){font-size:15px!important}
body.figma-ui .fc-page :is(.fc-card-picture>span,.fc-card-picture>small){font-size:14px!important}
body.figma-ui .fc-page .fc-hero-copy p{max-width:65ch}
body.figma-ui .fc-page :is(.fc-overview-hero,.fc-series-hero){height:auto!important;min-height:220px}
body.figma-ui .fp-page .fp-card-body h3{font-size:20px!important;line-height:1.45}
body.figma-ui .fp-page :is(.fp-button,input,select){min-height:44px}
body.figma-ui .p2-account-menu{width:min(780px,calc(100vw - 24px));padding:24px}
body.figma-ui .p2-account-menu h2{font-size:24px}
body.figma-ui .p2-account-menu .p2-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.figma-ui .p2-account-menu .p2-actions button{font-size:17px;min-height:48px;white-space:normal;margin:0}
body.figma-ui .auth-card :is(p,label,input,button,.auth-note,.auth-status){font-size:16px!important;line-height:1.6}
#authRecoveryHelp{display:none!important}
body.figma-ui :is(.fc-help,.p2-choice:not(.p2-account-menu)) :is(p,li,button,input,label){font-size:16px;line-height:1.65}
/* Two stable four-slot pagers. A one-card final page keeps the same column width. */
body.figma-ui .ui-four-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;min-width:0;margin-top:16px;flex:none}
body.figma-ui .ui-four-carousel>.ui-four-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:16px;align-items:stretch;min-width:0;flex:none!important;overflow:visible}
body.figma-ui .ui-four-carousel>.ui-four-grid>article{display:flex!important;flex-direction:column;height:100%;min-width:0;min-height:400px}
body.figma-ui .ui-four-carousel .fc-card-picture,body.figma-ui .ui-four-carousel .fp-cover{display:block;flex:none!important;height:180px!important;min-height:180px!important;max-height:180px!important;width:100%;box-sizing:border-box}
body.figma-ui .ui-four-carousel .fp-cover{padding:0}
body.figma-ui .ui-four-carousel .fp-cover img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;mask-image:none;border-radius:0}
body.figma-ui .ui-four-carousel :is(.fc-card-copy,.fp-card-body){display:flex!important;flex:1;flex-direction:column;padding:18px;min-width:0}
body.figma-ui .ui-four-carousel :is(.fc-card-bottom,.fp-actions){margin-top:auto!important;padding-top:16px;display:flex;flex-wrap:wrap;gap:10px}
body.figma-ui .ui-four-carousel :is(.fc-card-bottom small,.fp-card-body p){min-height:0}
body.figma-ui .ui-four-carousel .ui-page-arrow{display:grid;place-items:center;align-self:center;width:44px;height:56px;box-sizing:border-box;background:#fff;border:1px solid #c2d4e5;border-radius:12px;color:#174d79;text-decoration:none;font:36px/1 var(--platform-ui-font);cursor:pointer}
body.figma-ui .ui-page-arrow:disabled{opacity:.4;cursor:default}
body.figma-ui .ui-page-arrow:focus-visible{outline:3px solid #ff6b2b;outline-offset:3px}
body.figma-ui .ui-four-position{text-align:center;font-size:15px!important;color:#42607d;margin:12px 0 0}
body.figma-ui .fc-series-section,body.figma-ui .fp-section:has(>.ui-four-carousel){flex:none!important}
@media(max-width:1150px){body.figma-ui .ui-four-carousel>.ui-four-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.figma-ui .ui-four-carousel{gap:8px;grid-template-columns:40px minmax(0,1fr) 40px}body.figma-ui .ui-four-carousel .ui-page-arrow{width:40px}}
@media(max-width:650px){body.figma-ui .ui-four-carousel>.ui-four-grid{grid-template-columns:minmax(0,1fr)!important}body.figma-ui .ui-four-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}body.figma-ui .ui-four-carousel .ui-page-arrow{width:32px;height:48px;font-size:30px}body.figma-ui .p2-account-menu .p2-actions{grid-template-columns:repeat(2,minmax(0,1fr))}body.figma-ui .ui-four-carousel :is(.fc-card-copy,.fp-card-body){padding:14px}}

/* Keep gallery art and action baselines independent of earlier portal density rules. */
body.figma-ui .ui-four-carousel .fp-work-card>.fp-card-body{flex:1!important}
body.figma-ui .ui-four-carousel .fp-cover img{position:static!important;inset:auto!important;margin:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;mask-image:none!important;border-radius:0!important}
@media(min-width:651px){body.figma-ui .ui-four-carousel>.ui-four-grid>article{height:460px!important;min-height:460px!important}}

body.figma-ui .ui-four-carousel .fp-cover{padding:0!important}
body.figma-ui .ui-four-carousel .fp-cover:before{display:none}

/* Shared portal pages: account, energy, saved works and device forms. */
body.figma-ui .fp-page :is(button,th,td,.fp-sidebar nav a),body.figma-ui .fc-page button{font-size:16px!important;line-height:1.6}
