/* A quiet, photographic request panel within the existing P-sheet identity. */
.private-conversation { width:min(980px,calc(100vw - 40px)); max-width:none; max-height:calc(100svh - 40px); padding:0; border:1px solid var(--block); background:var(--paper); color:var(--ink); overflow:auto; overscroll-behavior:contain; }
.private-conversation::backdrop { background:rgb(14 29 22 / .66); }
.private-conversation [hidden] { display:none!important; }
.conversation-layout { display:grid; grid-template-columns:minmax(0,.77fr) minmax(0,1fr); min-height:700px; }
.conversation-close { position:sticky; z-index:2; top:12px; display:block; width:44px; height:44px; margin:-26px -26px -18px auto; border:1px solid var(--line); background:var(--paper); color:var(--ink); font:400 28px/1 var(--body); cursor:pointer; }
.conversation-photo { position:relative; margin:0; min-width:0; background:var(--block); }
.conversation-photo img { display:block; width:100%; height:100%; min-height:700px; position:absolute; inset:0; object-fit:cover; object-position:48% center; }
.conversation-photo figcaption { position:absolute; inset:auto 0 0; padding:14px 18px; color:var(--block-ink); background:var(--block); font:400 11px/1.5 var(--body); }
.conversation-photo figcaption a { color:inherit; }
.conversation-sheet { min-width:0; padding:38px 38px 24px; }
.conversation-preview { margin:0 40px 22px 0; font:400 12px/1.5 var(--body); color:var(--muted); }
.conversation-sheet h2 { margin:0 26px 14px 0; font:500 clamp(32px,3.2vw,46px)/1.06 var(--display); letter-spacing:-.025em; }
.conversation-intro { margin:0 0 14px; font:400 15px/1.6 var(--body); }
.conversation-context { padding-block:10px; margin:0 0 20px; border-block:1px solid var(--line); font:400 12px/1.5 var(--body); color:var(--muted); }
.conversation-label { display:block; margin:0 0 8px; font:600 14px/1.5 var(--body); }
.conversation-label small { color:var(--muted); font-weight:400; }
.conversation-fields input:not([type=radio]),.conversation-fields textarea { width:100%; box-sizing:border-box; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:0; padding:13px 14px; min-height:50px; margin:0 0 20px; font:400 16px/1.5 var(--body); }
.conversation-fields textarea { resize:vertical; min-height:90px; }
.conversation-fields input::placeholder,.conversation-fields textarea::placeholder { color:var(--muted); opacity:1; }
.conversation-channel { padding:0; margin:2px 0 22px; border:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.conversation-channel legend { margin-bottom:10px; padding:0; font:600 14px/1.5 var(--body); }
.conversation-channel label { display:flex; gap:10px; align-items:center; min-height:52px; padding:12px 16px; border:1px solid var(--line); font:400 16px/1.4 var(--body); cursor:pointer; }
.conversation-channel label:has(input:checked) { background:var(--block); color:var(--block-ink); border-color:var(--block); }
.conversation-channel input { accent-color:var(--block); width:16px; height:16px; margin:0; flex-shrink:0; }
.conversation-call-details { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.conversation-call-details input { margin-bottom:8px!important; }
.conversation-fields .conversation-hint { margin:-6px 0 20px; }
.conversation-hint,.conversation-privacy p { font:400 12px/1.6 var(--body); color:var(--muted); }
.conversation-submit { display:flex; justify-content:center; align-items:center; width:100%; min-height:58px; padding:16px; border:1px solid var(--block); font:500 17px/1.4 var(--body); cursor:pointer; }
.conversation-submit+.conversation-hint { margin:12px 0 0; }
.conversation-submit:disabled { opacity:.65; cursor:wait; }
.conversation-error { border-left:3px solid var(--signal); padding:10px 12px; font:400 14px/1.5 var(--body); }
.conversation-trap { display:none; }
.conversation-privacy { margin-top:18px; border-top:1px solid var(--line); }
.conversation-privacy summary { padding-block:13px; cursor:pointer; font:400 12px/1.5 var(--body); }
.conversation-review h3 { font:500 32px/1.12 var(--display); margin:0 0 16px; }
.conversation-review p { font:400 14px/1.6 var(--body); }
.conversation-review dl { margin:24px 0; }
.conversation-review dl div { border-top:1px solid var(--line); padding:12px 0; }
.conversation-review dt { font:600 12px/1.5 var(--body); color:var(--muted); }
.conversation-review dd { margin:4px 0 0; font:400 16px/1.5 var(--body); white-space:pre-wrap; overflow-wrap:anywhere; }
.private-conversation :focus-visible { outline:2px solid var(--block-text); outline-offset:4px; }
.private-conversation [aria-invalid=true] { border-color:var(--signal)!important; }
@media(max-width:760px) {
  .private-conversation { width:calc(100vw - 20px); max-height:calc(100svh - 20px); }
  .conversation-layout { display:block; min-height:0; }
  .conversation-photo { height:160px; }
  .conversation-photo img { min-height:0; height:160px; object-position:50% 56%; }
  .conversation-photo figcaption { font-size:9px; padding:7px 12px; }
  .conversation-sheet { padding:24px 22px; }
  .conversation-sheet h2 { font-size:36px; margin-right:0; }
  .conversation-preview { margin-bottom:18px; }
  .conversation-close { top:10px; margin:-14px -12px -30px auto; }
  .conversation-call-details { grid-template-columns:1fr; gap:0; }
  .conversation-channel label { padding-inline:12px; }
}
@media(prefers-reduced-motion:no-preference) { .private-conversation[open] .conversation-sheet { animation:conversation-appear .2s ease-out; } @keyframes conversation-appear { from{opacity:.5;transform:translateY(6px)} to{opacity:1;transform:none} } }
