:root{--bg:#061008;--panel:#0b1c11;--panel2:#102617;--line:#315139;--text:#f4f7f1;--muted:#aab8aa;--green:#9be45a;--orange:#f5a044;--amber:#e5b04a;--red:#d9675d;--blue:#4c8dcc;--shadow:0 18px 50px rgba(0,0,0,.45)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 85% 0,rgba(89,145,52,.19),transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:104px}button,select{font:inherit}.shell{width:min(1180px,100%);margin:auto;padding:0 14px 34px}.topbar{min-height:76px;display:flex;align-items:center;gap:12px;padding-top:env(safe-area-inset-top)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand img{width:46px;height:46px;object-fit:contain}.brand b,.brand small{display:block}.brand b{letter-spacing:.05em}.brand small{font-size:10px;color:var(--muted);margin-top:2px}.top-link{margin-left:auto;color:var(--green);text-decoration:none;font-weight:900;font-size:12px}.hero{display:grid;gap:18px;padding:24px;border:1px solid #3d6b43;border-radius:28px;background:linear-gradient(135deg,rgba(10,34,17,.98),rgba(38,82,27,.78));box-shadow:var(--shadow)}.release-pill,.eyebrow,.step,.field label,.directive span,.risk span,.guardrail span,.weather-grid span,.decision-meta span{font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.release-pill,.eyebrow,.step{color:var(--green)}.hero h1{font-size:clamp(36px,7vw,64px);line-height:.96;margin:10px 0 14px}.hero-lead{max-width:820px;color:#d5dfd3;line-height:1.65;margin:0}.hero-status{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid rgba(155,228,90,.45);border-radius:16px;background:rgba(3,12,6,.58)}.hero-status b,.hero-status small{display:block}.hero-status b{font-size:12px;color:var(--green)}.hero-status small{font-size:11px;color:var(--muted);margin-top:3px}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(155,228,90,.55);animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(155,228,90,0)}100%{box-shadow:0 0 0 0 rgba(155,228,90,0)}}.card,.decision-card,.integrity{margin-top:18px;border:1px solid var(--line);border-radius:24px;background:rgba(10,27,16,.96);box-shadow:0 14px 38px rgba(0,0,0,.28)}.controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:18px}.field{display:grid;gap:7px}.field label{color:#d8e6d3}.field select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:14px;background:#07140c;color:#fff;padding:11px 13px}.btn{min-height:52px;border:1px solid var(--line);border-radius:14px;padding:12px 15px;font-weight:950;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{background:var(--green);color:#07110b;border-color:var(--green)}.btn.orange{background:var(--orange);color:#110d07;border-color:var(--orange)}.btn.secondary{background:#102318;color:#f4f7f1}.decision-card{padding:22px;border-color:#4a7747;background:linear-gradient(145deg,rgba(9,31,15,.98),rgba(25,66,26,.82))}.decision-card.state-empty{border-color:var(--line);background:rgba(10,27,16,.96)}.decision-top{display:flex;align-items:center;gap:18px}.score-ring{--score:0;width:116px;min-width:116px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#0c1c12 58%,transparent 59%),conic-gradient(var(--green) calc(var(--score)*1%),#1e3726 0);box-shadow:inset 0 0 0 1px #315139}.score-ring span,.score-ring small{display:block;text-align:center}.score-ring span{font-size:34px;font-weight:950}.score-ring small{font-size:8px;color:var(--muted);letter-spacing:.09em}.status-chip{display:inline-block;padding:6px 9px;border-radius:999px;background:rgba(155,228,90,.14);color:var(--green);font-size:10px;font-weight:950;letter-spacing:.08em}.decision-copy h2{font-size:clamp(25px,5vw,42px);margin:10px 0}.decision-copy p{margin:0;color:#c5d1c3;line-height:1.55}.decision-meta{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px}.decision-meta div,.weather-grid div{padding:12px;border:1px solid #315139;border-radius:14px;background:rgba(5,17,9,.72)}.decision-meta span,.weather-grid span{display:block;color:var(--muted);margin-bottom:6px}.decision-meta b,.weather-grid b{font-size:13px}.directive,.risk{margin-top:14px;padding:15px;border-radius:15px;background:#061209;border:1px solid #3b6240}.directive span,.risk span{display:block;color:var(--green);margin-bottom:7px}.directive b{font-size:16px;line-height:1.45}.risk p{margin:0;color:#d7c4a2;line-height:1.5}.workspace{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.map-card,.weather-card,.guardrail-card,.actions{padding:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-heading div{display:flex;align-items:center;gap:9px}.section-heading h2{margin:0;font-size:21px}.micro{font-size:10px;color:var(--muted);text-align:right}.step{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(155,228,90,.12);border:1px solid rgba(155,228,90,.35)}#field-map{height:480px;border-radius:18px;border:1px solid #315139;background:#122019;overflow:hidden}.map-empty{display:none;margin-top:-481px;height:480px;position:relative;z-index:500;place-items:center;text-align:center;padding:22px;color:var(--muted);background:rgba(6,16,8,.92);border-radius:18px}.map-empty.show{display:grid}.map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;color:var(--muted);font-size:10px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.boundary-dot{background:var(--green)}.route-dot{background:var(--amber)}.stand-dot{background:#fff;border:3px solid var(--green)}.camera-dot{background:var(--orange)}.leaflet-control-attribution{font-size:8px}.field-column{min-width:0}.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.provenance{padding:12px;border-left:3px solid var(--green);background:#07150c;color:#b9c7b7;line-height:1.5;font-size:12px}.guardrail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guardrail{padding:13px;border:1px solid #315139;border-radius:14px;background:#07150c}.guardrail.good{border-left:4px solid var(--green)}.guardrail.danger{border-left:4px solid var(--red)}.guardrail.wide{grid-column:1/-1}.guardrail span{display:block;color:var(--muted);margin-bottom:7px}.guardrail b{font-size:16px}.guardrail p{margin:0;color:#d0dbce;line-height:1.48;font-size:12px}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.integrity{padding:16px 18px;color:#b6c2b4;line-height:1.55;font-size:12px}.integrity b{color:var(--green)}.integrity p{margin:5px 0 0}.bvi-stand-icon,.bvi-camera-icon{display:grid!important;place-items:center;border-radius:50%;font-weight:950;box-shadow:0 4px 12px rgba(0,0,0,.45)}.bvi-stand-icon{background:var(--green);color:#07110b;border:3px solid #fff}.bvi-camera-icon{background:var(--orange);color:#130d05;border:2px solid #fff}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.decision-meta{grid-template-columns:repeat(3,1fr)}.action-grid{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr 1fr}.controls .btn{grid-column:1/-1}}
@media(max-width:620px){body{padding-bottom:106px}.shell{padding:0 10px 24px}.topbar{min-height:68px}.brand img{width:38px;height:38px}.hero{padding:19px;border-radius:22px}.hero h1{font-size:40px}.controls{grid-template-columns:1fr;padding:14px}.controls .btn{grid-column:auto}.decision-card{padding:16px}.decision-top{align-items:flex-start}.score-ring{width:94px;min-width:94px}.score-ring span{font-size:29px}.decision-copy h2{font-size:25px}.decision-meta{grid-template-columns:1fr 1fr}.workspace{gap:0}.map-card,.weather-card,.guardrail-card,.actions{padding:14px}.weather-grid,.guardrail-grid,.action-grid{grid-template-columns:1fr}.guardrail.wide{grid-column:auto}#field-map,.map-empty{height:390px}.map-empty{margin-top:-391px}.top-link{font-size:11px}}
