:root {
  color-scheme:dark; --page:#101417; --surface:#181e22; --surface-high:#222b31; --line:#44525a;
  --ink:#f1f4f5; --muted:#b4c0c8; --amber:#f4bb58; --amber-hover:#ffd389; --on-amber:#211707;
  --good:#9cdbbd; --error:#ffb2a5; --gutter:clamp(20px,5vw,76px);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scrollbar-gutter:stable}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--page);color:var(--ink);line-height:1.55}
main{flex:1}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
a:hover{color:var(--amber-hover)}
button,input{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,p,dl,dd{margin:0}
h1,h2,h3{font-family:"Instrument Sans",Inter,"Segoe UI",Arial,sans-serif;line-height:1.04;letter-spacing:-.045em;font-weight:670}
p,dd{overflow-wrap:anywhere}
.skip{position:fixed;z-index:4;top:10px;left:10px;background:var(--amber);color:var(--on-amber);padding:8px 13px;clip-path:inset(50%)}
.skip:focus{clip-path:none;color:var(--on-amber)}
.wrap{width:min(100%,1450px);margin-inline:auto;padding-inline:var(--gutter)}
.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:22px}
.site-header{min-height:79px}
.site-footer{min-height:98px;color:var(--muted);font-size:.86rem}
.site-header nav,.site-footer nav{display:flex;align-items:center;gap:clamp(14px,3vw,36px);color:var(--muted)}
.site-header nav a[aria-current]{color:var(--amber)}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.19rem;font-weight:720;letter-spacing:-.036em}
.brand img{border-radius:4px}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:555px;padding-block:40px 70px}
.hero-copy{position:relative;z-index:1}
.hero h1{font-size:clamp(3.4rem,7.4vw,7rem);line-height:.95;letter-spacing:-.064em}
.hero p{max-width:38ch;color:var(--muted);font-size:clamp(1rem,1.8vw,1.22rem);margin:23px 0 32px}
.hero-art{width:100%;height:auto;aspect-ratio:1;justify-self:end;border-radius:14px;mask-image:radial-gradient(ellipse at center,#000 40%,transparent 73%)}
.lookup label{font-size:.84rem;color:var(--muted);display:block;margin-bottom:8px;font-weight:600}
.lookup-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.lookup-input input{min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:11px 14px;font-family:"IBM Plex Mono",Consolas,monospace;font-size:.88rem}
.lookup-input input::placeholder{color:#a6b4be}
.action{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:9px 16px;border:1px solid transparent;border-radius:7px;font-size:.86rem;font-weight:690;white-space:nowrap;cursor:pointer;transition:background-color .16s,color .16s,border-color .16s}
.primary{background:var(--amber);color:var(--on-amber)}
.primary:hover{background:var(--amber-hover);color:var(--on-amber)}
.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}
.secondary:hover{background:var(--surface-high);color:var(--ink);border-color:var(--amber)}
.explain{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:clamp(18px,4vw,54px);padding:43px 0 66px}
.explain h2{font-size:clamp(1.65rem,2.8vw,2.52rem)}
.explain h3{font-size:1.17rem;letter-spacing:-.025em;margin-bottom:8px}
.explain p,.app-heading p,.docs p,.scope,.empty{color:var(--muted)}
.app{max-width:1180px}
.app-heading{padding:44px 0 28px}
.app-heading h1,.docs h1{font-size:clamp(2.5rem,6vw,5.3rem);margin-bottom:14px}
.receipt-desk{padding:clamp(20px,4vw,46px);background:var(--surface);border-radius:12px;margin-bottom:34px}
.receipt-desk .lookup-input input{background:var(--page)}
.status{min-height:24px;margin-top:15px;color:var(--muted)}
.status.ok{color:var(--good)}
.status.error{color:var(--error)}
#result{margin-top:35px}
.result-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.result-head h2{font-size:clamp(1.58rem,3vw,2.3rem)}
.result-actions{display:flex;flex-wrap:wrap;gap:8px}
.result-actions .action{min-height:42px}
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px}
.data-grid>div{min-width:0}
dt{color:var(--muted);font-size:.76rem;margin-bottom:3px}
dd{font:400 .86rem/1.5 "IBM Plex Mono",Consolas,monospace}
.scope{margin-top:16px;font-size:.85rem}
#result h3{font-size:1.3rem;margin-top:26px}
#result h3+.scope{margin-top:6px}
.events{margin-top:14px;display:grid;gap:8px}
.events details{background:var(--page);border-radius:6px}
.events summary{cursor:pointer;font:400 .82rem/1.5 "IBM Plex Mono",Consolas,monospace;padding:13px 14px;overflow-wrap:anywhere;color:var(--ink)}
.events details[open] summary{color:var(--amber)}
.events .data-grid{padding:0 14px 15px}
.docs{display:grid;grid-template-columns:minmax(140px,.3fr) minmax(0,1fr);gap:55px;padding-block:48px 64px;max-width:1180px}
.doc-nav{display:grid;align-content:start;gap:14px;color:var(--muted)}
.docs article{max-width:760px}
.docs section{margin-top:34px;scroll-margin-top:22px}
.docs h2{font-size:clamp(1.48rem,3.1vw,2.25rem);margin-bottom:9px}
.docs p+p{margin-top:10px}
.docs article a{color:var(--amber);font-weight:610}
.docs article a:hover{color:var(--amber-hover)}
.docs article section>a{display:inline-block;margin-top:12px}
@media(max-width:950px){.explain{grid-template-columns:repeat(3,1fr)}.explain h2{grid-column:1/-1}.hero{min-height:440px}}
@media(max-width:700px){
  .site-header{min-height:65px}
  .site-header nav,.site-footer nav{gap:15px;font-size:.83rem}
  .brand{font-size:1.02rem;gap:6px}.brand img{width:26px;height:26px}
  .hero{grid-template-columns:1fr;min-height:auto;padding-block:35px 16px}
  .hero-art{width:min(75vw,350px);justify-self:center;margin-top:8px}
  .explain{grid-template-columns:1fr 1fr;padding-block:18px 48px}
  .docs{grid-template-columns:1fr;gap:22px;padding-block:28px 38px}
  .doc-nav{display:flex;flex-wrap:wrap;gap:9px 17px;font-size:.84rem}
  .site-footer{flex-wrap:wrap;padding-block:20px}
}
@media(max-width:430px){
  .site-header nav{gap:11px}.site-header nav a{white-space:nowrap}
  .hero h1{font-size:clamp(2.52rem,12vw,3.4rem)}
  .lookup-input{grid-template-columns:1fr}
  .lookup-input .action{justify-self:stretch}
  .data-grid{grid-template-columns:1fr}
  .site-footer{align-content:center;gap:7px 14px}.site-footer nav{width:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
