/* All title/navigation bars use this contract, including future pages. */
:root {
	--tt-sticky-h:56px;
	--tt-sticky-control:44px;
	--tt-sticky-icon:20px;
	--tt-sticky-font:16px;
	--tt-sticky-inset:24px;
	--tt-mobile-sticky-h:var(--tt-sticky-h);
	--tt-mobile-sticky-control:var(--tt-sticky-control);
	--tt-mobile-sticky-icon:var(--tt-sticky-icon);
	--tt-mobile-sticky-font:var(--tt-sticky-font);
}
.tapdown-main:has(.tapdown-sticky) { padding-top:0; padding-left:var(--tt-sticky-inset); padding-right:var(--tt-sticky-inset); }
.tapdown-main :is(.tapdown-page,.tapdown-tag-page,.tapdown-user-page,.tutorial-page,.tapdown-rank-page,.tapdown-today-page,.tapdown-home):has(> .tapdown-sticky) { max-width:none; padding-top:0; padding-left:0; padding-right:0; }
/* Bars fill the main region; reading areas keep their original content limits. */
.tapdown-page:has(> .tapdown-sticky) > .app-single { max-width:1192px; margin-left:auto; margin-right:auto; }
.tapdown-tag-page:has(> .tapdown-sticky) > .tapdown-grid { max-width:1200px; margin-left:auto; margin-right:auto; }
.tapdown-user-page:has(> .tapdown-sticky) > :not(.tapdown-sticky) { max-width:1152px; margin-left:auto; margin-right:auto; }
.tapdown-home:has(> .tapdown-sticky) > :is(.tapdown-home__hero,.tapdown-section),.tapdown-today-page:has(> .tapdown-sticky) > .tapdown-today-layout { max-width:1520px; margin-left:auto; margin-right:auto; }
.tapdown-sticky,
.tapdown-main .tapdown-sticky {
	position:sticky; top:var(--tt-topbar-h); z-index:795;
	box-sizing:border-box; display:flex; align-items:center; flex:none;
	width:calc(100% + var(--tt-sticky-inset) * 2); max-width:none;
	height:var(--tt-sticky-h); min-height:var(--tt-sticky-h);
	margin:0 calc(var(--tt-sticky-inset) * -1) 16px;
	padding:6px var(--tt-sticky-inset); gap:12px;
	border-bottom:1px solid var(--tt-border); background:var(--tt-bg);
	color:var(--tt-text); font-size:var(--tt-sticky-font);
}
.tapdown-main .tapdown-sticky.tapdown-tagbar { display:grid; grid-template-columns:var(--tt-sticky-control) minmax(0,1fr) auto; }
.tapdown-sticky :is(h1,.tapdown-sticky__title,.tapdown-tagbar__title,.tutorial-heading__label) { margin:0; min-width:0; font-size:var(--tt-sticky-font); line-height:1.4; }
.tapdown-main .tapdown-sticky .tt-icon { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); stroke-width:2; }
.tapdown-main .tapdown-sticky :is(.tapdown-sticky__control,.tapdown-subnav__back,.tutorial-back,.tapdown-user-heading__back,.tapdown-user-heading__sharebtn,.app-actions__btn:not(.app-actions__btn--sponsor)) {
	box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
	flex:0 0 var(--tt-sticky-control); width:var(--tt-sticky-control); min-width:var(--tt-sticky-control);
	height:var(--tt-sticky-control); min-height:var(--tt-sticky-control); padding:0;
	border:1px solid var(--tt-border); border-radius:12px;
}
.tapdown-main .tapdown-sticky :is(.app-actions__share,.tapdown-tagbar__share,.tapdown-user-heading__share) { width:var(--tt-sticky-control); height:var(--tt-sticky-control); display:flex; align-items:center; }
.tapdown-main .tapdown-sticky :is(.tapdown-sticky__control > svg,.tapdown-subnav__back svg,.tutorial-back svg,.tapdown-user-heading__back svg,.app-actions__btn > svg,.tapdown-share-icon,.tapdown-rank-platform__item img) {
	flex:none; width:var(--tt-sticky-icon); min-width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); padding:0; stroke-width:2;
}
.tapdown-main .tapdown-sticky .app-actions__share > .app-actions__btn::before { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); }
.tapdown-main .tapdown-sticky .app-actions__btn--sponsor { height:var(--tt-sticky-control); min-height:var(--tt-sticky-control); font-size:var(--tt-sticky-font); }
.tapdown-main .tapdown-sticky .app-actions__btn--sponsor img.vip-mark { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); }
.tapdown-main .tapdown-sticky :is(.tapdown-subnav__tabs a,.tapdown-tag-sort > summary,.tapdown-rank-tabs__item) { box-sizing:border-box; min-height:var(--tt-sticky-control); font-size:var(--tt-sticky-font); }
.tapdown-main .tapdown-sticky .tapdown-subnav__tabs a { display:flex; align-items:center; padding:0; }
.tapdown-main .tapdown-sticky :is(.tapdown-rank-tabs-viewport,.tapdown-rank-tabs) { height:var(--tt-sticky-control); }
.tapdown-main .tapdown-sticky .tapdown-rank-platform { height:var(--tt-sticky-control); padding:0; }
.tapdown-main .tapdown-sticky .tapdown-rank-platform__item { height:var(--tt-sticky-control); min-height:var(--tt-sticky-control); font-size:var(--tt-sticky-font); }
.tapdown-main .tapdown-sticky .tapdown-tag-sort > summary svg { width:12px; height:12px; }
.tapdown-main .tapdown-sticky :is(.tapdown-filter__nav,.tapdown-rank-tabs-nav button,.tapdown-today-now,.tapdown-today-datebar__nav,.tapdown-today-monthbar > a,.tapdown-today-monthbar > span) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--tt-sticky-control); width:var(--tt-sticky-control); height:var(--tt-sticky-control); min-height:var(--tt-sticky-control); }
.tapdown-main .tapdown-sticky :is(.tapdown-filter__nav svg,.tapdown-rank-tabs-nav svg,.tapdown-today-now svg,.tapdown-today-datebar__nav svg,.tapdown-today-monthbar svg,.tapdown-tabs__ico svg) { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); stroke-width:2; }
.tapdown-main .tapdown-sticky .tapdown-tabs__ico { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); flex:0 0 var(--tt-sticky-icon); }
.tapdown-main .tapdown-sticky .tapdown-filter__scroll > .tapdown-tabs__tab:first-child .tapdown-tabs__ico { width:var(--tt-sticky-icon); height:var(--tt-sticky-icon); flex:0 0 var(--tt-sticky-icon); }
.tapdown-main .tapdown-sticky :is(.tapdown-tabs__tab,.tapdown-chips__chip) { min-height:var(--tt-sticky-control); font-size:var(--tt-sticky-font); }
.tapdown-main .tapdown-rank-page { padding-top:0; overflow:visible; }
.tapdown-main .tapdown-sticky--stacked { display:block; height:calc(var(--tt-sticky-h) * 2); padding-top:0; padding-bottom:0; }
.tapdown-sticky--stacked .tapdown-today-head,.tapdown-sticky--stacked .tapdown-today-toolbar { height:var(--tt-sticky-h); margin:0; }
.tapdown-sticky--stacked .tapdown-today-tabs__item { font-size:var(--tt-sticky-font); }
.tapdown-sticky--stacked .tapdown-today-switch { height:var(--tt-sticky-control); }
.tapdown-sticky--stacked .tapdown-today-switch__item { font-size:var(--tt-sticky-font); }
.tapdown-rank-document .tapdown-rank-stage { height:calc(100% - var(--tt-sticky-h) - 16px); }
body:has(.tapdown-sticky):not(.tapdown-rank-document):not(.nav-locked):not(:has(dialog[open])) { overflow-x:clip; }
@media (max-width:992px) {
	.tapdown-main .tapdown-sticky.tapdown-filter .tapdown-filter__nav { display:none; }
}
@media (max-width:767px) {
	:root { --tt-sticky-inset:12px; }
	.tapdown-main .tapdown-sticky { margin-bottom:12px; gap:8px; }
	.tapdown-main .tapdown-sticky .tapdown-subnav__left { gap:8px; }
	.tapdown-main .tapdown-sticky .tapdown-rank-platform { flex-basis:88px; width:88px; }
	.tapdown-main .tapdown-sticky .tapdown-rank-platform__item { min-width:44px; }
	.tapdown-main .tapdown-sticky.tapdown-filter { position:fixed; right:0; left:0; width:100%; margin:0; }
	.tapdown-home { padding-top:var(--tt-sticky-h); }
	.tapdown-main .tapdown-sticky.tapdown-today-sticky { display:none; }
	/* Account navigation has its own standalone frame, but shares the same sizes. */
	.tapdown-account-document .tapdown-account-nav { box-sizing:border-box; width:100%; height:var(--tt-sticky-h); padding:6px var(--tt-sticky-inset); }
	.tapdown-account-document .tapdown-account-nav nav { padding:0; }
	.tapdown-account-document .tapdown-account-nav nav a { min-height:var(--tt-sticky-control); font-size:var(--tt-sticky-font); }
	.tapdown-main .tapdown-game-detail .media-gallery { margin-left:calc(var(--tt-sticky-inset) * -1); margin-right:calc(var(--tt-sticky-inset) * -1); }
	.tapdown-rank-document .tapdown-rank-stage { height:calc(100% - var(--tt-sticky-h) - 12px); }
}
