/* Responsive safeguards shared by the owned pages. */
html{scrollbar-gutter:stable}body{min-width:0}
main,section,article,aside,header,footer,nav,figure,form{min-width:0}
:is(h1,h2,h3,h4,p,dt,dd,blockquote,figcaption,a,label){overflow-wrap:break-word}
img,video,iframe{max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}table{max-width:100%}
.site-relay-utility .utility-main{overflow-wrap:anywhere}
@media(max-width:600px){.site-relay-utility .utility-main h1{font-size:clamp(27px,8vw,42px);line-height:1.15}.site-relay-utility .utility-main p{font-size:14px;line-height:1.7}}

/* Cards are measured at their natural text height, never squeezed into fixed rows. */
.learning-builder .learn-options{grid-auto-rows:max-content!important;align-content:start;align-items:stretch}
.learning-builder .learn-options .learn-option{height:auto!important;min-height:0;align-items:flex-start}
.learning-builder .learn-option-copy{min-width:0;display:block}
.learning-builder .learn-option strong{line-height:1.35;overflow-wrap:break-word}
.learning-builder .learn-option small{display:block;font-size:12px!important;line-height:1.55!important}
.learning-builder .learn-topic-state,.learning-builder .learn-option-deps{font-size:11px!important;line-height:1.5}
.learning-builder .learn-option-mark{flex-shrink:0}
.learning-builder .learn-stage-content{isolation:isolate}
.learning-builder .learn-stage-content>.learn-inline-note{font-size:11px!important;line-height:1.5;margin:0;flex:none}
.learning-builder .learn-card-pager{min-height:36px;gap:8px;margin-top:0;flex:none}
.learning-builder .learn-card-pager button{min-height:34px;font-size:11px;padding:6px 12px;white-space:normal}
body[data-learning-scene=stack] .learn-options{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-learning-scene=stack] .learn-option{padding:14px}
body[data-learning-scene=stack] .learn-stage-content>.learn-inline-note{display:none}
.learning-builder .learn-page-head{min-height:0!important;flex:none;margin-bottom:14px}
.learning-builder .learn-page-lead{font-size:13px;line-height:1.6;max-width:72ch}
.learning-builder .learn-page-title{margin-top:0}
.learning-builder .learn-builder-actions{flex:none;position:relative;z-index:2;margin-top:12px;gap:12px}
.learning-builder .learn-builder-actions .learn-button{min-height:44px;font-size:12px}

/* Calendar text and fields have separate grid rows. */
@media(min-width:801px){
body[data-learning-scene=schedule] .learn-schedule{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px 18px;padding:12px}
body[data-learning-scene=schedule] .learn-fields{grid-column:1/-1;grid-row:1}
body[data-learning-scene=schedule] .learn-schedule-progress{grid-column:2;grid-row:2;align-self:start;font-size:12px;line-height:1.5}
body[data-learning-scene=schedule] .learn-schedule-progress p{font-size:11px;line-height:1.5}
body[data-learning-scene=schedule] .learn-session-list{grid-column:2;grid-row:3;align-self:start;margin:0!important;display:block}
body[data-learning-scene=schedule] .learn-session-error{grid-column:2;grid-row:4;margin:0}
body[data-learning-scene=schedule] .learn-calendar{grid-column:1;grid-row:2/5}
body[data-learning-scene=schedule] .learn-session-row{margin-top:10px;padding:10px}
body[data-learning-scene=schedule] .learn-session-row legend button{white-space:normal;font-size:11px;line-height:1.4}
body[data-learning-scene=schedule] .learn-field{font-size:11px}
body[data-learning-scene=schedule] .learn-field input,body[data-learning-scene=schedule] .learn-field select{font-size:12px;min-height:34px}
}
.learn-session-selector,.learn-summary-sessions{width:100%;max-width:100%;min-width:0;text-overflow:ellipsis}

