/* Scoped to the three standalone machine routes. */
.ifd-desktop-standalone { margin: 0; font: 16px system-ui, sans-serif; }
.ifd-desktop-standalone *, .ifd-desktop-standalone *::before, .ifd-desktop-standalone *::after { box-sizing: border-box; }
.ifd-desktop-standalone button, .ifd-desktop-standalone select, .ifd-desktop-standalone input { font: inherit; }
[data-machine-desktop] :focus-visible, .machine-review-bar :focus-visible { outline: 3px solid #2689c8; outline-offset: -2px; }
[data-machine-desktop] button { cursor: pointer; }
[data-machine-desktop] .lm-wallpaper::after { pointer-events: none; }
[data-machine-desktop] [data-desktop-window] { z-index: var(--window-order); min-width: 0; }
[data-machine-desktop] [data-desktop-window][data-maximised=false] {
  translate: calc(var(--window-placement, 0) * 10px) calc(var(--window-placement, 0) * 7px);
  right: max(7%, 120px); bottom: max(13%, 95px);
}
[data-machine-desktop] .computer-window[data-maximised=true] { inset: 7px; }
[data-machine-desktop] .computer-window[data-maximised=false] { bottom: max(10%, 65px); }
[data-machine-desktop] .computer-titlebar button { margin-left: 0; flex: none; }
[data-machine-desktop] .computer-titlebar strong { margin-right: auto; }
[data-machine-desktop] .computer-titlebar button:not(:last-child):hover { color: #122a3b; background: #e0ebf4; }
[data-machine-desktop] .computer-taskbar { z-index: 32; }
[data-machine-desktop] .lm-ubuntu-overview, [data-machine-desktop] .lm-kali-menu {
  z-index: 30; overflow: auto; max-height: 100%;
}
[data-machine-desktop] .lm-ubuntu-overview { padding: 4vh 8vw; }
[data-machine-desktop] .lm-overview-grid { margin: 3vh auto; gap: 9px; }
[data-machine-desktop] .lm-panel { z-index: 34; }
[data-machine-desktop] .lm-dock { z-index: 31; }
[data-machine-desktop] .lm-workspaces button { border: 1px solid #3d5c70; min-height: 24px; min-width: 24px; }
[data-machine-desktop] .lm-workspaces .is-active { color: white; background: #1d6388; }
.desktop-running {
  position: absolute; z-index: 31; bottom: 5px; right: 8px; left: 80px;
  display: flex; gap: 4px; overflow-x: auto; padding: 3px;
}
.desktop-running button {
  border: 1px solid #70879d; border-radius: 4px; padding: 4px 9px;
  background: #1e2b3b; color: white; font-size: .78rem; white-space: nowrap;
}
.desktop-running button[aria-current=true], [data-machine-desktop] .computer-taskbar button[aria-current=true] { box-shadow: inset 0 -3px #59a7d5; }
.desktop-content {
  flex: 1; min-height: 0; overflow: auto; padding: 1rem;
  color: #182632; background: #f9fbfd; font-size: .92rem;
}
.desktop-content :is(h2,h3,p,pre) { margin: 0 0 .8rem; }
.desktop-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.desktop-content form { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-bottom: 1rem; }
.desktop-content button, .lm-settings button {
  border: 1px solid #a6b5c1; border-radius: 5px; padding: 5px 9px;
  color: #172535; background: #f5f8fa;
}
.desktop-content button:hover, .lm-settings button:hover { background: #e1eef7; }
.desktop-content textarea { display: block; width: 100%; min-height: 12rem; margin: .55rem 0; }
.desktop-content table { width: 100%; border-collapse: collapse; }
.desktop-content th, .desktop-content td { text-align: left; padding: 6px; border-bottom: 1px solid #d7e2ea; }
.desktop-content dt { margin-top: .6rem; color: #4b6376; }
.desktop-content dd { margin: 0; overflow-wrap: anywhere; }
.desktop-content .desktop-filepath { overflow-wrap: anywhere; }
.desktop-content [role=status], .desktop-status { min-height: 1.2em; color: #244963; }
.desktop-status { padding: 4px 8px; margin: 0; font-size: .84rem; }
.desktop-context { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 6px 8px; }
.desktop-context button { padding: 4px 7px; border: 1px solid #9fb0bd; border-radius: 5px; color: #183346; background: #f2f7fb; }
.desktop-context code { overflow-wrap: anywhere; }
[data-machine-desktop] .lm-settings>aside button { text-align: left; }
[data-machine-desktop] .computer-taskbar .desktop-task-group { display: flex; gap: 2px; min-width: 0; overflow-x: auto; }
[data-machine-desktop] .computer-taskbar .desktop-task-group button { flex: none; }
@media (max-width: 760px) {
  [data-machine-desktop] [data-desktop-window][data-maximised=false] { right: 6px; bottom: 100px; translate: none; }
  [data-machine-desktop] .lm-window[data-maximised=true] { bottom: 99px; }
  [data-machine-desktop] .is-kali .lm-window[data-maximised] { bottom: 43px; }
  [data-machine-desktop] .computer-window[data-maximised] { inset: 5px; }
  [data-machine-desktop] .lm-wallpaper { min-height: 650px; }
  [data-machine-desktop] .lm-dock { bottom: 39px; padding: 2px; }
  [data-machine-desktop] .lm-dock button { width: 41px; height: 41px; }
  [data-machine-desktop] .lm-kali-panel { display: flex; justify-content: space-between; }
  [data-machine-desktop] .lm-workspaces { display: flex; }
  [data-machine-desktop] .desktop-running { left: 6px; right: 6px; }
  [data-machine-desktop] .lm-file-main form input { display: block; min-width: 0; }
  [data-machine-desktop] .lm-file-main .lm-breadcrumb { display: none; }
  [data-machine-desktop] .lm-settings>aside { display: flex; flex-wrap: wrap; }
  [data-machine-desktop] .computer-taskbar { justify-content: start; }
  [data-machine-desktop] .computer-tray { display: none; }
  [data-machine-desktop] .lm-terminal-output pre, [data-machine-desktop] .computer-terminal pre { white-space: pre-wrap; overflow-wrap: anywhere; }
}
[data-machine-desktop] .lm-window-terminal .lm-window-controls button { color: #e2e5e9; }
[data-machine-desktop] .lm-window-terminal .lm-window-controls button:hover { background: #ffffff22; }
[data-machine-desktop] .lm-window-terminal .lm-window-controls button:last-child:hover { background: #a52e37; }
[data-machine-desktop] .desktop-network-form { display: flex; flex-wrap: wrap; gap: .6rem; padding: .75rem 0; }
[data-machine-desktop] .desktop-network-form label { display: grid; gap: .2rem; }
[data-machine-desktop] .desktop-network-form input { width: 12ch; }
[data-machine-desktop] .lm-settings button { margin-top: .3rem; }
[data-machine-desktop] .computer-file-toolbar { flex-wrap: wrap; }
[data-machine-desktop] .computer-file-toolbar strong { overflow-wrap: anywhere; }
[data-machine-desktop] .lm-toast { z-index: 33; pointer-events: none; }
.desktop-resize { display: none; }
@media (min-width: 761px) {
  [data-machine-desktop] [data-desktop-window][data-maximised=false] {
    width: var(--desktop-width, auto); height: var(--desktop-height, auto);
    transform: translate(var(--desktop-x, 0px), var(--desktop-y, 0px));
  }
  [data-machine-desktop] [data-desktop-window][data-maximised=false] :is(.computer-titlebar, .lm-titlebar) {
    cursor: grab; touch-action: none; user-select: none;
  }
  [data-machine-desktop] [data-desktop-window][data-maximised=false] .desktop-resize {
    display: block; position: absolute; right: 0; bottom: 0; width: 18px; height: 18px;
    background: linear-gradient(135deg, transparent 45%, #758a9c 46% 54%, transparent 55% 65%, #758a9c 66% 73%, transparent 74%);
    cursor: nwse-resize; touch-action: none;
  }
}

:is(body.ifd-machine-active, body.ifd-rw-active) [data-machine-desktop] .computer-start-menu {
  bottom: 8px; max-height: calc(100% - 16px); overflow: auto; align-content: start;
}
:is(body.ifd-machine-active, body.ifd-rw-active) [data-machine-desktop] .desktop-powershell {
  background: #11263f; color: #edf3ff;
}
[data-machine-desktop] .desktop-powershell :is(label, .computer-command-entry pre) { color: #edf3ff; }
[data-machine-desktop] .desktop-powershell > p { color: #c2d5ea; }
[data-machine-desktop] .desktop-content td { overflow-wrap: anywhere; }
[data-machine-desktop] .lm-toast { bottom: 45px; max-width: min(82%, 35rem); }
[data-machine-desktop] .lm-menu-category {
  grid-column: 1 / -1; padding: 4px 8px; color: #b6d2e4; font-size: 11px;
}
@media (max-width: 760px) {
  [data-machine-desktop] .is-ubuntu .lm-toast { bottom: 90px; }
}
[data-desktop-window="events"] td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }

[data-machine-desktop] .lm-inline-command {
  display: flex; align-items: baseline; gap: 1ch; margin: 0;
  font: 12px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
}
[data-machine-desktop] .lm-inline-command label { flex: none; font: inherit; }
[data-machine-desktop] .lm-inline-command input {
  appearance: none; flex: 1; min-width: 0; padding: 0; border: 0;
  background: transparent; color: inherit; caret-color: currentColor; font: inherit;
}
#ifd-linux-machine[data-machine-desktop] .lm-inline-command input:focus-visible { outline: none; }
