:root{color-scheme:dark;--bg:#101827;--panel:#192438;--line:#2a3850;--text:#f4f7fb;--muted:#aab7ca;--accent:#42d392;--blue:#638dff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app{width:min(100%,560px);min-height:100dvh;margin:auto;padding:calc(22px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}header h1{font-size:28px;margin:8px 0 2px}header p{margin:0;color:var(--muted)}.badge{display:inline-flex;gap:6px;align-items:center;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.badge span{color:white}.name-label{font-size:14px;color:var(--muted);margin:4px 0 -4px}input{min-height:48px;border-radius:12px;border:1px solid var(--line);background:#111c2d;color:var(--text);padding:0 14px;font:inherit}h2{font-size:19px;margin:0 0 8px}a.link-button{display:inline-block;margin-top:8px;text-decoration:none;border-radius:12px;background:var(--accent);color:#07150e;padding:12px 16px;font-weight:600}.back-link{color:var(--muted);text-decoration:none}ul{margin-bottom:0;padding-left:22px}li{padding:3px 0}.camera-card{position:relative;overflow:hidden;aspect-ratio:4/3;background:#080d16;border:1px solid var(--line);border-radius:20px}video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.placeholder[hidden]{display:none}.placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);padding:20px;text-align:center;pointer-events:none}.camera-mark{position:absolute;left:10px;right:10px;bottom:10px;padding:6px 10px;border-radius:9px;background:#08101dbb;color:#d5deeb;font-size:11px;text-align:center}.actions{display:grid;gap:10px}button{border:0;border-radius:13px;min-height:48px;padding:12px 16px;background:var(--accent);color:#07150e;font:inherit;font-size:15px;font-weight:600;cursor:pointer}button:disabled{opacity:.42;cursor:default}.secondary{background:var(--panel);color:var(--text);border:1px solid var(--line)}.result{min-height:48px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 15px;color:var(--muted)}.result.success{color:var(--accent)}.result.error{color:#ff8b8b}.text-button{background:transparent;color:#ffaaaa;min-height:38px}footer{margin-top:auto;color:#91a0b6;font-size:12px;padding-top:8px}



