/* One app typography system. Keep the sidebar, landing and CBT exam skin independent. */
:root{--gp-type-body:16px;--gp-type-support:14px;--gp-type-h1:36px;--gp-type-h2:28px;--gp-type-h3:22px;--gp-type-h4:18px;--gp-type-family:'DM Sans',Arial,sans-serif}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward){font-family:var(--gp-type-family)!important;font-size:var(--gp-type-body)!important;line-height:1.65}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) *{font-family:inherit!important}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) :where(div,section,article,nav,form,ol,ul,details,span,b,strong,em,time,summary){font-size:inherit!important}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) :where(p,li,a,button,label,input,select,textarea,td){font-size:var(--gp-type-body)!important;line-height:1.65}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) :where(p,li,a,button,label,input,select,textarea,td) :where(span,b,strong,em){font-size:inherit!important}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) :where(h1,h2,h3,h4){font-family:var(--gp-type-family)!important;line-height:1.2;font-style:normal}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) h1{font-size:var(--gp-type-h1)!important;letter-spacing:-1.1px}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) h2{font-size:var(--gp-type-h2)!important;letter-spacing:-.7px}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) h3{font-size:var(--gp-type-h3)!important;letter-spacing:-.4px}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) h4{font-size:var(--gp-type-h4)!important;letter-spacing:-.2px}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) :is(small,.sub,.tiny,.chart-note,.eyebrow,.pill,.tag,.library-type,.file-progress,.paper-status,.post-category,.social-check,.notification-intro,.coach-info,.pico-disclosure,.pico-status,.pico-section-title>small,.pico-conversation>small,.pico-preferences,.pico-sprint small,.pico-sprint span,.xp-sync-line,.coach-footer,.coach-settings,.rank-command-main>div>small,.rank-command-main>div>p,.rank-command-main strong>span,.command-label,.command-hero-copy>small,.blueprint-top,.blueprint-target>span,.blueprint-line small,.blueprint-progress,.command-blueprint>p,.study-stat>small,.study-stat>span,.shortcut-no,.workspace-shortcuts small,.activity-legend,.contribution-months,.contribution-footer,.heat-year,.heat-legend,.heat-name,.exam-card>div>small,.exam-attempt-tag,.exam-chapter-card small,.league-season,.league-countdown>span,.league-countdown>small,.league-metrics span,.league-metrics small,.podium-card>span,.podium-card b small,.rank-number,.rank-number em,.community-author div>span,.post-actions button,.compose-footer>span,.badge-game-note,.badge-item>span,.badge-item>small,.badge-spotlight span,.badge-spotlight small,.chat-author time,.chat-branch,.chat-date,.chat-actions button,.chat-channel small,.chat-channel-label,.chat-space-brand small,.chat-rail-note p,.chat-rail-note a,.chat-rail-bottom,.chat-rail-bottom small,.chat-compose-footer small,.chat-compose-hint,.chat-main #chatComposer>small,.chat-main #chatOnline,.chat-main #chatConnection,.playlist-card .eyebrow,.playlist-lesson small,.playlist-player-intro,.playlist-timer small,.playlist-timer span,.playlist-disclaimer p,.playlist-workspace .chart-note,.admin-role,.admin-user-meta){font-size:var(--gp-type-support)!important;line-height:1.7}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) th{font-size:var(--gp-type-support)!important;line-height:1.6}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) .eyebrow{letter-spacing:1.2px;font-weight:650}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) .btn,:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) .link{font-size:var(--gp-type-body)!important;white-space:normal}
:is(#app,#studyDialog,#playlistDialog,#coachDialog,#badgeGallery,#communityDialog,#accountDialog,#planDialog,#infoDialog,.pico-dialog,.live-chat,.community-report-dialog,.admin-dashboard,.badge-unlock-dialog,#xpReward) .close{font-size:26px!important;line-height:1}
#app .command-hero h2{font-size:clamp(42px,4vw,54px)!important;line-height:1.08;letter-spacing:-1.5px}
#app .command-hero h2 em{font-family:inherit!important;font-style:normal;font-weight:500}
#app .blueprint-target>strong{font-size:56px!important;line-height:1.15}
#app .blueprint-target>strong>small{font-size:var(--gp-type-support)!important}
#app .blueprint-line>span{font-size:24px!important}
#app :is(.study-stat>strong,.kpi>strong,.league-metrics b,.podium-card>b,.paper-clock>b){font-size:32px!important;line-height:1.2}
#app .rank-command-main strong{font-size:24px!important}
#app .workspace-shortcuts b,#app .community-compose-head b{font-size:var(--gp-type-body)!important}
#app .post-title{font-size:22px!important;line-height:1.4}
#app .social-avatar{font-size:22px!important}
#app .social-avatar.small{font-size:16px!important}
#app .topic-marks b{font-size:24px!important}
#app .league-countdown b{font-size:32px!important}
#app .paper-year{font-size:24px!important}
#studyDialog .focus-time,#playlistDialog #videoClock,.pico-dialog #picoSprintClock{font-size:44px!important;line-height:1.2}
#studyDialog .reader-mini-clock{font-size:16px!important}
.pico-dialog .pico-next h3{font-size:22px!important}
.pico-dialog .pico-quest strong{font-size:16px!important}
.pico-dialog .pico-quest strong>small{font-size:14px!important}
#badgeGallery .badge-item b{font-size:16px!important}
#badgeGallery .badge-spotlight h3{font-size:28px!important}
#badgeGallery .badge-spotlight p{font-size:16px!important}
.live-chat .chat-header h2{font-size:20px!important}
.live-chat .chat-channel-heading>span,.live-chat #chatEmoji{font-size:26px!important}
.live-chat .chat-empty>span{font-size:34px!important}
.pico-dialog .pico-tool-tabs>button,.pico-dialog .pico-prompts>button{font-size:14px!important}
.pico-nudge{font-family:var(--gp-type-family);font-size:16px}.pico-nudge b,.pico-nudge p,.pico-nudge .link{font-size:16px}.pico-nudge .eyebrow{font-size:14px}.pico-dock>span{font-size:11px}#toast{font-family:var(--gp-type-family);font-size:16px}
/* Larger type needs room to wrap rather than a smaller mobile font. */
#app .command-hero-copy>p{max-width:440px}.command-hero .hero-actions{flex-wrap:wrap;gap:14px}.command-blueprint>p{line-height:1.8!important}.blueprint-top{gap:12px;flex-wrap:wrap;letter-spacing:.5px}.blueprint-progress{gap:10px;line-height:1.7}.rank-command-main{flex-wrap:wrap}.rank-command-main>.btn{margin-left:auto}.reward-command-top{flex-wrap:wrap}.reward-command-top .eyebrow{max-width:100%}.reward-command .coach-footer{flex-wrap:wrap;gap:12px}.xp-sync-line{flex-wrap:wrap}.xp-sync-line>span:nth-child(2){overflow-wrap:anywhere}.xp-sync-line>.link{margin-left:auto}.workspace-shortcuts{grid-template-columns:1fr}.workspace-shortcuts>button{border-right:0;border-bottom:1px solid #e1e9ee;padding:20px;gap:14px}.workspace-shortcuts>button:last-child{border:0}.study-stat{overflow-wrap:anywhere}.study-catalogue-tabs{flex-wrap:wrap}.study-catalogue-tabs>button{flex-wrap:wrap;gap:8px;padding:14px 18px}.study-catalogue-tabs>button>small{flex-basis:100%}.paper-actions .btn{white-space:normal}.activity-legend{flex-wrap:wrap}.contribution-footer{flex-wrap:wrap;gap:14px}.pico-dashboard-card{padding-right:115px}.pico-dashboard-card p{max-width:100%}.pico-dashboard-card h3{max-width:100%}.pico-dashboard-card .eyebrow{max-width:100%}.pico-mini-art{width:95px;height:95px;right:5px}.pico-dialog .pico-section-title{gap:10px;flex-wrap:wrap}.pico-dialog .pico-tool-tabs,.pico-dialog .pico-prompts{gap:8px;flex-wrap:wrap}.pico-dialog .pico-sprint{flex-wrap:wrap}.pico-dialog .pico-sprint>div:first-child{max-width:100%}.pico-dialog .pico-sprint>div:last-child{max-width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.pico-dialog .pico-quest{flex-wrap:wrap}.pico-dialog .pico-quest>div{min-width:160px}.pico-dialog .pico-quest>strong{margin-left:39px}.pico-dialog .pico-personal input{min-width:0}.badge-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.badge-item>.rank-art{width:115px;height:115px}.league-table td:nth-child(2){min-width:0}.league-table td:nth-child(2)>span{min-width:0}.league-table{white-space:normal}.league-table-scroll{overflow-x:auto}.chat-channel{overflow-wrap:anywhere}.chat-space-brand{flex-wrap:wrap}.live-chat #chatComposer{flex-shrink:0}.live-chat .chat-compose-footer{flex-wrap:wrap}.live-chat .chat-compose-hint{display:none}.live-chat .chat-date{margin:12px 0}.live-chat .chat-date>span{white-space:nowrap}.chat-main #chatComposer>small{line-height:1.6}.playlist-lesson>span{min-width:0}.playlist-workspace{min-width:0}.playlist-timer{flex-wrap:wrap;gap:15px}.playlist-timer>div{min-width:0}.playlist-card-body h3{overflow-wrap:anywhere}.compose-footer{flex-wrap:wrap}.community-author{flex-wrap:wrap}.community-author>div{min-width:0}.social-profile form{min-width:0}.community-sidebar{min-width:0}
@media(max-width:1100px){.command-hero{grid-template-columns:1fr}.command-blueprint{max-width:100%}.daily-command-grid{grid-template-columns:1fr}.pico-dashboard-card{padding-right:150px}.pico-mini-art{width:120px;height:120px}.command-blueprint>p{letter-spacing:.5px}.league-table th,.league-table td{padding-left:10px;padding-right:10px}}
@media(max-width:700px){:root{--gp-type-h1:32px;--gp-type-h2:26px;--gp-type-h3:22px;--gp-type-h4:18px}.command-blueprint{grid-template-columns:1fr}.blueprint-target,.blueprint-line,.blueprint-progress,.blueprint-top,.command-blueprint>p{grid-column:1!important}.blueprint-line{gap:25px}.command-blueprint>p>i{margin:0 3px}.study-stats{gap:10px}.study-stat{padding:18px 14px!important}.rank-command-main>.btn{width:100%}.rank-command-main>.rank-art{width:95px;height:95px}.pico-dashboard-card{padding:24px}.pico-mini-art{opacity:.2;width:110px;height:110px;top:20px;right:10px}.pico-dashboard-card>h3,.pico-dashboard-card>p,.pico-dashboard-card>.btn{position:relative}.badge-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-item>.rank-art{width:105px;height:105px}.badge-spotlight{flex-wrap:wrap;justify-content:center;text-align:center;padding:18px}.badge-spotlight>div{width:100%}.badge-spotlight>.rank-art{width:120px;height:120px}.pico-welcome{flex-wrap:wrap;justify-content:center;text-align:center}.pico-portrait{width:130px;height:140px}.pico-panel-head{gap:12px}.pico-next{padding:20px}.pico-dialog .pico-quest>div{min-width:130px}.pico-dialog .pico-quest strong{width:100%;text-align:left}.pico-dialog .pico-quest strong small{text-align:left}.pico-panel-body{padding-left:18px;padding-right:18px}.pico-tool-tabs>button{max-width:100%}.pico-personal .btn{flex-shrink:0}.pico-sprint{padding:18px}.playlist-lesson{gap:9px}.playlist-lesson>img{width:70px}.playlist-timer>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.compose-footer>label{white-space:normal;flex-wrap:wrap}.community-filterbar{flex-wrap:wrap}.community-filterbar select{max-width:100%}.league-table-scroll{overflow:visible}.league-table tr{grid-template-columns:28px repeat(2,minmax(0,1fr));gap:17px 10px;padding:17px 12px}.league-table td:nth-child(2){grid-column:2/-1}.league-table td:nth-child(3){grid-column:2}.league-table td:nth-child(4){grid-column:3}.league-table td:nth-child(5){grid-column:2}.league-table td:nth-child(6){grid-column:3}#app .league-table td[data-label]:before{font-size:14px!important;white-space:normal;line-height:1.5}.league-table .league-row-tier{width:39px;height:39px}.podium-card h3{overflow-wrap:anywhere}.podium-card>b{font-size:28px!important}.podium-card .rank-art{width:65px;height:65px}.chat-main #chatComposer>small{font-size:14px!important}.chat-mobile-channels small{display:none}.live-chat #chatMessage{height:62px}.live-chat .chat-author{flex-wrap:wrap}.live-chat .chat-actions{flex-wrap:wrap;opacity:1}.live-chat .chat-header{min-height:80px}.live-chat .chat-channel-heading>div{min-width:0}.live-chat .chat-header h2{font-size:18px!important}.live-chat .chat-branch{display:none}.live-chat .chat-pins summary{font-size:14px!important}.study-catalogue-tabs{width:100%}.study-catalogue-tabs>button{padding:14px 10px;flex:1;min-width:120px}.library-card{padding:20px!important}}
/* Restored roadmap banner, with the shared body/support scale. */
#app .hero h1{font-size:40px!important;line-height:1.1}#app .hero h1 em{font-family:inherit!important;font-style:normal}#app .hero .sub{font-size:16px!important;max-width:420px}#app .hero .ring{width:170px;height:170px}#app .hero .ring strong{font-size:34px!important}#app .hero .ring small{font-size:14px!important;line-height:1.5;max-width:140px;margin:4px auto 0}#app .hero .hero-stats b{font-size:24px!important}#app .hero .hero-stats small{font-size:14px!important;line-height:1.5}#app .hero .hero-goal{gap:24px}#app .hero .hero-actions{flex-wrap:wrap}#app .hero{gap:24px;padding:32px}#app .hero .hero-stats{min-width:120px}@media(max-width:1000px){#app .hero{grid-template-columns:1fr}#app .hero .hero-goal{position:relative;justify-content:flex-start;opacity:1;inset:auto;flex-wrap:wrap}#app .hero .hero-stats{display:grid}#app .hero .hero-actions{max-width:none}#app .hero .sub{max-width:100%}}@media(max-width:400px){#app .hero{padding:25px}#app .hero h1{font-size:35px!important}#app .hero .ring{width:155px;height:155px}#app .hero .ring strong{font-size:30px!important}#app .hero .hero-goal{gap:20px}#app .hero .hero-stats{grid-template-columns:1fr 1fr;width:100%}#app .hero .hero-stats small{overflow-wrap:anywhere}}

#xpReward .reward-amount{font-size:62px!important;line-height:1.2}#xpReward .reward-amount>span{font-size:28px!important}#xpReward .reward-total{font-size:14px!important}#xpReward .reward-total b{font-size:22px!important}#xpReward .reward-orbit>span{font-size:30px!important}#xpReward .reward-dismiss{font-size:26px!important}#xpReward{max-height:94dvh;overflow-y:auto}
#app .study-stat>strong>em{font-size:16px!important;line-height:1;white-space:nowrap;font-style:normal}#app .study-stat>strong{line-height:1.3;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}
#app .route-week{grid-template-columns:repeat(7,minmax(70px,1fr));overflow-x:auto;max-width:100%;min-width:0;padding-bottom:22px}#app .route-week button{min-width:0}#app .route-week span{font-size:14px!important;line-height:1.5}#app .route-week b{font-size:22px!important}#app .tabs,#app .exam-tabs{flex-wrap:wrap}#app .route-week-head{gap:12px;flex-wrap:wrap}
/* Keep the mock catalogue's larger labels inside narrow cards. */
#app .exam-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#app .exam-hero>div{min-width:0}#app .exam-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#app .exam-hero-stats b{min-width:0;overflow-wrap:anywhere}#app .exam-card{grid-template-columns:65px minmax(0,1fr)}#app .exam-card>div{min-width:0}
@media(max-width:700px){#app .exam-hero{grid-template-columns:minmax(0,1fr)}#app .exam-hero-stats{gap:10px}#app .exam-hero-stats b{padding:14px 10px}#app .exam-hero-stats span{letter-spacing:0}}

/* The workspace fits the viewport; only messages and the channel rail scroll. */
.live-chat[open]{display:block;height:min(94dvh,980px);max-height:94dvh;overflow:hidden}.live-chat .chat-workspace{height:100%;max-height:100%;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.live-chat .chat-main{height:100%;min-height:0;overflow:hidden}.live-chat .chat-channel-rail{min-height:0;overflow-y:auto}.live-chat .chat-mobile-channels,.live-chat .chat-search{flex-shrink:0}.live-chat .chat-stream{flex:1 1 0;min-height:0;overflow-y:auto}.live-chat .chat-header h2{overflow-wrap:anywhere}.live-chat .chat-compose-footer .btn{margin-left:auto}.notification-delivery{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;font-size:14px;color:#547487}.coach-notice{max-height:calc(100dvh - 100px);overflow-y:auto;font-family:var(--gp-type-family)}.coach-notice>div{flex-wrap:wrap}.pico-nudge{max-height:calc(100dvh - 120px);overflow-y:auto}
@media(max-width:700px){.live-chat[open]{height:100dvh;max-height:100dvh}.live-chat .chat-header{min-height:65px}.live-chat .chat-main #chatComposer>small{font-size:12px!important;line-height:1.4}.live-chat .chat-compose-footer{gap:8px}.live-chat .chat-compose-footer small{font-size:12px!important}.live-chat .chat-compose-footer .btn{padding:9px 12px}.live-chat #chatMessage{height:52px}}
@media(max-height:760px) and (min-width:701px){.live-chat .chat-rail-note{display:none}.live-chat .chat-header{min-height:65px;padding:10px 20px}}

.reward-tier-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.reward-tier-path article{display:grid;justify-items:center;text-align:center;padding:15px 10px;background:#fff;border:1px solid #dce6ed;border-radius:15px;gap:8px;opacity:.55}.reward-tier-path article.earned{opacity:1;background:#edf6f1;border-color:#7cae9b}.reward-tier-path img{width:80px;height:80px}.reward-tier-path small{font-size:14px}@media(max-width:600px){.reward-tier-path{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reward explanations and verified weekly contributions share the app type scale. */
.xp-rule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.xp-rule-cards article{position:relative;padding:24px;border:1px solid #d7e4ec;border-radius:18px;background:linear-gradient(145deg,#fff,#f3f8fa)}#coachDialog .xp-rule-cards article>b{display:block;color:#185246;font-size:32px!important;margin:12px 0}#coachDialog .xp-rule-cards .reward-rule-kicker{font-size:14px!important;font-weight:700;letter-spacing:1px;color:#607a88}.xp-rule-cards h4{margin:0 0 10px}.xp-rule-cards p{font-size:16px!important;line-height:1.65;margin:0}.contributor-list{list-style:none;counter-reset:contributors;padding:0;margin:20px 0 0;display:grid;gap:0}.contributor-list li{counter-increment:contributors;display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #e0e8ed}.contributor-list li:before{content:counter(contributors,decimal-leading-zero);font-weight:700;color:#6f8895;font-size:18px}.contributor-list li>b{overflow-wrap:anywhere;min-width:0}.contributor-list li>span{margin-left:auto;color:#547487;font-size:14px;text-align:right}.contributor-list li:first-child:before{color:#a87a22}.contributor-list li:first-child>b{color:#185246}@media(max-width:600px){.xp-rule-cards{grid-template-columns:minmax(0,1fr)}.xp-rule-cards article{padding:20px}.contributor-list li{flex-wrap:wrap;gap:8px 12px}.contributor-list li>span{flex-basis:100%;margin-left:33px;text-align:left}}
