/* Student home grid keeps the original seven growth tiers and their artwork intact. */
html body #main .sh-workspace-r2{--sh-gap:16px;display:flex!important;flex-direction:column!important;gap:var(--sh-gap);min-width:0}
html body #main .sh-workspace-r2 .home-head9{margin:0;min-width:0;gap:14px;align-items:center}
html body #main .sh-workspace-r2 .home-head9 h1{font-size:clamp(21px,1.8vw,30px);line-height:1.4;letter-spacing:-.035em;margin:3px 0 0}
html body #main .sh-workspace-r2 .home-head9 .eyebrow{font-size:10px;line-height:1.3;letter-spacing:.06em}
html body #main .sh-workspace-r2 .home-notice10{flex:none;min-height:36px;margin:0;border-radius:10px;padding:6px 13px;gap:12px}
html body #main .sh-workspace-r2 .home-notice10[hidden]{display:none!important}
html body #main .sh-workspace-r2 .home-notice10 .notice-title10{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #main .sh-workspace-r2 .sh-grid-r2{min-width:0;min-height:0}
html body #main .sh-workspace-r2 .home-subject-block9{margin:0;min-width:0;display:flex;flex-direction:column;gap:12px}
html body #main .sh-workspace-r2 .home-subject-block9>header{margin:0;gap:12px;min-height:28px}
html body #main .sh-workspace-r2 .home-subject-block9 h2{font-size:17px;line-height:1.4;letter-spacing:-.03em;margin:0}
html body #main .sh-workspace-r2 .home-subject-block9>header>button{min-height:28px;padding:4px 0;font-size:12px}
html body #main .sh-workspace-r2 .home-subjects9{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;flex:1;min-height:0}
html body #main .sh-workspace-r2 .home-subjects9>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;height:100%;min-height:0;padding:12px 4px;border-radius:13px}
html body #main .sh-workspace-r2 .home-subjects9>button>svg{display:none}
html body #main .sh-workspace-r2 .home-subjects9>button>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:18px}
html body #main .sh-workspace-r2 .home-subjects9 b{font-size:13px;line-height:1.4;white-space:nowrap}
html body #main .sh-workspace-r2 .home-mission9{margin:0;min-width:0;padding:12px 16px;gap:10px;border-radius:13px;flex-wrap:wrap;align-content:center}
html body #main .sh-workspace-r2 .home-mission9>span{font-size:12px;white-space:nowrap;gap:7px}
html body #main .sh-workspace-r2 .home-mission9>div{min-width:0;gap:10px;flex-wrap:wrap}
html body #main .sh-workspace-r2 .home-mission9 button{font-size:11px;line-height:1.4;min-height:28px;white-space:nowrap}
html body #main .sh-workspace-r2 .home-mission9>.text-btn{margin-left:auto}
html body #main .sh-workspace-r2 .home-bottom9{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sh-gap);min-height:0;margin:0}
html body #main .sh-workspace-r2 .home-action9{height:100%;min-height:0;min-width:0;padding:18px;gap:14px;border-radius:14px;align-items:center}
html body #main .sh-workspace-r2 .home-action9>div{min-width:0}
html body #main .sh-workspace-r2 .home-action9 b{font-size:16px;line-height:1.5}
html body #main .sh-workspace-r2 .home-action9 small,html body #main .sh-workspace-r2 .home-action9>div>span{font-size:11px;line-height:1.6}
html body #main .sh-workspace-r2 .challenge-hero9{margin:0;min-width:0;min-height:0;padding:28px;border-radius:20px;gap:20px;align-items:center}
html body #main .sh-workspace-r2 .challenge-hero9>div:first-child{min-width:0;z-index:1}
html body #main .sh-workspace-r2 .challenge-hero9 h2{font-size:clamp(25px,2.35vw,42px);line-height:1.35;letter-spacing:-.045em;margin:10px 0}
html body #main .sh-workspace-r2 .challenge-hero9 p{font-size:13px;line-height:1.7;margin:0 0 18px;word-break:keep-all}
html body #main .sh-workspace-r2 .challenge-hero9 .hero-kicker9{font-size:11px;line-height:1.5}
html body #main .sh-workspace-r2 .challenge-hero9 .btn{min-height:40px;font-size:13px;padding:10px 15px}
html body #main .sh-workspace-r2 .home-mascot9{position:relative;width:32%;max-width:260px;min-width:120px;flex:0 0 32%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
html body #main .sh-workspace-r2 .home-mascot9>img{object-fit:contain;max-width:100%;max-height:85%;height:85%;width:auto;min-height:0}
html body #main .sh-workspace-r2 .home-mascot9>span{font-size:9px;letter-spacing:.08em;max-width:100%;text-align:center}
/* Only geometry changes here: original tier colors, scenery and animations are inherited. */
html body #main .sh-workspace-r2 .home-rank9.cg-growth-r1{min-height:0!important;min-width:0;height:100%;padding:24px!important;gap:16px;border-radius:20px}
html body #main .sh-workspace-r2 .cg-heading-r1 h2{font-size:16px}
html body #main .sh-workspace-r2 .cg-stage-r1{min-height:0;flex:1 1 0;display:flex;flex-direction:column;justify-content:center;gap:18px;text-align:center}
html body #main .sh-workspace-r2 .cg-medallion-r1{width:140px;height:156px;flex:none}
html body #main .sh-workspace-r2 .cg-medallion-r1>.cg-medal-art-r1{width:140px;height:140px;left:0}
html body #main .sh-workspace-r2 .cg-avatar-r1{width:88px;height:88px;margin-top:24px}
html body #main .sh-workspace-r2 .cg-avatar-r1>.cogo-avatar{width:86px!important;height:86px!important}
html body #main .sh-workspace-r2 .cg-level-r1{font-size:12px;bottom:1px;padding:5px 10px}
html body #main .sh-workspace-r2 .cg-identity-r1 h3{font-size:32px;line-height:1.3}
html body #main .sh-workspace-r2 .cg-motto-r1{font-size:12px;line-height:1.6}
html body #main .sh-workspace-r2 .cg-stats-r1{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:10px}
html body #main .sh-workspace-r2 .cg-stats-r1 strong{font-size:24px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
html body #main .sh-workspace-r2 .cg-stats-r1 span{font-size:11px}
html body #main .sh-workspace-r2 .cg-growth-r1[data-long-xp=true] .cg-stats-r1>div:last-child strong{font-size:19px}
html body #main .sh-workspace-r2 .cg-progress-r1>div:first-child{font-size:11px;flex-wrap:wrap;gap:3px 10px}
html body #main .sh-workspace-r2 .cg-track-r1{height:5px}
html body #main .sh-workspace-r2 .cg-continue-r1{font-size:12px;min-height:38px}
@media(min-width:1200px) and (min-height:650px){
 html body[data-view=home] #main.content:has(.sh-workspace-r2){height:calc(100dvh - 64px)!important;min-height:0!important;box-sizing:border-box;display:flex!important;flex-direction:column!important;padding:18px 32px 10px!important;row-gap:12px!important;overflow:auto!important;scrollbar-gutter:auto}
 html body[data-view=home] #main:has(.sh-workspace-r2)>.page{flex:1 1 0!important;min-height:0!important;height:auto!important;padding-bottom:0!important;display:flex!important;flex-direction:column!important}
 html body[data-view=home] #main:has(.sh-workspace-r2)>#cogo-business-legal-r1{flex:none!important;margin-top:0!important;padding-top:10px!important;padding-bottom:4px!important}
 html body[data-view=home] #main .home9.sh-workspace-r2{height:100%!important;flex:1 1 0!important;min-height:0!important;padding:0!important}
 html body #main .sh-workspace-r2 .home-head9{flex:none}
 html body #main .sh-workspace-r2 .sh-grid-r2{flex:1 1 0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:minmax(168px,1.4fr) minmax(96px,.7fr) 60px minmax(80px,.5fr);gap:var(--sh-gap);min-height:0}
 html body #main .sh-workspace-r2 .home-top9{display:contents!important}
 html body #main .sh-workspace-r2 .challenge-hero9{grid-column:1;grid-row:1}
 html body #main .sh-workspace-r2 .home-rank9{grid-column:2;grid-row:1/4}
 html body #main .sh-workspace-r2 .home-subject-block9{grid-column:1;grid-row:2}
 html body #main .sh-workspace-r2 .home-mission9{grid-column:1;grid-row:3}
 html body #main .sh-workspace-r2 .home-bottom9{grid-column:1/-1;grid-row:4}
}
@media(min-width:1200px) and (min-height:650px) and (max-height:850px){
 html body #main .sh-workspace-r2{--sh-gap:10px}
 html body[data-view=home] #main.content:has(.sh-workspace-r2){padding:12px 24px 8px!important;row-gap:8px!important}
 html body #main .sh-workspace-r2 .home-head9 h1{font-size:23px;line-height:1.3}
 html body #main .sh-workspace-r2 .home-notice10{min-height:30px;padding:3px 10px;font-size:11px}
 html body #main .sh-workspace-r2 .sh-grid-r2{grid-template-rows:minmax(134px,1fr) 88px 58px 76px}
 html body #main .sh-workspace-r2 .challenge-hero9{padding:16px 20px;gap:10px}
 html body #main .sh-workspace-r2 .challenge-hero9 h2{font-size:27px;margin:6px 0;line-height:1.3}
 html body #main .sh-workspace-r2 .challenge-hero9 p{font-size:11px;margin-bottom:10px;line-height:1.5}
 html body #main .sh-workspace-r2 .challenge-hero9 .btn{font-size:11px;padding:7px 11px;min-height:32px}
 html body #main .sh-workspace-r2 .challenge-hero9 .hero-kicker9{font-size:10px}
 html body #main .sh-workspace-r2 .home-subject-block9{gap:5px}
 html body #main .sh-workspace-r2 .home-subject-block9>header{min-height:24px}
 html body #main .sh-workspace-r2 .home-subject-block9 h2{font-size:14px}
 html body #main .sh-workspace-r2 .home-subject-block9>header>button{font-size:10px;min-height:24px}
 html body #main .sh-workspace-r2 .home-subjects9{gap:7px}
 html body #main .sh-workspace-r2 .home-subjects9>button{padding:6px 3px;gap:4px;border-radius:10px}
 html body #main .sh-workspace-r2 .home-subjects9>button>span{height:25px;width:25px;font-size:14px;border-radius:7px}
 html body #main .sh-workspace-r2 .home-subjects9 b{font-size:11px}
 html body #main .sh-workspace-r2 .home-mission9{padding:6px 12px;gap:3px 8px}
 html body #main .sh-workspace-r2 .home-mission9>span{font-size:11px}
 html body #main .sh-workspace-r2 .home-mission9>div{gap:4px 8px;flex:1}
 html body #main .sh-workspace-r2 .home-mission9 button{font-size:10px;min-height:22px;padding:1px 0}
 html body #main .sh-workspace-r2 .home-rank9.cg-growth-r1{padding:16px!important;gap:10px}
 html body #main .sh-workspace-r2 .cg-heading-r1 h2{font-size:14px}
 html body #main .sh-workspace-r2 .cg-stage-r1{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;text-align:left;align-items:center;align-content:center}
 html body #main .sh-workspace-r2 .cg-medallion-r1{width:100px;height:114px}
 html body #main .sh-workspace-r2 .cg-medallion-r1>.cg-medal-art-r1{width:100px;height:100px}
 html body #main .sh-workspace-r2 .cg-avatar-r1{width:64px;height:64px;margin-top:16px}
 html body #main .sh-workspace-r2 .cg-avatar-r1>.cogo-avatar{width:62px!important;height:62px!important}
 html body #main .sh-workspace-r2 .cg-level-r1{font-size:10px;padding:4px 8px}
 html body #main .sh-workspace-r2 .cg-identity-r1 h3{font-size:24px;overflow-wrap:anywhere}
 html body #main .sh-workspace-r2 .cg-motto-r1{font-size:10px}
 html body #main .sh-workspace-r2 .cg-stats-r1 strong{font-size:19px}
 html body #main .sh-workspace-r2 .cg-growth-r1[data-long-xp=true] .cg-stats-r1>div:last-child strong{font-size:16px}
 html body #main .sh-workspace-r2 .cg-stats-r1 span,html body #main .sh-workspace-r2 .cg-progress-r1>div:first-child{font-size:10px}
 html body #main .sh-workspace-r2 .cg-continue-r1{font-size:11px;min-height:30px;padding:4px 8px}
 html body #main .sh-workspace-r2 .home-action9{padding:12px;gap:10px}
 html body #main .sh-workspace-r2 .home-action9 b{font-size:13px;line-height:1.4}
 html body #main .sh-workspace-r2 .home-action9 small,html body #main .sh-workspace-r2 .home-action9>div>span{font-size:10px;line-height:1.4}
 html body #main .sh-workspace-r2 .home-action-icon9{width:36px;height:36px;flex:none}
}
@media(min-width:1200px) and (min-height:650px) and (max-height:710px){
 html body #main .sh-workspace-r2{--sh-gap:8px}
 html body #main .sh-workspace-r2 .home-head9 h1{font-size:20px}
 html body #main .sh-workspace-r2 .sh-grid-r2{grid-template-rows:minmax(124px,1fr) 82px 52px 68px}
 html body #main .sh-workspace-r2 .challenge-hero9 h2{font-size:23px;line-height:1.25;margin:4px 0 8px}
 html body #main .sh-workspace-r2 .challenge-hero9 .hero-kicker9{font-size:9px}
 html body #main .sh-workspace-r2 .challenge-hero9>div:first-child>p{display:none}
 html body #main .sh-workspace-r2 .challenge-hero9 .btn{min-height:30px}
 html body #main .sh-workspace-r2 .home-rank9.cg-growth-r1{padding:12px!important;gap:7px}
 html body #main .sh-workspace-r2 .cg-stage-r1{grid-template-columns:86px minmax(0,1fr);gap:10px}
 html body #main .sh-workspace-r2 .cg-medallion-r1{width:86px;height:96px}
 html body #main .sh-workspace-r2 .cg-medallion-r1>.cg-medal-art-r1{width:86px;height:86px}
 html body #main .sh-workspace-r2 .cg-avatar-r1{width:54px;height:54px;margin-top:13px}
 html body #main .sh-workspace-r2 .cg-avatar-r1>.cogo-avatar{width:52px!important;height:52px!important}
 html body #main .sh-workspace-r2 .cg-level-r1{font-size:9px;bottom:-1px}
 html body #main .sh-workspace-r2 .cg-identity-r1 h3{font-size:23px}
 html body #main .sh-workspace-r2 .cg-stats-r1 strong{font-size:17px}
 html body #main .sh-workspace-r2 .cg-growth-r1[data-long-xp=true] .cg-stats-r1>div:last-child strong{font-size:14px}
 html body #main .sh-workspace-r2 .home-action9{padding:10px}
}
@media(max-width:1199px),(max-height:649px){
 html body #main .sh-workspace-r2 .sh-grid-r2{display:flex;flex-direction:column;gap:16px}
 html body #main .sh-workspace-r2 .home-top9{margin:0;gap:16px;max-height:none!important}
 html body #main .sh-workspace-r2 .home-rank9.cg-growth-r1{min-height:310px!important;height:auto}
 html body #main .sh-workspace-r2 .cg-stage-r1{flex-direction:row}
 html body #main .sh-workspace-r2 .home-subjects9>button{min-height:84px}
 html body #main .sh-workspace-r2 .challenge-hero9{min-height:250px}
 html body #main .sh-workspace-r2 .home-bottom9{min-height:100px}
}
@media(max-width:760px){
 html body #main .sh-workspace-r2{--sh-gap:12px}
 html body #main .sh-workspace-r2 .home-head9 h1{font-size:21px}
 html body #main .sh-workspace-r2 .home-head9 .eyebrow{font-size:9px}
 html body #main .sh-workspace-r2 .challenge-hero9{padding:20px;gap:10px;min-height:230px}
 html body #main .sh-workspace-r2 .challenge-hero9 h2{font-size:26px}
 html body #main .sh-workspace-r2 .challenge-hero9 p{font-size:11px}
 html body #main .sh-workspace-r2 .home-mascot9{min-width:85px;flex-basis:28%;max-height:180px}
 html body #main .sh-workspace-r2 .home-subjects9{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 html body #main .sh-workspace-r2 .home-subjects9>button{min-height:80px}
 html body #main .sh-workspace-r2 .home-mission9{display:flex;flex-wrap:wrap;padding:14px}
 html body #main .sh-workspace-r2 .home-mission9>div{order:3;flex-basis:100%;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
 html body #main .sh-workspace-r2 .home-bottom9{grid-template-columns:1fr}
 html body #main .sh-workspace-r2 .home-action9{min-height:86px}
 html body #main .sh-workspace-r2 .home-rank9.cg-growth-r1{padding:18px!important}
 html body #main .sh-workspace-r2 .cg-stage-r1{gap:12px;min-width:0}
 html body #main .sh-workspace-r2 .cg-medallion-r1{width:100px;height:112px}
 html body #main .sh-workspace-r2 .cg-medallion-r1>.cg-medal-art-r1{width:100px;height:100px}
 html body #main .sh-workspace-r2 .cg-avatar-r1{width:64px;height:64px;margin-top:16px}
 html body #main .sh-workspace-r2 .cg-avatar-r1>.cogo-avatar{width:62px!important;height:62px!important}
 html body #main .sh-workspace-r2 .cg-identity-r1{text-align:left}
 html body #main .sh-workspace-r2 .cg-identity-r1 h3{font-size:25px;overflow-wrap:anywhere}
 html body #main .sh-workspace-r2 .cg-motto-r1{font-size:10px}
 html body #main .sh-workspace-r2 .cg-stats-r1 strong{font-size:21px}
 html body #main .sh-workspace-r2 .cg-growth-r1[data-long-xp=true] .cg-stats-r1>div:last-child strong{font-size:16px}
}
/* Teacher tool preference and non-blocking classroom switch feedback. */
html body #main .tm-fit-r1{position:relative}
html body #main .tm-fit-r1 .tm-tool-sort-r2{font:inherit;font-size:11px;width:auto;min-width:0;max-width:115px;min-height:28px;padding:4px 22px 4px 7px;border:1px solid var(--tf-line,#dce5ed);border-radius:8px;background:var(--tm-surface,#fff);color:var(--tm-muted,#64748b);margin:0}
html body #main .tm-fit-r1 .tm-switch-pending-r2{opacity:.72;transition:opacity .12s;cursor:progress}
html body #main .tm-fit-r1 .tm-switch-note-r2{position:absolute;right:14px;top:76px;z-index:5;max-width:calc(100% - 28px);padding:9px 13px;border:1px solid #c6ddd5;border-radius:10px;background:#f4faf7;color:#285d54;font-size:12px;line-height:1.6;box-shadow:0 4px 18px #193e3420;display:flex;align-items:center;gap:12px}
html body #main .tm-fit-r1 .tm-switch-note-r2[hidden]{display:none!important}
html body #main .tm-fit-r1 .tm-switch-error-r2{background:#fff8ed;border-color:#e4ca9b;color:#755420}
html body #main .tm-fit-r1 .tm-switch-note-r2 button{font:inherit;font-weight:700;flex:none;border:1px solid currentColor;border-radius:6px;padding:3px 8px;background:transparent;color:inherit}
html[data-theme=dark] body #main .tm-fit-r1 .tm-switch-note-r2{background:#203e37;color:#d7eee7;border-color:#4b7567}
html[data-theme=dark] body #main .tm-fit-r1 .tm-switch-error-r2{background:#453922;color:#f4ddaa}
@media(max-width:760px){html body #main .tm-fit-r1 .tm-switch-note-r2{top:140px;font-size:11px;gap:8px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html body #main .tm-fit-r1 .tm-switch-pending-r2{transition:none}}
