/* Resource Intelligence: view bar + the eight evidence views filled by resource-evidence.js.
   Built on the Baryon design system tokens (assets/baryon.css): Poppins, greyscale ink on paper,
   1px hairlines, 20px cards, pill controls. Chart and map encodings keep their data colours. */
[hidden]{display:none!important}

/* ---- View bar ---- */
.ri-nav{
  display:flex;gap:2px;align-items:center;flex-shrink:0;overflow-x:auto;padding:8px 24px;
  border-bottom:1px solid var(--hair);background:var(--paper);scrollbar-width:none;
}
.ri-nav::-webkit-scrollbar{display:none}
.ri-nav a{
  white-space:nowrap;padding:.55rem .75rem;border-radius:999px;color:var(--graphite);text-decoration:none;
  font:500 .82rem/1 var(--font-sans);transition:background-color 140ms,color 140ms;
}
.ri-nav a:hover{background:var(--surface);color:var(--ink)}
.ri-nav a[aria-current="page"]{background:var(--surface);color:var(--ink);font-weight:600}
.ri-nav .ri-state{margin-left:auto;padding-left:16px;white-space:nowrap;letter-spacing:.12em}
@media (max-width:1400px){
  .ri-nav{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .ri-nav .ri-state{padding-right:24px}
}

/* ---- View frame ---- */
.evidence-view{background:var(--paper);padding:44px clamp(16px,4vw,56px) 56px}
.ev-container{max-width:1180px;margin:0 auto}
.ev-container[role="status"]{color:var(--ink-soft);font-size:.9rem}
.ev-kicker{font:500 .68rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:12px}
.ev-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}
.ev-heading h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin-bottom:14px;text-wrap:balance}
.ev-heading p{font-size:clamp(1rem,1.3vw,1.1rem);font-weight:300;line-height:1.65;color:var(--graphite);max-width:760px}
.ev-badge{
  display:inline-flex;align-items:center;white-space:nowrap;padding:.42rem .8rem;border:1px solid var(--hair-2);
  border-radius:999px;background:var(--paper);color:var(--graphite);font:500 .75rem/1.2 var(--font-sans);
}

/* ---- Metrics (static tiles: surface, no shadow) ---- */
.ev-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.ev-metric{background:var(--surface);border-radius:20px;padding:20px 22px}
.ev-metric strong{display:block;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;font-variant-numeric:tabular-nums}
.ev-metric span{display:block;margin-top:6px;font-size:.78rem;line-height:1.4;color:var(--ink-soft)}

/* ---- Cards ---- */
.ev-card{background:var(--paper);border:1px solid var(--hair);border-radius:20px;margin-bottom:16px;overflow:hidden}
.ev-card-body{padding:24px 26px}
.ev-card h2{font-size:1.15rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;margin-bottom:10px}
.ev-card h3{font-size:.95rem;font-weight:600;letter-spacing:-.005em;margin:18px 0 6px}
.ev-card p,.ev-card li{font-size:.9rem;line-height:1.7;color:var(--graphite)}
.ev-card p+p{margin-top:8px}
.ev-card b,.ev-card strong{font-weight:600;color:var(--ink)}
.ev-card ul{padding-left:18px}
.ev-card li+li{margin-top:4px}
.ev-split{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}

/* ---- Toolbars and controls ---- */
.ev-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--hair)}
.ev-toolbar h2{margin:0}
.ev-toolbar>input{width:280px}
.ev-toolbar>label+.ev-button{margin-right:auto}
.ev-toolbar label{display:inline-flex;align-items:center;gap:10px;font-size:.84rem;font-weight:500;color:var(--ink)}
.evidence-view select,.evidence-view input{
  min-height:2.5rem;max-width:100%;padding:.5rem 1rem;border:1px solid var(--hair-2);border-radius:999px;
  background-color:var(--paper);color:var(--ink);font:400 .88rem var(--font-sans);transition:border-color 140ms;
}
.evidence-view select{
  appearance:none;-webkit-appearance:none;padding-right:2.4rem;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;background-size:1rem;
}
.evidence-view select:hover,.evidence-view input:hover{border-color:color-mix(in srgb,var(--ink) 34%,transparent)}
.evidence-view select:focus-visible,.evidence-view input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.evidence-view select:disabled,.evidence-view input:disabled{opacity:.55;cursor:not-allowed}
.evidence-view input::placeholder{color:var(--ink-soft)}
.ev-button,.ev-table button{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.25rem;padding:.4rem 1rem;
  border:1px solid var(--hair-2);border-radius:999px;background:var(--paper);color:var(--ink);
  font:500 .8rem/1.1 var(--font-sans);white-space:nowrap;cursor:pointer;
  transition:transform 120ms var(--ease-out-soft),background-color 160ms,border-color 160ms;
}
.ev-button:hover,.ev-table button:hover{background:var(--surface);border-color:color-mix(in srgb,var(--ink) 32%,transparent)}
.ev-button:active,.ev-table button:active{transform:scale(.965)}
.ev-button:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--paper)}
.ev-button[aria-pressed=true],.ev-button[aria-pressed=true]:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ev-table button{min-height:2rem;padding:.3rem .85rem;font-size:.76rem}

