
@property --rotation-step-top {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
@property --rotation-step-bottom {
  syntax: '<angle>';
  inherits: false;
  initial-value: 360deg;
}
@property --progress-percent {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 0%;
}
@property --inner-color {
  syntax: '<color>';
  inherits: false;
  initial-value: white;
}
.progress-bar[data-v-056ff206] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  inline-size: min(100%, 20rem);
  block-size: fit-content;
  transition: opacity .5s linear;

  --circle-animation-portion: 0.7;
  --circle-animation-duration: calc(var(--step-change-duration) * var(--circle-animation-portion));
  --circle-inner-animation-duration: 0.3s;
  --line-animation-duration: calc(var(--step-change-duration) * (1 - var(--circle-animation-portion)));
}
.inner-dot[data-v-056ff206] {
  inline-size: 0.5rem;
  aspect-ratio: 1;
  border-radius: 50vw;
  background-color: var(--gray-500);
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: opacity var(--line-animation-duration) linear;
}
.progress-bar--step[data-v-056ff206] {
  position: relative;
  display: grid;
  place-content: center;
  text-align: center;
  aspect-ratio: 1;
  border-radius: 50vw;
  inline-size: 1.5rem;
  flex-shrink: 0;
  border: 2px solid transparent;
  color: transparent;

  --rotation-step-top: 0deg;
  --rotation-step-bottom: 360deg;
  --border-color: var(--gray-300);
  --inner-color: white;
  background:
    linear-gradient(var(--inner-color), var(--inner-color)) padding-box,
    conic-gradient(
      from -90deg at 50% 50%,
      var(--primary-color) 0deg,
      var(--primary-color) var(--rotation-step-top),
      var(--border-color) var(--rotation-step-top),
      var(--border-color) var(--rotation-step-bottom),
      var(--primary-color) var(--rotation-step-bottom),
      var(--primary-color) 360deg
      ) border-box;
@container (inline-size >= 35rem) {
    inline-size: 2rem;
svg[data-v-056ff206] {
      inline-size: 1rem;
      block-size: 1rem;
}
}
&[data-v-056ff206]:not(.completed) {
    transition:
      --rotation-step-top var(--circle-animation-duration) ease-in-out .6s,
      --rotation-step-bottom var(--circle-animation-duration) ease-in-out .6s,
      --inner-color var(--circle-inner-animation-duration) ease-in-out;
}
&.completed[data-v-056ff206] {
    color: white;
    --rotation-step-top: 180deg;
    --rotation-step-bottom: 180deg;
    --inner-color: var(--primary-color);

    transition:
      --rotation-step-top var(--circle-animation-duration) ease-in-out,
      --rotation-step-bottom var(--circle-animation-duration) ease-in-out,
      --inner-color .3s ease-in-out var(--step-change-duration);
.inner-dot[data-v-056ff206] {
      opacity: 0;
}
}
svg[data-v-056ff206] {
    inline-size: .75rem;
    block-size: .75rem;
    fill: currentColor;
}
}
.progress-bar--line[data-v-056ff206] {
  flex-grow: 1;
  height: 0.125rem;
  --progress-percent: 0%;
  background:
    linear-gradient(
      to right,
      var(--primary-color) 0%,
      var(--primary-color) var(--progress-percent),
      transparent var(--progress-percent),
      transparent 100%),
    linear-gradient(var(--gray-300), var(--gray-300));
&.completed[data-v-056ff206] {
    --progress-percent: 100%;
    transition: --progress-percent var(--line-animation-duration) ease-in-out var(--circle-animation-duration);
}
&[data-v-056ff206]:not(.completed) {
    transition: --progress-percent var(--line-animation-duration) ease-in-out var(--circle-inner-animation-duration);
}
}


