/* Task layouts: compact task headers, predictable field rhythm and readable content widths.
   Course art, classroom canvases, print documents and homepage retain their own scale. */
.studio-inner :is(input,select,textarea) { max-width:100%; }
.studio-inner :is(.form-grid,.grid-2,.teach-grid,.split) > * { min-width:0; }
.studio-inner :is(.form-grid,.grid-2) > .field + .field { margin-top:0; }
.studio-inner .field { align-content:start; }
.studio-inner :is(.form-fieldset__title,.profile-card__head,.teach-panel h2) { font-family:var(--font-sans); }
.studio-inner .section__head :is(.h1,.h2) { margin-top:6px!important;max-width:none; }
.studio-inner .section__head :is(.body-copy,.lede) { font-size:14px;line-height:1.8; }
.studio-workspace .section { padding-block:24px; }
.studio-workspace .h1 { font-size:30px;line-height:1.35; }
.studio-workspace .h2 { font-size:23px;line-height:1.45; }
.studio-inner .section__head { margin-bottom:22px;padding-bottom:18px; }
.studio-inner .section__head-aside { gap:10px; }
.studio-inner .form-msg:empty { margin:0;min-height:0;padding:0; }
.studio-inner .form-fieldset { gap:16px; }
.studio-inner .input-row { align-items:start; }
.studio-inner .teach-status:empty { min-height:0;margin-block:12px; }
.studio-inner .teach-top { align-items:center; }
.studio-inner .teach-top > div { min-width:0; }
/* Account: the collection is the primary task, not a narrow column beside repeated headings. */
body[data-page=account] #main > .section > .wrap { max-width:1200px; }
body[data-page=account] #main > .section:not(:first-of-type) > .wrap { display:block; }
body[data-page=account] #main > .section:not(:first-of-type) .section__head { display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center; }
body[data-page=account] #main > .section:not(:first-of-type) .section__head-aside { margin:0;max-width:46em; }
body[data-page=account] .wallet { padding:22px 24px;gap:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center; }
body[data-page=account] .wallet__value { font-size:34px; }
body[data-page=account] .wallet__note { max-width:44em; }
body[data-page=account] .studio-account-nav { padding-block:0 16px;gap:6px; }
body[data-page=account] .studio-account-nav a { font-size:13px;padding:9px 13px; }
body[data-page=account] .profile-card { padding:22px;max-width:900px; }
body[data-page=account] .profile-card .grid-2 { gap:18px; }
body[data-page=account] .profile-card .field { gap:7px; }
body[data-page=account] .profile-card .field[style*="display:block"] { display:grid!important; }
body[data-page=account] .profile-card .input { width:100%; }
body[data-page=account] .kyc-grid { align-items:start;gap:18px; }
body[data-page=account] .kyc-card { padding:22px; }
body[data-page=account] .lib-row { padding-block:18px;gap:18px; }
body[data-page=account] .lib-row__actions { gap:8px; }
body[data-page=account] .board-card { min-width:0; }
/* Credits: put the actionable amounts and estimate at the same level. */
body[data-page=credits] #main > .section > .wrap { max-width:1200px; }
body[data-page=credits] .wallet { padding:24px;gap:20px;align-items:center; }
body[data-page=credits] .wallet__value { font-size:36px; }
body[data-page=credits] #recharge > .wrap { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:20px 28px; }
body[data-page=credits] #recharge .section__head { margin-bottom:0; }
body[data-page=credits] .recharge { padding:22px;min-height:130px; }
body[data-page=credits] #ledger > .wrap { display:block; }
body[data-page=credits] #ledger .section__head { display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px; }
body[data-page=credits] .earn-band { margin-top:24px; }
/* Small collections: full-width results below a compact heading, no empty sidebar. */
body:is([data-page=board],[data-page=follows],[data-page=offline]) #main > .wrap { display:block;max-width:1200px;padding-block:28px; }
body:is([data-page=board],[data-page=follows],[data-page=offline]) #main > .wrap > header { position:static;max-width:none;padding-top:0;padding-bottom:20px!important;margin-bottom:20px;border-bottom:1px solid var(--line); }
body:is([data-page=board],[data-page=follows],[data-page=offline]) #main h1 { font-size:30px;line-height:1.4; }
body:is([data-page=board],[data-page=follows],[data-page=offline]) #main > .wrap > section { padding:0; }
body:is([data-page=board],[data-page=follows],[data-page=offline]) .follow-grid { grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px; }
body:is([data-page=board],[data-page=follows],[data-page=offline]) :is([data-board-empty],[data-follow-empty],[data-off-empty]):not([hidden]) { margin:0;padding:28px;background:white;border:1px dashed var(--line-strong);border-radius:12px;line-height:1.85; }
/* Authentication: show the real sign-in task first; demonstrations are a separate lower section. */
body:is([data-page=login],[data-page=register]) #main > .section { padding-block:32px; }
body:is([data-page=login],[data-page=register]) .wrap--narrow { max-width:1000px; }
body:is([data-page=login],[data-page=register]) #main h1 { font-size:32px;margin-bottom:12px!important; }
body:is([data-page=login],[data-page=register]) #main > .section > .wrap > .lede { font-size:14px;line-height:1.85; }
body:is([data-page=login],[data-page=register]) .split { grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:32px;margin-top:24px!important; }
body:is([data-page=login],[data-page=register]) .split > aside { padding:22px;background:var(--paper-deep);border-radius:12px; }
body:is([data-page=login],[data-page=register]) .form-fieldset { padding:22px; }
body:is([data-page=login],[data-page=register]) .form-fieldset .field { margin-top:0;gap:7px; }
body:is([data-page=login],[data-page=register]) .form-fieldset .field + .field { margin-top:16px; }
body:is([data-page=login],[data-page=register]) :is(.input,.select) { min-height:44px; }
body[data-page=login] .task-demo-accounts { margin-top:32px;padding-top:24px;border-top:1px solid var(--line); }
body[data-page=login] .task-demo-accounts > div:first-child { margin:0 0 14px!important; }
body[data-page=login] .task-demo-accounts .tile { padding:18px; }
body[data-page=login] .split > div > h2 { font-size:20px; }
body[data-page=register] .license-choice { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px; }
body[data-page=register] .license-opt { padding:16px;min-width:0;align-items:start; }
body[data-page=register] .license-opt__desc { font-size:12px;line-height:1.7; }
/* Course creation: two clearly separated starting choices instead of a long row of fields. */
body[data-page=upload] #main.cu { max-width:1440px; }
body[data-page=upload] .cu-start { grid-template-columns:1fr 1fr;gap:22px; }
body[data-page=upload] .cu-start > div:first-child { grid-column:1/-1; }
body[data-page=upload] .cu-start :is(.task-course-start,.task-course-resume) { grid-column:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;min-width:0;padding:0;border:0; }
body[data-page=upload] .cu-start :is(.task-course-start,.task-course-resume) label { min-width:0; }
body[data-page=upload] .cu-start .input { height:44px; }
body[data-page=upload] .cu-toolbar { padding-block:18px; }
body[data-page=upload] .cu-layout { gap:20px;grid-template-columns:260px minmax(0,1fr); }
body[data-page=upload] .cu-import { padding:20px; }
body[data-page=upload] .cu-editor h3 { margin-bottom:10px; }
body[data-page=upload] .studio-publish-desk { grid-template-columns:minmax(0,1fr) 260px;gap:24px!important; }
body[data-page=upload] .studio-publish-desk .form-fieldset { padding:22px;margin-bottom:18px; }
body[data-page=upload] .studio-publish-desk .wizard__steps { gap:7px;margin-bottom:20px; }
body[data-page=upload] .studio-publish-desk .wizard__step { padding:10px 8px;font-size:12px; }
body[data-page=upload] .studio-publish-desk .form-fieldset__hint { margin-bottom:18px;font-size:13px; }
/* Teaching: fit the selector and editor to their task rather than making both equally tall. */
body[data-page=teaching] .teach-top { padding-bottom:20px;gap:18px; }
body[data-page=teaching] .teach-top .lede { font-size:14px;margin-top:10px!important; }
body[data-page=teaching] .teach-grid { grid-template-columns:280px minmax(0,1fr);gap:22px; }
body[data-page=teaching] .teach-panel { padding:22px;margin-bottom:18px; }
body[data-page=teaching] .teach-panel h2 { font-size:20px;margin-bottom:16px; }
body[data-page=teaching] .teach-empty { padding:12px 0;margin:0;font-size:14px;line-height:1.85; }
body[data-page=teaching] .teach-form { gap:16px; }
body[data-page=teaching] #prep-save { gap:16px; }
body[data-page=teaching] #prep-save textarea { min-height:112px; }
body[data-page=teaching] .teach-actions { align-items:center;gap:8px; }
body[data-page=teaching] .teach-actions .btn { padding:10px 14px;min-height:42px;font-size:13px; }
body[data-page=teaching] .c2c-disclosure { padding:14px; }
body[data-page=teaching] .c2c-student-snapshot { margin-top:18px;padding-top:18px;gap:18px; }
body[data-page=workbench] .studio-next-class { padding:24px;margin-block:20px; }
body[data-page=workbench] .c2c-daily { gap:20px; }
body[data-page=workbench] .c2c-home-actions { margin-bottom:24px; }
/* Imports and local assets: align empty results without oversized blank placeholders. */
body:is([data-page=assets],[data-page=import]) #main > .wrap > .hero { padding-top:28px!important;padding-bottom:22px!important; }
body:is([data-page=assets],[data-page=import]) #main h1 { font-size:30px; }
body:is([data-page=assets],[data-page=import]) #main .hero .lede { font-size:14px;line-height:1.85; }
.studio-assets-layout { grid-template-columns:240px minmax(0,1fr);gap:24px; }
.studio-assets-aside .as-drop { min-height:220px;padding:20px; }
body[data-page=import] .imp-grid { grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px; }
body[data-page=import] .imp-drop { min-height:230px;padding:24px; }
body[data-page=import] .imp-right { min-height:260px;padding:22px; }
body[data-page=import] .imp-empty { padding:40px 20px; }
/* Proof/query flows: empty document states should read as a query task, not a blank certificate. */
body[data-page=verify] #main > .section > .wrap { max-width:1120px; }
body[data-page=verify] .verify-head { display:block; }
body[data-page=verify] .verify-head .h1 { font-size:30px; }
body[data-page=verify] .verify-head .h1 br { display:none; }
body[data-page=verify] .verify-type { padding:16px;gap:12px!important; }
body[data-page=verify] .verify-panel { padding:22px; }
body[data-page=report] #main > .wrap { max-width:1200px; }
body[data-page=report] #main > .wrap > header { padding-block:28px 20px; }
body[data-page=report] [data-rp-empty] { padding:28px;margin:0; }
body[data-page=family] .teach-top,body[data-page=homework] .teach-top { padding:24px;gap:18px; }
body:is([data-page=family],[data-page=homework]) .teach-top .h1 { font-size:30px; }
body:is([data-page=family],[data-page=homework]) .teach-top .lede { margin-top:10px!important;font-size:14px; }
body[data-page=legal] #main > .wrap { gap:20px 32px; }
body[data-page=legal] #main > .wrap > header .h1 { font-size:30px; }
body[data-page=admin] #main > .wrap > header { padding-top:28px;padding-bottom:18px!important; }
body[data-page=admin] #main h1 { font-size:30px; }
body[data-page=pay] .pay-shell { padding:24px;gap:18px; }
.oa-body .oa { gap:12px;padding:16px; }.oa-body .oa-card { padding:14px; }
@media screen and (min-width:961px) {
 body:is([data-page=certificate],[data-page=license]) .cert-page > .wrap:has(.cert-missing:not([hidden])) { display:block;max-width:960px; }
 body:is([data-page=certificate],[data-page=license]) .cert-page > .wrap:has(.cert-missing:not([hidden])) .cert-actions { position:static;flex-direction:row;flex-wrap:wrap;gap:10px; }
}
body:is([data-page=certificate],[data-page=license]) .cert-page__head .h1 { font-size:30px; }
body:is([data-page=certificate],[data-page=license]) .cert-missing { padding:32px 24px; }
@media(max-width:1100px) {
 body[data-page=upload] .cu-start { grid-template-columns:1fr; }
 body[data-page=upload] .studio-publish-desk { grid-template-columns:minmax(0,1fr) 230px; }
 body[data-page=account] .wallet { grid-template-columns:1fr; }
}
@media(max-width:760px) {
 .studio-inner .section__head { display:flex;flex-direction:column;align-items:stretch;gap:12px; }
 .studio-inner .section__head-aside { width:100%;max-width:none; }
 .studio-workspace .h1 { font-size:26px; }
 body:is([data-page=board],[data-page=follows],[data-page=offline],[data-page=assets],[data-page=import],[data-page=login],[data-page=register]) #main h1 { font-size:26px; }
 body[data-page=teaching] .teach-grid { grid-template-columns:1fr; }
 body[data-page=teaching] .teach-panel { padding:18px; }
 body[data-page=teaching] .teach-grid > .teach-panel:first-child { position:static; }
 body[data-page=upload] .cu-layout,body[data-page=upload] .studio-publish-desk,.studio-assets-layout,body[data-page=import] .imp-grid { grid-template-columns:1fr; }
 body[data-page=upload] .cu-start :is(.task-course-start,.task-course-resume) { grid-template-columns:1fr; }
 body[data-page=upload] .cu-tree { position:static; }
 body:is([data-page=login],[data-page=register]) .split { grid-template-columns:1fr;gap:24px; }
 body[data-page=register] .license-choice { grid-template-columns:1fr; }
 body[data-page=credits] #recharge > .wrap { display:block; }
 body[data-page=credits] #recharge .recharge-grid { margin-top:20px; }
 body[data-page=account] .profile-card,body[data-page=account] .kyc-card { padding:18px; }
 body[data-page=account] .wallet { padding:20px; }
 body[data-page=verify] .verify-grid { display:block; }
 body:is([data-page=family],[data-page=homework]) .teach-top .h1 { font-size:26px; }
}
/* The footer switched to a light surface earlier, but still inherited white text. */
.site-footer { color:var(--ink);margin-top:32px;padding-top:32px; }
.site-footer a { color:var(--ink-2); }.site-footer a:hover { color:var(--ink); }
.site-footer .footer-brand .brand__name { color:var(--ink);font-size:24px; }
.site-footer :is(.footer-brand p,.footer-col__label,.footer-bottom) { color:var(--ink-3); }
.site-footer .footer-top { padding-bottom:24px;gap:24px;border-color:var(--line); }
.site-footer .footer-bottom { padding-block:18px 24px;gap:16px; }
/* Dynamic payment availability adds explanatory copy to the action group: never size it intrinsically. */
body[data-page=account] .wallet { grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);gap:16px 24px; }
body[data-page=account] .wallet > div:first-child { grid-column:1;grid-row:1; }
body[data-page=account] .wallet__actions { grid-column:2;grid-row:1;min-width:0;align-content:center; }
body[data-page=account] .wallet__note { grid-column:1/-1;grid-row:2;max-width:none; }
body[data-page=account] .wallet__actions > p { flex:1 1 100%;min-width:0;max-width:100%;margin:4px 0 0;line-height:1.7; }
body[data-page=account] .profile-card .grid-2 { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-page=register] [data-register-form] > fieldset { border:0;padding:0;margin:0 0 4px;min-width:0; }
body[data-page=register] [data-register-form] > fieldset legend { padding:0;margin-bottom:10px; }
body[data-page=register] [data-register-form] > .form-fieldset { border:0;border-top:1px solid var(--line-soft);border-radius:0;padding:16px 0 0;background:transparent; }
@media(max-width:760px) {
 body[data-page=account] .wallet { grid-template-columns:1fr; }
 body[data-page=account] .wallet > div:first-child,body[data-page=account] .wallet__actions,body[data-page=account] .wallet__note { grid-column:auto;grid-row:auto; }
 body[data-page=account] .profile-card .grid-2 { grid-template-columns:1fr; }
}
/* Account task scale must also apply before login, when the teacher sidebar is absent. */
body:is([data-page=account],[data-page=credits],[data-page=teaching],[data-page=family],[data-page=homework],[data-page=verify],[data-page=report]) #main > .section { padding-block:28px; }
body:is([data-page=account],[data-page=credits],[data-page=teaching],[data-page=family],[data-page=homework],[data-page=verify],[data-page=report]) #main .h1 { font-size:30px;line-height:1.4; }
body[data-page=account] .studio-account-nav { max-width:1200px;width:100%;margin-inline:auto; }
body[data-page=account] .section__head-aside > a { align-self:start; }
body:is([data-page=account],[data-page=credits]) .wallet__value { font-family:var(--font-num);font-weight:600;font-variant-numeric:tabular-nums; }
body:is([data-page=account],[data-page=credits]) .wallet :is(.wallet__label,.wallet__note,.wallet__value small),body[data-page=account] .wallet__actions > p { color:rgba(255,255,255,.76); }
@media(max-width:760px) { body:is([data-page=account],[data-page=credits],[data-page=teaching],[data-page=family],[data-page=homework],[data-page=verify],[data-page=report]) #main .h1 { font-size:26px; } }
/* Essential account records remain readable even when asynchronous animation registration is late. */
body[data-page=account] .reveal { opacity:1;transform:none; }
body[data-page=account] .lib-row__title { font-family:var(--font-sans);font-size:17px;line-height:1.5; }
body[data-page=account] .lib-row__actions .btn { min-height:40px;font-size:13px;padding:9px 12px; }
@media(max-width:760px) { body[data-page=account] .lib-row__actions .btn { min-height:44px; } }
