.alpha-loading .shell{visibility:hidden}.alpha-entry{position:fixed;inset:0;z-index:30;background:radial-gradient(ellipse at 15% 15%,#e5eddd,transparent 60%),#f7f8f3;overflow:auto;display:grid;place-items:center;padding:25px}.entry-card{max-width:760px;width:100%;padding:45px;border:1px solid #dce4d6;background:#fffef8;border-radius:25px;box-shadow:0 20px 80px #34583b0a}.entry-card h1{font-size:clamp(30px,5vw,49px);letter-spacing:-2px;line-height:1.17;max-width:600px}.entry-card p{color:#607268;max-width:620px}.entry-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:25px}.entry-actions a{text-decoration:none}.entry-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.entry-facts div{padding:16px;background:#f0f3e9;border-radius:13px}.entry-facts strong{display:block;margin-bottom:6px}.entry-facts p{font-size:12px;margin:0}.alpha-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 32px;border-bottom:1px solid var(--line);background:#fffef8}.alpha-toolbar button,.alpha-toolbar a{border:1px solid #d8e1d3;background:transparent;color:var(--green);border-radius:8px;padding:7px 10px;text-decoration:none;font-size:12px}.alpha-toolbar .save-status{margin-right:auto;font-size:12px;color:#66786d}.save-status[data-state=error]{color:#a14032}.step-list{display:grid;gap:14px;margin:20px 0}.step-list label{display:flex;gap:12px;align-items:flex-start;padding:12px;background:#f0f3ea;border-radius:10px}.step-list input{margin-top:6px;flex-shrink:0}.step-list small{display:block;color:#68776d}.test-help{font-size:13px;color:#6a786e;margin-top:12px}.feedback-form label{display:block;margin:16px 0 6px}.feedback-form select{width:100%;padding:12px;border:1px solid #aebfad;border-radius:8px;background:white}.feedback-form textarea{width:100%;min-height:110px}.feedback-form .primary{margin-top:16px}#dialog{max-height:85vh;overflow:auto}.research-item{border-top:1px solid #d5dfcf;padding:18px 0;white-space:pre-wrap}.research-item small{display:block;color:#69796d}.entry-card .notice{margin-top:20px}.alpha-toolbar button:disabled{opacity:.5;cursor:wait}.mobile-section{display:none}@media(max-width:700px){.entry-card{padding:25px}.entry-facts{grid-template-columns:1fr}.entry-facts div{padding:12px}.entry-actions{align-items:stretch;flex-direction:column}.entry-actions a,.entry-actions button{text-align:center}.alpha-toolbar{padding:10px 16px}.demo-banner{flex-wrap:wrap}.alpha-toolbar .save-status{width:100%}.profile-controls{gap:6px}header{gap:10px;flex-wrap:wrap}.breadcrumb{font-size:11px}.profile-controls select{max-width:190px}}

/* Readable content and resilient layouts across viewport sizes. */
:root{--muted:#526658}
body{font-size:16px;line-height:1.6}
main p:not(.eyebrow):not(.tiny),.sub,.hero p,.learning-card p,.time-slot p{font-size:15px}
main small,.tiny,.topic p,.task-meta,.stat-label,.chart-foot,.bar-label,.bar-val,.badge,.status,.chip,.test-help,footer,footer span{font-size:12px}
.eyebrow{font-size:12px;letter-spacing:1.3px}
.topic strong,.task-title,.check-row,.control-field,.switch-row small,.switch-row strong,.form-row input,.feedback-form label{font-size:14px}
.nav-item{font-size:14px;min-height:44px}
button,.primary,.secondary,.text-button,.alpha-toolbar button,.alpha-toolbar a{min-height:44px}
input,select,textarea{font-size:16px}
button,a,select,input,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #996a1f;outline-offset:3px}
.task input{width:24px;height:24px;flex:0 0 24px}
.task-delete{min-width:44px;min-height:44px;color:#526658}
.dialog-close{min-width:44px;min-height:44px;top:4px;right:6px;z-index:1}
#dialog-content{padding-top:15px}
.badge{color:#3d5c30}
.workspace,.card,.grid>*,.topline>div,.control-subhead>div,.task>div,.topic>div{min-width:0}
main,dialog,.entry-card,.topic,.task-title,.quote,.research-item{overflow-wrap:anywhere}
.topline{gap:16px}
.topline .chip{max-width:100%;white-space:normal;flex-shrink:0}
.form-row input{max-width:100%}
.chart-foot{flex-wrap:wrap;gap:8px}
svg{max-width:100%;height:auto}
.alpha-toolbar .save-status{font-size:14px}
.alpha-toolbar button,.alpha-toolbar a{font-size:14px}
.demo-banner,.banner-copy{font-size:12px}
.nav-item .nav-icon{font-size:18px}
.entry-card .entry-actions{position:relative}
@media(max-width:1100px){.two{grid-template-columns:minmax(0,1fr)}.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.three{grid-template-columns:minmax(0,1fr)}.nav-item{font-size:14px;padding:10px 12px}header{height:auto;min-height:65px;padding-top:10px;padding-bottom:10px}.demo-banner{font-size:12px}.banner-copy{font-size:12px}.profile-controls select{font-size:16px;max-width:100%}main{padding:24px 16px}.card{padding:20px}.task-title{font-size:14px}.form-row{gap:12px}.form-row input{flex-basis:100%}.topic{flex-wrap:wrap}.topic>div{flex:1}.topic button{margin-left:47px}.chart{gap:10px}.entry-card{padding:25px}dialog{padding:24px 20px;width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 24px)}#toast{bottom:max(16px,env(safe-area-inset-bottom));font-size:14px}.breadcrumb{font-size:12px}}
@media(max-width:600px){.topline{flex-direction:column;align-items:flex-start}.topline .chip{align-self:flex-start}.control-subhead{flex-wrap:wrap;gap:12px}.pill-tabs{flex-shrink:0}.entry-facts{grid-template-columns:1fr}.reward-banner{flex-direction:column;align-items:flex-start}.section-head{flex-wrap:wrap;gap:12px}.button-group{flex-wrap:wrap}.entry-actions a,.entry-actions button{width:100%}.step-list label{padding:10px}.chart-foot{font-size:12px}}
@media(max-height:500px) and (orientation:landscape){.alpha-entry{place-items:start center;padding:12px}.entry-card{padding:24px}.entry-card h1{font-size:32px}dialog{max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Metadata remains legible; muted text still meets normal-text contrast. */
:root{color-scheme:light}
main .eyebrow{font-size:12px}
button.text-button,.pill-tabs button,.preset{font-size:14px}
.person small,main .card small,main .card label,.control-subhead .sub,.request-card small,.event-row .eyebrow,.map-label,.map-cover small,.inline-error,.budget-strip{font-size:12px}
.notice,.entry-card .notice{font-size:14px;color:#526658}
.banner-copy,.hero:not(.dark) p,.status,.insight,.pill-tabs button,.bar-val,.bar-label,footer,footer span,.task.done .task-title{color:#526658}
@media(max-width:780px){aside{padding-top:max(17px,env(safe-area-inset-top))}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
main .card .eyebrow,main .control-subhead .eyebrow{font-size:12px}
.brand{max-width:100%;white-space:normal;flex-wrap:wrap;line-height:1.25}
@media(max-width:780px){.topic button{max-width:calc(100% - 47px)}}
.profile-controls{min-width:0;max-width:100%}
.profile-controls select{min-width:0;max-width:100%}
.bar-slot{min-width:0}
.bar-label,.bar-val{max-width:100%;overflow-wrap:anywhere;text-align:center}
@media(max-width:600px){.profile-controls{width:100%}.profile-controls select{width:100%;max-width:280px}}
main legend{font-size:14px;color:#526658}
.category-options legend,.step-list small,.test-help{color:#526658}
@media(max-height:500px) and (max-width:1100px){.shell{display:block}aside{position:static;width:100%;height:auto;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}.aside-label,.aside-note,.reset{display:none}nav{display:flex;overflow-x:auto;margin-top:12px;gap:6px}.nav-item{white-space:nowrap;flex-shrink:0}.workspace{margin:0;width:100%}header{height:auto;min-height:65px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}}