.course-advisor-step[data-v-605107cc] {
  color: var(--text-color);
  inline-size: 100%;
  block-size: 100%;
  flex-shrink: 0;
}
[data-v-605107cc] .step-content {
  block-size: 20rem;
  overflow-y: auto;
}
@property --active-option-rotation-start {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: true;
}
@keyframes active-option-rotation-605107cc {
0% {
    --active-option-rotation-start: 0deg;
}
100% {
    --active-option-rotation-start: 360deg;
}
}
[data-v-605107cc] :is(.option, .answers) {
  border: 2px solid var(--gray-300);
  background-color: white;
  color: var(--text-color);
  border-radius: .5rem;
  transition: none;
  hyphens: auto;
  box-sizing: border-box;
  --active-option-rotation-start: 0deg;
&[data-v-605107cc]:hover, &[data-v-605107cc]:focus-visible {
    border-color: var(--secondary-color);
}
&.active[data-v-605107cc], &.answers[data-v-605107cc] {
    border-color: transparent;
    background:
      linear-gradient(white, white) padding-box,
      conic-gradient(
        from var(--active-option-rotation-start),
        var(--secondary-color),
        var(--primary-color),
        var(--primary-color),
        var(--secondary-color),
        var(--secondary-color),
        var(--primary-color),
        var(--primary-color),
        var(--secondary-color)) border-box;
    animation: active-option-rotation-605107cc 5s linear infinite;
}
}
[data-v-605107cc] .option-small-wrapper {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
.option-small[data-v-605107cc] {
    padding: 1rem 2rem;
    font-weight: 600;
    text-wrap: balance;
}
}
[data-v-605107cc] .option-big-wrapper {
  display: flex;
  justify-content: center;
  gap: 1rem;
@container main (inline-size < 44rem) {
    flex-direction: column;
    align-items: center;
.option-big--container .option-big[data-v-605107cc] {
      grid-template-columns: 3rem 1fr;
      grid-template-rows: 1fr;
      gap: .25rem 1rem;
      padding: 1rem;
      text-align: left;
      place-items: center left;
      text-wrap: balance;
      box-sizing: border-box;
svg[data-v-605107cc] {
        block-size: auto;
        inline-size: 3rem;
        margin-block-end: 0;
}
}
}
.option-big--container[data-v-605107cc] {
    container-type: inline-size;
    inline-size: 100%;
    max-inline-size: 20rem;
}
.option-big[data-v-605107cc] {
    padding: 1.5rem 2rem;
    display: grid;
    grid-template-rows: auto 1fr;
    place-items: center;
    font-weight: 600;
    text-align: center;
    block-size: 100%;
    inline-size: 100%;
    box-sizing: border-box;
    font-size: clamp(1rem, 1.5cqi, 1.2rem);
@container (inline-size < 16rem) {
      padding: 1rem;
}
svg[data-v-605107cc] {
      color: var(--primary-color);
      fill: currentColor;
      block-size: 4rem;
      inline-size: auto;
      object-fit: contain;
      overflow: visible;
      margin-block-end: 1.5rem;
}
}
}
.ibb-course-advisor--headline[data-v-605107cc] {
  margin-block-end: 2rem;
@container main (inline-size < 44rem) {
    margin-block-end: 1rem;
}
}
@container main (inline-size < 52rem) {
.course-advisor-step:has(.course-advisor-results) > .ibb-course-advisor--headline[data-v-605107cc] {
    display: none;
}
}


.coaching-link[data-v-75000efe] {
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}
.external-icon[data-v-75000efe] {
  position: absolute;
  inset-inline-end: 1rem;
  inset-block-start: 1rem;
  inline-size: 1rem !important;
  block-size: 1rem !important;
  color: var(--gray-500);
  margin-block-end: 0 !important;
  pointer-events: none;
}
@container main (inline-size < 44rem) {
.external-icon[data-v-75000efe] {
    inset-inline-end: .5rem;
    inset-block-start: .5rem;
    inline-size: .75rem !important;
    block-size: .75rem !important;
}
}


.disabled-info[data-v-6268f4b4] {
  display: block;
  font-size: 0.75rem;
  font-weight: normal;
  color: var(--gray-700);
  margin-block-start: .5rem;
@container main (inline-size < 44rem) {
    grid-column: 2;
}
}
.option.option-big[data-v-6268f4b4]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  filter: grayscale(1);
  border-color: var(--gray-300) !important;
  background: white !important;
  animation: none !important;
}
.option.option-big:disabled svg[data-v-6268f4b4] {
  color: var(--gray-700) !important;
}


