/* Left Dock — 72px vertical app launcher */ .dock { width: var(--dock-width); min-width: var(--dock-width); height: 100dvh; background: var(--bg-dock); border-right: 1px solid var(--border-structural); display: flex; flex-direction: column; align-items: center; padding: 8px 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; } .dock-top, .dock-bottom { flex-shrink: 0; width: 100%; display: flex; flex-direction: column; align-items: center; } .dock-apps { flex: 1; width: 100%; display: flex; flex-direction: column; align-items: center; padding: 4px 0; overflow-y: auto; } .dock-item { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 64px; min-height: 56px; padding: 6px 4px; background: none; border: none; border-radius: var(--radius-md); color: var(--text-secondary); cursor: pointer; transition: background var(--transition-fast), color var(--transition-fast); position: relative; } .dock-item:hover { background: var(--accent-hover); color: var(--text-primary); } .dock-item.active { background: var(--accent-dim); color: var(--accent); } .dock-item.active::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 20px; background: var(--accent); border-radius: 0 2px 2px 0; } .dock-icon { font-size: 20px; line-height: 1; margin-bottom: 2px; } .dock-logo .dock-icon { font-family: var(--font-mono); font-weight: 500; font-size: 24px; color: var(--accent); } .dock-label { font-family: var(--font-ui); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; color: inherit; opacity: 0.8; } .dock-separator { width: 36px; height: 1px; background: var(--border-structural); margin: 8px 0; } /* Badge dot */ .dock-item .badge { position: absolute; top: 6px; right: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }