/* Neutral ash separates the workspace dock from the market canvas. */
.has-dock { --dock-bottom: 0px; --dock-height: 30px; --dock-ash: #24262a; --dock-surface: #202226; --dock-line: #373a40; --dock-text: #eceef0; --dock-muted: #b1b5bc; padding-bottom: var(--dock-height); }
.aser-dock { position: fixed; z-index: 45; inset: auto 0 var(--dock-bottom); height: var(--dock-height); display: flex; align-items: stretch; background: var(--dock-ash); border-top: 1px solid #3c3f45; color: var(--dock-muted); font: 11px var(--font-body); }
.dock-actions,.dock-coins { display: flex; align-items: stretch; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.dock-actions { flex-shrink: 0; padding: 0 8px; gap: 0; border-right: 1px solid var(--dock-line); }
.aser-dock button,.dock-panel button { color: inherit; font: inherit; background: none; border: 0; cursor: pointer; }
.dock-actions button { display: flex; align-items: center; gap: 6px; padding: 0 12px; white-space: nowrap; border-radius: 0; font-weight: 500; position: relative; }
.dock-actions button::before { content: ''; width: 13px; height: 13px; flex-shrink: 0; background: currentColor; mask: var(--dock-icon) center / contain no-repeat; }
.dock-actions [data-dock=new] { --dock-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-11M15 4h6v6'/%3E%3C/svg%3E"); }
.dock-actions [data-dock=alerts] { --dock-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9M10 21h4'/%3E%3C/svg%3E"); }
.dock-actions [data-dock=favorites] { --dock-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9Z'/%3E%3C/svg%3E"); }
.dock-actions button[aria-expanded=true] { color: var(--dock-text); background: #2b2e33; }
.dock-actions button[aria-expanded=true]::after { content: ""; position: absolute; bottom: 0; left: 12px; right: 12px; height: 1px; background: var(--color-accent); }
.dock-actions button[aria-expanded=true]::before { color: var(--color-accent); }
.aser-dock button:hover { background: #303339; color: var(--dock-text); }
.aser-dock button:focus-visible,.dock-panel :is(button,a):focus-visible { outline: 2px solid var(--color-accent); outline-offset: -3px; }
.dock-coins { flex: 1; gap: 0; padding: 0 8px; }.dock-hint { align-self: center; padding: 0 10px; white-space: nowrap; color: var(--dock-muted); font-size: 11px; }
.dock-tab { display: flex; flex-shrink: 0; background: transparent; border-right: 1px solid #373a40; border-radius: 0; overflow: hidden; }
.dock-tab>button:first-child { padding: 0 11px; font-size: 10px; font-weight: 500; letter-spacing: .025em; }
.dock-tab:has(.active) { box-shadow: inset 0 1px #9298a2; }.dock-tab .active { color: var(--dock-text); background: #2c2f34; }
.dock-tab .dock-remove { padding: 0 7px; color: #858b95; font-size: 13px; }
.dock-panel { position: fixed; z-index: 46; bottom: calc(var(--dock-bottom) + var(--dock-height) + 8px); left: 10px; width: min(430px,calc(100vw - 20px)); max-height: min(460px,60dvh); display: flex; flex-direction: column; color: var(--dock-text); background: var(--dock-surface); border: 1px solid #41454c; box-shadow: 0 12px 38px #0008; border-radius: 7px; overflow: hidden; }
.dock-panel[hidden] { display: none; }.dock-panel header { display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 16px; background: var(--dock-ash); border-bottom: 1px solid var(--dock-line); }
.dock-panel h2 { font-size: 12px; font-weight: 550; margin: 0; flex: 1; }.dock-full { color: var(--dock-muted); font-size: 11px; text-decoration: none; }.dock-full:hover { color: var(--dock-text); text-decoration: underline; text-underline-offset: 3px; }
.dock-panel .dock-close { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 5px; font-size: 21px; color: var(--dock-muted); }.dock-panel .dock-close:hover { color: var(--dock-text); background: #41444b; }
.dock-list { overflow-y: auto; overscroll-behavior: contain; padding: 4px 0; scrollbar-color: #565b64 transparent; scrollbar-width: thin; }
.dock-panel .dock-row { display: flex; width: 100%; padding: 11px 16px; gap: 11px; align-items: center; text-align: left; border-bottom: 1px solid #35383d; }
.dock-panel .dock-row:last-child { border-bottom: 0; }.dock-panel .dock-row:hover { background: #2e3136; }
.dock-avatar { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #454a52; background: #2b2e34; border-radius: 6px; font-size: 11px; font-weight: 650; color: #e0e3e8; flex-shrink: 0; }
.dock-row-text { display: grid; gap: 4px; min-width: 0; flex: 1; }.dock-row-text b { font-size: 11px; font-weight: 550; letter-spacing: .015em; color: var(--dock-text); }.dock-row-text>span { font-size: 11px; line-height: 1.4; color: var(--dock-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dock-arrow { color: #9298a2; font-size: 15px; }.dock-row:hover .dock-arrow { color: var(--color-accent); }.dock-empty { padding: 28px 18px; font-size: 13px; color: var(--dock-muted); }
@media(max-width:700px) {
 html body.has-dock { --dock-bottom: calc(60px + env(safe-area-inset-bottom)); --dock-height: 38px; }
 html body.has-dock.coin-mode { --dock-bottom: calc(116px + env(safe-area-inset-bottom)); }
 .aser-dock { overflow-x:auto; }.dock-actions { padding: 0 3px; gap: 0; }.dock-actions button { padding: 0 8px; gap: 5px; font-size: 11px; }.dock-actions button::before { width: 13px; height: 13px; }
 .dock-coins { min-width: 92px; padding: 0 4px; }.dock-hint { display:none; }
 .dock-panel { left: 6px; width: calc(100vw - 12px); max-height: min(360px,48dvh); }
 .dock-panel header { gap: 8px; padding-left: 14px; }.dock-panel h2 { font-size: 12px; }.dock-full { font-size: 10px; }.dock-panel .dock-close { width: 32px; height: 32px; }
 html body.has-dock main { padding-bottom: calc(122px + env(safe-area-inset-bottom)); }
}
