/* Native interactive evidence storyboard; artwork never contains the data. */
#evidence-change .ekr-story-frame { display:block; }
#evidence-change .ekr-story-art { width:auto; margin:20px 18px 0; border-radius:10px; overflow:hidden; }
#evidence-change .ekr-story-art:has(.ezs-theatre)+.ekr-diagram-zoom { display:none; }
#evidence-change .ekr-story-ledger { grid-template-columns:repeat(3,minmax(0,1fr)); border-left:0; border-top:1px solid #d7e2c7; margin-top:20px; padding:20px 24px 14px; background:#f6f9ed; }
#evidence-change .ekr-story-ledger button { min-height:90px; }
#evidence-change .ekr-story-inspection { border-left:0; padding:4px 26px 24px; background:#f6f9ed; }
#evidence-change .ekr-story-inspection b { font-size:13px; }
#evidence-change .ekr-story-inspection p { max-width:90ch; margin-bottom:0; }
.ezs-theatre { --ezs-accent:#a8d8b3; --ezs-ink:#2b7049; container-type:inline-size; position:relative; isolation:isolate; color:#e9f1e2; background:radial-gradient(ellipse at 40% 33%,#2d5945,#123a30 52%,#092b24); overflow:hidden; font-family:Inter,Arial,sans-serif; }
.ezs-theatre[data-tone=abstain] { --ezs-accent:#ebc78e; --ezs-ink:#98652e; }
.ezs-theatre[data-tone=block] { --ezs-accent:#efaa92; --ezs-ink:#a14834; }
.ezs-theatre * { box-sizing:border-box; }
.ezs-meta { display:flex; justify-content:space-between; gap:15px; margin:0 26px; padding:18px 0; border-bottom:1px solid #b3cdb426; color:#b5cbb7; font:500 9px/1.5 Consolas,monospace; letter-spacing:.08em; }
.ezs-stage-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 28px 0; }
.ezs-stage-caption>span { color:#d1e2c9; font:500 12px/1.5 Inter,sans-serif; }
.ezs-stage-caption>b { background:#062c2480; border:1px solid #a6c1a73d; border-radius:4px; color:var(--ezs-accent); padding:7px 12px; font:600 13px/1.4 Consolas,monospace; white-space:nowrap; }
.ezs-objects { position:relative; display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr; align-items:center; gap:12px; padding:32px 28px 24px; min-height:430px; }
.ezs-objects:before { content:''; position:absolute; z-index:-1; inset:62% -10% -80%; pointer-events:none; background:linear-gradient(#a3c6ad12 1px,transparent 1px),linear-gradient(90deg,#a3c6ad12 1px,transparent 1px); background-size:37px 37px; transform:perspective(400px) rotateX(66deg); transform-origin:center top; mask-image:linear-gradient(transparent,#000 25%,transparent 62%); }
.ezs-station { min-width:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; position:relative; padding-top:33px; }
.ezs-station-label { position:absolute; top:0; left:0; width:100%; text-align:center; color:#b8cfb5; font:600 9px/1.5 Consolas,monospace; letter-spacing:.07em; }
.ezs-object { position:relative; display:flex; flex-direction:column; align-items:center; width:100%; background:transparent; border:1px solid transparent; border-radius:8px; padding:6px; color:inherit; font:inherit; cursor:pointer; transition:background .2s,border-color .2s; }
.ezs-object:hover { background:#b7d7a90a; border-color:#a9c19c55; }
.ezs-object[aria-pressed=true] { border-color:#c9b17c77; background:#a6c39509; }
.ezs-object:focus-visible { outline:3px solid #e8ad66; outline-offset:4px; }
.ezs-object-caption { display:block; color:#d8e6ce; font:500 12px/1.5 Inter,sans-serif; margin-top:15px; text-align:center; }
.ezs-object-caption>span { color:#abc6a8; margin-left:4px; }
.ezs-source { width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:285px; }
.ezs-version { display:flex; align-items:center; gap:13px; border:1px solid #b4cfb442; border-radius:5px; padding:7px 10px; color:#b8cfb5; font:600 11px/1.4 Consolas,monospace; }
.ezs-version>b { color:var(--ezs-accent); font-size:17px; }
.ezs-source img { display:block; width:100%; height:205px; object-fit:contain; filter:drop-shadow(0 17px 15px #001c1760); transition:filter .3s; }
.ezs-source-state { color:var(--ezs-accent); font:550 12px/1.5 Inter,sans-serif; padding:4px 8px; }
.ezs-theatre[data-story-scene="1"] .ezs-version { animation:ezs-source-change 1.1s ease-out; }
.ezs-connector { position:relative; display:flex; align-items:center; color:var(--ezs-accent); padding-top:10px; }
.ezs-connector i { width:100%; height:1px; background:#9abe9e6e; }
.ezs-connector b { position:absolute; left:0; font:400 23px/1 Consolas,monospace; animation:ezs-travel 1.3s ease-out both; }
.ezs-connector.is-held b { animation:none; left:7px; padding:3px; background:#173f31; font-size:18px; }
.ezs-approval-stack { position:relative; display:block; width:100%; max-width:285px; }
.ezs-historical { display:none; }
.ezs-approval-stack.has-history .ezs-historical { display:block; position:absolute; inset:-9px 8px 4px -6px; border:1px solid #9cac8a; background:#d4ddc5; border-radius:4px; transform:rotate(-4deg); font:500 6px/1.5 Consolas,monospace; color:#60765a; text-align:right; padding:5px 9px; }
.ezs-approval { display:flex; position:relative; flex-direction:column; text-align:left; background:#f8faef; color:#2d563b; border:1px solid #d7e4c9; border-radius:6px; padding:17px 15px 14px; box-shadow:6px 13px 23px #001e1960; }
.ezs-document-head { display:flex; align-items:center; gap:7px; color:#58835e; font:600 9px/1.4 Consolas,monospace; letter-spacing:.04em; border-bottom:1px solid #cfddc4; padding-bottom:12px; }
.ezs-document-head i { flex:none; width:5px; height:5px; border-radius:50%; background:#579268; box-shadow:0 0 0 3px #82ad6a18; }
.ezs-approval-id { font:550 25px/1.3 Inter,sans-serif; letter-spacing:-.04em; margin:17px 0 9px; }
.ezs-document-fields,.ezs-receipt-fields { display:flex; flex-direction:column; }
.ezs-document-fields>span,.ezs-receipt-fields>span { display:flex; justify-content:space-between; align-items:baseline; gap:13px; border-bottom:1px solid #d1ddc7; padding:10px 0; font:500 9px/1.5 Consolas,monospace; color:#708669; }
.ezs-document-fields b,.ezs-receipt-fields b { font-size:10px; text-align:right; color:#2a5337; max-width:57%; }
.ezs-stamp { display:flex; flex-direction:column; align-items:center; align-self:flex-end; gap:3px; border:3px double currentColor; padding:7px 13px; color:var(--ezs-ink); transform:rotate(-7deg); margin:22px 0 15px; box-shadow:inset 0 0 0 1px currentColor; }
.ezs-stamp strong { font:700 22px/1.1 Consolas,monospace; letter-spacing:.04em; }
.ezs-stamp small { font:600 5px/1.4 Consolas,monospace; letter-spacing:.045em; }
.ezs-document-foot { padding-top:12px; border-top:1px dashed #c4d2b6; color:#778d70; font:600 6px/1.5 Consolas,monospace; letter-spacing:.03em; text-align:center; }
.ezs-gate { position:relative; width:100%; height:273px; display:block; }
.ezs-gate img { position:relative; display:block; width:100%; height:100%; object-fit:contain; }
.ezs-gate-glow { position:absolute; inset:25% 27% 13%; background:var(--ezs-accent); opacity:.15; filter:blur(15px); }
.ezs-gate-signal { position:absolute; left:50%; top:52%; transform:translate(-50%,-50%); color:var(--ezs-accent); font:500 39px/1 Consolas,monospace; text-shadow:0 0 18px #eac58e44; }
.ezs-runtime-state { color:var(--ezs-accent); font:550 12px/1.5 Inter,sans-serif; }
.ezs-receipt { display:flex; position:relative; flex-direction:column; width:100%; max-width:270px; padding:20px 16px 18px; background:#fafbef; color:#2d563b; border:1px solid #d3dec6; border-radius:3px 3px 0 0; box-shadow:5px 13px 24px #001d1766; transform:rotate(2deg); text-align:left; }
.ezs-receipt:after { content:''; position:absolute; top:100%; left:-1px; right:-1px; height:9px; background:linear-gradient(135deg,#fafbef 6px,transparent 0) 0 0/12px 12px,linear-gradient(225deg,#fafbef 6px,transparent 0) 0 0/12px 12px; }
.ezs-receipt-fields { margin-top:12px; }
.ezs-final-stamp { animation:ezs-stamp .5s .25s cubic-bezier(.16,1,.3,1) both; }
.ezs-receipt-limit { text-align:center; color:#6a8262; font:600 7px/1.7 Consolas,monospace; letter-spacing:.05em; border-block:1px dashed #c6d4b9; padding:9px 0; }
.ezs-barcode { display:block; height:12px; margin-top:11px; opacity:.6; background:repeating-linear-gradient(90deg,#5a7251 0 1px,transparent 1px 4px,#5a7251 4px 6px,transparent 6px 9px,#5a7251 9px 10px,transparent 10px 14px); }
.ezs-receipt-object .ezs-object-caption { margin-top:24px; }
.ezs-change { position:relative; display:grid; grid-template-columns:40px 1fr auto; gap:18px; align-items:center; border-top:1px solid #a6c29e30; background:#0628206b; padding:24px 28px; }
.ezs-change-number { font:400 28px/1 Consolas,monospace; color:var(--ezs-accent); opacity:.75; }
.ezs-change>div>span { color:var(--ezs-accent); font:600 8px/1.5 Consolas,monospace; letter-spacing:.1em; }
.ezs-change h4 { font:550 16px/1.5 Inter,sans-serif; letter-spacing:-.02em; color:#e4efdd; margin:6px 0; }
.ezs-change p { font:400 12px/1.8 Inter,sans-serif; color:#b9cdb6; margin:0; max-width:80ch; }
.ezs-change .ezs-explain { display:block; width:auto; white-space:nowrap; border:1px solid #adc5a450; padding:10px 14px; font:550 11px/1.5 Inter,sans-serif; color:#e1edda; background:#28513e66; }
@keyframes ezs-source-change { 0%{box-shadow:0 0 0 0 #ebc78e70}100%{box-shadow:0 0 0 15px #ebc78e00} }
@keyframes ezs-travel { from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(8px)} }
@keyframes ezs-stamp { from{opacity:0;scale:1.25;filter:blur(1px)}to{opacity:1;scale:1;filter:blur(0)} }
@container(max-width:750px) {
  .ezs-objects { padding:28px 16px 22px; gap:7px; grid-template-columns:1fr 15px 1fr 15px 1fr; }
  .ezs-station-label { font-size:7px; }
  .ezs-source img { height:160px; }
  .ezs-source { min-height:250px; }
  .ezs-approval { padding:13px 10px; }
  .ezs-approval-id { font-size:22px; }
  .ezs-document-head { font-size:7px; }
  .ezs-document-fields>span,.ezs-receipt-fields>span { font-size:8px; gap:7px; }
  .ezs-document-fields b,.ezs-receipt-fields b { font-size:9px; }
  .ezs-gate { height:238px; }
  .ezs-runtime-state,.ezs-source-state,.ezs-object-caption { font-size:10px; }
  .ezs-stamp { padding:6px 9px; }
  .ezs-stamp strong { font-size:20px; }
  .ezs-receipt { padding:16px 11px; }
  .ezs-change { grid-template-columns:30px 1fr; padding:20px; }
  .ezs-change .ezs-explain { grid-column:2; justify-self:start; }
}
@container(max-width:530px) {
  .ezs-meta { margin-inline:16px; font-size:7px; }
  .ezs-meta>span { max-width:47%; }
  .ezs-meta>span:last-child { text-align:right; }
  .ezs-stage-caption { padding:18px 17px 0; flex-wrap:wrap; gap:9px; }
  .ezs-stage-caption>span { font-size:12px; }
  .ezs-stage-caption>b { font-size:12px; }
  .ezs-objects { grid-template-columns:1fr; padding:25px 24px; gap:20px; }
  .ezs-station { width:100%; max-width:330px; justify-self:center; padding-top:29px; }
  .ezs-station-label { font-size:9px; }
  .ezs-source { min-height:0; display:grid; grid-template-columns:1fr 1.3fr; column-gap:10px; width:100%; }
  .ezs-source img { grid-column:2; grid-row:1/3; width:100%; height:150px; }
  .ezs-source-state { grid-column:1; font-size:12px; }
  .ezs-version { justify-content:center; font-size:10px; padding:7px; gap:9px; }
  .ezs-connector { justify-self:center; width:1px; height:24px; padding:0; }
  .ezs-connector i { width:1px; height:24px; }
  .ezs-connector b { transform:rotate(90deg); left:-8px; animation:none; }
  .ezs-connector.is-held b { left:-10px; top:0; transform:rotate(90deg); }
  .ezs-approval { padding:19px 18px; }
  .ezs-document-head { font-size:9px; }
  .ezs-approval-id { font-size:28px; }
  .ezs-document-fields>span,.ezs-receipt-fields>span { font-size:10px; }
  .ezs-document-fields b,.ezs-receipt-fields b { font-size:11px; }
  .ezs-stamp strong { font-size:25px; }
  .ezs-stamp small { font-size:6px; }
  .ezs-document-foot { font-size:7px; }
  .ezs-gate { height:245px; }
  .ezs-runtime-state,.ezs-object-caption { font-size:12px; }
  .ezs-receipt { padding:22px 20px; }
  .ezs-receipt-limit { font-size:8px; }
  .ezs-change { grid-template-columns:1fr; gap:10px; padding:22px; }
  .ezs-change-number { display:none; }
  .ezs-change .ezs-explain { grid-column:1; }
}
@media(max-width:650px) {
  #evidence-change .ekr-story-art { margin:12px 10px 0; }
  #evidence-change .ekr-story-ledger { grid-template-columns:1fr; padding:16px; }
  #evidence-change .ekr-story-ledger button { min-height:65px; }
  #evidence-change .ekr-story-inspection { padding:0 19px 22px; }
  #evidence-change .ekr-story-timeline { grid-template-columns:repeat(5,minmax(0,1fr)); }
  #evidence-change .ekr-story-timeline b { display:block; font-size:8px; line-height:1.5; margin-top:5px; text-align:center; }
  #evidence-change .ekr-story-timeline button { padding:12px 4px 18px; }
}
@media(prefers-reduced-motion:reduce) { .ezs-theatre * { animation:none!important; transition:none!important; } }
