/* [next]/internal/font/google/lexend_d73a004c.module.css [app-client] (css) */
@font-face {
  font-family: Lexend;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/08328e320c8f68d1-s.0k8kxrcfbaq1s.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lexend;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ce5b45ab00236ec9-s.p.17thoc14mwfyx.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Lexend;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ca31d6821328a4e9-s.p.2svk7cnw5x6df.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lexend Fallback;
  src: local(Arial);
  ascent-override: 90.98%;
  descent-override: 22.74%;
  line-gap-override: 0.0%;
  size-adjust: 109.91%;
}

.lexend_d73a004c-module__ynA8AG__className {
  font-family: Lexend, Lexend Fallback;
  font-style: normal;
}

.lexend_d73a004c-module__ynA8AG__variable {
  --font-site: "Lexend", "Lexend Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --spacing: .25rem;
    --container-md: 28rem;
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-relaxed: 1.625;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-site);
    --default-mono-font-family: var(--font-site);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .table {
    display: table;
  }

  .h-full {
    height: 100%;
  }

  .min-h-full {
    min-height: 100%;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .grow {
    flex-grow: 1;
  }

  .flex-col {
    flex-direction: column;
  }

  .items-center {
    align-items: center;
  }

  .justify-center {
    justify-content: center;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-\[\#343a72\] {
    border-color: #343a72;
  }

  .bg-\[\#1a1f3d\] {
    background-color: #1a1f3d;
  }

  .bg-\[\#232a5c\] {
    background-color: #232a5c;
  }

  .bg-\[\#f4b942\] {
    background-color: #f4b942;
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .text-center {
    text-align: center;
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .text-\[\#241a04\] {
    color: #241a04;
  }

  .text-\[\#9198c4\] {
    color: #9198c4;
  }

  .text-\[\#f1eee3\] {
    color: #f1eee3;
  }

  .text-\[\#f4b942\] {
    color: #f4b942;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media (hover: hover) {
    .hover\:bg-\[\#c98d1e\]:hover {
      background-color: #c98d1e;
    }
  }
}

:root {
  --background: #fff;
  --foreground: #171717;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-site), system-ui, sans-serif;
}

.quest-main {
  color: #f1eee3;
  flex: 1;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 48px 24px 72px;
}

body {
  background: #1a1f3d;
}

.quest-main h1 {
  color: #f4b942;
  max-width: 850px;
  margin: 12px 0 20px;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 750;
  line-height: 1.15;
}

.quest-main h2 {
  margin: 0 0 12px;
  font-size: 1.4rem;
  font-weight: 650;
}

.quest-main p {
  margin: 12px 0;
  line-height: 1.7;
}

.quest-eyebrow {
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #4ecdc4;
  font-size: .75rem;
}

.quest-muted {
  color: #b4b9d6;
}

.quest-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
  display: grid;
}

.quest-card {
  background: #242a58;
  border: 1px solid #454d84;
  border-radius: 18px;
  margin: 20px 0;
  padding: 26px;
}

.quest-grid .quest-card {
  margin: 0;
}

.quest-button {
  color: #241a04;
  cursor: pointer;
  background: #f4b942;
  border-radius: 9px;
  margin-top: 8px;
  padding: 12px 20px;
  font-weight: 650;
  text-decoration: none;
  display: inline-block;
}

.quest-button:hover {
  background: #ffd478;
}

.quest-link {
  color: #70e0d8;
  text-underline-offset: 4px;
  cursor: pointer;
  text-decoration: underline;
}

.quest-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  display: flex;
}

.quest-input {
  color: #fff;
  background: #12142b;
  border: 1px solid #9198c4;
  border-radius: 8px;
  width: min(100%, 420px);
  margin-top: 16px;
  padding: 12px;
  display: block;
}

.quest-input:disabled {
  opacity: .75;
}

.quest-correct {
  color: #8de3af;
}

.quest-incorrect {
  color: #ffb4a9;
}

.quest-table-wrap {
  border: 1px solid #454d84;
  border-radius: 12px;
  margin: 28px 0;
  overflow: auto;
}

.quest-table {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  min-width: 500px;
}

.quest-table caption {
  text-align: left;
  padding: 16px;
}

.quest-table th, .quest-table td {
  border-top: 1px solid #454d84;
  padding: 16px;
}

.quest-table th {
  color: #f4b942;
  background: #242a58;
}

a:focus-visible, button:focus-visible, input:focus-visible {
  outline-offset: 4px;
  outline: 3px solid #70e0d8;
}

@media (max-width: 640px) {
  .quest-grid {
    grid-template-columns: 1fr;
  }

  .quest-main {
    padding: 28px 18px 48px;
  }

  .quest-card {
    padding: 20px;
  }
}

body {
  font-family: var(--font-site),system-ui,sans-serif;
  background-color: #133d38;
  background-image: radial-gradient(at 10% 0, #3b65523d, #0000 55%), radial-gradient(#adc79b12 1px, #0000 1px);
  background-size: auto, 22px 22px;
}

.adventure-header {
  color: #fff4d8;
  background: #10342f;
  border-bottom: 1px solid #c6af6654;
  padding: 20px 28px;
}

.adventure-header-inner {
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  max-width: 1140px;
  margin: auto;
  display: flex;
}

.adventure-brand {
  flex-direction: column;
  flex-shrink: 0;
  padding-left: 47px;
  display: flex;
  position: relative;
}

.adventure-brand:before {
  content: "✦";
  color: #e6c36a;
  background: linear-gradient(140deg, #376254, #153c35);
  border: 1px solid #d8b861;
  border-radius: 11px 11px 18px 18px;
  place-items: center;
  width: 36px;
  height: 42px;
  font-size: 28px;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: inset 0 0 0 4px #183e35;
}

.brand-name {
  font: bold 23px var(--font-site),system-ui,sans-serif;
  color: #ffe6a5;
  letter-spacing: -.5px;
}

.brand-parent {
  color: #c2d0bc;
  letter-spacing: 1px;
  margin-top: 3px;
  font-size: 11px;
}

.adventure-nav {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.adventure-nav a {
  color: #d9e5d6;
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 13px;
  transition: background .15s;
}

.adventure-nav a:hover {
  background: #315a4a;
}

.adventure-nav a[aria-current="page"] {
  color: #263f30;
  background: #f4d895;
  box-shadow: 0 3px #b79145;
}

.adventure-nav a:last-child {
  border: 1px solid #8d9f7470;
}

.adventure-footer {
  text-align: center;
  color: #c3d1bc;
  background: #10342f;
  border-top: 1px solid #aec49126;
  padding: 25px;
  font-size: 12px;
}

.adventure-dashboard {
  width: 100%;
  max-width: 1196px;
  padding: 28px 28px 40px;
}

.dashboard-welcome {
  letter-spacing: 1.8px;
  color: #d3dfc3;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  font-size: 11px;
  display: flex;
}

.dashboard-welcome span:last-child {
  letter-spacing: 0;
  color: #b8c9ae;
  font-size: 12px;
}

.adventure-hero {
  isolation: isolate;
  color: #294638;
  background: #f4e8ca;
  border: 1px solid #fff0c7;
  border-radius: 24px;
  grid-template-columns: 1.3fr 1fr;
  min-height: 365px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 32px #071f2533, inset 0 0 0 7px #e5d4af80;
}

.adventure-hero:before {
  content: "";
  z-index: -1;
  opacity: .5;
  background: radial-gradient(at 80% 40%, #d7d5a9 0, #0000 50%), repeating-linear-gradient(25deg, #0000 0 6px, #a5854410 6px 7px);
  position: absolute;
  inset: 0;
}

.hero-copy {
  z-index: 2;
  padding: 43px 0 39px 42px;
  position: relative;
}

.chapter-label {
  letter-spacing: 1.8px;
  color: #4d7155;
  font-size: 10px;
  font-weight: 750;
}

.adventure-dashboard .adventure-hero h1 {
  font: bold clamp(34px,4.2vw,51px)/1.12 var(--font-site),system-ui,sans-serif;
  color: #264838;
  letter-spacing: -1.8px;
  margin: 17px 0;
}

.adventure-hero h1 em {
  color: #906c29;
  font-weight: 400;
}

.adventure-dashboard .hero-copy p {
  color: #52604a;
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 1.85;
}

.adventure-button {
  color: #352b13;
  background: linear-gradient(#edc86f, #ddb24f);
  border: 1px solid #bb913b;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 22px;
  padding: 13px 20px;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
  display: inline-flex;
  box-shadow: 0 4px #9c7535, 0 7px 12px #79551e14;
}

.adventure-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px #9c7535, 0 9px 16px #79551e24;
}

.adventure-button span {
  font-size: 20px;
  line-height: 1;
}

.hero-footnote {
  color: #717254;
  margin-top: 19px;
  font-size: 10px;
  display: block;
}

.hero-art {
  justify-content: center;
  align-items: center;
  min-width: 0;
  display: flex;
  position: relative;
}

.hero-backpack {
  filter: drop-shadow(0 20px 12px #53401845);
  z-index: 1;
  width: 91%;
  max-width: 365px;
  height: auto;
  position: relative;
  transform: rotate(8deg);
}

.hero-orbit {
  aspect-ratio: 1;
  border: 1px dashed #aeb080;
  border-radius: 50%;
  width: 85%;
  position: absolute;
}

.hero-orbit:before {
  content: "";
  border: 1px solid #b7b88377;
  border-radius: 50%;
  position: absolute;
  inset: 17px;
}

.hero-crystals {
  z-index: 2;
  filter: drop-shadow(0 8px 9px #28686655);
  width: 98px;
  height: auto;
  position: absolute;
  bottom: 32px;
  left: 8%;
}

.pack-tag {
  z-index: 3;
  color: #645832;
  font: italic 14px var(--font-site),system-ui,sans-serif;
  background: #fffae4;
  border: 1px solid #d9c78f;
  padding: 9px 14px;
  position: absolute;
  bottom: 25px;
  right: 24px;
  transform: rotate(-7deg);
  box-shadow: 0 3px 6px #42331b20;
}

.art-star {
  color: #ac8233;
  font-size: 32px;
  position: absolute;
}

.star-one {
  top: 13%;
  right: 9%;
}

.star-two {
  font-size: 23px;
  top: 22%;
  left: 8%;
}

.journey-strip {
  color: #f7e6bc;
  background: repeating-linear-gradient(2deg, #ffffff03 0 2px, #0000 2px 9px), linear-gradient(95deg, #694a2e, #4e3827);
  border: 1px solid #a57d47;
  border-radius: 15px;
  grid-template-columns: 1.65fr repeat(3, 1fr);
  align-items: center;
  margin: 22px 0 32px;
  padding: 22px 26px;
  display: grid;
  box-shadow: inset 0 0 0 4px #3425194d, 0 5px 15px #0d241c33;
}

.journey-heading {
  align-items: center;
  gap: 14px;
  display: flex;
}

.journey-heading strong {
  font: 18px var(--font-site),system-ui,sans-serif;
  display: block;
}

.journey-heading div > span {
  color: #e1ceab;
  margin-top: 5px;
  font-size: 11px;
  display: block;
}

.journey-seal {
  color: #eac986;
  border: 1px solid #c5a16a;
  border-radius: 50%;
  place-items: center;
  width: 40px;
  height: 40px;
  font-size: 25px;
  display: grid;
}

.journey-stat {
  text-align: center;
  border-left: 1px solid #c3a47844;
}

.journey-stat > strong {
  font: bold 26px var(--font-site),system-ui,sans-serif;
  color: #ffdf91;
  display: block;
}

.journey-stat small {
  font: 16px var(--font-site),system-ui,sans-serif;
  color: #cfba94;
}

.journey-stat > span {
  color: #e1ceab;
  margin-top: 6px;
  font-size: 10px;
  display: block;
}

.quest-section-heading {
  justify-content: space-between;
  align-items: center;
  margin: 0 0 19px;
  display: flex;
}

.adventure-dashboard .quest-section-heading p {
  color: #b9cc9b;
  margin: 0 0 9px;
  font-size: 10px;
}

.adventure-dashboard .quest-section-heading h2 {
  font: 27px var(--font-site),system-ui,sans-serif;
  color: #fff0c9;
  margin: 0;
}

.section-flourish {
  color: #c4b16c;
  letter-spacing: 7px;
  font-size: 24px;
}

.adventure-grid {
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  display: grid;
}

.adventure-grid > section {
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}

.learning-quest {
  color: #294637;
  background: #f7efdb;
  border: 1px solid #dfcca2;
  padding: 27px 30px;
}

.card-heading {
  justify-content: space-between;
  align-items: center;
  height: 43px;
  margin-bottom: 16px;
  display: flex;
}

.card-heading img {
  filter: drop-shadow(0 5px 3px #58452630);
  transform: rotate(12deg);
}

.quest-label {
  letter-spacing: 1.6px;
  color: #687751;
  font-size: 9px;
  font-weight: 750;
}

.adventure-dashboard .learning-quest h2 {
  font: bold 29px/1.2 var(--font-site),system-ui,sans-serif;
  color: #2e503c;
  margin: 0 0 12px;
}

.adventure-dashboard .learning-quest p {
  color: #626b50;
  max-width: 330px;
  font-size: 13px;
  line-height: 1.75;
}

.lesson-trail {
  isolation: isolate;
  justify-content: space-between;
  max-width: 340px;
  margin: 22px 0 8px;
  display: flex;
  position: relative;
}

.lesson-trail:before {
  content: "";
  z-index: -1;
  border-top: 2px dashed #c7c6a6;
  position: absolute;
  top: 17px;
  left: 15px;
  right: 15px;
}

.trail-step {
  color: #697955;
  background: #eee7cf;
  border: 2px solid #c4c4a4;
  border-radius: 50%;
  place-items: center;
  width: 35px;
  height: 35px;
  font-size: 12px;
  font-weight: 750;
  display: grid;
}

.trail-step.explored {
  color: #fff6d7;
  background: #3b7455;
  border-color: #3b7455;
}

.adventure-dashboard p.trail-caption {
  margin-bottom: 19px;
  font-size: 10px;
}

.green-button {
  color: #fff9de;
  background: linear-gradient(#467b59, #326247);
  border-color: #285139;
  box-shadow: 0 4px #203e2e;
}

.green-button:hover {
  box-shadow: 0 6px #203e2e;
}

.realm-quest {
  isolation: isolate;
  border: 1px solid #96ab70;
  min-height: 385px;
}

.realm-map {
  object-fit: cover;
  object-position: 50% 42%;
  z-index: -3;
}

.realm-shade {
  z-index: -2;
  background: linear-gradient(90deg, #102e21e8, #102e2170 65%, #102e2120), linear-gradient(0deg, #112c22c9, #0000 75%);
  position: absolute;
  inset: 0;
}

.realm-content {
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 31px;
  display: flex;
}

.realm-content .quest-label {
  color: #e2cf89;
}

.adventure-dashboard .realm-content h2 {
  font: bold 37px/1.13 var(--font-site),system-ui,sans-serif;
  color: #fff6cf;
  margin: 24px 0 12px;
}

.adventure-dashboard .realm-content p {
  color: #e4e8cc;
  margin: 0 0 30px;
  font-size: 14px;
  line-height: 1.8;
}

.realm-content .adventure-button {
  gap: 12px;
  margin-top: auto;
  font-size: 12px;
}

.map-compass {
  color: #efdfa6;
  text-shadow: 0 2px 5px #183329;
  font-size: 42px;
  line-height: 1;
  position: absolute;
  top: 22px;
  right: 24px;
}

.map-compass small {
  font: 9px var(--font-site),system-ui,sans-serif;
  position: absolute;
  top: -9px;
  left: 17px;
}

.journal-quest, .supplies-quest {
  color: #36513f;
  background: #e9edda;
  border: 1px solid #c3cca7;
  align-items: flex-start;
  gap: 19px;
  padding: 25px;
  display: flex;
}

.supplies-quest {
  background: #e0eee8;
  border-color: #b1cfc1;
}

.journal-icon {
  width: 52px;
  height: 62px;
  font: 30px var(--font-site),system-ui,sans-serif;
  color: #4c7051;
  background: #cdd9b6;
  border: 1px solid #a1b181;
  border-radius: 5px 13px 13px 5px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
  box-shadow: -4px 0 #70845c;
}

.supplies-quest > img {
  filter: drop-shadow(0 5px 6px #3a788c40);
  flex-shrink: 0;
  width: 64px;
  height: auto;
}

.adventure-dashboard .journal-quest h2, .adventure-dashboard .supplies-quest h2 {
  font: bold 20px var(--font-site),system-ui,sans-serif;
  margin: 9px 0;
}

.adventure-dashboard .journal-quest p, .adventure-dashboard .supplies-quest p {
  color: #586b54;
  margin: 0 0 13px;
  font-size: 12px;
  line-height: 1.7;
}

.adventure-grid .quest-link {
  color: #285e4c;
  font-size: 12px;
  font-weight: 650;
}

.supplies-quest small {
  color: #607264;
  margin-top: 10px;
  font-size: 10px;
  line-height: 1.6;
  display: block;
}

.adventure-dashboard .dashboard-note {
  text-align: center;
  color: #b9cbb6;
  max-width: 750px;
  margin: 29px auto 0;
  font-size: 11px;
}

.dashboard-note a {
  color: #e8d5a0;
  text-underline-offset: 3px;
  text-decoration: underline;
}

@media (max-width: 960px) {
  .adventure-header-inner {
    flex-direction: column;
    gap: 17px;
  }

  .adventure-nav {
    justify-content: center;
  }

  .hero-copy {
    padding: 34px 0 32px 30px;
  }

  .adventure-dashboard .adventure-hero h1 {
    font-size: 39px;
  }

  .journey-heading strong {
    font-size: 16px;
  }

  .journey-heading div > span {
    font-size: 10px;
  }

  .journey-strip {
    padding: 20px 17px;
  }

  .journey-seal {
    display: none;
  }

  .realm-content {
    padding: 27px;
  }

  .realm-content .adventure-button {
    gap: 8px;
    padding: 12px;
    font-size: 11px;
  }
}

@media (max-width: 760px) {
  .adventure-grid {
    grid-template-columns: 1fr;
  }

  .realm-quest {
    min-height: 355px;
  }

  .journey-strip {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 0;
  }

  .journey-heading {
    text-align: center;
    grid-column: 1 / -1;
    justify-content: center;
  }

  .journey-stat:nth-child(2) {
    border-left: 0;
  }

  .adventure-dashboard .adventure-hero h1 {
    font-size: 33px;
  }

  .hero-copy {
    padding-left: 25px;
  }

  .hero-backpack {
    width: 105%;
  }

  .hero-crystals {
    width: 70px;
    left: 0;
  }

  .pack-tag {
    font-size: 11px;
    right: 10px;
  }

  .hero-copy p {
    font-size: 13px !important;
  }

  .desktop-break {
    display: none;
  }

  .hero-footnote {
    max-width: 210px;
  }

  .section-flourish {
    font-size: 18px;
  }
}

@media (max-width: 620px) {
  .adventure-header {
    padding: 19px 12px 15px;
  }

  .adventure-nav {
    gap: 5px;
  }

  .adventure-nav a {
    padding: 9px 10px;
    font-size: 11px;
  }

  .adventure-dashboard {
    padding: 22px 17px 30px;
  }

  .dashboard-welcome span:last-child {
    display: none;
  }

  .adventure-hero {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    text-align: center;
    padding: 30px 25px 10px;
  }

  .adventure-dashboard .adventure-hero h1 {
    letter-spacing: -1px;
    font-size: 36px;
  }

  .hero-footnote {
    max-width: none;
  }

  .hero-art {
    height: 250px;
    margin-top: 4px;
  }

  .hero-backpack {
    width: 240px;
    transform: rotate(7deg);
  }

  .hero-orbit {
    width: 230px;
  }

  .hero-crystals {
    width: 78px;
    bottom: 22px;
    left: calc(50% - 125px);
  }

  .pack-tag {
    bottom: 20px;
    right: calc(50% - 137px);
  }

  .star-one {
    right: 15%;
  }

  .star-two {
    left: 18%;
  }

  .adventure-dashboard .quest-section-heading h2 {
    font-size: 23px;
  }

  .section-flourish {
    display: none;
  }

  .learning-quest {
    padding: 25px;
  }

  .journey-stat > span {
    font-size: 9px;
  }

  .journey-stat > strong {
    font-size: 23px;
  }

  .journal-quest, .supplies-quest {
    gap: 16px;
    padding: 23px;
  }

  .realm-content .adventure-button {
    padding: 13px 15px;
    font-size: 12px;
  }

  .hero-copy .adventure-button {
    min-width: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .adventure-button, .adventure-nav a {
    transition: none;
  }

  .adventure-button:hover {
    transform: none;
  }
}

.account-main {
  width: 100%;
  max-width: 1196px;
  padding: 30px 28px 45px;
}

.account-topbar {
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-bottom: 28px;
  display: flex;
}

.account-main .account-topbar h1 {
  font: 34px var(--font-site),system-ui,sans-serif;
  color: #ffefc7;
  letter-spacing: -.5px;
  margin: 8px 0;
}

.account-main .chapter-label {
  color: #b5c99c;
  font-size: 10px;
}

.account-wallet {
  gap: 12px;
  display: flex;
}

.wallet-item {
  background: linear-gradient(130deg, #443b24, #263d2b);
  border: 1px solid #ad8f45;
  border-radius: 14px;
  align-items: center;
  gap: 11px;
  min-width: 180px;
  padding: 12px 17px;
  display: flex;
}

.wallet-item img {
  object-fit: contain;
  filter: drop-shadow(0 3px 3px #0005);
}

.wallet-label {
  color: #ffe2a0;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 10px;
  display: block;
}

.wallet-item strong {
  font: bold 25px var(--font-site),system-ui,sans-serif;
  color: #ffdf83;
}

.wallet-item small {
  color: #dfceaa;
  margin-top: 2px;
  font-size: 9px;
  display: block;
}

.light-wallet {
  background: linear-gradient(130deg, #234d4a, #173b37);
  border-color: #83aca6;
}

.light-wallet .wallet-label, .light-wallet strong {
  color: #c9f3ed;
}

.light-wallet small {
  color: #bdd5d0;
}

.account-hero-grid {
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 23px;
  display: grid;
}

.character-card {
  text-align: center;
  color: #294c3a;
  background: linear-gradient(145deg, #e4d2a7, #f5e9cd);
  border: 1px solid #e5c57b;
  border-radius: 20px;
  padding: 26px 23px;
  box-shadow: inset 0 0 0 6px #b49a6630;
}

.character-card-label {
  letter-spacing: 1.6px;
  color: #6e704f;
  font-size: 9px;
  font-weight: 700;
}

.portrait-frame {
  background: radial-gradient(#6a9472, #274a36);
  border: 5px solid #b08c48;
  border-radius: 50%;
  width: 180px;
  height: 180px;
  margin: 23px auto 16px;
  position: relative;
  box-shadow: 0 0 0 3px #f5e0a8, 0 0 0 5px #bea46d, 0 12px 17px #6b53252b;
}

.account-portrait {
  background-image: url("/art/quest/portraits.png");
  background-position-x: 75%;
  background-repeat: no-repeat;
  background-size: 500% 300%;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: block;
}

.portrait-ziba {
  background-position-y: 100%;
}

.portrait-bellen {
  background-position-y: 50%;
}

.portrait-tangar {
  background-position-y: 0%;
}

.portrait-spark {
  color: #ffe398;
  background: #35553d;
  border: 2px solid #d3b76c;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  font-size: 24px;
  position: absolute;
  bottom: 5px;
  right: -8px;
}

.account-main .character-card h2 {
  font: bold 27px var(--font-site),system-ui,sans-serif;
  overflow-wrap: anywhere;
  margin: 13px 0 3px;
}

.account-main .character-nation {
  color: #777452;
  text-transform: capitalize;
  margin: 0 0 14px;
  font-size: 11px;
}

.profile-edit-button {
  color: #385f45;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 1px solid #7c8d60;
  padding: 6px 1px;
  font-size: 11px;
}

.profile-save-message {
  color: #356548;
  margin: 9px 0 0 !important;
  font-size: 11px !important;
}

.profile-edit-form {
  text-align: left;
  margin-top: 18px;
}

.profile-edit-form > label, .profile-edit-form legend {
  font-size: 11px;
  font-weight: 650;
}

.profile-edit-form .quest-input {
  color: #234632;
  background: #fff8e8;
  border-color: #a5ad88;
  width: 100%;
  margin: 9px 0 17px;
  font-size: 13px;
}

.profile-edit-form fieldset {
  border: 0;
  padding: 0;
}

.portrait-options {
  gap: 8px;
  margin: 12px 0;
  display: flex;
}

.portrait-option {
  text-align: center;
  cursor: pointer;
  background: #ced6b8;
  border: 2px solid #0000;
  border-radius: 11px;
  flex: 1;
  min-width: 0;
  padding: 7px 3px;
}

.portrait-option.selected {
  background: #d4e2c3;
  border-color: #38664b;
}

.portrait-option > .account-portrait {
  width: 55px;
  max-width: 100%;
  height: 55px;
  margin: auto;
}

.portrait-option > span:last-child {
  text-transform: capitalize;
  font-size: 10px;
  display: block;
}

.portrait-option input {
  accent-color: #38664b;
}

.account-main p.profile-help {
  color: #697353;
  font-size: 10px;
  line-height: 1.5;
}

.profile-edit-form .quest-actions {
  gap: 12px;
  margin-top: 12px;
}

.profile-edit-form .adventure-button {
  padding: 9px 12px;
  font-size: 11px;
}

.profile-edit-form .quest-link {
  color: #38664b;
  font-size: 11px;
}

.account-story {
  background: linear-gradient(90deg, #183f34f5, #183f34d9), url("/art/quest/realm.webp") center / cover;
  border: 1px solid #7d946257;
  border-radius: 20px;
  flex-direction: column;
  justify-content: center;
  padding: 36px;
  display: flex;
}

.account-main .account-story h2 {
  font: 35px/1.22 var(--font-site),system-ui,sans-serif;
  color: #ffefc6;
  white-space: pre-line;
  overflow-wrap: anywhere;
  margin: 18px 0 13px;
}

.account-main .account-story > p {
  color: #c5d8bd;
  max-width: 480px;
  margin: 0;
  font-size: 13px;
  line-height: 1.85;
}

.account-story-stats {
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding: 24px 0 5px;
  display: grid;
}

.account-story-stats strong {
  font: 28px var(--font-site),system-ui,sans-serif;
  color: #f2d992;
}

.account-story-stats small {
  color: #bbcaab;
  font-size: 15px;
}

.account-story-stats span {
  color: #c7d7bd;
  margin-top: 5px;
  font-size: 10px;
  display: block;
}

.account-realm-link {
  color: #ecd698;
  text-underline-offset: 4px;
  font-size: 11px;
  text-decoration: underline;
}

.account-story .adventure-button {
  font-size: 12px;
}

.account-detail-grid {
  grid-template-columns: 1fr 1fr;
  gap: 23px;
  margin-top: 23px;
  display: grid;
}

.account-panel {
  color: #334e3c;
  background: #f5edd7;
  border: 1px solid #dfcda2;
  border-radius: 18px;
  padding: 27px;
}

.account-main .account-panel .chapter-label {
  color: #6d7854;
}

.account-main .account-panel h2 {
  font: bold 23px var(--font-site),system-ui,sans-serif;
  margin: 11px 0;
}

.account-main .account-panel p {
  color: #657052;
  font-size: 12px;
  line-height: 1.8;
}

.earned-gold {
  align-items: center;
  gap: 15px;
  display: flex;
}

.earned-gold img {
  object-fit: contain;
}

.earned-gold strong {
  font: 35px var(--font-site),system-ui,sans-serif;
  color: #88651d;
}

.earned-gold small {
  font: 12px var(--font-site),system-ui,sans-serif;
}

.account-status {
  color: #687151;
  background: #e4ddc2;
  border-radius: 20px;
  padding: 6px 11px;
  font-size: 10px;
  display: inline-block;
}

.crystal-panel {
  background: #e2eee4;
  padding-right: 105px;
  position: relative;
}

.account-crystal-art {
  object-fit: contain;
  filter: drop-shadow(0 8px 7px #61838644);
  width: 80px;
  height: 90px;
  position: absolute;
  top: 40px;
  right: 16px;
}

.crystal-panel .account-status {
  background: #ceded0;
}

.account-results {
  margin-top: 23px;
}

.account-results-heading {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  display: flex;
}

.account-results .quest-link {
  color: #3a7052;
  font-size: 12px;
}

.account-main .account-panel .chapter-label {
  margin: 0;
}

.account-empty {
  align-items: center;
  gap: 24px;
  padding: 20px 0;
  display: flex;
}

.account-empty h3 {
  font: 21px var(--font-site),system-ui,sans-serif;
}

.account-empty img {
  object-fit: contain;
}

.account-table-wrap {
  overflow: auto;
}

.account-table-wrap table {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  min-width: 420px;
  margin-top: 15px;
  font-size: 12px;
}

.account-table-wrap caption {
  text-align: left;
  color: #727658;
  padding-bottom: 16px;
  font-size: 11px;
}

.account-table-wrap th, .account-table-wrap td {
  border-top: 1px solid #c9c6a6;
  padding: 15px 8px;
}

.account-table-wrap th {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6d7658;
  font-size: 10px;
}

.account-score {
  color: #3c6345;
  background: #dce7ce;
  border-radius: 8px;
  padding: 6px 10px;
  display: inline-block;
}

.account-main p.account-fineprint {
  margin: 20px 0 0;
  font-size: 10px;
}

.account-fineprint a {
  text-decoration: underline;
}

.account-settings {
  color: #bdceb7;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  margin-top: 25px;
  font-size: 11px;
  display: flex;
}

.account-settings .quest-link {
  font-size: 11px;
}

.account-settings p:empty {
  display: none;
}

@media (max-width: 1000px) {
  .account-topbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-wallet {
    width: 100%;
  }

  .wallet-item {
    flex: 1;
  }

  .account-story {
    padding: 26px;
  }

  .account-hero-grid {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  .account-story .quest-actions {
    gap: 18px;
  }

  .account-main .account-story h2 {
    font-size: 29px;
  }
}

@media (max-width: 720px) {
  .account-hero-grid, .account-detail-grid {
    grid-template-columns: 1fr;
  }

  .account-story-stats {
    text-align: center;
  }

  .character-card {
    padding: 25px;
  }

  .profile-editor {
    max-width: 310px;
    margin: auto;
  }

  .account-main {
    padding: 25px 17px 35px;
  }

  .account-main .account-topbar h1 {
    font-size: 30px;
  }

  .wallet-item {
    gap: 7px;
    min-width: 0;
    padding: 11px 9px;
  }

  .wallet-item img {
    width: 30px;
    height: 35px;
  }

  .wallet-label {
    font-size: 9px;
  }

  .wallet-item small {
    font-size: 8px;
  }

  .account-wallet {
    gap: 9px;
  }

  .account-main .account-story h2 {
    font-size: 29px;
  }

  .account-story .quest-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-panel {
    padding: 23px;
  }

  .crystal-panel {
    padding-right: 90px;
  }

  .account-crystal-art {
    width: 68px;
    right: 8px;
  }

  .account-results-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .account-empty {
    gap: 15px;
  }

  .account-settings {
    justify-content: flex-start;
  }

  .account-main .account-panel h2 {
    font-size: 21px;
  }
}

button, input, select, textarea {
  font-family: inherit;
}

.board-grid {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 18px;
  margin-top: 28px;
  display: grid;
}

.board-card {
  color: #294637;
  background: #f7efdb;
  border: 1px solid #dfcca2;
  border-radius: 18px;
  padding: 24px;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
  display: block;
}

.board-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px #071f2540;
}

.board-card h2 {
  color: #2e503c;
  margin: 8px 0 4px;
  font-size: 1.6rem;
  font-weight: 700;
}

.board-card .quest-eyebrow {
  color: #4d7155;
}

.board-card .quest-muted {
  color: #627058;
}

.board-card-soon {
  opacity: .6;
  background: #dfe5d2;
}

.board-card-soon:hover {
  box-shadow: none;
  transform: none;
}

.section-title {
  color: #ffe6a5;
  margin-top: 36px !important;
}

.chapter-list {
  gap: 10px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.chapter-row {
  background: #10342f;
  border: 1px solid #454d84;
  border-radius: 14px;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  display: flex;
}

.chapter-row.ready {
  color: #294637;
  background: #f7efdb;
  border-color: #dfcca2;
}

.chapter-num {
  color: #fff4d8;
  background: #315a4a;
  border-radius: 50%;
  flex: none;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}

.chapter-row.ready .chapter-num {
  background: #3b7455;
}

.chapter-title {
  flex: 1;
  min-width: 0;
}

.chapter-title small {
  color: #627058;
  margin-top: 3px;
  font-size: 12px;
  display: block;
}

.chapter-row .quest-button {
  flex: none;
  margin: 0;
  font-size: 13px;
}

.chapter-status {
  color: #b8c9ae;
  flex: none;
  font-size: 12px;
}

.paper-list {
  margin: 10px 0 0 20px;
  line-height: 1.9;
  list-style: outside;
}

.worksheet-main {
  max-width: 900px;
}

.worksheet-bar {
  z-index: 5;
  color: #263f30;
  background: #f4d895;
  border-radius: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin: 20px 0;
  padding: 12px 18px;
  font-size: 14px;
  display: flex;
  position: sticky;
  top: 0;
  box-shadow: 0 4px 12px #071f2540;
}

.worksheet-summary h2 {
  font-size: 1.4rem;
}

.worksheet-score {
  color: #f4b942;
  margin: 4px 0 !important;
  font-size: 3rem !important;
}

.worksheet-score small {
  color: #b4b9d6;
  font-size: 1.2rem;
}

.worked-example {
  border-left: 4px solid #4ecdc4;
}

.worksheet-section {
  margin-top: 34px;
}

.worksheet-section > h2 {
  color: #ffe6a5;
  border-bottom: 1px solid #c6af6654;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 10px;
  display: flex;
}

.worksheet-section > h2 small {
  color: #b8c9ae;
  font-size: 13px;
  font-weight: 400;
}

.worksheet-intro {
  white-space: pre-line;
  color: #294637;
  background: #f7efdb;
  border-radius: 14px;
  margin: 16px 0;
  padding: 20px 22px;
  line-height: 1.8;
}

.question-block {
  margin: 18px 0;
}

.question-stem {
  color: #fff0c9;
  font-weight: 600;
}

.part-card {
  background: #242a58;
  border: 1px solid #454d84;
  border-radius: 14px;
  margin: 10px 0;
  padding: 16px 18px;
}

.part-card.correct {
  background: #1f3d4f;
  border-color: #4ecdc4;
}

.part-card.incorrect {
  background: #3a2a45;
  border-color: #e8604c;
}

.part-head {
  justify-content: space-between;
  gap: 14px;
  line-height: 1.6;
  display: flex;
}

.part-num {
  color: #f4b942;
  font-weight: 700;
}

.part-marks {
  color: #b4b9d6;
  flex: none;
  font-size: 13px;
}

.part-card .quest-input {
  width: min(100%, 420px);
  margin-top: 10px;
}

.part-textarea {
  resize: vertical;
  line-height: 1.6;
  width: 100% !important;
}

.part-working {
  color: #b4b9d6;
}

.mcq {
  border: 0;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
}

.mcq-option {
  cursor: pointer;
  border: 1px solid #454d84;
  border-radius: 10px;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  line-height: 1.5;
  display: flex;
}

.mcq-option.chosen {
  background: #2f3564;
  border-color: #f4b942;
}

.mcq-option.right {
  border-color: #4ecdc4;
}

.mcq-option input {
  accent-color: #f4b942;
  margin-top: 5px;
}

.mark-scheme {
  background: #1a1f3d;
  border: 1px dashed #9198c4;
  border-radius: 10px;
  margin-top: 12px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.6;
}

.self-mark {
  border: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
}

.self-mark legend {
  margin-bottom: 6px;
  font-weight: 600;
}

.self-mark label {
  cursor: pointer;
  border: 1px solid #9198c4;
  border-radius: 8px;
  place-items: center;
  min-width: 38px;
  height: 38px;
  display: grid;
}

.self-mark label.chosen {
  color: #241a04;
  background: #f4b942;
  border-color: #f4b942;
  font-weight: 700;
}

.self-mark input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.self-mark label:has(input:focus-visible) {
  outline-offset: 2px;
  outline: 3px solid #70e0d8;
}

.worksheet-submit {
  text-align: center;
  margin: 30px 0;
}

.worksheet-submit .quest-button {
  padding: 14px 32px;
  font-size: 16px;
}

.quest-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .chapter-row {
    flex-wrap: wrap;
  }

  .chapter-row .quest-button {
    text-align: center;
    width: 100%;
  }
}

.pricing-main {
  max-width: 1120px;
}

.pricing-alert {
  color: #ffe6a5;
  background: #f4d89522;
  border: 1px solid #f4d895;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 13px;
  display: inline-block;
}

.board-tabs {
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 8px;
  display: flex;
}

.board-tab {
  color: #fff4d8;
  cursor: pointer;
  background: #10342f;
  border: 1px solid #8d9f7470;
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 700;
  display: flex;
}

.board-tab small {
  color: #c2d0bc;
  font-size: 11px;
  font-weight: 400;
}

.board-tab[aria-pressed="true"] {
  color: #263f30;
  background: #f4d895;
  box-shadow: 0 3px #b79145;
}

.board-tab[aria-pressed="true"] small {
  color: #4d7155;
}

.board-tab:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pricing-section {
  margin-top: 28px;
}

.pricing-section > h2 {
  color: #ffe6a5;
}

.subject-offers {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 18px;
  display: grid;
}

.subject-offer {
  color: #294637;
  background: #f7efdb;
  border: 2px solid #dfcca2;
  border-radius: 18px;
  padding: 20px;
}

.subject-offer.in-cart {
  border-color: #3b7455;
  box-shadow: 0 0 0 3px #3b745533;
}

.subject-offer.not-ready {
  opacity: .65;
}

.subject-offer .quest-eyebrow {
  color: #4d7155;
}

.subject-offer .quest-muted {
  color: #627058;
}

.offer-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.offer-head h3 {
  margin: 4px 0 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.offer-head > span {
  flex: none;
  font-size: 12px;
}

.tier-row, .extra-row {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 14px;
  display: grid;
}

.extra-row {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.tier-option {
  color: #294637;
  cursor: pointer;
  text-align: left;
  background: #fffaf0;
  border: 1px solid #c7c6a6;
  border-radius: 12px;
  flex-direction: column;
  gap: 3px;
  padding: 10px;
  display: flex;
}

.tier-option span {
  color: #627058;
  font-size: 11px;
}

.tier-option em {
  color: #88651d;
  font-style: normal;
  font-weight: 700;
}

.tier-option[aria-pressed="true"] {
  color: #fff6d7;
  background: #3b7455;
  border-color: #3b7455;
}

.tier-option[aria-pressed="true"] span, .tier-option[aria-pressed="true"] em {
  color: #fff0c9;
}

.extra-option {
  background: #f7efdb;
  padding: 16px;
}

.paper-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-size: 12px;
  display: flex;
}

.paper-option {
  color: #294637;
  cursor: pointer;
  background: #fffaf0;
  border: 1px solid #c7c6a6;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
}

.paper-option[aria-pressed="true"] {
  color: #fff6d7;
  background: #88651d;
  border-color: #88651d;
}

.paper-option:disabled {
  cursor: default;
  opacity: .8;
}

.offer-link {
  margin-top: 12px;
  font-size: 12px;
  display: inline-block;
  color: #285e4c !important;
}

.cart-panel {
  background: #242a58;
  border: 1px solid #f4b942;
  border-radius: 18px;
  margin-top: 32px;
  padding: 22px;
  scroll-margin-top: 20px;
  box-shadow: 0 10px 30px #071f2560;
}

.cart-panel h2 {
  color: #ffe6a5;
  margin: 0 0 10px;
}

.cart-panel ul {
  max-height: 180px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: auto;
}

.cart-panel li {
  border-bottom: 1px solid #454d84;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 13px;
  display: flex;
}

.cart-total {
  justify-content: space-between;
  align-items: baseline;
  margin-top: 12px;
  display: flex;
}

.cart-total strong {
  color: #f4b942;
  font-size: 1.8rem;
}

.cart-pay {
  text-align: center;
  width: 100%;
  font-size: 16px;
}

.cart-note {
  text-align: center;
  font-size: 12px;
}

@media (max-width: 640px) {
  .subject-offers, .tier-row {
    grid-template-columns: 1fr;
  }
}

.cart-peek {
  z-index: 5;
  color: #263f30;
  background: #f4d895;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 12px 18px;
  font-size: 14px;
  display: flex;
  position: sticky;
  bottom: 12px;
  box-shadow: 0 6px 18px #071f2560;
}

.cart-peek a {
  color: #263f30;
  text-underline-offset: 3px;
  font-weight: 700;
  text-decoration: underline;
}

.test-links .quest-table td, .test-links .quest-table th {
  padding: 10px 12px;
  font-size: 13px;
}

.test-link-row {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

.test-link-list {
  margin: 10px 0 0 18px;
  line-height: 2;
  list-style: outside;
}

.test-note {
  margin-top: 28px;
  font-size: 13px;
}

.y9-subjects {
  gap: 10px;
  margin-top: 14px;
  display: flex;
}

.y9-subject {
  background: #f7efdb;
  min-width: 220px;
  padding: 14px 18px;
}

.y9-card {
  background: #10342f;
  border: 1px solid #c6af6654;
  border-radius: 18px;
  margin-top: 18px;
  padding: 18px;
}

.y9-table {
  min-width: 760px;
}

.y9-table th small {
  color: #b4b9d6;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 400;
  display: block;
}

.y9-table td, .y9-table th {
  text-align: center;
}

.y9-table tbody th {
  color: #ffe6a5;
}

.y9-empty {
  color: #b8c9ae;
  font-size: 13px;
  font-style: italic;
}

.y9-gold img {
  vertical-align: -5px;
}

.y9-gold strong {
  color: #f4b942;
  font-size: 1.3rem;
}

.y9-table .y9-today {
  background: #f4d8951f;
}

.y9-retake {
  color: #b8c9ae;
  margin-top: 2px;
  font-size: 11px;
  text-decoration: underline;
  display: block;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__1mvp5k9._.css.map*/