@font-face{font-family:"Lato";font-weight:400;font-display:swap;src:url("/vendor/fonts/lato-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Lato";font-weight:700;font-display:swap;src:url("/vendor/fonts/lato-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url("/vendor/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url("/vendor/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Libre Caslon Text";font-weight:700;font-display:swap;src:url("/vendor/fonts/libre-caslon-text-latin-700-normal.woff2") format("woff2")}

/* Layout: barra de marca, buscador, y resultado en dos columnas (certificado | panel de verificación) que se apilan en móvil */
:root{
  --bg:#f5f3f0; --surface:#ffffff; --ink:#1c1a18; --muted:#6b635c; --line:#e0d9d1;
  --accent:#8a5a36; --on-accent:#ffffff; --copper:#a8744b; --copper-soft:#f3e8dd;
  --ok:#1d7a4f; --ok-soft:#e1f2e8; --err:#b0372f; --err-soft:#f8e3e1; --logo-filter:none;
  --f-display:"Libre Caslon Text","Times New Roman",serif;
  --f-body:"Lato",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#141210; --surface:#1e1b18; --ink:#efe9e3; --muted:#a89e94; --line:#352f2a;
  --accent:#d4a378; --on-accent:#1a1510; --copper:#d4a378; --copper-soft:#3a2c20;
  --ok:#5fcf98; --ok-soft:#173225; --err:#ef8a80; --err-soft:#3d1c1a; --logo-filter:invert(1) hue-rotate(180deg) brightness(1.1);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141210; --surface:#1e1b18; --ink:#efe9e3; --muted:#a89e94; --line:#352f2a;
  --accent:#d4a378; --on-accent:#1a1510; --copper:#d4a378; --copper-soft:#3a2c20;
  --ok:#5fcf98; --ok-soft:#173225; --err:#ef8a80; --err-soft:#3d1c1a; --logo-filter:invert(1) hue-rotate(180deg) brightness(1.1);
  color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.brand{border-bottom:1px solid var(--line);background:var(--surface)}
header.brand .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.logo img{height:38px;width:auto;display:block;filter:var(--logo-filter)}
.tag{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

.search{padding-block:36px 24px;display:grid;gap:16px}
.search h1{font-family:var(--f-display);font-weight:700;font-size:clamp(28px,4.6vw,40px);line-height:1.1;margin:0;text-wrap:balance}
.search p{margin:0;color:var(--muted);max-width:62ch}
form.find{display:flex;gap:10px;flex-wrap:wrap;max-width:620px}
form.find label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
form.find input{flex:1 1 260px;min-width:0;font:inherit;font-family:var(--f-mono);padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
form.find input:focus{outline:2px solid var(--accent);outline-offset:1px}
.btn{font:inherit;font-weight:700;border:1px solid transparent;border-radius:8px;padding:11px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn:hover{filter:brightness(1.08)}
.btn:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.btn[disabled]{opacity:.6;cursor:progress}
.again{color:var(--accent);font-size:14px;justify-self:start}
.msg{font-size:14px;color:var(--err)}
.msg:empty{display:none}

.results{padding-block:4px 56px;display:grid;gap:20px}
.list{display:grid;gap:8px}
.list button{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;cursor:pointer}
.list button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.list .code{font-family:var(--f-mono);font-size:12px;color:var(--muted)}

.view{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
@media (max-width:900px){.view{grid-template-columns:minmax(0,1fr)}}
.cert{width:100%;max-width:100%;aspect-ratio:297/210;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(30,20,10,.08),0 14px 34px rgba(30,20,10,.14);overflow:hidden}
.cert svg{display:block;width:100%;height:100%}

aside.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:grid;gap:16px}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;padding:5px 10px;border-radius:999px;justify-self:start}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.status.ok{background:var(--ok-soft);color:var(--ok)}
.status.bad{background:var(--err-soft);color:var(--err)}
dl.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}
dl.meta dt{color:var(--muted)}
dl.meta dd{margin:0;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
dl.meta dd.mono{font-family:var(--f-mono);font-size:13px}
.actions{display:grid;gap:8px}
.hint{font-size:13px;color:var(--muted)}
.verify{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.verify code{font-family:var(--f-mono);font-size:11.5px;color:var(--ink);overflow-wrap:anywhere;display:block;margin-top:4px}
.toast{font-size:13px;color:var(--ok);min-height:1.2em}
.toast.err{color:var(--err)}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px}
footer .wrap{padding-block:18px}
.mono{font-family:var(--f-mono)}
