/*
 * Blue Prysm reading-pattern blocks — front and editor styles.
 * Ported from the approved prototype (docs/04-design/prototypes/claims-and-receipts.html).
 * Tokens are declared here too so the plugin renders correctly independent of the theme.
 */
:root{
  --ground:#F6F5F2; --surface:#FFFFFF; --surface-2:#FBFAF8;
  --ink:#12141A; --ink-2:#565B66; --ink-3:#5F6472;
  --rule:#DCDAD3; --rule-2:#C9C6BD;
  --accent:#005DD6; --accent-live:#005DD6; --accent-soft:rgba(0,93,214,.10);
  --filed:#1E3A6E; --calc:#005DD6; --reported:#8A6100; --judge:#565B66;
  --focus:#1E3A6E;
  --serif:"Instrument Sans",system-ui,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}

/* ---------- depth bar (WEB-025) ---------- */
.blueprysm-depthbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.blueprysm-depthbar .in{max-width:70rem;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.blueprysm-depthbar .mark{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.blueprysm-depthbar .readout{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--ink-3);min-width:13ch}
.blueprysm-depthbar .seg{display:flex;gap:2px;background:var(--surface-2);padding:3px;border-radius:7px;margin-left:auto}
.blueprysm-depthbar .seg button{font-family:var(--serif);font-size:var(--fs-xs);font-weight:500;color:var(--ink-2);background:none;border:0;padding:6px 11px;border-radius:5px;cursor:pointer;transition:background .15s,color .15s}
.blueprysm-depthbar .seg button:hover{color:var(--ink)}
.blueprysm-depthbar .seg button[aria-pressed="true"]{background:var(--accent);color:#F6F5F2;font-weight:600}

/* ---------- evidence tags (WEB-024) ---------- */
.tag{font-family:var(--mono);font-size:var(--fs-3xs);letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink-3)}
.tag::before{content:"";width:10px;height:3px;border-radius:2px;background:currentColor;flex:none}
.tag.filed{color:var(--filed)}
.tag.calc{color:var(--calc)}
.tag.reported{color:var(--reported)}
.tag.judge{color:var(--judge)}
.tag.judge::before{background:none;box-shadow:inset 0 0 0 1.5px currentColor;height:8px;width:8px;border-radius:50%}

/* ---------- claim (WEB-021) ---------- */
.claim{position:relative;padding-block:44px;border-bottom:1px solid var(--rule);scroll-margin-top:84px}
.claim-head{display:flex;gap:12px;align-items:baseline;margin-bottom:14px;flex-wrap:wrap}
.claim-n{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--ink-3);letter-spacing:.06em}
.claim-txt{font-family:var(--serif);font-weight:400;font-size:clamp(1.42rem,3.3vw,1.86rem);line-height:1.26;letter-spacing:-.008em;margin:0;text-wrap:balance;max-width:34rem;color:var(--ink)}
.claim-txt em{font-style:italic}
.claim .d2 p{color:var(--ink-2);max-width:38rem}
.claim .d2 strong{color:var(--ink);font-weight:600}

/* ---------- receipts (WEB-022) ---------- */
.receipt-figure{position:relative}
.num{font-family:var(--mono);font-size:.93em;font-weight:500;color:var(--ink);background:var(--accent-soft);border:0;border-bottom:1px solid var(--accent-live);padding:1px 4px 0;border-radius:3px 3px 0 0;cursor:pointer;line-height:inherit;font-variant-numeric:tabular-nums;transition:background .15s}
.num:hover,.num[aria-expanded="true"]{background:var(--accent-live);color:#F6F5F2}
.num::after{content:"·";margin-left:5px;opacity:.6;font-weight:700}
.receipt{display:block;background:var(--surface);border:1px solid var(--rule);border-left:2px solid var(--accent-live);border-radius:0 6px 6px 0;padding:14px 16px;margin:8px 0 18px;max-width:38rem}
.receipt dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:var(--fs-xs)}
.receipt dt{font-family:var(--mono);font-size:var(--fs-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.receipt dd{margin:0;font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-2);line-height:1.55;word-break:break-word}
.receipt dd.plain{font-family:var(--serif);font-size:var(--fs-xs)}
.receipt .val{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
@media (max-width:520px){.receipt dl{grid-template-columns:1fr;gap:2px}.receipt dt{padding-top:8px}}

/* ---------- drawer (WEB-025 / WEB-027) ---------- */
.drawer-btn{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);background:none;border:1px solid var(--rule-2);border-radius:999px;padding:6px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,color .15s,background .15s}
.drawer-btn:hover{border-color:var(--accent-live);color:var(--accent);background:var(--surface)}
.drawer-btn .chev{display:inline-block;transition:transform .18s}
.drawer-btn[aria-expanded="true"] .chev{transform:rotate(90deg)}
.drawer-wrap{margin-top:20px}
.drawer{margin-top:14px;padding:22px;background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:42rem}
.drawer h3{font-family:var(--mono);font-size:var(--fs-3xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 12px}
.drawer p{font-size:var(--fs-sm);color:var(--ink-2);margin:0 0 14px}
.drawer p:last-child{margin-bottom:0}

/* ---------- depth machinery (WEB-027: hidden is presentational, still in DOM) ---------- */
[data-depth="1"] .d2,[data-depth="1"] .d3{display:none}
[data-depth="2"] .d3{display:none}
[data-depth="1"] .claim{padding-block:30px}

/* ---------- editor affordances ---------- */
.blueprysm-editor-receipt{border:1px dashed var(--rule-2);padding:12px;border-radius:6px}
.blueprysm-receipt-warn{color:#8A6100;font-family:var(--mono);font-size:var(--fs-xs);margin:8px 0 0}
.blueprysm-receipt-ok{color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);margin:8px 0 0}
.blueprysm-editor-drawer{border:1px dashed var(--rule-2)}
