:root{font:14px/1.45 Inter,system-ui,-apple-system,Arial,sans-serif;color:#2b2b2b;background:#f6f3ea}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;border:1px solid #DADDD8;color:#2b2b2b;background:#fff;border-radius:7px;padding:7px 9px}button{cursor:pointer}button:hover{background:#e9f4f1;border-color:#247f85}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #247F85}h1{font-size:22px;margin:0;color:#247f85}h2{font-size:15px;margin:0 0 12px}p{margin:8px 0}header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#fff;border-bottom:1px solid #DADDD8}header span{font-size:12px;color:#667580}.badge,.tag{color:#247f85;background:#e8f2ef;padding:5px 10px;border-radius:12px;font-weight:600}.tag{font-size:10px;margin-left:6px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:end;padding:12px 18px;background:#fbf9f3;border-bottom:1px solid #DADDD8}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;color:#667580}.field input{width:91px}.toolbar button{height:36px}main{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:12px;padding:12px;max-width:1900px;margin:auto}.left{min-width:0;display:flex;flex-direction:column;gap:12px}.scene{height:600px;min-height:360px;background:#f6f3ea;border:1px solid #DADDD8;border-radius:10px;overflow:hidden;position:relative}.scene-caption,.legend{position:absolute;background:#ffffffe8;color:#667580;padding:8px 10px;border-radius:6px;font-size:11px;pointer-events:none}.scene-caption{top:12px;left:12px}.legend{bottom:12px;left:12px;min-width:145px}.gradient{height:10px;background:linear-gradient(90deg,#f5ebd7,#b1bfb1,#46a7a1);margin:5px 0}.legend-label{display:flex;justify-content:space-between}aside{display:flex;flex-direction:column;gap:12px;min-width:0}.panel{border:1px solid #DADDD8;background:#fff;border-radius:10px;padding:14px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kpi{background:#fbf9f3;padding:9px;border-radius:6px;min-height:61px;display:flex;flex-direction:column;justify-content:space-between}.kpi span{font-size:10px;color:#667580}.kpi strong{font-size:14px;color:#247f85}.charts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.charts small{display:block;padding-left:18px;color:#667580}.events{max-height:165px;overflow:auto}.events p{font-size:12px;border-bottom:1px solid #E8E8E0;padding-bottom:6px}.balances{font-size:11px;overflow-wrap:anywhere}.check{display:flex;gap:6px;align-items:center;padding:8px 0}footer{text-align:center;padding:20px;color:#667580;font-size:12px}.error{margin:10px 18px;padding:10px;background:#ffe5e0;color:#9c372e;border-radius:7px}@media(max-width:1100px){main{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr}.scene{height:480px}}@media(max-width:650px){aside,.charts{grid-template-columns:1fr}.scene{height:390px}.badge{display:none}}.fps-counter{position:absolute;left:14px;top:14px;background:#fff;color:#247f85;border:1px solid #ddd;border-radius:7px;padding:5px 9px;font-size:12px;pointer-events:none}.scene{height:740px}.scene-caption{top:10px;left:88px}.graphics-controls{position:absolute;right:12px;top:12px;width:200px;display:flex;flex-direction:column;gap:7px;border:1px solid #DADDD8;padding:9px;background:#ffffffe8;border-radius:10px;max-height:88%;overflow:auto}.graphics-controls label{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;color:#4d5f62}.graphics-controls input[type=range]{width:105px;accent-color:#247F85}.graphics-controls input[type=checkbox]{accent-color:#247F85}.graphics-controls select{max-width:150px;padding:3px}.presets{display:grid;grid-template-columns:1fr 1fr;gap:4px}.presets button{padding:5px;font-size:10px}.presets button.active{background:#dbf0eb;color:#247f85;border-color:#247f85}.mini-map{position:absolute;bottom:76px;right:12px;padding:8px;background:#ffffffe8;border:1px solid #DADDD8;border-radius:9px;width:155px}.mini-map span{display:block;font-size:10px;color:#667580}.mini-map svg{width:100%;height:137px}.mini-map circle{cursor:pointer}.plant-dialog{position:absolute;left:24px;top:85px;width:290px;background:#fffffff2;border:1px solid #DADDD8;border-radius:10px;padding:15px;box-shadow:0 10px 30px #7a83722a}.plant-dialog h3{margin:0 0 10px;color:#247f85}.plant-dialog p{font-size:12px}.plant-dialog>button{float:right}.fps-counter{top:12px}.legend{bottom:12px}.kpi{border:1px solid #E6EBE5;border-radius:10px;background:linear-gradient(135deg,#fbf9f3,#eff6f2)}.kpi strong{font-size:16px}.event-timeline{display:flex;gap:5px;align-items:center;padding:10px 12px;border-radius:8px;background:#fbf9f3;border:1px solid #E3E7DD;overflow:auto}.event-timeline>span{white-space:nowrap;font-size:11px;color:#667580}.event-timeline>button{width:10px;height:10px;flex:0 0 auto;padding:0;border-radius:50%;background:#ea7b42;border:0}.event-timeline>button.excursion{background:#ca504a}.sparkline{width:100%;height:20px;overflow:visible}@media(max-width:650px){.graphics-controls{width:155px}.scene{height:640px}.mini-map{width:106px;bottom:82px}.mini-map svg{height:88px}}.scene{height:760px;background:linear-gradient(180deg,#faf8f0,#f6f3ea)}.scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fff5,#fff0 18%,#f1eadb22);pointer-events:none}.scene-caption{left:92px;top:18px;background:#fffffff0;border:1px solid #E4E8E1;padding:8px 12px;box-shadow:0 8px 20px #c6c7b922}.legend{border:1px solid #E4E8E1;box-shadow:0 8px 20px #c6c7b922;min-width:160px}.graphics-controls{width:220px;background:#fffffff2;box-shadow:0 10px 30px #c2cabd33;border-color:#dfe5de}.graphics-controls label{justify-content:space-between}.graphics-controls .graphics-note{font-size:10px;color:#667580;border-top:1px dashed #DADDD8;padding-top:6px}.graphics-controls input[type=range]{width:98px}.layer-labels{position:absolute;left:14px;top:54px;display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#ffffffec;border:1px solid #E4E8E1;border-radius:10px;box-shadow:0 8px 24px #c6c7b922;font-size:11px;color:#526568;pointer-events:none}.layer-labels div{display:flex;gap:8px;align-items:center}.layer-labels .swatch{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid #D1D7D0;background:#e4d8c1}.layer-labels .swatch.ore{background:#d5ba84}.layer-labels .swatch.aquifer{background:#9acfc5}.mini-map{width:165px;box-shadow:0 10px 26px #c6c7b922}.plant-dialog{width:310px;top:92px}.fps-counter{z-index:4}@media(max-width:650px){.scene{height:680px}.layer-labels{display:none}.graphics-controls{width:175px}}.graphics-controls.collapsed{width:154px;max-height:50px;padding:5px;background:#fffffff5}.graphics-controls .graphics-toggle{font-size:11px;font-weight:650;color:#247f85;background:#e6f2ef;border:1px solid #C5DFD8;padding:5px 8px;width:100%;text-align:left}.graphics-controls:not(.collapsed){max-height:80%;overflow-y:auto}.placement-info{position:absolute;left:16px;bottom:160px;z-index:7;background:#ffffffef;border:2px solid #72B89C;padding:7px 11px;border-radius:8px;font-size:12px;color:#38525a}.day-clock{position:absolute;left:92px;top:58px;background:#fffffff0;border:1px solid #E4E8E1;color:#4d5f62;padding:4px 10px;border-radius:12px;font-size:11px;pointer-events:none;font-variant-numeric:tabular-nums}.section-label{transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:3px 8px;border-radius:6px;background:#ffffffeb;border:1px solid #d8d2c4;border-left:5px solid #e6b964;box-shadow:0 1px 3px #3c321e1f;font-size:12px;line-height:1.15;color:#3b3427;white-space:nowrap;-webkit-user-select:none;user-select:none}.section-label span{font-size:10.5px;color:#6f6656}.section-label.ore1{border-left-color:#a9b872}.section-label.ore2{border-left-color:#d9b8a0}.section-label.clay{border-left-color:#93a7bf;background:#f4f7fbf0}.section-label.dim{opacity:.45}.tl-start{position:absolute;left:12px;bottom:58px;z-index:5;background:#fffffff2;border:1px solid #CFE3E0;color:#0a5563;border-radius:14px;padding:5px 12px;font-size:12px;cursor:pointer}.tl-hud{position:absolute;left:50%;top:12px;transform:translate(-50%);z-index:6;display:flex;gap:10px;align-items:center;background:#fffffff5;border:1px solid #D9E4E0;border-radius:14px;padding:6px 12px;box-shadow:0 2px 10px #0000000f;font-size:12px;color:#33484b}.tl-hud strong{font-size:16px;color:#0a5563;font-variant-numeric:tabular-nums}.tl-hud .tl-note{color:#6b7c7e;font-size:11px}.tl-hud button,.tl-hud select{font-size:12px;border:1px solid #D2DCD8;background:#f7faf8;border-radius:8px;padding:3px 8px;cursor:pointer}.panel.director{background:#fff;border:1px solid #D5DCE3;border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:12.5px;color:#1f2a36}.director .dir-head{display:flex;justify-content:space-between;align-items:center}.director h3{margin:0 0 4px;font-size:14px}.director .dir-kpis>div{margin:2px 0}.director .dir-charts{display:flex;gap:8px;flex-wrap:wrap}.director figure{margin:4px 0;background:#f7f9fb;border:1px solid #E3E8ED;border-radius:6px;padding:2px 4px}.director figcaption{font-size:11px;color:#5a6875}.director .dir-actions>div{margin:4px 0}.director .dir-actions button{margin:1px}.director .dir-log{list-style:none;padding:0;margin:4px 0 0;max-height:160px;overflow:auto;border-top:1px solid #E3E8ED}.director .dir-ev{padding:2px 0;border-bottom:1px dashed #EEF1F4}.director .dir-ev span{color:#6b7885;font-size:11px;margin-right:4px}.director .dir-fine b,.director .dir-pump_failure{color:#b5401e}.director .dir-inspection{color:#2e7d4f}.director .dir-msg{margin-top:4px;color:#2f6fb0}.director .alarm{color:#b5401e}.cmp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ecf1f6eb;z-index:60;overflow:auto;padding:16px}.cmp-box{background:#fff;border:1px solid #D5DCE3;border-radius:10px;max-width:1180px;margin:0 auto;padding:12px 16px;color:#1f2a36;font-size:13px}.cmp-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.cmp-head h2{margin:0;font-size:17px}.cmp-head button{margin-left:auto}.cmp-day{color:#2f6fb0;font-weight:600}.cmp-note{color:#5a6875;margin:6px 0}.cmp-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cmp-side{border:1px solid #E3E8ED;border-radius:8px;padding:6px;background:#f7f9fb}.cmp-side-head{margin-bottom:4px}.cmp-field{width:100%;max-width:340px;margin:0 auto;aspect-ratio:1/1;image-rendering:pixelated;border:1px solid #E3E8ED;background:#fff;display:block}.cmp-wait{display:flex;align-items:center;justify-content:center;color:#6b7885}.cmp-bar{margin:8px 0;display:flex;gap:10px;align-items:center}.cmp-table{border-collapse:collapse;width:100%;margin:6px 0}.cmp-table th,.cmp-table td{border-bottom:1px solid #EEF1F4;padding:3px 6px;text-align:right}.cmp-table th:first-child,.cmp-table td:first-child{text-align:left}.cmp-table .pos{color:#1e7b45}.cmp-table .neg{color:#b5401e}.cmp-charts{display:flex;gap:10px;flex-wrap:wrap}.cmp-charts figure{margin:0;border:1px solid #E3E8ED;border-radius:6px;padding:4px 6px;background:#f7f9fb}.cmp-charts figcaption{font-size:11px;color:#5a6875}.weekly-card{background:#fffdf7;border:1px solid #EBDDB8;border-radius:8px;padding:8px 12px;margin:10px 0;color:#1f2a36}.weekly-card h3{margin:0;font-size:15px}.weekly-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.weekly-head input{width:140px}.lb-tabs{display:flex;gap:6px;margin:8px 0 4px}.lb-tabs button.active{background:#e8f0fa;border-color:#2f6fb0}.lb-table{border-collapse:collapse;width:100%;font-size:12.5px}.lb-table th,.lb-table td{border-bottom:1px solid #EEF1F4;padding:2px 6px;text-align:left}.lb-empty{color:#6b7885}.weekly-badge{background:#fff1cc;border:1px solid #E6C66A;border-radius:4px;padding:0 6px;font-size:12px;margin-right:6px}.trainer-rank{margin:4px 0}.tour-card .tour-step{font-size:12px;color:#5d7377}.tour-dots{display:flex;gap:4px;margin:4px 0}.tour-dots button{width:12px;height:12px;min-width:0;padding:0;border-radius:50%;border:1px solid #9fb2b7;background:#fff}.tour-chapter{margin:6px 0 2px;font-size:13px;color:#2f6fb0}.tour-params{margin-top:8px;border-top:1px solid #e3eaec;padding-top:6px}.tour-params table{font-size:12px;table-layout:fixed;width:100%}.tour-params td{overflow-wrap:anywhere}.tour-params td:first-child{width:38%}.tour-params td:nth-child(2){width:24%}.game-hud,.game-mission{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 18px;background:#fff;border-bottom:1px solid #d8dfd8;color:#2b2b2b}.game-hud strong{color:#247f85;font-size:16px}.game-hud span{font-size:12px}.game-hud button{padding:5px 9px}.game-mission{background:#fbf9f3;font-size:12px}.game-mission progress{width:160px;accent-color:#247F85}.game-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#f6f3eaee;display:grid;place-items:center;padding:18px}.game-start{background:#fff;border:1px solid #d6e2db;box-shadow:0 12px 45px #adb7a655;padding:25px;border-radius:16px;max-width:750px;width:100%;max-height:90vh;overflow:auto}.game-start h2{color:#247f85;font-size:24px}.game-start h3{color:#ea7b42}.game-missions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.game-missions button{text-align:left;min-height:75px;font-weight:600}.game-missions small{display:block;font-weight:400;padding-top:5px;color:#667580}.tutorial-card{position:fixed;z-index:90;right:18px;bottom:25px;width:300px;background:#fff;border:2px solid #247F85;border-radius:14px;padding:16px;box-shadow:0 9px 28px #9cada644}.tutorial-card h3{margin:6px 0;color:#247f85}.tutorial-card p{line-height:1.5}.tutorial-card button{margin-right:6px}@media(max-width:550px){.game-missions{grid-template-columns:1fr}.tutorial-card{width:calc(100% - 36px)}}body:has(.tutorial-card[data-target=toolbar]) .toolbar,body:has(.tutorial-card[data-target=graphics]) .graphics-controls,body:has(.tutorial-card[data-target=field]) .toolbar [data-target=field],body:has(.tutorial-card[data-target=plant]) .presets [data-target=plant]{outline:3px solid #EA7B42;outline-offset:3px;box-shadow:0 0 0 5px #f6f3ea}.chart-caption{font-size:11px;color:#526568;text-align:center}body:has(.tutorial-card[data-target=graphics]) .graphics-controls,body:has(.tutorial-card[data-target=field]) .toolbar [data-target=field],body:has(.tutorial-card[data-target=plant]) .presets [data-target=plant]{outline:3px solid #EA7B42;outline-offset:-3px;box-shadow:inset 0 0 0 2px #f6f3ea,0 0 0 3px #ea7b42;border-radius:8px;z-index:2}body:has(.tutorial-card[data-target=graphics]) .graphics-controls{position:absolute}.action-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 18px;background:#f5f9f5;border-bottom:1px solid #DADDD8;font-size:12px;color:#31565b}.action-strip strong{color:#247f85}.action-strip button{font-size:11px;padding:3px 7px}.action-plan{border:1px solid #DDE5DD;border-radius:7px;padding:4px;background:#fff}.action-incident{display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:#fff3e8;border:1px solid #E8C6A9;border-radius:10px;padding:6px 9px}.action-incident strong{color:#a66c42}.action-toast-stack{position:fixed;right:18px;top:14px;z-index:80;display:flex;flex-direction:column;gap:7px;max-width:440px;pointer-events:none}.action-toast-stack .action-incident{pointer-events:auto;background:#fff9f0;border:1px solid #E7C4A5;box-shadow:0 9px 26px #9aa69a50;padding:10px 12px;color:#384f55}.action-toast-stack .action-incident button{background:#fff;border:1px solid #D7DED8}.action-incident-hint{flex-basis:100%;font-size:11px;color:#6a7a78}.action-incident-timer{flex-basis:100%;position:relative;font-size:11px;color:#8a6a4a;padding-bottom:5px}.action-incident-timer i{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;background:#e2a66f;transition:width .1s linear}.action-incident-buttons{display:flex;gap:6px;flex-wrap:wrap}.action-toast-stack .action-expired{background:#f4f6f5;border-color:#d3dad7;color:#5b6b6a}.action-toast-stack .action-expired strong{color:#8c5b4a}.placement-info .hint{font-size:11px;color:#6a7a78;margin-top:2px}.placement-info .row{display:flex;gap:6px;margin-top:5px}.placement-info .row button{font-size:11px;padding:3px 8px;pointer-events:auto}.placement-info.bad{border-color:#dc7e76;color:#9a3f33}.pipe-info{pointer-events:auto}.ghost-label{white-space:nowrap;font:600 11px/1.2 system-ui,sans-serif;padding:3px 7px;border-radius:7px;background:#ffffffe8;border:1px solid #9FD2BE;color:#2f7f62;box-shadow:0 3px 10px #8fa39a40}.ghost-label.bad{border-color:#e5a79e;color:#b3473a}.start-v21{max-width:1040px}.deposit-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.deposit-card{display:flex;flex-direction:column;gap:5px;text-align:left;padding:10px;border:1px solid #d6e2db;border-radius:12px;background:#fbf9f3;min-height:150px;cursor:pointer}.deposit-card strong{color:#247f85;font-size:13px}.deposit-card small{color:#566;font-weight:400;line-height:1.35}.deposit-card.active{border:2px solid #247F85;background:#fff;box-shadow:0 4px 14px #247f8522}.deposit-badge{align-self:flex-start;font-size:10px;padding:1px 6px;border-radius:8px;background:#f3e3d3;color:#9a5a2e}.deposit-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}.deposit-tags em{font-style:normal;font-size:10px;background:#e7f1ee;color:#2e6a6e;padding:1px 5px;border-radius:6px}.deposit-facts{border:1px solid #e1e6df;border-radius:12px;padding:10px 12px;margin-bottom:12px;background:#fff}.deposit-facts table{width:100%;font-size:12px;border-collapse:collapse;margin:6px 0}.deposit-facts td{padding:2px 6px;border-bottom:1px solid #F0F1ED}.deposit-facts td:last-child{font-weight:600;text-align:right}.deposit-facts small{color:#667580}.analytics .an-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.analytics .an-head h2{margin:0 6px 0 0}.an-tabs{display:flex;gap:2px;flex-wrap:wrap}.an-tabs button{padding:4px 10px;border-radius:8px 8px 0 0;border:1px solid #DADDD8;background:#fbf9f3;font-size:12px}.an-tabs button.active{background:#fff;border-color:#247f85;color:#247f85;font-weight:600}.an-meta{font-size:11px;color:#667580;margin-left:auto}.an-body{padding-top:8px}.an-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px}.an-chart{background:#fff;border:1px solid #ECEEE9;border-radius:10px}.an-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.an-table th{text-align:left;color:#667580;font-weight:600;border-bottom:1px solid #DADDD8;padding:3px 6px}.an-table td{padding:3px 6px;border-bottom:1px solid #F0F1ED}.an-table button{padding:1px 7px;font-size:11px}.an-kpis{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;margin-bottom:8px;align-items:center}.an-kpis b{color:#247f85}.alarm{color:#ca504a!important}.well-panel .slider{display:flex;flex-direction:column;gap:2px;margin:8px 0;font-size:12px}.well-panel .slider input{width:100%;accent-color:#247F85}.well-panel .row-buttons{display:flex;gap:6px;flex-wrap:wrap}.well-panel .muted,.muted{color:#667580;font-size:12px}.well-panel .ok{color:#247f85}.well-panel .off{color:#ca504a}.game-hud button.active{background:#247f85;color:#fff}@media(max-width:900px){.deposit-picker{grid-template-columns:repeat(2,1fr)}}.mini-legend{display:grid;grid-template-columns:1fr 1fr;gap:1px 6px;margin-top:4px;font-size:9.5px;color:#556}.mini-map .mini-legend span{display:flex;align-items:center;gap:4px;font-size:9.5px}.mini-legend i{display:inline-block;width:7px;height:7px;border-radius:50%}.mini-legend i.line{width:12px;height:2px;border-radius:0}.mini-legend i.dashed{height:0;border-top:2px dashed;background:none}.heatmap-legend{position:absolute;bottom:12px;left:200px;background:#fffe;color:#566;padding:8px 10px;border-radius:6px;font-size:11px;border:1px solid #E4E8E1;min-width:190px;pointer-events:none}.heatmap-legend .gradient{height:9px;border-radius:3px;margin:4px 0}.scene .mini-map{right:224px;bottom:12px}@media(max-width:650px){.scene .mini-map{right:172px}}.game-hud select{padding:3px 6px;font-size:12px;height:29px;box-sizing:border-box}.plant-hover-label{white-space:nowrap;background:#fffffff0;color:#2b3a3f;border:1px solid #d5dad4;border-radius:6px;padding:4px 9px;font-size:12px;box-shadow:0 2px 8px #2832321f}.sound-panel{border-top:1px solid rgba(0,0,0,.08);margin-top:6px;padding-top:6px}.sound-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sound-toggle{font-weight:600}.sound-mute{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sound-sliders label{display:grid;grid-template-columns:1fr 110px 38px;align-items:center;gap:6px}.sound-sliders input[type=range]{width:100%}.tut2-card{position:fixed;z-index:95;left:18px;bottom:22px;width:340px;background:#fff;border:1px solid #CFE0DA;border-left:4px solid #247F85;border-radius:14px;padding:14px 16px;box-shadow:0 12px 34px #8fa39b55;color:#2b3b3e;font-size:13px}.tut2-card h3{margin:6px 0 4px;color:#247f85;font-size:15px}.tut2-card p{line-height:1.45;margin:4px 0}.tut2-progress{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#5e7276}.tut2-progress span{display:flex;gap:4px}.tut2-progress i{width:14px;height:5px;border-radius:3px;background:#dce6e2}.tut2-progress i.done{background:#247f85}.tut2-progress i.now{background:#ea7b42}.tut2-check{list-style:none;padding:0;margin:6px 0;display:grid;gap:3px}.tut2-check li{color:#7a8a88}.tut2-check li.ok{color:#247f85;font-weight:600}.tut2-wait{color:#8a6a4a;font-size:12px}.tut2-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tut2-buttons button{padding:5px 10px}.tut2-buttons .primary,.tut2-menu-top .primary{background:#247f85;color:#fff;border-color:#247f85}.tut2-spot{position:fixed;z-index:94;pointer-events:none;border:3px solid #EA7B42;border-radius:10px;box-shadow:0 0 0 4px #fbf9f3cc,0 0 22px 6px #ea7b4255;transition:all .18s ease;animation:tut2pulse 1.6s ease-in-out infinite}@keyframes tut2pulse{50%{box-shadow:0 0 0 4px #fbf9f3cc,0 0 30px 10px #ea7b4240}}.tut2-arrow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;pointer-events:none}.tut2-menu-top{display:flex;align-items:center;gap:12px;margin:10px 0}.tut2-chapters{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tut2-chapters button{width:100%;text-align:left;display:grid;gap:3px;padding:9px 11px;border-radius:10px;background:#fbf9f3;border:1px solid #E1E6DF}.tut2-chapters li.done button{border-color:#9fcbc5;background:#f1f8f6}.tut2-chapters small{color:#667580}.tut2-chapters em{font-style:normal;font-size:11px;color:#ea7b42}@media(max-width:600px){.tut2-chapters{grid-template-columns:1fr}.tut2-card{width:calc(100% - 36px)}}.camp-screen{max-width:980px}.camp-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.camp-total{text-align:center;background:#fbf9f3;border:1px solid #E5E1D2;border-radius:12px;padding:8px 14px}.camp-total b{display:block;font-size:24px;color:#ea7b42}.camp-map{display:grid;gap:8px;margin:10px 0}.camp-chapter{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;position:relative}.camp-roman{font-weight:700;color:#247f85;text-align:center;font-size:15px}.camp-nodes{display:flex;gap:8px;flex-wrap:wrap}.camp-node{display:flex;gap:9px;align-items:center;text-align:left;padding:6px;border-radius:12px;background:#fff;border:1px solid #DCE5E0;min-width:210px;flex:1;box-shadow:0 4px #e3e9e4,0 8px 18px #a9b8b033;transition:transform .12s}.camp-node:not(:disabled):hover{transform:translateY(-2px)}.camp-node.won{border-color:#9fcbc5;background:#f4faf8}.camp-node.locked{opacity:.62;filter:grayscale(.6);box-shadow:none}.camp-node-body{display:grid;gap:2px}.camp-node-body small{color:#667580}.camp-lock{font-style:normal;font-size:11px;color:#8a6a4a}.camp-thumb{flex:none;width:86px;height:58px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,#e9e2cf,#cfdcd4);display:block}.camp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.camp-stars{color:#ea7b42;letter-spacing:1px}.camp-stars span{color:#d3cbb6}.camp-ach{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.camp-ach-item{border:1px dashed #D9DED6;border-radius:10px;padding:6px 9px;color:#7a8a88;display:grid;gap:2px}.camp-ach-item.got{border-style:solid;border-color:#e9c29f;background:#fff8ef;color:#5b4632}.camp-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px}.camp-spacer{flex:1}.camp-brief{max-width:820px}.camp-brief-head{display:flex;gap:14px;align-items:center}.camp-brief-head .camp-thumb{width:190px;height:120px}.camp-brief-head h2{margin:2px 0}.camp-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.camp-brief-grid section{background:#fbf9f3;border:1px solid #ECE7D8;border-radius:10px;padding:8px 10px}.camp-brief-grid h4{margin:0 0 4px;color:#247f85}.camp-brief-grid ul{margin:0;padding-left:17px;line-height:1.45;font-size:13px}.debrief{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;text-align:left}.debrief section{border-radius:10px;padding:8px 10px;font-size:12.5px}.debrief ul{margin:0;padding-left:17px;line-height:1.45}.debrief .good{background:#f1f8f6;border:1px solid #CFE6E0}.debrief .bad{background:#fff6ee;border:1px solid #EFD5BE}.debrief .tips{grid-column:1/-1;background:#fbf9f3;border:1px solid #ECE7D8}.debrief h4{margin:0 0 4px}.debrief .good h4{color:#247f85}.debrief .bad h4{color:#b5683a}.debrief-ach{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.debrief-ach span{background:#fff1df;border:1px solid #EBC59C;border-radius:16px;padding:3px 10px;font-weight:600;color:#7a4b22}.start-modes{display:flex;gap:10px;margin:10px 0 14px}.start-modes button{flex:1;text-align:left;padding:12px 14px;border-radius:12px;font-weight:700;background:#fff;border:1px solid #CFE0DA;box-shadow:0 4px #e3e9e4}.start-modes button small{display:block;font-weight:400;color:#667580;padding-top:3px}.start-modes button.primary{background:#247f85;color:#fff;border-color:#247f85}.start-modes button.primary small{color:#e3f1ef}.mission-best{color:#ea7b42;float:right}@media(max-width:700px){.camp-brief-grid,.debrief{grid-template-columns:1fr}}.game-mission .supply-on{background:#fcebdd;color:#9a4a1c;border:1px solid #EFC3A3;border-radius:6px;padding:2px 8px;font-weight:600}.game-mission .supply-off{color:#667580}.tech-block{margin-top:10px;padding:8px 10px;border:1px solid #D8DED9;border-radius:8px;background:#f7f9f6;font-size:12px}.tech-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}.tech-head .muted{font-size:11px}.tech-table{border-collapse:collapse;width:100%}.tech-table td,.tech-table th{padding:2px 6px;text-align:left;border-bottom:1px solid #E6EAE6}.tech-table.grid th{font-weight:600;color:#56625f;background:#eef2ee}.tech-table tr.lvl1 td{background:#fbf1df}.tech-table tr.lvl2 td{background:#f8e1df;color:#a23a35}.tech-table a{cursor:pointer;color:#247f85;text-decoration:underline}.tech-bar{display:inline-block;width:70px;height:7px;background:#e3e7e3;border-radius:4px;vertical-align:middle;overflow:hidden}.tech-bar i{display:block;height:100%}.tech-block .row-buttons button{font-size:11px}.plant-flow{font-size:12px}.pf-row{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;margin:6px 0}.pf-node{background:#fff;border:1px solid #CFD8D3;border-radius:8px;padding:6px 9px;min-width:110px;box-shadow:0 1px 2px #283c370f}.pf-node h4{margin:0 0 3px;font-size:12px;color:#33413e}.pf-node b{color:#247f85}.pf-arrow{align-self:center;color:#8a9893;font-size:18px}.pf-col{min-width:96px}.pf-col.role-lead{border-color:#247f85}.pf-col.role-elution{border-color:#d9902e;background:#fdf6ea}.pf-col.role-standby{opacity:.85}.pf-load{height:46px;width:22px;border:1px solid #9FB1AB;border-radius:3px;background:#eef2ee;display:flex;align-items:flex-end;margin:3px 0}.pf-load i{display:block;width:100%;background:linear-gradient(#e3b54a,#c9891f)}.wellhead-tag{background:#fffffff0;border:1px solid #B9C7C1;border-radius:6px;padding:2px 7px;font:600 11px system-ui,sans-serif;color:#2e3d3a;white-space:nowrap;box-shadow:0 1px 3px #0000001f}.sandbox-editor{position:fixed;z-index:120;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,94vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #D6E2DB;border-radius:14px;box-shadow:0 14px 48px #9aa89f55;padding:18px 20px;color:#2b2b2b;font-size:13px}.sandbox-editor h3{margin:0;color:#247f85}.sandbox-editor h4{margin:12px 0 6px;color:#4d5f62;font-size:13px}.sb-head{display:flex;justify-content:space-between;align-items:center}.sb-badge{font-size:11px;background:#fff1e2;color:#b85f2a;border:1px solid #F2CFAE;border-radius:10px;padding:2px 8px;margin-left:6px;vertical-align:middle}.sb-note{color:#667580;font-size:12px}.sb-name input{width:240px;margin-left:6px}.sb-layers input{width:84px;padding:4px 6px}.sb-layers td:first-child input{width:150px}.sb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sb-grid label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#667580}.sb-grid input{padding:5px 7px}.sb-derived{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0;padding:8px 10px;background:#f4f8f5;border:1px solid #DFE8E2;border-radius:8px;font-size:12px;color:#4d5f62}.sb-derived b{color:#247f85}.sandbox-editor .row-buttons{display:flex;gap:8px;flex-wrap:wrap}.sandbox-editor button.primary{background:#247f85;color:#fff;border-color:#247f85}.sb-msg{display:block;margin-top:6px;color:#247f85}@media(max-width:600px){.sb-grid{grid-template-columns:1fr 1fr}}.metal-tabs{display:flex;gap:8px;margin:6px 0 10px;flex-wrap:wrap}.metal-tabs button{border:1px solid #c9d6da;background:#f6f9fa;border-radius:10px;padding:6px 12px;text-align:left;cursor:pointer;color:#1d3640}.metal-tabs button small{display:block;font-size:11px;color:#5b6f76}.metal-tabs button.active{background:#e3f1f2;border-color:#247f85;box-shadow:inset 0 -2px #247f85}.metal-tabs button.soon{background:#fbf8f3;border-style:dashed;color:#4d5d63}.soon-badge{display:inline-block;font-size:10px;padding:0 6px;border-radius:8px;background:#fcefd8;color:#8a5a12;vertical-align:middle}.soon-deposits{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.soon-card{display:flex;flex-direction:column;gap:4px}.soon-card td:last-child a{font-size:11px;color:#247f85}.deposit-geo{border:1px solid #e1e6df;border-radius:12px;padding:10px 12px;margin-bottom:12px;background:#fff}.deposit-geo .geo-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.geo-column{flex:none;border:1px solid #EEF1EC;border-radius:8px}.geo-table{flex:1;min-width:220px;font-size:12px;border-collapse:collapse}.geo-table td{padding:3px 6px;border-bottom:1px solid #F0F1ED;vertical-align:top}.geo-table b.open{color:#247f85}.geo-table b.cond{color:#8a6a2e;font-weight:500}.geo-table b.none{color:#8c969a;font-weight:400}.geo-src{font-size:11px;color:#4d7f62;white-space:nowrap}.geo-src.cond{color:#8a6a2e}.geo-src.none{color:#9aa3a6}.geo-model{color:#8a6a2e}.geo-note{color:#7a8689;font-size:11px}.geo-src.calc{color:#3f6e8c}.geo-table b.calc{color:#2f5f7e}.geo-note-p{color:#7a8689;font-size:10.5px}.deposit-card .geo-line{display:block;font-size:11px;color:#5f6f70;margin-top:3px}.section-geo-inset{position:absolute;left:10px;bottom:56px;z-index:6;background:#fffffff2;border:1px solid #DDE5DF;border-radius:10px;padding:6px 8px;box-shadow:0 2px 8px #283c321f;font-size:11px;color:#4d5f62;pointer-events:none}.section-geo-inset b{display:block;margin-bottom:3px;color:#247f85}.mode-switch{display:flex;gap:6px;margin:4px 0 12px}.mode-switch button{flex:1;font-weight:700;padding:9px;border-radius:10px;background:#f7f9f7;border:1px solid #D6E2DB;color:#31565b}.mode-switch button.active{background:#e5f2f1;border-color:#247f85;color:#1f6a70}.mode-switch small{display:block;font-weight:400;font-size:11px;color:#667580}.trainer-menu{font-size:13px;color:#2b2b2b}.trainer-lead{color:#4c5d60}.trainer-grid{display:grid;grid-template-columns:230px 1fr;gap:12px}.trainer-list{display:flex;flex-direction:column;gap:6px}.trainer-list button{text-align:left;background:#fff;border:1px solid #DCE4DE;border-radius:9px;padding:7px 9px}.trainer-list button.active{border-color:#247f85;background:#f0f7f6}.trainer-list small,.trainer-journal{display:block;font-size:11px;color:#667580}.trainer-journal{color:#a66c42}.trainer-brief{background:#fbfaf6;border:1px solid #E3E0D5;border-radius:10px;padding:10px 12px}.trainer-brief h3{margin:2px 0 6px}.trainer-src{padding-left:16px;font-size:12px;line-height:1.5}.trainer-src .cond{list-style:none;margin-left:-16px;color:#6a7a78}.tag-open-mini,.tag-cond-mini{font-size:10px;border-radius:5px;padding:1px 5px;background:#e3f1ec;color:#2e6b57}.tag-cond-mini{background:#f4eee2;color:#8a6a3a}.trainer-meta{font-size:12px;color:#4c5d60}.trainer-hints{display:flex;gap:6px;align-items:center;font-size:12px;margin:6px 0}.trainer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.trainer-actions small{display:block;font-size:10px;font-weight:400;color:#667580}.trainer-score-note{font-size:11px;color:#6a7a78;margin-top:10px}.trainer-panel{position:fixed;left:18px;bottom:25px;z-index:85;width:380px;max-height:72vh;overflow:auto;background:#fff;border:2px solid #247F85;border-radius:14px;padding:12px 14px;box-shadow:0 9px 28px #9cada644;font-size:12px;color:#2b2b2b}.trainer-panel h3{margin:0 0 6px;color:#247f85;font-size:15px}.trainer-panel h4{margin:8px 0 3px;color:#31565b}.trainer-alarm{background:#fff3e8;border:1px solid #E8C6A9;color:#8a4f22;border-radius:9px;padding:7px 9px;font-weight:600}.trainer-timer{position:relative;margin:6px 0;padding-bottom:5px;color:#8a6a4a}.trainer-timer i{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;background:#e2a66f}.trainer-hint{background:#f0f7f6;border-left:3px solid #247F85;padding:5px 8px;margin:4px 0}.trainer-opts{display:flex;flex-direction:column;gap:5px;margin:6px 0}.trainer-opts button{text-align:left;background:#f7f9f7;border:1px solid #D6E2DB;border-radius:8px;padding:6px 8px}.trainer-log{padding-left:16px;margin:6px 0}.trainer-log .correct b{color:#2e7d4f}.trainer-log .partial b{color:#a67c22}.trainer-log .wrong b{color:#b4462f}.trainer-score{font-size:15px}.trainer-score b{font-size:30px;color:#247f85}.trainer-score .stars{color:#e0a030;font-size:20px;margin-left:8px}.trainer-kpi{width:100%;border-collapse:collapse;font-size:11px}.trainer-kpi td,.trainer-kpi th{border-bottom:1px solid #E5EAE6;padding:3px 4px;text-align:left}@media(max-width:700px){.trainer-grid{grid-template-columns:1fr}.trainer-panel{width:calc(100% - 36px)}}.open-map{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:4px 0 10px;padding:8px 14px;background:#eaf4f7;border:1px solid #9cc7cf;border-radius:8px;color:#14525c;font-weight:600;cursor:pointer;text-align:left}.open-map small{font-weight:400;color:#4c6e73}.open-map:hover{background:#dcedf2}.map-backdrop{align-items:stretch}.world-map{background:#fff;color:#1d3438;border-radius:12px;box-shadow:0 6px 30px #143c4626;margin:16px auto;padding:14px 18px;width:min(1560px,96vw);max-height:94vh;display:flex;flex-direction:column;gap:8px;overflow:hidden}.wm-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.wm-head h2{margin:0;font-size:20px;color:#14525c}.wm-head button,.wm-zoom button,.wm-actions button{background:#f3f8f9;border:1px solid #bcd3d7;border-radius:6px;padding:5px 10px;color:#1d3438;cursor:pointer}.wm-actions button.primary{background:#1f8f86;border-color:#1f8f86;color:#fff}.wm-lead{margin:0;font-size:12.5px;color:#46636a}mark.map-lbl{background:#fff1c7;color:#6b4a00;border-radius:3px;padding:0 3px}.wm-filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:13px}.wm-fgroup{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.wm-chip{display:inline-flex;gap:4px;align-items:center;border:1px solid #d3e2e5;border-radius:14px;padding:2px 8px;background:#fbfdfd;cursor:pointer}.wm-chip small{color:#7b9195}.wm-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.wm-count{color:#46636a;margin-left:auto}.wm-body{display:grid;grid-template-columns:1fr 380px;gap:12px;min-height:0;flex:1}.wm-canvas{position:relative;border:1px solid #d3e2e5;border-radius:8px;overflow:hidden;background:#eef6f8;min-height:420px}.wm-canvas svg{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.wm-zoom{position:absolute;top:8px;left:8px;display:flex;gap:4px;flex-wrap:wrap;z-index:2}.wm-zoom button{background:#ffffffeb;font-size:12px;padding:3px 8px}.wm-marker{cursor:pointer}.wm-marker:hover{filter:drop-shadow(0 0 2px rgba(17,49,58,.6))}.wm-label{fill:#1d3438;paint-order:stroke;stroke:#fff;stroke-width:.25px;pointer-events:none}.wm-hover{position:fixed;z-index:50;background:#fff;border:1px solid #bcd3d7;border-radius:8px;padding:6px 10px;box-shadow:0 4px 14px #143c462e;display:flex;flex-direction:column;gap:2px;max-width:320px;pointer-events:none;font-size:12.5px}.wm-hover small{color:#46636a}.wm-legend{position:absolute;bottom:6px;left:8px;display:flex;gap:12px;font-size:11.5px;color:#46636a;background:#ffffffe0;padding:3px 8px;border-radius:6px}.wm-ring{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px dashed #1f8f86;vertical-align:-1px}.wm-side{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}.wm-hint{font-size:12.5px;color:#46636a;margin:0}.wm-list{display:flex;flex-direction:column;gap:2px}.wm-list h4{margin:8px 0 2px;font-size:13px;color:#14525c}.wm-list button{display:flex;flex-wrap:wrap;gap:4px;align-items:center;text-align:left;background:#fbfdfd;border:1px solid #e2ecee;border-radius:6px;padding:3px 8px;font-size:12.5px;color:#1d3438;cursor:pointer}.wm-list button small{color:#6a8287;width:100%;padding-left:18px}.wm-list button.active{border-color:#1f8f86;background:#e8f5f3}.wm-card{border:1px solid #cfe0e3;border-radius:8px;padding:8px 10px;background:#fbfefe}.wm-card-head{display:flex;justify-content:space-between;align-items:center}.wm-x{background:none;border:none;font-size:18px;cursor:pointer;color:#46636a}.wm-card h3{margin:4px 0 6px;font-size:16px}.wm-card table{width:100%;border-collapse:collapse;font-size:12.5px}.wm-card td{border-top:1px solid #edf3f4;padding:3px 4px;vertical-align:top}.wm-card td:first-child{color:#5d7377;width:110px}.wm-src{font-size:12px;margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.wm-actions{display:flex;gap:8px;margin-top:8px}.wm-note{font-size:12px;color:#5d7377;margin:8px 0 0}.territory-note{border:1px solid #cfe0e3;border-radius:8px;padding:8px 12px;background:#f7fbfc;margin:8px 0;font-size:12.5px;color:#1d3438}.territory-note .tn-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.territory-note ul{margin:4px 0;padding-left:18px}.territory-note small a{margin-right:6px}.tn-map{margin-left:auto;background:#eaf4f7;border:1px solid #9cc7cf;border-radius:6px;padding:2px 8px;cursor:pointer;color:#14525c}.proj-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.proj-cols h4{margin:2px 0 6px;font-size:13px;color:#24474d}.proj-t{border-collapse:collapse;width:100%;font-size:12px}.proj-t td{border-bottom:1px solid #e3ebec;padding:3px 6px;vertical-align:top}.proj-t td:first-child{color:#5b6b70;white-space:nowrap}.proj-t b{color:#247f85}.game-hud{gap:8px;padding:8px 14px}.game-hud button{padding:4px 8px}.game-hud span{font-size:11.5px}.gloss-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#f6f3eacc;display:grid;place-items:center;padding:18px}.gloss{width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 30px #0000001a}.gloss-head{display:flex;justify-content:space-between;align-items:center}.gloss-head h2{margin:0}.gloss-head button{padding:2px 10px;font-size:18px}.gloss input{width:100%}.gloss-list{margin:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.gloss-item{border-bottom:1px solid #E8E8E0;padding-bottom:7px}.gloss-item dd{margin:3px 0 0;font-size:13px}.gloss-item .prov{margin-left:4px;font-size:11px}.gloss-foot{font-size:11px;margin:0}.mini-map .mini-legend span.wide{grid-column:1/-1;display:block;line-height:1.25}.mini-map .mini-legend span.wide i{display:inline-block;vertical-align:middle;margin-right:4px}.hetero-panel{display:flex;flex-direction:column;gap:5px;border-top:1px dashed #DADDD8;border-bottom:1px dashed #DADDD8;padding:6px 0}.hetero-panel .k-legend{font-size:10px;color:#667580;display:flex;flex-direction:column;gap:2px}.hetero-panel .k-legend i{display:block;height:7px;border-radius:3px;border:1px solid #DADDD8}.hetero-panel .k-legend b{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:middle;margin:0 2px 0 4px}.hetero-panel .sweep-kpi{font-size:11px;color:#4d5f62;background:#f3f8f5;border:1px solid #DCE9E2;border-radius:7px;padding:5px 7px;display:flex;flex-direction:column;gap:2px}.hetero-panel .sweep-kpi strong{color:#247f85;font-size:13px}.hetero-panel .sweep-kpi em{font-style:normal;color:#8a969b;font-size:10px}.hetero-panel small{font-size:9.5px;color:#667580;line-height:1.3}.hetero-panel .infill{display:flex;flex-direction:column;gap:4px}.hetero-panel .infill-res{font-size:10.5px;color:#4d5f62;background:#fbf9f3;border:1px solid #E6E1D3;border-radius:7px;padding:5px 7px}.hetero-panel .infill-warn{color:#b5481d}.design-backdrop{z-index:120;place-items:start center;overflow:auto}.design-screen{background:#fff;border:1px solid #d6e2db;box-shadow:0 12px 45px #adb7a655;border-radius:16px;padding:16px 18px;width:min(1560px,100%);display:flex;flex-direction:column;gap:12px}.dz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0;background:none;border:0}.dz-head h2{color:#247f85;font-size:21px;margin:0 0 4px}.dz-head small{color:#667580;font-size:12px}.dz-head-btn{display:flex;gap:8px}.dz-head-btn .primary{background:#247f85;color:#fff;border-color:#247f85}.dz-head-btn .primary:disabled{opacity:.45;cursor:not-allowed}.dz-brief{font-size:13px;background:#fbf9f3;border:1px solid #E3E0D5;border-radius:9px;padding:8px 12px;margin:0}.dz-body{display:grid;grid-template-columns:250px minmax(360px,1fr) 400px;gap:12px;align-items:start}.dz-tools,.dz-res{display:flex;flex-direction:column;gap:7px;font-size:12px}.dz-tools h3,.dz-res h3,.dz-save h3,.dz-goals h3{margin:6px 0 2px;font-size:13px;color:#247f85}.dz-tools label{display:flex;flex-direction:column;gap:3px;color:#4d5f62}.dz-tools label b{color:#247f85}.dz-tools input[type=range]{accent-color:#247F85;width:100%}.dz-toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.dz-toolgrid button{padding:5px;font-size:11px}.dz-toolgrid button.active{background:#dbf0eb;color:#247f85;border-color:#247f85;font-weight:600}.dz-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dz-row input[type=number]{width:56px;padding:4px}.dz-tools .dz-check,.dz-check{flex-direction:row;display:flex;align-items:center;gap:6px;font-size:12px;color:#4d5f62}.dz-check input{accent-color:#247F85}.dz-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.dz-actions button,.dz-small{padding:5px;font-size:11px}.dz-note{font-size:11px;color:#667580;line-height:1.4}.dz-plan{display:flex;flex-direction:column;gap:6px;min-width:0}.dz-plan canvas{border:1px solid #DADDD8;border-radius:10px;background:#fbf9f3;cursor:crosshair;max-width:760px}.dz-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#526568;align-items:center}.dz-legend i{display:inline-block;width:10px;height:10px;margin-right:3px;vertical-align:-1px;border-radius:50%}.lg-prod{background:#247f85}.lg-inj{background:#3a6ea5;border-radius:0!important;clip-path:polygon(50% 0,100% 100%,0 100%)}.lg-mon{background:#7a8580;border-radius:2px!important}.lg-ore{background:#d5ba8460;border:1px solid #B08A3E;border-radius:2px!important}.lg-lease{border:1px dashed #9AA6A0;border-radius:2px!important}.lg-slow{background:#e6b04a88;border-radius:2px!important}.lg-dead{background:#ca504a88;border-radius:2px!important}.dz-zoom{margin-left:auto;display:flex;gap:3px}.dz-zoom button{padding:2px 8px;font-size:11px}.dz-issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.dz-issues li{padding:5px 8px;border-radius:6px;font-size:11.5px}.dz-issues .err{background:#fbe7e3;color:#9c372e}.dz-issues .warn{background:#fbf1de;color:#8a5a12}.dz-issues .ok{background:#e8f2ef;color:#2e6b57}.dz-kpis{display:grid;grid-template-columns:1fr 1fr;gap:5px}.dz-kpi{background:#fbf9f3;border:1px solid #E6EBE5;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.dz-kpi span{font-size:10px;color:#667580}.dz-kpi strong{font-size:14px;color:#247f85}.dz-kpi .prov{font-size:9.5px}.dz-busy{font-style:normal;font-weight:400;font-size:11px;color:#ea7b42;margin-left:6px}.dz-costs table,.dz-compare table,.dz-saved{width:100%;border-collapse:collapse;font-size:11px}.dz-costs td,.dz-compare td,.dz-compare th,.dz-saved td{border-bottom:1px solid #EEF0EA;padding:3px 4px;text-align:left;vertical-align:top}.dz-costs summary{cursor:pointer;font-weight:600;color:#4d5f62;margin:4px 0}.dz-charts{display:grid;grid-template-columns:1fr;gap:4px}.dz-charts small{font-size:11px;color:#526568}.dz-goals{border-top:1px dashed #DADDD8;padding-top:6px}.dz-goals ul{list-style:none;padding:0;margin:0 0 6px}.dz-goals li{font-size:12px;padding:2px 0}.dz-goals .ok{color:#2e6b57}.dz-goals .err{color:#9c372e}.dz-goals .primary{background:#ea7b42;color:#fff;border-color:#ea7b42}.dz-save{display:flex;flex-direction:column;gap:8px}.dz-save input[data-testid=design-name]{width:220px}.dz-file{border:1px solid #DADDD8;border-radius:7px;padding:7px 9px;cursor:pointer;font-size:13px}.dz-file input{display:none}.dz-compare th{font-weight:600}@media(max-width:1250px){.dz-body{grid-template-columns:230px 1fr}.dz-res{grid-column:1/-1}}@media(max-width:760px){.dz-body{grid-template-columns:1fr}}.lay-screen{gap:14px}.lay-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.lay-head h2{color:#247f85;font-size:21px;margin:0 0 4px}.lay-head small{color:#667580;font-size:12px;font-weight:500}.lay-head button{padding:2px 10px;font-size:18px;background:#fbf9f3;border:1px solid #DADDD8;border-radius:8px;cursor:pointer;color:#4d5f62}.lay-lead{margin:0;font-size:13px;color:#4d5f62;max-width:920px;line-height:1.45}.lay-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lay-card{text-align:left;background:#fbf9f3;border:1px solid #E3E0D5;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:#24373a}.lay-card strong{color:#247f85;font-size:13.5px}.lay-card small{color:#667580;font-size:11.5px;line-height:1.35}.lay-card-meta{font-size:10.5px;color:#526568}.lay-card.active{background:#dbf0eb;border-color:#247f85;box-shadow:0 0 0 1px #247f85}.lay-badge{display:inline-block;align-self:flex-start;background:#fbf1de;color:#8a5a12;border:1px solid #E8D3A0;border-radius:999px;padding:1px 7px;font-size:10px;font-style:normal;font-weight:600}.lay-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.lay-main{display:flex;flex-direction:column;gap:10px;min-width:0}.lay-plan-wrap h3,.lay-explain h3,.lay-chart-head h3{margin:0 0 6px;font-size:14px;color:#247f85}.lay-plan{width:100%;max-width:720px;border:1px solid #DADDD8;border-radius:10px;background:#fbf9f3;display:block}.lay-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#526568;align-items:center}.lay-legend i{display:inline-block;width:10px;height:10px;margin-right:3px;vertical-align:-1px}.lay-legend .lg-prod{background:#1e7b45;border-radius:50%}.lay-legend .lg-inj{background:#3a6ea5;clip-path:polygon(50% 0,100% 100%,0 100%)}.lay-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.lay-kpi{background:#fbf9f3;border:1px solid #E6EBE5;border-radius:8px;padding:7px 9px;display:flex;flex-direction:column;gap:2px}.lay-kpi span{font-size:10px;color:#667580}.lay-kpi strong{font-size:14px;color:#247f85}.lay-caveat{margin:0;font-size:12px;color:#8a5a12;background:#fbf1de;border:1px solid #E8D3A0;border-radius:8px;padding:8px 10px;line-height:1.4}.lay-explain{background:#f7fbf9;border:1px solid #DCE9E2;border-radius:10px;padding:10px 12px}.lay-explain p{margin:0;font-size:13px;color:#31474b;line-height:1.45}.lay-empty{display:flex;flex-direction:column;gap:8px;color:#667580;font-size:13px}.lay-side{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #E6EBE5;border-radius:12px;padding:10px 12px}.lay-chart-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.lay-cmp{display:flex;align-items:center;gap:6px;font-size:12px;color:#4d5f62}.lay-cmp input{accent-color:#247F85}.lay-chart{min-height:280px;background:#fbf9f3;border:1px solid #EEF0EA;border-radius:8px;padding:4px}.lay-chart-ph{height:280px;display:grid;place-items:center;color:#667580;font-size:13px}.lay-note{margin:0;font-size:11px;color:#667580;line-height:1.4}.lay-actions{display:flex;flex-direction:column;gap:6px}.lay-actions .primary{background:#247f85;color:#fff;border-color:#247f85;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px}.lay-actions .primary small{color:#dbf0eb;font-weight:400}.lay-actions .primary:disabled{opacity:.45;cursor:not-allowed}.lay-actions button{cursor:pointer}@media(max-width:1100px){.lay-pick{grid-template-columns:1fr 1fr}.lay-body{grid-template-columns:1fr}.lay-kpis{grid-template-columns:1fr 1fr}}@media(max-width:640px){.lay-pick{grid-template-columns:1fr}}.exam-menu{display:flex;flex-direction:column;gap:10px}.exam-metals{display:flex;flex-wrap:wrap;gap:6px}.exam-metals button{padding:5px 12px;border:1px solid #CFC8B6;background:#fff;border-radius:16px;cursor:pointer;color:#33413f}.exam-metals button.active{background:#247f85;color:#fff;border-color:#247f85}.exam-setup{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.exam-setup label{display:flex;flex-direction:column;font-size:12px;color:#556}.exam-setup input{width:110px;padding:4px 6px;border:1px solid #CFC8B6;border-radius:6px;background:#fff}.exam-preview{margin:0;padding-left:20px;font-size:13px;color:#33413f}.exam-preview li{margin:2px 0}.exam-pool-note,.exam-rules{font-size:12px;color:#667580}.exam-best,.exam-history{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.exam-best td,.exam-best th,.exam-history td,.exam-history th{border-bottom:1px solid #ECE6D7;padding:3px 6px;text-align:left}.exam-hud{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:60;background:#fff;border:1px solid #D9D2C1;border-radius:18px;padding:5px 14px;font-size:13px;color:#33413f;box-shadow:0 2px 8px #3c321e1f;display:flex;gap:10px;align-items:center}.exam-left.warn{color:#ca504a;font-weight:600}.exam-dots{display:inline-flex;gap:4px}.exam-dots i{width:9px;height:9px;border-radius:50%;background:#e3ddcd;display:inline-block}.exam-dots i.ok{background:#247f85}.exam-dots i.bad{background:#ca504a}.exam-dots i.cur{background:#ea7b42}.exam-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#f6f3eaee;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:30px 16px}.exam-result{background:#fff;color:#2b2b2b;border:1px solid #D9D2C1;border-radius:12px;box-shadow:0 6px 24px #3c321e26;max-width:1100px;width:100%;padding:20px 24px}.exam-result-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.exam-result h2{margin:0 0 4px;font-size:20px}.exam-meta{margin:0;color:#667580;font-size:13px}.exam-big{font-size:40px;font-weight:700;color:#247f85;text-align:right}.exam-result[data-passed="0"] .exam-big{color:#ca504a}.exam-big small{display:block;font-size:11px;font-weight:400;color:#667580}.exam-breakdown{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}.exam-breakdown th{background:#f6f3ea;text-align:left;padding:5px 6px;border-bottom:1px solid #D9D2C1;font-weight:600}.exam-breakdown td{padding:5px 6px;border-bottom:1px solid #ECE6D7;vertical-align:top}.exam-details{margin-top:12px}.exam-details details.exam-drill{border:1px solid #ECE6D7;border-radius:8px;padding:6px 10px;margin:6px 0;background:#fcfbf7}.exam-details summary{cursor:pointer;font-weight:600}.exam-issue-list{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:#33413f}.exam-clean{color:#247f85;font-size:12.5px}.exam-foot{font-size:11.5px;color:#667580;margin-top:10px}.exam-result-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}@media print{body.print-exam .app,body.print-exam .start,body.print-exam .exam-result-actions{display:none!important}body.print-exam .exam-overlay{position:static;background:#fff;padding:0}body.print-exam .exam-result{box-shadow:none;border:none;max-width:none}body.print-exam .exam-details details.exam-drill{break-inside:avoid}}.fieldmap-open{padding:4px 10px;border:1px solid #CFC8B6;background:#fff;border-radius:6px;cursor:pointer;color:#247f85;font-weight:600;align-self:flex-end}.fieldmap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#f6f3eaeb;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:24px 12px}.fieldmap{background:#fff;border:1px solid #D9D2C1;border-radius:12px;box-shadow:0 6px 24px #3c321e26;padding:14px 18px;color:#2b2b2b;max-width:calc(100vw - 24px)}.fieldmap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.fieldmap-head h2{margin:0;font-size:18px}.fieldmap-x{border:none;background:none;font-size:24px;cursor:pointer;color:#667580}.fieldmap-body{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.fieldmap-plot{position:relative;border:1px solid #E3DDCD;border-radius:6px;overflow:hidden;line-height:0}.fieldmap-plot canvas{display:block;cursor:crosshair}.fieldmap-tip{position:absolute;z-index:2;background:#fff;border:1px solid #D9D2C1;border-radius:6px;padding:5px 8px;font-size:12px;line-height:1.35;color:#2b2b2b;box-shadow:0 2px 8px #3c321e26;pointer-events:none;max-width:220px}.fieldmap-side{width:340px;display:flex;flex-direction:column;gap:8px;font-size:13px}.fieldmap-side label{display:flex;flex-direction:column;gap:3px;color:#556;font-size:12px}.fieldmap-side label.fieldmap-check{flex-direction:row;align-items:center;gap:6px}.fieldmap-side select{padding:4px;border:1px solid #CFC8B6;border-radius:6px;background:#fff}.fieldmap-ramp{height:12px;border-radius:3px;border:1px solid #E3DDCD}.fieldmap-ramp-lbl{display:flex;justify-content:space-between;font-size:11.5px;color:#33413f}.fieldmap-legend small{color:#667580;font-size:11px}.fieldmap-summary{border-collapse:collapse;width:100%;font-size:12.5px}.fieldmap-summary td{padding:3px 4px;border-bottom:1px solid #ECE6D7;vertical-align:top}.fieldmap-summary td:first-child{color:#667580;width:44%}.fieldmap-keys{font-size:11.5px!important}.fieldmap-keys span{display:flex;align-items:center;gap:5px}.fieldmap-keys i{width:9px;height:9px}.fieldmap-keys i.sq{border-radius:1px}.fieldmap-keys i.tri{width:0;height:0;border-radius:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid}.fieldmap-note{font-size:11.5px;color:#667580;margin:0}