.course-advisor-results[data-v-e1c1fe0e] {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 2rem;
.mobile-only[data-v-e1c1fe0e] {
    display: none;
}
@container main (inline-size < 52rem) {
.mobile-only[data-v-e1c1fe0e] {
      display: block;
      margin-block-end: 0;
h3[data-v-e1c1fe0e] {
        margin-block-end: 0;
}
}

    grid-template-columns: auto;
.answers-wrapper[data-v-e1c1fe0e] {
      position: relative;
      --extender-height: 2rem;
&[data-v-e1c1fe0e]::before {
        content: '';
        position: absolute;
        inset: auto 2px calc(var(--extender-height) + 2px);
        block-size: 2rem;
        background-image: linear-gradient(to bottom, transparent, white);
}
&[data-v-e1c1fe0e]:has(.answers.extended)::before {
        display: none;
}
.answers[data-v-e1c1fe0e] {
        block-size: 7rem;
        transition: block-size .5s ease-in-out;
        interpolate-size: allow-keywords;
&.extended[data-v-e1c1fe0e] {
          block-size: fit-content;
&+.answers--extender[data-v-e1c1fe0e] {
            display: none;
}
}
}
.answers--extender[data-v-e1c1fe0e] {
        display: block;
        position: absolute;
        inset: auto 2px 2px;
        padding: .25rem 1rem .75rem;
        block-size: var(--extender-height);
        color: var(--primary-color);
        text-align: center;
        z-index: 1;
        background-color: white;
        border-radius: .5rem;
}
}
}
}
.answers-wrapper[data-v-e1c1fe0e] {
  border: 2px solid transparent;
  border-radius: .5rem;
.answers--extender[data-v-e1c1fe0e] {
    display: none;
}
.answers[data-v-e1c1fe0e] {
    block-size: fit-content;
    max-block-size: min(40rem, 80vh);
    overflow-y: auto;
    padding: 1rem;
    margin: 0;
dt[data-v-e1c1fe0e] {
      font-weight: 700;
      margin-block-end: .25rem;
}
dd[data-v-e1c1fe0e] {
      margin-inline-start: .5rem;
      margin-block-end: .5rem;
}
}
}
.results-wrapper[data-v-e1c1fe0e] {
  border: 2px solid var(--gray-300);
  background-color: var(--gray-200);
  border-radius: .5rem;
  padding: 1rem;
  display: grid;
  gap: 1.25rem;
  block-size: fit-content;
  max-block-size: 40rem;
  overflow-y: auto;
.result[data-v-e1c1fe0e] {
    border-radius: .5rem;
    background-color: white;
    display: grid;
    gap: .375rem;
    padding: 1rem;
.result-title[data-v-e1c1fe0e] {
      font-size: clamp(1rem, 1.8cqi, 1.125rem);
      font-weight: 700;
      margin-block-end: .25rem;
      color: var(--primary-color);
      text-decoration: none;
}
.result-icon-fact[data-v-e1c1fe0e] {
      display: grid;
      align-items: baseline;
      grid-template-columns: 1rem 1fr;
      gap: .75rem;
      color: var(--gray-700);
svg[data-v-e1c1fe0e] {
        inline-size: 100%;
        block-size: auto;
        fill: var(--gray-500);
}
}
.result-debug[data-v-e1c1fe0e] {
      margin-top: 0.5rem;
      padding-top: 0.5rem;
      border-top: 1px dashed var(--gray-300);
      color: var(--gray-700);
      opacity: 0.8;
      line-height: 1.4;
}
}
.no-results[data-v-e1c1fe0e] {
    padding: 2rem;
    text-align: center;
    background-color: white;
    border-radius: 0.5rem;
    color: var(--gray-700);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
p[data-v-e1c1fe0e] {
      margin: 0;
}
.btn[data-v-e1c1fe0e] {
      padding: 0.75rem 1.5rem;
      border-radius: 50vw;
      font-weight: bold;
      transition: background-color 0.2s, color 0.2s;
      border: 1px solid var(--primary-color);
      color: var(--primary-color);
      background: white;
      cursor: pointer;
      inline-size: fit-content;
&[data-v-e1c1fe0e]:hover {
        background: var(--primary-color);
        color: white;
}
}
}
}


