/* Kamera-simulator */
.kam{gap:14px}
.kam-stage{position:relative;background:#05090c;border-radius:20px;overflow:hidden;min-height:340px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.kam-canvas{display:block;width:100%;height:auto;max-height:64vh;object-fit:contain;background:#05090c;aspect-ratio:16/9}
.kam-video{position:absolute;width:2px;height:2px;opacity:0;pointer-events:none;left:0;top:0}
.kam-chip{display:flex;gap:8px;align-items:center;font:500 12.5px/1.3 var(--f-body);color:#fff;background:rgba(5,12,16,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 12px 7px 9px;border-radius:99px}
.kam-chip svg{width:16px;height:16px;flex:none;stroke:#7fe3d7;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kam-privacy{pointer-events:none;position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);border-radius:14px;z-index:3}
.kam-demo{position:absolute;right:10px;top:10px;z-index:4;display:flex;align-items:center;gap:8px;color:#fff;background:rgba(5,12,16,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 14px 5px 6px;border-radius:99px;font:600 13px var(--f-mono)}
.kam-demo svg{width:30px;height:30px;transform:rotate(-90deg)}
.kam-demo circle{fill:none;stroke-width:3.4}
.kam-demo .bg{stroke:rgba(255,255,255,.2)}
.kam-demo .fg{stroke:#3fd0c6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset .3s linear,stroke .3s}
.kam-demo.low .fg{stroke:#f1b84a}
.kam-demo.low{animation:kampulse 1s ease-in-out infinite}
@keyframes kampulse{50%{box-shadow:0 0 0 5px rgba(241,184,74,.25)}}
.kam-idle,.kam-msg{position:absolute;inset:0;padding-bottom:64px!important;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:#fff;z-index:2;background:radial-gradient(120% 90% at 50% 40%,rgba(10,143,138,.28),rgba(5,9,12,.92))}
.kam-idle h3,.kam-msgbox h3{font-size:clamp(22px,4vw,30px);color:#fff}
.kam-idle p,.kam-msgbox p{color:rgba(255,255,255,.82);max-width:46ch;font-size:15.5px;line-height:1.5}
.kam-idle .btn .ico{width:22px;height:22px;display:block}
.kam-idle .btn .ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kam-msg[hidden]{display:none}
.kam-msgbox{display:flex;flex-direction:column;align-items:center;gap:12px}
.kam-msgbox .row{justify-content:center}
.kam-msgbox .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.kam-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:5}
.kam-flash.go{animation:kamflash .45s ease-out}
@keyframes kamflash{0%{opacity:.85}100%{opacity:0}}
.kam-bar{display:flex;justify-content:center;align-items:center;gap:26px}
.kam-round{width:50px;height:50px;border-radius:50%;border:0;background:var(--surface-3);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .15s,background .15s}
.kam-round:hover{background:var(--accent-soft)}
.kam-round:active{transform:scale(.94)}
.kam-round:disabled{opacity:.4;pointer-events:none}
.kam-round svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kam-shutter{width:68px;height:68px;border-radius:50%;border:4px solid var(--accent);background:transparent;padding:4px;cursor:pointer;transition:transform .12s}
.kam-shutter span{display:block;width:100%;height:100%;border-radius:50%;background:var(--accent);transition:transform .12s}
.kam-shutter:active span{transform:scale(.88)}
.kam-shutter:disabled{opacity:.35;pointer-events:none}
.kam-toast{text-align:center;min-height:1.3em;margin:0}
.kam-panel{background:var(--surface-2);border-radius:var(--r);padding:12px 14px 16px;display:flex;flex-direction:column;gap:12px}
.kam-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface-3);border-radius:14px;padding:4px}
.kam-tabs button{border:0;background:none;padding:10px 6px;border-radius:11px;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink-2)}
.kam-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.kam-pane{display:flex;flex-direction:column;gap:12px}
.kam-presets{display:flex;flex-wrap:wrap;gap:6px}
.kam-chipbtn{border:0;cursor:pointer;background:var(--surface);color:var(--ink);padding:7px 12px;border-radius:99px;font-weight:600;font-size:13.5px;box-shadow:inset 0 0 0 1.5px var(--line)}
.kam-chipbtn:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.kam .seg{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.kam .seg label{padding:10px 12px;font-size:14.5px;background:var(--surface)}
.kam .seg input:checked+label{background:var(--accent-soft)}
.kam-tint{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.kam-tint label{padding:9px 4px!important;text-align:center;font-size:13px!important}
.kam-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:500;cursor:pointer}
.kam-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent);flex:none}
@media (min-width:900px){.kam-panel{display:grid;grid-template-columns:200px 1fr;align-items:start}.kam-tabs{grid-template-columns:1fr;position:sticky;top:8px}}
@media (max-width:520px){.kam-privacy span{font-size:11.5px}.kam-demo{font-size:12px}}
.kam-stage.locked{min-height:420px}
