/* Personal preferences win over component/layout and optional club weight overrides.
   Keep colour, size, spacing, icons and hidden states owned by their existing rules. */
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker){font-family:var(--personal-font)!important;font-weight:var(--personal-weight)!important}
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :where(*){font-weight:var(--personal-weight)!important}
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :is(h1,h2,h3,h4,h5,h6,strong,b,th,dt),
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :is(h1,h2,h3,h4,h5,h6,strong,b,th,dt) :where(*){font-weight:var(--personal-emphasis)!important}
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :is(button,input,select,textarea,.button,.nav-btn,.detail-tab),
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :is(button,.button,.nav-btn,.detail-tab) :where(*){font-weight:var(--personal-control-weight)!important}
html:root[data-personal-typography][data-personal-typography][data-personal-typography] body :is(#app-screen,#modal-root,#bottom-nav,#toast-container,dialog,.modern-picker) :is(button,input,select,textarea,.button,.nav-btn,.detail-tab){font-family:var(--personal-font)!important}
.personal-typography{margin-top:1rem}
.personal-typography header p,.personal-type-note{color:var(--muted);line-height:1.6;font-size:.82rem}
.personal-type-presets,.personal-type-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}
.personal-type-presets [aria-pressed="true"]{border-color:var(--club-control-border);box-shadow:inset 0 0 0 1px var(--club-control-border);background:var(--club-subtle-gradient)}
.personal-type-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.personal-type-fields label{display:grid;gap:.4rem;min-width:0;font-size:.82rem;color:var(--muted)}
.personal-type-fields .select{width:100%;min-width:0;min-height:44px}
.personal-type-sample{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface)}
.personal-type-sample h4{margin:0 0 .5rem}.personal-type-sample p{line-height:1.6;margin:.35rem 0}
.personal-type-status{font-size:.8rem;color:var(--muted);line-height:1.5}
@media(max-width:760px){.personal-type-fields{grid-template-columns:1fr}.personal-type-actions>button{flex:1 1 12rem}}