@property --loading-bg-rotation {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes sparkle-pulse-3f87de1e {
0%, 100% { transform: scale(1); opacity: 0.8;
}
50% { transform: scale(1.2); opacity: 1;
}
}
@keyframes loading-spin-bg-3f87de1e {
to {
    --loading-bg-rotation: 360deg;
}
}
.loading-screen[data-v-3f87de1e] {
  position: absolute;
  display: flex;
  inset: 0;
  align-items: center;
  justify-content: center;
  background: white;
  z-index: -2;
  opacity: 0;
  transition: opacity .5s linear;
  pointer-events: none;
@container main (inline-size < 52rem) {
    align-items: start;
}
.spinner[data-v-3f87de1e] {
    position: relative;
    inline-size: 8rem;
    aspect-ratio: 1;
    opacity: 0;
    --bg: linear-gradient(var(--loading-bg-rotation), var(--primary-color), var(--secondary-color));
    animation: loading-spin-bg-3f87de1e 2s linear infinite;
    transition: opacity .3s linear .5s;
    backdrop-filter: blur(1rem);
&[data-v-3f87de1e]::before,
    &[data-v-3f87de1e]::after,
    .sparkle-inner[data-v-3f87de1e] {
      content: "";
      position: absolute;
      background-image: var(--bg);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 512 512%27%3E%3C%21--%21Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2026 Fonticons, Inc.--%3E%3Cpath d=%27M278.5 15.6C275 6.2 266 0 256 0s-19 6.2-22.5 15.6L174.2 174.2 15.6 233.5C6.2 237 0 246 0 256s6.2 19 15.6 22.5l158.6 59.4 59.4 158.6C237 505.8 246 512 256 512s19-6.2 22.5-15.6l59.4-158.6 158.6-59.4C505.8 275 512 266 512 256s-6.2-19-15.6-22.5L337.8 174.2 278.5 15.6z%27/%3E%3C/svg%3E");
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      animation: sparkle-pulse-3f87de1e var(--animation-duration) ease-in-out infinite;
}

    /* Sparkle 1 */
.sparkle-inner[data-v-3f87de1e] {
      inline-size: 50%;
      aspect-ratio: 1;
      top: 20%;
      left: 10%;
      --animation-duration: 3s;
}

    /* Sparkle 2 */
&[data-v-3f87de1e]::before {
      inline-size: 15%;
      aspect-ratio: 1;
      top: 15%;
      left: 75%;
      animation-delay: -0.5s;
      --animation-duration: 1.5s;
}

    /* Sparkle 3 */
&[data-v-3f87de1e]::after {
      inline-size: 30%;
      aspect-ratio: 1;
      top: 70%;
      left: 60%;
      animation-delay: -1.2s;
      --animation-duration: 2s;
}
}
&.visible[data-v-3f87de1e] {
    z-index: 2;
    opacity: 1;
.spinner[data-v-3f87de1e] {
      opacity: 1;
}
}
&[data-v-3f87de1e]:not(.visible) {
    transition:
      opacity 0.5s linear 0.5s,
      z-index 0s linear 1s;
}
}


.error-screen[data-v-b8027500] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  z-index: 10;
  text-align: center;
  padding: 2rem;
}
.error-content[data-v-b8027500] {
  max-inline-size: 30rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.error-icon[data-v-b8027500] {
  inline-size: 4rem;
  aspect-ratio: 1;
  color: #d9534f; /* Error Red */
  margin-block-end: 0.5rem;
svg[data-v-b8027500] {
    fill: currentColor;
}
}
h3[data-v-b8027500] {
  margin: 0;
  font-size: 1.5rem;
  color: var(--text-color);
}
p[data-v-b8027500] {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--gray-700);
}
.btn[data-v-b8027500] {
  margin-block-start: 1rem;
  padding: 0.75rem 1.5rem;
  border-radius: 50vw;
  font-weight: bold;
  transition: background-color 0.2s, color 0.2s;
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  background: white;
  cursor: pointer;
&[data-v-b8027500]:hover {
    background: var(--primary-color);
    color: white;
}
}


