/* Scoped reset, typography, and accessibility foundations. */
html[data-pp-ui] {
  min-height: 100%;
  background: var(--pp-bg);
  font-family: var(--pp-font-sans);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

html[data-pp-ui] *,
html[data-pp-ui] *::before,
html[data-pp-ui] *::after {
  box-sizing: border-box;
}

html[data-pp-ui] [hidden] {
  display: none !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) body {
  min-height: 100vh;
  margin: 0;
  color: var(--pp-text);
  font-family: var(--pp-font-sans) !important;
  font-size: 1rem;
  line-height: 1.55;
  background-color: var(--pp-bg);
}

html[data-pp-ui][data-pp-surface="workspace"] body {
  background: #f5f1e8 !important;
}

html[data-pp-ui][data-color-profile="dark"][data-pp-surface="workspace"] body {
  background: #0f0e0a !important;
}

html[data-pp-ui][data-pp-surface="care"] body,
html[data-pp-ui][data-pp-surface="onboarding"] body,
html[data-pp-ui][data-pp-surface="auth"] body,
html[data-pp-ui][data-pp-surface="legal"] body,
html[data-pp-ui][data-pp-surface="public-state"] body {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(246, 239, 222, 0.95)),
    url("/static/parting_portal_webui_bg.jpg") center top / cover fixed no-repeat !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h1,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h2,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h3,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h4,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h5,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h6 {
  margin-block-start: 0;
  color: var(--pp-heading);
  font-family: var(--pp-font-sans);
  font-weight: 780;
  line-height: 1.16;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h1 {
  font-size: clamp(2rem, 3.5vw, 3rem);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  letter-spacing: -0.012em !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) h4 {
  font-size: 1rem;
  letter-spacing: 0 !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) p,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) li,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) dd,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) td {
  overflow-wrap: anywhere;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) p {
  text-wrap: pretty;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) a {
  color: var(--pp-link);
  text-underline-offset: 0.16em;
  text-decoration-thickness: 0.08em;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) a:hover {
  color: var(--pp-accent-hover);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) img,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) svg,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) video,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) canvas {
  max-width: 100%;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) img,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) video {
  height: auto;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) button,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) input,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) select,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) textarea {
  font: inherit;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) button,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) summary,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) [role="button"] {
  -webkit-tap-highlight-color: transparent;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) button:not(:disabled),
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) summary,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) [role="button"]:not([aria-disabled="true"]) {
  cursor: pointer;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) :focus {
  outline: none;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) :focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: var(--pp-focus) !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) a:focus-visible {
  border-radius: var(--pp-radius-xs);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::selection {
  color: var(--pp-heading);
  background: rgba(210, 168, 74, 0.34);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::placeholder {
  color: var(--pp-text-faint);
  opacity: 1;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) hr {
  height: 1px;
  margin: var(--pp-space-6) 0;
  border: 0;
  background: var(--pp-divider);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) legend {
  margin-bottom: var(--pp-space-3);
  color: var(--pp-heading);
  font-weight: 760;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) code,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) pre,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) kbd,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) samp {
  font-family: var(--pp-font-mono);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) code:not(pre code) {
  padding: 0.12rem 0.34rem;
  border: 1px solid var(--pp-border);
  border-radius: 0.35rem;
  color: var(--pp-text-soft);
  background: var(--pp-surface-soft);
  font-size: 0.88em;
}

html[data-pp-ui] pre {
  max-width: 100%;
  overflow: auto;
  padding: var(--pp-space-4);
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius-md);
  color: var(--pp-text-soft);
  background: var(--pp-surface-soft);
}

html[data-pp-ui] .sr-only,
html[data-pp-ui] .pp-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html[data-pp-ui] .pp-skip-link {
  position: fixed;
  z-index: 10000;
  top: var(--pp-space-3);
  left: var(--pp-space-3);
  padding: 0.7rem 1rem;
  border-radius: var(--pp-radius-sm);
  color: var(--pp-primary-foreground);
  background: var(--pp-primary-hover);
  box-shadow: var(--pp-shadow-md);
  transform: translateY(-180%);
  transition: transform var(--pp-duration) var(--pp-ease);
}

html[data-pp-ui] .pp-skip-link:focus {
  transform: translateY(0);
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .muted,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .hint,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .field-help,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .field-hint,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .section-subtitle,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .subtle {
  color: var(--pp-text-muted) !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .eyebrow,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .pp-eyebrow,
html[data-pp-ui]:not([data-pp-surface="hosted-site"]) .workspace-kicker {
  color: var(--pp-accent) !important;
  font-size: 0.75rem !important;
  font-weight: 820 !important;
  line-height: 1.25;
  letter-spacing: 0.075em !important;
  text-transform: uppercase;
}

html[data-pp-ui] :disabled,
html[data-pp-ui] [aria-disabled="true"] {
  cursor: not-allowed !important;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::-webkit-scrollbar-track {
  background: transparent;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::-webkit-scrollbar-thumb {
  border: 0.22rem solid transparent;
  border-radius: var(--pp-radius-pill);
  background: rgba(82, 104, 121, 0.42);
  background-clip: padding-box;
}

html[data-pp-ui]:not([data-pp-surface="hosted-site"]) ::-webkit-scrollbar-thumb:hover {
  background: rgba(82, 104, 121, 0.62);
  background-clip: padding-box;
}

@media (prefers-reduced-motion: reduce) {
  html[data-pp-ui] *,
  html[data-pp-ui] *::before,
  html[data-pp-ui] *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

@media (prefers-contrast: more) {
  html[data-pp-ui]:not([data-pp-surface="hosted-site"]) {
    --pp-border: rgba(15, 30, 43, 0.34);
    --pp-border-strong: rgba(15, 30, 43, 0.58);
    --pp-text-muted: #4c5b6b;
  }

  html[data-pp-ui][data-pp-surface="workspace"][data-color-profile="dark"] {
    --pp-border: rgba(237, 244, 248, 0.36);
    --pp-border-strong: rgba(237, 244, 248, 0.62);
    --pp-text-muted: #c2d0d8;
  }
}

@media (forced-colors: active) {
  html[data-pp-ui]:not([data-pp-surface="hosted-site"]) :focus-visible {
    outline: 2px solid Highlight !important;
    outline-offset: 2px;
    box-shadow: none !important;
  }
}
