:root{--env-ink:var(--theme-text);--env-deep:var(--theme-header);--env-blue:var(--theme-primary);--env-cyan:var(--theme-secondary);--env-amber:var(--theme-accent);--env-coral:var(--theme-danger);--env-moss:var(--theme-danger);--env-pale:var(--theme-subtle);--env-line:var(--theme-line);--env-muted:var(--theme-muted);--env-paper:var(--theme-page)}
*{box-sizing:border-box}
body{background:linear-gradient(180deg,var(--theme-subtle) 0,var(--theme-subtle) 32rem);color:var(--env-ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.environment-header{background:linear-gradient(112deg,var(--theme-header),var(--theme-header) 58%,var(--theme-header));color:var(--theme-inverse);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem max(4vw,2rem);position:relative;overflow:hidden}
.environment-header:after{content:"";position:absolute;right:-8rem;top:-12rem;width:34rem;height:30rem;border:1px solid color-mix(in srgb,var(--theme-line) 23.92%,transparent);border-radius:48% 52% 44% 56%;box-shadow:0 0 0 2.2rem color-mix(in srgb,var(--theme-shadow-colour) 4.31%,transparent),0 0 0 4.4rem color-mix(in srgb,var(--theme-shadow-colour) 4.31%,transparent),0 0 0 6.6rem color-mix(in srgb,var(--theme-shadow-colour) 4.31%,transparent);transform:rotate(-12deg)}
.environment-brand{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.environment-brand p{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--theme-muted);margin:0 0 .25rem}.environment-brand h1{font:750 clamp(1.65rem,3vw,2.45rem)/1.05 "Segoe UI",system-ui,sans-serif;max-width:43rem;margin:0;color:var(--theme-inverse);letter-spacing:-.025em}
.contour-mark{width:3.8rem;height:3.8rem;border:1px solid color-mix(in srgb,var(--theme-line) 20.78%,transparent);border-radius:50%;position:relative;background:color-mix(in srgb,var(--theme-panel) 5.1%,transparent);overflow:hidden;flex:none}.contour-mark i{position:absolute;border:2px solid var(--env-cyan);border-radius:50%;inset:.55rem}.contour-mark i:nth-child(2){inset:1rem;border-color:var(--theme-line)}.contour-mark i:nth-child(3){inset:1.45rem;border-color:var(--theme-line)}
.module-nav{display:flex;align-items:center;justify-content:flex-end;gap:.28rem;flex-wrap:wrap;position:relative;z-index:1}.module-nav a{color:var(--theme-text);text-decoration:none;padding:.62rem .68rem;border-radius:.5rem;font-weight:750;font-size:.88rem}.module-nav a:hover,.module-nav a:focus-visible{background:color-mix(in srgb,var(--theme-panel) 9.41%,transparent)}.export-button{background:var(--env-amber)!important;color:var(--theme-text)!important;border-color:transparent!important;margin-left:.35rem}
.environment-controls{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--theme-subtle) 94.9%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--env-line);padding:.82rem max(4vw,2rem)}
.filter-grid{display:grid;grid-template-columns:minmax(15rem,1.45fr) repeat(4,minmax(9rem,1fr));gap:.62rem}.filter-grid label{font-size:.875rem;font-weight:800;color:var(--theme-muted)}.filter-grid input,.filter-grid select{width:100%;display:block;margin-top:.28rem;min-height:2.75rem;border:1px solid var(--theme-line);background:var(--theme-panel);border-radius:.55rem;padding:.55rem .7rem;color:var(--env-ink);font:700 .9rem/1.2 system-ui,sans-serif}.filter-grid .button{align-self:end;min-height:2.75rem}.scope-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.scope-row span{background:var(--theme-subtle);color:var(--theme-text);border-radius:999px;padding:.32rem .65rem;font-size:.78rem;font-weight:800}
.environment-main{width:min(1500px,94vw);margin:1.4rem auto 3rem;display:grid;gap:1rem}.environment-main>*,.territory-layout>*,.risk-layout>*,.split-grid>*,.matrix-layout>*{min-width:0}.panel{min-width:0;background:var(--env-paper);border:1px solid var(--env-line);box-shadow:0 .7rem 2.2rem color-mix(in srgb,var(--theme-shadow-colour) 3.92%,transparent);border-radius:.9rem;padding:1.15rem}
.intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(23rem,1fr) auto;align-items:center;gap:1.25rem;border-top:.32rem solid var(--env-cyan)}.section-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--theme-text);font-size:.76rem;font-weight:900;margin:0 0 .35rem}.intro h2,.panel-heading h2{font:760 clamp(1.35rem,2vw,1.9rem)/1.15 "Segoe UI",system-ui,sans-serif;letter-spacing:-.02em;margin:0}.intro p:not(.section-kicker){color:var(--env-muted);line-height:1.6;margin:.45rem 0 0}.source-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.source-lanes span{border:1px solid var(--env-line);background:var(--theme-panel);border-radius:.65rem;padding:.68rem;font-size:.78rem;font-weight:750}.source-lanes b{display:block;color:var(--env-blue);font-size:.9rem;margin-bottom:.2rem}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.kpi-grid article{background:var(--theme-panel);border:1px solid var(--env-line);border-left:.25rem solid var(--env-blue);border-radius:.72rem;padding:.78rem;min-height:7rem}.kpi-grid article:nth-child(3n+2){border-left-color:var(--env-amber)}.kpi-grid article:nth-child(3n){border-left-color:var(--env-coral)}.kpi-grid small{display:block;color:var(--env-muted);font-size:.78rem;line-height:1.35}.kpi-grid strong{display:block;font-size:1.45rem;line-height:1.08;margin:.52rem 0 .4rem;color:var(--env-deep);overflow-wrap:anywhere}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.panel-heading>span{font-size:.78rem;font-weight:850;color:var(--env-blue);background:var(--theme-subtle);border-radius:999px;padding:.38rem .65rem;white-space:nowrap}.panel-note{color:var(--env-muted);font-size:.9rem;line-height:1.55;margin:.4rem 0 1rem}
.territory-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(22rem,.72fr);gap:1rem;align-items:start}.segmented{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}.segmented button{border:1px solid var(--env-line);background:var(--theme-panel);color:var(--theme-text);border-radius:999px;padding:.5rem .72rem;font-weight:800;font-size:.8rem}.segmented button.active{background:var(--env-deep);border-color:var(--env-deep);color:var(--theme-inverse)}.map-legend{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--env-muted);margin:.35rem 0 .7rem}.map-legend i{height:.5rem;min-width:10rem;border-radius:1rem;background:linear-gradient(90deg,var(--theme-subtle),var(--theme-primary),var(--theme-primary))}.district-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.district-tile{background:var(--tile);color:var(--tile-ink);border:0;border-radius:.58rem;min-height:6.1rem;padding:.62rem;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.district-tile strong{font-size:.79rem;overflow-wrap:anywhere}.district-tile span{font-size:1.28rem;font-weight:850}.district-tile small{font-size:.72rem;line-height:1.3}.village-detail{position:sticky;top:9.5rem;max-height:calc(100vh - 10.5rem);overflow:auto}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.detail-head h2{font-size:1.6rem;line-height:1.15;margin:0}.detail-head small{color:var(--env-muted)}.detail-score{font-size:1.7rem;color:var(--env-blue);font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:1rem 0}.detail-stat{background:var(--env-pale);border-radius:.55rem;padding:.65rem}.detail-stat small,.trace-field small{display:block;font-size:.75rem;color:var(--env-muted);margin-bottom:.18rem}.detail-stat strong{font-size:.88rem}.detail-section{padding-top:.82rem;margin-top:.82rem;border-top:1px solid var(--env-line)}.detail-section h3{font-size:.95rem;margin:0 0 .55rem}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.tag{padding:.32rem .55rem;border-radius:999px;background:var(--theme-subtle);color:var(--theme-text);font-size:.75rem;font-weight:780;border:0}.tag.warn{background:var(--theme-warning-soft);color:var(--theme-warning)}.tag.risk{background:var(--theme-subtle);color:var(--theme-text)}.reason-list{margin:.35rem 0 0;padding-left:1.1rem;color:var(--theme-text);font-size:.85rem;line-height:1.5}.detail-rule{border:1px solid var(--env-line);border-radius:.55rem;margin:.4rem 0;background:var(--theme-panel)}.detail-rule summary{padding:.65rem;cursor:pointer;font-size:.82rem;font-weight:800}.trace-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.65rem;border-top:1px solid var(--env-line)}.trace-field{background:var(--theme-subtle);border-radius:.48rem;padding:.55rem}.trace-field strong{font-size:.78rem;line-height:1.4;display:block}.priority-label{display:inline-block;background:var(--env-deep);color:var(--theme-inverse);border-radius:.42rem;padding:.38rem .52rem;font-size:.8rem;font-weight:800}
.structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.structure-card{border:1px solid var(--env-line);border-radius:.72rem;background:var(--theme-panel);overflow:hidden}.structure-card>header{background:var(--env-deep);color:var(--theme-inverse);padding:.8rem;display:flex;justify-content:space-between;gap:.8rem}.structure-card>header span{font-size:.75rem;color:var(--theme-text)}.structure-card details{border-top:1px solid var(--env-line)}.structure-card summary{padding:.75rem;cursor:pointer;font-weight:800;font-size:.86rem}.structure-card details>.panel-note{padding:0 .75rem}.leaf-line{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;border-top:1px dashed var(--theme-line);padding:.7rem .75rem}.leaf-line strong{font-size:.8rem}.leaf-line small{display:block;color:var(--env-muted);font-size:.75rem;margin-top:.22rem}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:1rem}.theme-card{border:1px solid var(--env-line);background:linear-gradient(145deg,var(--theme-panel),var(--theme-subtle));border-radius:.68rem;padding:.75rem}.theme-card strong{font-size:1.42rem;display:block}.theme-card small{font-size:.8rem;color:var(--env-muted)}.split-grid{display:grid;grid-template-columns:minmax(18rem,.55fr) minmax(0,1.45fr);gap:1rem}.split-grid.wide-left{grid-template-columns:minmax(20rem,.72fr) minmax(0,1.28fr)}.split-grid h3,.risk-layout h3,.matrix-layout h3{font-size:.95rem;margin:.6rem 0}.compact-list{display:grid;gap:.4rem;max-height:25rem;overflow:auto}.compact-list button,.compact-list .compact-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;width:100%;text-align:left;border:1px solid var(--env-line);background:var(--theme-panel);border-radius:.5rem;padding:.56rem .65rem;color:var(--env-ink)}.compact-list button strong,.compact-row strong{font-size:.82rem}.compact-list button span,.compact-row span{font-size:.75rem;color:var(--env-muted)}.compact-list.tall{max-height:31rem}.table-shell{overflow:auto;border:1px solid var(--env-line);border-radius:.65rem;background:var(--theme-panel);max-height:31rem}td button{border:0;background:transparent;color:var(--env-blue);font-weight:850;text-align:left;padding:0}
.risk-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.risk-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.48rem}.risk-chip{border:1px solid var(--env-line);border-top:.22rem solid var(--env-coral);border-radius:.58rem;background:var(--theme-panel);padding:.65rem}.risk-chip strong{display:block;font-size:1.24rem}.risk-chip small{font-size:.75rem;color:var(--env-muted)}.intersection-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.intersection-card{background:var(--theme-subtle);border-left:.25rem solid var(--env-amber);border-radius:.55rem;padding:.72rem}.intersection-card strong{display:block;font-size:1.3rem}.intersection-card small{font-size:.78rem;color:var(--env-muted)}
.priority-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem}.priority-card{border:1px solid var(--env-line);border-top:.25rem solid var(--priority-color);border-radius:.62rem;padding:.68rem;background:var(--theme-panel)}.priority-card strong{display:block;font-size:1.3rem}.priority-card small{font-size:.75rem;color:var(--env-muted)}.matrix-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,.62fr);gap:1rem}.scatter{width:100%;height:auto;background:var(--theme-panel);border:1px solid var(--env-line);border-radius:.72rem}.scatter text{font:12px system-ui;fill:var(--theme-primary)}.scatter .axis{stroke:var(--theme-primary)}.scatter .cut{stroke:var(--theme-primary);stroke-dasharray:6 6}.scatter circle{fill:var(--theme-primary);opacity:.62;stroke:var(--theme-line);stroke-width:1}.scatter circle.review{fill:var(--theme-primary)}.cross-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.cross-card{border:1px solid var(--env-line);background:var(--theme-panel);border-radius:.68rem;padding:.8rem}.cross-card h3{font-size:.96rem;margin:0 0 .35rem}.cross-card strong{font-size:1.45rem;color:var(--env-blue)}.cross-card p{font-size:.82rem;color:var(--env-muted);line-height:1.5;margin:.35rem 0}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.recommendation-card{border:1px solid var(--env-line);border-radius:.68rem;background:var(--theme-panel);padding:.82rem}.recommendation-card h3{font-size:.92rem;margin:0 0 .35rem}.recommendation-card>p{font-size:.8rem;color:var(--env-muted)}.recommendation-card dl{display:grid;grid-template-columns:6.8rem 1fr;gap:.35rem .5rem;font-size:.76rem;margin:.65rem 0 0}.recommendation-card dt{color:var(--env-muted)}.recommendation-card dd{margin:0;font-weight:700}.source-pill{display:inline-block;padding:.24rem .42rem;border-radius:999px;background:var(--theme-subtle);color:var(--theme-muted);font-size:.72rem;font-weight:800}.source-pill.issue{background:var(--theme-subtle);color:var(--theme-muted)}.source-pill.official{background:var(--theme-success-soft);color:var(--theme-success)}
dialog{width:min(800px,92vw);border:0;border-radius:.9rem;padding:0;box-shadow:0 2rem 5rem color-mix(in srgb,var(--theme-shadow-colour) 56.47%,transparent);color:var(--env-ink)}dialog::backdrop{background:color-mix(in srgb,var(--theme-overlay) 66.67%,transparent);backdrop-filter:blur(4px)}dialog form{padding:1.2rem}dialog header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--env-line);padding-bottom:.8rem}.icon-button{border:0;background:var(--theme-subtle);border-radius:50%;width:2.2rem;height:2.2rem;font-size:1.25rem}.method-content{display:grid;gap:.65rem;margin:1rem 0}.method-block{background:var(--theme-subtle);border-radius:.6rem;padding:.75rem}.method-block h3{font-size:.9rem;margin:0 0 .35rem}.method-block p{font-size:.82rem;color:var(--env-muted);line-height:1.5;margin:0}.toast{position:fixed;right:1rem;bottom:1rem;background:var(--env-deep);color:var(--theme-inverse);padding:.75rem 1rem;border-radius:.55rem;opacity:0;transform:translateY(1rem);pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 4vw;background:var(--env-deep);color:var(--theme-text);font-size:.78rem}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.district-tiles{grid-template-columns:repeat(5,1fr)}.filter-grid{grid-template-columns:repeat(4,1fr)}.search-wide{grid-column:span 2}.theme-grid{grid-template-columns:repeat(3,1fr)}.priority-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.environment-header{align-items:flex-start;flex-direction:column}.module-nav{justify-content:flex-start}.intro,.territory-layout,.risk-layout,.matrix-layout,.split-grid,.split-grid.wide-left{grid-template-columns:1fr}.source-lanes{grid-template-columns:repeat(3,1fr)}.village-detail{position:static;max-height:none}.structure-grid{grid-template-columns:1fr}.recommendation-grid,.cross-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.district-tiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){body{font-size:16px}.environment-header,.environment-controls{padding-left:1rem;padding-right:1rem}.environment-brand{align-items:flex-start}.contour-mark{width:3rem;height:3rem}.environment-brand h1{font-size:1.55rem}.module-nav a{padding:.5rem;font-size:.82rem}.module-nav .export-button{width:100%;margin:.3rem 0 0}.environment-controls{position:static}.filter-grid{grid-template-columns:1fr}.search-wide{grid-column:auto}.environment-main{width:calc(100% - 1.2rem);margin-top:.7rem;overflow-x:clip}.intro{grid-template-columns:1fr}.source-lanes{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-grid,.risk-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-grid,.cross-grid{grid-template-columns:minmax(0,1fr)}.priority-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.intersection-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:.85rem}.panel-heading{flex-direction:column}.panel-heading>*,.territory-layout,.territory-panel,.map-legend,.trace-grid,.trace-field,.leaf-line,.leaf-line>*,.recommendation-grid,.recommendation-card,.recommendation-card dd{min-width:0;max-width:100%;overflow-wrap:anywhere}.map-legend{flex-wrap:wrap}.map-legend i{min-width:7rem;flex:1}.trace-grid{grid-template-columns:minmax(0,1fr)}.leaf-line{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.recommendation-card dl{grid-template-columns:minmax(0,1fr)}footer{flex-direction:column}.table-shell{max-width:100%}}
@media(min-width:1201px){.priority-summary{grid-template-columns:repeat(6,minmax(0,1fr))}}
