.tab-page { display: flex; flex-direction: column; } .tab-page-content { display: flex; flex-direction: column; } .tab-page-header { align-items: center; display: flex; flex-direction: column; padding: var(--space-xxl) 0; text-align: center; } .tab-page-emblem { height: auto; margin-bottom: var(--space-lg); max-width: var(--size-emblem); width: var(--percent-full); } .tab-page-title { color: var(--tab-accent); font-family: var(--font-family-heading); font-size: var(--font-xxl); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-wide); margin: 0; text-transform: uppercase; } .tab-page-subtitle { color: var(--white-alpha-secondary); font-size: var(--font-lg); font-weight: var(--font-weight-normal); margin: var(--space-md) 0 0; } .tab-anchor { margin: 0 0 var(--space-xxl); position: sticky; top: var(--space-md); width: var(--percent-full); z-index: var(--z-dropdown); } .tab-bar { display: flex; flex-wrap: wrap; gap: var(--space-xs); justify-content: center; } .tab-button { align-items: center; background: var(--banes-lab-main); border: var(--border-s) solid var(--white-alpha-border); border-radius: var(--radius-md); color: var(--white-alpha-secondary); cursor: pointer; display: flex; font-family: var(--font-family-base); font-size: var(--font-xs); font-weight: var(--font-weight-medium); gap: var(--space-xs); padding: var(--space-xs) var(--space-sm); transition: all var(--transition-fast); } .tab-button:hover, .tab-button.active { background: var(--tab-accent); border-color: var(--tab-accent); color: var(--black); } .tab-button i { font-size: var(--font-lg); transition: font-size var(--transition-fast); } .tab-button.card-blue i { color: var(--accent-blue); } .tab-button.card-teal i { color: var(--accent-teal); } .tab-button.card-violet i { color: var(--accent-violet); } .tab-button.active.card-blue i, .tab-button.active.card-teal i, .tab-button.active.card-violet i { color: var(--black); } .tab-button span { display: none; max-width: var(--width-label); opacity: 1; overflow: hidden; transition: max-width var(--transition-base), opacity var(--transition-fast); } .tab-bar.pinned .tab-button span { max-width: 0; opacity: 0; } .tab-content { width: var(--percent-full); } .tab-footer { bottom: var(--space-md); margin: 0 auto; top: auto; width: auto; } .tab-footer .tab-button { padding: var(--space-sm); position: relative; } .tab-symbol { display: inline-block; font-family: var(--font-family-base); font-size: var(--font-sm); font-weight: var(--font-weight-bold); min-width: var(--size-icon-inline); text-align: center; } .tab-footer .tab-label { background: var(--banes-lab-main); border: var(--border-s) solid var(--tab-accent); border-radius: var(--radius-sm); bottom: var(--percent-full); color: var(--white); font-size: var(--font-xs); left: var(--percent-half); margin-bottom: var(--space-xs); max-width: none; opacity: 0; overflow: visible; padding: var(--space-xs) var(--space-sm); pointer-events: none; position: absolute; transform: translateX(calc(var(--percent-half) * -1)); transition: opacity var(--transition-fast) ease; white-space: nowrap; width: max-content; } .tab-footer .tab-button:hover .tab-label { opacity: 1; } .tab-footer .tab-symbol { display: inline-block; } .tab-page-footer { backdrop-filter: var(--blur-soft); background: var(--card-bg); border: var(--border-s) solid var(--white-alpha-border); border-radius: var(--radius-lg); margin: var(--space-xl) 0 0; padding: var(--space-xxl); text-align: center; width: var(--percent-full); } .tab-footer-text, .tab-footer-license { color: var(--white-alpha-secondary); margin: 0 0 var(--space-sm); } .tab-footer-license { margin-bottom: 0; } .tab-page-footer .footer-link { color: var(--tab-accent); font-weight: var(--font-weight-semibold); transition: color var(--transition-slow); } .tab-page-footer .footer-link:hover { text-decoration: underline; } .license-badges { display: inline-flex; gap: var(--space-xs); margin-left: var(--space-xs); vertical-align: middle; } .license-badge { display: inline-block; height: var(--size-icon-inline); vertical-align: middle; width: var(--size-icon-inline); } @media (width >= 40rem) { .tab-page-title { font-size: var(--font-display); } .tab-bar { gap: var(--space-sm); } .tab-button { font-size: var(--font-sm); padding: var(--space-sm) var(--space-lg); } .tab-button i { font-size: var(--font-md); } .tab-button span { display: inline; } }