.cam-stage { position: relative; width: 100%; max-width: 880px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: var(--r-lg); overflow: hidden; background: #0b0f1d; display: grid; place-items: center; }
#cam-video { width: 100%; height: 100%; object-fit: contain; background: #0b0f1d; }
#cam-video.mirrored { transform: scaleX(-1); }
#cam-placeholder { position: absolute; inset: 0; display: grid; place-content: center; gap: 8px; text-align: center; color: #c6cde0; padding: 16px; }
#cam-placeholder svg { width: 46px; height: 46px; margin: 0 auto; opacity: 0.8; }
#cam-flash { position: absolute; inset: 0; background: #fff; opacity: 0; pointer-events: none; }
#cam-flash.on { animation: cam-flash 0.35s ease-out; }
@keyframes cam-flash { 0% { opacity: 0.8; } 100% { opacity: 0; } }
#cam-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.cam-shot { margin: 0; display: grid; gap: 6px; }
.cam-shot img { width: 100%; border-radius: var(--r); border: 1px solid var(--line); }
.cam-stats .stat-value { font-size: 1.15rem; overflow-wrap: anywhere; }
.tips-list { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 6px; color: var(--ink-2); font-size: 0.93rem; }