/* Controls and the footer reserve a clear left-hand area for the chat button. */
body.learning-builder .cg-chat{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))!important}
body.learning-builder .cg-chat-toggle{width:44px!important;height:44px!important}
body.learning-builder .learn-footer{min-height:46px;padding:8px 80px!important;width:100%!important;max-width:none;font-size:10px!important;line-height:1.5;gap:5px 14px}
.learning-builder .learn-summary-request .learn-field{font-size:11px;line-height:1.4}
.learning-builder .learn-summary-request .learn-field input,.learning-builder .learn-summary-request .learn-field select{font-size:13px;min-height:34px;padding:6px 9px}
.learning-builder .learn-summary-request .learn-consent{font-size:10px;line-height:1.5}
.learning-builder .learn-summary-request .learn-inline-note,.learning-builder .learn-terms-link{font-size:10px;line-height:1.5}
.learning-builder .learn-summary-overview .learn-rules p{font-size:12px;line-height:1.6}
.learning-builder .learn-summary-row{font-size:12px;line-height:1.5}
.learning-builder .learn-preview-note{font-size:11px;line-height:1.5}
@media(max-width:1100px){
body[data-learning-scene=stack] .learn-builder-layout{grid-template-columns:1fr}
body[data-learning-scene=stack] .learn-builder-layout>.learn-preview{display:none!important}
body[data-learning-scene=stack] .learn-mobile-total{display:flex!important;justify-content:space-between}
body[data-learning-scene=stack] .learn-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
body[data-learning-scene=goal] .learn-options,body[data-learning-scene=stack] .learn-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.learning-builder .learn-page-title{font-size:28px!important;line-height:1.1}
.learning-builder .learn-page-lead{font-size:12px!important;line-height:1.5}
.learning-builder .learn-options .learn-option{padding:12px;display:block}
.learning-builder .learn-options .learn-option strong{font-size:14px!important}
.learning-builder .learn-options .learn-option-mark{display:none}
.learning-builder .learn-builder-actions,.learning-builder .learn-summary-return{padding-left:48px}
body[data-learning-scene=schedule] .learn-schedule-progress{font-size:11px;line-height:1.5}
body[data-learning-scene=schedule] .learn-session-list{margin:0!important}
body[data-learning-scene=schedule] .learn-calendar-cell{font-size:12px}
body[data-learning-scene=schedule] .learn-session-selector,body[data-learning-scene=schedule] .learn-field select,body[data-learning-scene=schedule] .learn-field input{font-size:11px!important;min-height:32px!important;height:32px!important}
.learning-builder .learn-summary-request .learn-summary-price{font-size:27px}
.learning-builder .learn-summary-request .learn-form{gap:7px 10px}
.learning-builder .learn-summary-request .learn-field{font-size:11px!important}
.learning-builder .learn-summary-request .learn-consent{font-size:10px!important}
.learning-builder .learn-summary-request .learn-inline-note,.learning-builder .learn-terms-link{font-size:10px!important}
}
@media(max-width:540px){
body[data-learning-scene=goal] .learn-options,body[data-learning-scene=stack] .learn-options{grid-template-columns:1fr}
.learning-builder .learn-page .learn-page-head{margin-bottom:10px}
.learning-builder .learn-option small{font-size:12px!important}
.learning-builder .learn-page-lead{font-size:12px!important}
}
/* If the window is too low for readable controls, let the page grow instead of clipping it. */
@media(max-height:680px){
body.learning-builder:not([data-learning-scene=home]){height:auto;min-height:100svh;overflow-y:auto}
body.learning-builder:not([data-learning-scene=home]) #learning-app{flex:none;overflow:visible;min-height:0}
body.learning-builder:not([data-learning-scene=home]) .learn-view{height:auto;overflow:visible}
body.learning-builder:not([data-learning-scene=home]) .learn-page{height:auto;min-height:calc(100svh - 185px);overflow:visible}
.learning-builder .learn-builder-layout,.learning-builder .learn-stage-main{overflow:visible}
.learning-builder .learn-stage-content{min-height:240px;overflow:visible!important}
.learning-builder .learn-summary{overflow:visible!important;min-height:0}
.learning-builder .learn-summary-box{overflow:visible!important;max-height:none!important}
.learning-builder .learn-summary-request .learn-form{gap:7px 10px}
.learning-builder .learn-summary-request .learn-field{font-size:11px!important}
.learning-builder .learn-summary-request .learn-consent{font-size:10px!important}
.learning-builder .learn-summary-request .learn-field input,.learning-builder .learn-summary-request .learn-field select{min-height:34px!important;height:34px!important}
.learning-builder .learn-summary-request .learn-inline-note,.learning-builder .learn-terms-link{font-size:10px!important}
body[data-learning-scene=schedule] .learn-schedule{min-height:390px}
body[data-learning-scene=format] .learn-stage-content{min-height:330px}
body.learning-builder .learn-footer{margin-top:12px!important}
}

