:root{--bg: #ffffff;--bg-side: #f6f6f7;--fg: #1f1f1f;--fg-muted: #7a7a7a;--border: #e4e4e7;--accent: #5b6cff;--accent-soft: #eef0ff;--danger: #d64545;--warn: #c98a1a;--ok: #3a9d5d;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;--tap: 44px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #1e1e1e;--bg-side: #262626;--fg: #dadada;--fg-muted: #8f8f8f;--border: #3a3a3a;--accent: #7c8aff;--accent-soft: #2c3050;--danger: #e06c6c;--warn: #d9a13c;--ok: #4fb573;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}html,body,#root{height:100%;margin:0}body{font:16px/1.45 var(--font);color:var(--fg);background:var(--bg);-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}input{font-size:16px;width:100%;min-height:var(--tap);padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-side)}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.app{display:flex;flex-direction:column;height:100%;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.topbar{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 6px) 8px 6px 16px;border-bottom:1px solid var(--border)}.topbar__title{line-height:var(--tap);flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 24px}.tabbar{display:flex;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg)}.tabbar__tab{flex:1;min-height:var(--tap);padding:10px 0 12px;border:0;background:none;font-size:13px;color:var(--fg-muted)}.tabbar__tab[aria-selected=true]{color:var(--accent);font-weight:600}.icon-btn,.btn,.link-btn{min-height:var(--tap);min-width:var(--tap);border-radius:10px;cursor:pointer}.icon-btn{border:0;background:none;font-size:22px;line-height:1;color:var(--fg-muted)}.btn{padding:10px 14px;border:1px solid var(--border);background:var(--bg)}.btn--primary{width:100%;border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.btn--danger{color:var(--danger)}.btn--wide{width:100%}.btn:disabled{opacity:.55}.link-btn{display:inline-flex;align-items:center;padding:0 4px;border:0;background:none;color:var(--accent)}.back{margin-left:-8px}.title{margin:4px 0;font-size:22px;font-weight:700}.lead{margin:0 0 16px;color:var(--fg-muted)}.muted{color:var(--fg-muted);font-size:14px}.section{margin:24px 0 6px;font-size:13px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em}.field{display:block;margin:10px 0}.field__label{display:block;margin-bottom:4px;font-size:14px;color:var(--fg-muted)}.stack>*+*{margin-top:10px}.problem{margin:12px 0;padding:12px;border:1px solid var(--danger);border-radius:10px}.problem p{margin:0 0 8px}.problem--quiet{border-color:var(--border)}.notice{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--border);font-size:14px}.notice p{flex:1;margin:0}.rows{margin:0;padding:0;list-style:none}.row{display:flex;align-items:center;gap:8px;min-height:var(--tap);padding:4px 0;border-bottom:1px solid var(--border)}.row__main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.row__button{flex:1;min-height:var(--tap);padding:0;border:0;background:none;text-align:left}.row__side{color:var(--fg-muted);font-size:14px}.check{width:22px;height:22px;min-height:0;accent-color:var(--accent)}.sheet{margin:4px 0 10px;padding:4px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-side)}.sheet .row:last-child{border-bottom:0}.progress{width:100%;height:8px;margin:16px 0 8px;border-radius:4px;background:var(--border);overflow:hidden}.progress__bar{height:100%;background:var(--accent);transition:width .2s ease}.camera{position:relative;width:100%;aspect-ratio:1;margin:12px 0;border-radius:16px;background:#000;overflow:hidden}.camera video{width:100%;height:100%;object-fit:cover}.guide-steps{padding-left:22px}.guide-steps li{margin:6px 0}.placeholder{padding-top:30vh;text-align:center;color:var(--fg-muted)}@media(prefers-reduced-motion:reduce){.progress__bar{transition:none}}.lazy-screen{min-height:100%}.lazy-screen--failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;text-align:center}.lazy-screen--failed p{margin:0;max-width:32ch}
