/* owned.css: the RAT infestation (owned.js). Windows are ordinary 98.css windows made by desk95.spawn; this is their
   insides, the full-screen finale, the scanner and the skull. Reduced motion: nothing here blinks or moves. */

/* the download dialog */
.owned-dl-title { margin: 0 0 6px; font-weight: bold; }
.owned-dl-row { display: flex; gap: 8px; align-items: center; margin: 0 0 8px; }
.owned-dl-ico { font-size: 24px; line-height: 1; }
.owned-dl-eta { margin: 6px 0; font-size: 11px; }
.owned-dl-check { display: block; margin-top: 6px; font-size: 11px; }
/* a Win95 progress bar: sunken track, segmented navy fill */
.owned-bar { height: 16px; box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a; padding: 3px; background: #fff; }
.owned-bar-fill { display: block; height: 100%; width: 0; background: repeating-linear-gradient(90deg, #000080 0 8px, transparent 8px 10px); transition: width .12s linear; }

/* the chat */
.owned-chat-log { background: #fff; border: 1px solid #888; box-shadow: inset 1px 1px #0a0a0a; padding: 6px 8px; min-height: 90px; max-height: 160px; overflow: auto; font-family: "Courier New", monospace; font-size: 12px; }
.owned-line { margin: 0 0 4px; line-height: 1.35; }
.owned-line b { color: #a00000; }
.owned-sys { color: #666; font-style: italic; }
.owned-chat-row { margin-top: 8px; }
.owned-chat-row input { flex: 1; min-width: 0; }

/* the canvases: MATRIX.EXE and the webcam */
.owned-canvas { position: relative; width: 100%; height: 170px; background: #000; overflow: hidden; }
.owned-rec { position: absolute; top: 6px; left: 8px; z-index: 1; color: #f00; font: bold 12px/1 Arial, sans-serif; letter-spacing: 1px; text-shadow: 0 0 4px #f00; animation: owned-blink 1s steps(1) infinite; }
@keyframes owned-blink { 50% { opacity: 0; } }

/* the passwords */
.owned-pw p { margin: 0 0 6px; }
.owned-pw-list { margin: 0 0 8px; padding: 6px 10px; list-style: none; background: #000; color: #0f0; font-family: "Courier New", monospace; font-size: 13px; }
.owned-pw-list li::before { content: "> "; color: #0a0; }

/* the CD tray toast */
.toast-owned .title-bar { background: linear-gradient(90deg, #000080, #800000, #000080); }

/* the skull on the wallpaper: over the tiled text, under the desktop */
#owned-skull { position: fixed; left: 50%; top: 45%; transform: translate(-50%, -50%); z-index: 0; margin: 0; padding: 12px 20px; pointer-events: none; user-select: none; white-space: pre; text-align: center;
  font: bold 18px/1.1 "Courier New", monospace; color: #ff00cc; text-shadow: 2px 2px 0 #000, 0 0 12px #ff00cc; background: rgba(0,0,0,.75); border: 2px dashed #ff00cc; box-shadow: none; }

/* the task manager */
.owned-tm-tabs { display: flex; gap: 2px; margin-bottom: -1px; }
.owned-tm-tabs span { padding: 3px 10px; background: silver; box-shadow: inset -1px 0 #0a0a0a, inset 1px 1px #fff, inset -2px 0 grey; font-size: 11px; }
.owned-tm-tabs span.on { background: var(--win-bg, #c0c0c0); font-weight: bold; position: relative; top: 1px; }
.owned-tm-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #888; box-shadow: inset 1px 1px #0a0a0a; font-size: 11px; }
.owned-tm-table th { text-align: left; background: silver; padding: 2px 6px; box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff; font-weight: normal; }
.owned-tm-table td { padding: 2px 6px; border-bottom: 1px dotted #ddd; }
.owned-tm-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.owned-tm-status { margin: 6px 0 0; font-size: 11px; box-shadow: inset -1px -1px #fff, inset 1px 1px grey; padding: 2px 6px; }
.owned-tm-row { justify-content: flex-end; margin-top: 8px; }

/* the finale: over everything on the desktop, under the boot screen and the cursor trail */
#owned-finale { position: fixed; inset: 0; z-index: 5500; display: flex; align-items: center; justify-content: center; padding: 24px; color: #0f0; background: rgba(0,0,0,.92); font-family: "Courier New", monospace; text-align: center; }
.owned-finale-inner { max-width: 720px; }
.owned-finale-skull { margin: 0 auto 8px; padding: 0; background: transparent; border: 0; box-shadow: none; font: bold 16px/1.1 "Courier New", monospace; color: #ff00cc; text-shadow: 0 0 10px #ff00cc; }
.owned-big { margin: 0 0 12px; font-size: 56px; font-weight: bold; letter-spacing: 6px; color: #f00; text-shadow: 4px 4px 0 #800, 0 0 24px #f00; animation: owned-throb .9s ease-in-out infinite alternate; }
@keyframes owned-throb { from { transform: scale(1); } to { transform: scale(1.04); } }
.owned-by { margin: 0 0 18px; font-size: 15px; color: #cfc; }
.owned-finale-row { margin-bottom: 10px; }
#owned-finale .owned-av-btn { font: bold 14px/1 "Pixelated MS Sans Serif", "MS Sans Serif", Arial, sans-serif; padding: 8px 22px; min-height: 36px; }
#owned-finale .owned-av-btn:focus { outline: 2px dotted #0f0; outline-offset: 2px; }
.owned-hint { margin: 0; font-size: 12px; color: #6a6; }

/* the scanner */
.owned-av-head { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.owned-av-logo { font-size: 32px; line-height: 1; filter: drop-shadow(2px 2px 0 rgba(0,0,0,.35)); }
.owned-av-head b { display: block; font-size: 14px; color: #000080; }
.owned-av-head small { font-size: 10px; color: #444; }
.owned-av-file { margin: 0 0 4px; font-family: "Courier New", monospace; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.owned-av-count { margin: 6px 0; font-size: 11px; font-variant-numeric: tabular-nums; }
.owned-av-found { margin: 0 0 6px; padding: 4px 8px; list-style: none; min-height: 72px; max-height: 110px; overflow: auto; background: #fff; border: 1px solid #888; box-shadow: inset 1px 1px #0a0a0a; font-size: 11px; }
.owned-av-hit { color: #a00000; padding: 1px 0; }
.owned-av-hit.q { color: #006000; text-decoration: line-through; }
.owned-av-hit i { font-style: normal; font-weight: bold; }
.owned-av-status { margin: 0; font-size: 11px; box-shadow: inset -1px -1px #fff, inset 1px 1px grey; padding: 2px 6px; }
.owned-av-row { justify-content: flex-end; margin-top: 8px; }

@media (max-width: 820px) {
  .owned-big { font-size: 30px; letter-spacing: 3px; }
  .owned-finale-skull { font-size: 12px; }
  #owned-skull { font-size: 13px; }
  .owned-canvas { height: 120px; }
}
/* the bait: a desktop icon that fades in after a long idle (owned.js adds .in on the next frame) */
.bait-icon { opacity: 0; transition: opacity .8s ease-in; }
.bait-icon.in { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .owned-rec, .owned-big { animation: none; }
  .owned-bar-fill { transition: none; }
  .bait-icon { transition: none; }
}
