/* Shared navigation: quiet circular icon, consistent across all entry points. */
a.back-nav-link,button.back-nav-link{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:0;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;color:var(--ui-text-tertiary);font-family:var(--ui-font);line-height:1;border:0;border-radius:50%;background:transparent;position:relative;isolation:isolate;cursor:pointer;box-sizing:border-box;white-space:nowrap;text-decoration:none}
.back-nav-link::before{content:"";position:absolute;z-index:-1;width:var(--ui-back-circle-size,44px);height:var(--ui-back-circle-size,44px);top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--ui-back-surface,#f3f5f4);pointer-events:none}
@media(max-width:700px){.back-nav-link{--ui-back-circle-size:36px}}
.back-nav-link svg{display:block;width:20px;height:20px;flex:none;stroke-width:1.75}
/* Older generated pages retain their label nodes for scripts and accessible names. */
.back-nav-link>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.back-nav-link:focus-visible{outline:2px solid var(--ui-green);outline-offset:4px;border-radius:50%}
.back-nav-link:disabled{opacity:.4;cursor:default}
.ui-tag{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;line-height:20px;font-size:12px;font-weight:var(--ui-secondary-weight,400);font-family:var(--ui-font);color:var(--ui-text-secondary);background:var(--ui-tag-surface);-webkit-backdrop-filter:blur(var(--ui-tag-blur));backdrop-filter:blur(var(--ui-tag-blur));border-radius:6px}
.ui-tag--filter{flex:none;gap:6px;min-height:var(--ui-quick-height);padding:6px 12px;border:0;border-radius:6px;font-size:var(--ui-body-size);line-height:24px;font-weight:400;white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-tap-highlight-color:transparent}
.ui-tag--filter[aria-pressed=true]{background:var(--ui-green-light);color:var(--ui-green);font-weight:500}
.ui-tag--filter>span{font-variant-numeric:tabular-nums;color:var(--ui-text-tertiary)}
.ui-tag--filter[aria-pressed=true]>span{color:inherit}
.ui-tag--filter:active{opacity:.65}
.ui-tag--filter:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
.ui-filter-group{display:flex;align-items:center;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.ui-filter-group::-webkit-scrollbar{display:none}
.ui-study-header{display:grid;grid-template-columns:minmax(96px,1fr) minmax(0,2fr) minmax(96px,1fr);align-items:center;height:var(--ui-nav-height);min-height:var(--ui-nav-height);gap:8px}
.ui-study-header-left{justify-self:start;min-width:0}.ui-study-header-center{font-size:var(--ui-nav-title-size);font-weight:500;justify-self:center;min-width:0;max-width:100%;text-align:center}.ui-study-header-right{justify-self:end;min-width:0}.ui-study-header-center .category-btn{justify-content:center;max-width:100%;padding-inline:0;color:var(--ui-text-primary)}
.ui-study-header-center .menu{left:50%;transform:translateX(-50%);text-align:left;max-height:65dvh;overflow:auto}.ui-study-header-center .category-btn>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-study-header-right .favourites{font-family:var(--ui-font);font-size:var(--ui-body-size);color:var(--ui-text-tertiary)}
@media(max-width:700px){.ui-study-header{grid-template-columns:minmax(96px,1fr) minmax(0,2fr) minmax(96px,1fr);gap:4px}}
/* Menu size variants. Size is opt-in; never upscale reader popovers globally. */
.ui-menu--sm{--ui-menu-font:14px;--ui-menu-row:42px;--ui-menu-icon:16px;--ui-menu-inset:12px;--ui-menu-gap:8px}
.ui-menu--lg{--ui-menu-font:16px;--ui-menu-row:48px;--ui-menu-icon:20px;--ui-menu-inset:12px;--ui-menu-gap:12px}
.ui-menu .ui-icon{width:var(--ui-menu-icon);height:var(--ui-menu-icon);flex:none;stroke-width:1.75}
/* Links need the same tap reset as buttons; reader's global reset only covered buttons. */
a.back-nav-link,button.back-nav-link{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none}
a.back-nav-link:is(:hover,:active),button.back-nav-link:is(:hover,:active){background:transparent;box-shadow:none;text-decoration:none}
/* Same tab primitive, two deliberate sizes. */
.ui-tabs--sm{--ui-tab-font:14px;--ui-tab-height:36px;--ui-tab-padding:12px}
.ui-tabs--lg{--ui-tab-font:16px;--ui-tab-height:44px;--ui-tab-padding:16px}
.ui-tabs{display:inline-flex;align-items:stretch;gap:0;padding:var(--ui-tab-inset);border-radius:var(--ui-radius);background:var(--ui-tab-surface)}
.ui-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:1 0 auto;gap:8px;min-width:0;min-height:var(--ui-tab-height);padding:6px var(--ui-tab-padding);border:0;border-radius:var(--ui-tab-radius);background:transparent;font-family:var(--ui-font);font-size:var(--ui-tab-font);font-weight:400;line-height:24px;color:var(--ui-text-tertiary);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ui-tabs button[aria-pressed=true]{background:var(--ui-tab-selected-surface);box-shadow:var(--ui-tab-selected-shadow);color:var(--ui-green);font-weight:650}
.ui-tabs button:is(:hover,:active){color:var(--ui-green)}
.ui-tabs button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
.ui-tabs button>span{font-variant-numeric:tabular-nums}

/* Align the actual controls, avoiding inline baselines in header grid cells. */
.ui-study-header-left,.ui-study-header-center,.ui-study-header-right{display:flex;align-items:center;align-self:center}
.ui-study-header-center{justify-content:center;line-height:24px}
.ui-study-header-center>.popover-anchor{display:flex;align-items:center;min-width:0;max-width:100%}
.ui-study-header-center .category-btn{line-height:24px;padding-block:10px}

/* Text may need optical compensation; icon-only back controls stay geometrically centered. */
.ui-study-header-center,.ui-study-header-right,.list-header>.list-page-title,.topbar .bar>.brand,.topbar .bar>nav{position:relative;top:var(--ui-nav-optical-offset,3px)}
.ui-study-header-left,.list-header>.back-nav-link{top:0}

/* Account trigger: no persistent pointer/touch focus ring; keyboard remains visible. */
html:not([data-ui-input="keyboard"]) .preview-account>summary:focus{outline:none;box-shadow:none}
html[data-ui-input="keyboard"] .preview-account>summary:focus-visible{outline:2px solid rgb(0 0 0 / 25%);outline-offset:2px;border-radius:8px}

/* Platform names and filter selections stay complete; let content determine the required width. */
#panel-records thead th:first-child,#panel-records tbody td:first-child{width:1%;white-space:nowrap}
#panel-records #records-platform{width:auto;max-width:none;white-space:nowrap}
@media(max-width:600px){#panel-records thead th:first-child,#panel-records tbody td:first-child{padding-inline:10px}}

/* Shared back press: subtle surface feedback without scaling the icon. */
:is(a,button).back-nav-link{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.back-nav-link::before{transition:background-color 140ms ease-out}
:is(a,button).back-nav-link:active:not(:disabled):not([aria-disabled="true"]){transform:none;opacity:1}
:is(a,button).back-nav-link:active:not(:disabled):not([aria-disabled="true"])::before{background:var(--ui-back-pressed-surface,#e8edeb)}
@media(prefers-reduced-motion:reduce){.back-nav-link::before{transition:none}}

/* Never use the browser's dark touch overlay for shared interactive elements. */
:where(a,button,summary,[role="button"],[role="tab"]){-webkit-tap-highlight-color:transparent}
