/* Ascend: readable, task-focused interface. Chat keeps its dedicated layout. */
:root { font-size:16px; --muted:#52616d; --line:#dce5eb; --bg:#f5f7f9; }
body { line-height:1.55; }
a, button, summary { -webkit-tap-highlight-color:transparent; }
.skip-link { z-index:200; }
:focus-visible { outline:3px solid #07658a; outline-offset:3px; }
p, .profile-record p { font-size:1rem; line-height:1.7; }
h1 { font-size:clamp(1.8rem,3vw,2.4rem); line-height:1.2; }
h2 { font-size:1.35rem; line-height:1.35; }
h3 { font-size:1.1rem; }
label { font-size:1rem; }
.helptext, .errorlist { font-size:.9rem; }
.errorlist { padding:12px 16px; background:#fff1f2; border-radius:10px; }
button, .button { min-height:44px; }
input, select, textarea { max-width:100%; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea { font-size:1rem; }
.eyebrow { font-size:.72rem; letter-spacing:.09em; }
.topbar .topbar-inner { max-width:1320px; gap:16px; }
.topbar .nav-item { min-height:48px; border-radius:10px; border-bottom:0; padding:10px 12px; }
.topbar a[aria-current=page] { background:var(--sky-light); color:var(--blue); }
.brand { letter-spacing:-1.2px; }
.nav-dropdown .nav-menu-trigger { font-size:.94rem; }
.nav-avatar { width:32px; height:32px; flex-shrink:0; }
body:not(.chat-page) .workspace, body:not(.chat-page) .workspace.profile-workspace { width:100%; max-width:1280px; grid-template-columns:230px minmax(0,1fr); padding:0 24px; gap:24px; margin:28px auto; }
body:not(.chat-page) main { padding:30px; box-shadow:none; }
body:not(.chat-page) main.home-page { padding:0; }
body:not(.chat-page) .profile-cover { margin:-30px -30px 64px; }
.rail-menu { padding:14px; }
.rail-menu a { padding:12px; min-height:46px; font-size:.94rem; border-radius:8px; border:0; }
.rail-menu a:hover, .rail-menu a[aria-current=page] { background:var(--sky-light); text-decoration:none; }
.rail-menu a span { display:none; }
.identity-body strong { font-size:1.1rem; }
.identity-body p { font-size:.88rem; margin-bottom:8px; }
.pill { font-size:.8rem; }
.profile-actions { gap:10px; }
.profile-actions a { display:inline-flex; align-items:center; min-height:44px; padding:9px 14px; font-size:.9rem; }
.profile-actions a:hover { background:var(--sky-light); text-decoration:none; }
.profile-record:before, main>article:before { display:none; }
.profile-record, main>article { padding:22px; }
.profile-record a { font-size:.95rem; }
section { padding-top:22px; margin-top:26px; }
.dashboard-stats p { font-size:.9rem; }
.site-footer { max-width:1232px; margin:24px auto; padding:12px 24px; display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; font-size:.88rem; color:var(--muted); }
.chat-page .site-footer { display:none; }
.public-page .left-rail { display:none; }
body.public-page .workspace { display:block; max-width:980px; }
body.public-page .workspace:has(.landing-main) { max-width:1240px; }
.public-page .rail-footer { display:none; }
.landing { padding:12px 0; }
.landing-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:center; gap:48px; padding:48px; background:white; border:1px solid var(--line); border-radius:22px; }
.landing h1 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.04em; max-width:640px; margin:20px 0; }
.landing h1 span { color:#087a9e; }
.landing-intro > div > p { max-width:580px; }
.landing-process { padding:26px; border-radius:16px; background:#f0f9fc; }
.landing-process ol { padding-left:22px; margin-bottom:0; }
.landing-process li { padding:8px 0 8px 6px; }
.landing-process li::marker { color:var(--blue); font-weight:700; }
.landing-process p { font-size:.9rem; margin:5px 0; }
.landing-roles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.landing-roles article { padding:30px; border:1px solid var(--line); border-radius:18px; background:white; }
.role-label { color:var(--blue); font-size:.76rem; font-weight:700; letter-spacing:.08em; }
.landing-roles a { display:inline-flex; gap:12px; align-items:center; min-height:44px; font-weight:600; }
.landing-note { text-align:center; }
.help-topics { margin-top:24px; }
.help-topics details { border:1px solid var(--line); border-radius:12px; margin:12px 0; padding:16px 20px; }
.help-topics summary { cursor:pointer; font-weight:600; min-height:32px; }
.help-topics li { margin:12px 0; }
.reading-settings { background:var(--sky-light); border:0; border-radius:14px; padding:20px; }
.reading-options button { font-size:1rem; }
.feed-page-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.feed-page-heading h1 { margin:0; font-size:1.8rem; }
.feed-page-heading p { margin:4px 0 0; }
.feed-toolbar a { min-height:44px; display:inline-flex; align-items:center; }
.feed-toolbar a[aria-current=page] { font-weight:700; color:var(--ink); }
.feed-actions a, .feed-actions button { min-height:44px; font-size:.9rem; }
.feed-author p { font-size:.82rem; }
.password-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.password-field .password-toggle { font-size:.85rem; padding:10px 12px; background:var(--sky-light); color:var(--blue); border-radius:9px; }
.page-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.plan-card { border:1px solid var(--line); padding:24px; border-radius:16px; min-width:0; }
.plan-card h3 { font-size:1.5rem; }
.plan-card small { font-size:.85rem; }
.plan-card form { margin:16px 0; }
.plan-card button { width:100%; }
.plan-card .plan-trial { background:none; color:var(--blue); text-decoration:underline; padding:4px 0; font-size:.85rem; }
.plan-grid + section { margin-top:30px; }
@media(max-width:1000px) { body:not(.chat-page) .workspace, body:not(.chat-page) .workspace.profile-workspace { grid-template-columns:200px minmax(0,1fr); gap:18px; } .landing-intro { gap:24px; padding:32px; } .plan-grid { grid-template-columns:1fr; } }
@media(max-width:750px) { body:not(.chat-page) .workspace, body:not(.chat-page) .workspace.profile-workspace { display:block; padding:0 12px; margin:18px auto; } body:not(.chat-page) main { padding:22px; } body:not(.chat-page) .profile-cover { margin:-22px -22px 62px; } .topbar .topbar-inner { padding:12px 16px; gap:4px; } .topbar .top-nav { gap:0; justify-content:flex-start; } .topbar .nav-item { padding:10px 8px; font-size:.9rem; } .nav-dropdown .nav-menu-trigger { font-size:.9rem; padding:10px 8px; } .nav-avatar { display:grid; width:28px; height:28px; } .landing-intro, .landing-roles { grid-template-columns:1fr; } .landing-intro { padding:26px; gap:20px; } .landing-process { padding:20px; } .landing-roles article { padding:24px; } .site-footer { margin:14px 0; padding:16px; } .help-topics details { padding:16px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }

.connection-history, .purchase-history, .specialty-filter { margin:24px 0; border:1px solid var(--line); border-radius:12px; padding:16px; }
.connection-history > summary, .purchase-history > summary, .specialty-filter > summary { cursor:pointer; font-weight:600; min-height:32px; }

.profile-record h2 a, .profile-record h3 a { font-size:inherit; }
@media(max-width:750px) {
 .topbar-inner { position:relative; }
 .top-nav > .nav-dropdown:last-child { position:absolute; right:12px; top:10px; }
 .top-nav > .nav-dropdown:last-child .nav-dropdown-panel { top:66px; }
 .top-nav > .nav-dropdown:not(:last-child) .nav-dropdown-panel { top:116px; }
 .topbar .top-nav { margin-top:6px; }
}
