102 lines
2.2 KiB
CSS
102 lines
2.2 KiB
CSS
|
|
/* Geometry mirrors CodeBlock (12px radius, code-block surface + banner rows,
|
||
|
|
markdown code-block font) so a terminal card and a fenced code block read as
|
||
|
|
one family. The one deliberate divergence: output keeps `white-space: pre`
|
||
|
|
and scrolls horizontally, because folding a column-aligned command's output
|
||
|
|
destroys its alignment. */
|
||
|
|
|
||
|
|
.block {
|
||
|
|
--dsl-terminal-radius: 12px;
|
||
|
|
--dsl-terminal-line-height: 22px;
|
||
|
|
|
||
|
|
position: relative;
|
||
|
|
margin: 16px 0;
|
||
|
|
color: var(--dsw-alias-label-primary);
|
||
|
|
background: var(--dsw-alias-markdown-code-block);
|
||
|
|
border-radius: var(--dsl-terminal-radius);
|
||
|
|
}
|
||
|
|
|
||
|
|
.header {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
gap: 12px;
|
||
|
|
padding: 9px 14px;
|
||
|
|
background: var(--dsw-alias-markdown-code-block-banner);
|
||
|
|
border-top-left-radius: var(--dsl-terminal-radius);
|
||
|
|
border-top-right-radius: var(--dsl-terminal-radius);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* The prompt row is the only element allowed to shrink; the status pill and
|
||
|
|
the copy control keep their intrinsic width. */
|
||
|
|
.prompt {
|
||
|
|
display: flex;
|
||
|
|
align-items: baseline;
|
||
|
|
gap: 8px;
|
||
|
|
min-width: 0;
|
||
|
|
flex: 1;
|
||
|
|
font: var(--dsw-font-markdown-code-block);
|
||
|
|
}
|
||
|
|
|
||
|
|
.cwd {
|
||
|
|
flex: none;
|
||
|
|
color: var(--dsw-alias-label-tertiary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.command {
|
||
|
|
min-width: 0;
|
||
|
|
color: var(--dsw-alias-label-primary);
|
||
|
|
overflow: hidden;
|
||
|
|
text-overflow: ellipsis;
|
||
|
|
white-space: nowrap;
|
||
|
|
}
|
||
|
|
|
||
|
|
.status {
|
||
|
|
flex: none;
|
||
|
|
color: var(--dsw-alias-state-error-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.copyButton {
|
||
|
|
flex: none;
|
||
|
|
background-color: transparent;
|
||
|
|
border: none;
|
||
|
|
padding: 0;
|
||
|
|
margin: 0;
|
||
|
|
color: var(--dsw-alias-label-secondary);
|
||
|
|
cursor: pointer;
|
||
|
|
font: var(--dsw-font-xs-13);
|
||
|
|
}
|
||
|
|
|
||
|
|
.output {
|
||
|
|
padding: 12px 14px;
|
||
|
|
font: var(--dsw-font-markdown-code-block);
|
||
|
|
overflow-x: auto;
|
||
|
|
overflow-y: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* No wrapping, no word-break: alignment is the payload of terminal output. */
|
||
|
|
.line {
|
||
|
|
min-height: var(--dsl-terminal-line-height);
|
||
|
|
white-space: pre;
|
||
|
|
}
|
||
|
|
|
||
|
|
.expand {
|
||
|
|
display: block;
|
||
|
|
width: 100%;
|
||
|
|
padding: 0;
|
||
|
|
border: none;
|
||
|
|
background-color: transparent;
|
||
|
|
color: var(--dsw-alias-label-tertiary);
|
||
|
|
cursor: pointer;
|
||
|
|
font: inherit;
|
||
|
|
text-align: left;
|
||
|
|
}
|
||
|
|
|
||
|
|
.expand:hover {
|
||
|
|
color: var(--dsw-alias-label-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.empty {
|
||
|
|
padding: 12px 14px;
|
||
|
|
font: var(--dsw-font-markdown-code-block);
|
||
|
|
color: var(--dsw-alias-label-tertiary);
|
||
|
|
}
|