/* DUCKMON lab: a terminal that looks like Windows Terminal in any site theme. */
.duckmon-lab-page { max-width: 72rem; }
.duckmon-lab [hidden] { display: none !important; }
/* The text is sized to the page width; a scrollbar appearing would change the
   width and resize it again, so keep the scrollbar's space reserved. */
html:has(.duckmon-lab) { scrollbar-gutter: stable; }
.duckmon-lab__status { font-weight: 600; margin: 0 0 .5rem; min-height: 1.5em; }
.duckmon-lab__tilt { margin: 0 0 .5rem; }
.duckmon-lab__frame { background: #0c0c0c; border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); overflow: hidden; padding: 8px; }
.duckmon-lab__screen {
    background: #0c0c0c;
    color: #cccccc;
    cursor: text;
    font-family: "Cascadia Mono", "Cascadia Code", Consolas, "DejaVu Sans Mono", "Liberation Mono", Menlo, monospace;
    font-size: 14px;
    font-variant-ligatures: none;
    line-height: 1.18;
    white-space: pre;
}
/* lab.mjs sets the height to exactly 34 rows; longer screens scroll back. */
.duckmon-lab__screen { overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #555 #0c0c0c; }
.duckmon-lab__screen .dm-row { height: 1.18em; overflow: hidden; }
.duckmon-lab__screen .dm-probe { position: absolute; visibility: hidden; }
.duckmon-lab__screen .dm-cursor { animation: dm-blink 1s steps(1) infinite; background: #cccccc; color: #0c0c0c; }
@keyframes dm-blink { 50% { background: transparent; color: inherit; } }
@media (prefers-reduced-motion: reduce) { .duckmon-lab__screen .dm-cursor { animation: none; } }
.duckmon-lab__input { margin-top: .75rem; }
.duckmon-lab__typing-row { display: flex; gap: .5rem; }
.duckmon-lab__typing-row .field__control { flex: 1 1 auto; font-family: monospace; min-width: 0; }
.duckmon-lab__typing-row .button { margin: 0; width: auto; }
.duckmon-lab__taps { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.duckmon-lab__taps .dm-tap { margin: 0; min-height: 2.75rem; width: auto; }
.duckmon-lab__taps .dm-tap--main { font-weight: 700; }
.duckmon-lab__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.duckmon-lab__actions .button { margin: 0; width: auto; }
.duckmon-lab__saves { margin-top: 1.5rem; }
.duckmon-lab__save-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.duckmon-lab__save-buttons .button { margin: 0; width: auto; }
.duckmon-lab__file { cursor: pointer; }
.duckmon-lab__file input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.duckmon-lab__file:focus-within { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.duckmon-lab__code { font-family: monospace; font-size: .8rem; width: 100%; word-break: break-all; }
