:root{--navy:#0A131B;--orange:#F57C00;--orange-h:#E96910;--off:#F6F2EB;--blue:#3FA3E3;--blue-t:#E8F4FD;--muted:#5b6670;--line:#d9d2c5}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--off);color:var(--navy);font-family:Inter,system-ui,-apple-system,Arial,sans-serif;-webkit-text-size-adjust:100%}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;color:var(--navy);padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:4px solid var(--orange)}
.brand{display:flex;align-items:center;min-width:0;color:var(--navy);text-decoration:none;font-weight:800}
.brand img{height:40px;width:auto;max-width:200px;display:block}
.tag{font-family:"Barlow Condensed",Arial Narrow,sans-serif;font-weight:800;font-size:18px;letter-spacing:1px;text-transform:uppercase;color:var(--orange);white-space:nowrap}
.who{background:none;border:1px solid var(--line);color:var(--navy);font:inherit;font-size:13px;padding:6px 10px}
.manual{margin-top:18px}
.manual summary{cursor:pointer;color:var(--muted);font-size:14px}
main{max-width:560px;margin:0 auto;padding:16px 16px 48px}
h1{font-family:"Barlow Condensed",Arial Narrow,sans-serif;font-weight:800;font-size:36px;text-transform:uppercase;margin:8px 0 4px}
.lead{color:var(--muted);margin:0 0 14px}
.lbl{display:block;font-weight:600;margin:16px 0 6px}
.field{width:100%;font:inherit;font-size:17px;padding:13px 12px;border:1px solid var(--line);background:#fff;border-radius:0;color:var(--navy);-webkit-appearance:none;appearance:none}
.field:focus{outline:2px solid var(--blue);outline-offset:-1px}
.btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:800;font-size:16px;padding:14px 16px;border:2px solid transparent;cursor:pointer;text-align:center;border-radius:0;user-select:none;-webkit-tap-highlight-color:transparent}
.btn.primary{background:var(--orange);color:#fff}
.btn.primary:active,.btn.primary:hover{background:var(--orange-h)}
.btn.outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn.outline.light{background:transparent;color:#fff;border-color:#fff}
.btn.big{width:100%;font-size:19px;padding:18px;margin-top:20px}
.btn:disabled{opacity:.55;cursor:default}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-weight:600;font-size:15px;padding:11px 14px;background:#fff;border:1px solid var(--line);color:var(--navy);cursor:pointer;border-radius:0}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
#otherName{margin-top:10px}
.err{color:#b42318;font-weight:600;min-height:1.2em}
.rules{background:var(--blue-t);border-left:4px solid var(--blue);padding:10px 14px;margin-bottom:6px}
.rules summary{font-weight:800;cursor:pointer}
.rules ol{margin:10px 0 2px;padding-left:20px}
.rules li{margin:6px 0;line-height:1.4}
.step{background:#fff;border:1px solid var(--line);padding:14px;margin-top:12px}
.step-h{display:flex;align-items:center;gap:10px;font-family:"Barlow Condensed",Arial Narrow,sans-serif;font-weight:800;font-size:24px;text-transform:uppercase}
.step-h em{font-family:Inter,sans-serif;font-style:normal;font-weight:400;font-size:13px;text-transform:none;color:var(--muted)}
.n{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-size:17px}
.step.ok .n{background:#1a7f37}
.step.miss{border-color:#b42318;box-shadow:inset 3px 0 0 #b42318}
.hint{color:var(--muted);margin:6px 0 10px;line-height:1.4}
.hint.small{font-size:13px;margin-bottom:0}
.slot img{width:100%;display:block;margin-bottom:10px;background:#eee}
.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.row2{display:grid;grid-template-columns:1fr 96px;gap:8px}
.status{font-weight:600;text-align:center;min-height:1.3em;margin-top:12px}
.status.bad{color:#b42318}
.done-mark{width:84px;height:84px;margin:30px auto 8px;background:#1a7f37;color:#fff;font-size:52px;display:flex;align-items:center;justify-content:center}
#done{text-align:center}

/* camera */
.cam{position:fixed;inset:0;z-index:50;background:#000;color:#fff}
.stage{position:absolute;inset:0}
.stage video,.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#ghost{pointer-events:none;opacity:.45}
.cam-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(#000a,#0000)}
.cam-x{background:none;border:1px solid #fff9;color:#fff;font:inherit;font-weight:600;padding:8px 12px}
#camLabel{font-family:"Barlow Condensed",Arial Narrow,sans-serif;font-weight:800;font-size:22px;letter-spacing:1px}
.cam-msg{position:absolute;left:16px;right:16px;top:40%;text-align:center;background:#000c;padding:14px;line-height:1.4}
.cam-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 16px max(22px,env(safe-area-inset-bottom));background:linear-gradient(#0000,#000b)}
.ghost-ctl{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.ghost-ctl input{width:160px}
#shutter{width:76px;height:76px;border-radius:50%;border:5px solid #fff;background:var(--orange);cursor:pointer}
#shutter:active{transform:scale(.94)}
textarea.field{resize:vertical;line-height:1.4}
.whobar{max-width:560px;margin:0 auto;padding:10px 16px 0;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:8px}
.whobar b{color:var(--navy)}
.whobar button{font:inherit;font-size:13px;background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;padding:4px}
.chips.names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips.names .chip{font-size:18px;padding:18px 12px}
#otherBox{margin-top:12px}
