@media screen {
  dialog.pc-camera-dialog {
    color: #172a4d;
    width: min(560px,calc(100vw - 24px));
    max-width: none;
    max-height: calc(100dvh - 24px);
    padding: 0;
    border: 1px solid #c5d5ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 45px #152d5440;
    overflow: auto;
  }
  dialog.pc-camera-dialog::backdrop { background: #172a4d5c; }
  .pc-camera-dialog.pc-camera-fallback { position: fixed; z-index: 9000; top: 12%; left: 50%; transform: translateX(-50%); }
  .pc-camera-dialog [hidden] { display: none !important; }
  .pc-camera-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding: 11px 15px; background:#eff5ff; border-bottom:1px solid #d3e1f5; }
  .pc-camera-head h2 { margin:0; font-size:20px; line-height:1.15; }
  .pc-camera-dialog .pc-camera-close { font-size:22px; min-width:36px; min-height:36px; line-height:1; padding:0 7px; }
  .pc-camera-body { padding: 13px 15px 15px; display: grid; gap: 11px; }
  .pc-camera-body p { margin: 0; }
  .pc-camera-intro, .pc-camera-reason { color: #405775; font-size: 13px; }
  .pc-camera-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .pc-camera-dialog .pc-camera-choice { min-height: 48px; display:flex; align-items:center; justify-content:center; gap:7px; line-height:1.25; font-weight:700; }
  .pc-camera-step { flex:0 0 22px; min-height:22px; display:inline-grid; place-items:center; border-radius:50%; background:#e2edff; color:#173e7a; font-size:12px; }
  .pc-camera-status { padding: 8px 10px; border: 1px solid #d6e3f5; border-radius: 10px; background: #f6f9fe; }
  .pc-camera-state { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:2px 8px; padding:4px 0; }
  .pc-camera-state span { color:#264977; font-weight:650; }
  .pc-camera-operations { display:flex; flex-wrap:wrap; gap:6px; }
  .pc-camera-operations:has(button:not([hidden])) { margin-top:7px; }
  .pc-camera-feedback { padding:8px 10px; border-radius:9px; background:#eaf2ff; color:#214277; font-weight:650; }
  .pc-camera-feedback.pc-camera-error { color:#822d38; background:#fdf1f2; }
  @media (max-width:460px) { .pc-camera-actions { grid-template-columns: 1fr; } }
}
