:root{color:#1c1917;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1c1917;--muted:#57534e;--paper:#fffdf8;--sand:#f5f5f4;--line:#d6d3d1;--amber:#b45309;--amber-dark:#78350f;--amber-soft:#fffbeb;--red:#b91c1c;--red-soft:#fef2f2;--blue-soft:#eff6ff;background:#f5f5f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--sand);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,label.source-card{min-height:44px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #2563eb}.skip-link{z-index:20;background:var(--ink);color:#fff;border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid var(--line);background:#fffdf8f5;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.85rem clamp(1rem,4vw,3rem);display:flex}.brand-button{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;padding:.25rem;display:flex}.brand-button strong,.brand-button small{display:block}.brand-button strong{letter-spacing:-.02em;font-size:1.15rem}.brand-button small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.1rem;font-size:.72rem}.brand-mark{border:2px solid var(--ink);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;width:38px;height:38px;padding:6px;display:grid}.brand-mark span{background:var(--ink);border-radius:1px}.brand-mark span:last-child{background:var(--amber)}.site-header nav{gap:.25rem;display:flex}.site-header nav button{color:var(--muted);background:0 0;border:0;padding:.55rem .8rem;font-weight:650}.site-header nav button:hover{color:var(--ink)}.site-header nav button[aria-current=page]{color:var(--ink);background:#e7e5e4;border-radius:.45rem}.main-content{flex:1;width:min(100% - 2rem,1040px);margin:0 auto}.offline-strip{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:.65rem;align-items:center;gap:.65rem;margin:1rem 0 0;padding:.65rem .85rem;font-size:.82rem;display:flex}.offline-strip strong{color:var(--ink)}.status-dot{border:2px solid;border-radius:50%;flex:none;width:9px;height:9px}.offline-ready .status-dot{background:var(--ink)}.offline-update-ready{background:var(--amber-soft);border-color:#f59e0b}.offline-incomplete,.offline-update-failed{background:var(--red-soft);border-color:#fca5a5}.compact-button{border:1px solid var(--ink);background:var(--paper);border-radius:.45rem;margin-left:auto;padding:.35rem .7rem;font-weight:700}.strip-feedback{color:var(--muted);margin:.45rem .85rem 0;font-size:.8rem}.version-lock-banner{background:var(--blue-soft);border:1px solid #93c5fd;border-radius:.65rem;align-items:center;gap:.9rem;margin:.75rem 0 0;padding:.9rem 1rem;display:flex}.version-lock-banner p{color:var(--muted);margin:.15rem 0 0;font-size:.84rem;line-height:1.45}.hero{text-align:center;padding:clamp(3.5rem,9vw,7rem) 0 3rem}.eyebrow{color:var(--amber-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.75rem;font-weight:800}.hero h1{letter-spacing:-.055em;max-width:780px;margin:.8rem auto 1rem;font-size:clamp(2.35rem,7vw,5.2rem);line-height:.98}.hero-copy{max-width:660px;color:var(--muted);margin:0 auto;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.source-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px;margin:2.5rem auto 1.5rem;display:grid}.source-card{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:1rem;grid-template-rows:auto auto;grid-template-columns:56px 1fr;align-items:center;column-gap:1rem;padding:1.4rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 8px 30px #1c19170f}button.source-card{text-align:left;width:100%}.source-card:hover:not(.source-disabled),button.source-card:hover:not(:disabled){border-color:var(--amber);transform:translateY(-2px);box-shadow:0 12px 35px #1c19171a}.source-card strong{align-self:end;font-size:1.02rem}.source-card>span:last-child{color:var(--muted);align-self:start;margin-top:.2rem;font-size:.84rem}.source-icon{background-color:#fafaf9;border:1px solid #e7e5e4;border-radius:.8rem;grid-row:1/3;width:54px;height:54px}.camera-icon{background-image:radial-gradient(circle at 50% 50%, transparent 0 8px, var(--ink) 9px 11px, transparent 12px), linear-gradient(var(--ink), var(--ink));background-position:50%,50%;background-repeat:no-repeat;background-size:auto,27px 18px}.image-icon{background-image:linear-gradient(135deg, transparent 45%, var(--ink) 46% 54%, transparent 55%), radial-gradient(circle, var(--amber) 0 3px, transparent 4px);background-position:50%;background-repeat:no-repeat;background-size:30px 24px,30px 24px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.source-card:focus-within{outline-offset:3px;outline:3px solid #2563eb}.source-disabled{opacity:.48;cursor:not-allowed}.privacy-promise{border-left:3px solid var(--ink);text-align:left;background:#e7e5e4;align-items:center;gap:.9rem;max-width:760px;margin:0 auto;padding:1rem 1.2rem;display:flex}.privacy-promise p{color:var(--muted);margin:.15rem 0 0;font-size:.86rem}.lock-glyph{border:2px solid var(--ink);border-radius:4px;flex:none;width:24px;height:19px;position:relative}.lock-glyph:before{content:"";border:2px solid var(--ink);border-bottom:0;border-radius:8px 8px 0 0;width:12px;height:10px;position:absolute;top:-10px;left:4px}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:720px;margin:3rem auto 0;padding-top:2rem;display:grid}.steps div{color:var(--muted);justify-items:center;gap:.2rem;font-size:.82rem;display:grid}.steps span{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:.35rem;font-weight:800;display:grid}.steps strong{color:var(--ink)}.center-card,.prose-card,.result-layout,.scanner-panel{margin:clamp(2rem,6vw,5rem) auto}.center-card{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:1.2rem;max-width:560px;padding:clamp(2rem,6vw,4rem)}.center-card h1{margin:1rem 0 .5rem;font-size:clamp(1.6rem,5vw,2.4rem)}.center-card p{color:var(--muted);line-height:1.6}.reader-pulse{border:3px solid var(--line);border-top-color:var(--amber);border-radius:50%;width:58px;height:58px;margin:0 auto;animation:1s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.error-card{background:var(--red-soft);border-color:#fecaca}.recovery-card{background:var(--blue-soft);border-color:#93c5fd}.error-glyph,.recovery-glyph,.status-symbol{border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.error-glyph{background:var(--red);color:#fff;margin:0 auto}.recovery-glyph{background:var(--ink);color:#fff;letter-spacing:.08em;margin:0 auto}.recovery-actions{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.2rem;display:grid}.section-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.4rem;display:flex}.section-heading h1{letter-spacing:-.04em;margin:.25rem 0;font-size:clamp(1.8rem,5vw,3rem)}.section-heading p{color:var(--muted)}.video-frame{aspect-ratio:4/3;background:#0c0a09;border-radius:1rem;width:min(100%,760px);margin:0 auto;position:relative;overflow:hidden}.video-frame video{object-fit:cover;width:100%;height:100%}.corner{border-style:solid;border-color:#fbbf24;width:55px;height:55px;position:absolute}.corner-a{border-width:4px 0 0 4px;top:8%;left:8%}.corner-b{border-width:4px 4px 0 0;top:8%;right:8%}.corner-c{border-width:0 4px 4px 0;bottom:8%;right:8%}.corner-d{border-width:0 0 4px 4px;bottom:8%;left:8%}.camera-controls{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.2rem;display:flex}.camera-controls label{gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.camera-controls select,.camera-controls input{min-height:44px}.camera-notice{background:var(--amber-soft);color:var(--amber-dark);text-align:center;padding:.8rem}.camera-search-status{color:var(--muted);text-align:center;margin:.9rem 0 0;font-size:.88rem}.result-layout{max-width:760px}.result-topline{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.kind-chip,.sensitive-chip{text-transform:uppercase;letter-spacing:.06em;background:#e7e5e4;border-radius:99px;align-items:center;min-height:28px;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.about-grid dd{overflow-wrap:anywhere}.sensitive-chip{background:var(--amber-soft);color:var(--amber-dark)}.result-status{border:1px solid var(--line);background:var(--paper);border-radius:.9rem;gap:1rem;padding:1.4rem;display:flex}.result-status h1{margin:0 0 .35rem;font-size:clamp(1.45rem,4vw,2rem)}.result-status p{color:var(--muted);margin:0;line-height:1.55}.status-neutral .status-symbol{color:#fff;background:var(--ink)}.status-review{background:var(--amber-soft);border-color:#f59e0b}.status-review .status-symbol{color:#fff;background:var(--amber-dark)}.status-unavailable{background:var(--red-soft);border-color:#fca5a5}.status-unavailable .status-symbol{color:#fff;background:var(--red)}.destination-card{border-left:4px solid var(--ink);background:#e7e5e4;margin:1rem 0 2rem;padding:1rem 1.2rem}.destination-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;display:block}.destination-card bdi{overflow-wrap:anywhere;margin-top:.2rem;font-size:clamp(1.15rem,4vw,1.75rem);font-weight:800;display:block}.result-layout h2{margin:2rem 0 .8rem;font-size:1.1rem}.signal-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.signal-list li{border:1px solid var(--line);background:var(--paper);border-radius:.65rem;gap:.8rem;padding:.9rem;display:flex}.signal-list li>span{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-weight:900;display:grid}.signal-list .signal-review{background:var(--amber-soft);border-color:#f59e0b}.signal-list .signal-review>span{background:var(--amber-dark)}.signal-list p{color:var(--muted);margin:.2rem 0 0;line-height:1.45}.field-list{border:1px solid var(--line);border-radius:.8rem;overflow:hidden}.field-row{background:var(--paper);padding:1rem 1.1rem}.field-row+.field-row{border-top:1px solid var(--line)}.field-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;gap:1rem;margin-bottom:.45rem;font-size:.76rem;font-weight:750;display:flex}.field-value{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%;font-size:1rem;line-height:1.55;display:block}.field-value-long{padding:.75rem 0}.field-actions{gap:.6rem;margin-top:.65rem;display:flex}.microcopy,.clipboard-warning,.copy-status{color:var(--muted);font-size:.77rem;line-height:1.45}.limitations{background:#fafaf9;border:1px dashed #a8a29e;padding:1rem 1.2rem}.limitations h2{margin-top:0}.limitations p{color:var(--muted);line-height:1.5}.primary-button,.review-button,.secondary-button{border-radius:.55rem;min-height:46px;padding:.7rem 1.1rem;font-weight:800}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff}.review-button{border:1px solid var(--amber-dark);background:var(--amber-dark);color:#fff}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.text-button{min-height:44px;color:var(--amber-dark);text-underline-offset:3px;background:0 0;border:0;padding:.4rem .2rem;font-weight:800;text-decoration:underline}.action-button{width:100%;margin-top:1rem}.selection-canvas{background:#1c1917;border-radius:.8rem;width:100%;height:auto;display:block}.selection-list{gap:.65rem;padding:0;list-style:none;display:grid}.selection-list button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:.65rem;grid-template-columns:auto minmax(5rem,.7fr) minmax(7rem,1fr) auto;align-items:center;gap:.8rem;width:100%;padding:.9rem;font-weight:750;display:grid}.number-badge{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.selection-position{color:var(--muted);text-transform:capitalize;font-weight:650}.confirm-dialog{width:min(100% - 2rem,480px);max-width:none;max-height:calc(100% - 2rem);color:var(--ink);background:var(--paper);border:0;border-radius:.9rem;margin:auto;padding:1.5rem;overflow:auto;box-shadow:0 30px 80px #00000059}.confirm-dialog::backdrop{background:#0c0a09b8}.confirm-dialog h2{margin:0;font-size:1.6rem}.confirm-dialog p{color:var(--muted);line-height:1.55}.dialog-actions{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.prose-card{border:1px solid var(--line);background:var(--paper);border-radius:1rem;max-width:720px;padding:clamp(1.4rem,5vw,3rem)}.prose-card h1{letter-spacing:-.045em;margin:.5rem 0 1rem;font-size:clamp(2rem,6vw,3.6rem);line-height:1.05}.prose-card h2{margin-top:2rem}.prose-card p{color:var(--muted);line-height:1.7}.prose-card .lead{color:var(--ink);font-size:1.15rem}.about-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;margin:2rem 0;display:grid}.about-grid div{background:var(--paper);padding:.9rem}.about-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.about-grid dd{overflow-wrap:anywhere;margin:.3rem 0 0;font-weight:750}.install-card{background:#e7e5e4;margin:2rem 0;padding:1rem 1.2rem}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding:1.2rem clamp(1rem,4vw,3rem);font-size:.75rem;display:flex}footer p{margin:0}@media (width<=680px){.site-header{align-items:flex-start}.brand-button small{display:none}.site-header nav button{padding:.5rem}.source-grid{grid-template-columns:1fr}.steps{gap:.4rem}.section-heading{display:grid}.about-grid{grid-template-columns:1fr}footer{display:grid}}@media (width<=400px){.main-content{width:min(100% - 1rem,1040px)}.site-header{padding-inline:.6rem}.source-card{padding:1rem}.steps small{max-width:82px}.dialog-actions,.recovery-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.status-dot,.brand-mark,.source-card,.result-status,.signal-list li,.field-list{forced-color-adjust:auto}}
