:root{color-scheme:dark;--ink:#0c151e;--navy:#142331;--panel:rgba(12,23,33,.89);--ivory:#f5f0df;--muted:#9baab5;--amber:#e7b363;--amber-light:#f7cc87;--cyan:#8bc2ce;--red:#ed8b80;--green:#9dcba7;--rule:rgba(185,204,218,.2);--display:Impact,Haettenschweiler,"Arial Narrow",sans-serif;--body:"Segoe UI",Tahoma,sans-serif;--mono:Consolas,"Lucida Console",monospace}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#101b25;color:var(--ivory);font-family:var(--body);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber-light);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}button,a{-webkit-tap-highlight-color:transparent}button{border-radius:0}.hidden{display:none!important}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;outline:none}#main-menu{position:fixed;inset:0;z-index:10;isolation:isolate}.menu-atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,23,.97) 0%,rgba(8,17,26,.94) 22%,rgba(9,18,27,.71) 39%,rgba(9,18,27,.14) 64%,rgba(7,14,22,.08) 80%),linear-gradient(0deg,rgba(5,12,19,.87),transparent 28%,transparent 80%,rgba(7,15,22,.4));z-index:-1}.menu-masthead{position:absolute;top:26px;left:3.5%;right:3.5%;display:flex;align-items:center;justify-content:space-between}.department-mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ivory);font-family:var(--mono);font-size:10px;letter-spacing:2px}.badge{width:30px;height:36px;color:var(--amber)}.mark-subline{display:block;font-size:8px;letter-spacing:2.2px;margin-top:5px;color:var(--muted)}.scene-telemetry{display:flex;align-items:center;gap:10px;font:10px var(--mono);letter-spacing:1.8px;color:#d8e1e5}.telemetry-separator{padding:0 7px;color:var(--amber)}.status-dot{display:inline-block;width:5px;height:5px;background:var(--cyan);box-shadow:0 0 8px #8bc2ce30;flex:none}.menu-rail{position:absolute;left:4.8%;top:50%;transform:translateY(-47%);width:min(385px,36vw)}.eyebrow{font:9px var(--mono);letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}.menu-eyebrow{display:flex;align-items:center;gap:10px;color:var(--amber);font-size:9px;letter-spacing:1.5px;margin-bottom:22px}.small-rule{width:20px;height:1px;display:block;background:var(--amber)}h1{font-family:var(--display);font-size:clamp(66px,6.1vw,100px);font-weight:400;line-height:.87;letter-spacing:1px;margin:0;text-shadow:0 3px 24px #0002}.title-subline{display:block;font-family:var(--body);font-weight:600;font-size:clamp(15px,1.3vw,21px);letter-spacing:5.3px;line-height:1.3;margin-top:15px}.watch-label{display:flex;align-items:center;gap:9px;font:10px var(--mono);letter-spacing:1.5px;color:#a8b7c2;margin:24px 0 27px}.watch-square{width:5px;height:5px;border:1px solid var(--amber)}.watch-divider{color:var(--amber);margin:0 2px}.menu-actions{display:grid;gap:7px}.menu-actions button{border:1px solid transparent;background:transparent;text-align:left;transition:background .18s,border-color .18s,transform .18s}.menu-actions button strong{font-size:12px;letter-spacing:1.5px;font-weight:650}.menu-actions button small{display:block;font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.1px}.menu-actions .start-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:65px;padding:13px 19px 13px 21px;background:var(--amber);color:#17212a;border-color:var(--amber)}.start-button strong{font-size:14px!important;letter-spacing:1.7px!important}.menu-actions .start-button small{color:#4b463a;font-size:10px}.button-arrow{font-size:25px;font-weight:300;padding-left:12px}.menu-actions .start-button:hover{background:var(--amber-light);border-color:var(--amber-light);transform:translateX(3px)}.menu-actions .start-button:active{transform:translateX(1px);background:#d5a052}.menu-actions .continue-button{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-bottom:1px solid var(--rule);min-height:54px}.continue-button>span:last-child{color:var(--amber);font-size:20px}.menu-actions .continue-button:hover{background:#c9dbe20b;border-color:var(--rule)}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;column-gap:6px;row-gap:2px;padding-top:5px}.secondary-actions button{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 7px}.action-number{font:9px var(--mono);color:#687e8e;border-left:1px solid #59718365;padding-left:8px}.secondary-actions button strong{font-size:10px;letter-spacing:1px}.secondary-actions button small{font-size:9px;margin-top:3px}.menu-actions .secondary-actions button:hover{background:#d4e2ea0a;border-color:#d4e2ea1a}.secondary-actions button:hover .action-number{color:var(--amber);border-left-color:var(--amber)}.menu-keyboard{display:flex;align-items:center;gap:8px;font:8px var(--mono);color:#7e919f;letter-spacing:1.1px;margin-top:23px}.scene-caption{position:absolute;right:4.8%;bottom:105px;text-align:right;color:#e1e8eb;pointer-events:none}.scene-coordinate{display:flex;justify-content:flex-end;align-items:center;gap:10px;font:9px var(--mono);letter-spacing:1.9px}.scene-coordinate>span{width:28px;height:1px;background:var(--amber)}.scene-caption p{font-size:22px;font-weight:350;line-height:1.45;letter-spacing:2px;margin:15px 0 19px;text-shadow:0 1px 8px #0008}.scene-caption em{font-size:12px;font-style:normal;color:#c8d2da;letter-spacing:2.8px}#loading-status{font:9px var(--mono);color:var(--amber);letter-spacing:1px;min-height:12px}.menu-footer{position:absolute;bottom:25px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid #d9e5ed20}.developer-credit{font-size:10px;color:#a7b6c2;letter-spacing:.1px}.developer-credit strong{font:8px var(--mono);letter-spacing:2px;color:#e2e7e9;margin-left:6px}.menu-footer>div{display:flex;align-items:center;gap:30px}.offline-label{font:8px var(--mono);letter-spacing:1px;color:#c7d4dd;display:flex;align-items:center;gap:7px}.offline-label .status-dot{background:var(--green);width:4px;height:4px}.version-label{font:8px var(--mono);letter-spacing:1px;color:#9baeba}

/* Operational display: kept to the outer edges so the street stays readable. */
#hud{position:fixed;inset:0;z-index:5;pointer-events:none;text-shadow:0 1px 3px #0007;background:linear-gradient(180deg,#07121e45,transparent 17%,transparent 75%,#07121e35)}.hud-location{position:absolute;top:27px;left:29px}.hud-location>.eyebrow{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.5px;color:#ced9df}.district-name{font-size:25px;font-weight:650;letter-spacing:1.5px;margin-top:7px}.shift-details{display:flex;align-items:center;gap:11px;margin-top:8px;font:9px var(--mono);letter-spacing:.7px;color:#d4dfe6}.unit-number{background:var(--amber);color:var(--ink);padding:4px 6px;text-shadow:none}#duty-label{color:var(--green)}#time-label{border-left:1px solid var(--rule);padding-left:11px}.compass{position:absolute;top:26px;left:50%;transform:translateX(-50%);font:10px var(--mono);letter-spacing:3px;min-width:170px;text-align:center;color:#ecf1ee}.compass:before,.compass:after{content:"";position:absolute;top:10px;width:24px;border-top:1px solid #dae5eb66}.compass:before{right:calc(100% + 9px)}.compass:after{left:calc(100% + 9px)}.compass-tick{display:block;width:1px;height:8px;background:var(--amber);margin:0 auto 7px}.career-stats{position:absolute;top:26px;right:29px;display:flex;gap:26px;text-align:right}.career-stats>div>span{font:8px var(--mono);letter-spacing:1.5px;color:#d0dce4;display:block}.career-stats strong{font:22px var(--mono);font-weight:400;display:block;margin-top:6px}#integrity-label{color:var(--green)}.assignment-panel{position:absolute;top:104px;right:29px;width:285px;border-top:2px solid var(--amber);background:linear-gradient(100deg,rgba(12,25,36,.94),rgba(12,25,36,.83));padding:15px 17px 0;box-shadow:0 5px 24px #0001}.assignment-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.assignment-header .eyebrow{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1px;color:var(--amber)}.assignment-header .status-dot{background:var(--amber);width:4px;height:4px}.assignment-code{font:8px var(--mono);color:#8198a8}.assignment-panel h2{font-size:15px;letter-spacing:.6px;font-weight:650;line-height:1.35;margin:17px 0 9px}.assignment-panel p{font-size:11px;line-height:1.65;color:#c0cdd5;margin:0 0 17px;max-width:255px}.assignment-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding:10px 0;font:8px var(--mono);letter-spacing:.7px;color:#8fa6b5}.assignment-footer strong{color:var(--amber);font-weight:400}.reticle{position:absolute;top:50%;left:50%;width:14px;height:14px;transform:translate(-50%,-50%);opacity:.8}.reticle i{position:absolute;background:#f6f3e6;box-shadow:0 0 2px #0008}.reticle i:nth-child(1){height:3px;width:1px;left:6px;top:0}.reticle i:nth-child(2){height:3px;width:1px;left:6px;bottom:0}.reticle i:nth-child(3){width:3px;height:1px;left:0;top:6px}.reticle i:nth-child(4){width:3px;height:1px;right:0;top:6px}.interaction-prompt{position:absolute;left:50%;top:59%;transform:translateX(-50%);background:rgba(9,20,30,.88);border-left:2px solid var(--amber);padding:12px 18px;font-size:12px;letter-spacing:.2px;max-width:440px;text-align:center}.subtitle{position:absolute;left:50%;bottom:140px;transform:translateX(-50%);background:rgba(6,15,24,.86);padding:12px 18px;font-size:13px;line-height:1.6;max-width:min(650px,55vw);text-align:center;border-bottom:1px solid var(--amber)}.notification-stack{position:absolute;top:290px;right:29px;width:285px;display:grid;gap:8px}.toast{font-size:11px;line-height:1.55;padding:12px 14px;border-left:2px solid var(--cyan);background:rgba(13,27,38,.95);color:#e5edf0;box-shadow:0 4px 20px #0002;animation:toast-in .25s ease-out}.toast.warn{border-left-color:var(--amber);color:#f5dbb0}.toast.success{border-left-color:var(--green);color:#cde8d2}.toast strong{display:block;font-weight:600;margin-bottom:3px}.map-panel{position:absolute;left:29px;bottom:24px;background:var(--panel);width:222px;border:1px solid #bdd0dd30;box-shadow:0 5px 22px #0002}.map-header{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#162737}.map-header .eyebrow{font-size:8px;letter-spacing:1.2px;color:#c4d6e2}.map-north{color:var(--amber);font:9px var(--mono)}#minimap{width:220px;height:220px;display:block;background:#152b38}.street-name{padding:11px 10px 10px;display:flex;align-items:center;gap:8px;font:9px var(--mono);letter-spacing:.6px;border-top:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.street-marker{width:5px;height:5px;background:var(--amber);transform:rotate(45deg);flex:none}.map-shortcuts{display:flex;align-items:center;justify-content:space-between;padding:0 10px 9px;font:7px var(--mono);color:#9eb2bf;letter-spacing:.2px}.map-shortcuts kbd{font-size:7px;padding:2px 3px}.controls-strip{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);text-align:center;font:8px var(--mono);letter-spacing:.6px;color:#e1e7eb;line-height:1.9;white-space:nowrap}.controls-strip>div:first-child{background:rgba(9,21,31,.69);padding:6px 10px;border-bottom:1px solid var(--rule)}.controls-strip span,.equipment-tip>span{padding:0 7px;color:#6e8595}.secondary-hint{color:#b9c8d2;margin-top:6px}kbd{display:inline-block;font:9px var(--mono);line-height:1.4;border:1px solid #c6d8e344;border-bottom-color:#c6d8e377;padding:2px 5px;color:#ecf0eb;background:#8baac212;white-space:nowrap;text-shadow:none}.equipment-panel{position:absolute;right:29px;bottom:25px;width:245px}.vehicle-readout{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:12px}.speed-reading{display:flex;align-items:baseline;gap:7px}.speed-reading>strong{font:66px var(--display);line-height:.9;letter-spacing:1px}.speed-reading>span{font:9px var(--mono);letter-spacing:1.1px;color:#d1dce3}.gear-reading{padding-left:15px;border-left:1px solid #c4d8e45c;text-align:center}.gear-reading>span{font:7px var(--mono);letter-spacing:1px;color:#bfd0dc;display:block}.gear-reading>strong{font:24px var(--mono);color:var(--amber);display:block;margin-top:3px}.emergency-readout{display:flex;align-items:center;justify-content:space-between;gap:8px;font:7px var(--mono);letter-spacing:.2px;margin-bottom:10px;color:#b4c5d1}.emergency-readout>div{display:flex;gap:5px}.emergency-readout>div>span{border:1px solid #bbd2df33;background:#09172299;padding:4px;color:#abc0cf}.tool-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);padding:13px 13px;border-left:2px solid var(--amber)}.tool-readout .eyebrow{font-size:7px;letter-spacing:1px;color:#93aaba;display:block}.tool-readout #tool-label{font-size:11px;letter-spacing:.8px;display:block;margin-top:5px;font-weight:600}.ammo-count{font:16px var(--mono);font-weight:400;white-space:nowrap;color:var(--amber)}.health-readout{background:rgba(15,29,40,.9);display:flex;justify-content:space-between;align-items:center;padding:9px 13px;border-top:1px solid var(--rule);font:8px var(--mono);letter-spacing:.6px}.health-readout>span{display:flex;align-items:center;gap:7px;color:#a7bdca}.health-cross{font-size:13px;line-height:1;color:var(--green)}.health-readout>strong{font-weight:400;color:#d0e8d3}.equipment-tip{font:6.5px var(--mono);letter-spacing:.1px;color:#c4d1d8;text-align:right;margin-top:9px;white-space:nowrap}.equipment-tip kbd{font-size:7px;padding:1px 3px}

/* Field terminal and reusable forms used by gameplay. */
.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(3,10,17,.78);display:flex;align-items:center;justify-content:center;padding:30px;backdrop-filter:blur(6px)}.modal-panel{width:100%;max-width:820px;max-height:84vh;overflow:auto;background:#12222f;border:1px solid #65839570;box-shadow:0 20px 90px #0008;border-top:3px solid var(--amber);scrollbar-width:thin;scrollbar-color:#516b7c #12222f}.modal-header{position:sticky;top:0;background:#12222f;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px 21px;border-bottom:1px solid var(--rule)}.modal-header .eyebrow{font-size:8px;color:var(--amber);letter-spacing:1.3px}.modal-header h2{font-family:var(--display);font-size:35px;letter-spacing:1.7px;font-weight:400;margin:8px 0 0;line-height:1.15}.icon-button{display:grid;place-items:center;width:36px;height:36px;background:transparent;border:1px solid var(--rule);font-size:25px;font-weight:300;color:#bacbd6;transition:background .15s,color .15s}.icon-button:hover{background:#ffffff0b;color:var(--ivory);border-color:#8ba5b7}.modal-body{padding:25px 30px 30px;font-size:13px;line-height:1.65}.modal-body h3{font-size:16px;font-weight:600;letter-spacing:.5px;margin:25px 0 12px}.modal-body h3:first-child{margin-top:0}.modal-body h4{font-size:12px;letter-spacing:.8px;margin:18px 0 8px;color:var(--amber)}.modal-body p{margin:0 0 15px;color:#c5d2dc}.modal-body ul,.modal-body ol{padding-left:20px;margin:10px 0 20px;color:#c5d2dc}.modal-body li{padding:3px 0}.modal-body a{color:var(--amber-light);text-underline-offset:4px}.modal-body button{background:#1d3343;border:1px solid #7a97aa65;padding:11px 15px;font-size:11px;letter-spacing:.4px;transition:background .15s,border-color .15s}.modal-body button:hover{background:#284559;border-color:#92b1c4}.primary,.modal-body button.primary{background:var(--amber);border-color:var(--amber);color:#15212a;font-weight:600}.modal-body button.primary:hover{background:var(--amber-light);border-color:var(--amber-light)}.danger,.modal-body button.danger{border-color:#b36b6577;background:#48282b;color:#f5c5bf}.modal-body button.danger:hover{border-color:#e7a59d;background:#623337}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.action-grid button{display:flex;flex-direction:column;text-align:left;align-items:flex-start;justify-content:center;gap:4px;min-height:55px}.action-grid button small{font-size:10px;font-weight:400;color:inherit;opacity:.75}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.record-card{border:1px solid var(--rule);border-left:2px solid #6a95aa;background:#0c1b26;padding:17px 18px;min-width:0}.record-card h3,.record-card h4{margin-top:0}.record-card p:last-child{margin-bottom:0}.record-card strong{color:var(--ivory)}.record-card .eyebrow{font-size:8px}.tag{display:inline-block;font:8px var(--mono);letter-spacing:.8px;background:#8bc2ce1a;border:1px solid #8bc2ce55;color:#b6dce5;padding:4px 6px;line-height:1.2;vertical-align:middle;margin:2px 4px 2px 0}.tag.red{color:#f3b8b0;border-color:#e48c825e;background:#e48c8214}.tag.green{color:#bae0c2;border-color:#9dcba75e;background:#9dcba714}.muted{color:var(--muted)!important}.document{padding:21px;border:1px solid #879caa55;background:#182b38;font-family:var(--mono);font-size:11px;line-height:1.8;margin:16px 0}.document h3{font-family:var(--body);font-size:15px;border-bottom:1px solid var(--rule);padding-bottom:12px}.document p{color:#c4d1da}.data-table{border-collapse:collapse;width:100%;font-size:11px;margin:15px 0;line-height:1.5}.data-table th{font:8px var(--mono);letter-spacing:1px;color:#94acbd;text-align:left;text-transform:uppercase;background:#0e1d29;padding:10px 12px;border-bottom:1px solid #65839560}.data-table td{padding:11px 12px;border-bottom:1px solid var(--rule);color:#d4dfe6;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#bad5e307}.modal-footer{border-top:1px solid var(--rule);margin-top:25px;padding-top:18px;display:flex;justify-content:flex-end;gap:10px;align-items:center}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 25px}.help-grid>div,.help-grid>section{padding:13px 0;border-bottom:1px solid var(--rule)}.help-grid h3{margin:0 0 10px;font-size:13px;color:var(--amber)}.help-grid p{font-size:11px;margin:7px 0}.help-grid kbd{margin-right:8px}.map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:10px;color:#bdd0dc;padding:12px 0}.map-legend>span{display:flex;align-items:center;gap:6px}.map-legend i{display:inline-block;width:7px;height:7px;background:var(--amber);font-style:normal}.bar{height:5px;background:#07131c;overflow:hidden;position:relative;margin:8px 0}.bar>span,.bar>div{display:block;height:100%;background:var(--amber);transition:width .2s}.modal-body label{display:block;font-size:11px;color:#d4dfe6;letter-spacing:.3px;margin-bottom:8px}.modal-body label:has(input[type="checkbox"]){display:flex;align-items:center;gap:10px;cursor:pointer}.modal-body input:not([type="checkbox"]):not([type="range"]),.modal-body select,.modal-body textarea{width:100%;background:#0b1a25;border:1px solid #6b899b73;color:var(--ivory);padding:11px 12px;margin:0 0 15px;border-radius:0;font-size:12px}.modal-body input::placeholder,.modal-body textarea::placeholder{color:#718b9c}.modal-body textarea{resize:vertical;min-height:85px}.modal-body input[type="checkbox"]{accent-color:var(--amber);width:16px;height:16px;flex:none}.modal-body input[type="range"]{accent-color:var(--amber);width:100%;margin:8px 0 20px}.modal-body select{appearance:auto;cursor:pointer}.modal-body progress{width:100%;height:6px;accent-color:var(--amber);border:0;background:#07131c}.modal-body hr{border:0;border-top:1px solid var(--rule);margin:22px 0}.modal-body fieldset{border:1px solid var(--rule);padding:18px;margin:15px 0}.modal-body legend{font:9px var(--mono);letter-spacing:1px;color:var(--amber);padding:0 7px}.noscript-message{position:fixed;z-index:99;left:50%;top:50%;transform:translate(-50%,-50%);background:#12222f;border:1px solid var(--amber);padding:30px;text-align:center;max-width:90vw}.noscript-message p{font-size:13px;color:var(--muted)}
@keyframes toast-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1600px){.menu-rail{width:420px;left:5.8%}.menu-eyebrow{margin-bottom:27px;font-size:10px}h1{font-size:105px}.title-subline{font-size:22px}.watch-label{margin:30px 0 33px;font-size:11px}.menu-actions .start-button{min-height:74px;padding-left:23px}.menu-actions .continue-button{min-height:62px;padding-left:23px}.secondary-actions button{min-height:54px}.secondary-actions button strong{font-size:11px}.secondary-actions button small{font-size:10px}.menu-keyboard{margin-top:30px}.scene-caption{bottom:125px}.scene-caption p{font-size:27px}.scene-caption em{font-size:14px}.menu-footer{bottom:30px}}
@media(max-height:780px){.menu-masthead{top:22px}.menu-rail{transform:translateY(-47%)}.menu-eyebrow{margin-bottom:17px;font-size:8px}h1{font-size:76px}.title-subline{font-size:16px;letter-spacing:4.4px;margin-top:13px}.watch-label{margin:21px 0 21px;font-size:9px}.menu-actions .start-button{min-height:61px}.menu-actions .continue-button{min-height:49px}.secondary-actions button{min-height:45px}.menu-keyboard{margin-top:17px}.menu-footer{bottom:20px}.scene-caption{bottom:92px}.map-panel{width:190px}.map-panel #minimap{width:188px;height:188px}.map-header{height:26px}.street-name{font-size:8px;padding:9px}.map-shortcuts{padding:0 9px 8px;font-size:6px}.map-shortcuts kbd{font-size:6px}.equipment-panel{width:230px}.equipment-tip{font-size:6px}.equipment-tip>span{padding:0 4px}.speed-reading>strong{font-size:56px}.assignment-panel{top:98px}.notification-stack{top:278px}.subtitle{bottom:122px}}
@media(max-width:1100px){.menu-rail{left:4.5%;width:360px}.menu-masthead,.menu-footer{left:4.5%;right:4.5%}.menu-atmosphere{background:linear-gradient(90deg,#071019f7,#071019e8 25%,#071019a6 45%,#07101916 85%),linear-gradient(0deg,#071019d9,transparent 40%)}.scene-caption{right:4.5%}.scene-caption p{font-size:18px}.scene-caption em{font-size:10px}.scene-coordinate{font-size:8px}.controls-strip{font-size:7px}.controls-strip>div:first-child{padding:5px 7px}.controls-strip kbd{font-size:7px}.controls-strip span{padding:0 4px}.hud-location,.map-panel{left:20px}.career-stats,.assignment-panel,.notification-stack,.equipment-panel{right:20px}.career-stats{gap:18px}.assignment-panel,.notification-stack{width:260px}.equipment-panel{width:216px}.tool-readout{padding:11px 9px}.ammo-count{font-size:14px}.equipment-tip{font-size:5.5px}.equipment-tip kbd{font-size:6px}}
@media(max-width:760px){.menu-masthead{top:20px}.scene-telemetry{display:none}.menu-rail{left:7%;width:min(360px,86%);top:50%;transform:translateY(-46%)}.menu-atmosphere{background:linear-gradient(90deg,#071019f2,#071019bc 75%,#07101955),linear-gradient(0deg,#071019d9,transparent 40%)}h1{font-size:74px}.menu-eyebrow{font-size:7px;letter-spacing:1px}.title-subline{font-size:15px;letter-spacing:4px}.scene-caption{display:none}.menu-footer{left:7%;right:7%;bottom:17px}.menu-masthead{left:7%}.menu-footer>div{gap:12px}.developer-credit{font-size:8px}.developer-credit strong{font-size:6px;letter-spacing:1px}.offline-label,.version-label{font-size:6px}.hud-location{top:18px;left:15px}.district-name{font-size:19px}.hud-location>.eyebrow{font-size:6px;letter-spacing:.7px}.shift-details{font-size:7px;gap:6px}.career-stats{top:18px;right:15px;gap:12px}.career-stats>div>span{font-size:6px;letter-spacing:.4px}.career-stats strong{font-size:16px}.compass{top:90px;font-size:8px;min-width:85px;letter-spacing:1.5px}.compass:before,.compass:after{width:12px}.compass-tick{height:5px;margin-bottom:4px}.assignment-panel{top:124px;right:15px;width:212px;padding:11px 12px 0}.assignment-header .eyebrow{font-size:6px;letter-spacing:.7px}.assignment-code{font-size:6px}.assignment-panel h2{font-size:12px;margin:12px 0 7px}.assignment-panel p{font-size:9px;margin-bottom:12px}.assignment-footer{font-size:6px;padding:8px 0}.notification-stack{right:15px;top:276px;width:212px}.toast{font-size:9px;padding:9px 11px}.map-panel{left:15px;bottom:18px;width:144px}.map-panel #minimap{width:142px;height:142px}.map-header{height:22px;padding:0 7px}.map-header .eyebrow,.map-north{font-size:6px}.street-name{font-size:6px;padding:8px 7px;gap:6px}.map-shortcuts{font-size:5px;padding:0 6px 7px}.map-shortcuts kbd{font-size:5px;padding:1px 2px}.equipment-panel{right:15px;bottom:18px;width:178px}.speed-reading>strong{font-size:42px}.speed-reading>span{font-size:7px}.gear-reading>strong{font-size:19px}.gear-reading>span{font-size:6px}.vehicle-readout{gap:10px;margin-bottom:8px}.gear-reading{padding-left:10px}.emergency-readout{font-size:5px;margin-bottom:7px}.emergency-readout>div{gap:3px}.emergency-readout>div>span{padding:3px}.tool-readout{padding:10px 8px;gap:5px}.tool-readout #tool-label{font-size:8px;letter-spacing:.3px}.tool-readout .eyebrow{font-size:6px}.ammo-count{font-size:12px}.health-readout{font-size:6px;padding:7px 8px}.equipment-tip{display:none}.controls-strip{bottom:246px;font-size:6px;max-width:95vw}.controls-strip kbd{font-size:6px}.secondary-hint{font-size:6px}.subtitle{bottom:296px;font-size:10px;max-width:80vw;width:max-content}.interaction-prompt{top:55%;font-size:10px;padding:9px 12px;max-width:80vw;width:max-content}.modal-backdrop{padding:15px}.modal-panel{max-height:90vh}.modal-header{padding:19px 18px}.modal-header h2{font-size:28px}.modal-header .eyebrow{font-size:6px}.modal-body{padding:20px 18px;font-size:12px}.record-grid,.help-grid{grid-template-columns:1fr}.action-grid{gap:7px}.modal-body button{font-size:10px;padding:10px}.data-table{font-size:9px}.data-table th,.data-table td{padding:8px}.modal-footer{flex-wrap:wrap}}
@media(max-height:620px){.menu-masthead{top:15px}.department-mark{font-size:8px}.badge{width:24px;height:29px}.mark-subline{font-size:6px}.menu-rail{top:51%;transform:translateY(-50%);width:330px}.menu-eyebrow{margin-bottom:12px;font-size:7px}h1{font-size:57px}.title-subline{font-size:12px;letter-spacing:3.7px;margin-top:9px}.watch-label{font-size:8px;margin:15px 0}.menu-actions .start-button{min-height:50px;padding:10px 15px}.start-button strong{font-size:12px!important}.menu-actions .start-button small{font-size:8px}.menu-actions .continue-button{min-height:43px;padding:8px 15px}.menu-actions button strong{font-size:10px}.menu-actions button small{font-size:8px}.secondary-actions button{min-height:36px;padding:4px 7px}.secondary-actions button strong{font-size:8px}.secondary-actions button small{font-size:7px}.menu-keyboard{margin-top:11px;font-size:6px}.menu-keyboard svg{width:14px}.menu-footer{bottom:12px;padding-top:10px}.scene-caption{bottom:65px}.scene-caption p{font-size:17px}.map-panel #minimap{width:142px;height:142px}.map-panel{width:144px}.map-shortcuts{font-size:5px}.map-shortcuts kbd{font-size:5px}.street-name{font-size:6px}.hud-location{top:16px}.career-stats{top:16px}.assignment-panel{top:85px}.notification-stack{top:230px}.assignment-panel p{font-size:10px}.equipment-panel{bottom:18px}.controls-strip{bottom:20px}.subtitle{bottom:95px}.compass{top:20px}}
/* Readable key legends and an explicit clear zone above compact HUD panels. */
.hud-location>.eyebrow,.career-stats>div>span,.shift-details,.assignment-header .eyebrow,.assignment-code,.assignment-footer,.map-header .eyebrow,.map-north,.street-name,.map-shortcuts,.map-shortcuts kbd,.controls-strip,.controls-strip kbd,.secondary-hint,.emergency-readout,.tool-readout .eyebrow,.health-readout,.gear-reading>span,.speed-reading>span{font-size:9px}
.map-shortcuts{flex-wrap:wrap;gap:7px;line-height:1.6;letter-spacing:0}
.map-shortcuts kbd{padding:2px 3px}
.controls-strip{width:min(560px,calc(100vw - 560px));white-space:normal;letter-spacing:.25px;line-height:1.8}
.controls-strip>div:first-child{padding:7px 10px}
.controls-strip span{padding:0 5px}
.emergency-readout{justify-content:flex-end;letter-spacing:0}
.emergency-readout>span{display:none}
.emergency-readout>div{gap:7px}
.emergency-readout>div>span{padding:5px 6px}
.equipment-tip{font-size:9px;line-height:1.8;white-space:normal;letter-spacing:0}
.equipment-tip kbd{font-size:9px;padding:1px 3px}
.assignment-header .eyebrow,.career-stats>div>span{letter-spacing:.6px}
@media(max-width:1100px){.assignment-code{display:none}.equipment-tip{font-size:9px}.equipment-tip kbd{font-size:9px}.controls-strip{font-size:9px}.controls-strip kbd{font-size:9px}}
@media(max-width:1000px) and (min-width:761px){.controls-strip{bottom:380px;width:min(560px,calc(100vw - 48px))}.subtitle{bottom:455px}.street-name{font-size:9px}}
@media(max-width:1000px) and (min-width:761px) and (max-height:780px){.controls-strip{bottom:345px}.subtitle{bottom:420px}}
@media(max-width:1000px) and (min-width:761px) and (max-height:620px){.controls-strip{bottom:285px}.subtitle{bottom:360px}.map-shortcuts{flex-direction:column;align-items:flex-start;gap:5px}}
@media(max-width:760px){
  .menu-footer{flex-direction:column;align-items:flex-start;gap:10px;padding-top:12px}
  .menu-footer>div{width:100%;justify-content:space-between;gap:16px}
  .developer-credit,.developer-credit strong,.offline-label,.version-label{font-size:9px;letter-spacing:.3px}
  .developer-credit strong{margin-left:8px}
  .hud-location>.eyebrow{font-size:8px;letter-spacing:.3px}
  .shift-details,.career-stats>div>span,.assignment-header .eyebrow,.assignment-footer,.map-header .eyebrow,.map-north,.street-name,.map-shortcuts,.map-shortcuts kbd,.controls-strip,.controls-strip kbd,.secondary-hint,.emergency-readout,.tool-readout .eyebrow,.health-readout,.gear-reading>span,.speed-reading>span{font-size:9px}
  .career-stats>div>span{letter-spacing:0}
  .assignment-panel p{font-size:11px}
  .assignment-header .eyebrow{letter-spacing:.3px}
  .assignment-footer>span{display:none}
  .assignment-footer{justify-content:flex-end}
  .map-shortcuts{flex-direction:column;align-items:flex-start;gap:5px;padding:0 7px 8px}
  .map-shortcuts kbd{padding:1px 3px}
  .street-name{letter-spacing:0;padding:9px 7px}
  .controls-strip{bottom:285px;width:calc(100vw - 30px);max-width:480px;font-size:9px}
  .controls-strip kbd,.secondary-hint{font-size:9px}
  .subtitle{bottom:375px}
  .emergency-readout>div{gap:5px}
  .emergency-readout>div>span{padding:4px}
  .tool-readout #tool-label{font-size:10px;letter-spacing:.1px}
  .health-readout{letter-spacing:0}
  .equipment-tip{display:none}
  .toast{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.incident-tracker{position:absolute;top:112px;left:30px;font:10px/1.6 monospace;letter-spacing:.05em;color:#e9e9dc;text-shadow:0 1px 3px #000;pointer-events:none}.incident-tracker span{color:#edb867}@media(max-width:760px){.incident-tracker{top:106px;left:18px;font-size:9px}}

/* Loading is visible before the large local package is parsed. */
.game-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 76% 25%,#263c49 0,transparent 60%),#0b1721;color:#e9e7df}
.loading-card{width:min(660px,100%);border-top:2px solid var(--amber);padding:34px 0 0}
.loading-kicker{display:flex;align-items:center;gap:11px;color:var(--amber);letter-spacing:1.6px}
.loading-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 14px}
.loading-heading-row h2{margin:0;font-family:var(--display);font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.05;letter-spacing:.5px}
.loading-spinner{flex:none;width:26px;height:26px;border:2px solid #52626a;border-top-color:var(--amber);border-radius:50%;animation:loading-turn 1s linear infinite}
#loading-detail{min-height:3.2em;margin:0 0 24px;font-size:15px;line-height:1.6;color:#bdcbd4;max-width:570px}
.loading-meter{height:5px;background:#30424d;overflow:hidden}.loading-meter>div{height:100%;width:0;background:var(--amber);transition:width .15s ease-out}
.loading-readout{display:flex;justify-content:space-between;gap:20px;margin:13px 0 30px;font:11px var(--mono);letter-spacing:1px}.loading-readout strong{color:var(--amber);font-weight:500}
.loading-checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;font:12px var(--body);color:#7e929f}.loading-checklist li{display:flex;align-items:center;gap:12px}.loading-checklist li:before{content:'';width:7px;height:7px;flex:none;border:1px solid #627986}.loading-checklist li.current{color:#e9e7df}.loading-checklist li.current:before{border-color:var(--amber);background:var(--amber)}.loading-checklist li.complete{color:#a9c9c9}.loading-checklist li.complete:before{background:var(--cyan);border-color:var(--cyan)}
.loading-footer{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding-top:17px;border-top:1px solid #344650;font:10px var(--mono);color:#97acb9;line-height:1.6}.loading-footer>span:last-child{color:var(--amber);white-space:nowrap}#loading-retry{margin-top:24px;padding:12px 22px;border:1px solid var(--amber);background:var(--amber);color:#10202b;font-weight:650}
@keyframes loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}.loading-meter>div{transition:none}}@media(max-width:500px){.game-loading{padding:24px}.loading-card{padding-top:24px}.loading-kicker{font-size:8px;letter-spacing:.7px}.loading-checklist{grid-template-columns:1fr;gap:12px}.loading-footer{font-size:9px;flex-wrap:wrap}.loading-readout{font-size:9px}#loading-detail{font-size:13px}}
.game-loading.patrol-loading .loading-checklist{display:none}
/* Photographed property stays readable while the patrol is paused. */
.inventory-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding-bottom:18px;margin-bottom:20px}.inventory-summary h3{margin:8px 0!important;font-size:23px}.inventory-summary p{margin:0}.inventory-summary .eyebrow,.inventory-caption .eyebrow{font-size:9px;letter-spacing:1.1px;color:var(--amber)}.inventory-count{font:38px var(--display);text-align:center;color:var(--ivory)}.inventory-count small{display:block;font:8px var(--mono);letter-spacing:2px;color:var(--muted)}.modal-panel:has(.inventory-grid){max-width:1100px}.inventory-grid{display:grid;grid-template-columns:repeat(var(--inventory-columns,2),minmax(0,1fr));gap:16px}.inventory-card{border:1px solid var(--rule);background:#0c1720;overflow:hidden;min-width:0}.inventory-card img{display:block;width:100%;height:200px;object-fit:contain;background:#181818}.inventory-caption{padding:16px}.inventory-caption h3{margin:7px 0 8px;font-size:15px;letter-spacing:.1px}.inventory-caption p{font-size:12px;min-height:40px;margin-bottom:12px}.inventory-note{margin-top:20px!important}.inventory-card .tag{font-size:7px}@media(max-width:540px){.inventory-grid{grid-template-columns:1fr}.inventory-caption p{min-height:0}.inventory-summary h3{font-size:19px}.inventory-card img{aspect-ratio:1.6}}

@media(min-width:541px) and (max-width:900px){.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.modal-panel:has(.inventory-grid){display:flex;flex-direction:column;overflow:hidden}.modal-panel:has(.inventory-grid) .modal-header{flex-shrink:0}.modal-panel:has(.inventory-grid) .modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}.inventory-review{overflow:auto;min-height:0;padding:24px 30px;scrollbar-width:thin}.inventory-review+.modal-footer{flex-shrink:0;margin:0;padding:16px 30px;border-top:1px solid var(--rule);background:#12222f}@media(max-width:540px){.inventory-review{padding:20px 18px}.inventory-review+.modal-footer{padding:12px 18px;display:grid}}
/* Live instructions leave the road and the subject visible during the assessment. */
.sobriety-panel{position:absolute;top:106px;left:50%;transform:translateX(-50%);width:340px;max-width:45vw;padding:15px 18px;border:1px solid var(--rule);border-top:2px solid var(--amber);background:rgba(12,23,33,.94);text-align:left}.sobriety-panel .eyebrow{font-size:8px;letter-spacing:.8px;color:var(--amber)}.sobriety-panel h2{font-size:17px;margin:10px 0 8px}.sobriety-panel p{font-size:12px;line-height:1.5;margin:0 0 12px;color:#cad6df}.sobriety-track{height:3px;background:#ffffff18;margin:10px 0}.sobriety-track div{height:100%;background:var(--amber)}#sobriety-step{font:9px var(--mono);letter-spacing:.7px}.sobriety-panel small{display:block;font-size:9px;color:var(--muted);margin-top:8px}@media(max-width:760px){.sobriety-panel{top:135px;max-width:85vw;width:300px;padding:12px}.sobriety-panel p{font-size:10px}.sobriety-panel h2{font-size:14px}}
