/* Layout: one working chat window (the piece that drops into an iframe) with a slide-in Delegation Designer, styled after the LAS WORX PLAN page: navy title bars, palette blocks, a grid canvas. Light only, like WORX. */
:root {
  color-scheme: light;
  --bg:#ffffff; --canvas:#f5f8fc; --grid:#e3eaf3; --surface:#ffffff; --surface-2:#f6f8fb; --ink:#1b2430; --muted:#5f6b7a; --line:#c6d0dc;
  --navy:#1f3d64; --navy-2:#3d5f8f; --navy-ink:#ffffff; --accent:#2f6db3; --focus:#4ea9ff; --gold:#e8b931;
  --block:#dcd8ef; --block-ink:#1b2430; --block-line:#26344d; --blue:#d4e6f7; --green:#e3f1df; --green-line:#8fc28a; --green-ink:#2f6a2a;
  --tm:#e5e0f3; --tm-ink:#4a3e7a; --tc:#d3e6fb; --tc-ink:#1c4d84; --ti:#fbf0c4; --ti-ink:#6a5310; --tp:#dbf1de; --tp-ink:#1f6a33;
  --ok:#2d7b4e; --ok-bg:#e1f3e8; --warn:#9a6200; --warn-bg:#fdf1d8; --bad:#b03a2e; --bad-bg:#fbe4e1;
  --oil:#1f3d64; --path:#1f3d64; --band:#fbf0c4; --top:#c9a227; --base:#8a6c1c; --adv:#c0392b; --gr:#2f6f3e;
  --body:Arial,"Helvetica Neue",Helvetica,sans-serif; --mono:Menlo,Consolas,"Courier New",monospace;
}
* { box-sizing:border-box; }
html, body { height:100%; }
body { background:var(--bg); color:var(--ink); font-family:var(--body); font-size:15px; line-height:1.45; }
button, select, input, textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.page { max-width:1100px; margin:0 auto; padding-inline:16px; padding-block:18px 28px; display:grid; gap:16px; }

