/* Custom layer on top of 98.css for extcheck. */
body {
  background: #008080;
  margin: 0;
  padding: 24px 12px 60px;
}

/* swap 98.css's pixel bitmap font for crisp Tahoma everywhere */
body, button, input, select, textarea, option,
.title-bar-text, .window, .window-body, .status-bar, .status-bar-field,
.menu, fieldset, legend, table {
  font-family: Tahoma, "Segoe UI", "MS Sans Serif", Arial, sans-serif !important;
}

.main-window { max-width: 880px; margin: 0 auto; position: relative; z-index: 10; }
.window-body { font-size: 12px; }

.menu { display: flex; gap: 2px; padding: 2px 4px; margin: 0 3px; background: silver; }
.menu a { color: #000; text-decoration: none; padding: 2px 8px; font-size: 12px; }
.menu a:hover { background: #000080; color: #fff; }

.blurb { line-height: 1.5; margin: 0 0 12px; font-size: 12px; }

/* form */
.analyze-form { display: flex; gap: 6px; margin-bottom: 12px; }
.analyze-form input[type="text"] {
  flex: 1; min-width: 0;
  font-family: "Courier New", monospace !important; font-size: 13px;
}
/* Chrome/Edge as a Win98 segmented toggle: real radios, hidden, with the
   <label>s styled as buttons that stay pressed-in when selected. */
.store-pick { display: inline-flex; align-items: stretch; }
.store-radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.storebtn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 62px; padding: 5px 14px; cursor: pointer; font-size: 12px;
  background: silver; color: #000;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
}
.storebtn:active,
.store-radio:checked + .storebtn {            /* pressed-in = selected */
  box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
}
.store-radio:checked + .storebtn { font-weight: bold; background: #d8d8d8; }
.store-radio:focus-visible + .storebtn { outline: 1px dotted #000; outline-offset: -4px; }

/* error box */
.errbox {
  background: #ffe8e8; color: #900;
  border: 2px solid; border-color: #808080 #fff #fff #808080;
  padding: 8px 10px; margin: 8px 0; font-size: 12px;
}

/* result sections */
fieldset { margin: 10px 0; padding: 8px 12px 12px; }
legend { font-weight: bold; font-size: 12px; }
.sublabel { margin: 8px 0 2px; font-size: 12px; }

table.kv, table.grid { border-collapse: collapse; width: 100%; font-size: 12px; }
table.grid th, table.grid td { border: 1px solid #b0b0b0; padding: 3px 7px; text-align: left; vertical-align: top; }
table.grid th { background: silver; }
table.kv td { padding: 2px 6px; vertical-align: top; }
table.kv td:first-child { width: 150px; color: #404040; }

.mono, .mono * { font-family: "Courier New", monospace; }
ul.list { margin: 4px 0; padding-left: 20px; font-size: 12px; }
ul.list li { margin: 1px 0; word-break: break-all; }
.warnlist { margin: 4px 0; padding-left: 20px; }
.warnlist li { color: #a00; margin: 2px 0; font-size: 12px; }

.tag { font-weight: bold; }
.sensitive { color: #a00; }

/* scrollable panels for long route/file lists */
.sunken-panel.scroll { max-height: 360px; overflow: auto; padding: 0; }
.sunken-panel.scroll table.grid th { position: sticky; top: 0; }
details summary { cursor: pointer; }
details > div.mono { padding: 1px 0; }

/* ===== decorative retro desktop ===== */
/* decorations are purely visual - never let them intercept real clicks */
.desktop-icons, .taskbar { pointer-events: none; }

.desktop-icons {
  position: fixed; top: 18px; left: 18px; width: 86px;
  display: flex; flex-direction: column; gap: 20px; z-index: 1;
}
.dico { text-align: center; cursor: pointer; }
.dico img { display: block; width: 34px; height: 34px; object-fit: contain; margin: 0 auto 4px; }
.dico span {
  color: #fff; font-size: 11px; line-height: 1.2;
  text-shadow: 1px 1px 0 #000, 0 0 2px #000; padding: 1px 2px;
}
.dico:hover span { background: #0a246a; outline: 1px dotted #fff; }

.taskbar {
  position: fixed; left: 0; right: 0; bottom: 0; height: 30px;
  display: flex; align-items: center; gap: 4px; padding: 2px 4px;
  background: silver; border-top: 2px solid #fff; box-shadow: 0 -1px 0 #808080;
  z-index: 100;
}
.start-btn { display: flex; align-items: center; gap: 5px; font-weight: bold; min-width: 0; }
.start-btn img { width: 17px; height: 17px; object-fit: contain; }
.quick {
  display: flex; align-items: center; gap: 1px; padding: 0 5px; height: 24px;
  border-left: 1px solid #808080; border-right: 1px solid #808080;
  box-shadow: inset 1px 0 0 #fff, inset -1px 0 0 #fff;
}
.qico { display: flex; align-items: center; padding: 1px 2px; cursor: pointer; border: 1px solid transparent; }
.qico:hover { border-color: #fff #808080 #808080 #fff; }
.qico img { width: 18px; height: 18px; object-fit: contain; display: block; }
.tasks { flex: 1; display: flex; align-items: center; gap: 4px; padding: 0 4px; overflow: hidden; }
.taskbtn { display: flex; align-items: center; gap: 5px; min-width: 0; max-width: 220px; }
.taskbtn img { width: 15px; height: 15px; object-fit: contain; }
.tray {
  display: flex; align-items: center; gap: 6px; padding: 2px 8px;
  border: 1px solid; border-color: #808080 #fff #fff #808080;
}
.tray .tico { display: flex; align-items: center; }
.clock { font-size: 11px; min-width: 34px; text-align: center; }

@media (max-width: 1040px) { .desktop-icons { display: none; } }
