:root{--bg: #141a14;--panel: #1f281f;--line: #34413a;--text: #e8ece6;--muted: #9aa69c;--accent: #c9a227;--ok: #5fb36b;--bad: #d9534f;--warn: #e0a030;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);padding:env(safe-area-inset-top) 0 calc(64px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}.top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px}main{padding:0 16px}h2{font-size:1rem;margin:20px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}button,input{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-height:44px}button.primary{background:var(--accent);color:#1a1a1a;border-color:var(--accent);font-weight:600;flex:1}button.danger{color:var(--bad)}button:disabled{opacity:.5}input{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:44px;flex:1;width:100%}.row{display:flex;gap:8px;margin:10px 0}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.chip{font-size:.8rem;padding:3px 10px;border-radius:99px;border:1px solid var(--line)}.chips{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px}.chips button{white-space:nowrap;min-height:36px;padding:6px 12px;border-radius:99px}.chips button[aria-pressed=true]{background:var(--accent);color:#1a1a1a;border-color:var(--accent)}.viewfinder{position:relative;aspect-ratio:4 / 3;background:#000;border-radius:14px;overflow:hidden}.viewfinder video{width:100%;height:100%;object-fit:cover}.reticle{position:absolute;inset:30% 12%;border:2px solid rgba(201,162,39,.8);border-radius:10px;pointer-events:none}.hint{position:absolute;inset:auto 0 10px;text-align:center;color:var(--muted);font-size:.85rem}.card{display:flex;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}.card img,.card .noimg{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#2a352c;flex-shrink:0}.card .body{min-width:0;flex:1}.card .title{font-weight:600;overflow:hidden;text-overflow:ellipsis}.card .sub{font-size:.8rem;color:var(--muted);margin:2px 0 6px}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{font-size:.72rem;padding:2px 6px;border-radius:6px;border:1px solid var(--line)}.badge.hit{border-color:var(--ok);color:var(--ok)}.badge.miss{color:var(--muted)}.badge.error{border-color:var(--bad);color:var(--bad)}.badge.pending{border-color:var(--warn);color:var(--warn)}.facts{font-size:.8rem;margin-top:6px}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top;word-break:break-word}th{color:var(--muted);font-weight:500}td.num,th.num{text-align:right;white-space:nowrap}.ok{color:var(--ok)}.bad{color:var(--bad)}.field{display:grid;gap:6px}.steps{padding-left:0;list-style:none}.steps li{margin:8px 0}.steps button{width:100%;text-align:left}pre{white-space:pre-wrap;font-size:.8rem;background:var(--panel);border-radius:10px;padding:10px;min-height:3em}.tabs{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);background:#141a14f2;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);min-height:56px}.tabs button[aria-current=page]{color:var(--accent);font-weight:600}#toast{position:fixed;left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));background:#2c3a2e;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:center}
