/* oilapi.net: the Prices, Markets and Data pages and their sub-pages. */

.mp { padding-bottom: 72px; }
.mp-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #FBFAF7 0%, var(--page) 100%); border-bottom: 1px solid var(--line); }
.mp-mesh { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 48px 48px; opacity: .35; }
.mp-mesh svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.drift { fill: none; stroke-width: 1.4; stroke-dasharray: 6 10; animation: drift 26s linear infinite; }
.drift.a { stroke: var(--champagne); opacity: .55; }
.drift.b { stroke: var(--slate); opacity: .35; animation-duration: 34s; }
@keyframes drift { to { stroke-dashoffset: -480; } }
.mp-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: center; max-width: 1240px; margin: 0 auto; padding: 44px 28px 48px; }
.hero-kw { margin: 0; font-size: 13px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--brass); }
.hero-title { display: block; margin-top: 14px; font-size: 38px; line-height: 1.18; font-weight: 300; color: var(--midnight); letter-spacing: -.015em; }
.hero-title em { font-style: normal; color: var(--brass); font-variant-numeric: tabular-nums; }
.sub { margin: 14px 0 0; max-width: 620px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.facts > span { display: flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); font-size: 13px; white-space: nowrap; }
.live { width: 7px; height: 7px; border-radius: 50%; background: var(--up); animation: ping 2s infinite; }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(127, 181, 154, .6); } 70%, 100% { box-shadow: 0 0 0 7px rgba(127, 181, 154, 0); } }
.dotc { width: 7px; height: 7px; border-radius: 50%; background: var(--champagne); }

