/* Shared foundations and page shells. Brand values live in tokens.css. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-margin);font-family:var(--font-ui);color:var(--ink-900);background:var(--canvas);font-size:var(--font-public);line-height:var(--line-height-body);font-synthesis:none}
body{margin:0;min-width:0;font-weight:var(--weight-400);font-variant-numeric:var(--tabular-numbers)}
a{color:var(--cobalt-600);text-underline-offset:var(--space-4)}
a:hover{color:var(--cobalt-700)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}
button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:var(--sidebar-muted-opacity)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:var(--focus-width) solid var(--cobalt-600);outline-offset:var(--focus-offset)}
h1,h2,h3,h4,p,dl,figure{margin:0}
h1,h2,h3,h4{font-family:var(--font-display-family);font-weight:var(--weight-600);letter-spacing:var(--tracking-title);line-height:var(--line-height-heading);color:var(--ink-900)}
h1{font-size:var(--font-size-32)}h2{font-size:var(--font-size-24)}h3{font-size:var(--font-size-16)}
p{color:var(--ink-500)}p+p{margin-top:var(--space-12)}strong,b{font-weight:var(--weight-600)}
img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}.icon{width:var(--icon-size);height:var(--icon-size);fill:none;stroke-width:var(--icon-stroke)}
.wrap{width:100%;max-width:var(--marketing-measure);margin-inline:auto;padding-inline:var(--space-32)}
.skip{position:fixed;left:var(--space-16);top:0;transform:translateY(-200%);z-index:var(--skip-layer);padding:var(--space-12) var(--space-16);background:var(--surface);color:var(--cobalt-600);border:var(--border-width) solid var(--cobalt-600)}.skip:focus{transform:translateY(var(--space-8))}
.sr-only{position:absolute;width:var(--border-width);height:var(--border-width);padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[hidden]{display:none!important}
.eyebrow{font-family:var(--font-ui);font-size:var(--font-label);font-weight:var(--weight-600);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--cobalt-600);margin-bottom:var(--space-12)}
.fine{font-size:var(--font-size-12);line-height:var(--line-height-body);color:var(--ink-500)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-8);color:var(--cobalt-600);font-size:var(--font-size-13);font-weight:var(--weight-500);text-decoration:none}.text-link:hover{text-decoration:underline}
.site-head{position:sticky;top:0;z-index:var(--header-layer);background:var(--canvas);border-bottom:var(--border-width) solid var(--line)}
.nav{display:flex;align-items:center;gap:var(--space-32);min-height:var(--header-height)}
.brand{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-display-family);font-size:var(--brand-type-size);font-weight:var(--weight-600);letter-spacing:var(--tracking-display);text-decoration:none;color:var(--ink-900);white-space:nowrap}
.brand:hover{color:var(--ink-900)}.brand-symbol{width:var(--brand-width);height:var(--brand-height);object-fit:contain;flex:none}.brand-light{font-weight:var(--weight-600);color:var(--cobalt-600)}
.nav-links{display:flex;align-items:center;gap:var(--space-24);margin-left:auto}.nav-links>a{font-size:var(--font-size-13);font-weight:var(--weight-500);letter-spacing:normal;text-transform:none;color:var(--ink-700);text-decoration:none}.nav-links>a:hover{color:var(--cobalt-600)}
.nav-account{display:flex;align-items:center;gap:var(--space-24)}.nav-account form{margin:0}.sign-in-link{font-size:var(--font-size-13);font-weight:var(--weight-500);letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--ink-900)}
.menu-toggle{display:none!important}.back-to-site{margin-left:auto}
.footer{border-top:var(--border-width) solid var(--line);background:var(--surface);padding-block:var(--space-32)}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:var(--space-24);align-items:center}.footer-brand .brand{font-size:var(--font-size-16);gap:0}.footer-brand p{font-size:var(--font-size-12);margin-top:var(--space-8)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-24);align-items:center}.footer-links>a{font-size:var(--font-size-12);color:var(--ink-500);text-decoration:none}.footer-links>a:hover{color:var(--cobalt-600)}.copyright{grid-column:1/-1;font-size:var(--font-size-12);padding-top:var(--space-16);border-top:var(--border-width) solid var(--line)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-16)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-24);margin-bottom:var(--space-24)}.section-head p{margin-top:var(--space-8)}.breadcrumb{font-family:var(--font-mono);font-size:var(--font-size-12);color:var(--ink-500);margin-bottom:var(--space-16)}.breadcrumb a{color:var(--ink-500);text-decoration:none}.document-page{padding-block:var(--space-48);max-width:var(--form-measure);min-height:60vh}.document-page>h1{margin-bottom:var(--space-24)}.document-page>p{white-space:pre-line;margin-bottom:var(--space-16)}.document-page h2{margin-block:var(--space-24) var(--space-12)}.preserve-lines{white-space:pre-line}.mono,code{font-family:var(--font-mono);font-size:var(--font-size-12)}
/* The application has its own navigation, independent of marketing pages. */
.app-site{font-size:var(--font-workspace);background:var(--canvas)}.app-layout{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--sidebar-layer);width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--ink-900);color:var(--surface);padding:var(--space-24) var(--space-16);overflow-y:auto;transition:width var(--transition-ui),transform var(--transition-ui)}
.sidebar-brand{min-height:var(--space-48);gap:var(--space-8);color:var(--surface);font-size:var(--font-size-13);margin-bottom:var(--space-16)}.sidebar-brand:hover{color:var(--surface)}.workspace-brand-mark{display:flex;align-items:baseline;justify-content:center;flex:none;width:var(--avatar-size);font-size:var(--font-size-24);font-weight:var(--weight-600);letter-spacing:var(--tracking-display);color:var(--surface)}.workspace-brand-mark>span{color:var(--cobalt-400)}
.workspace-label{font-size:var(--font-size-12);color:var(--surface);opacity:var(--sidebar-muted-opacity);padding:var(--space-8) var(--space-8) var(--space-24)}
.sidebar nav{display:grid;gap:var(--space-4)}.sidebar nav>a,.sidebar-site-link{min-height:var(--button-height);padding:var(--space-8) var(--space-12);display:flex;align-items:center;gap:var(--space-12);border-radius:0;position:relative;color:var(--surface);text-decoration:none;font-size:var(--font-size-13)}.sidebar nav>a:not([aria-current]),.sidebar-site-link{opacity:var(--sidebar-muted-opacity)}.sidebar nav>a:hover,.sidebar-site-link:hover{background:var(--ink-700);color:var(--surface);opacity:1}.sidebar nav>a[aria-current]{background:transparent;font-weight:var(--weight-600)}.sidebar nav>a[aria-current]:before{content:'';position:absolute;inset:var(--space-8) auto var(--space-8) 0;width:var(--nav-indicator-width);background:var(--cobalt-600);border-radius:var(--radius-pill)}.nav-group-label{font-family:var(--font-mono);font-size:var(--font-size-12);letter-spacing:var(--tracking-table);color:var(--surface);opacity:var(--sidebar-muted-opacity);padding:var(--space-24) var(--space-12) var(--space-8)}.sidebar-bottom{margin-top:auto;padding-top:var(--space-32)}.sidebar-account{display:flex;align-items:center;gap:var(--space-8);border-top:var(--border-width) solid var(--ink-700);padding-top:var(--space-16);margin-top:var(--space-16)}.account-initial{display:grid;place-items:center;width:var(--avatar-size);height:var(--avatar-size);flex:none;background:var(--cobalt-50);border-radius:var(--radius-pill);color:var(--cobalt-700);font-size:var(--font-size-12);font-weight:var(--weight-600)}.account-copy{display:grid;min-width:0;flex:1}.account-copy strong{font-size:var(--font-size-12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--weight-500)}.account-copy small{font-size:var(--font-size-12);opacity:var(--sidebar-muted-opacity)}.sidebar-account form{margin:0}.sidebar-signout{color:var(--surface)!important;border:0!important;opacity:var(--sidebar-muted-opacity)}
.workspace-body{margin-left:var(--sidebar-width);min-width:0;min-height:100dvh;display:flex;flex-direction:column;transition:margin var(--transition-ui)}.app-topbar{height:var(--topbar-height);display:flex;justify-content:space-between;align-items:center;gap:var(--space-16);padding-inline:var(--space-24);border-bottom:var(--border-width) solid var(--line);background:var(--surface);position:sticky;top:0;z-index:var(--header-layer)}.topbar-location,.topbar-account{display:flex;align-items:center;gap:var(--space-12);min-width:0;font-size:var(--font-size-13)}.topbar-location>span{color:var(--ink-500)}.topbar-location>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--weight-500)}.topbar-account .workspace-context{color:var(--ink-500);font-size:var(--font-size-12);white-space:nowrap}.topbar-separator{color:var(--line)!important}.workspace-toggle{display:none!important}.app-main{padding:var(--space-32);width:100%;max-width:var(--content-max);min-width:0;flex:1}.app-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-24);margin-bottom:var(--space-24)}.app-heading h1,.app-main>h1{font-size:var(--font-size-24)}.app-heading p,.app-main>p{font-size:var(--font-size-13);margin-top:var(--space-8);max-width:var(--text-measure)}.app-heading .eyebrow{margin-bottom:var(--space-8)}.app-main h2{font-size:var(--font-size-16)}.app-main>h1+form{margin-top:var(--space-24)}.workspace-footer{display:flex;justify-content:space-between;gap:var(--space-16);padding:var(--space-16) var(--space-32);color:var(--ink-500);font-size:var(--font-size-12);border-top:var(--border-width) solid var(--line)}.workspace-flashes{margin-left:var(--sidebar-width);padding-inline:var(--space-32)}
.sidebar-is-collapsed .sidebar{width:var(--sidebar-collapsed-width);padding-inline:var(--space-8)}.sidebar-is-collapsed .sidebar-copy{display:none}.sidebar-is-collapsed .sidebar nav>a,.sidebar-is-collapsed .sidebar-site-link{justify-content:center;padding-inline:var(--space-8)}.sidebar-is-collapsed .sidebar-brand{justify-content:center}.sidebar-is-collapsed .sidebar-account{flex-wrap:wrap;justify-content:center}.sidebar-is-collapsed .workspace-body,.sidebar-is-collapsed .workspace-flashes{margin-left:var(--sidebar-collapsed-width)}
@media(max-width:68em){.nav{gap:var(--space-16)}.nav-links{gap:var(--space-16)}.nav-account{gap:var(--space-16)}.nav-account .btn{padding-inline:var(--space-12)}.app-main{padding:var(--space-24)}}
@media(max-width:56em){.menu-toggle{display:inline-flex!important;margin-left:auto}.nav{flex-wrap:wrap;padding-block:var(--space-16);min-height:var(--topbar-height)}.nav-links,.nav-account{display:none;width:100%;margin:0}.nav.open .nav-links,.nav.open .nav-account{display:flex;flex-wrap:wrap}.nav-links{padding-top:var(--space-8)}.nav-links>a{padding-block:var(--space-8)}.nav-account{padding-top:var(--space-16);border-top:var(--border-width) solid var(--line)}.brand{font-size:var(--font-size-16)}.sidebar{width:var(--sidebar-collapsed-width);padding-inline:var(--space-8)}.sidebar .sidebar-copy{display:none}.sidebar nav>a,.sidebar-site-link{justify-content:center;padding-inline:var(--space-8)!important}.sidebar-brand{justify-content:center}.sidebar-account{flex-wrap:wrap;justify-content:center}.workspace-body,.workspace-flashes{margin-left:var(--sidebar-collapsed-width)}.sidebar-collapse{display:none!important}.footer-links{gap:var(--space-16)}}
@media(max-width:37.5em){.wrap{padding-inline:var(--space-24)}.footer-inner{grid-template-columns:1fr;gap:var(--space-24)}.footer-links{gap:var(--space-16)}.copyright{grid-column:auto}.back-to-site{font-size:var(--font-size-12)}.back-to-site .icon{display:none}.auth-header .nav{gap:var(--space-8)}.auth-header .brand{font-size:var(--font-size-14)}.sidebar{width:var(--sidebar-width)!important;transform:translateX(-100%);visibility:hidden;padding-inline:var(--space-16)}.sidebar.mobile-open{transform:translateX(0);visibility:visible}.sidebar .sidebar-copy{display:initial}.sidebar .account-copy{display:grid}.sidebar nav>a,.sidebar-site-link{justify-content:flex-start;padding-inline:var(--space-12)!important}.sidebar-brand{justify-content:flex-start}.sidebar-account{flex-wrap:nowrap;justify-content:flex-start}.workspace-body,.workspace-flashes,.sidebar-is-collapsed .workspace-body,.sidebar-is-collapsed .workspace-flashes{margin-left:0}.workspace-toggle{display:inline-flex!important}.app-topbar{padding-inline:var(--space-16)}.topbar-account .workspace-context,.topbar-location>span{display:none}.app-main{padding:var(--space-24) var(--space-16)}.app-heading{align-items:flex-start;flex-direction:column;gap:var(--space-16)}.app-heading>.btn{align-self:flex-start}.workspace-footer{padding-inline:var(--space-16);font-size:var(--font-size-12)}.document-page{padding-block:var(--space-32)}.workspace-flashes{padding-inline:var(--space-16)}.workspace-backdrop{position:fixed;inset:0;z-index:var(--header-layer);border:0;background:var(--ink-900);opacity:var(--scrim-opacity)}.section-head{align-items:flex-start;flex-direction:column;gap:var(--space-12)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.workspace-notices{margin-bottom:var(--space-24)}

/* Reference-led branding: open surfaces and typography rather than framed sections. */
.public-site .nav-account .btn{font-family:var(--font-ui);font-size:var(--font-size-13);font-weight:var(--weight-600);letter-spacing:normal;text-transform:none;padding-inline:var(--space-24)}
.site-head .brand{gap:0}
.footer{border-top:var(--space-4) solid var(--cobalt-600);background:var(--ink-deep);padding-top:var(--space-64);padding-bottom:var(--space-32)}
.footer-inner{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:var(--space-48);align-items:start}
.footer-brand .brand{font-size:var(--font-size-24);color:var(--surface);gap:0}
.footer-brand .brand-light{color:var(--cobalt-400)}
.footer-brand p{font-size:var(--font-size-14);line-height:1.7;color:var(--color-on-dark-muted);max-width:34ch;margin-top:var(--space-16)}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-12)}
.footer-column h2{font-family:var(--font-ui);font-size:var(--font-label);font-weight:var(--weight-700);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-on-dark-muted);margin-bottom:var(--space-8)}
.footer-column a{color:var(--color-on-dark-muted);font-size:var(--font-size-14);text-decoration:none}
.footer-column a:hover{color:var(--surface)}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-24);padding-top:var(--space-24);border-top:var(--border-width) solid var(--line-dark)}
.footer .copyright{border:0;padding:0;grid-column:auto;color:var(--color-on-dark-muted);font-size:var(--font-size-12)}
.footer-note{font-size:var(--font-size-12);color:var(--color-on-dark-muted)}
@media(max-width:56em){.footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-32)}.footer-brand{grid-column:1/-1}}
@media(max-width:37.5em){.brand{font-size:var(--font-size-16)}.auth-header .brand{font-size:var(--font-size-16)}.footer{padding-top:var(--space-48)}.footer-inner{grid-template-columns:minmax(0,1fr);gap:var(--space-32)}.footer-brand{grid-column:auto}.footer-brand .brand{font-size:var(--font-size-20)}.footer-bottom{grid-column:auto;flex-direction:column;gap:var(--space-8)}}

/* Professional typesetting: wrap at word boundaries, with no narrow display measures. */
h1,h2,h3{word-break:normal;overflow-wrap:normal;hyphens:none}
.brand{font-weight:var(--weight-700);letter-spacing:var(--tracking-title)}
.brand-light{font-weight:var(--weight-500)}
.footer-column h2{font-size:var(--font-size-13);font-weight:var(--weight-600);letter-spacing:normal;text-transform:none}
.app-heading h1{max-width:none}