/* Brief, in the PLAN page's language */
.brief { display:grid; gap:12px; }
.topbar { display:flex; align-items:center; gap:18px; background:var(--navy); color:var(--navy-ink); border-radius:6px; padding:10px 16px; flex-wrap:wrap; }
.topbar b { font-size:20px; font-weight:700; letter-spacing:.02em; }
.topbar .tabs { display:flex; gap:16px; font-weight:700; font-size:14px; letter-spacing:.04em; }
.topbar .tabs span { opacity:.75; }
.topbar .tabs .on { opacity:1; color:var(--gold); border-bottom:2px solid var(--gold); padding-bottom:2px; }
.topbar .pre { margin-left:auto; font-size:12px; opacity:.8; letter-spacing:.06em; text-transform:uppercase; }
.lede { margin:0; max-width:72ch; font-size:16px; }
.points { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.point { background:var(--blue); border:1.5px solid var(--block-line); border-radius:8px; padding:10px 12px; min-width:0; }
.point b { display:block; font-size:15px; margin-bottom:3px; color:var(--block-ink); }
.point span { color:var(--ink); font-size:13.5px; }
.note { font-size:13px; color:var(--muted); }
.hero { background:var(--canvas); background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size:22px 22px; border:1px solid var(--line); border-radius:8px; padding:10px 12px; overflow-x:auto; }
.hero svg { display:block; width:100%; min-width:700px; height:auto; }
@media (max-width:760px) { .points { grid-template-columns:1fr; } }

/* Chat window, built like a WORX tool card */
.aw { position:relative; display:flex; flex-direction:column; height:min(760px, 82vh); min-height:520px; background:var(--surface); border:1.5px solid var(--block-line); border-radius:8px; overflow:hidden; }
.aw-head { display:flex; align-items:center; gap:10px; padding:8px 12px; background:var(--navy); color:var(--navy-ink); flex-wrap:wrap; }
.mark { width:42px; height:38px; border-radius:6px; background:var(--gold); color:var(--navy); display:grid; place-items:center; font-weight:800; font-size:15px; flex:none; }
.orchestrator-label { display:grid; gap:1px; min-width:0; flex:1; font-size:10px; font-weight:700; letter-spacing:.08em; }
.orchestrator-label select { width:min(100%,190px); background:var(--surface); color:var(--ink); border:0; border-radius:4px; padding:2px 5px; font-size:12px; letter-spacing:0; font-weight:400; }
.sessions-label { min-width:0; }
.sessions-label select { width:105px; max-width:100%; border:1px solid rgba(255,255,255,.55); border-radius:6px; background:var(--navy); color:var(--navy-ink); padding:5px 4px; font-size:12px; }
.aw-title { display:flex; flex-direction:column; min-width:0; flex:1; }
.aw-title b { font-size:16px; line-height:1.15; letter-spacing:.04em; text-transform:uppercase; }
.aw-title label { font-size:12px; opacity:.9; display:flex; gap:6px; align-items:center; }
.aw-title select { background:var(--surface); color:var(--ink); border:0; border-radius:4px; padding:1px 4px; font-size:12px; max-width:190px; }
.hbtn { border:1px solid rgba(255,255,255,.55); background:transparent; color:var(--navy-ink); border-radius:6px; padding:5px 10px; font-size:13px; font-weight:700; display:flex; align-items:center; gap:6px; }
.hbtn:hover { background:rgba(255,255,255,.12); }
.hbtn svg { width:16px; height:16px; }
.aw-log { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; background:var(--canvas); background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size:22px 22px; }
.aw-log > * { flex-shrink:0; }
.msg { max-width:min(100%, 640px); min-width:0; }
.msg.user { align-self:flex-end; background:var(--navy-2); color:var(--navy-ink); padding:9px 13px; border-radius:8px; font-weight:600; }
.bot { align-self:flex-start; background:var(--surface); border:1.5px solid var(--block-line); border-radius:8px; padding:10px 12px; width:min(100%, 660px); }
.who { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px; margin-bottom:6px; flex-wrap:wrap; }
.who b { color:var(--navy); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.chip { display:inline-flex; align-items:center; gap:4px; border-radius:999px; padding:1px 8px; font-size:12px; font-weight:700; white-space:nowrap; }
.t-measured { background:var(--tm); color:var(--tm-ink); font-weight:400; text-transform:none; } .t-computed { background:var(--tc); color:var(--tc-ink); font-weight:400; text-transform:none; }
.t-interpreted { background:var(--ti); color:var(--ti-ink); font-weight:400; text-transform:none; } .t-predicted { background:var(--tp); color:var(--tp-ink); font-weight:400; text-transform:none; }
.plan ol { margin:4px 0 0; padding-left:20px; display:grid; gap:5px; }
.plan li.done { color:var(--muted); }
.plan li.done::marker { color:var(--ok); }
.bot.step { padding:0; overflow:hidden; }
.step-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:var(--navy); color:var(--navy-ink); padding:7px 12px; }
.step-head b { font-size:13.5px; text-transform:uppercase; letter-spacing:.05em; }
.status { margin-left:auto; font-size:12px; font-weight:700; border-radius:999px; padding:2px 9px; display:inline-flex; align-items:center; gap:6px; }
.s-run { background:var(--tc); color:var(--tc-ink); } .s-done { background:var(--ok-bg); color:var(--ok); }
.s-wait { background:var(--warn-bg); color:var(--warn); } .s-stop { background:var(--bad-bg); color:var(--bad); } .s-off { background:var(--surface-2); color:var(--muted); }
.dot { width:7px; height:7px; border-radius:50%; background:currentColor; animation:pulse 1s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.25; } }
.does { color:var(--muted); font-size:13.5px; margin:0; padding:9px 12px 0; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.does .plug { background:var(--green); border:1px solid var(--green-line); color:var(--green-ink); border-radius:4px; padding:2px 10px; font-size:13px; }
.step .out { padding:0 12px 12px; }
.nums { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:8px 16px; margin-top:10px; }
.num { border-top:1px solid var(--line); padding-top:6px; min-width:0; }
.num .lab { font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.num .val { font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.gate { margin-top:10px; background:var(--ti); border:1px solid var(--top); border-radius:6px; padding:10px 12px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.gate p { margin:0; flex:1; min-width:200px; font-size:14px; }
.btn { border-radius:6px; padding:6px 14px; font-weight:700; font-size:14px; border:1.5px solid var(--navy-2); background:var(--surface); color:var(--navy); }
.btn.primary { background:var(--navy-2); color:var(--navy-ink); }
.btn:disabled { opacity:.5; cursor:default; }
.blocked { margin-top:10px; border:1px dashed var(--muted); border-radius:6px; padding:10px 12px; font-size:14px; color:var(--muted); }
.chart { margin-top:12px; overflow-x:auto; }
.chart svg { display:block; width:100%; min-width:330px; height:auto; }
.chart .cap { font-size:12px; color:var(--muted); margin-top:4px; }
.answer p { margin:0; }
.cites { margin-top:8px; display:flex; gap:6px; flex-wrap:wrap; }
.cites span { font-family:var(--mono); font-size:11.5px; color:var(--muted); background:var(--surface-2); border:1px solid var(--line); border-radius:4px; padding:1px 6px; }
.suggest { display:flex; flex-wrap:wrap; gap:8px; padding:10px 14px 0; background:var(--surface); border-top:1.5px solid var(--block-line); }
.sug { border:1.5px solid var(--block-line); background:var(--block); color:var(--block-ink); border-radius:6px; padding:5px 11px; font-size:13.5px; font-weight:700; text-align:left; }
.sug:hover { background:var(--blue); }
.sug:disabled { opacity:.55; cursor:default; }
.aw-input { display:flex; gap:8px; padding:10px 14px 12px; background:var(--surface); }
.aw-input textarea { flex:1; min-width:0; resize:none; height:44px; border:1px solid var(--line); border-radius:6px; padding:10px 12px; background:var(--surface-2); }
.send { border:0; background:var(--navy-2); color:var(--navy-ink); border-radius:6px; padding:0 18px; font-weight:700; }
.send:disabled { opacity:.5; cursor:default; }
.foot { font-size:11.5px; color:var(--muted); padding:0 14px 10px; background:var(--surface); }
/* 14.20: the wells selected in WORX, one quiet line over the question box. */
.worx-context { font-size:12px; color:var(--muted); padding:8px 14px 0; background:var(--surface); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.worx-context[hidden] { display:none; }
html.embed .worx-context { flex:0 0 auto; }
@media print { .worx-context { display:none !important; } }

/* Designer */
.designer { position:absolute; inset:0 0 0 auto; width:min(440px, 100%); background:var(--surface); border-left:1.5px solid var(--block-line); box-shadow:-12px 0 30px -20px rgba(19,36,58,.5); display:flex; flex-direction:column; transform:translateX(102%); transition:transform .25s ease; z-index:3; }
.designer.open { transform:none; }
.designer:not(.open) { display:none; }
.d-head { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--navy); color:var(--navy-ink); }
.d-head b { font-size:15px; flex:1; text-transform:uppercase; letter-spacing:.05em; }
.d-head .btn { background:transparent; color:var(--navy-ink); border-color:rgba(255,255,255,.6); }
.d-body { overflow-y:auto; padding:12px 14px 18px; display:grid; gap:16px; }
.d-sec h3 { margin:0 0 6px; font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.d-hint { margin:0 0 8px; font-size:12px; color:var(--muted); }
.field { display:grid; gap:4px; font-size:13px; }
.field select, .field input, .field textarea { border:1px solid var(--line); border-radius:6px; padding:6px 8px; background:var(--surface-2); }
.d-note { font-size:12.5px; color:var(--muted); margin:4px 0 0; }
.role { border:1.5px solid var(--block-line); border-radius:8px; padding:10px 12px; display:grid; gap:6px; background:var(--block); }
.role-top { display:flex; align-items:center; gap:10px; }
.role-top b { flex:1; }
.role p { margin:0; font-size:13px; color:var(--ink); }
.role-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:13px; }
.role-row select { border:1px solid var(--line); border-radius:6px; padding:3px 6px; background:var(--surface); }
.plugs { display:flex; gap:5px; flex-wrap:wrap; }
.plugs span { font-size:12px; border:1px solid var(--green-line); border-radius:4px; padding:1px 6px; background:var(--green); color:var(--green-ink); }
.plugs .empty { background:var(--surface-2); border-color:var(--line); color:var(--muted); }
.ro { font-size:11.5px; color:var(--muted); }
.switch { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ink); }
.addform { display:grid; gap:10px; margin-top:10px; border:1px dashed var(--block-line); border-radius:8px; padding:10px 12px; }
#addrole { margin-top:10px; }
.addform[hidden] { display:none; }
.cat { width:100%; border-collapse:collapse; font-size:13px; }
.cat td { border-top:1px solid var(--line); padding:6px 4px; vertical-align:top; }
.cat td:last-child { text-align:right; white-space:nowrap; }
.st-ok { color:var(--ok); font-weight:700; } .st-wait { color:var(--warn); font-weight:700; } .st-off { color:var(--muted); font-weight:700; }

/* Embedded: the chat window alone fills the frame */
html.embed .brief { display:none; }
html.embed .page { max-width:none; padding:0; height:100%; }
html.embed .aw { height:100%; min-height:0; border:0; border-radius:0; }
@media (prefers-reduced-motion: reduce) { .dot { animation:none; } .designer { transition:none; } }
@media (max-width:520px) { .aw-log { padding:12px; } .hbtn span { display:none; } .suggest { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; } .sug { white-space:nowrap; flex:none; } }
body { margin:0; }
.controls { display:flex; gap:8px 14px; flex-wrap:wrap; padding:8px 12px; border-bottom:1px solid var(--line); background:var(--surface); }
.controls label { display:grid; gap:2px; font-size:12px; color:var(--muted); min-width:110px; }
.controls select,.controls input { min-height:32px; max-width:180px; border:1px solid var(--line); border-radius:5px; background:var(--surface-2); padding:4px 6px; color:var(--ink); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.route-line { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.chip { background:var(--blue); color:var(--navy); border:1px solid var(--navy-2); }
.origin { background:var(--tc); color:var(--tc-ink); border-color:var(--tc-ink); font-weight:400; }
.run-id { font-family:var(--mono); font-size:11px; overflow-wrap:anywhere; color:var(--muted); }
.turn { display:grid; gap:10px; }
.turn > .bot,.turn > .msg { flex-shrink:0; }
.turn .msg.user { justify-self:end; }
.step .out p { margin:6px 0 0; }
.status.s-run { background:var(--tc); color:var(--tc-ink); }
.status.s-done { background:var(--ok-bg); color:var(--ok); }
.status.s-wait { background:var(--warn-bg); color:var(--warn); }
.status.s-stop { background:var(--bad-bg); color:var(--bad); }
.status.s-off { background:var(--surface-2); color:var(--muted); }
.bot.chart-card { width:min(100%,740px); }
.chart-caption { color:var(--muted); font-size:12px; display:flex; gap:5px; flex-wrap:wrap; }
.error-card { border-color:var(--bad); color:var(--bad); }
.role { margin-top:8px; }
.role .field { margin-top:5px; }
.role-row button { font-size:12px; padding:3px 8px; }
.login { position:fixed; inset:0; display:grid; place-items:center; background:var(--canvas); z-index:5; padding:20px; }
.login[hidden] { display:none; }
.login form { display:grid; gap:14px; width:min(100%,360px); background:white; border:1.5px solid var(--block-line); border-radius:8px; padding:24px; }
.login h1,.login p { margin:0; }
.login label { display:grid; gap:5px; }
.login input { border:1px solid var(--line); padding:8px; border-radius:5px; }
@media (max-width:620px) { .controls label { flex:1 1 42%; } .controls select,.controls input { max-width:none; width:100%; } }

/* Live page: let each full chart expand the document instead of clipping it. */
.aw { height:auto; min-height:0; overflow:visible; }
.aw-log { flex:none; overflow:visible; display:block; padding:16px; }
.turn { width:100%; margin-bottom:18px; }
.turn + .turn { border-top:1px solid var(--line); padding-top:18px; }
.turn > .msg.user { max-width:min(100%,740px); }
.turn > .bot, .step-list { width:min(100%,740px); }
.turn .chart-card { width:min(100%,740px); }
.chart { margin-top:8px; }
.chart svg { min-width:0; height:auto; max-height:none; }
.chart-card > p { margin:3px 0 0; color:var(--muted); font-size:13px; }
.chart-caption { margin-top:6px; align-items:center; }
.route-line { width:min(100%,740px); font-size:12px; color:var(--muted); }
.route-line > b { color:var(--navy); text-transform:uppercase; letter-spacing:.04em; }
.route-reason { flex-basis:100%; }
.step-list { border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.step-list > summary { cursor:pointer; color:var(--navy); font-weight:700; padding:7px 12px; font-size:13px; }
.step-items { display:grid; gap:6px; padding:0 8px 8px; }
.step-items .bot.step { width:100%; }
.step-items .step-head { background:var(--surface-2); color:var(--ink); padding:5px 9px; }
.step-items .step-head b { text-transform:none; letter-spacing:0; }
.step-items .step.compact .step-head { gap:8px; }
.step-items .step.compact .status { margin-left:0; }
.step-items .step.compact .run-id { margin-left:auto; }
.step-items .out { padding:0 9px 8px; }
.step-items .does { padding:5px 0 0; }
.run-id { display:inline-block; background:var(--surface-2); border:1px solid var(--line); border-radius:4px; padding:1px 6px; white-space:normal; }
.series-controls { display:flex; flex-wrap:nowrap; gap:5px; margin:6px 0; overflow-x:auto; }
.series-key { display:inline-flex; align-items:center; gap:4px; padding:3px 5px; font-size:11px; white-space:nowrap; }
.series-key i { display:inline-block; width:12px; height:3px; border-radius:2px; }
.chart-key { display:flex; flex-wrap:wrap; gap:4px 14px; margin:6px 0; font-size:12px; font-weight:600; color:var(--ink); }
.key-item { display:inline-flex; align-items:center; gap:6px; min-width:0; overflow-wrap:anywhere; }
.key-item i { flex:none; display:inline-block; width:16px; height:3px; border-radius:2px; background:var(--key); }
.key-item i.key-dashed { height:0; background:none; border-top:3px dotted var(--key); border-radius:0; }
.key-item i.key-dots { width:8px; height:8px; border-radius:50%; }
.key-item i.key-band { height:10px; background:#fbf0c4; border:1px solid var(--key); border-radius:1px; }
.series-toggle { flex:none; border:1px solid var(--navy-2); background:var(--surface); border-radius:4px; font-size:12px; padding:3px 7px; white-space:nowrap; }
.series-toggle[aria-pressed="true"] { background:var(--blue); }
.hero svg { min-width:700px; }
html.embed .aw { min-height:100%; height:auto; }
html.embed .aw-log { overflow:visible; }
html.embed .hero { display:none; }
@media (max-width:760px) { .hero { overflow-x:auto; } }

/* 14.11: the chat box fills its frame, like an agent in an iframe. The conversation scrolls between a
   compact header and the question box, which stay in view. Role and well pickers are left out: the
   router reads the role and the well from the question. */
html.embed, html.embed body { height:100%; margin:0; overflow:hidden; }
html.embed .page { max-width:none; margin:0; padding:0; height:100%; }
html.embed .aw { display:flex; flex-direction:column; height:100%; min-height:0; border:0; border-radius:0; }
html.embed .aw-log { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
html.embed .controls { display:none; }
html.embed .controls label { font-size:12px; }
html.embed .controls label:has(#role), html.embed .controls label:has(#wellsearch), html.embed .controls label:has(#well) { display:none; }
html.embed .suggest { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; }
html.embed .suggest > * { flex:0 0 auto; }
html.embed .aw-head, html.embed .controls, html.embed .suggest, html.embed .aw-input, html.embed .foot { flex:0 0 auto; }
/* 14.11: narrow frames (an agent column is often 360 to 480 px). Nothing may push the frame wider. */
html.embed .aw, html.embed .aw-log, html.embed .turn, html.embed .bot, html.embed .msg { max-width:100%; min-width:0; box-sizing:border-box; }
html.embed .aw, html.embed .aw-log { width:100%; overflow-x:hidden; }
html.embed .chart { overflow-x:auto; }
html.embed .chart svg { min-width:0; }
html.embed .aw-head { flex-wrap:nowrap; min-width:0; }
@media (max-width:560px) { html.embed .hbtn span { display:none; } html.embed .sessions-label select { width:82px; } html.embed .hbtn { padding:5px 7px; } }
@media (max-width:380px) {
  html.embed .aw-head { gap:5px; padding-inline:8px; }
  html.embed .orchestrator-label { grid-template-columns:minmax(0,1fr); }
  html.embed .orchestrator-label select { min-width:0; max-width:90px; }
  html.embed .sessions-label select { width:70px; }
}

/* 14.19: chart cards in the Oct 7 preview's manner. The drawing names its own marks, one quiet caption under it. */
.chart-card > p.chart-note { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.chart-card .chart-key { font-weight:400; color:var(--muted); gap:4px 12px; margin:6px 0 0; }
.key-item i.key-line { height:2px; }
.key-item i.key-band { background:var(--fill, #fbf0c4); }
.key-item i.key-ring { width:8px; height:8px; border-radius:50%; background:none; border:1.5px solid var(--key); }
.map-key { margin:6px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:3px 12px; font-size:12px; color:var(--ink); }
.map-key b { display:inline-grid; place-items:center; width:16px; height:16px; margin-right:6px; border-radius:50%; background:#c0392b; color:#fff; font-size:9.5px; }
.map-key span { color:var(--muted); font-size:11px; }
.chart-card .series-controls { margin:4px 0 0; flex-wrap:wrap; }
.chart-card .series-toggle { font-size:11px; padding:2px 7px; border-color:var(--line); color:var(--muted); }
.chart-card .chart-caption { margin-top:4px; }
.chart-card .chart-caption .origin { font-size:11px; padding:0 6px; }
.run-more { font-size:11px; color:var(--muted); }

.hbtn:disabled { opacity:.5; cursor:default; }
.hbtn:disabled:hover { background:transparent; }
.print-title { display:none; }

@media print {
  @page { margin:15mm; }
  html, html.embed, html.embed body, body { height:auto; overflow:visible; background:#fff; color:#1b2430; }
  .page, html.embed .page { display:block; width:100%; max-width:none; height:auto; margin:0; padding:0; }
  .aw, html.embed .aw { display:block; width:100%; height:auto; min-height:0; overflow:visible; border:0; box-shadow:none; }
  .brief, .aw-head, .controls, .suggest, .aw-input, .foot, .designer, .login,
  .step-list, .route-line, .series-controls, button { display:none !important; }
  .aw-log, html.embed .aw-log { display:block; width:100%; height:auto; overflow:visible; padding:0; background:#fff; background-image:none; }
  .print-title { display:block; margin:0 0 18px; padding-bottom:8px; border-bottom:1px solid #a8b1bd; font-size:18px; line-height:1.3; color:#1b2430; }
  .turn, html.embed .turn { display:block; width:100%; margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid #d0d5dd; break-inside:auto; }
  .turn > .msg, .turn > .bot, .turn .chart-card, .bot.chart-card, .step-list { width:100%; max-width:none; }
  .msg.user, .bot, .chart-card, .nums, .chart { break-inside:avoid; page-break-inside:avoid; }
  .msg.user { display:block; margin:0 0 12px; background:#fff; color:#1b2430; border:0; border-left:3px solid #1f3d64; border-radius:0; padding:4px 10px; }
  .bot { margin:0 0 12px; border:1px solid #c6d0dc; box-shadow:none; background:#fff; color:#1b2430; }
  .chart, html.embed .chart { width:100%; overflow:visible; }
  .chart svg, html.embed .chart svg { display:block; width:100%; min-width:0; max-width:100%; height:auto; }
  .chart-note, .chart-caption, .cites, .run-id, .run-more, .who, .who b { color:#303a46; }
  .chip.origin { background:#fff; color:#1b2430; border:1px solid #777; }
}

/* 14.23: the geosteering report. A row of header numbers, the drawings, and what the data says under them. */
.chart-card .gs-numbers { display:grid; grid-template-columns:repeat(auto-fit, minmax(104px, 1fr)); gap:10px 14px; margin:8px 0 10px; }
.chart-card .gs-num b { display:block; font-size:22px; line-height:1.15; color:var(--ink); font-variant-numeric:tabular-nums; }
.chart-card .gs-num.gs-lead b { color:#2f6f3e; }
.chart-card .gs-num span { display:block; font-size:11.5px; line-height:1.35; color:var(--muted); }
.chart-card .gs-head { margin:12px 0 4px; font-weight:600; font-size:13px; color:var(--ink); }
.chart-card p.gs-note { margin:2px 0 8px; font-size:12.5px; line-height:1.45; color:var(--ink); }
.chart-card .chart > svg + svg { margin-top:6px; }
.chart-card .chart > svg.gs-small { display:block; max-width:440px; }
html.embed .chart-card .gs-num b { font-size:19px; }