.ibb-course-advisor--wrapper[data-v-5a103a12] {
  inline-size: min(72rem, calc(100% - 2rem));
  margin-inline: auto;
  block-size: auto;
}
.ibb-course-advisor[data-v-5a103a12] {
  --primary-color: oklch(0.5346 0.1196 238.57); /* #0075aa */
  --secondary-color: oklch(0.7218 0.1083 211.49); /* #3eb7cc */
  --text-color: var(--text-color-prop);
  --gray-700: color-mix(in srgb, var(--gray-500) 30%, black);
  --gray-500: oklch(0.6305 0.0148 233.89); /* #818b91 */
  --gray-300: color-mix(in srgb, var(--gray-500) 30%, white);
  --gray-200: oklch(0.9442 0.0101 228.89); /* #e6eef2 */

  --step-change-duration: 1s;

  color: var(--text-color);
  container-type: inline-size;
  container-name: main;
  inline-size: 100%;
  block-size: 100%;
}
.ibb-course-advisor--inner[data-v-5a103a12] {
  background: #fff;
  font-family: Calibri,Arial,Helvetica,sans-serif;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  row-gap: 1rem;
  margin-inline: auto;
  margin: 0 auto;
@container (inline-size >= 35rem) {
    row-gap: 1.5rem;
}
@container (inline-size >= 54rem) {
    row-gap: 2rem;
}
}
[data-v-5a103a12] .ibb-course-advisor--headline {
  text-align: center;
}
[data-v-5a103a12] .ibb-course-advisor--headline :is(h2, h3) {
  margin: 0 0 1rem;
  letter-spacing: -0.02em;
}
[data-v-5a103a12] .ibb-course-advisor--headline h2 {
  font-size: clamp(1.5rem, 3cqi, 2rem);
}
[data-v-5a103a12] .ibb-course-advisor--headline h3 {
  font-size: clamp(1.4rem, 2.25cqi, 1.6rem);
}
[data-v-5a103a12] .ibb-course-advisor--headline p {
  font-size: clamp(1rem, 1.8cqi, 1.25rem);
  color: var(--text-color);
}
.ibb-course-advisor--content[data-v-5a103a12] {
  overflow-x: clip;
  inline-size: 100%;
  min-inline-size: 0;
  position: relative;
}
.step-wrapper[data-v-5a103a12] {
  --step-gap: 8rem;
  display: flex;
  column-gap: var(--step-gap);
  inline-size: 100%;
  block-size: 100%;
  transition:
    transform calc(var(--step-change-duration) * 0.6) ease-in-out calc(var(--step-change-duration) * 0.2),
    scale calc(var(--step-change-duration) * 0.2) ease-in-out;
}
[data-v-5a103a12] button {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
}
[data-v-5a103a12] .text-inactive {
  color: var(--gray-500);
}
.ibb-course-advisor .navigation[data-v-5a103a12] {
  display: flex;
  column-gap: 1rem;
  justify-content: center;
  align-items: center;
  transition: opacity .5s linear;
.btn[data-v-5a103a12] {
    flex-shrink: 0;
    inline-size: 2.5rem;
    aspect-ratio: 1;
    border-radius: 50vw;
    background: var(--primary-color);
    color: white;
    transition: opacity .3s ease-in-out;
&[disabled][data-v-5a103a12] {
      opacity: 0.2;
}
svg[data-v-5a103a12] {
      inline-size: 1.25rem;
      fill: currentColor;
}
&.btn--outline[data-v-5a103a12] {
      background: white;
      border: 1px solid var(--primary-color);
      color: var(--primary-color);
}
}
}
[data-v-5a103a12] .minimal-scrollbar {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
&[data-v-5a103a12]::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
&[data-v-5a103a12]::-webkit-scrollbar-track {
    background: transparent;
}
&[data-v-5a103a12]::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    border: 1px solid transparent;
}
&[data-v-5a103a12]::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.4);
}
&[data-v-5a103a12]::-webkit-scrollbar-button {
    display: none;
}
}
.mirror-icon svg[data-v-5a103a12] {
  transform: scaleX(-1);
}
[data-v-5a103a12] .invisible {
  opacity: 0;
}

