/* Plus Jakarta Sans (SIL OFL 1.1), self-hosted variable font, weights 200-800. See assets/fonts/. */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(../fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2) format('woff2');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(../fonts/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(../fonts/plus-jakarta-sans-latin-ext-wght-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(../fonts/plus-jakarta-sans-latin-wght-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Component: base */

.wpar-app {
  --bg: #f4f2ee;
  --surface: #ffffff;
  --ink: #0a0f3d;
  --muted: #5a6288;
  --line: #dbe1f3;
  --accent: #2f3fbf;
  --accent-ink: #ffffff;
  --accent-soft: #e6ebff;
  --navy: #03075b;
  --overlay: rgba(15, 17, 23, .45);
  --overlay-strong: rgba(15, 17, 23, .72);
  --overlay-control: rgba(15, 17, 23, .55);
  --overlay-control-hover: rgba(15, 17, 23, .80);
  --overlay-label: rgba(15, 17, 23, .65);
  --glow: #e8c75a;
  --wpar-star: #f5b301;
  --field: #eff2fa;
  --radius: 16px;
  --wpar-top: 0px;
  min-height: 100vh;
  color: var(--ink);
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  line-height: 1.55;
}

.wpar-app *,
.wpar-app *::before,
.wpar-app *::after {
  box-sizing: border-box;
  font-family: inherit !important;
}

.wpar-app :is(a, button, summary, input, textarea):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.wpar-app .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .wpar-app * {
    transition: none !important;
  }
}


/* Invisible scrollbars: scrolling remains fully functional. */
.wpar-app,
.wpar-app * {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.wpar-app::-webkit-scrollbar,
.wpar-app *::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

body:has(.wpar-topbar) {
  overflow-x: clip;
}

body:has(.wpar-app) {
  background-color: #f4f2ee;
}

.admin-bar .wpar-app {
  --wpar-top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .wpar-app {
    --wpar-top: 46px;
  }
}

@media (max-width: 600px) {
  .admin-bar .wpar-app {
    --wpar-top: 0px;
  }
}