@font-face{font-family:Calistoga;src:url('/assets/calistoga.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--brown:#8C4A32;--bone:#EDE5DE;--beige:#D9C5B2;--taupe:#AF9B89;--blue:#647692;--white:#FFFFFF;--black:#000000}
*{box-sizing:border-box}
body{margin:0;background:var(--bone);color:var(--brown);font:1rem/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100svh}
a{color:inherit;text-underline-offset:.22em}
button,input{font:inherit}
button,a,input{ -webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
[hidden]{display:none!important}
.verify-shell{width:min(100% - 2.5rem,35rem);margin:0 auto;padding:clamp(1.5rem,5vh,3.5rem) 0 1.5rem;text-align:center}
.brand{display:inline-block;border-radius:50%;line-height:0}
.brand img{display:block;width:92px;height:92px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:.9rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:650;margin:1.65rem 0 1.1rem}
.eyebrow span{width:1.5rem;height:1px;background:var(--taupe)}
h1{font:400 clamp(2.25rem,8vw,3.5rem)/1.12 Calistoga,Georgia,serif;letter-spacing:-.025em;margin:0}
.intro{max-width:27rem;margin:1.15rem auto 1.75rem;font-size:1rem;line-height:1.65}
.verify-card{border:1px solid var(--taupe);border-radius:1.3rem;padding:clamp(1.25rem,4.5vw,2rem);text-align:left;background:var(--white);box-shadow:0 12px 36px #8C4A3208}
label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.65rem}
input{display:block;width:100%;min-width:0;border:1px solid var(--taupe);border-radius:.5rem;background:var(--bone);color:var(--brown);padding:1rem .8rem;font:600 clamp(1.05rem,4.7vw,1.55rem)/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;text-align:center}
input::placeholder{color:var(--brown);opacity:.55}
.hint{font-size:.75rem;margin:.55rem 0 1.1rem;line-height:1.5}
button{cursor:pointer}
#verify-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--brown);background:var(--brown);color:var(--white);font-weight:650;min-height:54px;padding:.85rem 1.1rem;border-radius:.5rem}
#verify-button span{font-size:1.3rem;font-weight:400;line-height:1}
#verify-button:hover{filter:brightness(.92)}
#verify-button:disabled{cursor:wait;opacity:.7}
.result{margin-top:1.3rem;padding:1.2rem;border-radius:.7rem;border:1px solid var(--taupe);background:var(--bone)}
.result-heading{display:flex;align-items:center;gap:.65rem}
.result-heading h2{font-size:1.7rem;line-height:1.2;margin:0;font-weight:750;letter-spacing:-.025em}
#result-icon{display:inline-flex;justify-content:center;align-items:center;border:1.5px solid currentColor;border-radius:50%;width:1.6rem;height:1.6rem;font-size:1.05rem;font-weight:700;flex:0 0 auto}
.result p{font-size:.88rem;margin:.7rem 0 0;line-height:1.5}
.result .checked-code{font:600 .85rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;letter-spacing:.035em}
.result .checked-at{font-size:.72rem;margin-top:.5rem}
.result[data-state=valid]{background:var(--blue);border-color:var(--blue);color:var(--white)}
.result[data-state=invalid]{background:var(--brown);border-color:var(--brown);color:var(--white)}
.another{display:block;border:0;background:transparent;color:var(--brown);text-decoration:underline;text-underline-offset:.25em;margin:1.1rem auto 0;padding:.4rem .75rem;font-size:.85rem;min-height:44px}
.footnote{font-size:.78rem;line-height:1.6;max-width:25rem;margin:1.2rem auto 2rem}
footer{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem .7rem;font-size:.7rem;line-height:1.5}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
.no-script{padding:1rem;border:1px solid var(--brown);font-size:.9rem}
.security-gate{margin-top:1rem;padding:1.25rem;background:var(--bone);border:1px solid var(--beige);border-radius:.75rem}
.verify-shell[data-has-result=true]{padding-top:1.2rem}
.verify-shell[data-has-result=true] .brand img{width:52px;height:52px}
.verify-shell[data-has-result=true] .eyebrow{margin:.9rem 0 1.2rem}
.verify-shell[data-has-result=true] h1,.verify-shell[data-has-result=true] .intro{display:none}
.section-label{font-size:.65rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:750;margin:0 0 .5rem!important}
.security-gate h3,.instruction-panel h3{margin:.15rem 0 .6rem;font-size:1.15rem;line-height:1.3}
.security-gate p{font-size:.88rem;line-height:1.6}
.security-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:.88rem}
.holder-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.15rem;padding:1.5rem 0;border-bottom:1px solid var(--beige);align-items:start}
.holder-portrait{width:112px;aspect-ratio:112/132;position:relative;overflow:hidden;border-radius:.45rem;background:var(--bone);border:1px solid var(--beige);display:flex;align-items:center;justify-content:center}
.holder-portrait svg{width:100%;height:100%;display:block;overflow:hidden}
.holder-portrait span{padding:.65rem;text-align:center;font-size:.72rem;line-height:1.5;color:var(--brown)}
.holder-identity{min-width:0}.holder-identity h3{font:400 1.42rem/1.25 Calistoga,Georgia,serif;margin:.25rem 0 .65rem;overflow-wrap:anywhere}
.role-tag{display:inline-block;border:1px solid var(--beige);border-radius:2rem;font-size:.68rem;font-weight:700;padding:.2rem .65rem}
dl{margin:1rem 0 0}dt{font-size:.68rem;font-weight:700;margin:.7rem 0 .15rem}dd{font-size:.9rem;margin:0;overflow-wrap:anywhere}
.instruction-panel{margin-top:1.25rem;padding:1.2rem;border-radius:.7rem;background:var(--bone);border-left:3px solid var(--blue)}
.instruction-panel p{font-size:.9rem;margin:.5rem 0 0;line-height:1.6;overflow-wrap:anywhere}
.preserve-lines{white-space:pre-wrap}.invalid-panel{border-left-color:var(--brown)}
.instruction-panel h4{font-size:.72rem;letter-spacing:.02em;margin:0 0 .4rem}
.staff-note,.holder-message{border-top:1px solid var(--beige);margin-top:1rem;padding-top:1rem}
.holder-message p{font-style:italic}.identity-reminder{font-size:.75rem;line-height:1.6;margin:1rem 0 0}
#verify-form[hidden]+.result{margin-top:0}
@media(max-width:430px){.holder-card{grid-template-columns:92px minmax(0,1fr);gap:.85rem}.holder-portrait{width:92px}.holder-identity h3{font-size:1.2rem}.verify-card{padding:1.15rem}.instruction-panel{padding:1rem}}
@media(max-width:360px){.verify-shell{width:calc(100% - 2rem)}.brand img{width:76px;height:76px}.verify-card{padding:1.1rem}.intro{font-size:.9rem}.eyebrow{font-size:.62rem;gap:.7rem}}
@media(prefers-reduced-motion:no-preference){button{transition:filter .15s,opacity .15s}.result{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
.security-session-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .8rem;text-align:left;font-size:.75rem}.security-session-bar p{margin:0;white-space:pre-line}.text-button{border:0;background:transparent;color:var(--brown);text-decoration:underline;text-underline-offset:.25em;padding:.5rem 0;font:600 .8rem/1.5 inherit;min-height:44px}.text-button:hover{color:var(--black)}.login-panel{margin-bottom:1rem}.login-panel h2{font:400 1.65rem/1.2 Calistoga,Georgia,serif;margin:0 0 .7rem}.login-intro{font-size:.9rem}.login-panel input{text-transform:none;text-align:left;font-size:1.05rem;font-weight:400;letter-spacing:0;margin-bottom:1rem}.primary-button{display:block;width:100%;background:var(--brown);border:1px solid var(--brown);color:var(--white);padding:.9rem 1rem;border-radius:.5rem;font-weight:700;min-height:48px}.primary-button:disabled{opacity:.65;cursor:wait}#security-login-feedback{font-size:.85rem;white-space:pre-line}#security-login-feedback:empty{display:none}.security-session-bar .text-button{flex-shrink:0}.login-panel .hint{margin-top:1rem}
.scan-next-pass{margin-top:1.3rem}.camera-entry{display:block;width:100%;min-height:48px;margin-top:.8rem;padding:.75rem;border:1px solid var(--brown);border-radius:.5rem;background:var(--white);color:var(--brown);font-size:.9rem;font-weight:650}.camera-entry:disabled{opacity:.65;cursor:not-allowed}.scanner-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.scanner-heading h2{font:400 clamp(1.35rem,5vw,1.8rem)/1.2 Calistoga,Georgia,serif;margin:0}.scanner-heading .text-button{padding:.5rem;flex-shrink:0}.scanner-view{position:relative;aspect-ratio:1;max-height:55svh;width:100%;overflow:hidden;border-radius:.75rem;background:var(--black)}.scanner-view video{width:100%;height:100%;display:block;object-fit:cover}.scanner-guide{position:absolute;inset:16%;border:2px solid var(--white);border-radius:.65rem;box-shadow:0 0 0 100vmax #0004;pointer-events:none}#scanner-status{font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.verify-shell[data-scanning=true]{padding-top:1.2rem}.verify-shell[data-scanning=true] .brand img{width:52px;height:52px}.verify-shell[data-scanning=true] h1,.verify-shell[data-scanning=true] .intro{display:none}.verify-shell[data-scanning=true] .eyebrow{margin:.9rem 0 1.2rem}

/* Verification audit context: optional, compact, and separate from identity details. */
.checkpoint-settings{margin:0 0 12px;padding:12px 16px;border:1px solid #D9C5B2;border-radius:12px;text-align:left}
.checkpoint-settings summary{cursor:pointer;font-weight:650;color:#8C4A32}
.checkpoint-settings label{display:block;margin:14px 0 6px;font-weight:600}
.checkpoint-settings input{box-sizing:border-box;width:100%;max-width:100%;padding:12px;border:1px solid #AF9B89;border-radius:8px;background:#fff;font:inherit;font-size:16px;letter-spacing:normal;text-transform:none}
.checkpoint-settings .hint{margin-bottom:0}
.audit-notice{font-size:12px;line-height:1.5;color:#647692;margin:0 0 18px;text-align:left}
.scan-location-settings{margin:0 0 1rem;padding:.8rem 1rem;background:var(--white);border:1px solid var(--taupe);border-radius:.5rem;text-align:left}.scan-location-settings h2{font:600 .9rem/1.4 inherit;margin:0 0 .4rem}.scan-location-settings .hint{margin:.4rem 0}.scan-location-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.scan-location-actions button{min-height:44px}.scan-location-actions button:disabled{cursor:wait;opacity:.65}
/* A visible deterrent and a cleared screen; not an OS screenshot control. */
.screen-privacy-notice{font-size:.75rem;line-height:1.6;text-align:left;border-left:3px solid var(--blue);padding:.6rem .8rem;margin:0 0 1rem;background:var(--white)}
.privacy-shield h2{font:400 1.6rem/1.2 Calistoga,Georgia,serif;margin:.3rem 0 .8rem}.privacy-shield p{font-size:.9rem}.privacy-shield .primary-button{margin-top:1rem}
.protected-pass-view{position:relative}.protected-pass-view[data-watermarked=true]{padding-bottom:3.5rem}
.privacy-watermark{position:absolute;z-index:2;bottom:.35rem;right:0;max-width:100%;padding:.4rem .55rem;border:1px solid var(--taupe);border-radius:.3rem;background:var(--bone);color:var(--brown);font:650 .67rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:right;overflow-wrap:anywhere;pointer-events:none;margin:0}
.privacy-print-notice{display:none}
.scanner-light-controls{display:flex;align-items:center;gap:.8rem;margin:.8rem 0;flex-wrap:wrap}.scanner-flashlight{min-height:44px;min-width:150px;border:1px solid var(--brown);border-radius:.5rem;padding:.65rem .9rem;color:var(--brown);background:var(--white);font-family:inherit;font-weight:650;font-size:.85rem;line-height:1.4}.scanner-flashlight[aria-pressed=true]{background:var(--brown);color:var(--white)}.scanner-flashlight:disabled{opacity:.65;cursor:not-allowed}.scanner-flashlight[aria-busy=true]{cursor:wait}.scanner-light-controls .hint{flex:1 1 190px;margin:0;text-align:left}
#security-profile-form{padding-top:.3rem}#security-profile-form label{display:block;margin-top:.8rem}#security-profile-form input{min-height:48px;width:100%;font-size:1.05rem}#security-profile-feedback,#security-session-feedback{font-size:.85rem;white-space:pre-line;color:var(--brown)}#security-profile-feedback:empty,#security-session-feedback:empty{display:none}#security-profile-form[aria-busy=true]{cursor:progress}
@media print{
  .verify-shell[data-screen-privacy=temporary]>*{display:none!important}
  .verify-shell[data-screen-privacy=temporary]>#privacy-print-notice{display:block!important;color:#000;background:#fff;font:14pt/1.5 sans-serif;border:1px solid #000;padding:1rem}
}
