/* UI type scale; world-space map labels retain their LOD geometry. */
:root{--type-meta:12px;--type-control:14px;--type-body:15px;--ink-secondary:#71756a}
.primary-nav a,.product-page button,.map-toolbar button,.map-route-picker,.mode-switch button,.goal-filters button{font-size:var(--type-control)}
.overline,.index,.goal-status,.goal-card p,.goal-progress-label,.goal-progress-label strong,.goal-card-actions button,.preview-heading,.preview-footer>span,.focus-number>span,.focus-stats span,.next-cards>button>span:last-child,.home-goal-row strong,.profile-local,.collection-count,.map-card-top .overline,.space-map-card time,.map-card-footer time,.space-life .space-activity time,.activity-kind,.profile-learning-totals span,.rhythm-total small,.rhythm-total span,.rhythm-caption,.rhythm-row>time,.recent-heading>span,.older-activity,.older-activity time,.space-counts>span,.space-archive>summary{font-size:var(--type-meta);color:var(--ink-secondary)}
.product-page .empty-copy,.product-page .empty-state p,.goal-field-help,.product-field,.activate-goal,.target-heading,.target-option,.space-dialog p,.space-dialog label,#data-dialog p,#data-dialog label,#goal-dialog p{font-size:14px;line-height:1.6}
.home-goal-row,.product-section-heading button,.text-link,.next-cards>button>span:last-child,.goal-card-actions button,.space-card-actions button,.space-collection .space-card-actions button,.collection-toolbar>button,.collection-toolbar .space-search input,.profile-heading-tools button,.recent-heading h3,.space-life .space-activity strong{font-size:14px;line-height:1.5}
body[data-view=map] .map-status label,body[data-view=map] .map-status output,.legend,#map-relations .local-map>label,.mini-heading button,.edit-status,.map-toolbar .map-route-menu button{font-size:12px;line-height:1.5}.legend{opacity:1;color:var(--ink-secondary)}
#inspector p,#map-selection p,#inspector .direction-list button,#map-selection .direction-list button{font-size:14px;line-height:1.65}#inspector .note,#map-selection .note{font-size:12px!important}#inspector h3,#map-selection h3{font-size:15px}
#goal-dialog .dialog-footer button,#data-dialog .dialog-footer button,.space-dialog button,.map-route-menu .route-menu-row{font-size:14px}
.space-section-title .solid-button,.space-collection .space-card-actions button,.space-toolbar button{font-size:14px}.space-counts b{font-size:16px}.mastery-scale{margin-top:2px}
/* Each home column shares the grid row height, including wide screens. */
.home-grid{align-items:stretch}.map-preview-frame{height:auto;align-self:stretch}.map-preview-frame .map-preview{height:100%;min-height:380px}.home-focus{height:100%;box-sizing:border-box}.home-grid{overflow:hidden}
@media(min-width:1600px){.map-preview-frame .map-preview{height:100%;min-height:405px}}
.space-collection .space-map-card{grid-template-columns:minmax(0,1fr) 92px;gap:28px}.map-card-top .overline{letter-spacing:.06em}.map-card-top .overline:empty{display:none}.map-card-top .map-manage-button{margin-left:auto}.map-card-top .overline:not(:empty){display:inline-flex;align-items:center;gap:8px}.map-card-top .overline:not(:empty):before{content:'';width:5px;height:5px;border-radius:50%;background:#999b96}.space-map-card.is-current .map-card-top .overline:not(:empty):before{background:#e9582d}
@media(max-width:1050px){.space-collection .space-map-card{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.primary-nav a{font-size:13px}.map-preview-frame .map-preview{min-height:360px}.home-focus{height:auto}.space-card-actions button{min-height:36px}.rhythm-caption{min-height:38px}}
[aria-busy=true]{cursor:progress;opacity:.6}
