/* ---------- «Сумерки»: big type for the gym, error = pink + «!» + words, never colour alone ---------- */
body{font:400 16px/1.45 var(--f-body)}
.app{gap:14px}
.ex label,.camsel>span,.sets h2{font:600 12px/1.2 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ex select{font:700 26px/1.15 var(--f-display);letter-spacing:0}
.ex select option{background:var(--surface);color:var(--ink)}
.icon-btn{width:48px;height:48px;border-radius:15px;border-color:var(--line);background:var(--surface);color:var(--ink)}
.icon-btn[aria-pressed="true"]{background:var(--blue);color:var(--blue-ink);border-color:var(--blue)}
.viewer{border-radius:28px;border-color:var(--line)}
.hud-tr{right:12px;top:12px;border-radius:18px;padding:8px 14px;min-width:86px;text-align:center}
.repnum{font:800 64px/.9 var(--f-num);color:var(--lime);letter-spacing:-.02em}
.replabel{font:600 13px/1.2 var(--f-body);letter-spacing:0;text-transform:none;color:var(--beige);margin-top:4px}
.flip{left:12px;top:12px;width:46px;height:46px;border-radius:15px}
.stage-note b{font:700 22px/1.2 var(--f-display)}
.stage-note span{font-size:15px}
.cue{gap:12px;padding:14px 16px;min-height:72px;background:var(--surface);border-top:1px solid var(--line);color:var(--ink);font:700 21px/1.15 var(--f-display)}
.cue i{width:32px;height:32px;display:grid;place-items:center;font:800 19px/1 var(--f-num);font-style:normal;color:var(--bg);background:var(--blue)}
.cue.info i::after,.cue.tip i::after{content:"i"}
.cue.good{background:var(--good-soft);color:var(--lime)}
.cue.good i{background:var(--lime)}
.cue.good i::after{content:"✓"}
.cue.warn{background:var(--warn-soft);color:#ffffff}
.cue.warn i{background:var(--warn)}
.cue.warn i::after{content:"!"}
.cue.bad{background:var(--bad-soft);color:#ffffff;box-shadow:inset 0 0 0 1.5px var(--pink)}
.cue.bad i{background:var(--pink)}
.cue.bad i::after{content:"!"}
.stage-msg{background:rgba(10,12,20,.66)}
.msg-card{border-radius:22px;background:var(--surface);border-color:var(--line)}
.msg-card h3{font:700 21px/1.2 var(--f-display)}
.msg-card p{color:var(--muted);font-size:15px}
.msg-actions button{min-height:44px;border-radius:14px;padding:8px 14px;font-size:15px;font-weight:700;border-color:var(--line);color:var(--ink)}
.msg-actions button.primary{background:var(--lime);border-color:var(--lime);color:var(--bg)}
.spin{border-top-color:var(--lime)}
.camtip,.camnote{font-size:14.5px}
.camsel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:5px;gap:4px}
.camsel>span{padding:0 6px 0 10px}
.camsel button{min-height:46px;border-radius:13px;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:15px}
.camsel button[aria-pressed="true"]{background:var(--surface-3);color:var(--ink);border:0}
.main-btn{min-height:60px;border-radius:20px;background:var(--lime);color:var(--bg);font:800 19px/1.1 var(--f-display);letter-spacing:.02em;text-transform:uppercase}
.main-btn.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.main-btn.stop{background:var(--lime);color:var(--bg)}
.sets{border-radius:24px;padding:16px;border-color:var(--line)}
.set{border-radius:16px;padding:12px;gap:6px 10px}
.set-n{font:800 22px/1 var(--f-num);color:var(--muted)}
.set-main{font-size:15.5px}
.set-main input{width:66px;min-height:44px;border-radius:12px;background:var(--bg);border-color:var(--line);font:700 20px var(--f-num)}
.set-main input.r{width:54px}
.set-q{font-size:12.5px;font-weight:700;padding:2px 9px}
.set-q.good{background:var(--good-soft);color:var(--lime)}
.set-q.fair{background:var(--warn-soft);color:var(--warn)}
.set-q.bad{background:var(--bad-soft);color:var(--pink)}
.set-q.none{background:var(--bg);color:var(--muted)}
.set-del{min-width:44px;min-height:44px}
.send .main-btn{min-height:56px;font-size:18px}
.send .main-btn.secondary{text-transform:none;font:700 15px/1.3 var(--f-body);letter-spacing:0}
.add-set{min-height:48px;border-radius:16px;font-size:15px}
