@font-face {
  font-family: 'VLP Diagram Sans';
  src: url('/assets/diagram-fonts/diagram-noto-sans-4e914f9f3b40.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: 'VLP Diagram Math';
  src: url('/assets/diagram-fonts/diagram-noto-math-28e810dce43f.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root {
  --vlp-diagram-font: 'VLP Diagram Sans', 'VLP Diagram Math', 'Noto Sans', system-ui, sans-serif;
  --vlp-diagram-ink: #e8f3fb;
  --vlp-diagram-muted: #b6cadb;
  --vlp-diagram-line: #78d8d2;
  --vlp-diagram-border: #3d5d73;
  --vlp-diagram-ground: #0b1728;
}

.learning-diagram,
.diagram-dialog,
.guide-page.usage-guide .usage-guide-flow,
.data-guide-flow,
.data-plot-result,
.analytics-chart,
.analytics-breakdown,
.analytics-hours {
  font-family: var(--vlp-diagram-font);
  font-kerning: normal;
}

.learning-diagram :is(h2, h3, .eyebrow, p, li, summary, dt, dd, button, a),
.diagram-dialog :is(strong, button),
.guide-page.usage-guide .usage-guide-step :is(strong, h3, p),
.data-guide-flow :is(strong, span),
.data-plot-result figcaption,
.analytics-chart :is(h2, p, summary, text),
.analytics-breakdown :is(h3, span, strong),
.analytics-hours :is(h2, p, small) {
  font-family: var(--vlp-diagram-font);
}

@media screen {
  .learning-diagram {
    min-width: 0;
    padding: 25px;
    color: var(--vlp-diagram-ink);
    border: 1px solid var(--vlp-diagram-border);
    border-radius: 16px;
    background: linear-gradient(145deg, #132b40, #0b1b2b);
    box-shadow: inset 0 1px 0 #d0efff0b;
  }

  .learning-diagram figcaption > .eyebrow {
    color: #9bdedc;
    font-size: .73rem;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: .06em;
  }

  .learning-diagram figcaption :is(h2, h3) {
    margin: 9px 0 11px !important;
    color: #edf6fd;
    font-size: 1.16rem !important;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.012em;
  }

  .learning-diagram figcaption p,
  .learning-diagram .diagram-notes,
  .learning-diagram .class-notation,
  .learning-diagram .diagram-reading {
    --vlp-prose-align: left;
    color: var(--vlp-diagram-muted);
    text-align: left;
    text-align-last: auto;
    word-spacing: normal;
    word-break: normal;
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
    line-height: 1.8;
  }

  .learning-diagram figcaption p {
    margin: 0 0 20px;
    font-size: .91rem;
  }

  .learning-diagram .diagram-canvas {
    min-width: 0;
    max-width: 100%;
    max-height: min(76dvh, 860px);
    padding: 22px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-color: #537b91 #0b1728;
    scrollbar-width: auto;
    border: 1px solid #345168;
    border-radius: 11px;
    background: var(--vlp-diagram-ground);
    box-shadow: inset 0 1px 10px #030a1433;
    text-align: center;
  }

  .learning-diagram .diagram-canvas img,
  .practice-workflow .diagram-canvas img {
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0 auto;
  }

  .diagram-canvas:focus-visible,
  .diagram-dialog-body:focus-visible,
  .data-plot-result:focus-visible,
  .analytics-chart:focus-visible,
  .analytics-chart > svg:focus-visible {
    outline: 2px solid #9fe9e0;
    outline-offset: -3px;
  }

  .learning-diagram .diagram-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin: 17px 0;
  }

  .learning-diagram .diagram-tools :is(button, a),
  .diagram-dialog .diagram-dialog-head button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    min-width: 44px;
    padding: 9px 13px;
    border: 1px solid #486d81;
    border-radius: 9px;
    color: #d7f4ef;
    background: #142e40;
    font-size: .8rem;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    white-space: normal;
  }

  .learning-diagram .diagram-tools :is(button, a):hover,
  .diagram-dialog .diagram-dialog-head button:hover {
    border-color: #8bdcd2;
    color: #f2fffd;
    background: #1b3c4b;
  }

  .learning-diagram .diagram-tools :is(button, a):focus-visible,
  .diagram-dialog .diagram-dialog-head button:focus-visible,
  .learning-diagram .diagram-reading summary:focus-visible,
  .data-plot-result figcaption a:focus-visible {
    outline: 2px solid #9fe9e0;
    outline-offset: 3px;
  }

  .learning-diagram .diagram-tools svg,
  .diagram-dialog .diagram-dialog-head button svg {
    flex-shrink: 0;
  }

  .learning-diagram .diagram-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 6px;
    padding: 16px 0;
    border-top: 1px solid #365267;
    color: #d3e6f1;
    font-size: .79rem;
    line-height: 1.55;
  }

  .learning-diagram .diagram-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 39px;
    padding: 5px 10px;
    border: 1px solid #395368;
    border-radius: 7px;
    background: #0c1e2e;
  }

  .learning-diagram .diagram-legend svg {
    width: 42px;
    height: 26px;
    flex-shrink: 0;
    color: #9ee4de;
    stroke-width: 1.6px;
  }

  .learning-diagram .class-legend svg {
    width: 62px;
    height: 26px;
  }

  .learning-diagram .diagram-notes,
  .learning-diagram .class-notation {
    font-size: .84rem;
  }

  .learning-diagram .diagram-reading {
    margin-top: 18px;
    padding-top: 0;
    border-top: 1px solid #365267;
    font-size: .83rem;
  }

  .learning-diagram .diagram-reading summary {
    min-height: 44px;
    padding: 13px 0;
    color: #ccebe9;
    font-weight: 500;
    cursor: pointer;
  }

  .learning-diagram .diagram-reading dl {
    gap: 12px;
    margin: 5px 0 18px;
  }

  .learning-diagram .diagram-reading dl > div {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #304c61;
    border-radius: 8px;
    background: #0b1b2b;
  }

  .learning-diagram .diagram-reading dt {
    color: #e4f1f9;
    font-weight: 500;
  }

  .learning-diagram .diagram-reading dd {
    color: #a9c2d5;
  }

  .diagram-dialog {
    color: var(--vlp-diagram-ink);
    border-color: #577b91;
    border-radius: 15px;
    background: #0b1728;
  }

  .diagram-dialog .diagram-dialog-head {
    z-index: 1;
    gap: 14px;
    padding: 15px 20px;
    border-color: #3c596e;
    background: #142b3e;
  }

  .diagram-dialog .diagram-dialog-head strong {
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.65;
    overflow-wrap: break-word;
  }

  .diagram-dialog .diagram-dialog-head .btn-row {
    gap: 8px;
  }

  .diagram-dialog .diagram-dialog-body {
    padding: 20px;
    scrollbar-color: #537b91 #0b1728;
    overscroll-behavior: contain;
    background: #0b1728;
  }

  .diagram-dialog .diagram-dialog-body.natural img {
    width: auto;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0 auto;
  }
  .guide-page.usage-guide .usage-guide-flow {
    --usage-flow-ink: #a8e9e4;
    --usage-flow-line: #80d6d1;
    --usage-flow-border: #629aab;
    --usage-flow-fill: #163649;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 28px;
    padding: 24px;
    border-color: #3d5d73;
    border-radius: 14px;
    background: #0b1b2b;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step,
  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:last-child {
    min-height: 0;
    margin: 0;
    padding: 58px 15px 18px;
    border: 1px solid #426a80;
    border-radius: 7px;
    background: #122b3f;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step::before {
    top: 14px;
    left: 15px;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    font-family: var(--vlp-diagram-font);
    font-size: .76rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:not(:last-child)::after {
    top: calc(50% - 4px);
    right: auto;
    bottom: auto;
    left: calc(100% + 5px);
    width: 20px;
    height: 8px;
    background: var(--usage-flow-line);
    clip-path: polygon(0 38%, 68% 38%, 68% 0, 100% 50%, 68% 100%, 68% 62%, 0 62%);
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step > :is(strong, h3) {
    margin: 0 0 9px;
    color: #e7f5fb;
    font-size: .91rem;
    font-weight: 600;
    line-height: 1.55;
    letter-spacing: normal;
    overflow-wrap: break-word;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step > p,
  .data-guide-flow > li > span {
    --vlp-prose-align: left;
    max-width: none;
    margin: 0;
    color: #b9cedd;
    font-size: .85rem;
    line-height: 1.8;
    letter-spacing: normal;
    text-align: left;
    text-align-last: auto;
    word-spacing: normal;
    -webkit-hyphens: none;
    hyphens: none;
    overflow-wrap: break-word;
  }

  .guide-page.usage-guide .usage-guide-flow--diagnostic {
    --usage-flow-ink: #ffe0a6;
    --usage-flow-line: #d4b97a;
    --usage-flow-border: #b09258;
    --usage-flow-fill: #3a3429;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .guide-page.usage-guide .usage-guide-flow--diagnostic > .usage-guide-step,
  .guide-page.usage-guide .usage-guide-flow--diagnostic > .usage-guide-step:last-child {
    padding: 18px 20px 18px 64px;
    border-color: #786d50;
    background: #1b2835;
  }

  .guide-page.usage-guide .usage-guide-flow--diagnostic > .usage-guide-step::before {
    top: 18px;
    left: 18px;
  }

  .guide-page.usage-guide .usage-guide-flow--diagnostic > .usage-guide-step:not(:last-child)::after {
    top: calc(100% + 5px);
    right: auto;
    bottom: auto;
    left: calc(50% - 4px);
    width: 8px;
    height: 16px;
    clip-path: polygon(38% 0, 62% 0, 62% 62%, 100% 62%, 50% 100%, 0 62%, 38% 62%);
  }

  .data-guide-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    min-width: 0;
    list-style: none;
  }

  .data-guide-flow > li {
    min-width: 0;
    padding: 18px !important;
    border: 1px solid #426a80;
    border-top: 3px solid #78d8d2;
    border-radius: 7px;
    background: #11283b;
  }

  .data-guide-flow > li > strong {
    margin-bottom: 10px;
    color: #d3f2ec;
    font-size: .93rem;
    font-weight: 600;
    line-height: 1.55;
  }

  .data-guide-flow > li + li::before {
    content: none;
  }

  .data-guide-flow > li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: calc(100% + 5px);
    width: 20px;
    height: 8px;
    background: #80d6d1;
    clip-path: polygon(0 38%, 68% 38%, 68% 0, 100% 50%, 68% 100%, 68% 62%, 0 62%);
    pointer-events: none;
  }

  .data-plot-result {
    border-color: #426279;
    border-radius: 12px;
    overflow: auto;
    scrollbar-color: #537b91 #0b1728;
    background: #0b1b2b;
  }

  .data-plot-result figcaption {
    position: sticky;
    left: 0;
    gap: 10px 18px;
    padding: 14px 18px;
    color: #e2f0f8;
    background: #132b40;
    border-color: #3d5d73;
  }

  .data-plot-result figcaption strong {
    font-size: .9rem;
    font-weight: 600;
  }

  .data-plot-result figcaption a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #b6ede5;
    font-size: .81rem;
    font-weight: 500;
  }

  .data-plot-result img {
    width: 100%;
    min-width: 620px;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .analytics-chart {
    min-width: 0;
    overflow-x: auto;
    border-color: #426279;
    scrollbar-color: #537b91 #0b1728;
  }

  .analytics-chart > svg {
    width: 100%;
    min-width: 780px;
    height: auto;
    margin: 20px 0;
    overflow: visible;
    border-radius: 10px;
    background: #0b1728;
  }

  .analytics-chart > svg text {
    fill: #b9cede;
    font-family: var(--vlp-diagram-font);
    font-size: 14px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
  }

  .analytics-chart > svg line {
    stroke: #3d566b;
  }

  .analytics-chart > svg polyline {
    stroke-linejoin: round;
    stroke-linecap: round;
  }

  .analytics-chart > svg polyline:nth-of-type(2) {
    stroke-dasharray: 7 5;
  }

  .analytics-chart .section-head > .small {
    color: #cadce8;
    font-family: var(--vlp-diagram-font);
    font-size: .8rem;
    line-height: 1.75;
  }

  .analytics-chart details > summary {
    min-height: 44px;
    padding-block: 10px;
    color: #c7e6e6;
    font-weight: 500;
  }

  .analytics-breakdown > div {
    gap: 14px;
    margin-bottom: 18px;
    padding-bottom: 15px;
    font-size: .83rem;
    line-height: 1.6;
  }

  .analytics-breakdown > div > strong {
    flex-shrink: 0;
    color: #e0f1f4;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .analytics-breakdown > div > i {
    height: 5px;
    border-radius: 3px;
    opacity: 1;
    background: #78d8d2;
  }

  .analytics-hours > div {
    padding-bottom: 1px;
    border-bottom: 1px solid #4c6b80;
    margin-bottom: 36px;
  }

  .analytics-hours i {
    background: #78d8d2;
    border-radius: 3px 3px 0 0;
  }

  .analytics-hours small {
    color: #b7cedf;
    font-size: .74rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
  }
}

@media screen and (max-width: 1100px) {
  .guide-page.usage-guide .usage-guide-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step,
  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:last-child {
    padding: 18px 20px 18px 64px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step::before {
    top: 18px;
    left: 18px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:not(:last-child)::after {
    top: calc(100% + 5px);
    right: auto;
    bottom: auto;
    left: calc(50% - 4px);
    width: 8px;
    height: 16px;
    clip-path: polygon(38% 0, 62% 0, 62% 62%, 100% 62%, 50% 100%, 0 62%, 38% 62%);
  }
}

@media screen and (max-width: 900px) {
  .data-guide-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .data-guide-flow > li:not(:last-child)::after {
    top: calc(100% + 5px);
    left: calc(50% - 4px);
    width: 8px;
    height: 16px;
    clip-path: polygon(38% 0, 62% 0, 62% 62%, 100% 62%, 50% 100%, 0 62%, 38% 62%);
  }
}

@media screen and (max-width: 700px) {
  .learning-diagram,
  .exercise-plan .learning-diagram {
    padding: 18px 13px;
    border-radius: 12px;
  }

  .learning-diagram figcaption :is(h2, h3) {
    font-size: 1.05rem !important;
    line-height: 1.55;
  }

  .learning-diagram .diagram-canvas {
    max-height: min(70dvh, 680px);
    padding: 13px;
    border-radius: 8px;
  }

  .learning-diagram .diagram-tools {
    gap: 9px;
  }

  .learning-diagram .diagram-tools :is(button, a) {
    flex-grow: 1;
    padding: 9px 11px;
    font-size: .78rem;
  }

  .learning-diagram .diagram-legend {
    gap: 8px;
  }

  .learning-diagram .diagram-legend > span {
    padding: 5px 8px;
    font-size: .75rem;
  }

  .learning-diagram .diagram-reading dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .diagram-dialog .diagram-dialog-head,
  .learning-content .exercise-card .diagram-dialog-head {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
  }

  .diagram-dialog .diagram-dialog-head strong {
    max-width: 100%;
    font-size: .87rem;
  }

  .diagram-dialog .diagram-dialog-head .btn-row {
    justify-content: flex-end;
    width: 100%;
  }

  .diagram-dialog .diagram-dialog-body {
    max-height: calc(100dvh - 185px);
    padding: 12px;
  }

  .guide-page.usage-guide .usage-guide-flow {
    padding: 17px;
    border-radius: 12px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step,
  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:last-child {
    padding: 16px 14px 17px 56px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step::before {
    top: 17px;
    left: 14px;
    width: 27px;
    height: 27px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step > p,
  .data-guide-flow > li > span {
    font-size: .86rem;
  }

  .analytics-hours > div {
    gap: 4px;
  }

  .analytics-hours small {
    font-size: .68rem;
  }
}

@media screen and (max-width: 370px) {
  .learning-diagram,
  .exercise-plan .learning-diagram {
    padding: 15px 10px;
  }

  .guide-page.usage-guide .usage-guide-flow {
    padding: 13px 11px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step,
  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step:last-child {
    padding-left: 50px;
  }

  .guide-page.usage-guide .usage-guide-flow > .usage-guide-step::before {
    left: 12px;
  }
}

@media print {
  .learning-diagram,
  .data-plot-result {
    color: #142c3d;
    background: #fff;
    box-shadow: none;
  }

  .learning-diagram .diagram-canvas,
  .data-plot-result {
    max-height: none;
    overflow: visible;
  }

  .learning-diagram .diagram-canvas img,
  .data-plot-result img,
  .analytics-chart > svg {
    min-width: 0;
    max-width: 100%;
    height: auto;
  }

  .learning-diagram .diagram-tools,
  .diagram-dialog {
    display: none !important;
  }
}
.vlp-staff-profile-link,.vlp-staff-profile-link:visited,.vlp-staff-profile-link:hover,.vlp-staff-profile-link:focus,.vlp-staff-profile-link:active{color:var(--vlp-author-link-color,#8ac9ed);font:inherit;text-decoration:none}
.vlp-staff-profile-link:focus-visible{outline:2px solid var(--vlp-author-link-color,#8ac9ed);outline-offset:4px;border-radius:2px}

.vlp-author-credit{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 9px;max-width:100%;vertical-align:middle}
.vlp-author-credit-text{min-width:0;max-width:100%;overflow-wrap:anywhere}
.vlp-author-social-links{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;vertical-align:middle;white-space:nowrap}
.vlp-author-social-link{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid currentColor;border-radius:9px;color:inherit;text-decoration:none;opacity:1;vertical-align:middle}
.vlp-author-social-link svg{display:block;flex:none;width:18px;height:18px;color:var(--vlp-author-link-color,#8ac9ed)}
.vlp-author-social-link:hover{opacity:1;background:#7abfb51c}
.vlp-author-social-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;opacity:1}
@media (max-width:650px){.vlp-author-credit{display:flex;flex-direction:column;gap:6px}.vlp-author-social-link{width:44px;height:44px}}
@media (pointer:coarse){.vlp-author-social-link{width:44px;height:44px}}
@media print{:root{--vlp-author-link-color:#1b6792}}
html[data-vlp-view="catalogue"] #main > .institution-banner,
html[data-vlp-view="catalogue"] #main > .hero,
html[data-vlp-view="catalogue"] #main > .stats-strip,
html[data-vlp-view="catalogue"] #main > .practice-banner,
html[data-vlp-view="catalogue"] #main > .journey-section,
html[data-vlp-view="catalogue"] #main > .usage-banner,
html[data-vlp-view="catalogue"] #main > .suggestion-invitation { display:none !important; }
html[data-vlp-view="catalogue"] #main > .catalogue {margin-top:20px;}
html[data-vlp-view="catalogue"] #main > .catalogue .section-head {margin-bottom:22px;}
html[data-vlp-view="catalogue"] #main > .catalogue #catalogue-title {font-size:clamp(1.8rem,3.8vw,3rem);}
.vlp-welcome-standalone{max-width:1000px;margin:24px auto 64px;}
.vlp-welcome-standalone .vlp-welcome-letter{max-height:none;overflow:visible;padding:clamp(20px,4vw,42px);border:1px solid #516e8b60;border-radius:22px;background:linear-gradient(150deg,#12243a,#0b1729 60%,#121e32);box-shadow:0 28px 60px #01081270;}
.vlp-welcome-standalone .vlp-welcome-letter h1{font-size:clamp(1.8rem,3.8vw,2.9rem);}
.vlp-welcome-standalone .vlp-welcome-letter p{line-height:1.85;}
.vlp-welcome-standalone .vlp-welcome-letter a{overflow-wrap:anywhere;}
.vlp-stars-header { display:none !important; }
.vlp-v50-shared-header{z-index:10;}
.vlp-background-stars-v48 { z-index:2; }
.vlp-v50-shared-header,.site-header,.music-channel,.bot-panel,dialog[open]{isolation:isolate;}
@media screen and (max-width:700px){
  #main > .hero > .hero-visual > .robot-scene > .floating-code {
    left:50%;right:auto;bottom:15px;width:min(58%,166px);max-width:166px;
    box-sizing:border-box;transform:translateX(-22%) rotate(-2deg);
    padding:6px 9px 7px;font-size:10px;z-index:3;
  }
  #main > .hero > .hero-visual {overflow:hidden;}
  #main > .hero > .hero-visual > .robot-scene {overflow:visible;}
  #main > .hero > .hero-visual > .robot-scene > .orion-robot-svg {z-index:2;}
  #main > .hero > .hero-visual > .robot-scene > .floating-code code{font-size:inherit;white-space:nowrap;}
  .site-header .header-inner{min-height:0;padding-top:10px;padding-bottom:10px;}
  #main > .institution-banner{margin-top:8px;padding:12px 14px;}
  #main > .institution-banner .institution-logo img{max-height:62px;object-fit:contain;}
  #main > .hero{padding-top:20px;}
  #main > .hero h1{font-size:clamp(2.0rem,8.2vw,3.15rem);line-height:1.1;}
  #main > .hero p{margin-top:10px;margin-bottom:12px;}
  #main > .hero .hero-actions{margin-top:12px;}
  .vlp-welcome-standalone {margin:12px auto 40px;}
  .vlp-welcome-standalone .vlp-welcome-letter{padding:18px 14px;}
  .vlp-welcome-standalone .vlp-welcome-letter p{text-align:left;}
}
@media screen and (max-width:370px){
  #main > .hero > .hero-visual > .robot-scene > .floating-code {
    bottom:12px;width:min(59%,150px);max-width:150px;transform:translateX(-19%) rotate(-2deg);
    padding:5px 8px 6px;font-size:9px;
  }
}
@media (prefers-reduced-motion:reduce),(forced-colors:active),print {.vlp-background-stars-v48{display:none!important;}}
@media screen and (max-width:700px){
  .site-header .mobile-menu{display:inline-flex !important;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
  .site-header .top-nav{display:none !important;}
  .site-header .top-nav.open{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px;}
  .site-header .top-nav.open a,.site-header .top-nav.open button{min-height:44px;}
}
@media screen and (max-width:700px){
 #main > .hero > .vlp-home-constellation-v48 {display:none!important;visibility:hidden!important;}
 #main > .hero {grid-template-areas:"copy" "companion"!important;grid-template-columns:minmax(0,1fr)!important;}
}
html:not([data-vlp-view="catalogue"]) #main > .catalogue { display:none !important; }
@media screen and (max-width:700px){
 html.vlp-language-control .site-header>.header-inner{
   display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;
   grid-template-rows:auto auto auto;column-gap:8px;row-gap:8px;
   align-items:start;
 }
 html.vlp-language-control .site-header .site-brand{
   grid-column:1 / -1;grid-row:1;min-width:0;
 }
 html.vlp-language-control .site-header .header-inner .mobile-menu{
   display:inline-flex!important;grid-column:2;grid-row:2;justify-self:end;align-self:start;
   position:static!important;inset:auto!important;margin:0;min-width:44px;min-height:44px;
 }
 html.vlp-language-control .site-header .header-inner .top-nav{
   grid-column:1 / -1;grid-row:3;min-width:0;
 }
 html.vlp-language-control .site-header .header-inner .top-nav:not(.open){display:none!important;}
 html.vlp-language-control .site-header .header-inner .top-nav.open{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
@media screen and (max-width:700px) {
 html.vlp-language-control .site-header .header-inner .mobile-menu {
   transform:translateY(-46px);
 }
 #main > .hero > .hero-visual > .robot-scene > .floating-code {
   left:clamp(7px,3%,14px) !important;
   right:auto !important;
   bottom:12px !important;
   transform:rotate(-2deg) !important;
   width:min(58%,166px) !important;
   max-width:166px !important;
   box-sizing:border-box !important;
 }
}
@media screen and (max-width:370px) {
 #main > .hero > .hero-visual > .robot-scene > .floating-code {
   left:6px !important;bottom:10px !important;
   width:min(59%,150px) !important;max-width:150px !important;
 }
}
html[data-vlp-owner="0"] a[href="/admin"],
html[data-vlp-owner="0"] a[href^="/admin?"],
html[data-vlp-owner="0"] a[href="/admin/database"] {display:none!important;}
.vlp-db-shortcut{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #55bdcf55;border-radius:13px;background:#10304b;color:#c6f8ff;font-weight:650;text-decoration:none;min-height:44px;}
.vlp-db-shortcut:hover,.vlp-db-shortcut:focus-visible{border-color:#4ee1e9;background:#173c54;}
@media screen and (min-width:400px) and (max-width:700px){
 html.vlp-language-control .site-header .header-inner .mobile-menu {transform:translateY(-30px);}
}
@media screen and (max-width:700px){
 html.vlp-language-control:has(.vlp-stars-main) .site-header .header-inner .mobile-menu {transform:translateY(-30px);}
}
@media screen {
  html body main.shell,
  html body .site-header > .shell.header-inner,
  html body .site-footer > .shell,
  html body .vlp-stars-page > .shell,
  html body .vlp-stars-page .shell,
  html body .analytics-page.shell {
    width:min(1440px, calc(100% - 96px)) !important;
    max-width:none !important;
    min-width:0;
    margin-inline:auto !important;
    box-sizing:border-box;
  }
  html body main.shell.analytics-page {padding-inline:0 !important;}
  html body .vlp-welcome-standalone {max-width:none;}
  html body .vlp-welcome-standalone .vlp-welcome-letter {max-width:1000px;margin-inline:auto;}
}
@media screen and (max-width:1150px) {
  html body main.shell,html body .site-header > .shell.header-inner,
  html body .site-footer > .shell,html body .vlp-stars-page > .shell,
  html body .vlp-stars-page .shell,html body .analytics-page.shell {
    width:calc(100% - 64px) !important;
  }
}
@media screen and (max-width:900px) {
  html body main.shell,html body .site-header > .shell.header-inner,
  html body .site-footer > .shell,html body .vlp-stars-page > .shell,
  html body .vlp-stars-page .shell,html body .analytics-page.shell {
    width:calc(100% - 44px) !important;
  }
}
@media screen and (max-width:700px) {
  html body main.shell,html body .site-header > .shell.header-inner,
  html body .site-footer > .shell,html body .vlp-stars-page > .shell,
  html body .vlp-stars-page .shell,html body .analytics-page.shell {
    width:calc(100% - 24px) !important;
  }
}
html:not([data-vlp-owner="1"]) .vlp-db-manager-entry{display:none!important;}
@media screen and (max-width:700px){
  html[data-vlp-view="home"] .site-header .site-brand .brand-sub,
  html[data-vlp-view="home"] .site-header .site-brand .brand-department {display:none!important;}
  html[data-vlp-view="home"] .site-header .header-inner .mobile-menu {margin-top:14px!important;transform:none!important;}
  html[data-vlp-view="home"] #main > .institution-banner {
    display:grid!important;
    grid-template-columns:clamp(64px,19vw,78px) minmax(0,1fr)!important;
    align-items:center;justify-content:start;
    column-gap:clamp(10px,3vw,14px)!important;
    row-gap:0!important;
    padding:12px!important;
    margin-top:9px!important;
    min-height:0;
    border-radius:14px;
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-logo {
    display:block!important;
    width:clamp(64px,19vw,78px)!important;
    height:clamp(64px,19vw,78px)!important;
    min-width:0;max-width:none!important;
    padding:3px!important;
    overflow:hidden!important;
    justify-self:start;
    border-radius:11px;
    box-sizing:border-box;
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-logo > img {
    display:block!important;
    height:100%!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    clip-path:inset(0 65% 0 0);
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-copy {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center;
    gap:3px!important;
    min-width:0;
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-copy > .eyebrow {
    font-size:clamp(.59rem,2.65vw,.70rem)!important;
    line-height:1.34!important;
    letter-spacing:.04em!important;
    font-weight:750;
    margin:0!important;
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-copy > p {
    font-size:clamp(.66rem,2.75vw,.79rem)!important;
    line-height:1.33!important;
    margin:0!important;
    overflow-wrap:normal;
    hyphens:auto;
  }
  html[data-vlp-view="home"] #main > .institution-banner > .institution-copy > .vlp-release-version {
    align-self:flex-start!important;
    margin:3px 0 0!important;
    padding:1px 7px!important;
    font-size:.65rem!important;
    line-height:1.5!important;
  }
}
@media screen and (max-width:400px){
  html[data-vlp-view="home"] .site-header .header-inner .mobile-menu {margin-top:22px!important;}
}
@media screen and (max-width:370px){
  html[data-vlp-view="home"] .site-header .header-inner .mobile-menu {margin-top:17px!important;}
}
@media screen {
  #main > .guide-page.usage-guide,
  #main > .guide-page:not(.usage-guide),
  #main > .vlp-welcome-standalone,
  #main > .vlp-welcome-standalone .vlp-welcome-letter,
  main.vlp-stars-main > :not(.page-navigation),
  main#stars-main > :not(.page-navigation) {
    width:100%;
    max-width:1120px !important;
    min-width:0;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box;
  }
  #main > .vlp-welcome-standalone .vlp-welcome-letter {
    overflow-wrap:break-word;
  }
  #main > .guide-page:not(.usage-guide) .course-grid,
  #main > .guide-page:not(.usage-guide) .backup-panel {
    min-width:0;
  }
  #main > .hero .floating-code,
  #main > .hero .floating-code code,
  #main > .hero .floating-code code i,
  #main > .hero .floating-code code b {
    visibility:visible !important;
    opacity:1 !important;
  }
}
@media screen and (max-width:700px) {
  html.vlp-language-control .site-header > .header-inner {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px !important;
    grid-template-rows:minmax(108px,auto) auto !important;
    column-gap:8px !important;
    row-gap:0 !important;
    position:relative !important;
    padding-top:14px !important;
    padding-bottom:12px !important;
    min-height:134px !important;
    align-items:start !important;
  }
  html.vlp-language-control .site-header .header-inner .site-brand {
    grid-column:1/-1 !important;
    grid-row:1 !important;
  }
  html.vlp-language-control .site-header .header-inner .mobile-menu,
  html[data-vlp-view="home"].vlp-language-control .site-header .header-inner .mobile-menu {
    position:absolute !important;
    grid-row:auto !important;
    grid-column:auto !important;
    inset:auto 0 auto auto !important;
    top:72px !important;
    right:0 !important;
    margin:0 !important;
    transform:none !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    justify-self:end !important;
  }
  html.vlp-language-control .site-header .header-inner .top-nav {
    grid-column:1/-1 !important;
    grid-row:2 !important;
    margin-top:10px !important;
  }
  html.vlp-language-control .site-header .header-inner .top-nav:not(.open) {
    display:none !important;
  }
  html[data-vlp-view="home"] #main > .institution-banner,
  html[data-vlp-view="welcome"] #main > .institution-banner,
  html[data-vlp-view="guide"] #main > .institution-banner {
    margin-top:2px !important;
  }
  html[data-vlp-view="catalogue"] #main > .catalogue {margin-top:2px !important;}
  .vlp-stars-main .page-navigation:first-child,
  main.analytics-page .page-navigation:first-child {margin-top:2px !important;}
  #main > .guide-page.usage-guide,
  #main > .guide-page:not(.usage-guide),
  #main > .vlp-welcome-standalone,
  main.vlp-stars-main > :not(.page-navigation),
  main#stars-main > :not(.page-navigation) {width:100% !important;}
}
@media print {
  html.vlp-language-control .site-header .header-inner .mobile-menu {position:static !important;}
}
#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="betelgeuse-name"] {
  transform:translateY(-20px)!important;
}
#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="rigel-name"] {
  transform:translateY(10px)!important;
}
#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="alpha"] {
  transform:translate(-13px,-6px)!important;
}
#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="beta"] {
  transform:translate(-3px,22px)!important;
}
@media screen and (max-width:700px),
  screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) and (pointer:coarse) {
  #main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="betelgeuse-name"] {transform:translateY(-12px)!important;}
  #main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="rigel-name"] {transform:translateY(7px)!important;}
  #main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="alpha"] {transform:translate(-7px,-4px)!important;}
  #main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="beta"] {transform:translate(-2px,11px)!important;}
}
@media screen and (min-width:980px) {
  .vlp-maintenance-notice[lang="el"] .vlp-maintenance-body::before {
    background-image:url('/assets/vlp-v66-orion-labeled-el-dfe562e35e98.svg')!important;
  }
  .vlp-maintenance-notice[lang="en"] .vlp-maintenance-body::before {
    background-image:url('/assets/vlp-v66-orion-labeled-en-96f7bd991329.svg')!important;
  }
}
.vlp-maintenance-reactor-svg .vlp-maintenance-name-layer text {
  paint-order:stroke fill;
  stroke:rgba(7,20,34,.8);
  stroke-width:.95px;
  stroke-linejoin:round;
}
@media screen and (max-width:979px) {
  .vlp-maintenance-reactor-svg .vlp-maintenance-name-layer text {
    font-size:36px!important;
  }
}
@media (forced-colors:active),print {
  #main > .hero .vlp-home-orion-labels-v48 text[data-orion-label] {transform:none!important;}
}
.analytics-page .lab-tabs{flex-wrap:wrap}
.analytics-page .lab-tabs [role="tab"]{white-space:normal;text-align:start}
.analytics-page .analytics-course-select select{max-width:100%}
.analytics-page .vlp-module-lesson-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:16px;padding:10px 12px;border:1px solid #315562;border-radius:10px;background:#102733;color:#bcf4e9;font-size:.78rem;text-align:start;line-height:1.4}
.analytics-page .vlp-module-lesson-button:hover{background:#183844;border-color:#76e0cd}
.analytics-page .vlp-lesson-analytics{--vlp-lesson-accent:#76e0cd;position:relative;isolation:isolate;min-width:0;margin-top:24px;padding:28px;overflow:hidden;border:1px solid #31525f;background:radial-gradient(ellipse at 100% 0%,#294d6230,transparent 55%),#0d1b27;box-shadow:inset 0 1px 0 #8deed210,0 12px 36px #02091426}
.analytics-page .vlp-lesson-analytics::before{position:absolute;inset:0 0 auto;height:2px;content:"";background:linear-gradient(90deg,var(--vlp-lesson-accent),#aa96eb,transparent);pointer-events:none}
.analytics-page .vlp-lesson-analytics :is(h2,h3,p){text-align:start;word-spacing:normal}
.analytics-page .vlp-lesson-analytics h2{margin:8px 0 10px;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.035em;line-height:1.3}
.analytics-page .vlp-lesson-analytics h3{margin:0;font-size:1.05rem;line-height:1.5}
.analytics-page .vlp-lesson-analytics p{line-height:1.7}
.analytics-page .vlp-lesson-analytics .eyebrow{color:#9cdece;font-size:.66rem;letter-spacing:.15em}
.analytics-page .vlp-lesson-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.analytics-page .vlp-lesson-header>div:first-child{min-width:0}
.analytics-page .vlp-lesson-period{margin:0;color:#a9bfcd;font-size:.78rem;overflow-wrap:anywhere}
.analytics-page .vlp-lesson-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:325px;flex-shrink:0}
.analytics-page .vlp-lesson-analytics button:not(.vlp-lesson-title-button){min-height:40px;padding:9px 13px;border:1px solid #3d626c;border-radius:9px;background:#132c37;color:#d6e7ee;font:inherit;font-size:.76rem;line-height:1.45;cursor:pointer}
.analytics-page .vlp-lesson-analytics button:not(.vlp-lesson-title-button):hover:enabled{border-color:#76e0cd;background:#1a3a45}
.analytics-page .vlp-lesson-analytics button:disabled{opacity:.5;cursor:wait}
.analytics-page .vlp-lesson-analytics :is(button,input,select,summary,[tabindex]):focus-visible,.analytics-page .vlp-module-lesson-button:focus-visible{outline:2px solid #9ff2e1;outline-offset:3px}
.analytics-page .vlp-lesson-analytics .alert p{margin:0}
.analytics-page .vlp-lesson-analytics .alert p+p{margin-top:8px}
.analytics-page .vlp-lesson-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:12px;margin:18px 0}
.analytics-page .vlp-lesson-metric{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 16px;border:1px solid #284351;border-radius:12px;background:linear-gradient(140deg,#19303d88,#10222d55)}
.analytics-page .vlp-lesson-metric>span{color:#acc3cf;font-size:.74rem;line-height:1.55}
.analytics-page .vlp-lesson-metric>strong{color:#b4f5e5;font-size:1.8rem;font-variant-numeric:tabular-nums;line-height:1.3;overflow-wrap:anywhere}
.analytics-page .vlp-lesson-metric-date>strong{color:#d0e1ec;font-size:.91rem;line-height:1.55}
.analytics-page .vlp-lesson-coverage{margin:20px 0;padding:12px 16px;border-inline-start:2px solid #8e83d3;background:#2220393d;border-radius:0 8px 8px 0;color:#b3c2d5;font-size:.75rem}
.analytics-page .vlp-lesson-coverage p{margin:0}
.analytics-page .vlp-lesson-coverage p+p{margin-top:7px}
.analytics-page .vlp-lesson-empty{padding:15px 18px;margin:14px 0;border:1px dashed #365966;border-radius:10px;background:#152b354d;color:#a9c4cf;font-size:.8rem}
.analytics-page .vlp-lesson-empty p{margin:0 0 10px}
.analytics-page .vlp-lesson-detail-select{margin:24px 0 16px}
.analytics-page .vlp-lesson-analytics label{display:block;margin-bottom:8px;color:#cedfe7;font-size:.77rem;font-weight:600;line-height:1.5}
.analytics-page .vlp-lesson-analytics :is(select,input){box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 13px;border:1px solid #355563;border-radius:9px;background:#0b1b27;color:#deedf1;font:inherit;font-size:.8rem;line-height:1.45;color-scheme:dark}
.analytics-page .vlp-lesson-analytics select{padding-inline-end:30px;text-overflow:ellipsis}
.analytics-page .vlp-lesson-analytics input::placeholder{color:#829caa;opacity:1}
.analytics-page .vlp-lesson-daily{padding:20px;border:1px solid #2c4a58;border-radius:12px;background:#0b182380}
.analytics-page .vlp-lesson-daily-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.analytics-page .vlp-lesson-daily-heading>div:first-child{min-width:0}
.analytics-page .vlp-lesson-daily-summary{margin:6px 0 0;color:#a2bac7;font-size:.77rem}
.analytics-page .vlp-lesson-legend{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0;color:#aec3cf;font-size:.69rem}
.analytics-page .vlp-lesson-legend span{display:inline-flex;align-items:center;gap:6px}
.analytics-page .vlp-lesson-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#76e0cd}
.analytics-page .vlp-lesson-legend .vlp-lesson-session-dot{background:#b2a1f5}
.analytics-page .vlp-lesson-chart{display:block;width:100%;height:auto;margin:14px 0 4px;overflow:visible}
.analytics-page .vlp-lesson-day-details{margin-top:12px;padding-top:14px;border-top:1px solid #27424f}
.analytics-page .vlp-lesson-day-details summary{width:fit-content;color:#acd9d4;font-size:.78rem;cursor:pointer;line-height:1.6}
.analytics-page .vlp-lesson-day-details .table-scroll{max-height:310px;overflow:auto;overscroll-behavior:contain;margin-top:12px}
.analytics-page .vlp-lesson-day-details table{width:100%;border-collapse:collapse;font-size:.78rem}
.analytics-page .vlp-lesson-day-details :is(th,td){padding:10px 12px;border-bottom:1px solid #253e4b;text-align:start}
.analytics-page .vlp-lesson-day-details th{color:#a8c3cf}
.analytics-page .vlp-lesson-table-section{margin-top:26px}
.analytics-page .vlp-lesson-table-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}
.analytics-page .vlp-lesson-result-count{color:#8fb3c0;font-size:.72rem;font-variant-numeric:tabular-nums}
.analytics-page .vlp-lesson-table-controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);gap:16px;margin-bottom:18px}
.analytics-page .vlp-lesson-table-scroll{max-height:570px;overflow:auto;border:1px solid #2f4c5b;border-radius:11px;overscroll-behavior:contain;scrollbar-color:#466877 #101f2c;scrollbar-width:thin}
.analytics-page .vlp-lesson-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.76rem}
.analytics-page .vlp-lesson-table th{position:sticky;top:0;z-index:2;background:#172c38;color:#bbd0da;font-size:.69rem;font-weight:600;letter-spacing:.01em;text-align:start}
.analytics-page .vlp-lesson-table :is(th,td){padding:14px 12px;border-bottom:1px solid #28414e;vertical-align:middle;line-height:1.5}
.analytics-page .vlp-lesson-table :is(th,td):first-child{width:49%;padding-inline-start:16px}
.analytics-page .vlp-lesson-table :is(th,td):nth-child(2),.analytics-page .vlp-lesson-table :is(th,td):nth-child(3){width:12%;text-align:center;font-variant-numeric:tabular-nums}
.analytics-page .vlp-lesson-table :is(th,td):last-child{width:27%;padding-inline-end:16px}
.analytics-page .vlp-lesson-table td{color:#c4d9e2;background:#0e202b}
.analytics-page .vlp-lesson-table tr:nth-child(even) td{background:#122632}
.analytics-page .vlp-lesson-table tr.vlp-lesson-row-selected td{background:#163a42}
.analytics-page .vlp-lesson-table tr:last-child td{border-bottom:0}
.analytics-page .vlp-lesson-table strong{color:#aeedde;font-weight:600}
.analytics-page .vlp-lesson-title-button{display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:3px 0;border:0;background:transparent;color:#d0e6ed;font:inherit;line-height:1.55;text-align:start;cursor:pointer}
.analytics-page .vlp-lesson-title-button:hover{color:#aaf3df}
.analytics-page .vlp-lesson-title-button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.analytics-page .vlp-lesson-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 31px;min-height:31px;border:1px solid #39616c;border-radius:7px;background:#18333f;color:#9ce5d7;font-size:.68rem;font-variant-numeric:tabular-nums}
.analytics-page .vlp-lesson-row-arrow{margin-inline-start:auto;color:#80b0bb;font-size:.9rem}
.analytics-page .vlp-lesson-table .vlp-lesson-last-cell{color:#9fb9c7;font-size:.69rem;overflow-wrap:anywhere}
.analytics-page .vlp-lesson-explanation{margin-top:22px;color:#95b0bf;font-size:.73rem}
.analytics-page .vlp-lesson-explanation p{margin:8px 0}
.analytics-page .vlp-lesson-updated{margin:18px 0 0;padding-top:14px;border-top:1px solid #294653;color:#85a9b7;font-size:.68rem}
.analytics-page .vlp-lesson-choose p{max-width:680px;margin:10px 0 18px;color:#b8ced9;font-size:.9rem}
@media(max-width:900px){
  .analytics-page .vlp-lesson-header{flex-direction:column;gap:16px}
  .analytics-page .vlp-lesson-actions{justify-content:flex-start;max-width:none}
  .analytics-page .vlp-lesson-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-page .vlp-lesson-daily-heading{flex-direction:column;gap:12px}
  .analytics-page .vlp-lesson-table :is(th,td):first-child{width:44%}
  .analytics-page .vlp-lesson-table :is(th,td):nth-child(2),.analytics-page .vlp-lesson-table :is(th,td):nth-child(3){width:13%}
  .analytics-page .vlp-lesson-table :is(th,td):last-child{width:30%}
}
@media(max-width:640px){
  .analytics-page .vlp-lesson-analytics{padding:20px 14px;margin-top:18px}
  .analytics-page .vlp-lesson-metrics{gap:9px}
  .analytics-page .vlp-lesson-metric{padding:14px 12px;gap:8px}
  .analytics-page .vlp-lesson-metric>span{font-size:.7rem}
  .analytics-page .vlp-lesson-metric>strong{font-size:1.5rem}
  .analytics-page .vlp-lesson-metric-date>strong{font-size:.78rem}
  .analytics-page .vlp-lesson-coverage{padding:10px 12px;font-size:.71rem}
  .analytics-page .vlp-lesson-daily{padding:15px 10px}
  .analytics-page .vlp-lesson-legend{font-size:.65rem}
  .analytics-page .vlp-lesson-chart{min-height:142px}
  .analytics-page .vlp-lesson-table-controls{grid-template-columns:minmax(0,1fr);gap:12px}
  .analytics-page .vlp-lesson-table{display:block;table-layout:auto}
  .analytics-page .vlp-lesson-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .analytics-page .vlp-lesson-table tbody{display:block}
  .analytics-page .vlp-lesson-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:11px 12px;gap:10px 16px;border-bottom:1px solid #2f4d5a;background:#0e202b}
  .analytics-page .vlp-lesson-table tr:nth-child(even){background:#122632}
  .analytics-page .vlp-lesson-table tr.vlp-lesson-row-selected{background:#163a42}
  .analytics-page .vlp-lesson-table tr:last-child{border-bottom:0}
  .analytics-page .vlp-lesson-table tr td:nth-child(n){display:flex;flex-direction:column;gap:4px;width:auto;padding:0;border:0;background:transparent;text-align:start;font-size:.8rem}
  .analytics-page .vlp-lesson-table td:first-child{grid-column:1/-1}
  .analytics-page .vlp-lesson-table td:last-child{grid-column:1/-1}
  .analytics-page .vlp-lesson-table td[data-label]::before{content:attr(data-label);display:block;color:#8faebd;font-size:.66rem}
  .analytics-page .vlp-lesson-title-button{font-size:.8rem}
  .analytics-page .vlp-lesson-table tr td.vlp-lesson-last-cell{font-size:.72rem}
  .analytics-page .vlp-lesson-table-scroll{max-height:580px}
}
@media(prefers-reduced-motion:reduce){.analytics-page .vlp-lesson-analytics *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){
  .analytics-page .vlp-lesson-analytics::before{display:none}
  .analytics-page .vlp-lesson-analytics :is(button,select,input,.vlp-lesson-metric,.vlp-lesson-coverage,.vlp-lesson-daily,.vlp-lesson-table-scroll){border:1px solid CanvasText}
  .analytics-page .vlp-lesson-chart{forced-color-adjust:none}
  .analytics-page .vlp-lesson-table tr.vlp-lesson-row-selected{outline:2px solid Highlight;outline-offset:-2px}
}
@media print{
  .analytics-page .vlp-lesson-actions,.analytics-page .vlp-lesson-table-controls,.analytics-page .vlp-module-lesson-button{display:none}
  .analytics-page .vlp-lesson-analytics,.analytics-page .vlp-lesson-analytics *{color:#111!important;background:transparent!important;box-shadow:none!important}
  .analytics-page .vlp-lesson-table-scroll{max-height:none;overflow:visible}
  .analytics-page .vlp-lesson-analytics::before{display:none}
}
.analytics-page .analytics-site-controls>summary{display:none}
.analytics-page .analytics-site-controls{margin:0}
.analytics-page .analytics-chart svg{height:auto;min-width:0;max-width:100%}
@media(max-width:640px){
  .shell.analytics-page{width:100%;padding-inline:14px;box-sizing:border-box}
  .analytics-page :is(.panel,.analytics-intro,.analytics-course-select,.analytics-meta,.section-head){min-width:0;max-width:100%;box-sizing:border-box}
  .analytics-page .analytics-header{gap:10px;padding:18px 0 12px}
  .analytics-page .analytics-header>div{font-size:.8rem;gap:12px}
  .analytics-page .analytics-header a{min-height:44px;align-content:center}
  .analytics-page .analytics-site-controls{margin:12px 0;border:1px solid #31525f;border-radius:12px;background:#10232e}
  .analytics-page .analytics-site-controls>summary{display:list-item;padding:14px 16px;min-height:48px;box-sizing:border-box;color:#c2e8e0;font-size:.875rem;line-height:1.5;cursor:pointer;list-style-position:inside}
  .analytics-page .analytics-site-controls>summary:focus-visible{outline:2px solid #9ff2e1;outline-offset:3px}
  .analytics-page .analytics-site-controls>section{margin:0;border:0;box-shadow:none}
  .analytics-page>.page-navigation{margin-block:8px}
  .analytics-page .suggestion-owner-links{margin-block:8px}
  .analytics-page .suggestion-owner-links a{min-height:44px;display:inline-flex;align-items:center}
  .analytics-page .analytics-intro{padding:20px 0 16px}
  .analytics-page .analytics-intro h1{font-size:2rem;line-height:1.18;margin:12px 0}
  .analytics-page .analytics-intro p{font-size:.9rem;line-height:1.65;text-align:start}
  .analytics-page .analytics-owner-exclusion{font-size:.8125rem;line-height:1.6;margin-bottom:18px}
  .analytics-page .lab-tabs{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:8px;padding:5px}
  .analytics-page .lab-tabs button{min-width:0;min-height:52px;padding:9px 10px;font-size:.875rem;line-height:1.4;gap:7px;justify-content:center}
  .analytics-page .lab-tabs svg{flex-shrink:0}
  .analytics-page .analytics-toolbar{gap:10px;margin:18px 0 14px}
  .analytics-page .analytics-toolbar>.btn-row{display:grid;gap:8px;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}
  .analytics-page .analytics-toolbar>.btn-row:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-page .analytics-toolbar button{min-width:0;min-height:48px;font-size:.875rem;padding:9px 6px;line-height:1.4;justify-content:center}
  .analytics-page .analytics-toolbar .analytics-reset-toggle{grid-column:1/-1;margin-top:3px}
  .analytics-page .analytics-meta{font-size:.8125rem;line-height:1.6;gap:5px;flex-direction:column;overflow-wrap:anywhere}
  .analytics-page :is(.analytics-total,.analytics-metrics,.analytics-course-cards,.vlp-lesson-metrics) strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
  .analytics-page .analytics-total{padding:22px 18px!important;gap:12px}
  .analytics-page .analytics-total>div{min-width:0}
  .analytics-page .analytics-total .eyebrow{font-size:.75rem;letter-spacing:.08em;line-height:1.6}
  .analytics-page .analytics-total p{font-size:.875rem;line-height:1.6;text-align:start}
  .analytics-page .analytics-total strong{font-size:3.5rem}
  .analytics-page .analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .analytics-page .analytics-metrics .panel{padding:16px 12px;gap:12px}
  .analytics-page .analytics-metrics span{font-size:.8125rem;line-height:1.5}
  .analytics-page .analytics-metrics strong{font-size:1.7rem}
  .analytics-page .analytics-course-cards{grid-template-columns:minmax(0,1fr);gap:12px}
  .analytics-page .analytics-course-cards .panel{padding:20px}
  .analytics-page .analytics-course-cards p{font-size:.9rem}
  .analytics-page .analytics-course-cards small{font-size:.8125rem;line-height:1.6}
  .analytics-page .vlp-module-lesson-button{min-height:48px;font-size:.875rem}
  .analytics-page .analytics-course-select{display:block}
  .analytics-page .analytics-course-select label{display:block;margin-bottom:8px;line-height:1.5}
  .analytics-page .analytics-course-select select{width:100%;max-width:none;min-height:48px;font-size:16px;text-overflow:ellipsis}
  .analytics-page .analytics-chart{padding:18px 12px!important}
  .analytics-page .analytics-chart .section-head{flex-direction:column;align-items:flex-start;gap:10px}
  .analytics-page .analytics-chart :is(p,.small,details){font-size:.875rem;line-height:1.5}
  .analytics-page .analytics-chart svg{min-height:240px;margin-block:8px 12px}
  .analytics-page :is(.analytics-chart,.vlp-lesson-day-details) summary{min-height:44px;align-content:center;font-size:.875rem;line-height:1.6}
  .analytics-page .analytics-breakdown>div{font-size:.875rem}
  .analytics-page .analytics-hours p{font-size:.875rem;line-height:1.6}
  .analytics-page .analytics-hours small{font-size:.75rem}
  .analytics-page .table-scroll{max-width:100%;scrollbar-width:thin;scrollbar-color:#466877 #101f2c}
  .analytics-page .table-scroll table{font-size:.875rem}
  .analytics-page .table-scroll :is(th,td){padding:12px 8px;white-space:normal;overflow-wrap:anywhere}
  .analytics-page .vlp-lesson-analytics{padding:20px 12px}
  .analytics-page .vlp-lesson-period{font-size:.8125rem}
  .analytics-page .vlp-lesson-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .analytics-page .vlp-lesson-analytics button:not(.vlp-lesson-title-button){min-height:48px;font-size:.875rem;padding:10px 8px}
  .analytics-page .vlp-lesson-metric>span{font-size:.8125rem}
  .analytics-page .vlp-lesson-metric-date>strong{font-size:.875rem}
  .analytics-page :is(.vlp-lesson-coverage,.vlp-lesson-explanation,.vlp-lesson-empty,.vlp-lesson-daily-summary){font-size:.8125rem;line-height:1.7}
  .analytics-page :is(.vlp-lesson-updated,.vlp-lesson-result-count){font-size:.8125rem}
  .analytics-page .vlp-lesson-analytics label{font-size:.875rem}
  .analytics-page .vlp-lesson-analytics :is(select,input){font-size:16px;min-height:48px}
  .analytics-page .vlp-lesson-legend{font-size:.8125rem}
  .analytics-page .vlp-lesson-chart{min-height:216px}
  .analytics-page .vlp-lesson-table-scroll{max-height:65vh;max-height:65svh;overscroll-behavior:auto}
  .analytics-page .vlp-lesson-table tr td:nth-child(n){font-size:.875rem}
  .analytics-page .vlp-lesson-table td[data-label]::before{font-size:.8125rem}
  .analytics-page .vlp-lesson-title-button{font-size:.9rem;min-height:48px}
  .analytics-page .vlp-lesson-number{font-size:.8rem;min-height:34px}
  .analytics-page .analytics-explanation{padding:20px 16px}
  .analytics-page .analytics-explanation p{font-size:.875rem;line-height:1.75;text-align:start}
}
@media(max-width:350px){
  .analytics-page .lab-tabs{grid-template-columns:minmax(0,1fr)}
  .analytics-page .analytics-toolbar>.btn-row:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-page .vlp-lesson-metric-date{grid-column:1/-1}
}
body:has(.analytics-page){min-width:0}
@media(max-width:900px){
  .analytics-page :is(.analytics-course-select select,.vlp-lesson-analytics select,.vlp-lesson-analytics input){font-size:16px;min-height:48px}
  .analytics-page .vlp-lesson-analytics button:not(.vlp-lesson-title-button){min-height:44px}
}
@media screen and (max-width:700px) {
 html.vlp-language-control[data-vlp-facebook-webview="true"] body > #vlp-language-selector {
   position:absolute!important;
   top:12px!important; right:12px!important;
   left:auto!important; bottom:auto!important;
 }
 html[data-vlp-facebook-webview="true"] .bot-launcher,
 html[data-vlp-facebook-webview="true"] .music-channel {
   position:fixed!important;
   top:auto!important;
   bottom:calc(12px + var(--vlp-facebook-visible-bottom,0px))!important;
 }
 html[data-vlp-facebook-webview="true"] .effects-toggle {
   position:fixed!important;
   top:auto!important;
   bottom:calc(12px + var(--vlp-facebook-visible-bottom,0px))!important;
 }
 html[data-vlp-facebook-webview="true"] .bot-panel {
   bottom:calc(126px + var(--vlp-facebook-visible-bottom,0px))!important;
 }
}
.site-header.vlp-v50-shared-header .vlp-stars-shared-orion{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.site-header.vlp-v50-shared-header .vlp-stars-shared-orion:focus-visible{outline:3px solid #a8ffe3;outline-offset:3px;}
@media(max-width:700px){.site-header.vlp-v50-shared-header .vlp-stars-shared-orion{min-height:40px;justify-content:center;}}
@media screen and (max-width:700px) {
  :root { --vlp-orion-top-clearance:calc(max(12px, env(safe-area-inset-top, 0px)) + 116px); }
  .bot-panel.vlp-orion-v31 {
    bottom:calc(var(--vlp-dock-clearance, 166px) - 16px);
    max-height:min(760px, calc(100dvh - var(--vlp-dock-clearance, 166px) + 16px - var(--vlp-orion-top-clearance)));
    overflow-y:auto;
  }
  html[data-vlp-facebook-webview="true"] .bot-panel.vlp-orion-v31 {
    bottom:calc(110px + var(--vlp-facebook-visible-bottom, 0px))!important;
    max-height:min(760px, calc(100dvh - 110px - var(--vlp-facebook-visible-bottom, 0px) - var(--vlp-orion-top-clearance)));
  }
}
@media screen and (max-width:700px) and (max-height:520px) {
  .bot-panel.vlp-orion-v31 {
    top:var(--vlp-orion-top-clearance)!important;
    bottom:12px!important;
    max-height:calc(100dvh - var(--vlp-orion-top-clearance) - 12px)!important;
    overflow-y:auto;
  }
  html[data-vlp-facebook-webview="true"] .bot-panel.vlp-orion-v31 {
    bottom:calc(12px + var(--vlp-facebook-visible-bottom, 0px))!important;
    max-height:calc(100dvh - var(--vlp-orion-top-clearance) - 12px - var(--vlp-facebook-visible-bottom, 0px))!important;
  }
}
@media screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) {
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .header-inner {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    align-items:start!important;
    gap:0 8px!important;
    position:relative!important;
    margin-inline:12px!important;
    padding:14px 0 12px!important;
    min-height:124px!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .site-brand {
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:6px 9px!important;
    width:calc(100% - 110px)!important;
    max-width:calc(100% - 110px)!important;
    align-items:start!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .brand-title {
    padding-right:0!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .mobile-menu {
    display:inline-flex!important;
    position:absolute!important;
    top:72px!important;
    right:0!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    transform:none!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .top-nav {
    display:none!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    margin:10px 0 0!important;
    padding:10px 0 0!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .site-header .top-nav.open {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
    width:100%!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] body > #vlp-language-selector {
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .effects-toggle,
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .music-channel,
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .bot-launcher {
    top:auto!important;
    bottom:calc(12px + var(--vlp-facebook-visible-bottom,0px))!important;
  }
  html[data-vlp-facebook-webview="true"][data-vlp-facebook-landscape="true"] .bot-panel.vlp-orion-v31 {
    top:128px!important;
    bottom:calc(12px + var(--vlp-facebook-visible-bottom,0px))!important;
    max-height:calc(100dvh - 140px - var(--vlp-facebook-visible-bottom,0px))!important;
    overflow-y:auto!important;
  }
}
@media screen and (max-width:700px){
  #main > .hero{position:relative;isolation:isolate;}
  #main > .hero > div:first-child{position:relative;z-index:1;isolation:isolate;}
  #main > .hero > .vlp-home-constellation-v48{
    display:block!important;visibility:visible!important;
    grid-area:copy!important;position:absolute!important;
    top:0!important;left:0!important;right:auto!important;bottom:auto!important;
    width:100%!important;max-width:100%!important;
    height:min(106vw,390px)!important;min-height:265px!important;
    aspect-ratio:auto!important;margin:0!important;
    z-index:0!important;opacity:.45!important;
    background-position:50% 44%!important;background-size:contain!important;
    pointer-events:none!important;overflow:hidden!important;
    filter:saturate(.85)!important;
  }
  #main > .hero > .vlp-home-constellation-v48 .vlp-home-orion-labels-v48 {opacity:.22!important;}
  #main > .hero > .vlp-home-constellation-v48::before,
  #main > .hero > .vlp-home-constellation-v48::after {opacity:.35!important;}
  #main > .hero > .hero-visual{position:relative;z-index:1;}
  html[data-effects="off"] #main > .hero > .vlp-home-constellation-v48{opacity:.20!important;}
}
@media screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) and (pointer:coarse){
  #main > .hero{position:relative;isolation:isolate;}
  #main > .hero > div:first-child{position:relative;z-index:1;isolation:isolate;}
  #main > .hero > .vlp-home-constellation-v48{
    display:block!important;visibility:visible!important;
    grid-area:copy!important;position:absolute!important;
    top:0!important;left:0!important;right:auto!important;bottom:auto!important;
    width:min(53%,440px)!important;max-width:440px!important;
    height:min(83vh,320px)!important;min-height:215px!important;
    aspect-ratio:auto!important;margin:0!important;
    z-index:0!important;opacity:.45!important;
    background-size:contain!important;background-position:center!important;
    pointer-events:none!important;overflow:hidden!important;
  }
  #main > .hero > .vlp-home-constellation-v48 .vlp-home-orion-labels-v48 {opacity:.16!important;}
  #main > .hero > .vlp-home-constellation-v48::before,
  #main > .hero > .vlp-home-constellation-v48::after {opacity:.30!important;}
  #main > .hero > .hero-visual{position:relative;z-index:1;}
  html[data-effects="off"] #main > .hero > .vlp-home-constellation-v48{opacity:.20!important;}
}
@media (forced-colors:active),print{
  #main > .hero > .vlp-home-constellation-v48{display:none!important;}
}
@media screen and (min-width: 1280px) {
  #main > .hero {grid-template-columns:minmax(0,1fr) clamp(450px,38.4vw,553px) minmax(0,1.1fr)!important;column-gap:clamp(12px,1.2vw,22px)!important;}
  #main > .hero > .vlp-home-constellation-v48 {width:100%!important;max-width:553px!important;}
  #main > .hero .vlp-home-orion-labels-v48 {font-size:clamp(11px,.924vw,13.8px)!important;}
}
@media screen and (min-width:1100px) and (max-width:1279px) {
  #main > .hero {grid-template-areas:"copy constellation" "companion companion"!important;grid-template-columns:minmax(0,1fr) minmax(0, 56%)!important;}
  #main > .hero > .vlp-home-constellation-v48 {width:min(100%,619px)!important;max-width:619px!important;}
  #main > .hero .vlp-home-orion-labels-v48 {font-size:clamp(11px,1vw,13.8px)!important;}
}
@media screen and (min-width:701px) and (max-width:1099px) {
  #main > .hero > .vlp-home-constellation-v48 {width:min(100%,619px)!important;max-width:619px!important;}
  #main > .hero .vlp-home-orion-labels-v48 {font-size:clamp(11px,1.3vw,13.8px)!important;}
}
@media screen and (min-width:701px) {
  #main > .hero > .vlp-home-constellation-v48 {
    background-image:url('/assets/vlp-v63-orion-natural-417669f2be98.svg')!important;
    background-position:center!important;background-size:contain!important;
    filter:saturate(1.23) brightness(1.24) drop-shadow(0 0 7px rgba(112,191,252,.16))!important;
  }
}
@media screen and (max-width:700px),
  screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) and (pointer:coarse) {
  #main > .hero {position:relative!important;isolation:isolate!important;}
  #main > .hero > div:first-child {position:relative!important;z-index:2!important;isolation:isolate!important;
    text-shadow:0 1px 8px rgba(2,12,27,.76),0 0 17px rgba(2,12,27,.33);}
  #main > .hero > .vlp-home-constellation-v48 {
    display:block!important;visibility:visible!important;
    position:absolute!important;grid-area:copy!important;
    inset:0 auto auto 0!important;
    width:100%!important;max-width:none!important;
    height:min(148vw,580px)!important;min-height:0!important;
    aspect-ratio:auto!important;margin:0!important;
    transform:translateX(-3%)!important;
    background-image:url('/assets/vlp-v63-orion-natural-417669f2be98.svg')!important;
    background-position:center 48%!important;background-size:contain!important;background-repeat:no-repeat!important;
    z-index:0!important;opacity:.82!important;overflow:visible!important;
    filter:saturate(1.24) brightness(1.15)!important;
    pointer-events:none!important;
  }
  #main > .hero > .vlp-home-constellation-v48::before,
  #main > .hero > .vlp-home-constellation-v48::after {content:none!important;display:none!important;}
  #main > .hero > .hero-visual {position:relative!important;z-index:1!important;}
}
@media screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) and (pointer:coarse) {
  #main > .hero > .vlp-home-constellation-v48 {
    width:min(56%,480px)!important;max-width:480px!important;
    height:min(115vh,410px)!important;
    transform:translateX(-3%)!important;background-position:center!important;opacity:.85!important;
  }
}
@media (forced-colors:active),print {#main > .hero > .vlp-home-constellation-v48 {display:none!important;}}
.vlp-background-star-v48 {
  color:var(--vlp-star-color,#d5e8fc);
  background:currentColor!important;
  background:color-mix(in srgb,currentColor 88%,transparent)!important;
  box-shadow:0 0 3px 1px color-mix(in srgb,currentColor 42%,transparent),
             0 0 9px 2px color-mix(in srgb,currentColor 20%,transparent),
             0 0 16px 3px color-mix(in srgb,currentColor 9%,transparent)!important;
}
.vlp-background-star-v48:nth-child(11n + 3){color:#ffd6b6;}
.vlp-background-star-v48:nth-child(9n + 5){color:#bdeaff;}
.vlp-background-star-v48:nth-child(8n + 7){color:#fff2de;}
.vlp-background-star-v48:nth-child(7n + 2){color:#d0e4ff;}
.vlp-background-star-v48::after{
  content:"";position:absolute;left:50%;top:50%;width:calc(var(--vlp-star-size,2px) * 5);
  height:calc(var(--vlp-star-size,2px) * 5);transform:translate(-50%,-50%);
  border-radius:50%;opacity:.13;pointer-events:none;
  background:radial-gradient(circle,currentColor 0%,transparent 75%);
}
@media screen and (min-width:980px){
  .vlp-maintenance-notice .vlp-maintenance-body{
    grid-template-columns:minmax(0,1.3fr) minmax(170px,.52fr) minmax(200px,.72fr)!important;
    column-gap:clamp(9px,1.1vw,19px)!important;
  }
  .vlp-maintenance-notice .vlp-maintenance-copy{grid-column:1;grid-row:1;}
  .vlp-maintenance-notice .vlp-maintenance-body::before{
    content:"";display:block;grid-column:2;grid-row:1;align-self:center;
    width:100%;height:auto;aspect-ratio:237/350;
    background:url('/assets/vlp-v63-orion-natural-417669f2be98.svg') center/contain no-repeat;
    opacity:.95;filter:saturate(1.2) brightness(1.25);
    pointer-events:none;
  }
  .vlp-maintenance-notice .vlp-maintenance-visual{grid-column:3;grid-row:1;width:100%;}
  .vlp-maintenance-notice .vlp-maintenance-reactor .vlp-maintenance-constellation{opacity:.12!important;}
}
@media screen and (max-width:979px){
  .vlp-maintenance-notice .vlp-maintenance-constellation{filter:saturate(1.27) brightness(1.4);}
}
@media (forced-colors:active),print{.vlp-maintenance-notice .vlp-maintenance-body::before{display:none!important;content:none!important;}}
@media (prefers-reduced-motion:reduce){
  .vlp-background-star-v48{animation:none!important;}
  .vlp-background-star-v48::after{opacity:.10;}
}
html[data-effects="off"] #main > .hero > .vlp-home-constellation-v48 {opacity:.20!important;filter:none!important;}
html[data-site-effects="calm"] #main > .hero > .vlp-home-constellation-v48 {opacity:.58!important;filter:none!important;}
@media (prefers-reduced-motion:reduce) {
  #main > .hero > .vlp-home-constellation-v48 {filter:none!important;}
}
@media screen and (min-width:1181px) {
  html[data-vlp-view="home"] #main > .hero {column-gap:clamp(18px,3.35vw,50px)!important;padding-top:52px!important;padding-bottom:38px!important;}
  html[data-vlp-view="home"] #main > .stats-strip {margin-bottom:48px!important;}
  html[data-vlp-view="home"] #main > .practice-banner {margin-top:23px!important;margin-bottom:12px!important;}
  html[data-vlp-view="home"] #main > .journey-section {padding-top:50px!important;padding-bottom:30px!important;}
  html[data-vlp-view="home"] #main > .usage-banner {margin-top:20px!important;margin-bottom:42px!important;}
  html[data-vlp-view="home"] #main > .suggestion-invitation {margin-top:26px!important;margin-bottom:40px!important;}
}
@media screen and (min-width:701px) and (max-width:1180px) {
  html[data-vlp-view="home"] #main > .hero {gap:clamp(17px,2.8vw,30px)!important;padding-top:36px!important;padding-bottom:30px!important;}
  html[data-vlp-view="home"] #main > .stats-strip {margin-bottom:33px!important;}
  html[data-vlp-view="home"] #main > .journey-section {padding-top:34px!important;padding-bottom:30px!important;}
  html[data-vlp-view="home"] #main > .usage-banner {margin-bottom:32px!important;}
  html[data-vlp-view="home"] #main > .suggestion-invitation {margin-top:26px!important;margin-bottom:36px!important;}
}
@media screen and (max-width:700px),
  screen and (orientation:landscape) and (max-height:650px) and (max-width:1100px) and (pointer:coarse) {
  html[data-vlp-view="home"] #main > .hero {row-gap:22px!important;padding-top:16px!important;padding-bottom:26px!important;}
  html[data-vlp-view="home"] #main > .stats-strip {margin-bottom:28px!important;}
  html[data-vlp-view="home"] #main > .practice-banner {margin-top:22px!important;margin-bottom:12px!important;}
  html[data-vlp-view="home"] #main > .journey-section {padding-top:29px!important;padding-bottom:26px!important;}
  html[data-vlp-view="home"] #main > .usage-banner {margin-top:18px!important;margin-bottom:28px!important;}
  html[data-vlp-view="home"] #main > .suggestion-invitation {margin-top:24px!important;margin-bottom:30px!important;}
}
@media screen and (min-width:701px) {
  html[data-vlp-view="catalogue"] #main > .catalogue {margin-top:16px!important;}
  html[data-vlp-view="welcome"] #main > .vlp-welcome-standalone {margin-top:18px!important;margin-bottom:44px!important;}
  html[data-vlp-view="guide"] #main > .guide-page {margin-top:18px!important;margin-bottom:44px!important;}
  main.vlp-stars-main > .vlp-stars-hero {margin-top:20px!important;}
}
@media screen and (max-width:700px) {
  html[data-vlp-view="welcome"] #main > .vlp-welcome-standalone {margin-bottom:30px!important;}
  html[data-vlp-view="catalogue"] #main > .catalogue {margin-top:2px!important;}
}
#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="rigel-name"] {transform:translateY(4px)!important;}
@media print {#main > .hero .vlp-home-orion-labels-v48 text[data-orion-label="rigel-name"] {transform:none!important;}}
@media screen and (min-width: 701px) and (hover: hover) and (pointer: fine) {
  #main > .hero > .hero-visual.programming-visual > .robot-scene > .floating-code {
    left: 7px !important;
    right: auto !important;
    bottom: 9px !important;
    width: 158px !important;
    max-width: 158px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 6px 8px 7px !important;
    transform: rotate(-2deg) !important;
    border-radius: 9px;
    z-index: 1;
  }
  #main > .hero > .hero-visual.programming-visual .floating-code .code-dots {
    font-size: .54rem;
    line-height: 1;
    margin-bottom: 3px;
  }
  #main > .hero > .hero-visual.programming-visual .floating-code code {
    font-size: .625rem !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
  }
}
@media screen and (min-width: 701px) and (max-width: 1100px) and (hover: hover) and (pointer: fine) {
  #main > .hero > .hero-visual.programming-visual > .robot-scene > .floating-code {
    left: 6px !important;
    width: 146px !important;
    max-width: 146px !important;
    padding: 5px 7px 6px !important;
  }
  #main > .hero > .hero-visual.programming-visual .floating-code code {
    font-size: .55rem !important;
  }
}


/* v50.23: maintenance notice in Gold Stars uses full main shell width, not the
   1120px max-width reserved for ordinary Stars content. */
@media screen {
  html body main.vlp-stars-main > .vlp-maintenance-mount,
  html body main#stars-main > .vlp-maintenance-mount {
    width:100% !important;
    max-width:none !important;
    min-width:0;
    margin-inline:auto !important;
    box-sizing:border-box;
  }
}
/* Smartphone-only v50.25: use a compact, gap-separated Orion beside the reactor.
   Keep both original astronomical map and desktop/tablet unchanged. */
.vlp-maintenance-mobile-orion { display:none; }
@media screen and (max-width:700px) and (pointer:coarse) {
  .vlp-maintenance-notice .vlp-maintenance-body {padding-right:24px !important;min-height:0 !important;}
  .vlp-maintenance-notice .vlp-maintenance-visual {
    position:relative !important;left:auto !important;right:auto !important;top:auto !important;
    transform:none !important;width:min(100%,286px) !important;
    display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:12px;
    align-items:center;justify-items:stretch;
    margin:12px auto 0 !important;
  }
  .vlp-maintenance-notice .vlp-maintenance-mobile-orion {
    display:block;position:relative;min-width:0;
    width:100%;height:auto;aspect-ratio:160 / 236;align-self:center;
    margin:0;
    background-position:center;background-repeat:no-repeat;background-size:contain;
  }
  .vlp-maintenance-notice[lang="el"] .vlp-maintenance-mobile-orion {background-image:url('/assets/vlp-v69-mobile-orion-el-40806436e0f2.svg');}
  .vlp-maintenance-notice[lang="en"] .vlp-maintenance-mobile-orion {background-image:url('/assets/vlp-v69-mobile-orion-en-8362d62318d0.svg');}
  .vlp-maintenance-notice .vlp-maintenance-reactor {width:100%;max-width:100%;min-width:0;align-self:center;}
  .vlp-maintenance-notice .vlp-maintenance-reactor-svg > .vlp-maintenance-constellation {display:none !important;}
  .vlp-maintenance-notice .vlp-maintenance-halo {display:none !important;}
}
@media screen and (max-width:370px) and (pointer:coarse) {
  .vlp-maintenance-notice .vlp-maintenance-body {padding-right:18px !important;}
}


/* v50.28: Compact medium-width header without changing mobile/desktop layouts.
   Language controls remain accessible in the top-right area. */
@media screen and (min-width:701px) and (max-width:1150px) {
  html.vlp-language-control .site-header .header-inner {
    padding-top:12px;
    padding-bottom:12px;
  }
  /* Keep all navigation controls on their own row, below the language selector. */
  html.vlp-language-control .site-header .header-inner .top-nav {
    flex:0 0 100%;
    max-width:100%;
    margin-inline-start:0;
    justify-content:flex-end;
  }
}
