*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#07090a;color:#e7e2cf;font-family:Arial,Helvetica,sans-serif}.hidden{display:none!important}button,input,textarea,select{font:inherit}.screen{position:fixed;inset:0}.start-screen{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#283236,#111719 48%,#07090a 100%)}.start-card{text-align:center;padding:46px 58px;background:rgba(12,17,18,.88);border:1px solid #566462;box-shadow:0 24px 80px #000}.eyebrow{font-size:12px;letter-spacing:4px;color:#9bb0ac}.start-card h1{font:58px Georgia,serif;letter-spacing:6px;margin:14px 0 6px}.start-card p{color:#b8beb3;margin-bottom:30px}.primary,.secondary,.modal button,.tutorial button{cursor:pointer;border:1px solid #76827d;background:#1f2a2b;color:#e9e5d1;padding:10px 14px}.primary,.secondary{display:block;width:220px;margin:10px auto}.primary{background:#c7c1a7;color:#182122;border-color:#b5b094;font-weight:bold}.secondary:hover,.modal button:hover,.tutorial button:hover{background:#2d3a3b}
#letterbox{position:absolute;inset:0;display:grid;place-items:center;background:#050607}.photo-scene{position:relative;width:min(100vw,164.15vh);height:min(60.92vw,100vh);overflow:hidden;background:#090806;box-shadow:0 0 90px #000;transform-origin:center}.office-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}
.hotspot{position:absolute;z-index:10;border:1px solid transparent;background:transparent;cursor:pointer;padding:0}.hotspot:hover,.hotspot:focus-visible{outline:none;border-color:rgba(235,200,80,.55);background:rgba(240,205,75,.045);box-shadow:0 0 12px rgba(235,200,80,.16)}body.debug-zones .hotspot{border:2px solid #e1bd42;background:rgba(225,189,66,.04)}body.debug-zones .hs-computer{border-color:#4aa4ff;background:rgba(74,164,255,.045)}
/* Hotspots measured against the supplied 1607x979 background. */
.hs-books{left:.2%;top:47.5%;width:16.1%;height:23.1%}.hs-incoming{left:.5%;top:68.4%;width:19.1%;height:10.4%}.hs-phone{left:24.5%;top:60.4%;width:12.4%;height:13.9%}.hs-computer{left:38.1%;top:40.6%;width:23.6%;height:26.3%}.hs-surface-obs{left:19.4%;top:74.9%;width:18.8%;height:16.3%}.hs-notepad{left:38.3%;top:76.7%;width:16.1%;height:14.1%}.hs-observation{left:56.1%;top:76.8%;width:18.7%;height:13.7%}.hs-forecast-notes{left:72.2%;top:67.7%;width:18.3%;height:20.1%;transform:rotate(4deg)}.hs-wxcards{right:0;top:76.6%;width:9.4%;height:13.8%}.hs-binders{left:72.7%;top:45.1%;width:16.3%;height:19.6%}.hs-shelf{right:0;top:42.5%;width:11.7%;height:25.7%}.hs-surface-map{left:20.8%;top:8.1%;width:29%;height:32.4%}.hs-forecast-area{left:51.8%;top:8.1%;width:27.5%;height:32.3%}.hs-checklist{left:80.4%;top:18.6%;width:16.5%;height:24.6%}.hs-clock{left:81.9%;top:7.6%;width:8.5%;height:8.7%}
.hover-label{position:absolute;z-index:40;min-width:120px;padding:7px 10px;background:rgba(12,16,16,.92);border:1px solid #7b8277;color:#f1edd9;text-align:center;font-size:11px;pointer-events:none;box-shadow:0 5px 18px rgba(0,0,0,.5)}.hover-label strong{display:block;font-size:12px}.hover-label small{color:#c7c4b4}
.crt-viewport{position:absolute;z-index:15;left:40.05%;top:43.3%;width:19.68%;height:19.1%;overflow:hidden;border-radius:2.6%;background:#07110d;color:#9abb8f;box-shadow:inset 0 0 18px #000;pointer-events:none}.photo-scene.computer-focus{transform:scale(1.9) translate(-1.2%,-5.2%)}.photo-scene.computer-focus .crt-viewport{pointer-events:auto}.photo-scene.computer-focus #hotspotLayer,.photo-scene.computer-focus .bottom-hud,.photo-scene.computer-focus .menu-button{pointer-events:none}.photo-scene.computer-focus:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);z-index:11;pointer-events:none}.photo-scene.computer-focus .crt-viewport{z-index:30}.back-desk{position:absolute;z-index:50;left:42.8%;top:65.2%;border:1px solid #72817c;background:#13201f;color:#e9e6d6;padding:5px 10px;font-size:8px;cursor:pointer}
.crt-header{height:13%;display:flex;align-items:center;justify-content:space-between;padding:0 3%;border-bottom:1px solid #365042;background:#0c1812;font:700 7px monospace}.crt-subtitle{font:700 6px monospace;padding:2.5% 3% 1.5%;color:#d2d3b5}.workstation-home{position:absolute;inset:0}.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.3%;padding:0 3% 3%;height:78%;overflow:auto}.app-grid button{background:#10211a;border:1px solid #405a4b;color:#b6cfab;font:600 5.5px monospace;text-align:left;padding:4%;cursor:pointer;min-height:20px}.app-grid button:hover{background:#183025;color:#e4e3c5}.workstation-window{position:absolute;inset:0;background:#08130f;overflow:hidden}.window-titlebar{height:13%;display:flex;align-items:center;justify-content:space-between;background:#13231b;border-bottom:1px solid #536857;padding-left:3%;font:700 7px monospace}.window-titlebar button{height:100%;width:12%;border:0;border-left:1px solid #536857;background:#2a342d;color:#e4e1cb;cursor:pointer}.window-content{height:87%;overflow:auto;padding:3%;font:6px monospace;color:#cad8bd}.window-content button,.window-content select,.window-content input{font:6px monospace;background:#14241d;color:#d9dcc6;border:1px solid #4b6255;padding:2px}.app-toolbar{display:flex;gap:2%;align-items:center;flex-wrap:wrap;margin-bottom:3%}.app-panel{border:1px solid #3a5144;background:#0d1a14;padding:3%;margin-bottom:3%}.app-title{font-weight:bold;color:#f0e9c7;margin-bottom:2%}.weather-map{position:relative;height:64px;border:1px solid #486255;background:linear-gradient(#1b3028,#0f211b);overflow:hidden}.weather-map .state-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 14px,rgba(130,160,140,.14) 15px),repeating-linear-gradient(90deg,transparent 0 20px,rgba(130,160,140,.14) 21px)}.marker{position:absolute;font-weight:bold}.marker.high{color:#8fc8ff}.marker.low{color:#ff8c7a}.front-line{position:absolute;height:1px;background:#87a7d7;transform-origin:left}.obs-table{width:100%;border-collapse:collapse}.obs-table th,.obs-table td{border-bottom:1px solid #2f4539;padding:2px;text-align:left}.radar-frame{height:68px;border:1px solid #496053;background:radial-gradient(circle at 64% 46%,rgba(250,90,30,.7) 0 4%,rgba(245,200,50,.55) 5% 10%,rgba(70,180,90,.42) 11% 18%,transparent 19%),radial-gradient(circle at 48% 58%,rgba(80,180,100,.38),transparent 19%),#0c1913}.sat-frame{height:68px;border:1px solid #496053;background:radial-gradient(ellipse at 56% 48%,rgba(220,220,210,.7),rgba(100,120,110,.3) 26%,transparent 50%),linear-gradient(#25362e,#101a15)}.model-frame{height:68px;border:1px solid #496053;background:repeating-radial-gradient(circle at 52% 48%,#405a49 0 1px,transparent 2px 9px),#0c1913}.sounding{position:relative;height:76px;border:1px solid #496053;background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(140,160,145,.15) 13px),repeating-linear-gradient(90deg,transparent 0 16px,rgba(140,160,145,.15) 17px)}.sounding .temp,.sounding .dew{position:absolute;bottom:6px;width:2px;height:60px;transform-origin:bottom}.sounding .temp{left:53%;background:#e37b66;transform:rotate(18deg)}.sounding .dew{left:37%;background:#77b79e;transform:rotate(-8deg)}.forecast-canvas{width:100%;height:74px;background:#102017;border:1px solid #496053;touch-action:none}.message-list button{display:block;width:100%;text-align:left;margin:2px 0}.message-list button.unread{font-weight:bold;color:#f1e7ba}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.help-grid div{border:1px solid #30483b;padding:3px}
.bottom-hud{position:absolute;z-index:20;left:34%;bottom:1.5%;display:flex;gap:4px}.bottom-hud button{border:0;background:rgba(10,14,14,.78);color:#dad7c7;padding:4px 7px;font-size:9px;cursor:pointer}.bottom-hud button span{font-size:7px}.bottom-hud small{display:block;font-size:5px;color:#8f9b94}.menu-button{position:absolute;left:1.1%;bottom:1.3%;z-index:21;background:rgba(10,14,14,.85);color:#ddd;border:1px solid #5e6e68;padding:5px 9px;cursor:pointer;font-size:8px}.debug-badge{position:absolute;z-index:25;right:1%;bottom:1.5%;font:7px monospace;padding:4px 6px;background:#6d5418;color:#ffeaa1;border:1px solid #b9973b}
.shade{position:fixed;inset:0;z-index:80;background:rgba(4,6,6,.68);backdrop-filter:blur(2px)}.modal{position:fixed;z-index:90;left:50%;top:50%;transform:translate(-50%,-50%);width:min(640px,88vw);max-height:82vh;overflow:auto;background:#d7d1b8;color:#26302d;border:5px solid #4e5047;box-shadow:0 25px 75px #000;padding:28px}.modal-close{position:absolute;right:8px;top:8px;width:32px;height:30px;padding:0!important;font-size:18px!important}.modal h2{font-family:Georgia;margin-top:0}.small{font-size:12px;color:#5b625d}.notes-modal textarea,.forecast-notes-modal textarea{width:100%;height:290px;background:#eee7ca;border:1px solid #878373;padding:15px;font:15px "Courier New";line-height:1.55;resize:vertical}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.note-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.note-tabs button.active{background:#586356;color:#fff}.clock-readout{display:flex;flex-direction:column;gap:6px;padding:16px;background:#17201e;color:#cde6c8;font-family:monospace}.clock-readout strong{font-size:34px}.time-controls{display:flex;gap:6px;margin:12px 0}.settings-modal label{display:block;margin:14px 0}.settings-modal input[type=range]{width:100%}.settings-modal .check{display:flex;gap:8px}.settings-actions{display:flex;gap:8px}.game-menu{width:320px;text-align:center;background:#18211f;color:#eee}.game-menu button{display:block;width:100%;margin:7px 0}.document-sheet{background:#f1ead0;min-height:420px;padding:30px;box-shadow:0 3px 12px #777;font:14px "Courier New";line-height:1.55}.document-sheet h2{font-family:"Courier New";border-bottom:2px solid #555;padding-bottom:8px}.checklist{display:grid;gap:9px}.checklist label{display:flex;gap:8px;align-items:flex-start}.reference-grid,.binder-grid,.incoming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reference-grid button,.binder-grid button,.incoming-grid button{background:#ece5cb;color:#27302d;border:1px solid #8d8a79;text-align:left}.tutorial{position:fixed;z-index:95;left:18px;top:24px;width:265px;background:#16201f;color:#e9e4cf;border:1px solid #667b75;padding:16px;box-shadow:0 8px 28px #000}.tutorial h3{margin:0 0 10px}.tutorial p{font-size:13px;line-height:1.45}.tutorial label{font-size:12px;display:block;margin:10px 0}.toast{position:fixed;z-index:120;left:50%;bottom:6%;transform:translateX(-50%);background:#14201d;color:#e9e5d0;border:1px solid #667a72;padding:9px 14px;box-shadow:0 6px 20px #000}
body.reduced-motion *{transition:none!important;animation:none!important}.photo-scene{transition:transform .28s ease}
@media(max-width:900px){.start-card{padding:30px}.start-card h1{font-size:38px}.bottom-hud{left:31%}.tutorial{width:230px}.modal{padding:20px}}
.scenario-status{position:absolute;z-index:40;left:1.3%;top:2%;background:rgba(12,18,17,.86);border:1px solid #777b6b;padding:7px 10px;max-width:230px;color:#e7e2c8;font-size:10px}.scenario-status b,.scenario-status span,.scenario-status small{display:block}.scenario-status span{font:18px monospace;margin:2px 0}.briefing{text-align:left}.briefing .primary{margin:20px 0 0}.forecast-form{display:grid;grid-template-columns:1fr 1fr;gap:5px}.forecast-form label{font-size:7px}.forecast-form select,.forecast-form textarea{width:100%;font-size:7px;background:#16231c;color:#d9e0c8;border:1px solid #657060}.forecast-form textarea{grid-column:1/-1;height:40px}.forecast-form button{grid-column:1/-1}.phone-ringing{animation:ringGlow 1s infinite}@keyframes ringGlow{50%{box-shadow:0 0 22px #d8d49a}}

/* Phase 4 verification */
.verify-summary{display:flex;align-items:baseline;gap:5%;padding:4%;border:1px solid #526a59;background:#0d1a14;margin-bottom:3%}.verify-summary strong{font-size:20px;color:#f0e9c7}.verify-summary span{font-size:6px}.verify-tabs{display:flex;gap:2%;margin-bottom:3%;flex-wrap:wrap}.verify-columns{display:grid;grid-template-columns:1fr 1fr;gap:3%}.verify-columns>div{border:1px solid #3e5548;padding:3%;background:#0d1a14}.score-table{width:100%;border-collapse:collapse}.score-table td{border-bottom:1px solid #30473b;padding:2.5%}.score-table td:last-child{text-align:right}.timeline-compare{position:relative;height:55px;border:1px solid #3f584a;padding:4px;margin:3% 0;overflow:hidden}.timeline-compare span{display:block;font-size:5px;letter-spacing:.4px}.timeline-compare b{display:block;font-size:5px;margin-top:5px}.timeline-compare i{position:absolute;height:5px;top:26px;background:#b7ad6c}.timeline-compare i.actual{top:42px;background:#78a58d}.comparison-map{position:relative;height:68px;border:1px solid #415a4c;background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(130,160,140,.1) 14px),repeating-linear-gradient(90deg,transparent 0 18px,rgba(130,160,140,.1) 19px),#0b1812;overflow:hidden}.comparison-map .forecast-area-box{position:absolute;left:22%;top:24%;width:56%;height:50%;border:2px dashed #d4c26c}.comparison-map .actual-area-box{position:absolute;left:28%;top:30%;width:48%;height:42%;border:2px solid #78a58d;background:rgba(100,160,120,.08)}.comparison-map small{position:absolute;left:3%;bottom:3%;font-size:5px}.archive-list{display:grid;gap:3px}.archive-list button{display:grid;grid-template-columns:1fr auto;text-align:left;padding:4%;background:#10211a;border:1px solid #3f594a;color:#d9dcc6}.archive-list button small{grid-column:1/-1;color:#88a08f}

/* Phase 4.5 — unified geospatial map rendering */
.shared-weather-map,.geo-map-viewport{position:relative;width:100%;height:86px;overflow:hidden;background:#091611;border:1px solid #496053;contain:layout paint}.compact-map{height:58px}.tiny-map{height:44px}.debug-map{height:105px}.forecast-draw-map{height:92px;cursor:crosshair}.forecast-map-wrap{grid-column:1/-1}.geo-map-svg{display:block;width:100%;height:100%;overflow:hidden}.geo-boundary{fill:#11251d;stroke:#7c9184;stroke-width:.38;vector-effect:non-scaling-stroke}.geo-state-label{fill:#84978b;font:2.6px monospace;pointer-events:none}.geo-grid path{stroke:#60786b;stroke-width:.18;opacity:.45;vector-effect:non-scaling-stroke}.geo-grid text{fill:#758c80;font:1.7px monospace}.geo-bounds-outline{fill:none;stroke:#f0d36f;stroke-width:.45;stroke-dasharray:2 1;vector-effect:non-scaling-stroke}.station-marker circle{fill:#d8dfc7;stroke:#102018;stroke-width:.25}.station-marker text{fill:#e4e7ce;font:2.1px monospace}.pressure-center circle{fill:#10251c;stroke-width:.35}.pressure-center text{fill:#f4edcb;font:700 2.7px monospace;text-anchor:middle}.pressure-h{stroke:#77b7dc}.pressure-l{stroke:#e77f70}.pressure-value{font-size:1.7px!important;text-anchor:start!important}.geo-front{fill:none;stroke-width:1.15;vector-effect:non-scaling-stroke}.geo-front-cold{stroke:#68a8da;stroke-dasharray:2.4 1}.geo-front-warm{stroke:#d77f77;stroke-dasharray:1 1.4}.radar-cell{stroke:rgba(255,255,255,.18);stroke-width:.15}.radar-light{fill:#4aad61}.radar-moderate{fill:#e1c548}.radar-heavy{fill:#db604e}.sat-cloud{fill:#cdd2cb;stroke:#e5e7df;stroke-width:.12}.sat-infrared{fill:#a9bec5}.sat-water-vapor{fill:#9ca8bc}.model-cell{fill:none;stroke-width:.7;stroke:#9aa878}.model-high{stroke:#d3b55b}.geo-forecast-polygon{fill:rgba(216,194,91,.16);stroke:#e0c763;stroke-width:.7;stroke-dasharray:2 1;vector-effect:non-scaling-stroke}.geo-observed-polygon{fill:rgba(99,169,127,.18);stroke:#76c28d;stroke-width:.8;vector-effect:non-scaling-stroke}.report-marker polygon{fill:#efb25d;stroke:#311f11;stroke-width:.2}.geo-control-points circle{fill:#f3d96e;stroke:#282112;stroke-width:.25}.geo-control-points text{fill:#f3df8f;font:2px monospace}.geo-map-legend{position:absolute;left:2%;bottom:2%;max-width:76%;padding:1.4% 2%;background:rgba(5,14,10,.82);border:1px solid rgba(100,130,110,.5);font:5px monospace;color:#ccd8c6;pointer-events:none}.geo-cursor-readout{position:absolute;right:1%;top:1%;padding:1.4%;background:rgba(0,0,0,.82);font:4.7px monospace;color:#ebdf9b;border:1px solid #6b6850;pointer-events:none}.forecast-map-wrap .app-toolbar{margin:2px 0 4px}.window-content .shared-weather-map *{box-sizing:border-box}

/* Phase 5 — Career and physical Surface Weather Map */
.start-card .primary:disabled{opacity:.4;cursor:not-allowed}.locked-app{opacity:.45!important;cursor:not-allowed!important}
.surface-map-view{position:fixed;z-index:86;left:4vw;right:4vw;top:4vh;bottom:4vh;background:#111915;border:5px solid #54594e;box-shadow:0 24px 80px #000;color:#e4e1cb;overflow:hidden}
.surface-map-view header{height:8%;display:flex;justify-content:space-between;align-items:center;padding:0 2%;background:#1d2822;border-bottom:1px solid #586155}.surface-map-view header div{display:flex;gap:18px;align-items:center}.surface-map-view header span{font:12px "Courier New"}.surface-map-view header button{background:#c8c1a3;border:1px solid #6a6759;padding:8px 12px;cursor:pointer}
.surface-map-layout{height:92%;display:grid;grid-template-columns:minmax(180px,22%) 1fr}.surface-controls{padding:12px;overflow:auto;background:#19221e;border-right:1px solid #4c5b50}.surface-controls h4{margin:12px 0 6px;color:#adb6a8;font-size:11px;letter-spacing:1px}.surface-controls label{display:block;font-size:11px;margin:6px 0}.surface-controls button{background:#28362f;color:#e6e1c9;border:1px solid #617064;padding:6px;margin:2px;font-size:10px;cursor:pointer}.surface-controls button.active{background:#b8b08f;color:#16201b}.surface-mode{display:flex}.surface-nav{display:flex;flex-wrap:wrap}.surface-analysis-tools{margin-top:10px;padding-top:8px;border-top:1px solid #4d5b51}
.surface-map-layout main{position:relative;min-width:0;min-height:0;padding:1.5%;display:flex;flex-direction:column}.surface-interactive-map{flex:1;min-height:0;background:#09120e;border:1px solid #516256;overflow:hidden}.surface-hint{height:28px;padding:7px;font-size:10px;color:#9fa99f}.surface-interactive-map .geo-map-svg{width:100%;height:100%}
.surface-map-focus{filter:brightness(.75);transform:scale(1.015);transition:filter .2s,transform .2s}.user-analysis-front{stroke-width:1.2!important;filter:drop-shadow(0 0 1px #fff)}.user-analysis-center circle{fill:#1d2923;stroke:#e8e0bb}.user-analysis-center text{fill:#fff;font-weight:bold}.station-simple text{font-size:3.3px}.station-meteorologist text{font-size:2.7px}.geo-front,.geo-centers g,.station-marker{cursor:pointer}
.training-card{border:1px solid #6b7165;padding:12px;margin:8px 0;background:#e9e2c8}.training-card button{padding:8px;border:1px solid #5f665d;background:#34463d;color:#eee;cursor:pointer}.career-record{display:grid;grid-template-columns:1fr 1fr;gap:3px}.career-record>div{border:1px solid #40564a;padding:5%;background:#0f1d16}.career-record b{display:block;font-size:6px;color:#91aa98}.career-record strong{display:block;font-size:10px;margin-top:3px}
@media(max-width:900px){.surface-map-view{left:1vw;right:1vw;top:1vh;bottom:1vh}.surface-map-layout{grid-template-columns:180px 1fr}.surface-controls{padding:6px}.surface-controls button{padding:4px;font-size:8px}}

/* Phase 6 operational workstation */
.radar-toolbar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;margin-bottom:3px;position:relative;z-index:5}.radar-toolbar button,.radar-toolbar select{font-size:6px;padding:3px 4px;background:#1c2e25;color:#d9dfcb;border:1px solid #50655a;max-width:100%}.radar-toolbar button.active{background:#b2aa82;color:#142018}.radar-meta{display:flex;gap:8px;justify-content:space-between;font-size:6px;padding:3px 4px;background:#0d1913;border:1px solid #344b3e;margin-bottom:2px}.radar-map{height:55%!important;min-height:82px}.radar-legend{font-size:5.5px;padding:3px;background:#101d16;border:1px solid #354b3e;margin-top:2px}.storm-inspector{max-height:23%;overflow:auto}
.velocity-inbound{fill:#4d77a8;stroke:#9fc1e8}.velocity-outbound{fill:#a04d55;stroke:#ef9aa1}.velocity-zero{fill:#77827a;stroke:#aeb8b0}.radar-site circle{fill:#111;stroke:#f0dc99;stroke-width:.5}.radar-site text{fill:#f0dc99;font-size:3px}.storm-markers circle{fill:#1b1f1c;stroke:#f4d36a;stroke-width:.8}.storm-markers text{fill:#fff1ad;font-size:3px;font-weight:bold;pointer-events:none}.storm-markers{cursor:pointer}.projected-track{stroke:#f5db6a;stroke-width:1;stroke-dasharray:2 2;fill:none}.storm-history{stroke:#d6a664;stroke-width:.8;stroke-dasharray:1 1;fill:none}.measurement-layer circle{fill:#fff;stroke:#111}.measurement-layer path{stroke:#fff;stroke-width:.7;fill:none}
.alert-form{display:grid;grid-template-columns:1fr 1fr;gap:3px}.alert-form label{font-size:6px}.alert-form select,.alert-form input,.alert-form textarea{display:block;width:100%;font-size:6px;background:#101c16;color:#e4e1ce;border:1px solid #4a5d51}.alert-form textarea{height:34px;resize:none}.audit-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;font-size:6px}.audit-summary>*{border:1px solid #3e5448;padding:4px}.audit-list{max-height:100px;overflow:auto;font-size:5.5px}.phone-responses{display:grid;gap:6px;margin:12px 0}.phone-responses button{padding:8px;text-align:left}.app-content select{position:relative;z-index:6}.app-content{overflow-y:auto}

/* Phase 7 workplace story */
.first-day-arrival{position:fixed;z-index:120;inset:0;background:rgba(4,7,6,.88);display:grid;place-items:center}.arrival-card{width:min(520px,84vw);padding:34px;background:#171c19;border:1px solid #6e746b;box-shadow:0 28px 90px #000;color:#e7e3d0;text-align:center}.arrival-card h2{letter-spacing:6px;margin:14px 0 4px}.arrival-card>strong{font:18px "Courier New"}.arrival-card h1{font-size:38px;margin:24px 0 10px}.arrival-card p{line-height:1.55;color:#b9c0b7}
.story-dialogue{position:fixed;z-index:92;left:50%;bottom:3vh;transform:translateX(-50%);width:min(780px,82vw);background:rgba(16,22,19,.97);border:1px solid #778078;box-shadow:0 18px 50px rgba(0,0,0,.55);color:#ece7d2;padding:14px 16px;pointer-events:auto}.story-speaker{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid #465249;padding-bottom:6px}.story-speaker b{font-size:13px;letter-spacing:.8px}.story-speaker small{font-size:9px;color:#9ea99f}.story-text{padding:12px 0;font-size:14px;line-height:1.45}.story-choices{display:grid;gap:5px}.story-choices button,.story-actions button{background:#26342d;color:#ece8d4;border:1px solid #637167;padding:8px 10px;text-align:left;cursor:pointer}.story-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.story-actions button:last-child{background:#bcb18a;color:#172019}.story-objective{position:fixed;z-index:88;right:2vw;top:9vh;max-width:260px;background:rgba(15,22,18,.92);border-left:3px solid #b7ad77;color:#e8e3cc;padding:9px 12px;pointer-events:none}.story-objective small{display:block;font-size:8px;color:#9ca89f}.story-objective b{display:block;font-size:11px;margin-top:3px}.hotspot.story-focus{border:2px solid rgba(229,215,133,.9)!important;background:rgba(229,215,133,.1)!important;animation:storyPulse 1.4s infinite}.surface-map-view .story-dialogue{z-index:130}@keyframes storyPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,222,130,.1)}50%{box-shadow:0 0 14px 4px rgba(239,222,130,.28)}}.reduced-motion .hotspot.story-focus{animation:none}
.obs-table tr[data-obs-station]{cursor:pointer}.obs-table tr[data-obs-station]:hover{background:#24372c}
@media(max-width:800px){.story-dialogue{width:92vw;bottom:1vh}.story-text{font-size:12px}.story-actions{flex-wrap:wrap}.arrival-card h1{font-size:28px}}

/* Phase 7.5 repair layer */
.surface-inspector{display:flex;gap:10px;align-items:center;min-height:32px;padding:6px 8px;background:#111d17;border:1px solid #415449;color:#d9ddc9;font-size:10px}.surface-inspector span{color:#aeb8ae}
.surface-empty{height:100%;display:grid;place-items:center;font:12px "Courier New";color:#b8c1b7}
body.surface-map-active .story-dialogue{left:auto;right:1.5vw;top:10vh;bottom:auto;transform:none;width:min(330px,29vw);pointer-events:none;z-index:92}
body.surface-map-active .story-dialogue .story-actions,body.surface-map-active .story-dialogue .story-choices,body.surface-map-active .story-dialogue button{pointer-events:auto}
body.surface-map-active .story-text{font-size:11px;padding:7px 0}
.surface-map-view{z-index:86}.surface-map-view .surface-controls,.surface-map-view header{position:relative;z-index:4}.surface-interactive-map{position:relative;z-index:1}
.geo-map-svg{pointer-events:auto}.geo-base,.geo-satellite,.geo-radar,.geo-model,.geo-user-analysis,.geo-forecast-polygon,.geo-observed-polygon,.geo-grid,.geo-control-points{pointer-events:none}
.geo-fronts,.geo-centers,.geo-observations,.geo-reports,.storm-markers{pointer-events:auto}
.crt-viewport,.workstation-window,.window-content,.app-content{contain:layout paint}
@media(max-width:900px){body.surface-map-active .story-dialogue{right:1vw;top:auto;bottom:1vh;width:min(320px,45vw)}}

/* Phase 8 persistent career */
.shift-status{position:absolute;right:8.2%;top:1.5%;z-index:44;display:flex;align-items:center;gap:7px;background:rgba(14,19,16,.82);border:1px solid rgba(160,170,156,.45);padding:5px 8px;color:#d9dccb;font:9px "Courier New"}.shift-status small{color:#9ea89e}.shift-status b{font-size:10px}.shift-status span{color:#c2b98d}
.office-night .office-background{filter:brightness(.38) saturate(.78) contrast(1.08)}.office-night .photo-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 49% 57%,rgba(89,117,91,.11),transparent 34%),linear-gradient(rgba(8,15,24,.22),rgba(5,8,15,.38));z-index:1}.office-night #hotspotLayer,.office-night .crt-viewport,.office-night .bottom-hud,.office-night .menu-button,.office-night .scenario-status,.office-night .shift-status{z-index:5}.office-tier-2 .crt-viewport{box-shadow:inset 0 0 18px rgba(145,196,153,.18),0 0 9px rgba(96,145,105,.14)}.office-tier-2 .crt-subtitle:after{content:" • TIER 2 SOFTWARE";color:#94b59a}
.handoff-card,.handoff-form{border:1px solid #40564a;background:#0e1b15;padding:5px;margin:4px 0}.handoff-form{display:grid;grid-template-columns:1fr 1fr;gap:4px}.handoff-form label{font-size:6px}.handoff-form textarea{width:100%;height:35px;background:#0a1510;color:#dce0cd;border:1px solid #3a5044;font-size:6px}.handoff-form select{width:100%}.forecast-discussion-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.forecast-discussion-grid label{font-size:5.5px}.forecast-discussion-grid textarea{height:34px;width:100%;font-size:5.5px;background:#0c1812;color:#dbe0cc;border:1px solid #40564a}.surface-history-label{display:block;font-size:9px;margin:6px 0}.surface-history-label select{width:100%;background:#26362e;color:#e6e1c9;border:1px solid #617064;padding:4px}.shift-end-modal button{margin:4px;padding:9px 12px}
@media(max-width:900px){.shift-status{right:10%;font-size:7px}.handoff-form,.forecast-discussion-grid{grid-template-columns:1fr}}

/* Phase 9 day select + shift pacing */
.day-select-screen{background:radial-gradient(circle at 50% 20%,#273027,#101511 65%);color:#e7e2cc;overflow:auto}.day-select-shell{width:min(1050px,92vw);margin:5vh auto;background:rgba(18,25,21,.96);border:1px solid #697268;box-shadow:0 25px 80px #000;padding:18px}.day-select-shell header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #455248;padding-bottom:10px}.day-select-shell h2{margin:2px 0}.day-select-shell button{background:#2b3931;color:#e8e2ca;border:1px solid #657268;padding:8px 10px;cursor:pointer}.day-select-layout{display:grid;grid-template-columns:minmax(260px,40%) 1fr;gap:15px;margin-top:14px}.day-list{display:grid;gap:5px;max-height:72vh;overflow:auto}.day-card{text-align:left;display:grid;grid-template-columns:55px 1fr auto;gap:8px;align-items:center}.day-card small{font:9px "Courier New";color:#aab3aa}.day-card b{font-size:11px}.day-card span{font-size:9px;color:#bdb795}.day-card.locked{opacity:.55}.day-detail{border:1px solid #46554a;background:#111914;padding:16px}.day-detail h2{margin:4px 0 6px}.day-detail dl{display:grid;grid-template-columns:120px 1fr;gap:5px;font-size:11px}.day-detail dt{color:#98a398}.day-detail dd{margin:0}.day-recap{margin:14px 0;padding:10px;border-left:3px solid #aea677;background:#17211b}.day-recap p{margin:5px 0}.day-detail .primary{background:#b7ad82;color:#151b17}
.pacing-panel{position:absolute;left:1.5%;top:1.5%;z-index:45;width:min(330px,31%);background:rgba(13,20,16,.9);border:1px solid rgba(145,157,145,.55);color:#dedbc7;padding:7px 9px;font:9px "Courier New"}.pacing-panel small{color:#9fa89f}.pacing-panel #pacingObjective{display:flex;gap:6px;align-items:center;margin-top:4px}.pacing-panel #pacingObjective b{font-size:8px;color:#c0b67e}.pacing-panel #pacingObjective span{font-size:9px}.pacing-actions{display:flex;gap:4px;margin-top:6px}.pacing-actions button{font-size:7px;padding:4px 6px;background:#29372f;color:#e3dfcb;border:1px solid #59695e}.pacing-actions button:disabled{opacity:.4;cursor:not-allowed}.data-unavailable{border-color:#9a7f59!important;background:#2a2419!important}.data-unavailable b{color:#e1c48b}.app-panel pre{white-space:pre-wrap;font-size:5.5px}
@media(max-width:850px){.day-select-layout{grid-template-columns:1fr}.day-list{max-height:38vh}.pacing-panel{width:45%;left:1%;top:1%}}

/* Weather Tools 8.5 */
.sat-channel-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:4px}.sat-channel-tabs button{font-size:6px;padding:4px;background:#1b2b23;color:#dce1ce;border:1px solid #52665a}.sat-channel-tabs button.active{background:#b9b081;color:#152018}.sat-channel-tabs button:disabled{opacity:.4}.sat-legend{font-size:5.5px;border:1px solid #3c5045;background:#0e1813;padding:3px}
.sat-visible{fill:rgba(226,231,222,.58);stroke:rgba(246,248,241,.55)}.sat-infrared{fill:rgba(210,218,225,.54);stroke:rgba(245,248,250,.58)}.sat-water-vapor{fill:rgba(160,188,177,.48);stroke:rgba(208,229,219,.55)}
.radar-product-groups{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:3px}.radar-product-groups label{font-size:5.5px}.radar-product-groups select{display:block;width:100%;font-size:6px;background:#132119;color:#d9dfcb;border:1px solid #516459}
.radar-bottom-grid{display:grid;grid-template-columns:42% 58%;gap:3px;max-height:25%;overflow:hidden}.radar-bottom-grid .app-panel{margin:0;overflow:auto}.radar-bottom-grid button{display:block;width:100%;font-size:5.5px;text-align:left;margin:2px 0;background:#19271f;color:#ddd9c7;border:1px solid #45584c}
.front-history-line{stroke-dasharray:1.4 1.4!important}.surface-time-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin:3px 0}.surface-time-controls button{font-size:8px}.surface-controls button.active{background:#b8ad80;color:#142018}
#surfaceFrontHistory,#surfaceLinkTools{width:100%;margin-top:3px}
.app-panel.data-unavailable{border-color:#a48759;background:#2b251a}
.geo-satellite,.geo-radar{pointer-events:none}
@media(max-width:900px){.radar-bottom-grid{grid-template-columns:1fr}.surface-time-controls{grid-template-columns:1fr 1fr}}

/* Phase 10 — complete daily career cycle */
.handoff-modal{width:min(760px,82vw);max-height:88vh;overflow:auto}.handoff-modal label{display:block;font-size:10px;margin:6px 0}.handoff-modal textarea{width:100%;min-height:52px;background:#111a15;color:#e4dfc9;border:1px solid #536258;padding:7px}.handoff-modal select{background:#17231c;color:#e4dfc9;border:1px solid #536258;padding:6px}.handoff-reply{margin:8px 0;padding:8px;border-left:3px solid #aaa274;background:#17211b}
.phase10-cinematic{position:fixed;z-index:150;inset:0;background:radial-gradient(circle at 50% 38%,#202821,#080b09 70%);color:#ece7d2;display:grid;place-items:center;text-align:center}.phase10-cinematic>div{width:min(620px,85vw);padding:30px}.phase10-cinematic h1{font-size:36px;letter-spacing:4px;margin:10px 0}.phase10-cinematic strong{font:22px "Courier New"}.phase10-cinematic small{letter-spacing:3px;color:#abb4aa}
.home-screen,.morning-screen,.replay-complete-screen{background:radial-gradient(circle at 50% 20%,#293126,#10120f 65%);display:grid;place-items:center;color:#e6e0c8}.home-card,.morning-card{width:min(650px,84vw);background:rgba(18,24,20,.96);border:1px solid #657066;padding:28px;box-shadow:0 24px 80px #000;text-align:center}.home-card h1,.morning-card h1{margin:8px 0}.home-card>strong{font:22px "Courier New"}.home-card button,.morning-card button{margin:5px;padding:9px 13px;background:#2a3830;color:#e7e1cb;border:1px solid #657167}.home-card button.primary,.morning-card button.primary{background:#b9ae81;color:#172019}.home-message,.overnight-summary{margin:12px 0;padding:11px;background:#152019;border:1px solid #45574b;text-align:left}.overnight-summary p{margin:6px 0;line-height:1.4}
.shift-end-modal button{margin:4px}.shift-end-modal .primary{background:#b8ad80;color:#142018}
.surface-error{height:100%;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;background:#101913;color:#ded9c2}.surface-error button{padding:8px 12px;background:#2a3930;color:#e4dfca;border:1px solid #647166}
@media(max-width:800px){.handoff-modal{width:92vw}.phase10-cinematic h1{font-size:26px}.home-card,.morning-card{width:90vw;padding:18px}}

/* Phase 11 gameplay reliability */
:root{--ui-scale:1}.crt-viewport,.modal,.bottom-hud,.pacing-panel,.scenario-status,.shift-status{font-size:calc(1em * var(--ui-scale))}
.checklist-complete-modal{width:min(600px,78vw)}.checklist-complete-modal h2{letter-spacing:2px}.checklist-complete-modal button{margin:5px;padding:9px 13px}.checklist-complete-modal .primary{background:#b8ae81;color:#142018}
.pause-indicator{cursor:pointer;position:absolute;left:50%;top:1.4%;transform:translateX(-50%);z-index:46;background:rgba(55,48,30,.9);border:1px solid #a38e5e;color:#e5d8ae;padding:4px 8px;font:8px "Courier New";letter-spacing:1px}.notification-badge{position:absolute;right:2%;top:1.5%;z-index:46;background:#26362e;color:#e1ddc7;border:1px solid #667269;padding:5px 7px;font:8px "Courier New"}.notification-badge:hover{background:#35483c}
#advanceDisabledReason{display:block;color:#c6a986;margin-top:4px;font-size:7px}.interaction-locked .hotspot{pointer-events:none}.interaction-locked .menu-button{pointer-events:auto}
.checklist .muted,.muted{opacity:.7;font-size:.85em}.app-panel textarea{width:100%;min-height:55px;background:#0d1712;color:#e0ddca;border:1px solid #46584d}
@media(max-width:850px){.pause-indicator{top:6.5%;}.notification-badge{top:6.5%}}

/* Phase 12 core-flow stability */
.core-event-modal,.recovery-modal{width:min(580px,78vw)}.core-event-modal small{display:block;margin-top:10px;opacity:.65}.core-event-modal .primary,.recovery-modal .primary{background:#b8ae81;color:#142018;padding:9px 14px}.recovery-modal{border-color:#9f8253}.recovery-modal h2{color:#e1c38a}

/* Phase 13 final loop */
.shift-end-modal h2{letter-spacing:3px}.home-card .primary,.morning-card .primary{font-weight:700}.app-toolbar button{min-height:24px}

/* Final integration */
.checklist-complete-modal{pointer-events:auto}.checklist-complete-modal::after{content:"Simulation continues while this panel is open.";display:block;margin-top:8px;opacity:.65;font-size:9px}.pause-indicator{user-select:none}
@media(max-width:600px){.modal,.checklist-complete-modal,.core-event-modal,.recovery-modal{width:94vw;max-height:88vh;overflow:auto}.radar-toolbar button,.surface-toolbar button{min-height:34px}}
