/* Contact 1.0A — resilient contact dialog for public TMM pages. */
.contact-modal{
  width:min(560px,calc(100vw - 32px));
  max-width:560px;
  margin:auto;
  padding:0;
  border:0;
  border-radius:20px;
  background:transparent;
  color:var(--tmm-ink,#1f2937);
  overflow:visible;
}
.contact-modal::backdrop{
  background:rgba(20,27,38,.36);
  backdrop-filter:blur(3px);
}
.contact-modal[open]{
  animation:contactModalIn 170ms ease-out;
}
.contact-modal-panel{
  position:relative;
  padding:30px 30px 25px;
  border:1px solid var(--tmm-border,rgba(31,41,55,.14));
  border-radius:20px;
  background:var(--tmm-surface,#fff);
  box-shadow:0 24px 70px rgba(20,27,38,.22);
}
.contact-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--tmm-border,rgba(31,41,55,.14));
  border-radius:10px;
  background:var(--tmm-surface-soft,#f7f7f5);
  color:var(--tmm-ink-soft,#596273);
  font:700 22px/1 system-ui,sans-serif;
  cursor:pointer;
}
.contact-modal-close:hover{color:var(--tmm-ink,#1f2937);background:var(--tmm-theme-accent-soft,#fff3e5)}
.contact-modal-kicker{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  margin:0 0 12px;
  padding:4px 10px;
  border:1px solid var(--tmm-border,rgba(31,41,55,.14));
  border-radius:999px;
  background:var(--tmm-surface-soft,#f7f7f5);
  color:var(--tmm-theme-accent-ink,#a44f13);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.contact-modal h2{margin:0 44px 10px 0;font-size:1.55rem;line-height:1.18;letter-spacing:-.02em;color:var(--tmm-ink,#1f2937)}
.contact-modal-text{margin:0 0 20px;color:var(--tmm-ink-soft,#596273);font-size:1rem;line-height:1.58}
.contact-email-box{
  display:grid;
  gap:5px;
  padding:14px 16px;
  border:1px solid var(--tmm-border,rgba(31,41,55,.14));
  border-radius:13px;
  background:color-mix(in oklab,var(--tmm-surface-soft,#f7f7f5) 86%,var(--tmm-theme-accent-soft,#fff3e5) 14%);
}
.contact-email-label{color:var(--tmm-ink-soft,#596273);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.contact-email-address{width:max-content;max-width:100%;color:var(--tmm-ink,#1f2937);font-size:1.05rem;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.contact-email-address:hover{text-decoration:underline}
.contact-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.contact-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border:1px solid var(--tmm-border-strong,var(--tmm-border,rgba(31,41,55,.18)));
  border-radius:11px;
  background:var(--tmm-surface,#fff);
  color:var(--tmm-ink,#1f2937);
  font:750 .92rem/1.2 system-ui,sans-serif;
  text-decoration:none;
  cursor:pointer;
}
.contact-action:hover{background:var(--tmm-surface-soft,#f7f7f5);text-decoration:none}
.contact-action-primary{
  border-color:color-mix(in oklab,var(--tmm-theme-accent,#df7f2d) 64%,var(--tmm-border,transparent));
  background:var(--tmm-theme-accent,#df7f2d);
  color:#fff;
}
.contact-action-primary:hover{background:color-mix(in oklab,var(--tmm-theme-accent,#df7f2d) 90%,#000 10%);color:#fff}
.contact-copy.is-copied{border-color:color-mix(in oklab,#2d8a5f 45%,var(--tmm-border,transparent));background:color-mix(in oklab,#dff4e8 72%,var(--tmm-surface,#fff) 28%)}
.contact-modal-hint{margin:14px 0 0;color:var(--tmm-ink-soft,#596273);font-size:.82rem;line-height:1.45}
body.contact-modal-open{overflow:hidden}
@keyframes contactModalIn{from{opacity:0;transform:translateY(7px) scale(.988)}to{opacity:1;transform:none}}
@media (max-width:560px){
  .contact-modal{width:calc(100vw - 20px)}
  .contact-modal-panel{padding:24px 20px 21px}
  .contact-modal-actions{display:grid;grid-template-columns:1fr}
  .contact-action{width:100%}
}
@media (prefers-reduced-motion:reduce){.contact-modal[open]{animation:none}}

/* Report 1.0A — issue-report dialog reuses the contact modal shell. */
.report-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:-2px 0 18px;
}
.report-details span{
  position:relative;
  padding:9px 11px 9px 28px;
  border:1px solid var(--tmm-border,rgba(31,41,55,.14));
  border-radius:10px;
  background:var(--tmm-surface-soft,#f7f7f5);
  color:var(--tmm-ink-soft,#596273);
  font-size:.84rem;
  font-weight:690;
  line-height:1.32;
}
.report-details span::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--tmm-theme-accent,#df7f2d);
  transform:translateY(-50%);
}
.report-copy.is-copied{border-color:color-mix(in oklab,#2d8a5f 45%,var(--tmm-border,transparent));background:color-mix(in oklab,#dff4e8 72%,var(--tmm-surface,#fff) 28%)}
@media (max-width:560px){.report-details{grid-template-columns:1fr}}
