mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-11-10 12:47:44 +08:00
63 lines
1.6 KiB
CSS
63 lines
1.6 KiB
CSS
.bubble {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
position: fixed;
|
|
z-index: 100;
|
|
/* Fixed-position shrink-to-fit measures only the space from `left` to the
|
|
viewport edge, so anchors near the right edge would wrap early;
|
|
max-content sizes by the label alone, capped at half the viewport. */
|
|
width: max-content;
|
|
max-width: 50vw;
|
|
padding: 3px 7px;
|
|
border-radius: var(--dsw-radius-sm);
|
|
background: var(--dsw-alias-tooltip-bg);
|
|
color: var(--dsw-static-neutral-bluish-00);
|
|
font-size: 13px;
|
|
line-height: 20px;
|
|
white-space: pre-line;
|
|
/* Unbreakable tokens (URLs, paths) must not push past max-width. */
|
|
overflow-wrap: break-word;
|
|
pointer-events: none;
|
|
animation: tooltip-in 150ms var(--ds-ease-in-out);
|
|
}
|
|
|
|
.bubble[data-portal] { z-index: 1100; }
|
|
.label { min-width: 0; }
|
|
|
|
/* A 16px keycap centered beside a 20px label has 5px of vertical clearance. */
|
|
.bubble[data-has-shortcut] { padding-inline-end: 5px; }
|
|
.bubble[data-has-shortcut]:not(:has(.label)) { padding: 3px; }
|
|
|
|
.bubble[data-side='right'] {
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
.bubble[data-side='bottom'] {
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.bubble[data-side='top'] {
|
|
transform: translate(-50%, -100%);
|
|
}
|
|
|
|
/* End alignment: `left` carries the anchor's right edge, so the bubble sits
|
|
fully left of it instead of centering. */
|
|
.bubble[data-side='bottom'][data-align='end'] {
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
.bubble[data-side='top'][data-align='end'] {
|
|
transform: translate(-100%, -100%);
|
|
}
|
|
|
|
@keyframes tooltip-in {
|
|
from { opacity: 0; }
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.bubble {
|
|
animation: none;
|
|
}
|
|
}
|