/* ---- Maps, captions, legends (gradient = data encoding) ---- */
.ev-map{height:460px;width:100%;background:#0b0b0d}
.ev-caption{padding:12px 20px;font-size:.78rem;line-height:1.6;color:var(--ink-soft);border-top:1px solid var(--hair)}
.ev-legend{font:500 .78rem/1.7 var(--font-sans);color:var(--graphite)}
.ev-gradient{display:inline-block;vertical-align:middle;width:96px;height:6px;border-radius:999px;margin:0 8px;background:linear-gradient(90deg,#b5def8,#44b9ba,#ead786,#f28a48,#e45b45)}
.evidence-view .maplibregl-ctrl-group:not(:empty){border-radius:14px;overflow:hidden;background:rgba(255,255,255,.9);box-shadow:var(--shadow-float)}
.evidence-view .maplibregl-popup-content{border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-float)}
.ev-popup{color:var(--ink);font:400 .8rem/1.6 var(--font-sans);white-space:pre-line;max-width:280px}

/* ---- Tables ---- */
.ev-table-wrap{overflow-x:auto}
.ev-table{border-collapse:collapse;width:100%;font-size:.84rem;text-align:left}
.ev-table th{
  padding:12px 16px;background:var(--surface);color:var(--ink-soft);white-space:nowrap;
  font:500 .68rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.12em;
}
.ev-table td{padding:12px 16px;border-top:1px solid var(--hair);vertical-align:top;color:var(--ink)}
.ev-table small{display:block;color:var(--ink-soft);font-size:.75rem;margin-top:3px}
.ev-table tbody tr{transition:background-color 140ms}
.ev-table tbody tr:hover{background:rgba(20,20,20,.025)}

/* ---- Notes, links, text ---- */
.ev-note{padding:14px 18px;background:var(--surface);border-radius:14px;font-size:.84rem;line-height:1.65;color:var(--graphite);margin:16px 0}
.ev-note strong,.ev-note b{color:var(--ink);font-weight:600}
.ev-error{padding:18px 20px;color:#8a2a1f;background:#fdf4f2;border:1px solid rgba(192,57,43,.28);border-radius:14px;font-size:.88rem;line-height:1.6}
.ev-error .ev-button{margin-left:10px}
.evidence-view a{
  color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:var(--hair-2);text-underline-offset:4px;transition:text-decoration-color 160ms;
}
.evidence-view a:hover{text-decoration-color:var(--ink)}
.ev-links{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.84rem;margin-top:14px}
.ev-small{font-size:.78rem!important;line-height:1.6;color:var(--ink-soft)!important}
.ev-json{
  white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;padding:16px;max-height:380px;overflow:auto;
  background:var(--surface);border-radius:12px;color:var(--graphite);font:.75rem/1.6 var(--font-mono);
}
.ev-card details{margin-top:14px;font-size:.84rem}
.ev-card summary{cursor:pointer;color:var(--ink);font-weight:500;width:fit-content}
.ev-card summary:hover{text-decoration:underline;text-decoration-color:var(--hair-2);text-underline-offset:4px}
.ev-footer{margin-top:8px;padding:18px 0 0;border-top:1px solid var(--hair);font-size:.75rem;line-height:1.7;color:var(--ink-soft);overflow-wrap:anywhere}
.ev-footer a{font-weight:500}

/* ---- Model scores (ink = candidate, graphite tint = baseline) ---- */
.ev-score{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:.84rem}
.ev-score span{width:110px;flex-shrink:0;color:var(--graphite)}
.ev-score-track{flex:1;min-width:0}
.ev-score i{display:block;height:14px;border-radius:999px;background:rgba(20,20,20,.16)}
.ev-score i.candidate{background:var(--ink)}
.ev-score b{font-weight:600;font-variant-numeric:tabular-nums}

/* ---- Charts (series colours are data encodings) ---- */
.ev-profile{width:100%;height:460px;display:block}
.ev-profile text,.ev-column-profile text,.ev-structure-profile text{font:11px var(--font-sans);fill:var(--ink-soft)}
.ev-teal{color:#177b74!important}.ev-amber{color:#ad670f!important}
.ev-column-profile{width:100%;display:block}
.ev-chart-scroll{overflow-x:auto}
.ev-structure-profile{width:100%;min-width:620px;display:block}
#view-bedrock .ev-card p,#view-bedrock .ev-card li{overflow-wrap:anywhere}

/* ---- Location form (bedrock) ---- */
.ev-location-form{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:16px 0}
.ev-location-form label{font-size:.84rem;font-weight:500}
.ev-location-form input{display:block;margin-top:6px;width:180px}
.ev-location-form button{min-height:2.5rem}

/* ---- Supply decisions ---- */
.ev-supply-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.ev-preset-row{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 10px}
.ev-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:20px 0}
.ev-input-grid label{font-size:.84rem;font-weight:500;line-height:1.5;min-width:0}
.ev-input-grid label span{font-size:.75rem;color:var(--ink-soft);font-weight:400}
.ev-input-grid input{display:block;width:100%;margin-top:6px;box-sizing:border-box;font-variant-numeric:tabular-nums}
.ev-supply-total{font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:10px 0 16px;font-variant-numeric:tabular-nums}
.ev-supply-total span{font-size:.95rem;letter-spacing:0;font-weight:400;color:var(--graphite)}
.ev-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.ev-flow-step{background:var(--surface);border-radius:16px;padding:16px 18px}
.ev-flow-step span,.ev-flow-step small{display:block;font-size:.75rem;line-height:1.5;color:var(--ink-soft)}
.ev-flow-step strong{display:block;font-size:1.6rem;font-weight:600;letter-spacing:-.025em;margin:8px 0 2px;font-variant-numeric:tabular-nums}
.ev-gate{padding:16px 0;border-top:1px solid var(--hair)}
.ev-gate:first-of-type{margin-top:6px}
.ev-gate .ev-badge{float:right;margin:2px 0 8px 10px}
.ev-gate h3{margin-top:2px}
.ev-investigations{padding-left:20px}
.ev-investigations li{padding:0 0 10px 4px}
.ev-investigations li::marker{color:var(--ink-soft);font-weight:500}

/* ---- Copper flows (bar series colours are data encodings) ---- */
.ev-flow-terms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}
.ev-flow-terms>div{background:var(--surface);border-radius:16px;padding:16px}
.ev-flow-terms span,.ev-flow-totals span{display:block;font-size:.75rem;line-height:1.45;color:var(--ink-soft)}
.ev-flow-terms strong{display:block;font:600 1.3rem/1.6 var(--font-sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.ev-flow-terms small{color:var(--ink-soft);font-size:.72rem}
.ev-flow-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--hair);padding:20px 0}
.ev-flow-totals strong{display:block;font-size:1.6rem;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.ev-flow-chart{margin:18px 0}
.ev-flow-month{
  width:100%;display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center;text-align:left;
  padding:8px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);
  font:400 .82rem/1.3 var(--font-sans);cursor:pointer;transition:background-color 140ms,border-color 140ms;
}
.ev-flow-month:hover{background:var(--surface)}
.ev-flow-month[aria-pressed=true]{background:var(--surface);border-color:var(--hair-2)}
.ev-flow-bars{display:block;padding-right:65px}
.ev-flow-bar-row{position:relative;display:flex;gap:8px;align-items:center;margin:3px 0;height:15px}
.ev-flow-bar-row i{height:10px;display:block;background:#177b74;flex-shrink:0;border-radius:0 3px 3px 0}
.ev-flow-bar-row i.use{background:#ad670f}
.ev-flow-bar-row small{font-size:.72rem;color:var(--graphite);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---- Responsive ---- */
@media (max-width:850px){
  .ev-flow-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev-flow-totals{grid-template-columns:1fr}
  .ev-flow-month{grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:.76rem}
  .ev-flow-terms strong{font-size:1.15rem}
}
@media (max-width:800px){
  .ri-nav{padding:7px 12px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .ri-nav .ri-state{display:none}
  .evidence-view{padding-top:28px;padding-bottom:40px}
  .ev-heading{display:block;margin-bottom:24px}
  .ev-badge{margin-top:14px}
  .ev-metrics{grid-template-columns:repeat(2,1fr);gap:8px}
  .ev-metric{padding:16px 18px;border-radius:18px}
  .ev-metric strong{font-size:1.25rem}
  .ev-split,.ev-supply-grid{grid-template-columns:1fr}
  .ev-card-body{padding:20px}
  .ev-toolbar{padding:14px 16px}
  .ev-toolbar label{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%}
  .ev-toolbar label select,.ev-toolbar>input{width:100%}
  .ev-map{height:340px}
  .ev-flow{grid-template-columns:1fr 1fr}
  .ev-flow-step strong{font-size:1.3rem}
  .ev-input-grid{gap:12px}
  .ev-gate .ev-badge{float:none;margin:0 0 6px}
}
@media (max-width:520px){.ev-input-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
