/* ---------- Terminal dock (docked to the bottom of the page) ---------- */
.usmt-term {
    --usmt-term-h: 340px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1900;
    font-family: 'Segoe UI', sans-serif;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.35);
}
/* Page bottom padding for the dock is set in layout.css from its measured height */

.usmt-term-resize { height: 5px; cursor: ns-resize; background: transparent; }
.usmt-term.collapsed .usmt-term-resize { display: none; }

.usmt-term-bar {
    display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 10px;
    background: #1f2937; color: #d1d5db; border-top: 1px solid #374151; overflow: hidden;
}
.usmt-term-toggle, .usmt-term-tab, .usmt-term-btn {
    background: transparent; border: 1px solid transparent; color: #d1d5db; cursor: pointer;
    font: inherit; font-size: 0.85em; padding: 4px 10px; border-radius: 4px; white-space: nowrap;
}
.usmt-term-toggle { font-weight: 600; color: #fff; display: inline-flex; align-items: center; gap: 6px; line-height: 1; }
.usmt-term-toggle:hover, .usmt-term-tab:hover, .usmt-term-btn:hover { background: rgba(255,255,255,0.08); }
.usmt-term-chevron { width: 11px; height: 11px; flex: 0 0 11px; display: block; transition: transform 0.2s; }
.usmt-term:not(.collapsed) .usmt-term-chevron { transform: rotate(180deg); }
.usmt-term-tabs { display: flex; gap: 2px; min-width: 0; }
.usmt-term-tab { font-family: Consolas, 'Cascadia Mono', 'Courier New', monospace; position: relative; }
.usmt-term-tab.active { background: #012456; border-color: #2b4a7a; color: #fff; }
.usmt-term-tab.unread::after {
    content: ''; position: absolute; top: 4px; right: 3px; width: 6px; height: 6px; border-radius: 50%; background: #16c60c;
}
.usmt-term-live {
    margin-left: auto; display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.72em; font-weight: 700; letter-spacing: 1px; color: #86efac; white-space: nowrap;
}
.usmt-term-live i { width: 7px; height: 7px; border-radius: 50%; background: #16c60c; animation: usmt-pulse 1.6s infinite; }
@keyframes usmt-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
.usmt-term-legend { display: inline-flex; align-items: center; gap: 6px; font-size: 0.75em; color: #9ca3af; white-space: nowrap; cursor: help; }
.usmt-term-legend-dot { width: 7px; height: 7px; border-radius: 50%; background: #f9f1a5; opacity: 0.8; }
.usmt-term-follow.active { border-color: #4b5563; color: #fff; }

.usmt-term-window { height: var(--usmt-term-h); display: flex; flex-direction: column; background: #012456; }
.usmt-term.collapsed .usmt-term-window { display: none; }
.usmt-term-titlebar {
    height: 32px; flex: 0 0 32px; display: flex; align-items: center; gap: 10px; padding: 0 8px 0 12px;
    background: #0c0c0c; color: #cccccc; font-size: 0.78em; border-bottom: 1px solid #1b1b1b;
}
.usmt-term-wtitle { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.usmt-term-titlebar .usmt-term-legend { font-size: 1em; }
.usmt-term-titlebar .usmt-term-follow { font-size: 1em; padding: 3px 10px; }
.usmt-term-screens { flex: 1; min-height: 0; position: relative; }
.usmt-term-body {
    display: none; position: absolute; inset: 0; overflow: auto; padding: 8px 12px 14px 18px;
    font-family: Consolas, 'Cascadia Mono', 'Courier New', monospace; font-size: 13px; line-height: 1.35;
    color: #cccccc; background: #012456; white-space: pre-wrap; word-break: break-all;
}
.usmt-term-body.active { display: block; }
.usmt-term-line { position: relative; min-height: 1.35em; }
.usmt-term-line.sim::before {
    content: ''; position: absolute; left: -12px; top: 0.5em; width: 6px; height: 6px; border-radius: 50%; background: #f9f1a5; opacity: 0.8;
}

/* PowerShell ConsoleColor -> Windows Terminal "Campbell Powershell" palette */
.c-Default, .c-Gray { color: #cccccc; }
.c-Prompt   { color: #cccccc; }
.c-Black    { color: #0c0c0c; }
.c-DarkBlue { color: #0037da; }
.c-DarkGreen { color: #13a10e; }
.c-DarkCyan { color: #3a96dd; }
.c-DarkRed  { color: #c50f1f; }
.c-DarkMagenta { color: #b25fc7; }
.c-DarkYellow { color: #c19c00; }
.c-DarkGray { color: #8a8a8a; }
.c-Blue     { color: #3b78ff; }
.c-Green    { color: #16c60c; }
.c-Cyan     { color: #61d6d6; }
.c-Red      { color: #e74856; }
.c-Magenta  { color: #d65fd0; }
.c-Yellow   { color: #f9f1a5; }
.c-White    { color: #f2f2f2; }

/* ---------- Demo pill + about dialog ---------- */
.usmt-demo-pill {
    background: #f59e0b; color: #1f2937; border: none; border-radius: 999px; cursor: pointer;
    font-weight: 800; font-size: 0.72em; letter-spacing: 1.5px; padding: 5px 10px; flex-shrink: 0;
}
.usmt-demo-pill:hover { background: #fbbf24; }

.usmt-demo-modal {
    display: none; position: fixed; inset: 0; z-index: 3000; background: rgba(0,0,0,0.6);
    align-items: center; justify-content: center; padding: 16px;
}
.usmt-demo-modal.show { display: flex; }
.usmt-demo-card {
    background: var(--bg-card, #fff); color: var(--text-main, #333); max-width: 640px; width: 100%;
    max-height: calc(100vh - 32px); overflow: auto; border-radius: 10px; padding: 26px 28px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.45); border-top: 5px solid #f59e0b; line-height: 1.55;
}
.usmt-demo-card h2 { margin: 0 0 10px; }
.usmt-demo-card p { margin: 0 0 12px; font-size: 0.95em; }
.usmt-demo-card code { background: rgba(127,127,127,0.18); padding: 1px 5px; border-radius: 3px; font-size: 0.9em; }
.usmt-demo-try { color: var(--text-muted, #666); }
.usmt-demo-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-top: 18px; }
.usmt-demo-actions button { border: 1px solid var(--border-color, #ddd); background: transparent; color: inherit; padding: 8px 14px; border-radius: 6px; cursor: pointer; font: inherit; font-size: 0.9em; }
.usmt-demo-actions .usmt-demo-close { background: #3498db; border-color: #3498db; color: #fff; font-weight: 600; }
.usmt-demo-actions .usmt-demo-reset { color: #e74c3c; border-color: #e74c3c; margin-right: auto; }

@media (max-width: 700px) {
    .t-long { display: none; }                             /* "Server" / "Worker", shorter titles */
    .usmt-term-bar { gap: 4px; padding: 0 8px; }
    .usmt-term-toggle { padding: 4px 6px; }
    .usmt-term-tabs { flex: 0 1 auto; min-width: 0; }
    .usmt-term-tab { padding: 4px 10px; font-size: 0.8em; }
    .usmt-term { --usmt-term-h: 45vh; }
    .usmt-term-body { font-size: 11.5px; padding: 6px 8px 10px 14px; }
    .usmt-term-titlebar { font-size: 0.7em; }
    .usmt-demo-card { padding: 18px 16px; }
    .usmt-demo-card h2 { font-size: 1.25em; }
    .usmt-demo-actions button { flex: 1 1 auto; }
    .usmt-demo-actions .usmt-demo-reset { margin-right: 0; }
}
@media (max-height: 500px) {
    .usmt-term { --usmt-term-h: 55vh; }                   /* phones in landscape */
}
