:root{color-scheme:light dark;--bg: #f7f7f5;--bg-soft: #ededeb;--panel: #ffffff;--panel-strong: #f1f1ef;--text: #111111;--muted: #4a4a4a;--line: #d8d8d4;--accent: #5f5f5f;--accent-strong: #2f2f2f;--accent-soft: rgba(120, 120, 120, .12);--accent-border: rgba(120, 120, 120, .45);--shadow: rgba(17, 17, 17, .12);--button-text: #ffffff;--danger: #b42318;--success: #1f7a4d;--warning: #b7791f;--max-width: 1120px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f0f0f;--bg-soft: #151515;--panel: #181818;--panel-strong: #202020;--text: #f4f4f2;--muted: #b0b0ad;--line: #343434;--accent: #bdbdb8;--accent-strong: #ffffff;--accent-soft: rgba(189, 189, 184, .1);--accent-border: rgba(189, 189, 184, .45);--shadow: rgba(0, 0, 0, .32);--button-text: #111111}}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100vh;margin:0;color:var(--text);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);font-size:16px;line-height:1.5}a{color:inherit}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link:focus{position:absolute;top:.75rem;left:.75rem;z-index:100;padding:.6rem .9rem;border-radius:.5rem;background:var(--text);color:var(--bg);font-weight:700}.site-header,.footer-note,.section{width:min(100% - 2rem,var(--max-width));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:10;padding:1.25rem 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:700}.brand:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px;border-radius:.5rem}.brand-mark{width:2.5rem;height:2.5rem;border:1px solid var(--accent-border);border-radius:.85rem;background:var(--panel-soft, var(--panel));box-shadow:0 0 2rem var(--glow, var(--shadow));object-fit:contain}.brand-stack{display:inline-grid;gap:.05rem;line-height:1.05}.sage-name{letter-spacing:-.035em;font-size:1.08rem}.brand-wordmark{color:var(--muted);font-size:.78rem;line-height:inherit;text-transform:none;white-space:nowrap}.brand-wordmark b{color:var(--text);font-weight:700}.brand-wordmark i{color:var(--text);font-style:italic;font-weight:400}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.site-nav a,.site-nav .nav-action{border:1px solid transparent;border-radius:999px;color:var(--muted);padding:.55rem .85rem;text-decoration:none;background:transparent;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.site-nav a:hover,.site-nav .nav-action:hover{border-color:var(--line);background:var(--panel-hover, var(--panel-strong));color:var(--text)}.site-nav a[aria-current=page]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text)}.site-nav a:focus-visible,.site-nav .nav-action:focus-visible{border-color:var(--line);background:var(--panel-hover, var(--panel-strong));color:var(--text);outline:2px solid var(--accent-strong);outline-offset:2px}.site-nav .nav-action.primary{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text)}.auth-user{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:var(--text);padding:.35rem .7rem .35rem .4rem}.auth-user-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700}.page-center{display:grid;place-items:start center;min-height:calc(100vh - 8rem);padding:5.5rem 1rem 3rem}.scanner-card{width:min(100%,38rem);border:1px solid var(--line);border-radius:.75rem;background:var(--panel);box-shadow:0 1.25rem 3rem var(--shadow);padding:2rem;text-align:center}.logo-block{margin-bottom:1.35rem}.compact-logo{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;text-align:left}.scanner-logo{width:3.5rem;height:3.5rem;border:1px solid var(--accent-border);border-radius:1rem;background:var(--panel-strong);box-shadow:0 0 2rem var(--glow, var(--shadow))}.logo-title{margin:0;font-size:clamp(2.35rem,9vw,4.2rem);line-height:1;letter-spacing:-.06em}.logo-byline{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.logo-byline b{color:var(--text)}.logo-byline i{font-style:italic}.tab-list{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;border:1px solid var(--line);border-radius:999px;background:var(--panel-strong);padding:.3rem;margin:0 0 1.15rem}.tab-button{min-height:2.45rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);padding:.55rem .85rem}.tab-button[aria-selected=true]{border-color:var(--accent-border);background:var(--panel);color:var(--text);box-shadow:0 .75rem 1.5rem var(--shadow)}.tab-panel{min-height:10rem}.tab-panel[hidden]{display:none}.panel-title{margin:0 0 .35rem;font-size:1.35rem;letter-spacing:-.035em}.form-stack{display:grid;gap:.8rem}.hash-row{display:grid;grid-template-columns:1fr auto;gap:.6rem}input[type=search],input[type=text]{min-height:2.65rem;width:100%;border:1px solid var(--line);border-radius:.35rem;background:var(--panel);color:var(--text);padding:.6rem .75rem;font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;border:1px solid var(--accent-strong);border-radius:.35rem;background:var(--accent-strong);color:var(--button-text);padding:.6rem 1rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary,button.secondary{border-color:var(--line);background:var(--panel);color:var(--text)}button:focus-visible,.button:focus-visible,input:focus-visible,.file-button:focus-within,a:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.helper{margin:.8rem 0 0;color:var(--muted);font-size:.9rem}.error-text{margin:.65rem 0 0;color:var(--danger);font-weight:700}.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none}.badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:var(--panel-strong);color:var(--muted);padding:.22rem .55rem;font-size:.78rem;font-weight:700}.badge.success{color:var(--success)}.badge.danger{color:var(--danger)}.badge.warning{color:var(--warning)}.file-button{display:grid;gap:.45rem;border:1px solid var(--line);border-radius:.45rem;background:var(--panel-strong);padding:1rem;cursor:pointer}.file-button strong{font-size:1rem}.file-button span{color:var(--muted);font-size:.9rem}.file-button input{width:100%}.login-card-actions{display:grid;gap:.65rem;margin-top:1rem}.sample-meta{display:grid;gap:.75rem;text-align:left}.hash-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth-panel{width:min(100%,34rem);display:grid;place-items:center}.footer-note{width:min(100% - 1.5rem,var(--max-width));margin:0 auto;border-top:1px solid var(--line);padding:1rem 0 2rem;color:var(--muted);font-size:.9rem;text-align:center}@media(max-width:640px){.site-header{align-items:flex-start;flex-direction:column}.site-nav{justify-content:flex-start}.page-center{padding-top:3rem}.scanner-card{padding:1.25rem}.compact-logo{text-align:center;flex-direction:column;gap:.55rem}.hash-row{grid-template-columns:1fr}button,.button{width:100%}}
