/* Shared styles for badge.html and verify.html (the prototype's public pages) */
@font-face{font-family:"Doto";font-weight:100 900;font-display:swap;src:url(fonts/doto.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-weight:400 900;font-display:swap;src:url(fonts/schibsted-grotesk.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:100 800;font-display:swap;src:url(fonts/jetbrains-mono.woff2) format("woff2")}
:root{--bg:#0A0A0B;--s1:#121214;--s2:#1A1A1D;--rule:#26262A;--rule2:#34343A;--edge:#7B7B83;--text:#F2F1EC;--muted:#A9A8A2;--faint:#8E8D88;--paper:#ECEAE4;--ink:#0B0B0D;--acc:#F0283C;--acc-hi:#FF5F6D;--acc-t:#FF4D5C;
 --sans:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--dot:"Doto","JetBrains Mono",ui-monospace,monospace;--hit:44px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.55 var(--sans);padding-bottom:env(safe-area-inset-bottom)}
body.embed{background:transparent;padding:0}
a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc-hi);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.demo{background:var(--paper);color:var(--ink);border-bottom:1px solid #000;font:500 12px/1.4 var(--mono);letter-spacing:.02em;padding:8px 16px;text-align:center}
.demo b{font-weight:800}
header.top{border-bottom:1px solid var(--rule2)}header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font:800 26px/1 var(--dot);text-decoration:none;min-height:var(--hit)}.brand i{color:var(--acc-t);font-style:normal;font-weight:900}
.brand svg{width:30px;height:23px}
header.top nav{display:flex;gap:6px;flex-wrap:wrap}header.top nav a{font:600 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:0 10px;min-height:var(--hit);display:inline-flex;align-items:center}
header.top nav a:hover,header.top nav a[aria-current]{color:var(--text)}
header.top nav a[aria-current]{box-shadow:inset 0 -2px var(--acc)}
.k{font:600 12.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.k.r{color:var(--acc-t)}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.08}
h1{font:800 clamp(34px,6vw,60px)/1.02 var(--sans);letter-spacing:-.035em}
h2.sec{font:700 13px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule2);display:flex;justify-content:space-between;gap:12px}
main,main.wrap{padding-top:36px;padding-bottom:72px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--hit);padding:0 18px;border:1px solid var(--edge);background:transparent;color:var(--text);font:600 15px var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--text)}.btn.primary{background:var(--acc);border-color:var(--acc);color:#0B0B0D}.btn.primary:hover{background:var(--acc-hi);border-color:var(--acc-hi)}
.fine{font:400 13.5px/1.5 var(--mono);color:var(--muted);margin:0}
/* receipt hero */
.rid{font:800 clamp(28px,5.4vw,54px)/1 var(--dot);letter-spacing:.02em;margin:10px 0 0;word-break:break-all}
.status{display:inline-flex;align-items:center;gap:8px;font:700 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--edge);padding:9px 12px;margin-top:16px}
.status i{width:9px;height:9px;background:var(--acc);display:block}
.status.ev{border-color:var(--acc-t)}
.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;margin-top:34px;align-items:start}
.blk{margin-bottom:38px}
.meta{display:flex;gap:6px 18px;flex-wrap:wrap;margin:16px 0 0;color:var(--muted);font:500 14px/1.4 var(--mono)}
.meta b{color:var(--text);font-weight:600}
.vtag{color:var(--text)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}
.big{font:800 clamp(64px,13vw,120px)/.9 var(--dot);letter-spacing:-.01em}
.big small{display:block;font:700 13px/1 var(--mono);letter-spacing:.14em;margin-top:12px;text-transform:uppercase}
.big.you{color:var(--acc-t)}.big.ai{color:var(--text);text-align:right}.big.ai small{text-align:right}
.cells{display:grid;grid-template-columns:repeat(25,1fr);gap:3px}.cells i{height:30px;background:var(--paper)}.cells i.y{background:var(--acc)}
.who{display:grid;grid-template-columns:62px 1fr;gap:12px 16px;align-items:start;margin-top:22px}
.tag{font:800 14px/1 var(--mono);padding:9px 0;text-align:center;letter-spacing:.06em}
.tag.you{background:var(--acc);color:var(--ink)}.tag.ai{background:var(--paper);color:var(--ink)}
.who p{margin:7px 0 0;font:600 17px/1.4 var(--mono);text-transform:lowercase}
.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 10px 0;border-bottom:1px solid var(--rule2)}
.tbl td{padding:12px 10px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}.tbl td:last-child{white-space:nowrap}
.cnt{font:800 12px/1 var(--mono);padding:5px 8px;letter-spacing:.06em;display:inline-block}.cnt.y{background:var(--acc);color:var(--ink)}.cnt.a{background:var(--paper);color:var(--ink)}
.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.kinds div{border:1px solid var(--rule2);padding:11px 12px;font:600 14px var(--sans)}.kinds div b{display:flex;align-items:center;gap:8px;font:600 12px var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.kinds i{width:9px;height:9px;border:1.5px solid var(--edge);border-radius:50%;display:block}.kinds .on{border-color:var(--edge)}.kinds .on b{color:var(--text)}.kinds .on i{background:var(--acc);border-color:var(--acc)}
.ladder{list-style:none;margin:0;padding:0;counter-reset:l}.ladder li{display:grid;grid-template-columns:34px 1fr;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--rule)}
.ladder li:before{counter-increment:l;content:counter(l);font:800 13px/22px var(--mono);width:26px;height:26px;border:1.5px solid var(--edge);border-radius:50%;text-align:center;line-height:23px;color:var(--muted)}
.ladder li.on:before{background:var(--acc);border-color:var(--acc);color:var(--ink)}
.ladder b{font-weight:700;display:block}.ladder span{color:var(--muted);font-size:15px;line-height:1.45}
.ladder li.off b{color:var(--muted)}.ladder li.off span{color:var(--faint)}
.fp{font:500 13px/1.5 var(--mono);word-break:break-all;color:var(--muted);margin:6px 0 0}
.fp b{color:var(--text);font-weight:600}
.side .art{margin-bottom:26px}.side .art svg{display:block;max-width:100%;height:auto}
.side .art .k{display:block;margin-bottom:10px}
.copyrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.note{border:1px dashed var(--rule2);padding:16px 18px;color:var(--muted);font-size:15px}
.list a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule2);text-decoration:none;min-height:var(--hit)}.list a:hover b{color:var(--acc-t)}.list span{font:500 13px var(--mono);color:var(--muted)}
footer{border-top:1px solid var(--rule2);padding:26px 0 56px;color:var(--faint);font:400 13px/1.55 var(--mono)}footer a{text-underline-offset:3px}
@media (max-width:820px){.grid{grid-template-columns:1fr;gap:10px}.side{order:-1}.cells i{height:24px}}
@media (max-width:420px){.cells{gap:2px}.who{grid-template-columns:52px 1fr}}
/* badge kit */
.kit{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.ctrl{display:flex;gap:16px 26px;flex-wrap:wrap;align-items:flex-end;margin-bottom:22px}
.ctrl label.l{display:block;font:600 12.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
select{min-height:var(--hit);background:var(--s1);color:var(--text);border:1px solid var(--edge);font:500 15px var(--sans);padding:0 12px;max-width:100%}
.seg{display:flex}.seg button{min-height:var(--hit);padding:0 16px;border:1px solid var(--edge);background:none;color:var(--text);font:600 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-right:-1px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:#0B0B0D}
.stagebox{background:#2A2A2E;padding:26px;display:flex;justify-content:center;overflow:auto;border:1px dashed var(--rule2)}.stagebox.light{background:#fff}.stagebox svg{max-width:100%;height:auto;display:block}
.code{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:end;margin-bottom:16px}.code label{grid-column:1/-1;font:600 12.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
textarea{width:100%;background:var(--s1);color:var(--text);border:1px solid var(--rule2);font:12.5px/1.45 var(--mono);padding:10px 12px;resize:vertical}
.plat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border:1px solid var(--rule2)}
.plat div{padding:18px 18px 20px;border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2);margin:0 -1px -1px 0}
.plat h3{font:800 20px/1 var(--sans);margin-bottom:10px}.plat p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.plat .use{display:block;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc-t);margin-bottom:8px}
.gal{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}.gal figure{margin:0}.gal figcaption{font:500 12.5px var(--mono);color:var(--muted);margin-top:8px}.gal svg,.gal img{display:block;max-width:100%;height:auto}
body.embed a{display:inline-block;line-height:0}
@media (prefers-reduced-motion:no-preference){.btn,a{transition:border-color .16s,color .16s,background-color .16s}}
@media print{.demo,header.top,.side .copyrow,footer{display:none}body{background:#fff;color:#000}}
