/* ===== Terminal Windows (windows-terminal.css) — style Windows Terminal / PowerShell =====
   Fond sombre légèrement acrylique, onglet « Windows PowerShell », palette proche de « Campbell ».
   Sorties : apparition ligne par ligne (transform + opacity), coupée avec prefers-reduced-motion et l'interrupteur Animations. */

.window[data-id=terminal] { width: min(860px, calc(100vw - 80px)); height: min(520px, calc(100dvh - 140px)); background: #0c0c0c; border-color: #ffffff22; }
.window[data-id=terminal] > .window-head, .window[data-id=terminal]:not(.inactive) > .window-head { background: #1f1f1f; color: #e6e6e6; height: 40px; }
.window[data-id=terminal] > .window-head::before { display: none; }
.window[data-id=terminal] > .window-head strong { color: #e6e6e6; }
.window[data-id=terminal] .controls button { background: #2d2d2d; color: #e6e6e6; }
.window[data-id=terminal] .controls button:hover { background: #c42b1c; color: #fff; }
.window[data-id=terminal] > .window-body { padding: 0; overflow: hidden; display: flex; flex-direction: column; background: #0c0c0c; }

.wt { flex: 1 1 auto; min-height: 0; height: auto; display: flex; flex-direction: column; background: rgba(12, 12, 12, .96); color: #cccccc; font: 14px/1.5 'Cascadia Mono', 'IBM Plex Mono', Consolas, ui-monospace, monospace; }
.wt-tabs { flex: none; display: flex; align-items: flex-end; gap: 4px; padding: 6px 8px 0; background: #1f1f1f; color: #d0d0d0; font: 12px 'Segoe UI', 'DM Sans', system-ui, sans-serif; user-select: none; }
.wt-tab { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 8px 8px 0 0; background: #0c0c0c; color: #fff; }
.wt-tab i { font-style: normal; color: #61d6d6; font-family: 'Cascadia Mono', 'IBM Plex Mono', monospace; font-size: 11px; }
.wt-plus, .wt-chev { padding: 6px 9px; color: #9a9a9a; }
.wt-screen { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px 14px 14px; outline: none; scrollbar-width: thin; scrollbar-color: #5a5a5a #0c0c0c; cursor: text; }
.wt-screen::-webkit-scrollbar { width: 10px; }
.wt-screen::-webkit-scrollbar-track { background: #0c0c0c; }
.wt-screen::-webkit-scrollbar-thumb { background: #4a4a4a; border-radius: 99px; border: 2px solid #0c0c0c; }
.wt-screen::-webkit-scrollbar-thumb:hover { background: #6a6a6a; }
.wt-screen ::selection { background: #264f78; color: #fff; }
.wt-out, .wt-line { font: inherit; }
.wl { white-space: pre-wrap; overflow-wrap: anywhere; user-select: text; animation: wlIn .2s ease both; animation-delay: calc(var(--n, 0) * 14ms); }
.wl-cmd { color: #fff; }
.wl-cols { display: flex; flex-wrap: wrap; gap: 2px 22px; }
.wl-lnk { color: #61d6d6; text-underline-offset: 3px; }
.wl-lnk:hover { color: #9be8e8; }
.wt-line { display: flex; align-items: baseline; gap: 0; }
.wt-ps { flex: none; white-space: pre; }
.wt-in { flex: 1; min-width: 4ch; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; caret-color: #fff; border-radius: 0; box-shadow: none; }
.c-ps, .c-path { color: #cccccc; }
.c-path { color: #61d6d6; }
.c-y { color: #f9f1a5; font-weight: 700; }
.c-g { color: #16c60c; }
.c-c { color: #61d6d6; }
.c-r { color: #f2707c; }
.c-m { color: #d670d6; font-weight: 700; }
.c-b { color: #6ea0ff; }
.c-d { color: #8c8c8c; }
@keyframes wlIn { from { opacity: 0; transform: translateX(-6px); } }

@media (max-width: 700px) {
  .window[data-id=terminal] { width: calc(100vw - 80px); }
  .wt { font-size: 13px; height: clamp(260px, 62vh, 520px); }
  .wt-in { font-size: 16px; }       /* évite le zoom automatique du navigateur du téléphone */
  .wl-cols { gap: 2px 14px; }
}
@media (prefers-reduced-motion: reduce) { .wl { animation: none; } }
body.no-anim .wl { animation: none; }
