:root{--accent:#01D5CC;--background:#0a0a0a;--surface:#121212;--surface-raised:#191919;--border:rgba(153,153,153,.2);--border-strong:#686868;--text:#f5f5f5;--muted:#a6a6a6;--accent-surface:#003835;color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:var(--background);color:var(--text)}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px,env(safe-area-inset-left))}header,main,footer{max-width:540px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:24px 0 36px;color:var(--muted)}a{color:inherit}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:24px;font-weight:650;text-decoration:none}.brand img{border-radius:12px}h1{font-size:34px;letter-spacing:-1px;margin:0 0 12px}h2{font-size:21px;margin:0 0 16px}p{line-height:1.5;color:var(--muted)}.panel{background:var(--surface);padding:24px;border:1px solid var(--border);border-radius:24px;margin:20px 0}.eyebrow{font-size:13px;letter-spacing:1px;color:var(--accent)}.score{font-size:64px;font-weight:650;letter-spacing:-3px;margin:16px 0}.set-line{font-size:23px;color:var(--text);margin:0 0 12px}.details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.details span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.details strong{font-size:17px;font-weight:550}button,input{font:inherit;min-height:52px;border-radius:14px;padding:14px 18px}button{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer}button.primary{background:var(--accent);color:var(--background);border-color:var(--accent);font-weight:650;width:100%}button.secondary{background:transparent;width:100%;margin-top:10px}button.danger{background:#4a2424;border-color:#7a4545;width:100%;margin-top:20px}input{display:block;width:100%;background:var(--background);border:1px solid var(--border-strong);color:#fff;margin:12px 0}.card{width:100%;display:block;text-align:left;margin:12px 0;background:var(--surface);border:1px solid var(--border);border-radius:20px}.card strong{display:block;font-size:28px;letter-spacing:-1px;margin-top:12px}.card small{display:block;color:var(--muted);margin-top:6px;font-size:14px}.error{border-color:#a8665a;background:#38251f}.notice{padding:16px;border-radius:14px;background:var(--accent-surface);color:var(--text)}details{margin-top:24px}summary{cursor:pointer;min-height:44px;line-height:44px;color:var(--accent)}.empty{padding:36px 12px;text-align:center}footer{font-size:13px;line-height:1.6;color:var(--muted);padding:40px 0 28px}.count{font-size:64px;letter-spacing:-3px;margin:20px 0}.muted{color:var(--muted);font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
.camera{position:relative;overflow:hidden;border-radius:24px;background:#000;aspect-ratio:1; margin:24px 0}.camera video{display:block;width:100%;height:100%;object-fit:cover}.camera-guide{position:absolute;inset:15%;border:3px solid var(--accent);border-radius:20px;pointer-events:none}
select{display:block;width:100%;font:inherit;min-height:52px;border-radius:14px;padding:14px 18px;background:var(--background);border:1px solid var(--border-strong);color:#fff;margin:12px 0 18px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.stats-grid div{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px}.stats-grid strong{display:block;font-size:30px;letter-spacing:-1px}.stats-grid span{display:block;font-size:14px;color:var(--muted);margin-top:8px}.account-button{background:transparent;min-height:44px;padding:10px 14px}.recovery-code{font-family:monospace;font-size:22px;overflow-wrap:anywhere;user-select:all}button:disabled{opacity:.6;cursor:wait}label{display:block;margin-top:16px}

header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 32px}.brand{display:flex;align-items:center;gap:10px;min-width:0;width:auto}.brand .brand-icon{display:block;flex:0 0 36px;width:36px;height:36px;border-radius:10px}.brand .brand-logo{display:block;width:190px;max-width:100%;min-width:0;height:auto;border-radius:0}.account-button{flex-shrink:0}@media(max-width:360px){header{gap:10px}.brand{gap:8px}.brand .brand-logo{width:150px}.account-button{padding:10px}}

.result-image{margin-top:20px}.result-image img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid var(--border)}
