/* Identical geometry before and after session, font and content loading. */
html {scrollbar-gutter:stable;scroll-behavior:auto}
body {min-height:100vh}
:root {--page-width:1320px;--page-gutter:48px;--brand-accent:#76501b}
:root[data-theme="dark"] {--brand-accent:#e4be7b}
body > .product-header {box-sizing:border-box;max-width:var(--page-width);margin:0 auto;padding:20px var(--page-gutter) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:56px 52px;gap:0;min-height:129px;border-bottom:1px solid var(--line);color:inherit;align-items:center}
.product-nav {grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-self:stretch;gap:0;min-width:0;margin:0;overflow:visible}
.product-nav a {display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:52px;padding:0 8px;color:var(--muted);text-decoration:none;white-space:nowrap;font:500 13px/1 DM,Arial,sans-serif;gap:4px}
.product-nav a[aria-current="page"] {color:inherit}
.product-nav a::after {content:"";height:2px;background:var(--coral);position:absolute;bottom:0;left:16px;right:16px;opacity:0;transform:scaleX(.7);transition:opacity .16s,transform .16s}
.product-nav a[aria-current="page"]::after {opacity:1;transform:scaleX(1)}
.product-nav a:hover {color:inherit}
.product-tools {grid-column:2;grid-row:1;display:flex;align-items:center;gap:0;font:12px/1 DM,Arial,sans-serif;margin:0}
.product-tools select,#theme {box-sizing:border-box;font:12px/1 DM,Arial,sans-serif;background:transparent;color:inherit;border:1px solid var(--line);border-radius:6px;padding:8px;width:82px;min-height:40px;margin:0}
.product-header a:focus-visible,.product-header button:focus-visible,.product-header select:focus-visible {outline:2px solid var(--coral);outline-offset:3px}
.product-header .visually-hidden {position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
#saved-count {display:inline-block;min-width:1.5ch;font-size:10px;font-variant-numeric:tabular-nums}
.shell {max-width:var(--page-width);padding-inline:var(--page-gutter)}
@media(max-width:700px){:root{--page-gutter:20px}}
@media(max-width:600px){body > .product-header{padding-top:16px;grid-template-rows:56px 88px;min-height:161px}.product-brand{font-size:25px}.product-brand span{font-size:7px;letter-spacing:1px}.product-nav{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:44px 44px}.product-nav a{min-height:44px;font-size:12px;padding:0 4px}}
@media(prefers-reduced-motion:reduce){.product-nav a::after{transition:none}}
/* Keep the shared shell still while the next document's content settles. */
@view-transition {navigation:auto}
.product-header {view-transition-name:product-header}
::view-transition-old(product-header),::view-transition-new(product-header){animation:none;mix-blend-mode:normal}
::view-transition-old(root){animation:page-out .12s ease-out both}
::view-transition-new(root){animation:page-in .16s ease-out both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
/* Visitor and member navigation share one fixed-height row. */
.product-nav {grid-template-columns:repeat(4,minmax(0,1fr))}
[data-audience="visitor"] .product-nav {grid-template-columns:repeat(3,minmax(0,1fr))}
.product-tools {gap:12px}
.product-profile {position:relative;font:500 13px/1.4 DM,Arial,sans-serif}
.product-profile summary {cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 8px;list-style:none}
.product-profile summary::after {content:'⌄';margin-left:7px}
.product-profile summary::-webkit-details-marker {display:none}
.product-profile > div {position:absolute;z-index:30;right:0;top:48px;min-width:220px;background:var(--white, var(--surface,#fffdf8));border:1px solid var(--line);box-shadow:0 12px 32px #0002;padding:8px}
:root[data-theme="dark"] .product-profile > div {background:#211e24}
.product-profile a {display:block;padding:12px;color:inherit;text-decoration:none}
.product-profile a:hover {background:var(--soft,#8882)}
.product-profile summary:focus-visible {outline:2px solid var(--coral);outline-offset:2px}
@media(max-width:600px){body > .product-header{grid-template-rows:56px 48px;min-height:121px}.product-nav{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:48px}.product-nav a{font-size:12px;min-height:48px}.product-tools{gap:2px}.product-tools select,#theme{width:66px}.product-profile summary{font-size:11px;padding:0 4px}.product-brand{font-size:23px}}
@media(max-width:600px){.product-tools select,#theme{width:78px;padding-inline:5px}}
@media(max-width:360px){.product-brand{font-size:20px}.product-brand span{font-size:6px}}
/* One quiet account control, with settings grouped in its disclosure. */
.product-profile summary {width:44px;height:44px;padding:0;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;transition:background .16s,border-color .16s}
.product-profile summary::after {content:none}
.product-profile summary:hover,.product-profile[open] summary {background:var(--soft,#8882);border-color:var(--muted)}
.product-profile > .account-menu {width:272px;max-width:calc(100vw - 40px);padding:12px;border-radius:16px;box-shadow:0 16px 48px #0003;line-height:1.5}
.product-profile [hidden] {display:none!important}
.account-menu-identity {font-size:15px;font-weight:600;margin:4px 12px 0;overflow-wrap:anywhere}
.account-menu-connection {font-size:12px;color:var(--muted);margin:2px 12px 12px}
.product-profile a,.product-profile button {border-radius:8px;font:500 13px/1.5 DM,Arial,sans-serif}
.product-profile button {display:block;width:100%;padding:12px;text-align:left;color:inherit;background:none;border:0;cursor:pointer}
.product-profile button:hover {background:var(--soft,#8882)}
.account-appearance {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-block:1px solid var(--line);margin:6px 0}
.product-tools .account-appearance select {width:104px;min-height:40px;font-size:13px;background:var(--white,var(--surface,#fffdf8));border-radius:8px}
:root[data-theme="dark"] .account-appearance select {background:#211e24}
.account-menu-error {color:var(--coral);font-size:12px;margin:8px 12px}
@media(prefers-reduced-motion:reduce){.product-profile summary{transition:none}}

[data-account-loading="true"] .product-nav {visibility:hidden}

[data-account-loading="true"] .account-menu [data-signin] {display:none}