.board { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 10px 28px rgba(14, 26, 43, .06); overflow: hidden; }
.board-head { display: flex; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); }
.pulse { color: #2F6B4F; }
.board-cols { display: grid; grid-template-columns: 1fr 1fr; }
.board-cols > div { padding: 10px 16px 12px; }
.board-cols > div + div { border-left: 1px solid var(--line); }
.bh { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.board ol { list-style: none; margin: 0; padding: 0; }
.board ol li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; font-size: 13.5px; border-top: 1px solid var(--line); animation: fade .6s ease; }
.board ol li:first-child { border-top: 0; }
.board ol a { color: var(--ink); }
.board ol a:hover { color: var(--brass); }
.board ol li span:last-child { font-variant-numeric: tabular-nums; color: var(--midnight); }
@keyframes fade { from { opacity: 0; transform: translateY(-6px); } }
.draw { display: block; width: 100%; height: 190px; }
.draw polyline { stroke-dasharray: 2000; stroke-dashoffset: 2000; animation: line 3.2s ease forwards; }
@keyframes line { to { stroke-dashoffset: 0; } }
.board-foot { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.board-foot span { padding: 10px 16px; font-size: 12px; color: var(--muted); }
.board-foot i { display: block; font-style: normal; font-size: 15px; color: var(--midnight); }
.runs { list-style: none; margin: 0; padding: 0; max-height: 252px; overflow: hidden; }
.runs li { display: grid; grid-template-columns: 1fr auto 64px; gap: 10px; align-items: center; padding: 9px 16px; border-bottom: 1px solid var(--line); font-size: 13px; animation: fade .6s ease; }
.runs .when { color: var(--slate); font-size: 12px; text-align: right; font-variant-numeric: tabular-nums; }

.subnav { position: sticky; top: 104px; z-index: 10; background: var(--card); border-bottom: 1px solid var(--line); }
.subnav-in { display: grid; grid-template-columns: repeat(5, max-content); gap: 4px; max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.subnav a { display: flex; align-items: center; justify-content: center; min-width: 150px; height: 46px; font-size: 13.5px; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.subnav a.on { color: var(--midnight); border-bottom-color: var(--champagne); }
.subnav a:hover { color: var(--brass); }

.mp-sec { max-width: 1240px; margin: 0 auto; padding: 40px 28px 0; }
.mp-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1240px; margin: 0 auto; }
.mp-two .mp-sec { max-width: none; margin: 0; width: 100%; }
.mp-two .mp-sec + .mp-sec { padding-left: 0; }
.sec-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; min-height: 34px; }
.sec-head h2 { margin: 0; font-size: 20px; font-weight: 400; color: var(--midnight); }
.hint { font-size: 13px; color: var(--muted); }
a.hint { color: var(--brass); }
.ctrl { display: flex; gap: 10px; }
.seg { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 3px; }
.seg button { min-width: 88px; height: 28px; padding: 0 12px; font: inherit; font-size: 13px; color: var(--muted); background: none; border: 0; border-radius: 7px; cursor: pointer; white-space: nowrap; }
.seg button.on { background: var(--page); color: var(--midnight); box-shadow: inset 0 0 0 1px var(--line); }
.find, .pick { height: 36px; min-width: 200px; padding: 0 12px; font: inherit; font-size: 13px; color: var(--ink); background: var(--card); border: 1px solid var(--line); border-radius: var(--r); }
.find:focus, .pick:focus { outline: none; border-color: var(--champagne); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); }

.tbl-wrap { overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tbl th { background: var(--card); text-align: left; font-weight: 400; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); padding: 11px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tbl th[data-sort] { cursor: pointer; }
.tbl tr[hidden] { display: none; }
.tbl th[data-sort]:hover, .tbl th.sorted { color: var(--brass); }
.tbl td { padding: 9px 10px; border-top: 1px solid var(--line); white-space: nowrap; }
.tbl tbody tr:first-child td { border-top: 0; }
.tbl tbody tr:hover { background: #FBFAF7; }
.tbl .r { text-align: right; font-variant-numeric: tabular-nums; }
.tbl .c { text-align: center; }
.tbl .sp { width: 110px; }
.tbl td svg { width: 96px; height: 24px; display: block; }
.tbl .cn { display: flex; align-items: center; gap: 10px; color: var(--midnight); }
.code2 { font-size: 10.5px; letter-spacing: .06em; color: var(--deep); background: var(--page); border: 1px solid var(--line); border-radius: 6px; width: 30px; text-align: center; padding: 2px 0; flex: none; }
.tbl .px { color: var(--midnight); }
.tbl .actcol { width: 184px; }
.tbl .actcol div { display: grid; grid-template-columns: 80px 80px; gap: 8px; justify-content: end; }
.tbl .actcol a, .tbl .actcol button { height: 30px; font: inherit; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: var(--r); font-size: 12.5px; color: var(--ink); }
.tbl .actcol a:hover, .tbl .actcol button:hover { border-color: var(--champagne); color: var(--brass); }
.chips { display: flex; gap: 4px; }
.chip { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11.5px; background: #EEF1F5; color: var(--deep); }
.chip.live { width: auto; height: auto; animation: none; background: #E4F1EA; color: #2F6B4F; }
.chip.set { background: #F6EEDC; color: #8A6A33; }
.up { color: #4F8F72; }
.dn { color: #B07A6C; }
.tick { display: inline-block; width: 14px; height: 14px; background: no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%237FB59A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.none { display: inline-block; width: 10px; height: 1px; background: var(--line); vertical-align: middle; }
.tfoot { margin: 10px 2px 0; font-size: 12.5px; color: var(--slate); }
.depth-h { width: 260px; }
.axis { display: flex; justify-content: space-between; margin-top: 4px; letter-spacing: 0; text-transform: none; font-size: 10.5px; }
.axis i { font-style: normal; }
.depth { position: relative; height: 8px; border-radius: 4px; background: #F1EDE4; width: 240px; }
.depth i { position: absolute; top: 0; bottom: 0; right: 0; border-radius: 4px; background: var(--champagne); }

.regions { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.region { display: grid; grid-template-rows: auto auto 1fr auto; gap: 6px; padding: 16px; min-height: 168px; }
.region .t { color: var(--midnight); }
.region .big { font-size: 24px; font-weight: 300; color: var(--midnight); font-variant-numeric: tabular-nums; }
.region .d { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.region .lo { font-size: 12.5px; padding-top: 10px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; }

.chart { padding: 16px 18px 12px; }
.chart svg { width: 100%; height: 260px; display: block; }
.chart-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 8px; }
.chart-meta span { font-size: 12.5px; color: var(--muted); }
.chart-meta i { display: block; font-style: normal; font-size: 18px; color: var(--midnight); font-variant-numeric: tabular-nums; }
.chart-foot { margin-top: 6px; font-size: 12px; color: var(--slate); }
.stack { padding: 18px; display: grid; gap: 12px; }
.srow { display: grid; grid-template-columns: 120px 1fr 64px; gap: 12px; align-items: center; font-size: 13px; }
.sbar { display: flex; height: 18px; border-radius: 5px; overflow: hidden; background: #F1EDE4; }
.sbar i { display: block; height: 100%; }
.sbar .k1 { background: var(--deep); }
.sbar .k2 { background: var(--champagne); }
.legend { display: flex; gap: 16px; font-size: 12px; color: var(--muted); }
.legend span { display: flex; align-items: center; gap: 6px; }
.legend i { width: 10px; height: 10px; border-radius: 3px; display: block; }
.legend .k1 { background: var(--deep); }
.legend .k2 { background: var(--champagne); }
.srow a { color: var(--ink); }
.srow a:hover { color: var(--brass); }
.empty { display: flex; align-items: center; gap: 12px; padding: 22px; font-size: 14px; color: var(--muted); }
.empty a, .mp .sub a { color: var(--brass); }
.tbl a.cn:hover { color: var(--brass); }
.bars { padding: 18px 18px 10px; }
.bars svg { width: 100%; height: 220px; display: block; }
.tbl.compact td { padding: 9px 14px; }

.band { display: grid; grid-template-columns: 1fr 1.2fr 220px; gap: 24px; align-items: center; padding: 22px; }
.band .t { display: block; font-size: 17px; color: var(--midnight); }
.band .d { display: block; margin-top: 6px; font-size: 13.5px; color: var(--muted); line-height: 1.55; }
.band pre.code { margin: 0; padding: 14px 16px; overflow-x: auto; background: #0E1A2B; color: #DCE3EC; border-radius: var(--r); font: 12.5px/1.6 ui-monospace, Consolas, Menlo, monospace; }
.band-acts { display: grid; gap: 10px; }
.band-acts .btn { height: 42px; }

.faq2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.faq2 details { border-top: 1px solid var(--line); padding: 13px 0; }
.faq2 summary { cursor: pointer; color: var(--midnight); font-size: 14.5px; }
.faq2 p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

@media (max-width: 1100px) {
  .mp-in { grid-template-columns: 1fr; }
  .regions { grid-template-columns: repeat(3, 1fr); }
  .band { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .mp-in, .mp-sec { padding-left: 16px; padding-right: 16px; }
  .mp-two { grid-template-columns: minmax(0, 1fr); }
  .mp-two .mp-sec + .mp-sec { padding-left: 16px; }
  .hero-title { font-size: 28px; }
  .subnav { top: 56px; }
  .subnav-in { overflow-x: auto; padding: 0 16px; }
  .subnav a { min-width: 0; padding: 0 12px; }
  .sec-head { flex-wrap: wrap; }
  .ctrl { flex-wrap: wrap; width: 100%; }
  .seg { width: 100%; overflow-x: auto; }
  .seg button { min-width: 0; }
  .find, .pick { width: 100%; }
  .regions { grid-template-columns: 1fr 1fr; }
  .faq2 { grid-template-columns: 1fr; }
  .chart-meta { grid-template-columns: 1fr 1fr; }
  .mp-two .card { overflow-x: auto; }
  .srow { grid-template-columns: 90px 1fr 56px; }
}
