/* Larger readable type without changing the page grid, card widths or dock size. */
:root{--muted:#596754}
body{font-size:18px;line-height:1.8}
p{overflow-wrap:anywhere}
/* Text scales by role; compact navigation keeps its existing footprint. */
.intro p,.community-heading p,.welcome p,.panel p,.registration-card .description,.quote p,.campaign p,.royal-dedication,.ranking-explainer p,.personal-challenge>p,.participant-panel p{font-size:16px;line-height:1.8;color:#596754}
.campaign p{color:#e1e9df}.royal-dedication{color:#6e5a34}
label,legend,.card-top span:first-child,.session strong,.participant-panel strong,.type-card strong,.stats h3,.history h3{font-size:16px;line-height:1.65}
button,.primary,.outline,.join-challenge,.challenge-button,.continue,.submit-registration,.participant-panel a,.panel-head a,.branch-drill{font-size:16px;line-height:1.6}
input,select,textarea,.participant-panel select,.period-label select,.ranking-tools input,.ranking-tools select,#branch-query,#registration-branch,.name-fields input{font-size:17px;line-height:1.6;min-width:0;max-width:100%}
.hint,.notice,.local-note,.prototype,.aside-note,.welcome-note,.community-notice,.ranking-rule,.ranking-context,.challenge-note,.timer-caption,.meditation .sub,.date,.stats-foot,footer,.royal-source,.existing-member,.type-card small,.session small,.stat small,.community-stats small,.goal-caption,.podium-card small,.ranking-table td:nth-child(2) small,.ritual small,.selected-branch,#subtitle,#status,#registration-error,.personal-challenge .challenge-note{font-size:15px;line-height:1.65;color:#606b55}
.community-stats small,.community-stats article>span:not(.stat-symbol),.metrics span,.metrics small,.stat span{font-size:15px;line-height:1.65;color:#606b55}
.community-stats .total-stat>span,.community-stats .total-stat small,.total-stat .goal-caption{color:#e1ead9}
.eyebrow,.pill,.badge,.local-badge,.period-label,.ranking-tools label,.royal-copy .eyebrow,.campaign .eyebrow{font-size:13px;line-height:1.6}
.eyebrow{letter-spacing:1px}.campaign .eyebrow{color:#ecd8a8}
.brand small{font-size:12px;letter-spacing:1px}body>header nav a{font-size:15px}
.ranking-tabs button{font-size:15px;white-space:normal;line-height:1.5;min-height:44px}
.ranking-tabs{flex-wrap:wrap}.ranking-tabs button{flex:1 1 110px}
.ranking-title h3,.personal-challenge h3,.meditation h2,.quote h2,.registration-card h2{font-size:25px}
h2,.panel h2{font-size:23px}.ranking-explainer h3{font-size:19px}
.podium-card h4{font-size:15px;line-height:1.6;min-height:48px}
.podium-rank{font-size:13px;color:#76602d}.ranking-empty{font-size:16px}.ranking-more{font-size:16px}
.ranking-table,.ranking-table th,.ranking-table td:nth-child(3),table,th,td{font-size:16px;line-height:1.7}
.ranking-table td:first-child,.ranking-table td:last-child{font-size:18px}
.ranking-table td:nth-child(2){min-width:140px}.ranking-table th{white-space:nowrap}
.ranking-table-wrap,.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.ranking-table th,.ranking-table td{padding:12px 7px}.ranking-table td:nth-child(2) small{font-size:14px}
.my-standing{font-size:16px}.entry{font-size:16px;gap:12px}.entry span{font-size:15px}.empty{font-size:16px}
.royal-name{font-size:19px;line-height:1.9}.royal-project{font-size:21px}
.royal-hero,.royal-copy,.ranking-title>div,.panel-head>*,.heading>div,.participant-panel>*,.type-card>span{min-width:0}
.community-heading,.heading,.panel-head,.ranking-title,.card-top,.stats-foot,.goal-caption{flex-wrap:wrap}
.community-heading>div{flex:1;min-width:220px}.goal-caption{row-gap:3px}
.type-card{align-items:flex-start}.type-card input{margin-top:5px}
.timer-caption{max-width:170px;font-size:14px;line-height:1.5}
.session small{font-size:14px}.session{padding:12px 5px}.history-list{max-height:210px}
.ranking-tools{flex-wrap:wrap}.ranking-tools>input{flex:1 1 180px}.ranking-tools label{width:100%;max-width:100%}.ranking-tools select{max-width:100%;flex:1}
.period-label select{max-width:180px}#registration-branch{height:190px}
nav:not(.app-dock) button{font-size:15px;white-space:normal}
.app-dock a{font-size:14px;line-height:1.35;gap:3px;color:#52664c}
.app-dock .dock-label{white-space:nowrap}.app-dock .dock-primary{gap:3px}
@media(max-width:800px){
 .royal-name{font-size:17px}.royal-project{font-size:19px}
 .community-heading h2,.intro h1{font-size:28px}
 .aside .campaign h2{font-size:23px}
 .registration-card h2{font-size:25px}
 body>header nav{gap:16px}body>header nav a{font-size:14px}
}
@media(max-width:550px){
 body{font-size:17px}
 .community-stats article>span:not(.stat-symbol),.community-stats small,.goal-caption{font-size:14px}
 .community-stats .total-stat strong{font-size:clamp(25px,6.5vw,34px)}
 .ranking-title h3{font-size:23px}.ranking-tabs button{flex-basis:40%;font-size:15px}
 .podium-card h4{font-size:14px;min-height:45px}.podium-card small{font-size:13px}
 .ranking-table,.ranking-table th,.ranking-table td:nth-child(3){font-size:15px}
 .royal-name{font-size:16px}.royal-copy .eyebrow{font-size:14px}.royal-dedication{font-size:16px}
 .session strong{font-size:15px}.session small{font-size:13px}
 .pill{font-size:12px}.card-top{gap:6px}.card-top span:first-child{font-size:16px}
 .intro p{font-size:16px}
 .type-card strong{font-size:16px}.type-card small{font-size:14px}
 .app-dock a{font-size:13px;line-height:1.35;gap:3px}
 .app-dock .dock-primary{gap:2px}
 .participant-panel a{white-space:normal}
 .entry{flex-wrap:wrap;gap:3px}.panel-head input{width:100%}
}
.daily-limit{font-family:var(--font-ui);font-size:16px;line-height:1.7;padding:10px 12px;margin:17px 0 6px;border-radius:10px;background:#fff3cb;color:#634e20}
