/* ============================================================================
   secos-vm.css — SecOS-VM: the client-side Linux sandbox app window.
   All rules html[data-secos]-scoped (inert with the flag off). Signal tokens,
   JetBrains Mono, zero-radius.
   ========================================================================== */
html[data-secos] .tl-win-body.vm-page { padding: 0; overflow: hidden; display: flex; flex-direction: column; background: var(--bg-inset, #0a0810); }

/* ── toolbar ──────────────────────────────────────────────────────────────── */
html[data-secos] .vm-bar {
    flex: none; display: flex; align-items: center; gap: 8px; padding: 6px 10px;
    background: var(--bg-2, #16121f); border-bottom: 1px solid var(--line-2, #342c47);
    font-family: 'JetBrains Mono', monospace;
}
html[data-secos] .vm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ink-4, #5b5470); flex: none; box-shadow: 0 0 0 0 transparent; transition: background .2s; }
html[data-secos] .vm-page[data-running] .vm-dot,
html[data-secos] .vm-status[data-mode="ok"] ~ * .vm-dot { background: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-title { font-size: 11px; letter-spacing: .12em; color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-spacer { flex: 1; }
html[data-secos] .vm-btn {
    padding: 5px 11px; cursor: pointer; font-family: 'JetBrains Mono', monospace; font-size: 11px;
    background: transparent; color: var(--ink-2, #b6afc8); border: 1px solid var(--line-2, #342c47); letter-spacing: .03em;
}
html[data-secos] .vm-btn:hover:not(:disabled) { border-color: var(--violet-bright, #a78bfa); color: var(--ink, #f5f3fa); }
html[data-secos] .vm-btn:disabled { opacity: .4; cursor: default; }

/* ── stage (the emulator screen) ─────────────────────────────────────────── */
html[data-secos] .vm-stage { flex: 1; min-height: 0; position: relative; display: grid; place-items: center; overflow: auto; background: #000; }
html[data-secos] .vm-screen { position: relative; outline: none; color: #cfcfcf; }
html[data-secos] .vm-screen:focus { box-shadow: 0 0 0 1px var(--violet, #8b5cf6); }
html[data-secos] .vm-text { color: #d0d0d0; background: #000; }
html[data-secos] .vm-canvas { image-rendering: pixelated; max-width: 100%; }

/* ── boot loader overlay ─────────────────────────────────────────────────── */
html[data-secos] .vm-boot { position: absolute; inset: 0; display: grid; place-items: center; gap: 14px; text-align: center; background: var(--bg-inset, #0a0810); }
html[data-secos] .vm-boot-mark { font-family: 'JetBrains Mono', monospace; font-size: 13px; letter-spacing: .14em; color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-boot-bar { width: 220px; height: 2px; background: rgba(167, 139, 250, .18); overflow: hidden; }
html[data-secos] .vm-boot-bar i { display: block; height: 100%; width: 100%; background: var(--violet-bright, #a78bfa); transform: translateX(-100%); animation: vmBoot 1.1s cubic-bezier(.5, .1, .3, 1) infinite; }
@keyframes vmBoot { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
html[data-secos] .vm-boot-sub { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-3, #837b96); letter-spacing: .05em; }
@media (prefers-reduced-motion: reduce) { html[data-secos] .vm-boot-bar i { animation: none; transform: none; } }

/* ── footer status ───────────────────────────────────────────────────────── */
html[data-secos] .vm-foot { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 10px; background: var(--bg-2, #16121f); border-top: 1px solid var(--line-2, #342c47); font-family: 'JetBrains Mono', monospace; font-size: 10px; }
html[data-secos] .vm-status { color: var(--ink-3, #837b96); letter-spacing: .06em; }
html[data-secos] .vm-status[data-mode="ok"] { color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-status[data-mode="err"] { color: #f4a; }
html[data-secos] .vm-hint { color: var(--ink-4, #5b5470); }

/* ── Tier A resume prompt (boot overlay) ─────────────────────────────────── */
html[data-secos] .vm-resume { display: flex; gap: 10px; margin-top: 6px; }
html[data-secos] .vm-btn--go { background: var(--violet, #8b5cf6); color: #fff; border-color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-btn--go:hover:not(:disabled) { filter: brightness(1.1); }

/* ── Tier C passphrase overlay ───────────────────────────────────────────── */
html[data-secos] .vm-pass { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; background: rgba(10, 8, 16, .82); }
html[data-secos] .vm-pass-box { width: min(420px, 86%); padding: 20px; background: var(--bg-1, #110e1a); border: 1px solid var(--line-2, #342c47); display: flex; flex-direction: column; gap: 10px; font-family: 'JetBrains Mono', monospace; }
html[data-secos] .vm-pass-h { font-size: 11px; letter-spacing: .1em; color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-pass-in { padding: 9px 10px; font-family: 'JetBrains Mono', monospace; font-size: 12px; background: var(--bg-2, #16121f); color: var(--ink, #f5f3fa); border: 1px solid var(--line-2, #342c47); }
html[data-secos] .vm-pass-in:focus { outline: none; border-color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-pass-note { font-size: 9.5px; color: var(--ink-3, #837b96); line-height: 1.5; }
html[data-secos] .vm-pass-err { font-size: 10px; color: #f4a; min-height: 12px; }
html[data-secos] .vm-pass-row { display: flex; gap: 8px; margin-top: 2px; }

/* ── "load intel" toolbar action + overlay ───────────────────────────────── */
html[data-secos] .vm-btn--load { border-color: var(--violet, #8b5cf6); color: var(--violet-bright, #a78bfa); }
html[data-secos] .vm-btn--load:hover:not(:disabled) { background: var(--violet, #8b5cf6); color: #fff; }
html[data-secos] .vm-load .vm-pass-box { width: min(560px, 92%); }
html[data-secos] .vm-load .vm-load-body { width: 100%; box-sizing: border-box; line-height: 1.5; }
