:root{color-scheme:dark;--paper:#f2eee5;--ink:#11100e;--accent:#e74f2a;--muted:#a9a49b}*{box-sizing:border-box}html,body,main{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--ink);color:var(--paper)}button{font:inherit}.screen{display:none;min-height:100%;position:relative}.screen.active{display:flex}#camera-screen{overflow:hidden;align-items:stretch;justify-content:space-between;flex-direction:column;background:#222}video{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent 30%,transparent 62%,rgba(0,0,0,.8))}.crosshair{position:absolute;left:50%;top:48%;width:78px;height:78px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);border-radius:50%;box-shadow:0 0 0 9999px rgba(0,0,0,.08)}.crosshair i,.crosshair b{position:absolute;display:block;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}.crosshair i{width:34px;height:2px}.crosshair b{width:2px;height:34px}header{z-index:2;display:flex;justify-content:space-between;padding:calc(20px + env(safe-area-inset-top)) 22px 0;font-size:12px;letter-spacing:.18em}.brand{font-weight:900}.instructions{z-index:2;text-align:center;margin-top:auto;padding:24px}.instructions h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,7vw,38px);margin:0 auto 8px;max-width:520px}.instructions p{margin:0;color:#ddd;font-size:14px}.controls{z-index:2;display:flex;flex-direction:column;align-items:center;padding:8px 24px calc(28px + env(safe-area-inset-bottom));gap:12px}.shutter{width:76px;height:76px;border:2px solid white;border-radius:50%;background:transparent;padding:6px}.shutter span{display:block;width:100%;height:100%;border-radius:50%;background:white}.secondary,.back{border:0;background:transparent;color:var(--paper);padding:8px}.panel{padding:40px 22px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spinner{width:44px;height:44px;border:3px solid #444;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results{justify-content:flex-start;align-items:stretch;text-align:left;background:var(--paper);color:var(--ink);padding-top:calc(20px + env(safe-area-inset-top))}.back{color:var(--ink);align-self:flex-start;padding:10px 0 24px}.notice{font-size:13px;color:#655f57;margin-bottom:8px}.match{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:16px 0;border-top:1px solid #d4cec4}.match img{width:96px;height:112px;object-fit:cover;background:#ddd}.match h3{font-family:Georgia,serif;font-size:21px;margin:3px 0}.match p{margin:3px 0;color:#655f57}.score{font-size:12px;color:var(--accent);font-weight:700}.empty{padding:30px 0;color:#655f57}@media(min-width:720px){main{max-width:520px;margin:auto;box-shadow:0 0 80px #000}.results{padding-inline:34px}}

.upload-button{min-height:48px;padding:12px 20px;border:2px solid #fff;border-radius:999px;background:#fff;color:#111;font-weight:800;box-shadow:0 8px 24px #0006;cursor:pointer}.upload-button:hover,.upload-button:focus{background:#f2eee5;color:#111}

/* Recognizer results: clear next action and institutional identity. */
.results .search-again{align-self:stretch;display:flex;align-items:center;gap:18px;width:100%;padding:20px;background:#242c25;color:#fff;text-align:left;cursor:pointer;min-height:96px;margin:0 0 22px;border:0}
.search-again svg{width:48px;height:44px;flex-shrink:0}.search-again strong{display:block;font-size:24px;line-height:1.15;letter-spacing:-.5px}.search-again small{display:block;font-size:14px;margin-top:7px;color:#e1e5dc}
.search-again:focus-visible{outline:3px solid #087eab;outline-offset:4px}.search-again:hover{background:#354338}
.result-brand{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:1px}.result-brand strong{font-size:17px;letter-spacing:-.3px}.brand-description{font-size:12px;color:#655f57;margin:6px 0 18px}
.results .match,.results .match:visited{color:var(--ink);text-decoration:none}.results .match h3{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.results .match img{object-fit:contain}.results .match .details-link{display:inline-block;margin-top:8px;font-size:14px;color:#22543b;text-decoration:underline;text-underline-offset:3px}.results a.match:focus-visible{outline:2px solid #22543b;outline-offset:3px}
@media(max-width:360px){.search-again strong{font-size:21px}.results .search-again{gap:12px;padding:18px 14px}.match{grid-template-columns:82px minmax(0,1fr);gap:12px}.match img{width:82px}}

/* Unified institutional wordmark on camera and results. */
.camera-brand{flex-direction:column;align-items:flex-start;gap:6px;letter-spacing:1px;text-shadow:0 2px 10px #0009}
.camera-brand .brand,.result-brand strong{font-size:clamp(24px,6.5vw,30px);font-weight:900;letter-spacing:-.6px;line-height:1.15}
.camera-brand>span:last-child,.result-brand>span{font-size:12px;letter-spacing:1.5px}
.result-brand{flex-direction:column;align-items:flex-start;gap:6px}

#refresh-status,#album-refresh{align-self:flex-start;padding:12px 16px;margin:0 0 16px;border:1px solid #62685d;background:transparent;color:#242c25;cursor:pointer;font-weight:700;min-height:44px}#refresh-status:disabled{opacity:.6;cursor:wait}.results .match .availability{font-weight:800;color:#253f2c;margin:8px 0 2px}.checked-at{display:block;font-size:11px;color:#655f57}.status-advice{font-size:13px}

.onsite-select{margin-top:12px;padding:14px 18px;border:0;background:#173e39;color:white;font-size:16px;font-weight:700;cursor:pointer}.onsite-select:disabled{background:#777;cursor:default}

.album-launch{position:absolute;top:130px;left:24px;z-index:5;background:#fff;color:#242c25;padding:12px 18px;border-radius:24px;border:0;font-weight:700;min-height:44px}
.album-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.album-save,.album-remove{display:block;margin-top:12px;min-height:44px;padding:10px 14px;border:1px solid #242c25;background:transparent;color:#242c25;font-size:15px}.album-save{background:#242c25;color:#fff}.album-help{font-size:14px!important;line-height:1.5}.details-link{display:inline-block;min-height:44px;padding-top:10px}.album-card h3{font-family:Arial,sans-serif;font-size:24px}.album-card{overflow-wrap:anywhere}.album-card button{max-width:100%}#album-screen h1{font-size:32px}#album-screen>p{font-size:16px;line-height:1.6}

.match-title-link{color:inherit;text-decoration:none}.album-toolbar button{padding:12px 16px;border:1px solid #242c25;background:transparent;color:#242c25;min-height:44px}.album-launch:focus-visible,.album-save:focus-visible,.album-remove:focus-visible,.match a:focus-visible{outline:3px solid #e74f2a;outline-offset:3px}

.visitor-share{margin:24px 0;padding:20px;border:1px solid #d4cfc2;border-radius:14px;background:#fff;color:#183e39}.visitor-share h2{font-size:22px;margin:0 0 12px}.visitor-share p{font-size:14px;line-height:1.5}.visitor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visitor-share label{display:block;font-size:14px;margin:10px 0}.visitor-share input:not([type=checkbox]),.visitor-share select{box-sizing:border-box;width:100%;padding:12px;font-size:16px;border:1px solid #aaa;border-radius:7px;background:white;color:#183e39}.visitor-share summary{cursor:pointer;font-weight:bold;padding:14px 0}.visitor-share button{padding:12px 16px;font-size:15px;background:#183e39;color:white;border-radius:8px}.visitor-consent{display:flex!important;gap:10px;align-items:flex-start}.visitor-consent input{margin-top:3px;flex-shrink:0;width:20px;height:20px}#visitor-share-status{overflow-wrap:anywhere;font-weight:bold}#visitor-work-modes{max-height:350px;overflow:auto}.visitor-share [hidden]{display:none!important}@media(max-width:560px){.visitor-fields{grid-template-columns:1fr}.visitor-share{padding:16px}}
