/* CELLWATCH desktop theme — presentation only. */
:root {
  color-scheme: light;
  --bg: #808080;
  --surface: #c0c0c0;
  --line: #808080;
  --text: #111;
  --muted: #454545;
  --green: #006020;
  --red: #a00000;
  --blue: #000080;
  --amber: #805000;
  --ink: #111;
  --raised: inset 1px 1px #fff, inset -1px -1px #404040, inset 2px 2px #dfdfdf, inset -2px -2px #808080;
  --sunken: inset 1px 1px #808080, inset -1px -1px #fff, inset 2px 2px #404040, inset -2px -2px #dfdfdf;
}
html { background: var(--bg); }
body { font: 16px/1.5 'PC98', monospace; background: var(--bg); color: var(--text); }
body *, body *::before, body *::after { font-family: 'PC98', monospace !important; border-radius: 0 !important; letter-spacing: 0; }
button, input, select { font-family: inherit; }
button, select, .textbutton, .bigstart, .booknav a, .cataloglinks a {
  color: #111; background: #c0c0c0; border: 0; box-shadow: var(--raised);
  font-size: 14px; text-decoration: none; min-height: 30px;
}
button { padding: 6px 10px; }
button:not(:disabled):hover { filter: none; background: #d0d0d0; }
button:not(:disabled):active { box-shadow: var(--sunken); }
button:disabled { opacity: 1; color: #777; text-shadow: 1px 1px #fff; cursor: default; }
button:disabled > *, button:disabled small { color: inherit !important; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible { outline: 1px dotted #111; outline-offset: -5px; }
a { color: #000080; }
header {
  min-height: 80px; padding: 8px 12px; gap: 12px; flex-wrap: wrap;
  background: #c0c0c0; border: 0; box-shadow: var(--raised);
}
.logo { color: #111; font-size: 22px; line-height: 1.1; }
.logo > span { color: #000080; font-size: 25px; }
.logo small { font-size: 12px; color: #333; margin-top: 5px; }
.bureau { line-height: 1.4; margin-right: auto; }
.bureau strong { font-size: 18px; }
.bureau span { font-size: 14px; color: #111; }
.topstat { border: 0; padding: 4px 8px; box-shadow: var(--sunken); }
.topstat > span { font-size: 12px; color: #333; }
.topstat strong, .topstat strong b { font-size: 23px; color: #000080; line-height: 1.2; }
.topstat strong b.impact { color: #a00000; }
.topstat small { font-size: 14px; color: #333; }
.shiftclock { border: 0; padding: 4px 10px; background: #fff; box-shadow: var(--sunken); }
.shiftclock > span { font-size: 12px; color: #333; }
.shiftclock strong { font-size: 28px; color: #000080; }
.topcontrols { align-items: center; gap: 5px; flex: 1 1 100%; justify-content: flex-start; border-top: 1px solid #808080; padding-top: 7px; }
.topcontrols button, .topcontrols #startBtn, .topcontrols #pauseBtn { font-size: 14px; padding: 5px 10px; background: #c0c0c0; color: #111; border: 0; }
.topcontrols #startBtn, .topcontrols #pauseBtn { color: #000080; }
.bgmvolume { font-size: 12px; color: #111; padding-inline: 5px; }
.bgmvolume input { accent-color: #000080; }
.bgmstatus { font-size: 12px; color: #333; max-width: 150px; margin-right: auto; }
#bgmBtn[aria-pressed='false'], #seBtn[aria-pressed='false'] { opacity: 1; color: #555; }
main { max-width: 1780px; padding: 12px; }
.controlroom { gap: 12px; grid-template-columns: minmax(0,1.45fr) minmax(380px,1fr); }
.desk, .dashboard, .telemetry { border: 0; background: #c0c0c0; padding: 3px; box-shadow: var(--raised); }
.panelhead { min-height: 30px; padding: 4px 7px; gap: 8px; border: 0; color: #fff; background: #000080; }
.panelhead h2, .telemetry .panelhead h2 { font-size: 14px; font-weight: 400; }
.panelhead small, .telemetry .panelhead small { color: #d4d4f2; font-size: 12px; }
.panelhead > span, .panelhead > b { color: #fff; font-size: 12px; }
.statusdot { width: 8px; height: 8px; background: #fff; box-shadow: none; }
.transitstrip { padding: 8px 12px; gap: 8px; background: #c0c0c0; border-bottom: 1px solid #808080; box-shadow: 0 1px #fff; }
.transitstrip small { color: #454545; font-size: 12px; }
.transitstrip b { font-size: 14px; }
.transitstrip > .active b { color: #000080; }
.transitstrip > span { color: #454545; }
.deskfilter { padding: 10px 12px 7px; font-size: 14px; color: #111; }
.deskfilter button { background: #c0c0c0; color: #111; font-size: 12px; padding: 5px 9px; }
.enemycontrol, .enemycontrol label, #enemySource { font-size: 12px; color: #333; }
.enemycontrol { gap: 7px; margin-right: 0; flex-wrap: wrap; }
.enemycontrol select { background: #fff; color: #111; box-shadow: var(--sunken); padding: 5px 8px; max-width: 160px; }
.enemycontrol select:disabled { opacity: 1; color: #777; }
#enemySignIn { font-size: 12px; color: #000080; }
.ticketqueue { padding: 0 12px 9px; min-height: 36px; gap: 4px; }
.queueitem { font-size: 14px; padding: 5px 10px; }
.queueitem.selected { border: 0; background: #fff; color: #000080; box-shadow: var(--sunken); }
.queueitem.urgent { color: #a00000; border: 0; }
.inspectiondesk { padding: 5px 10px 10px; }
.paper { background: #fff; color: #111; border: 0; padding: 12px; box-shadow: var(--sunken); }
.paperhead, .paperhead > span:last-child { color: #454545; font-size: 12px; }
.paper h3 { color: #000080; font-size: 20px; margin: 8px 0; }
.requestmeta { padding: 2px 0 7px; border-color: #aaa; gap: 3px 12px; }
.requestmeta span, .requestmeta small { font-size: 12px; color: #454545; }
.requestmeta b { font-size: 14px; color: #000080; }
.request-summary { padding: 9px 0; gap: 12px; }
.request-character img, .catalog-character img { background: #dfdfdf; border: 1px solid #808080; box-shadow: 1px 1px #fff; }
.request-summary .request-character img { width: 48px; height: 48px; }
.request-summary .request-character figcaption b { font-size: 16px; }
.request-summary .request-character figcaption small, .request-character figcaption small { color: #454545; font-size: 12px; }
.request-summary .character-line { color: #333; font-size: 14px; line-height: 1.5; }
.request-summary .deadline { font-size: 12px; color: #454545; }
.request-summary .deadline b { color: #a00000; font-size: 26px; }
.character-line { color: #111; background: #efefef; border-color: #808080; font-size: 14px; }
.inspection-instruction { font-size: 14px; line-height: 1.5; color: #333; margin-bottom: 8px; }
.inspection-table th, .inspection-table td { border: 1px solid #808080; padding: 9px; }
.inspection-table thead th { color: #111; background: #dfdfdf; font-size: 14px; }
.inspection-table tbody th { color: #111; background: #f0f0f0; font-size: 14px; line-height: 1.5; }
.inspection-table td { background: #fff; }
.request-fields .comparison-value { background: #efefef; border: 0; box-shadow: var(--raised); padding: 8px 18px 8px 9px; min-height: 44px; }
.request-fields .comparison-value strong, .request-fields .comparison-value strong.jp, .inspection-table .required-value strong { color: #111; font-size: 16px; line-height: 1.5; font-weight: 400; }
.paperrow::after { color: #555; }
.request-fields .comparison-value.selected, .paperrow.selected { background: #e3e3f3; border: 0; box-shadow: var(--sunken); }
.request-extras { border-color: #aaa; margin-top: 9px; padding-top: 7px; }
.request-extras summary, .policy-details summary { color: #111; font-size: 14px; }
.request-extras summary span, .policy-details summary span { color: #454545; font-size: 12px; }
.request-extras .paperrow { background: #efefef; color: #111; border: 0; box-shadow: var(--sunken); }
.request-extras .paperrow > span { color: #454545; font-size: 12px; }
.request-extras .paperrow strong, .request-extras .paperrow strong.jp { font-size: 14px; font-weight: 400; }
.emptydesk { min-height: 290px; background: #fff; border: 0; box-shadow: var(--sunken); color: #454545; }
.emptydesk > div { color: #000080; }
.emptydesk h3 { font-size: 18px; color: #111; }
.emptydesk p { font-size: 14px; }
.emptydesk > span { font-size: 12px; }
.comparison { margin: 0 10px 9px; padding: 7px 9px; background: #fff; border: 0; box-shadow: var(--sunken); }
.comparison > span { color: #000080; font-size: 12px; }
.comparison p { font-size: 14px; color: #333; line-height: 1.5; }
.stamptray { background: #c0c0c0; border-top: 1px solid #808080; border-bottom: 1px solid #fff; padding: 9px 10px; gap: 10px; }
.stamptray button { min-height: 57px; border: 0; background: #c0c0c0; gap: 12px; }
.stamptray .deny { background: #c0c0c0; color: #a00000; }
.stamptray .allow { background: #c0c0c0; color: #006020; }
.stamptray b { font-size: 18px; font-weight: 400; }
.stamptray small { font-size: 12px; margin-top: 2px; }
.stamptray kbd { font-size: 12px; }
.decisionnote, .decisionnote > span { color: #454545; font-size: 12px; }
.stamp { background: #fff; font-size: 20px; border-width: 2px; }
.deskbook { background: #dfdfdf; border: 0; box-shadow: var(--sunken); }
.policy-details { margin: 9px 10px 0; padding: 8px 10px; }
.deskbook #deskRule > b, .policy-details #deskRule > b { color: #000080; font-size: 14px; }
.deskbook p, .deskbook ol { font-size: 14px; line-height: 1.6; color: #111; }
.deskbook small, .bookbinding, .bookbinding span, .bookedition, .bookfoot { font-size: 12px; color: #454545; }
.deskbook .ruleinstruction { color: #111; background: #fff; border-color: #000080; font-size: 14px; }
.memopaper { padding: 10px 12px 0; }
.memopaper h3, .memopaper small { color: #454545; font-size: 12px; }
.memopaper p { color: #111; font-size: 14px; line-height: 1.5; }
.desknotice { color: #454545; font-size: 12px; padding: 7px 12px 9px; }
.monitorcolumn { gap: 10px; }
.legend { font-size: 12px; padding: 8px; gap: 10px; flex-wrap: wrap; }
.legendnote { font-size: 12px; }
.dashboard .boardblue { color: #000080; }
.dashboard .boardfixed { color: #454545; }
.legend .purple { color: #800080; }
.legend .altered { color: #805000; }
.dashboard .atlas { margin: 0 6px; border: 0; padding: 2px; box-shadow: var(--sunken); background: #808080; }
.dashboard .maplabels { inset: 7px 7px auto; gap: 5px; }
.dashboard .zone { border: 0; background: #c0c0c0; box-shadow: var(--raised); }
.dashboard .zone.selected { border: 0; background: #e3e3f3; box-shadow: var(--sunken); }
.dashboard .zone.underattack { border: 0; background: #f0dada; }
.dashboard .zone.fixed { border: 0; background: #d8e0ef; }
.dashboard .zonepick { background: transparent; box-shadow: none; padding: 5px 6px; }
.dashboard .zonepick b { font-size: 14px; color: #111; line-height: 1.2; }
.dashboard .zonestatus { color: #333; font-size: 12px; line-height: 1.25; }
.dashboard .zone.underattack .zonestatus { color: #a00000; }
.dashboard .zone.fixed .zonestatus { color: #000080; }
.mapcaption { background: #c0c0c0; color: #333; font-size: 10px; padding: 3px 5px; }
.patternfooter { color: #333; padding: 8px 10px; font-size: 12px; }
.patternfooter span:last-child { color: #000080; }





.statushead { padding: 8px 10px; gap: 10px; }
.statushead h2 { font-size: 16px; }
.statushead strong { font-size: 14px; }
.segmented { height: 12px; gap: 2px; padding: 2px; box-shadow: var(--sunken); }
.segmented i { background: #dfdfdf; }
.segmented i.lit { background: #a00000; }
.healthrows { gap: 12px; padding: 0 10px 9px; }
.healthrows span { color: #333; font-size: 12px; }
.healthrows b { color: #000080; font-size: 16px; }
.meter { background: #fff; height: 7px; padding: 1px; box-shadow: var(--sunken); }
.healthrows .meter i { background: #a00000; }
.healthrows .ambermeter i { background: #000080; }
.privacy-impact { color: #333; font-size: 12px; padding: 7px 10px; border-color: #808080; }
.privacy-impact b { color: #a00000; font-size: 14px; margin-left: 4px; }
.telemetry .panelhead { min-height: 28px; padding: 4px 7px; border: 0; }
.incidentlist { padding: 7px; }
.incidentlist button, .incidentlist button.hot { color: #a00000; background: #c0c0c0; border: 0; }
.incidentlist b { font-size: 14px; }
.incidentlist small { color: #333; font-size: 12px; }
.noincident { color: #454545; font-size: 14px; margin: 3px; }
.timeline { margin: 6px; padding: 5px 7px; background: #fff; box-shadow: var(--sunken); max-height: 105px; }
.timeline > div { font-size: 12px; gap: 8px; padding: 3px 0; }
.timeline time { color: #555; font-size: 12px; }
.timeline p { color: #111; line-height: 1.4; }
.eventbar { background: #c0c0c0; box-shadow: var(--sunken); border: 0; margin-top: 10px; padding: 7px 9px; gap: 10px; }
.eventbar > span, .eventbar .eventtag { font-size: 12px; color: #000080; }
.eventbar p { font-size: 14px; color: #111; line-height: 1.5; }
footer { color: #111; font-size: 12px; gap: 12px; padding-top: 8px; }
dialog { background: #c0c0c0; color: #111; border: 0; padding: 4px 18px 18px; box-shadow: var(--raised), 2px 2px #000; }
dialog::backdrop { background: #0006; backdrop-filter: none; }
.dialogtop { background: #000080; color: #fff; margin: 0 -14px 16px; padding: 5px 7px; min-height: 34px; border: 0; font-size: 14px; }
.dialogtop button { color: #111; background: #c0c0c0; font-size: 14px; padding: 3px 9px; min-height: 26px; }
dialog h2 { color: #000080; font-size: 26px; margin-top: 18px; }
dialog p, dialog li { color: #111; font-size: 16px; line-height: 1.7; }
dialog a { color: #000080; }
.bigstart { background: #c0c0c0; color: #000080; border: 0; font-size: 16px; padding: 12px; }
.textbutton { color: #111; background: #c0c0c0; font-size: 14px; padding: 7px 14px; }
.eyebrow, .booklead { color: #454545; font-size: 14px; }
.reportmetrics { border-color: #808080; padding: 14px 0; }
.reportmetrics > div { padding: 8px; background: #fff; box-shadow: var(--sunken); }
.reportmetrics strong { color: #000080; font-size: 30px; }
.reportmetrics small { font-size: 14px; color: #454545; }
.reportzone { border-color: #808080; }
.reportzone b { font-size: 16px; }
.reportzone p { color: #333; font-size: 14px; }
.booknav a, .cataloglinks a { background: #c0c0c0; border: 0; color: #111; padding: 7px 11px; font-size: 14px; }
.textbook section { border-color: #808080; }
.textbook h3, .catalog h3 { color: #000080; font-size: 20px; }
.rulecards article, .cataloggrid article { padding: 13px; background: #fff; border: 0; box-shadow: var(--sunken); }
.rulecards b, .cataloggrid b { color: #000080; font-size: 16px; }
.rulecards p, .cataloggrid p { font-size: 14px; }
.rulecards small, .cataloggrid small { color: #454545; font-size: 12px; line-height: 1.6; }
.threatcards article > p strong { color: #805000; font-size: 14px; }
.threatcards article > a { font-size: 14px; }
.cataloggrid code { color: #000080; font-size: 14px; }
.answerreveal, .hospital-context, .lifeformula { background: #fff; color: #111; border: 0; box-shadow: var(--sunken); font-size: 16px; }
.textbook table, .catalog table { background: #fff; font-size: 14px; }
.textbook td, .textbook th, .catalog td, .catalog th { border-color: #808080; padding: 10px; line-height: 1.5; }
.textbook th, .catalog th { background: #dfdfdf; }
.textbook td small, .catalog td small { font-size: 12px; color: #454545; }
.textbook .wronganswer { color: #a00000; }
.replicalab small { color: #333; font-size: 14px; }
.replicalab canvas { border: 0; padding: 2px; box-shadow: var(--sunken); }
.mobiletabs button { font-size: 16px; }
.mobiletabs [aria-pressed='true'] { border: 0; color: #000080; background: #dfdfdf; box-shadow: var(--sunken); }
@media (max-height: 820px) and (min-width: 951px) {
  header { padding-block: 6px; gap: 8px 12px; }
  .topcontrols { padding-top: 5px; }
  .paper { padding: 9px; }
  .paper h3 { font-size: 18px; }
  .request-summary { padding-block: 6px; }
  .inspection-table th, .inspection-table td { padding: 7px; }
  .request-fields .comparison-value strong, .request-fields .comparison-value strong.jp, .inspection-table .required-value strong { font-size: 14px; }
  .request-fields .comparison-value { min-height: 40px; }
}
@media (max-width: 1250px) {
  .bureau { display: block; }
  .bureau strong { font-size: 18px; }
  .bureau span { font-size: 14px; }
  .logo { font-size: 20px; margin-right: auto; }
  .topstat > span { font-size: 12px; }
  .panelhead small { font-size: 12px; }
}
@media (max-width: 950px) and (min-width: 721px) {
  .controlroom { grid-template-columns: minmax(0,1fr) 330px; }
  .bureau { display: none; }
  .dashboard .maplabels { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard .zonepick { gap: 2px; }
  .dashboard .zonestatus { font-size: 10px; }
  .request-summary .character-line { font-size: 14px; }
}
@media (max-width: 720px) {
  header { padding: 7px 9px; gap: 7px; }
  .logo { font-size: 20px; }
  .logo small { font-size: 10px; }
  .bureau { display: none; }
  .shiftclock { padding: 3px 8px; }
  .shiftclock strong { font-size: 24px; }
  .topcontrols { gap: 5px; }
  .topcontrols button { font-size: 12px; padding: 5px 8px; }
  .bgmvolume { font-size: 12px; }
  .bgmstatus { font-size: 12px; }
  main { padding: 8px 6px; }
  .panelhead { padding: 5px 7px; }
  .panelhead h2 { font-size: 14px; }
  .panelhead > span { font-size: 12px; }
  .transitstrip { padding: 8px; gap: 5px; }
  .transitstrip b { font-size: 12px; }
  .deskfilter { padding: 8px; font-size: 12px; }
  .enemycontrol { width: 100%; margin-top: 0; }
  #enemySource { font-size: 12px; }
  .inspectiondesk { padding: 4px 5px 7px; }
  .paper { padding: 9px; }
  .paperhead { font-size: 10px; }
  .paper h3 { font-size: 18px; }
  .requestmeta span, .requestmeta small { font-size: 12px; }
  .request-summary { padding: 8px 0; gap: 8px; }
  .request-summary .request-character figcaption b { font-size: 16px; }
  .request-summary .request-character figcaption small { font-size: 12px; }
  .request-summary .character-line { font-size: 14px; }
  .request-summary .deadline b { font-size: 24px; }
  .inspection-instruction { font-size: 14px; }
  .inspection-table thead th { font-size: 12px; }
  .inspection-table th, .inspection-table td { padding: 6px; }
  .inspection-table tbody th { font-size: 14px; }
  .request-fields .comparison-value { min-height: 56px; padding: 6px; }
  .request-fields .comparison-value strong, .request-fields .comparison-value strong.jp, .inspection-table .required-value strong { font-size: 14px; line-height: 1.5; }
  .request-extras .field-grid { gap: 6px; }
  .request-extras .paperrow { padding: 8px; }
  .comparison { margin-inline: 6px; }
  .stamptray { padding: 8px 6px; gap: 8px; }
  .stamptray b { font-size: 16px; }
  .stamptray small { font-size: 10px; }
  .stamptray button { gap: 8px; }
  .policy-details { margin-inline: 6px; }
  .deskbook p { font-size: 14px; }
  .legend { gap: 6px 10px; font-size: 12px; }
  .dashboard .maplabels { gap: 4px; }
  .dashboard .zonepick { padding: 5px 4px; }
  .dashboard .zonepick b { font-size: 12px; }
  .dashboard .zonestatus { font-size: 10px; }
  .mapcaption { font-size: 8px; }


  .healthrows { gap: 8px; }
  .privacy-impact { gap: 6px; font-size: 12px; flex-wrap: wrap; }
  footer { font-size: 10px; }
  dialog { padding: 4px 12px 12px; }
  .dialogtop { margin-inline: -8px; gap: 6px; font-size: 12px; }
  .dialogtop button { font-size: 12px; white-space: nowrap; }
  dialog h2 { font-size: 22px; }
  dialog p, dialog li { font-size: 16px; }
  .reportmetrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reportmetrics > div { min-width: 0; }
  .textbook td, .textbook th, .catalog td, .catalog th { padding: 7px; }
}

/* Main's six evidence checks retain the classic white property sheet. */
.review-evidence {
  border: 0;
  box-shadow: var(--sunken);
  scrollbar-color: #c0c0c0 #dfdfdf;
  background: #fff;
}
.inspection-table .review-rule {
  color: #111;
  font-size: 14px;
  line-height: 1.5;
}
.paper h3 small { color: #454545; font-size: 12px; }
@media (min-width: 951px) {
  .review-evidence { max-height: clamp(160px, calc(100dvh - 700px), 320px); }
}
@media (min-width: 951px) and (max-height: 820px) {
  header { padding: 5px 10px; gap: 6px 10px; }
  .topstat { padding: 2px 6px; }
  .topstat > span, .shiftclock > span { line-height: 1.2; }
  .topstat strong, .topstat strong b { font-size: 20px; line-height: 1.1; }
  .shiftclock { padding: 2px 8px; }
  .shiftclock strong { font-size: 24px; line-height: 1.05; }
  .topcontrols { padding-top: 4px; }
  .topcontrols button { padding-block: 3px; line-height: 1.2; }
  .deskfilter { padding-block: 6px; }
  .ticketqueue { min-height: 30px; padding-bottom: 5px; }
  .paper { padding: 7px; }
  .paper h3 { font-size: 16px; margin-block: 6px; }
  .request-summary { padding-block: 4px; }
  .request-summary .request-character img { width: 32px; height: 32px; }
  .review-evidence { max-height: clamp(130px, calc(100dvh - 610px), 160px); }
  .comparison p { font-size: 12px; line-height: 1.4; }
}

/* Partner communications use the same classic terminal window. */
.companion{background:#c0c0c0;color:#111;border:2px solid #dfdfdf;border-right-color:#404040;border-bottom-color:#404040;border-radius:0;box-shadow:var(--raised)}
.companion .panelhead{background:#000080;color:#fff;margin:2px;padding:6px 8px;min-height:30px;border:0}
.companion .panelhead h2{font-size:15px}.companion .panelhead small,.companion .panelhead>span{color:#fff;font-size:11px}
.companion>p{background:#fff;box-shadow:var(--sunken);padding:10px;font-size:14px;line-height:1.6}
.companioncontrols button{background:#c0c0c0;color:#111;box-shadow:var(--raised);border:0}.companioncontrols small,.companion details{color:#333;font-size:12px}
.companion>a{color:#000080}.companionreview{background:#dfdfdf;border:0;box-shadow:var(--sunken)}
.companionreview dt{color:#000080}.companionreview dd{font-size:14px}

.companion>p.companionauto{background:transparent;box-shadow:none;min-height:0;margin:4px 14px;padding:0;font-size:12px;color:#000080}
