.topbar { display: flex; align-items: center; height: var(--header-height); background: var(--bg-void); border-bottom: 1px solid var(--border-hairline); -webkit-app-region: drag; padding-inline: var(--space-3); gap: var(--space-3); box-sizing: border-box } .logo-slot { display: flex; height: 85%; aspect-ratio: 1 / 1; padding: 0; border: none; background: transparent; overflow: hidden; cursor: pointer; -webkit-app-region: no-drag; border-radius: var(--radius-pill); } .tabstrip { display: flex; height: var(--header-height); flex: 1 1 auto; overflow-x: auto; overflow-y: hidden; min-width: 0; -webkit-app-region: no-drag; border-left: 1px solid var(--border-hairline); scrollbar-width: thin; scrollbar-color: var(--border-hairline) transparent; scroll-behavior: smooth; scroll-padding-inline: var(--space-3); scroll-snap-type: x proximity; align-items: center; gap: var(--space-4); padding-left: var(--space-4); container-type: inline-size; container-name: tabstrip; -webkit-mask-image: linear-gradient(to right, transparent, black 0); mask-image: linear-gradient(to right, transparent, black 0); } .tabstrip-actions { display: flex; align-items: center; justify-content: center; height: var(--header-height); flex: 0 0 auto; gap: var(--space-3); } .tab-action { display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; background: transparent; border: var(--border-width-active) solid transparent; } .tab-action:hover { background: var(--bg-raised); border-color: var(--accent-brand); color: var(--text-primary); } .tab-add { height: 70%; border-radius: 50%; color: var(--text-muted); aspect-ratio: 1; } .crown-action { height: 70%; aspect-ratio: 1; border-radius: 50%; color: #facc15; width: auto; } .crown-action:hover { color: #fde047; } .icon-crown, .icon-tab-add, .icon-tab-add-empty { aspect-ratio: 1/1; height: 80%; } .tab-add-empty { height: 70%; border-radius: var(--radius-pill); border: var(--border-width-active) dashed var(--border-hairline); color: var(--text-muted); font-family: var(--font-ui); font-weight: 500; flex-shrink: 0; gap: var(--space-2); padding-inline: var(--space-2); } .tab-add-empty:hover { border-color: var(--accent-brand); border-style: solid; } /* Tab */ .tab { display: flex; align-items: center; gap: var(--space-3); height: var(--tab-height); padding: 0 var(--space-3); border: var(--border-width-active) solid transparent; border-radius: var(--radius-lg); background: transparent; color: var(--text-muted); font-family: var(--font-ui); cursor: pointer; box-sizing: border-box; scroll-snap-align: start; flex: 0 0 25%; max-width: 25%; min-width: calc( (var(--space-3) * 2) + (var(--tab-height) * 0.5) + (var(--space-2) * 2) + 4ch + var(--tab-close-size) ); } .tab:hover { background: var(--bg-raised); color: var(--text-primary); border-color: var(--accent-brand); } .tab span[title] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; } .tab-led { height: 40%; aspect-ratio: 1 / 1; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; min-height: 0; min-width: 0; } .tab-close { height: 50%; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-left: auto; padding: 0; font-size: var(--tab-close-font); line-height: 1; color: var(--text-muted); border-radius: var(--radius-sm); } .tab--active { background: var(--bg-panel); border-color: var(--accent-brand); color: var(--text-primary); } .tab--dimmed { opacity: 0.55; } .tab-close:hover { background: var(--bg-panel); color: var(--text-primary); } .tabstrip[data-fade-start='true'] { -webkit-mask-image: linear-gradient( to right, transparent, black 24px, black calc(100% - 24px), black ); mask-image: linear-gradient(to right, transparent, black 24px, black calc(100% - 24px), black); } .tabstrip[data-fade-end='true'] { -webkit-mask-image: linear-gradient(to right, black, black calc(100% - 24px), transparent); mask-image: linear-gradient(to right, black, black calc(100% - 24px), transparent); } .tabstrip[data-fade-start='true'][data-fade-end='true'] { -webkit-mask-image: linear-gradient( to right, transparent, black 24px, black calc(100% - 24px), transparent ); mask-image: linear-gradient( to right, transparent, black 24px, black calc(100% - 24px), transparent ); } .tab[data-step='6'], .tab[data-step='8'], .tab[data-step='10'] { min-width: calc( (var(--space-3) * 2) + (var(--tab-height) * 0.5) + (var(--space-2) * 2) + 4ch + var(--tab-close-size) ); }