/* Canonical ItemReveal landing-page styling. See UI_STANDARD.md. */
@font-face {
  font-family: Inter;
  src: url("fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --ir-background: #f8f6f1;
  --ir-card: #ffffff;
  --ir-text: #092f59;
  --ir-heading: #082f59;
  --ir-primary: #083865;
  --ir-primary-hover: #124b7d;
  --ir-muted: #536476;
  --ir-border: #dfe3e8;
  --ir-focus: #0b3765;
  --ir-sans: Inter, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --ir-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
html body.pt-ui {
  background: var(--ir-background) !important;
  color: var(--ir-text) !important;
  font-family: var(--ir-sans);
  line-height: 1.5;
}
html body.pt-ui h1 {
  color: var(--ir-heading) !important;
  font-family: var(--ir-serif) !important;
  font-weight: 600;
}
html body.pt-ui .card > h2,
html body.pt-ui .pt-login-card h2,
html body.pt-ui .pt-register-card h2 {
  color: var(--ir-heading);
  font-family: var(--ir-serif);
  font-weight: 600;
  line-height: 1.2;
}
html body.pt-ui :is(button, input, select, textarea) { font-family: inherit; }
html body.pt-ui :is(.muted, .pt-auth-copy p, .pt-register-copy p, .pt-landing-text) {
  color: var(--ir-muted);
}
html body.pt-ui .card {
  border-color: var(--ir-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 5px 18px rgba(8, 47, 89, .04) !important;
}
html body.pt-ui .app-header {
  border-color: var(--ir-border);
  box-shadow: none;
}
html body.pt-ui .app-logo-owner { width: 210px; height: auto; }
html body.pt-ui :is(.project-menu summary, .itemreveal-top, .user-top a) {
  color: var(--ir-primary);
  font-weight: 600;
}
html body.pt-ui :is(.project-menu-box, .pt-mobile-drawer) {
  border-color: var(--ir-border);
}
html body.pt-ui .project-menu-box a { color: var(--ir-text); font-weight: 600; }
html body.pt-ui .project-menu-box a:hover {
  background: #edf3f8;
  color: var(--ir-primary);
}
html body.pt-ui .payment-top,
html body.pt-ui .pt-mobile-nav .pt-mobile-payment {
  border-color: var(--ir-primary);
  background: var(--ir-primary);
  color: #fff;
}
html body.pt-ui .payment-top:hover,
html body.pt-ui .pt-mobile-nav .pt-mobile-payment:hover { background: var(--ir-primary-hover); }
html body.pt-ui .pt-mobile-drawer-logo { width: 164px; height: auto; }
html body.pt-ui :is(.pt-mobile-back, .pt-mobile-back-arrow, .pt-mobile-nav a, .pt-mobile-close) {
  color: var(--ir-primary);
}
html body.pt-ui .pt-mobile-nav a:hover { background: #edf3f8; }
html body.pt-ui .pt-mobile-nav .pt-mobile-payment { color: #fff; }
html body.pt-ui .pt-mobile-logout { color: #a12a2a; }
html body.pt-ui :is(select, .pt-login-card input, .pt-register-card input) {
  min-height: 40px;
  border-color: var(--ir-border);
  background-color: var(--ir-card);
  color: var(--ir-text);
  font-size: 16px;
}
html body.pt-ui select {
  appearance: none;
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23083865' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
html body.pt-ui :is(.pt-login-card label, .pt-register-card label) {
  color: var(--ir-text);
  font-size: 14px;
  font-weight: 600;
}
html body.pt-ui .pt-landing-title { font-size: clamp(36px, 5vw, 52px); }
html body.pt-ui .pt-flow-brand-icon img { width: 164px; height: auto; }
html body.pt-ui .pt-flow-card {
  background: #fff;
  border-color: var(--ir-border);
  box-shadow: 0 8px 30px rgba(8, 47, 89, .06);
}
html body.pt-ui .pt-flow-card::before { background: #edf3f8; }
html body.pt-ui .pt-eyebrow {
  border-color: #cbd6df;
  background: #edf3f8;
  color: var(--ir-primary);
}
html body.pt-ui .pt-auth-notice:not(.error) {
  border-color: #cbd6df;
  background: #edf3f8;
  color: var(--ir-primary);
}
html body.pt-ui :is(.pt-backup-flow-note, .pt-backup-stat) {
  border-color: var(--ir-border);
  background: #f3f6f9;
}
html body.pt-ui .pt-backup-option { border-color: var(--ir-border); }
html body.pt-ui :is(a, button, select, input, textarea, summary):focus-visible {
  outline: 2px solid var(--ir-focus);
  outline-offset: 3px;
}
html body.pt-ui .pt-problem-brand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--ir-muted);
  font-size: 14px;
}
html body.pt-ui .pt-problem-brand img { width: 210px; height: auto; }
html body.pt-ui.pt-problem-page section { border-color: var(--ir-border); }
html body.pt-ui.pt-problem-page .code {
  background: #edf3f8;
  color: var(--ir-text);
  font-size: 14px;
}
html body.pt-ui.pt-problem-page :is(button, a) { background: var(--ir-primary); }
html body.pt-ui.pt-problem-page .secondary {
  background: #fff;
  color: var(--ir-primary);
  border: 1px solid var(--ir-border);
}
html body.pt-camera-ui { font-family: var(--ir-sans); }
html body.pt-camera-ui :is(button, input, select) { font-family: inherit; }
@media (max-width: 800px) {
  html body.pt-ui .pt-mobile-brand-logo { width: 164px; }
  html body.pt-ui .pt-problem-brand img { width: 164px; }
}
