/* Scoped Technology Atlas. Existing game panorama and navigation are retained. */
body:not(.crime-mode) #screen-game .research-atlas{--ra-ink:#163d2e;--ra-gold:#b28b49;--ra-line:#d2b881;--ra-paper:#fff9e9;background:#fcf5e5;color:var(--ra-ink);border:1px solid #c6a766;border-radius:12px;overflow:clip;max-width:100%;font:14px/1.45 system-ui,sans-serif}
body:not(.crime-mode) #screen-game .research-atlas *,body:not(.crime-mode) #screen-game .research-atlas *::before,body:not(.crime-mode) #screen-game .research-atlas *::after{box-sizing:border-box;min-width:0}
body:not(.crime-mode) #screen-game .research-atlas button{font:inherit;cursor:pointer;max-width:100%;min-height:44px;white-space:normal;transition:box-shadow .18s,background .18s;color:inherit}
body:not(.crime-mode) #screen-game .research-atlas button:focus-visible{outline:3px solid #c7a357;outline-offset:3px}
body:not(.crime-mode) #screen-game .research-atlas button:disabled{cursor:not-allowed;opacity:.6}
body:not(.crime-mode) #screen-game .research-atlas .ra-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;background:radial-gradient(ellipse at 10% 0,#fffdf5,#f6ecd6);border-bottom:2px solid #b6995d}
body:not(.crime-mode) #screen-game .research-atlas .ra-header h2{font:400 clamp(28px,3vw,42px)/1.15 Georgia,serif;margin:3px 0 0;color:#243d2e}
body:not(.crime-mode) #screen-game .research-atlas .ra-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8a6d39}
body:not(.crime-mode) #screen-game .research-atlas .ra-help{margin-left:auto;width:44px;border:1px solid #c5ac77;border-radius:50%;background:#fffbef;font:700 19px Georgia,serif;color:#85672d}
body:not(.crime-mode) #screen-game .research-atlas .ra-branches{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:0;border:1px solid #bea36d;border-radius:6px;overflow:hidden}
body:not(.crime-mode) #screen-game .research-atlas .ra-branches button{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 8px;border:0;border-right:1px solid #d4c19b;background:linear-gradient(#fffaf0,#efe3ca);color:#684f26;font:16px/1.3 Georgia,serif}
body:not(.crime-mode) #screen-game .research-atlas .ra-branches button:last-child{border-right:0}
body:not(.crime-mode) #screen-game .research-atlas .ra-branches button[aria-pressed=true]{color:#f7db95;background:linear-gradient(130deg,#1c4938,#092c21);box-shadow:inset 0 0 0 2px #c3a054,inset 0 0 13px #0006}
body:not(.crime-mode) #screen-game .research-atlas .ra-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:stretch}
body:not(.crime-mode) #screen-game .research-atlas .ra-board{position:relative;min-width:0;padding:22px 24px 16px;background:linear-gradient(#092b1b29,#06231933),url('../img/research-atlas-board.webp') center/cover no-repeat,#0b2b20;color:#f4e2b2}
body:not(.crime-mode) #screen-game .research-atlas .ra-board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 16px;border-bottom:1px solid #c2a46645;margin-bottom:20px;font:21px Georgia,serif}
body:not(.crime-mode) #screen-game .research-atlas .ra-board-heading>span{display:flex;align-items:center;gap:10px}
body:not(.crime-mode) #screen-game .research-atlas .ra-board-heading small{font:12px system-ui,sans-serif;color:#dacb9f;white-space:nowrap}
body:not(.crime-mode) #screen-game .research-atlas .ra-map{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--ra-rows),184px);max-width:760px;margin:0 auto}
body:not(.crime-mode) #screen-game .research-atlas .ra-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
body:not(.crime-mode) #screen-game .research-atlas .ra-links path{fill:none;stroke:#ae8d4e;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.52}
body:not(.crime-mode) #screen-game .research-atlas .ra-links path.ra-link-open{stroke:#e2bc68;opacity:1;filter:drop-shadow(0 0 3px #ddb35d80)}
body:not(.crime-mode) #screen-game .research-atlas .ra-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;align-self:start;justify-self:center;width:166px;padding:6px 4px 0;border:0;background:transparent;box-shadow:none;border-radius:6px;color:#f9e7b9}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:104px;height:104px;padding:8px;border-radius:50%;background:conic-gradient(from 20deg,#5e431d,#fbe4a1 13%,#806127 24%,#d5b574 42%,#5c401c 59%,#f9e0a1 78%,#98713c);border:2px solid #ddbf7b;box-shadow:0 3px 5px #0009,inset 0 0 0 2px #3d2c16,inset 0 0 0 4px #dfc384;isolation:isolate}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-face{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px solid #b59c62;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#44634b,#193528 50%,#0b2419 85%);box-shadow:inset 0 2px 7px #0009;color:#e7c773}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-face svg.ico{width:55px!important;height:55px!important;color:#e8c978;stroke:#d6b163;filter:drop-shadow(1px 2px 0 #65441c) drop-shadow(-1px -1px 0 #f2dca0)}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-face svg.ico [fill]:not([fill=none]){fill:#c4a160!important}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-face svg.ico [stroke]:not([stroke=none]){stroke:#f0d496!important}
body:not(.crime-mode) #screen-game .research-atlas .ra-state-seal{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #cbb77a;border-radius:50%;background:#183c2b;color:#f7e8be;z-index:1;box-shadow:0 1px 3px #0007}
body:not(.crime-mode) #screen-game .research-atlas .ra-state-seal svg.ico{width:14px!important;height:14px!important;stroke:currentColor}
body:not(.crime-mode) #screen-game .research-atlas .ra-state-seal svg.ico [fill]:not([fill=none]){fill:transparent!important}
body:not(.crime-mode) #screen-game .research-atlas .ra-nameplate{display:block;width:100%;padding:7px 5px 6px;border:1px solid #ba995b;background:linear-gradient(#fff9e9,#e8d7af);box-shadow:0 2px 3px #0005,inset 0 0 0 2px #f8efd6;color:#2e3225;border-radius:3px;margin-top:6px;text-align:center;overflow-wrap:break-word}
body:not(.crime-mode) #screen-game .research-atlas .ra-nameplate strong{display:block;font:700 15px/1.2 Georgia,serif}
body:not(.crime-mode) #screen-game .research-atlas .ra-nameplate small{display:block;font:10px/1.4 system-ui,sans-serif;color:#6b5b3c;margin-top:3px}
body:not(.crime-mode) #screen-game .research-atlas .ra-locked .ra-medal{filter:saturate(.35) brightness(.7)}
body:not(.crime-mode) #screen-game .research-atlas .ra-locked .ra-nameplate{background:linear-gradient(#d5cbb7,#bbae94);box-shadow:0 2px 3px #0005,inset 0 0 0 2px #d7cbae}
body:not(.crime-mode) #screen-game .research-atlas .ra-in_progress .ra-medal{box-shadow:0 0 0 3px #daba6c,0 0 20px #ffcd697a,inset 0 0 0 3px #5c3e17}
body:not(.crime-mode) #screen-game .research-atlas .ra-selected .ra-nameplate{outline:2px solid #f8dc8a;outline-offset:3px}
body:not(.crime-mode) #screen-game .research-atlas .ra-node:hover .ra-medal{box-shadow:0 0 15px #dfbd6e88,inset 0 0 0 3px #c3a56b}
body:not(.crime-mode) #screen-game .research-atlas .ra-mobile-requirement{display:none}
body:not(.crime-mode) #screen-game .research-atlas .ra-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 16px;font-size:11px;border-top:1px solid #c2a46645;padding:14px 0 0;color:#d9c795}
body:not(.crime-mode) #screen-game .research-atlas .ra-legend>span{display:flex;align-items:center;gap:5px}
body:not(.crime-mode) #screen-game .research-atlas .ra-legend-done{color:#c9e0a7}
body:not(.crime-mode) #screen-game .research-atlas .ra-legend-progress{color:#ffd988}
body:not(.crime-mode) #screen-game .research-atlas .ra-legend-locked{color:#a99b7f}
body:not(.crime-mode) #screen-game .research-atlas .ra-sidebar{display:flex;flex-direction:column;background:radial-gradient(ellipse at 0 0,#fffdf4,#f3e6ca);border-left:2px solid #b49a5c;padding:8px;gap:8px}
body:not(.crime-mode) #screen-game .research-atlas .ra-detail{padding:20px 18px;border:1px solid #c3a777;box-shadow:inset 0 0 0 3px #fff8e8;text-align:center;flex:1;color:#24402d}
body:not(.crime-mode) #screen-game .research-atlas .ra-detail-branch{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#8c713c}
body:not(.crime-mode) #screen-game .research-atlas .ra-detail h3{font:700 30px/1.15 Georgia,serif;margin:8px 0 20px;color:#243729;overflow-wrap:break-word}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-large{width:154px;height:154px;margin:0 auto 22px;padding:11px;border-width:3px}
body:not(.crime-mode) #screen-game .research-atlas .ra-medal-large .ra-medal-face svg.ico{width:85px!important;height:85px!important}
body:not(.crime-mode) #screen-game .research-atlas .ra-effects{font:700 21px/1.35 Georgia,serif;color:#25533a;margin:12px 0}
body:not(.crime-mode) #screen-game .research-atlas .ra-effects svg.ico{color:#a37c34;stroke:currentColor}
body:not(.crime-mode) #screen-game .research-atlas .ra-effect-cost{color:#984c33;font-size:18px;margin-top:5px}
body:not(.crime-mode) #screen-game .research-atlas .ra-description{font-size:12px;line-height:1.5;color:#81704e;margin:10px 0 18px}
body:not(.crime-mode) #screen-game .research-atlas .ra-requires{display:flex;gap:8px;align-items:center;text-align:left;border-block:1px solid #d6c49c;padding:13px 0;color:#947244;font-size:11px}
body:not(.crime-mode) #screen-game .research-atlas .ra-requires>svg{flex:none}
body:not(.crime-mode) #screen-game .research-atlas .ra-requires strong{display:block;color:#634d27;font-size:13px;font-weight:600;margin-top:2px}
body:not(.crime-mode) #screen-game .research-atlas .ra-requirement-met>svg{color:#497043}
body:not(.crime-mode) #screen-game .research-atlas .ra-facts{margin:16px 0 20px}
body:not(.crime-mode) #screen-game .research-atlas .ra-facts>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;font-size:13px}
body:not(.crime-mode) #screen-game .research-atlas .ra-facts dt{display:flex;align-items:center;gap:8px;color:#806336}
body:not(.crime-mode) #screen-game .research-atlas .ra-facts dd{margin:0;text-align:right;font:700 18px/1.3 Georgia,serif;color:#283b2c}
body:not(.crime-mode) #screen-game .research-atlas :is(.ra-start,.ra-speed){padding:12px 15px;border:1px solid #a5803c;border-radius:5px;background:linear-gradient(#efd393,#c6a260);color:#493719;box-shadow:inset 0 1px #fff5d3,0 2px 3px #5434111a;font:600 14px/1.3 Georgia,serif}
body:not(.crime-mode) #screen-game .research-atlas .ra-start{width:100%}
body:not(.crime-mode) #screen-game .research-atlas .ra-action-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#877450;line-height:1.4;margin:12px 0 0}
body:not(.crime-mode) #screen-game .research-atlas .ra-current{display:flex;flex-direction:column;gap:12px;padding:16px 13px;border:1px solid #c3a777;background:#fff7e5;color:#57432c}
body:not(.crime-mode) #screen-game .research-atlas .ra-current-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
body:not(.crime-mode) #screen-game .research-atlas .ra-current-top strong{display:block;font:700 16px/1.3 Georgia,serif}
body:not(.crime-mode) #screen-game .research-atlas .ra-current-top small{font-size:10px;color:#8b734b}
body:not(.crime-mode) #screen-game .research-atlas #research-timer{font:16px/1.3 Georgia,serif;white-space:nowrap;display:flex;align-items:center;gap:5px}
body:not(.crime-mode) #screen-game .research-atlas .ra-progress{height:9px;background:#e2d6ba;border:1px solid #bfa979;border-radius:9px;overflow:hidden}
body:not(.crime-mode) #screen-game .research-atlas #research-progress-bar{height:100%;background:linear-gradient(#ffe8ae,#d4b46b);border-radius:8px;transition:width 1s linear}
body:not(.crime-mode) #screen-game .research-atlas .ra-speed{align-self:flex-end;display:flex;align-items:center;gap:7px}
body:not(.crime-mode) #screen-game .research-atlas .ra-idle{flex-direction:row;align-items:center;text-align:left;font-size:13px;gap:10px}
body:not(.crime-mode) #screen-game .research-atlas .ra-idle p{font-size:11px;line-height:1.5;color:#8b734b;margin:5px 0 0}
@media(max-width:1050px){body:not(.crime-mode) #screen-game .research-atlas .ra-workspace{grid-template-columns:minmax(0,1fr) 290px}body:not(.crime-mode) #screen-game .research-atlas .ra-node{width:140px}body:not(.crime-mode) #screen-game .research-atlas .ra-board{padding-inline:12px}}
@media(max-width:900px){body:not(.crime-mode) #screen-game .research-atlas .ra-workspace{grid-template-columns:minmax(0,1fr)}body:not(.crime-mode) #screen-game .research-atlas .ra-sidebar{border-left:0;border-top:2px solid #b49a5c;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}body:not(.crime-mode) #screen-game .research-atlas .ra-detail{min-height:0}body:not(.crime-mode) #screen-game .research-atlas .ra-header{padding:18px}}
@media(max-width:600px){body:not(.crime-mode) #screen-game .research-atlas .ra-header{padding:15px 12px;gap:14px}body:not(.crime-mode) #screen-game .research-atlas .ra-header h2{font-size:29px}body:not(.crime-mode) #screen-game .research-atlas .ra-eyebrow{font-size:9px;letter-spacing:1.6px}body:not(.crime-mode) #screen-game .research-atlas .ra-help{width:44px;min-height:44px}body:not(.crime-mode) #screen-game .research-atlas .ra-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#bca473}body:not(.crime-mode) #screen-game .research-atlas .ra-branches button{font-size:14px;padding:11px 6px;border:0;gap:6px}body:not(.crime-mode) #screen-game .research-atlas .ra-branches button>svg{width:18px!important;height:18px!important}body:not(.crime-mode) #screen-game .research-atlas .ra-board{padding:16px 12px}body:not(.crime-mode) #screen-game .research-atlas .ra-board-heading{font-size:18px;gap:7px}body:not(.crime-mode) #screen-game .research-atlas .ra-map{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:20px 12px}body:not(.crime-mode) #screen-game .research-atlas .ra-links{display:none}body:not(.crime-mode) #screen-game .research-atlas .ra-node{grid-column:auto!important;grid-row:auto!important;width:100%;padding:4px 0;min-height:194px}body:not(.crime-mode) #screen-game .research-atlas .ra-node[data-root=true]{grid-column:1/-1!important;max-width:160px}body:not(.crime-mode) #screen-game .research-atlas .ra-medal{width:86px;height:86px;padding:7px}body:not(.crime-mode) #screen-game .research-atlas .ra-medal-face svg.ico{width:44px!important;height:44px!important}body:not(.crime-mode) #screen-game .research-atlas .ra-nameplate strong{font-size:14px}body:not(.crime-mode) #screen-game .research-atlas .ra-mobile-requirement{display:block;color:#d5c393;font-size:10px;line-height:1.4;text-align:center;margin-top:9px}body:not(.crime-mode) #screen-game .research-atlas .ra-sidebar{grid-template-columns:minmax(0,1fr)}body:not(.crime-mode) #screen-game .research-atlas .ra-detail{padding:22px 16px}body:not(.crime-mode) #screen-game .research-atlas .ra-medal-large{width:150px;height:150px;padding:11px}body:not(.crime-mode) #screen-game .research-atlas .ra-medal-large .ra-medal-face svg.ico{width:83px!important;height:83px!important}body:not(.crime-mode) #screen-game .research-atlas .ra-legend{font-size:10px;gap:8px 12px}}
@media(prefers-reduced-motion:reduce){body:not(.crime-mode) #screen-game .research-atlas *,body:not(.crime-mode) #screen-game .research-atlas #research-progress-bar{transition:none!important;scroll-behavior:auto!important}}

body:not(.crime-mode) #screen-game .research-atlas :is(.ra-branches,.ra-facts,.ra-effects,.ra-requires,.ra-current,.ra-board-heading) svg.ico [fill]:not([fill="none"]){fill:#bd9b58!important}
body:not(.crime-mode) #screen-game .research-atlas :is(.ra-branches,.ra-facts,.ra-effects,.ra-requires,.ra-current,.ra-board-heading) svg.ico [stroke]:not([stroke="none"]){stroke:currentColor!important}
