@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/figtree-latin.woff2') format('woff2')}
:root{--ink:#0f1115;--muted:#6b7280;--soft:#f3f3f0;--acc:#11768d;--acc-tint:color-mix(in srgb,var(--acc) 10%,#fff);--acc-ink:color-mix(in srgb,var(--acc) 80%,#000);--ok:#0f875d;--warn:#b45309;--bad:#c62828}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff;color:var(--ink);font:16px 'Figtree',system-ui,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}
#app{max-width:520px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 16px) 18px calc(env(safe-area-inset-bottom) + 24px)}
h1{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}.mut{color:var(--muted)}.sm{font-size:13px}
.hero{text-align:center;padding:36px 0 18px}.hero h1{margin:14px 0 6px;font-size:34px}.mark{display:inline-block;width:60px;height:60px;background:var(--acc);-webkit-mask:url(icon.png) center/contain no-repeat;mask:url(icon.png) center/contain no-repeat}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--acc-tint);color:var(--acc-ink);border-radius:999px;padding:6px 14px;font-weight:700;margin-bottom:12px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--acc);flex:none;margin-right:6px}.chip .dot{margin:0}
.status{display:inline-flex;align-items:center;background:var(--soft);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;white-space:nowrap}
.sheet{background:var(--soft);border-radius:24px;padding:16px;margin-bottom:14px}
input{width:100%;font:inherit;padding:14px 18px;border-radius:999px;border:0;background:#fff;color:var(--ink);margin:6px 0 10px;outline:0}input:focus{box-shadow:0 0 0 2px var(--acc)}
.lbl{font-weight:600}.err{color:var(--bad);min-height:1.3em;margin-top:6px;font-size:14px}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:999px;padding:15px 20px;font:inherit;font-weight:600;background:#fff;color:var(--ink);margin:6px 0}
.btn.pri{background:var(--acc);color:#fff}.btn.big{padding:20px;font-size:19px;margin:0 0 14px}.btn.small{width:auto;padding:9px 16px;font-size:14px;margin:0;background:var(--soft)}.btn.small.pri{background:var(--acc)}
.btn.opt{padding:18px;font-size:17px}.btn.alt{background:transparent;border:2px dashed #d0d0ca}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stats{display:flex;gap:10px;margin-bottom:14px}.stats div{flex:1;background:var(--soft);border-radius:20px;padding:12px;text-align:center}.stats b{display:block;font-size:28px;letter-spacing:-.02em}.stats span{color:var(--muted);font-size:13px;font-weight:600}
.res{border-radius:24px;padding:20px;margin-bottom:14px;color:#fff}.res.ok{background:var(--ok)}.res.warn{background:#c26a0a}.res.bad{background:var(--bad)}
.res h2{margin:0 0 6px;font-size:26px;letter-spacing:-.02em}.res .n{font-size:19px;font-weight:600}.res small{opacity:.92;display:block;margin-top:5px}
.list .row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 4px;border-bottom:1px solid #e3e3de}.list .row:last-child{border:0}
.foot{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.adv{margin-top:10px}.adv summary{cursor:pointer;font-size:14px}
#cam{position:fixed;inset:0;background:#000;z-index:9;display:none;flex-direction:column}#cam video{flex:1;object-fit:cover;width:100%}#cam button{border-radius:0;margin:0;background:#fff}
