/* Shared product hierarchy. The future assistant has no visible control yet. */
.mobile-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.platform-page .mini-app-launch__intro { min-height:0; padding-block:0 1.25rem; gap:1.5rem; }
.platform-page .mini-app-launch__intro figure img { max-height:12rem; object-fit:cover; }
.platform-page .num-start, .platform-page .astro-form-section { padding-block:1.25rem 2rem; }
.focus-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.home-more.home-more--focused { grid-template-columns:repeat(2,minmax(0,1fr)); }
.focus-heading { max-width:50rem; margin-bottom:1.75rem; }
.focus-heading h1 { margin:0 0 1rem; font-size:var(--type-display); line-height:1.15; }
.focus-heading p:not(.eyebrow) { color:var(--ivory-muted); line-height:1.7; }
.focus-empty p { color:var(--ivory); line-height:1.7; }
.focus-apps, .focus-specialists { padding-block:clamp(1.5rem,4vw,3rem); }
.focus-app-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.focus-app-card { overflow:hidden; min-width:0; border:1px solid var(--line); border-radius:.75rem; color:var(--ivory); background:var(--coal); text-decoration:none; }
.focus-app-card img { display:block; width:100%; height:11rem; object-fit:cover; }
.focus-app-card > div { padding:1.2rem; }
.focus-app-card h2 { margin:0 0 .75rem; font-size:var(--type-card); overflow-wrap:anywhere; }
.focus-app-card p { margin:0 0 1rem; color:var(--ivory); font-size:.9em; line-height:1.65; }
.focus-app-card span { display:block; color:var(--gold-light); font-size:.85em; }
.focus-secondary-actions { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-block:1rem; }
.focus-secondary-actions a { display:inline-flex; align-items:center; min-height:44px; color:var(--ivory); text-underline-offset:.3em; }
.focus-app-card:hover { border-color:var(--gold); }
.focus-app-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.focus-app-options details, .focus-guide { min-width:0; }
.focus-app-options summary, .focus-guide > summary { min-height:44px; padding:.7rem 0; cursor:pointer; color:var(--ivory); }
.focus-app-options ul { padding-left:1.1rem; line-height:1.7; }
.focus-app-options li { margin-block:.6rem; }
.focus-guide { margin-block:1rem 3rem; }
.focus-guide .practice-guide { width:100%; padding-inline:0; }
.focus-empty { max-width:50rem; margin:2rem 0; padding:1.5rem; background:var(--coal); border:1px solid var(--line); border-radius:.75rem; }
.focus-empty h2 { margin:0 0 .75rem; font-size:var(--type-section); }
.reading-tabs { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding-block:.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--line); }
.reading-tabs a { display:inline-flex; align-items:center; min-height:44px; color:var(--ivory-muted); text-underline-offset:.3em; }
.reading-tabs a[aria-current="page"] { color:var(--ivory); text-decoration-thickness:2px; }
.focus-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.focus-settings section { min-width:0; padding:1.25rem; border:1px solid var(--line); border-radius:.6rem; }
.focus-settings h2 { margin:0 0 .75rem; font-size:var(--type-card); }
.focus-settings a { display:block; min-height:44px; padding-block:.5rem; color:var(--ivory); overflow-wrap:anywhere; }
.focus-settings-nav { border-top:1px solid var(--line-soft); margin-top:1rem; }
.focus-settings-nav summary { cursor:pointer; padding:.75rem 0; color:var(--ivory-muted); }
.account-heading--dashboard ~ .account-panel { margin-block:1rem; padding:1.25rem; border-radius:.75rem; }
.account-heading--dashboard ~ .account-panel > header { margin-bottom:1rem; }
.account-heading--dashboard ~ .account-panel h2 { margin-block:0 .5rem; font-size:var(--type-card); line-height:1.3; }
.account-heading--dashboard ~ .account-panel p { line-height:1.7; }
.focus-module-filter { display:flex; gap:.6rem; align-items:end; flex-wrap:wrap; margin-block:1rem; }
.focus-module-filter label { display:grid; gap:.4rem; }
.focus-module-filter select, .focus-module-filter button { min-height:44px; padding:.6rem; color:var(--ivory); background:var(--coal); border:1px solid var(--line); border-radius:.3rem; font:inherit; }
.focus-module-filter option { color:var(--ivory); background:var(--ink); }
.focus-module-filter button { cursor:pointer; }
.focus-apps a:focus-visible, .focus-guide :focus-visible, .focus-specialists a:focus-visible, .reading-tabs a:focus-visible, .focus-settings a:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
@media(max-width:1000px) { .focus-app-grid,.focus-app-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .home-more.home-more--focused,.focus-settings { grid-template-columns:1fr; } .platform-page .mini-app-launch__intro figure { display:none; } }
@media(max-width:920px) { .mobile-nav { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:359px) { .focus-app-grid,.focus-app-options { grid-template-columns:1fr; } }
body[data-text-scale="large"] .focus-apps, body[data-text-scale="large"] .focus-specialists, body[data-text-scale="large"] .reading-tabs { font-size:1.125rem; }