@media(max-width:800px){body[data-learning-scene=schedule] .learn-calendar-active{display:block!important;font-size:11px;line-height:1.5;margin:0;flex:none}body[data-learning-scene=schedule] .learn-schedule{grid-template-rows:auto auto minmax(0,1fr) auto}}
@media(max-width:600px){.site-relay:not(.site-relay-home) footer{padding-bottom:72px}}

body.learning-builder:not([data-learning-scene=home]) .learn-footer{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border:0}
body.learning-builder:is([data-learning-scene=about],[data-learning-scene=plan]){height:auto;min-height:100svh;overflow-y:auto}
body:is([data-learning-scene=about],[data-learning-scene=plan]) #learning-app,body:is([data-learning-scene=about],[data-learning-scene=plan]) .learn-view{height:auto;overflow:visible;flex:none}
body:is([data-learning-scene=about],[data-learning-scene=plan]) .learn-page{height:auto;min-height:0;overflow:visible;padding-bottom:30px}
body[data-learning-scene=plan] .learn-summary,body[data-learning-scene=plan] .learn-summary-box{overflow:visible;max-height:none}
body[data-learning-scene=about] .legacy-about{width:min(1140px,100%);margin-inline:auto!important;padding-inline:24px}
@media(max-width:800px){body[data-learning-scene=plan] .learn-summary{grid-template-columns:1fr;display:grid;gap:16px}}

.learning-builder .learn-homework-option small{font-size:11px!important;line-height:1.5}.learning-builder .learn-homework-option strong{font-size:13px!important;line-height:1.4}
@media(max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{max-width:100%;min-width:0;font-size:16px!important}.learning-builder .learn-field input,.learning-builder .learn-field select{min-height:36px!important;height:36px!important}.learning-builder .learn-summary-request .learn-field input,.learning-builder .learn-summary-request .learn-field select{font-size:16px!important}}

body.learning-builder.learn-summary-tall{height:auto!important;min-height:100svh;overflow-y:auto!important}
.learn-summary-tall #learning-app,.learn-summary-tall .learn-view{height:auto!important;overflow:visible!important;flex:none!important}
.learn-summary-tall .learn-page{height:auto!important;overflow:visible!important;min-height:0}
.learn-summary-tall .learn-summary{flex:none;overflow:visible!important;max-height:none}
.learn-summary-tall .learn-summary-box{height:auto;overflow:visible!important;max-height:none!important}
.legacy-about .experience-projects .museum-project{min-width:0!important;width:auto!important}.legacy-about .museum-project h4{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.legacy-about .experience-projects{grid-template-columns:minmax(0,1fr)!important}.legacy-about .experience-projects .museum-project{aspect-ratio:16/10;min-height:160px}}
.learning-builder .learn-option small{color:#4b4359!important}.learning-builder .learn-option :is(.learn-topic-state,.learn-option-deps){color:#573479!important}
html[data-education-theme=dark] .learning-builder .learn-option small{color:#e7dfe5!important}html[data-education-theme=dark] .learning-builder .learn-option :is(.learn-topic-state,.learn-option-deps){color:#ffb0d5!important}
