:root {
  --gov-navy:#003087; --gov-blue:#0071BC; --gov-gray-light:#f1f1f1; --gov-border:#dddddd;
  --win-bg:#d4d0c8;
  --data-bg:#0d1117; --data-surface:#161b22; --data-border:#30363d;
  --data-text:#e6edf3; --data-muted:#8b949e;
  --data-green:#3fb950; --data-red:#f85149; --data-yellow:#d29922; --data-accent:#58a6ff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'IBM Plex Sans',Arial,sans-serif;background:#000}
.screen{display:none;position:fixed;top:0;left:0;width:100%;height:100%;overflow-y:auto}
.screen.active{display:block}
#screen-intranet.active{display:flex!important;flex-direction:column;overflow:hidden}
#screen-puzzle.active{display:flex!important;flex-direction:column}
#transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:9999;opacity:0;pointer-events:none;transition:opacity 0.4s ease}
#transition-overlay.on{opacity:1;pointer-events:all}

/* EMERGENCY */
#screen-emergency{background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#333}
.gov-topbar{background:var(--gov-navy);color:#fff;padding:8px 0;font-size:12px}
.gov-topbar-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}
.gov-seal{display:flex;align-items:center;gap:10px}
.seal-icon{font-size:26px}
.seal-county{font-size:15px;font-weight:bold}
.seal-dept{font-size:11px;opacity:.8}
.gov-topbar-right{font-size:12px;opacity:.9}
.divider{margin:0 10px;opacity:.5}
.gov-nav{background:var(--gov-blue);border-bottom:3px solid var(--gov-navy)}
.gov-nav-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex}
.nav-link{display:block;padding:9px 14px;color:#fff;text-decoration:none;font-size:13px;font-weight:500}
.nav-link:hover,.nav-link.active{background:rgba(0,0,0,.2)}
.alert-strip{background:#b60000;color:#fff;text-align:center;padding:7px;font-size:13px;font-weight:bold;letter-spacing:.5px}
.alert-dot{margin:0 8px;font-size:8px;vertical-align:middle}
.gov-content-area{max-width:1100px;margin:0 auto;padding:20px;display:flex;gap:24px;align-items:flex-start}
.gov-sidebar{width:220px;flex-shrink:0}
.sidebar-section{margin-bottom:16px;border:1px solid var(--gov-border)}
.sidebar-section h3{background:var(--gov-navy);color:#fff;padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.status-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:bold}
.status-indicator.critical{color:#b60000}
.status-dot{width:10px;height:10px;border-radius:50%;background:#b60000;animation:pulse 1.5s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.sidebar-links{list-style:none}
.sidebar-links li{border-bottom:1px solid #eee}
.sidebar-links li:last-child{border:none}
.sidebar-links a{display:block;padding:5px 10px;color:var(--gov-blue);text-decoration:none;font-size:12px}
.sidebar-links a:hover{text-decoration:underline}
.hotline{font-size:12px;padding:3px 0;border-bottom:1px solid #eee}
.gov-article{flex:1;min-width:0}
.breadcrumb{font-size:11px;color:#666;margin-bottom:12px}
.gov-h1{font-size:22px;font-weight:bold;color:var(--gov-navy);border-bottom:3px solid var(--gov-blue);padding-bottom:10px;margin-bottom:12px;line-height:1.3}
.h1-sub{font-size:15px;font-weight:normal;color:#666}
.meta-row{display:flex;align-items:center;gap:16px;margin-bottom:16px;font-size:12px}
.badge.critical{background:#b60000;color:#fff;padding:3px 8px;font-size:11px;font-weight:bold}
.meta-date{color:#666}
.alert-callout{background:#fff3cd;border:1px solid #ffc107;border-left:4px solid #ff6600;padding:12px 16px;margin-bottom:18px;font-size:13px;line-height:1.5}
.gov-article h2{font-size:14px;color:var(--gov-navy);border-bottom:1px solid var(--gov-border);padding-bottom:4px;margin:18px 0 10px;text-transform:uppercase;letter-spacing:.5px}
.gov-article p{font-size:13px;line-height:1.6;margin-bottom:12px}
.gov-article ul,.gov-article ol{margin:0 0 12px 20px;font-size:13px;line-height:1.8}
.update-log{margin-top:24px;border:1px solid var(--gov-border)}
.update-log h3{background:var(--gov-gray-light);padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gov-border)}
.update-entry{display:flex;gap:16px;padding:7px 12px;border-bottom:1px solid var(--gov-border);font-size:12px}
.update-entry:last-child{border:none}
.update-time{color:#666;font-family:monospace;flex-shrink:0;min-width:40px}
.gov-footer{background:var(--gov-navy);color:rgba(255,255,255,.8);padding:20px 0;margin-top:40px;font-size:12px}
.gov-footer-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:5px}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none}
.footer-fed{font-size:11px;opacity:.6;margin-top:6px}

/* INTRANET */
#screen-intranet{background:var(--win-bg);font-family:Tahoma,'MS Sans Serif',Arial,sans-serif;font-size:11px;height:100vh}
.intranet-header{background:linear-gradient(to bottom,#0a246a,#1e4fa8);color:#fff;padding:5px 10px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.intranet-logo{font-size:13px;font-weight:bold;letter-spacing:.5px}
.intranet-user-info{font-size:11px;display:flex;gap:16px;align-items:center}
.intranet-logout{padding:2px 8px;border:1px solid rgba(255,255,255,.4);cursor:pointer}
.intranet-nav{background:#ece9d8;border-bottom:1px solid #808080;padding:0 6px;display:flex;flex-shrink:0}
.intranet-nav-item{padding:4px 12px;cursor:pointer;font-size:11px;border:1px solid transparent;border-bottom:none}
.intranet-nav-item.active{background:var(--win-bg);border-color:#fff #808080 transparent;position:relative;top:1px}
.intranet-body{flex:1;overflow:hidden;display:flex;gap:10px;padding:10px;min-height:0}
.intranet-announcements{flex:1;overflow-y:auto;min-width:0}
.intranet-section-title{font-size:13px;font-weight:bold;color:#003087;border-bottom:1px solid #808080;padding-bottom:4px;margin-bottom:10px}
.announcement-item{background:#fff;border:1px solid #808080;box-shadow:2px 2px 0 rgba(0,0,0,.1);margin-bottom:8px}
.ann-header{background:#ece9d8;padding:4px 8px;display:flex;gap:8px;align-items:center;border-bottom:1px solid #ccc}
.ann-pin{font-size:12px}
.ann-title{font-weight:bold;flex:1}
.ann-date{font-size:10px;color:#666}
.ann-body{padding:8px;font-size:11px;line-height:1.5}
.ann-from{display:block;margin-top:5px;font-style:italic;color:#666;font-size:10px}
.announcement-item.warning .ann-header{background:#fff3cd}
.announcement-item.birthday .ann-header{background:#d4edda}
.win-window{width:400px;flex-shrink:0;display:flex;flex-direction:column;border:2px solid;border-color:#fff #808080 #808080 #fff;box-shadow:2px 2px 4px rgba(0,0,0,.3);background:#fff;height:100%}
.win-titlebar{background:linear-gradient(to right,#0a246a,#3a6ea5);color:#fff;padding:3px 6px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.win-title{font-size:11px;font-weight:bold}
.win-controls{display:flex;gap:2px}
.win-btn{background:linear-gradient(to bottom,#d4d0c8,#a0a0a0);border:1px solid;border-color:#fff #404040 #404040 #fff;color:#000;font-size:9px;width:16px;height:14px;cursor:pointer;padding:0}
.win-btn-x:hover{background:#d83933;color:#fff}
.win-toolbar{background:var(--win-bg);border-bottom:1px solid #808080;padding:2px 6px;font-size:10px;flex-shrink:0}
.win-path{color:#00c}
.win-body{flex:1;overflow-y:auto;padding:4px}
.win-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;gap:4px}
.win-empty-sub{font-size:10px}
.win-statusbar{background:var(--win-bg);border-top:1px solid #808080;padding:2px 6px;display:flex;justify-content:space-between;font-size:10px;flex-shrink:0}
.win-processing{color:#666}
.result-file{display:flex;align-items:center;gap:8px;padding:3px 6px;cursor:pointer;font-size:11px;border-radius:2px;animation:fileIn .3s ease}
@keyframes fileIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.result-file:hover{background:#316ac5;color:#fff}
.result-file-icon{font-size:14px;flex-shrink:0}
.result-file-new{margin-left:auto;background:#d83933;color:#fff;font-size:9px;padding:1px 4px;animation:pop .3s ease}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.intranet-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:1000}
.intranet-modal-inner{background:var(--win-bg);border:2px solid;border-color:#fff #808080 #808080 #fff;box-shadow:4px 4px 8px rgba(0,0,0,.5);min-width:360px}
.modal-titlebar{background:linear-gradient(to right,#b60000,#800000);color:#fff;padding:4px 8px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:bold}
.modal-close-btn{background:linear-gradient(to bottom,#d4d0c8,#a0a0a0);border:1px solid;border-color:#fff #404040 #404040 #fff;font-size:9px;width:16px;height:14px;cursor:pointer}
.modal-body-content{padding:20px;text-align:center}
.modal-alert-text{font-size:15px;font-weight:bold;color:#b60000;margin-bottom:8px;line-height:1.4}
.modal-source{font-size:11px;color:#333;margin-bottom:16px}
.modal-dismiss-btn{background:linear-gradient(to bottom,#d4d0c8,#b0b0a8);border:2px solid;border-color:#fff #808080 #808080 #fff;padding:4px 24px;font-size:11px;cursor:pointer;font-family:Tahoma,Arial,sans-serif}
.file-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:999}
.file-modal-inner{background:var(--data-bg);border:1px solid var(--data-border);width:700px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.9)}
.file-modal-header{background:var(--data-surface);border-bottom:1px solid var(--data-border);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
#file-modal-title{color:var(--data-muted);font-size:12px;font-family:'IBM Plex Mono',monospace;letter-spacing:1px}
.file-modal-close{background:none;border:1px solid var(--data-border);color:var(--data-muted);font-size:11px;padding:3px 10px;cursor:pointer;font-family:'IBM Plex Mono',monospace}
.file-modal-close:hover{background:var(--data-border);color:var(--data-text)}
.file-modal-body{flex:1;overflow-y:auto;padding:16px}
.file-modal-body pre{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.65;color:var(--data-text);white-space:pre-wrap}
.action-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to right,#0a246a,#1e4fa8);color:#fff;border-top:3px solid #d83933;z-index:900}
.action-bar-inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.action-btn{background:#d83933;color:#fff;border:none;padding:8px 20px;font-size:12px;font-weight:bold;cursor:pointer;transition:background .15s}
.action-btn:hover{background:#b50000}

/* DATA INTERFACE */
#screen-verification,#screen-puzzle,#screen-deathorder,#screen-personnel{background:var(--data-bg);color:var(--data-text);font-family:'IBM Plex Sans',sans-serif}
.data-header{background:var(--data-surface);border-bottom:1px solid var(--data-border);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.data-header-left{display:flex;align-items:center;gap:16px}
.data-logo{background:var(--data-accent);color:var(--data-bg);font-weight:bold;font-size:16px;padding:5px 12px;letter-spacing:2px}
.data-title{font-size:14px;font-weight:600;letter-spacing:1px}
.data-sub{font-size:11px;color:var(--data-muted);margin-top:2px}
.data-header-right{font-size:11px;color:var(--data-muted);font-family:'IBM Plex Mono',monospace}
.verification-container{max-width:920px;margin:0 auto;padding:24px}
.verification-instructions{background:var(--data-surface);border:1px solid var(--data-border);border-left:3px solid var(--data-accent);padding:12px 16px;margin-bottom:20px;font-size:13px;color:var(--data-muted);line-height:1.5}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{background:var(--data-surface);color:var(--data-muted);text-transform:uppercase;font-size:10px;letter-spacing:1px;padding:10px 12px;border-bottom:2px solid var(--data-border);text-align:left}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--data-border)}
.data-table tr:hover td{background:rgba(255,255,255,.02)}
.td-patient{color:var(--data-muted);font-family:'IBM Plex Mono',monospace;font-size:11px}
.td-strain{color:var(--data-accent);font-family:'IBM Plex Mono',monospace;font-size:12px}
.sample-input{background:transparent;border:1px solid var(--data-border);color:var(--data-text);padding:5px 10px;font-family:'IBM Plex Mono',monospace;font-size:13px;width:150px;letter-spacing:1px;transition:border-color .2s}
.sample-input:focus{outline:none;border-color:var(--data-accent)}
.sample-input.correct{border-color:var(--data-green);color:var(--data-green);background:rgba(63,185,80,.08)}
.sample-input.error{border-color:var(--data-red);animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.status-cell{text-align:center;font-size:18px}
.progress-row{margin-top:16px;text-align:right;color:var(--data-muted);font-size:12px;font-family:'IBM Plex Mono',monospace}
.puzzle-layout{flex:1;display:flex;overflow:hidden;min-height:0}
.puzzle-files-pane{width:340px;border-right:1px solid var(--data-border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}
.puzzle-calc-pane{flex:1;overflow-y:auto;padding:20px 24px}
.pane-title{background:var(--data-surface);border-bottom:1px solid var(--data-border);padding:8px 16px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--data-muted);font-weight:600;flex-shrink:0}
.puzzle-file-list{overflow-y:auto;max-height:220px;border-bottom:1px solid var(--data-border);flex-shrink:0}
.puzzle-file-item{display:flex;align-items:flex-start;gap:10px;padding:8px 16px;cursor:pointer;border-bottom:1px solid var(--data-border);font-size:11px;transition:background .15s}
.puzzle-file-item:hover{background:var(--data-surface)}
.puzzle-file-item.selected{background:rgba(88,166,255,.08);border-left:3px solid var(--data-accent);padding-left:13px}
.puzzle-file-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.puzzle-file-viewer{flex:1;overflow-y:auto;padding:12px}
.puzzle-file-viewer pre{font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.65;color:var(--data-text);white-space:pre-wrap}
.file-viewer-empty{color:var(--data-muted);font-size:12px;text-align:center;margin-top:20px}
.protocol-ref{background:var(--data-surface);border:1px solid var(--data-border);border-left:3px solid var(--data-yellow);padding:10px 14px;margin-bottom:20px;font-size:12px;font-family:'IBM Plex Mono',monospace;color:var(--data-yellow);line-height:1.5}
.calc-table{width:100%;border-collapse:collapse}
.calc-table th{background:var(--data-surface);color:var(--data-muted);text-transform:uppercase;font-size:10px;letter-spacing:1px;padding:10px 12px;border-bottom:2px solid var(--data-border);text-align:left}
.calc-table td{padding:8px 12px;border-bottom:1px solid var(--data-border)}
.calc-strain{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--data-accent)}
.calc-input{background:transparent;border:1px solid var(--data-border);color:var(--data-text);padding:5px 8px;font-family:'IBM Plex Mono',monospace;font-size:13px;width:72px;text-align:center;transition:border-color .2s}
.calc-input:focus{outline:none;border-color:var(--data-accent)}
.calc-input.valid{border-color:var(--data-green);background:rgba(63,185,80,.06);color:var(--data-green)}
.calc-input.error{border-color:var(--data-red);animation:shake .4s ease}
.calc-result{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:bold;text-align:center;color:var(--data-muted);min-width:50px;transition:color .3s}
.calc-result.live{color:var(--data-text)}
.calc-row-status{font-size:16px;text-align:center;width:30px}
.calc-actions{margin-top:24px;display:flex;align-items:center;gap:16px}
.submit-btn{background:transparent;border:1px solid var(--data-accent);color:var(--data-accent);padding:10px 24px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px;cursor:pointer;text-transform:uppercase;transition:all .2s}
.submit-btn:hover{background:var(--data-accent);color:var(--data-bg)}
.calc-error{color:var(--data-red);font-size:12px;font-family:'IBM Plex Mono',monospace}
.reveal-container{max-width:820px;margin:0 auto;padding:40px 24px}
.reveal-header{font-size:16px;letter-spacing:3px;text-transform:uppercase;color:var(--data-muted);margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--data-border)}
.death-table{width:100%;border-collapse:collapse;margin-bottom:32px}
.death-table th{background:var(--data-surface);color:var(--data-muted);text-transform:uppercase;font-size:10px;letter-spacing:1px;padding:12px 16px;border-bottom:2px solid var(--data-border);text-align:left}
.death-table td{padding:14px 16px;border-bottom:1px solid var(--data-border);font-family:'IBM Plex Mono',monospace;font-size:12px}
.death-row-first td{background:rgba(248,81,73,.07)}
.death-rank{font-weight:bold;font-size:20px}
.rank-first{color:var(--data-red)}
.rank-other{color:var(--data-muted)}
.vaccine-badge{display:inline-block;padding:2px 10px;border:1px solid var(--data-accent);color:var(--data-accent);font-size:11px;font-weight:bold}
.warning-callout{background:rgba(210,153,34,.07);border:1px solid var(--data-yellow);border-left:4px solid var(--data-yellow);padding:16px 20px}
.warning-title{color:var(--data-yellow);font-weight:bold;font-size:13px;margin-bottom:10px}
.warning-callout p{font-size:13px;line-height:1.6;color:var(--data-muted);margin-bottom:8px}
.warning-callout p:last-child{margin-bottom:0}
.personnel-pre{font-family:'IBM Plex Mono',monospace;font-size:13px;line-height:1.7;color:var(--data-text);white-space:pre-wrap;padding:10px 0;animation:fadeIn 1s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
