/* Shared lab surfaces follow the selected theme, including embedded windows. */
body.desktop-page {
    /* Desktop is a dark instrument surface even when the surrounding shell is light. */
    --desk-bg-0: #08131b;
    --desk-bg-1: #0d202a;
    --desk-window: #10222d;
    --desk-window-2: #152f3c;
    --desk-surface-inset: #0d1c25;
    --desk-text: #e8f5f7;
    --desk-text-soft: #b9cbd4;
    --desk-muted: #91abb5;
    --desk-accent: var(--theme-accent, #6bd7e6);
    --desk-accent-2: var(--theme-accent-2, #2ca8c0);
    --desk-border: rgba(140, 198, 211, .2);
    --desk-success: #70bca8;
    --desk-warning: #edbb69;
    --desk-danger: #f28f8f;
    --desk-selection: color-mix(in srgb, var(--desk-accent) 12%, var(--desk-window));
    --desk-action-text: #ffffff;
    font-family: Inter, "Noto Sans SC", "Segoe UI", sans-serif;
    font-variant-numeric: tabular-nums;
}
html[data-theme="codex"] body.desktop-page {
    --desk-action-text: #08131b;
}

/* Desktop mode: instrument-control-room visual system. */
body.desktop-page:not(.desktop-embedded-mode) {
    --desktop-taskbar-reserve: 78px;
    background: var(--desk-bg-0) !important;
    background-image:
        linear-gradient(rgba(126, 196, 211, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(126, 196, 211, .045) 1px, transparent 1px),
        radial-gradient(880px 480px at 80% -15%, rgba(48, 151, 176, .18), transparent 64%),
        linear-gradient(145deg, var(--desk-bg-0) 0%, var(--desk-bg-1) 58%, var(--desk-bg-0) 100%) !important;
    background-size: 36px 36px, 36px 36px, auto, auto !important;
}
body.desktop-page:not(.desktop-embedded-mode) .ws-shell-topbar {
    --ws-shell-top-height: 58px;
    height: 58px;
    padding-inline: 18px;
    border-bottom: 1px solid rgba(140, 198, 211, .18);
    background: var(--desk-window) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
    backdrop-filter: blur(16px);
}
body.desktop-page:not(.desktop-embedded-mode) .ws-shell-brand-title {
    color: var(--desk-text);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.desktop-page:not(.desktop-embedded-mode) .ws-shell-link {
    min-height: 32px;
    padding-inline: 9px;
    border-color: transparent;
    border-radius: 5px;
    color: var(--desk-text-soft);
    background: transparent;
    font-size: 10px;
    white-space: nowrap;
    flex: 0 0 auto;
}
body.desktop-page:not(.desktop-embedded-mode) .ws-shell-link:hover,
body.desktop-page:not(.desktop-embedded-mode) .ws-shell-link[aria-current="page"] {
    color: var(--desk-text);
    background: rgba(107, 215, 230, .11);
    border-color: rgba(107, 215, 230, .28);
    transform: none;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-root { top: 58px; }
body.desktop-page:not(.desktop-embedded-mode) .desktop-backdrop {
    background-image: linear-gradient(rgba(126,196,211,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(126,196,211,.035) 1px, transparent 1px);
    background-size: 36px 36px;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-icons {
    inset: 18px 18px calc(var(--desktop-taskbar-reserve) + 10px) 18px;
    grid-auto-columns: minmax(108px, 124px);
    gap: 10px 14px;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon {
    min-height: 96px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--desk-window) 78%, transparent);
    border-color: rgba(140, 198, 211, .08);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon.selected {
    border-color: rgba(107, 215, 230, .55);
    background: var(--desk-selection);
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon .icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: var(--desk-accent);
    background: var(--desk-window-2);
    border-color: rgba(107, 215, 230, .25);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon .label { font-size: 11px; color: var(--desk-text-soft); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon .meta { color: var(--desk-muted); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-window {
    border-radius: 10px;
    border-color: rgba(140, 198, 211, .24);
    background: var(--desk-window);
    box-shadow: 0 22px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window.active {
    border-color: rgba(107, 215, 230, .72);
    box-shadow: 0 0 0 1px rgba(107,215,230,.18), 0 24px 52px rgba(0,0,0,.42);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-header {
    height: 42px;
    padding-inline: 14px;
    border-bottom-color: rgba(140,198,211,.16);
    background: var(--desk-window-2);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-title { color: var(--desk-text); font-weight: 700; letter-spacing: .02em; }
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-title i { color: var(--desk-accent); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-controls button {
    width: 24px;
    height: 24px;
    border-radius: 5px;
    background: var(--desk-surface-inset);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-body { top: 42px; background: var(--desk-surface-inset); }
body.desktop-page:not(.desktop-embedded-mode) .desk-app,
body.desktop-page:not(.desktop-embedded-mode) .explorer-app,
body.desktop-page:not(.desktop-embedded-mode) .docker-app,
body.desktop-page:not(.desktop-embedded-mode) .ai-app,
body.desktop-page:not(.desktop-embedded-mode) .collab-app,
body.desktop-page:not(.desktop-embedded-mode) .share-app,
body.desktop-page:not(.desktop-embedded-mode) .settings-app {
    background: var(--desk-surface-inset) !important;
    color: var(--desk-text-soft) !important;
}
body.desktop-page:not(.desktop-embedded-mode) .explorer-app .desk-toolbar,
body.desktop-page:not(.desktop-embedded-mode) .explorer-app .desk-toolbar.secondary,
body.desktop-page:not(.desktop-embedded-mode) .desk-breadcrumb,
body.desktop-page:not(.desktop-embedded-mode) .editor-tabs {
    background: var(--desk-window-2) !important;
    border-color: rgba(140,198,211,.16) !important;
}
body.desktop-page:not(.desktop-embedded-mode) .explorer-app .desk-toolbar button,
body.desktop-page:not(.desktop-embedded-mode) .desk-breadcrumb button,
body.desktop-page:not(.desktop-embedded-mode) .explorer-row-item,
body.desktop-page:not(.desktop-embedded-mode) .editor-tab {
    border-color: rgba(140,198,211,.22);
    border-radius: 6px;
    background: var(--desk-window-2);
    color: var(--desk-text-soft);
}
body.desktop-page:not(.desktop-embedded-mode) .explorer-app .desk-toolbar [data-act="path"] { background: var(--desk-surface-inset); }
body.desktop-page:not(.desktop-embedded-mode) .explorer-row-item:hover,
body.desktop-page:not(.desktop-embedded-mode) .explorer-row-item.selected,
body.desktop-page:not(.desktop-embedded-mode) .editor-tab.active { border-color: rgba(107,215,230,.66); background: var(--desk-selection); }
body.desktop-page:not(.desktop-embedded-mode) .explorer-row-item .icon { background: var(--desk-selection); color: var(--desk-accent); }
body.desktop-page:not(.desktop-embedded-mode) .explorer-empty,
body.desktop-page:not(.desktop-embedded-mode) .docker-empty,
body.desktop-page:not(.desktop-embedded-mode) .empty { color: var(--desk-muted); border-color: rgba(140,198,211,.28); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-taskbar {
    left: 14px;
    right: 14px;
    bottom: 10px;
    min-height: 52px;
    padding: 7px 10px;
    border-radius: 9px;
    border-color: rgba(140,198,211,.25);
    background: var(--desk-window) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.28);
    backdrop-filter: blur(16px);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-start-btn,
body.desktop-page:not(.desktop-embedded-mode) .desktop-tray-btn,
body.desktop-page:not(.desktop-embedded-mode) .desktop-clock,
body.desktop-page:not(.desktop-embedded-mode) .desktop-pin-chip,
body.desktop-page:not(.desktop-embedded-mode) .desktop-task-chip,
body.desktop-page:not(.desktop-embedded-mode) .desktop-vdesk-chip {
    border-color: rgba(140,198,211,.2);
    border-radius: 6px;
    background: var(--desk-window-2);
    color: var(--desk-text-soft);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-start-btn:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-tray-btn:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-clock:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-pin-chip:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-task-chip:hover,
body.desktop-page:not(.desktop-embedded-mode) .desktop-vdesk-chip.active {
    border-color: rgba(107,215,230,.7);
    color: var(--desk-text);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-resource-strip {
    min-width: 280px;
    border-radius: 6px;
    border-color: rgba(140,198,211,.22);
    background: var(--desk-surface-inset) !important;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-resource-strip:hover { border-color: rgba(107,215,230,.62); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-status { color: var(--desk-muted); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-version-anchor { border-radius: 5px; background: var(--desk-surface-inset); }
body.desktop-page:not(.desktop-embedded-mode) .desktop-start-menu,
body.desktop-page:not(.desktop-embedded-mode) .desktop-notify-center {
    border-radius: 10px;
    border-color: rgba(140,198,211,.28);
    background: var(--desk-window);
    box-shadow: 0 24px 52px rgba(0,0,0,.42);
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-start-head input,
body.desktop-page:not(.desktop-embedded-mode) .desktop-start-app,
body.desktop-page:not(.desktop-embedded-mode) .desktop-notify-item,
body.desktop-page:not(.desktop-embedded-mode) .desktop-notify-head button {
    border-radius: 6px;
    border-color: rgba(140,198,211,.2);
    background: var(--desk-window-2);
}
body.desktop-page:not(.desktop-embedded-mode) .settings-app {
    overflow: auto;
    padding: 12px;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-body > .settings-app {
    overflow: auto !important;
}
body.desktop-page:not(.desktop-embedded-mode) .settings-app .desk-form-grid {
    gap: 9px;
}
body.desktop-page:not(.desktop-embedded-mode) .settings-app .desk-form-grid label,
body.desktop-page:not(.desktop-embedded-mode) .settings-app .desk-performance-settings-link {
    font-size: 11px;
}
@media (max-width: 980px) {
    body.desktop-page:not(.desktop-embedded-mode) .ws-shell-topbar { height: 54px; }
    body.desktop-page:not(.desktop-embedded-mode) .desktop-root { top: 54px; }
    body.desktop-page:not(.desktop-embedded-mode) .desktop-taskbar { left: 8px; right: 8px; bottom: 6px; }
    body.desktop-page:not(.desktop-embedded-mode) .desktop-vdesk-switch {
        display: flex;
        align-items: center;
        gap: 3px;
        margin-right: 2px;
    }
    body.desktop-page:not(.desktop-embedded-mode) .desktop-vdesk-chip {
        min-width: 24px;
        min-height: 28px;
        padding-inline: 6px;
        font-size: 11px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.desktop-page * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Codex-like cloud workstation control surface. */
body.desktop-page:not(.desktop-embedded-mode) .desktop-icon.app-workstation .icon,
body.desktop-page:not(.desktop-embedded-mode) .desktop-pin-chip.app-workstation { color: var(--desk-accent); }
.workstation-app { height: 100%; overflow: auto; padding: 22px; color: var(--desk-text); background: radial-gradient(700px 260px at 0% 0%, rgba(103, 82, 201, .18), transparent 68%), var(--desk-surface-inset); }
.workstation-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--desk-border, rgba(140,198,211,.2)); }
.workstation-kicker { color:var(--desk-accent); font:700 10px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.16em; }
.workstation-head h2 { margin:7px 0 5px; font-size:22px; letter-spacing:-.02em; }
.workstation-head p { margin:0; max-width:620px; color:var(--desk-muted); font-size:12px; }
.workstation-security { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; padding:8px 10px; border:1px solid rgba(246,190,105,.3); border-radius:7px; color:var(--desk-warning); background:color-mix(in srgb, var(--desk-warning) 9%, var(--desk-window)); font-size:11px; }
.workstation-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr); gap:16px; margin-top:16px; }
.workstation-plan,.workstation-status { min-width:0; border:1px solid var(--desk-border,rgba(140,198,211,.2)); border-radius:10px; background:var(--desk-window); padding:15px; }
.workstation-section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:var(--desk-text-soft); font-size:12px; font-weight:700; letter-spacing:.02em; }
.workstation-section-head.compact { margin-top:18px; }
.workstation-section-head button { border:0; background:transparent; color:var(--desk-muted); cursor:pointer; }
.workstation-hint { color:var(--desk-muted); font:10px ui-monospace,monospace; font-weight:400; }
.workstation-plan textarea { width:100%; min-height:150px; resize:vertical; box-sizing:border-box; border:1px solid rgba(140,198,211,.24); border-radius:8px; padding:12px; color:var(--desk-text); background:var(--desk-surface-inset); outline:none; font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.workstation-plan textarea:focus { border-color:var(--desk-accent); box-shadow:0 0 0 2px rgba(158,145,237,.16); }
.workstation-drop { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:11px; padding:12px; border:1px dashed rgba(140,198,211,.36); border-radius:8px; color:var(--desk-muted); cursor:pointer; }
.workstation-drop.dragging,.workstation-drop:hover { border-color:var(--desk-accent); background:color-mix(in srgb, var(--desk-accent) 8%, var(--desk-window)); }
.workstation-drop > i { color:var(--desk-accent); font-size:17px; }
.workstation-drop strong { color:var(--desk-text-soft); font-size:12px; }
.workstation-drop > span { font-size:11px; }
.workstation-files { flex-basis:100%; display:flex; flex-wrap:wrap; gap:5px; }
.workstation-file { display:inline-flex; align-items:center; gap:5px; padding:3px 6px; border-radius:5px; background:var(--desk-window-2); color:var(--desk-text-soft); font-size:10px; }
.workstation-actions { display:flex; gap:8px; margin-top:14px; }
.workstation-actions button { border:1px solid rgba(140,198,211,.24); border-radius:7px; padding:8px 11px; color:var(--desk-text-soft); background:var(--desk-window-2); cursor:pointer; font-size:11px; }
.workstation-actions button.primary { border-color:rgba(158,145,237,.65); background:var(--desk-accent); color:var(--desk-action-text); }
.workstation-actions button:hover { filter:brightness(1.12); }
.workstation-note { display:flex; gap:7px; margin-top:14px; color:var(--desk-muted); font-size:10px; line-height:1.45; }
.workstation-note i { color:var(--desk-success); }
.workstation-stages { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; }
.workstation-stage { position:relative; text-align:center; color:var(--desk-muted); font-size:9px; }
.workstation-stage span { display:flex; align-items:center; justify-content:center; width:22px; height:22px; margin:0 auto 5px; border:1px solid rgba(140,198,211,.2); border-radius:50%; font:11px ui-monospace,monospace; }
.workstation-stage.active { color:var(--desk-accent); }.workstation-stage.active span { border-color:var(--desk-accent); background:color-mix(in srgb, var(--desk-accent) 14%, var(--desk-window)); color:var(--desk-text); }.workstation-stage.done { color:var(--desk-success); }.workstation-stage.done span { border-color:var(--desk-success); color:var(--desk-success); }
.workstation-status-line { display:flex; align-items:center; gap:8px; margin-top:16px; padding:9px; border-radius:7px; background:var(--desk-surface-inset); color:var(--desk-text-soft); font-size:11px; }
.workstation-status-line .dot { width:7px; height:7px; border-radius:50%; background:var(--desk-success); box-shadow:0 0 0 3px rgba(112,188,168,.15); }.workstation-status-line .dot.warn { background:var(--desk-warning); }.workstation-status-line .dot.error { background:var(--desk-danger); }.workstation-status-line .dot.active { background:var(--desk-accent); }
.workstation-tasks { display:flex; flex-direction:column; gap:5px; max-height:160px; overflow:auto; }.workstation-task { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; border:1px solid rgba(140,198,211,.14); border-radius:6px; padding:7px 8px; color:var(--desk-text-soft); background:var(--desk-window-2); text-align:left; cursor:pointer; font-size:10px; }.workstation-task em { color:var(--desk-muted); font:10px ui-monospace,monospace; }.workstation-task em.running,.workstation-task em.building { color:var(--desk-accent); }.workstation-task em.failed { color:var(--desk-danger); }.workstation-empty { color:var(--desk-muted); font-size:10px; padding:8px 2px; }.workstation-artifact { display:flex; gap:8px; align-items:center; margin-top:12px; padding:10px; border:1px dashed rgba(140,198,211,.18); border-radius:7px; color:var(--desk-muted); font-size:10px; }.workstation-artifact i { color:var(--desk-accent); }
@media (max-width:760px) { .workstation-app { padding:14px; }.workstation-head { flex-direction:column; }.workstation-grid { grid-template-columns:1fr; }.workstation-head h2 { font-size:18px; } }

/* Resizable desktop apps respond to their window, not the browser viewport. */
.desktop-window-body {
    container-name: desk-window;
    container-type: inline-size;
}
body.desktop-page .desktop-window-controls {
    flex: 0 0 auto;
}
body.desktop-page:not(.desktop-embedded-mode) .desktop-window-controls button {
    width: 28px;
    height: 28px;
}
body.desktop-page :is(button, a, input, select, textarea, [role="button"]):focus-visible {
    outline: 2px solid var(--desk-accent);
    outline-offset: 3px;
}
body.desktop-page :is(button, input, select, textarea):disabled {
    cursor: not-allowed;
    opacity: .55;
}
body.desktop-page .desktop-taskbar-left { overflow: hidden; }
body.desktop-page .desktop-pinned-items {
    min-width: 0;
    flex: 0 1 auto;
    overflow-x: auto;
    scrollbar-width: none;
}
body.desktop-page .desktop-pin-chip,
body.desktop-page .desktop-task-chip { flex-shrink: 0; }
body.desktop-page .desktop-task-items { flex-basis: 100px; }
body.desktop-page .desktop-resource-strip.expanded {
    right: 0;
    min-width: 0;
    width: min(390px, calc(100vw - 40px));
    max-height: min(420px, calc(100dvh - 160px));
    overflow: auto;
}
body.desktop-page .desktop-start-menu,
body.desktop-page .desktop-notify-center {
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
body.desktop-page .desk-toolbar :is(input, select) { max-width: 100%; }
body.desktop-page .desk-form-grid > *,
body.desktop-page .desk-form-grid :is(input, select),
.workstation-head > *,
.workstation-task > *,
.workstation-section-head > * { min-width: 0; }
.workstation-head h2 { font-weight: 650; line-height: 1.3; }
.workstation-head p { line-height: 1.6; }
.workstation-security { white-space: normal; line-height: 1.5; }
.workstation-section-head { gap: 10px; line-height: 1.5; }
.workstation-section-head .workstation-hint { text-align: right; }
.workstation-stage { overflow-wrap: anywhere; line-height: 1.5; }
.workstation-actions { flex-wrap: wrap; }
.workstation-actions button { min-height: 36px; }
.workstation-file,
.workstation-task,
.workstation-status-line,
.workstation-artifact,
.workstation-note { overflow-wrap: anywhere; }
.workstation-file { max-width: 100%; }
.workstation-status-line .dot { flex: 0 0 auto; }
.workstation-task { min-height: 40px; font-size: 11px; }
.workstation-task > em { flex: 0 0 auto; }
.workstation-status-line { border: 1px solid var(--desk-border); line-height: 1.5; }
.workstation-task em:is(.completed, .succeeded) { color: var(--desk-success); }
.workstation-task em:is(.awaiting_approval, .awaiting-approval, .queued, .blocked) { color: var(--desk-warning); }
.workstation-task em:is(.failed, .cancelled) { color: var(--desk-danger); }
body.desktop-page .docker-task-row:is(.completed, .success) .line-1 .status { color: var(--desk-success); }
body.desktop-page .docker-task-row:is(.failed, .error) .line-1 .status { color: var(--desk-danger); }
body.desktop-page .docker-task-row:is(.queued, .building, .paused) .line-1 .status { color: var(--desk-warning); }

@container desk-window (max-width: 720px) {
    .workstation-app { padding: 16px; }
    .workstation-head { flex-wrap: wrap; gap: 12px; }
    .workstation-grid { grid-template-columns: minmax(0, 1fr); }
    .workstation-tasks { max-height: 220px; }
    .desk-main.split.docker-main { grid-template-columns: minmax(0, 1fr); }
    .docker-list { max-height: 42%; border-right: 0; border-bottom: 1px solid var(--desk-border); }
}
@container desk-window (max-width: 440px) {
    .workstation-app { padding: 12px; }
    .workstation-head h2 { font-size: 18px; }
    .workstation-section-head { flex-wrap: wrap; }
    .workstation-section-head .workstation-hint { text-align: left; }
    .workstation-plan, .workstation-status { padding: 12px; }
    .desk-form-grid, .desk-form-grid.compact { grid-template-columns: minmax(0, 1fr); }
    .desk-actions-row { flex-wrap: wrap; }
    .docker-task-row { flex-wrap: wrap; }
    .docker-task-row .main { flex-basis: 100%; }
    .docker-task-row .actions { flex-wrap: wrap; }
}
@media (max-width: 620px) {
    body.desktop-page:not(.desktop-embedded-mode) { --desktop-taskbar-reserve: 74px; }
    body.desktop-page .desktop-taskbar { gap: 4px; }
    body.desktop-page .desktop-taskbar-right { gap: 4px; }
    body.desktop-page .desktop-pinned-items { max-width: 82px; }
    body.desktop-page .desktop-version-anchor { display: none; }
    body.desktop-page .desktop-task-chip { max-width: 120px; }
    body.desktop-page .desktop-task-chip .title { overflow: hidden; text-overflow: ellipsis; }
    body.desktop-page .desktop-clock { min-width: 48px; padding-inline: 4px; }
    body.desktop-page .desktop-start-menu,
    body.desktop-page .desktop-notify-center { max-height: calc(100dvh - 138px); }
}
@media (max-height: 540px) {
    .workstation-app { padding: 12px; }
    .workstation-head { padding-bottom: 12px; }
    .workstation-plan textarea { min-height: 100px; }
    body.desktop-page .desktop-start-menu,
    body.desktop-page .desktop-notify-center { max-height: calc(100dvh - 126px); }
}
@media (pointer: coarse) {
    body.desktop-page:not(.desktop-embedded-mode) .desktop-window-controls button { width: 32px; height: 32px; }
    body.desktop-page .desktop-pin-chip,
    body.desktop-page .desktop-vdesk-chip,
    body.desktop-page .desktop-tray-btn { min-width: 32px; min-height: 32px; }
    .workstation-actions button { min-height: 42px; }
}
