
@font-face {
  font-family: "Poppins";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/poppins-400.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: italic; font-weight: 400; font-display: swap;
  src: url("/fonts/poppins-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/poppins-500.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/poppins-600.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal; font-weight: 700; font-display: swap;
  src: url("/fonts/poppins-700.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal; font-weight: 800; font-display: swap;
  src: url("/fonts/poppins-800.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url("/fonts/dm-sans-variable.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/ibm-plex-sans-400.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/ibm-plex-sans-500.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/ibm-plex-sans-600.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal; font-weight: 700; font-display: swap;
  src: url("/fonts/ibm-plex-sans-700.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/ibm-plex-mono-400.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/ibm-plex-mono-500.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

:root {
  --gn-display: "Franie", "Poppins", "Century Gothic", ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  --gn-description: "Franie", "Poppins", "Century Gothic", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --win-gray: #d7d7d2;
  --win-light: #f7f7f4;
  --win-mid: #e6e6e1;
  --win-dark: #8d8d86;
  --win-black: #14161a;
  --win-blue: #003da8;
  --win-blue-light: #0b49c8;
  --desktop-teal: #006f73;
  --terminal-green: #00ff66;

  --gn-orb-cyan: #4ad9ff;
  --gn-orb-deep: #0a1a3f;

  --gn-ok: #0b7a3b;
  --gn-ok-led: #16c060;
  --gn-warn: #8a5a00;
  --gn-warn-led: #ffb02e;
  --gn-danger: #b3261e;
  --gn-danger-led: #e5484d;
  --gn-newkey: #6b3fd4;
  --gn-info: var(--win-blue);

  --gn-surface: var(--win-gray);
  --gn-surface-raised: var(--win-mid);
  --gn-surface-sunken: #ffffff;
  --gn-nav: #0d3a3d;
  --gn-nav-2: #0a2e30;
  --gn-nav-ink: #dcefef;
  --gn-ink: var(--win-black);
  --gn-ink-soft: #4a4f57;
  --gn-line: #a9a9a2;

  --gn-1: 4px;
  --gn-2: 8px;
  --gn-3: 12px;
  --gn-4: 16px;
  --gn-5: 24px;
  --gn-6: 32px;
  --gn-7: 48px;

  --gn-font: Tahoma, Verdana, Arial, sans-serif;
  --gn-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, "Courier New", monospace;
  --gn-text-xs: 12px;
  --gn-text-sm: 14px;
  --gn-text: 16px;
  --gn-text-lg: 18px;
  --gn-text-xl: 22px;
  --gn-title: 15px;

  --gn-bevel-out: inset 1px 1px 0 var(--win-light), inset -1px -1px 0 var(--win-dark);
  --gn-bevel-in: inset 1px 1px 0 var(--win-dark), inset -1px -1px 0 var(--win-light);
  --gn-shadow-win: 3px 3px 0 rgba(0, 0, 0, 0.28);
  --gn-shadow-pop: 4px 4px 0 rgba(0, 0, 0, 0.34);
  --gn-focus: #ffd400;

  --gn-tap: 44px;
  --gn-radius: 0px;
}

html {
  min-height: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 18px 18px, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    var(--desktop-teal);
  background-size: 24px 24px;
  font-family: Tahoma, Verdana, Arial, sans-serif;
  color: var(--win-black);
  padding: 14px;
}

.desktop {

  width: 100%;
  margin: 0 auto;
}
.app-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 28px);
  overflow: hidden;
}

.window-buttons,
.button-row,
.chat-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.window-buttons {
  gap: 3px;
}

.win-btn {
  width: 20px;
  height: 20px;
  background: var(--win-gray);
  color: var(--win-black);
  border: 1px solid var(--win-black);
  box-shadow: inset 1px 1px var(--win-light), inset -1px -1px var(--win-dark);
  text-align: center;
  line-height: 17px;
  font-size: 12px;
}

.menu-bar {
  background: var(--win-gray);
  padding: 3px 6px;
  border-bottom: 1px solid var(--win-dark);
  font-size: 13px;
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
  flex: 0 0 auto;
  z-index: 20;
}

.menu-item {
  padding: 2px 8px;
  min-height: 20px;
}

.brand-box {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #000;
  color: var(--terminal-green);
  border: 2px inset var(--win-dark);
  padding: 6px 12px;
  margin-bottom: 8px;
  font-family: "Courier New", monospace;
  text-shadow: 0 0 3px rgba(0, 255, 102, 0.65);
}

.brand-subtitle,
.preview-mood,
.room-meta,
.room-status,
.room-note,
.hint-text {
  font-size: 12px;
}

.section-title {
  font-weight: bold;
  margin: 10px 0 5px;
}

.status-light,
.buddy {
  display: flex;
  align-items: center;
  gap: 6px;
}

.status-light {
  font-weight: bold;
  color: #006600;
  margin: 8px 0;
  flex-wrap: wrap;
}

.brand-pro {
  margin-left: auto;
  flex: 0 0 auto;
  align-self: center;
  padding: 2px 11px;
  min-height: 0;
  font-family: inherit;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1.5px;
  color: #ff6a6a;
  background: rgba(224, 53, 63, 0.12);
  border: 1px solid #e0353f;
  border-radius: 4px;
  box-shadow: none;
  text-shadow: none;
  cursor: pointer;
}

.home-meta {
  margin-top: 0;
  font-weight: normal;
}
@keyframes globe-pulse {
  0%, 100% { box-shadow: 0 0 4px rgba(80, 170, 255, 0.55); }
  50% { box-shadow: 0 0 7px rgba(80, 170, 255, 0.95); }
}

label {
  display: block;
  font-weight: bold;
  margin: 8px 0 3px;
  font-size: 12px;
}

input,
textarea,
select {
  width: 100%;
  font-family: Tahoma, Verdana, Arial, sans-serif;
  font-size: 13px;
  border: 2px inset var(--win-dark);
  background: #fff;
  color: var(--win-black);
  padding: 5px;
  outline: none;
}

input:focus,
textarea:focus,
select:focus {
  background: #ffffe8;
}

.color-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.button-row,
.chat-actions {
  margin-top: 8px;
}

button {
  font-family: Tahoma, Verdana, Arial, sans-serif;
  font-size: 13px;
  background: var(--win-gray);
  color: var(--win-black);
  border: 2px solid var(--win-black);
  box-shadow: inset 2px 2px var(--win-light), inset -2px -2px var(--win-dark);
  padding: 6px 10px;
  cursor: pointer;
  min-height: 30px;
}

button:hover {
  background: #d8d8d8;
}

button:active {
  box-shadow: inset 2px 2px var(--win-dark), inset -2px -2px var(--win-light);
  transform: translate(1px, 1px);
}

button:focus-visible {
  outline: 1px dotted var(--win-black);
  outline-offset: -5px;
}

.profile-preview,
.buddy-list,
.room-box,
.msg-pane,
.compose-box,
.chat-header {
  background: #fff;
  border: 2px inset var(--win-dark);
  padding: 8px;
}
.inline-btn {
  min-height: 0;
  padding: 2px 10px;
  font-size: 11px;
}
@keyframes pc-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
.feed-composer {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--win-mid);
  border: 2px inset var(--win-dark);
  padding: 8px;
  margin-bottom: 10px;
}
.feed-composer-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
@keyframes feed-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.buddy-list {
  min-height: 120px;
  margin-top: 5px;
}

.home-buddy-section {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.home-buddy-section[data-buddy-section="friends"],
.home-buddy-section[data-buddy-section="online"] {
  flex: 1 1 118px;
}

.room-box {
  margin-top: 5px;
  background: #efefef;
}

.room-box input,
.room-box button {
  margin-bottom: 6px;
}

#leaveRoomButton {
  width: auto;
}

.message-meta {
  color: #555;
  font-size: 12px;
}

.message-user {
  font-weight: bold;
  cursor: help;
}

.message-user:hover {
  text-decoration: underline;
}

.message-mood {
  color: #666;
  margin-left: 5px;
}

.message-text {
  margin-left: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.compose-box {
  margin-top: 8px;
  background: var(--win-mid);
}

.compose-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 8px;
}
textarea:disabled,
button:disabled {
  cursor: not-allowed;
}
button:disabled {
  opacity: 0.62;
}

.footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 8px;
  border-top: 1px solid var(--win-dark);
  background: var(--win-gray);
  font-size: 12px;
}
@keyframes led-meter {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

.win-btn {
  cursor: pointer;
  padding: 0;
  font-family: Tahoma, Verdana, Arial, sans-serif;
}

.sound-toggle {
  margin-left: auto;
  min-height: 0;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 16px;
}

.status-light .sound-toggle {
  margin-left: auto;
}
.home-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}
.home-control-grid > * {
  min-width: 0;
}

.friends-quick {
  position: relative;
  display: block;
}
.friends-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 26px;
  padding: 3px 6px;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
  background: var(--win-gray);
  border: 2px solid var(--win-black);
  box-shadow: inset 2px 2px var(--win-light), inset -2px -2px var(--win-dark);
}
.friends-pop {
  position: absolute;
  top: calc(100% + 3px);

  left: 0;
  right: auto;
  z-index: var(--z-popover);
  min-width: 214px;
  max-width: min(214px, calc(100vw - 24px));
  background: var(--win-gray);
  color: var(--win-black);
  border: 2px solid var(--win-light);
  border-right-color: var(--win-dark);
  border-bottom-color: var(--win-dark);
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.4);
  padding: 4px;
}
.friends-pop[hidden] {
  display: none;
}
.friends-pop-all {
  width: 100%;
  margin-top: 3px;
  font-size: 11px;
  min-height: 0;
  padding: 2px 6px;
  line-height: 16px;
}

.menu-item {
  position: relative;
  cursor: default;
  user-select: none;
}
@keyframes gn-pop {
  from { transform: scale(0.94); opacity: 0.4; }
  to { transform: scale(1); opacity: 1; }
}

.toast-container {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  pointer-events: none;
}
@keyframes app-toast-in {
  from {
    transform: translateY(8px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes gn-shake {
  10%, 90% { transform: translate(-2px, 1px); }
  20%, 80% { transform: translate(4px, -2px); }
  30%, 50%, 70% { transform: translate(-6px, 2px); }
  40%, 60% { transform: translate(6px, -1px); }
}
.buzz-msg .message-text {
  color: #cc0000;
  font-weight: bold;
  font-family: "Courier New", monospace;
}
@keyframes gn-flash {
  50% { background: #ffe0e0; }
}

.room-invite-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  background: #f6fff5;
  border: 2px inset var(--win-dark);
  font-size: 12px;
}
.room-invite-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}
.room-invite-actions button {
  min-height: 0;
  padding: 3px 8px;
  font-size: 11px;
}
.buddy-group {
  font-size: 11px;
  font-weight: bold;
  color: var(--win-dark);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 5px 0 2px;
}
.buddy-group-toggle {
  width: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 4px 6px;
  text-align: left;
  background: var(--win-mid);
  border: 1px solid var(--win-dark);
  box-shadow: inset 1px 1px var(--win-light), inset -1px -1px var(--win-dark);
}

body.dark {
  --win-gray: #2a2f3b;
  --win-light: #454c5e;
  --win-mid: #20242e;
  --win-dark: #0c0f16;
  --win-black: #cdd9ec;
  --desktop-teal: #070b14;

  color-scheme: dark;
}
body.dark {
  background:
    radial-gradient(circle at 18px 18px, rgba(120, 170, 255, 0.07) 1px, transparent 1px),
    var(--desktop-teal);
  background-size: 24px 24px;
}
body.dark input,
body.dark textarea,
body.dark select {
  background: #0d1119;
  color: #d6e6ff;
}
body.dark input:focus,
body.dark textarea:focus,
body.dark select:focus {
  background: #141b27;
}
body.dark .profile-preview,
body.dark .buddy-list,
body.dark .compose-box,
body.dark .saved-profiles,
body.dark .room-invite-card {
  background: #161b26;
}
body.dark .room-box {
  background: #11151f;
}
body.dark .message-meta {
  color: #9fb0cc;
}
body.dark .message-mood,
body.dark .buddy-mood {
  color: #8294b4;
}

:where(body.dark) button:hover,
:where(body.dark) .chat-tab:hover {
  background: #3a4150;
}
body.dark .preview-mood,
body.dark .status-light {
  color: #5fe39a;
}
#attachButton {
  font-size: 12px;
}
@keyframes gn-vanish {
  to {
    opacity: 0;
    transform: translateX(14px);
    max-height: 0;
    margin-bottom: 0;
    padding: 0;
  }
}
.popout-btn {
  margin-left: auto;
  min-height: 0;
  padding: 1px 8px;
  font-size: 10px;
  line-height: 16px;
}
@keyframes bl-toast-in {
  from {
    transform: translateY(8px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 780px) {
  body {
    padding: 6px;
  }

  .desktop {
    max-width: none;
  }
}
.home-control-grid .friends-btn,
.home-control-grid .away-status-bar,
.home-control-grid .chat-jump-btn,
.home-control-grid .theme-bar {
  position: relative;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 5px;
  row-gap: 0;
  min-height: 34px;
  padding: 2px 5px;
  font-size: 11px;
  line-height: 1.15;
}
@keyframes theme-laser-scan {
  from {
    transform: translateX(-38%) scaleX(0.32);
    opacity: 0.72;
  }
  to {
    transform: translateX(38%) scaleX(0.32);
    opacity: 1;
  }
}
@keyframes away-wave {
  0%, 100% { transform: rotate(0deg); }
  15% { transform: rotate(18deg); }
  30% { transform: rotate(-8deg); }
  45% { transform: rotate(15deg); }
  60% { transform: rotate(-4deg); }
}

@keyframes globe-turn {
  0% {
    transform: translate(-50%, -50%) perspective(200px) rotateY(-48deg);
  }
  50% {
    transform: translate(-50%, -50%) perspective(200px) rotateY(48deg);
  }
  100% {
    transform: translate(-50%, -50%) perspective(200px) rotateY(-48deg);
  }
}

@keyframes globe-ember {
  0%,
  100% {
    filter: hue-rotate(150deg) saturate(1.4) brightness(0.6);
  }
  50% {
    filter: hue-rotate(166deg) saturate(2) brightness(1.02);
  }
}

@keyframes globe-omen {
  0%,
  100% {
    filter: drop-shadow(0 0 4px rgba(148, 10, 10, 0.7));
  }
  50% {
    filter: drop-shadow(0 0 13px rgba(255, 26, 26, 0.95));
  }
}

.codelab-collab {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 6px 8px;
  font-size: 11px;
  background: var(--win-gray);
  border: 1px solid var(--win-dark);
}

.pro-back-btn {
  margin: 0 0 8px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: bold;
  cursor: pointer;
}

.codelab-search {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
}

.codelab-search-btn {
  flex: 0 0 auto;
  min-width: 28px;
  min-height: 0;
  height: 26px;
  padding: 0 7px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
.codelab-case-btn {
  font-family: "Courier New", monospace;
}

.buddy-panel-controls {
  padding-top: 7px;
}
.nav-toggle {
  min-height: 0;
  padding: 1px 9px;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: none;
}

.notif-bell {
  position: relative;
  min-height: 0;
  padding: 1px 8px;
  font-size: 15px;
  line-height: 20px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: none;
}
@keyframes notif-bell-wiggle {
  0%, 100% { transform: rotate(0); }
  20% { transform: rotate(-12deg); }
  40% { transform: rotate(10deg); }
  60% { transform: rotate(-6deg); }
  80% { transform: rotate(4deg); }
}

.notif-panel {
  position: absolute;
  top: 58px;
  right: 0;
  z-index: var(--z-popover);
  width: 300px;
  max-width: 90%;
  max-height: 60%;
  display: flex;
  flex-direction: column;
  background: var(--win-gray);
  border: 2px solid var(--win-black);
  border-top: none;
  box-shadow: -4px 6px 14px rgba(0, 0, 0, 0.45);
}
.notif-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 8px;
  background: var(--win-blue);
  color: #fff;
  border-bottom: 1px solid var(--win-black);
}
.notif-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.notif-clear {
  min-height: 0;
  padding: 1px 8px;
  font-size: 11px;
}

.nav-drawer {
  position: absolute;
  top: 58px;
  right: 0;
  bottom: 0;
  width: 215px;
  max-width: 82%;
  z-index: var(--z-drawer);
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 6px;
  background: var(--win-gray);
  border-left: 2px solid var(--win-black);
  box-shadow: -5px 0 14px rgba(0, 0, 0, 0.45);
  transform: translateX(100%);
  transition: transform 0.18s ease;
  overflow-y: auto;
}
.nav-link {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  text-align: left;
  min-height: 0;
  padding: 9px 10px;
  font-size: 14px;
  background: var(--win-mid);
}
.nav-link.active {
  background: var(--win-blue);
  color: #fff;
  font-weight: bold;
}

.gn-ui-icon {
  display: block;
  width: 20px;
  height: 20px;
  overflow: visible;
  color: inherit;
  flex: 0 0 auto;
}

.views {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
}
.view {
  height: 100%;
  overflow-y: auto;
  padding: 10px;
}
.view[hidden] {
  display: none;
}
.view-rooms {
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
  padding: 8px;
}
.view-rooms .chat-tabs,
.view-rooms .chat-header,
.view-rooms .security-legend,
.view-rooms .room-invite-card,
.view-rooms .typing-indicator,
.view-rooms .compose-box,
.view-rooms .room-users-wrap {
  flex: 0 0 auto;
}
.view-rooms #roomBrowser,
.view-rooms #pubBrowser {
  flex: 1 1 auto;
  min-height: 0;
}
.view-rooms #roomChatBar,
.view-rooms #pubChatBar {
  flex: 0 0 auto;
}

.private-browser {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  padding: 8px;
  overflow-y: auto;
}
.private-room-box {
  border: 1px solid var(--win-dark);
  box-shadow: inset 1px 1px #fff, inset -1px -1px #808080;
  padding: 9px;
}
.private-room-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}
.private-room-column {
  min-width: 0;
}
@keyframes dm-ring-blink {
  50% { background: #1c3a63; }
}

.age-gate,
.age-gate * {
  box-sizing: border-box;
}
body.age-gate-open { overflow: hidden !important; }
.age-gate {
  position: fixed;
  inset: 0;
  z-index: var(--z-gate);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 16px;
  font-family: var(--gn-font);
  background:
    radial-gradient(circle at 50% 14%, rgba(74, 217, 255, 0.16), transparent 34%),
    rgba(4, 12, 25, 0.92);
  backdrop-filter: blur(8px);
}
.age-panel {
  --age-accent: #164c9c;
  --age-accent-hover: #0e3d82;
  --age-accent-text: #164c9c;
  --age-focus: #164c9c;
  --age-panel-bg: #f8fafc;
  --age-surface: #ffffff;
  --age-soft: #eef4ff;
  --age-text: #172033;
  --age-muted: #536078;
  --age-line: #d7deea;
  width: min(100%, 520px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--age-text);
  text-align: left;
  background: var(--age-panel-bg);
  border: 1px solid rgba(147, 169, 202, 0.7);
  border-radius: var(--r-card, 14px);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.08);
}
body.dark .age-panel {
  --age-panel-bg: #111a2a;
  --age-surface: #172235;
  --age-soft: #162847;
  --age-text: #f1f5fb;
  --age-muted: #b8c4d8;
  --age-line: #33435d;
  --age-accent-text: #9fc2ff;
  --age-focus: #6ea0ff;
}
.age-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 74px;
  padding: 10px 22px;
  background: linear-gradient(135deg, #071225 0%, #10244a 100%);
  border-bottom: 1px solid #2b4268;
}
.age-brand-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.age-logo {
  display: block;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  margin: 0;
  object-fit: cover;
  border: 1px solid #365a8a;
}
.age-brand-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: #fff;
  line-height: 1.05;
}
.age-brand-copy strong {
  font-size: 17px;
  letter-spacing: 0.08em;
}
.age-brand-copy span {
  margin-top: 5px;
  color: #9fc2ff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.age-badge {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #f7fbff;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  background: #0a1730;
  border: 1px solid #73dfff;
  border-radius: var(--r-chip, 8px);
  box-shadow: inset 0 0 0 3px rgba(74, 217, 255, 0.12);
}
.age-content {
  padding: 24px;
}
.age-eyebrow {
  margin: 0 0 8px;
  color: var(--age-accent-text);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.13em;
}
.age-title {
  margin: 0 0 10px;
  color: var(--age-text);
  font-size: 26px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.age-body {
  margin: 0 0 16px;
  color: var(--age-muted);
  font-size: 15px;
  line-height: 1.6;
}

.age-jurisdiction {
  margin: 0 0 12px;
  padding: 10px 12px;
  color: #1b3357;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  background: #eef4ff;
  border: 1px solid #9db7dd;
}
body.dark .age-jurisdiction {
  color: #dbe6f7;
  background: #16233a;
  border-color: #3c5477;
}
.age-read-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 46px;
  margin: 0 0 12px;
  padding: 11px 14px;
  color: var(--age-accent);
  text-align: left;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  background: var(--age-soft);
  border: 1px solid #bfd0ec;
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
  cursor: pointer;
}
.age-read-legal::after {
  content: "\2192";
  flex: 0 0 auto;
  margin-left: 12px;
  font-size: 19px;
  line-height: 1;
}
.age-read-legal:hover {
  color: var(--age-accent-hover);
  background: #e3edff;
}
body.dark .age-read-legal {
  color: #9fc2ff;
  border-color: #405a82;
}
body.dark .age-read-legal:hover {
  color: #c7dcff;
  background: #1c3153;
}
.age-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px;
  color: var(--age-text);
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  background: var(--age-surface);
  border: 1px solid var(--age-line);
  border-radius: var(--r-ctl, 10px);
  cursor: pointer;
}
.age-consent:hover { border-color: #9bb4dc; }
.age-consent:has(input:focus-visible) {
  outline: 3px solid var(--age-focus);
  outline-offset: 2px;
}
.age-consent input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--age-accent);
  cursor: pointer;
}
.age-consent input:focus-visible { outline: none; }
.age-consent-copy { flex: 1; }
.age-btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.age-panel :is(.age-enter, .age-leave) {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 16px;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  border-radius: var(--r-card, 14px);
  box-shadow: none;
  cursor: pointer;
}
.age-enter {
  color: #fff;
  background: var(--age-accent);
  border: 1px solid var(--age-accent);
}
.age-enter:hover:not(:disabled) {
  background: var(--age-accent-hover);
  border-color: var(--age-accent-hover);
}
.age-enter:disabled {
  color: #f4f6fa;
  background: #9aa6b9;
  border-color: #9aa6b9;
  cursor: not-allowed;
  opacity: 1;
}
.age-leave {
  color: var(--age-muted);
  background: transparent;
  border: 1px solid var(--age-line);
}
.age-leave:hover {
  color: var(--age-text);
  background: var(--age-surface);
  border-color: #9bb4dc;
}
.age-panel :is(button, input):focus-visible {
  outline: 3px solid var(--age-focus);
  outline-offset: 2px;
}
.age-footnote {
  margin: 12px 0 0;
  color: var(--age-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}
.age-footnote::before {
  content: "\1F512";
  margin-right: 5px;
  font-size: 11px;
}
.age-blocked {
  padding: 10px 0 2px;
}
.age-legal-review {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  padding: 16px;
  background: rgba(3, 9, 20, 0.94);
  backdrop-filter: blur(8px);
}
.age-legal-window {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: min(800px, 100%);
  max-width: 100%;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: hidden;
  text-align: left;
  background: #111827;
  border: 1px solid #405477;
  border-radius: var(--r-ctl, 10px);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.56);
}
.age-legal-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 10px 12px 10px 18px;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  background: linear-gradient(135deg, #0b1b36, #164c9c);
}
.age-legal-close {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 14px;
  color: #fff;
  font: inherit;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
  cursor: pointer;
}
.age-legal-content {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 14px 16px 20px;
  color: #fff;
  background: #111827;
}
.age-legal-content .legal-doc {
  max-width: none;
  color: #fff;
  overflow-wrap: anywhere;
}
.age-legal-content .legal-doc * { color: #fff; }
.age-legal-content .legal-doc a { color: #b7ceff; }
@media (max-width: 600px) {
  .age-legal-review { padding: 8px; }
  .age-legal-window {
    width: 100%;
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
  }
  .age-legal-content { padding: 12px; }
}
@media (max-width: 480px) {
  .age-gate { padding: 12px; }
  .age-panel {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    border-radius: var(--r-card, 14px);
  }
  .age-brand {
    min-height: 68px;
    padding: 9px 16px;
  }
  .age-brand-identity { gap: 9px; }
  .age-logo { width: 46px; height: 46px; flex-basis: 46px; }
  .age-brand-copy strong { font-size: 15px; }
  .age-brand-copy span { font-size: 9px; letter-spacing: 0.11em; }
  .age-badge { width: 42px; height: 42px; font-size: 14px; }
  .age-content { padding: 20px; }
  .age-title { font-size: 24px; }
  .age-body { font-size: 14px; line-height: 1.55; }
}
@media (prefers-reduced-transparency: reduce) {
  .age-gate,
  .age-legal-review { backdrop-filter: none; }
}

.pub-browser {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  min-height: 0;
}
.pub-create {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}
.pub-create #pubRoomCreate {
  width: auto;
  white-space: nowrap;
  padding-left: 14px;
  padding-right: 14px;
}
@keyframes pubPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
@keyframes pubUnreadBlink {
  50% {
    background: #ffff66;
    box-shadow: 0 0 6px rgba(255, 255, 102, 0.9), inset 0 0 0 1px #8a7a00;
  }
}

.pub-chat-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 8px;
  font-size: 11px;
  color: #5a5f6b;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}
body.dark .pub-chat-bar {
  color: #8aa0c4;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.pub-back {
  flex: 0 0 auto;
  width: auto;
  min-height: 0;
  padding: 2px 10px;
  font-size: 12px;
}

.nav-pro {
  font-weight: bold;
}
.pro-go {
  width: 100%;
  font-weight: bold;
  padding: 8px;
  font-size: 14px;
}
.pro-restore {
  margin-top: 10px;
  font-size: 12px;
  color: #5a5f6b;
}
body.dark .pro-restore {
  color: #8aa0c4;
}
.linklike {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #1084d0;
  text-decoration: underline;
  cursor: pointer;
  font-size: 12px;
}
body.dark .linklike {
  color: #5aa9ff;
}
.pro-restore-box {
  margin-top: 8px;
}

body:not(.is-pro) #attachButton {
  opacity: 0.6;
}

#view-home {
  padding: 14px;
}
.home-grid {
  display: grid;
  gap: 12px;
}

.brand-box {
  padding: 8px 14px;
}

@media (min-width: 821px) {
  #view-home {
    margin: 0 auto;
  }
}
.emoji-wrap {
  position: relative;
  display: inline-flex;
}
.emoji-btn {
  min-height: 30px;
  padding: 5px 9px;
  line-height: 1;
}

.codelab {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.codelab-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.codelab-controls > * {
  margin-top: 0;
}

.codelab-toolbar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.codelab-video {
  margin-top: 8px;
  border: 2px inset var(--win-dark);
  background: #0b0f14;
  padding: 6px;
}
.codelab-video-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 11px;
  color: #cdd9e5;
}
.codelab-video-bar .inline-btn {
  margin-left: 0;
}
.codelab-video-bar .inline-btn:last-child {
  margin-left: auto;
}

.humangate {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(2, 6, 12, 0.86);
}
.humangate-done {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.humangate-panel {
  width: min(320px, calc(100vw - 24px));
  padding: 14px;
  text-align: center;
  background: var(--win-gray);
  color: var(--win-black);
  border: 2px solid var(--win-light);
  border-right-color: var(--win-dark);
  border-bottom-color: var(--win-dark);
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.5);
}
.humangate-title {
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 4px;
}
.humangate-sub {
  font-size: 12px;
  color: #4a4f5b;
  margin-bottom: 10px;
}
body.dark .humangate-sub {
  color: #9fb2d0;
}
.humangate-canvas {
  width: 220px;
  max-width: 100%;
  height: 70px;
  image-rendering: pixelated;
  border: 2px inset var(--win-dark);
  background: #0b0f14;
}
.humangate-math {
  margin: 6px 0;
  font-size: 18px;
  font-weight: bold;
}
.humangate-prompt {
  display: block;
  margin: 8px 0 4px;
  font-size: 12px;
  font-weight: bold;
}
.humangate-input {
  width: 100%;
  text-align: center;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.humangate-msg {
  min-height: 16px;
  margin: 6px 0;
  font-size: 12px;
  font-weight: bold;
  color: #b00000;
}
body.dark .humangate-msg {
  color: #ff8a8a;
}
.humangate-row {
  display: flex;
  gap: 6px;
}
.humangate-btn {
  flex: 1 1 auto;
  padding: 5px;
  font-weight: bold;
  cursor: pointer;
}
.humangate-go {
  flex: 2 1 auto;
}
.humangate-alt {
  margin-top: 10px;
  padding: 2px;
  width: 100%;
  font-size: 11px;
  text-decoration: underline;
  color: #1f6fd6;
  background: none;
  border: 0;
  cursor: pointer;
}
body.dark .humangate-alt {
  color: #6fb4ff;
}
.humangate-shake {
  animation: humangate-shake 0.3s ease;
}
@keyframes humangate-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-7px); }
  40% { transform: translateX(7px); }
  60% { transform: translateX(-5px); }
  80% { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
  .humangate-shake { animation: none; }
}
.bb-stage-idx {
  flex: 0 0 auto;
  color: #56697d;
}
.bb-stage-name {
  flex: 0 0 auto;
  min-width: 92px;
}
.bb-stage-icon {
  flex: 0 0 auto;
  font-weight: bold;
}
.bb-stage-note {
  flex: 1 1 auto;
  min-width: 0;
  color: #8aa0c4;
}
.bb-pass .bb-stage-icon { color: #39ff8a; }
.bb-warn .bb-stage-icon { color: #ffcf5a; }
.bb-fail .bb-stage-icon { color: #ff5a5a; }
.bb-fail .bb-stage-name { color: #ff9a9a; }
@keyframes bb-live-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.bb-slop .bb-stage-name { color: var(--lvl); }
@keyframes bb-bulb-pulse { 0%, 100% { opacity: 0.95; } 50% { opacity: 0.45; } }

.cl-diff {
  margin-top: 6px;
  padding: 8px;
  background: #0b0f14;
  color: #cdd9e5;
  border: 2px inset var(--win-dark);
  font: 12px/1.5 "Consolas", "Courier New", monospace;
}
.cl-diff[hidden] { display: none; }
.cl-diff-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #1e2730;
}
.cl-diff-bases { display: inline-flex; border: 1px solid #2a3947; border-radius: 4px; overflow: hidden; }
.cl-diff-base {
  background: #0d141c;
  color: #8aa0b6;
  border: 0;
  border-right: 1px solid #2a3947;
  border-radius: var(--r-ctl, 10px);
  min-height: 0;
  padding: 3px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.cl-diff-base:last-child { border-right: 0; }
.cl-diff-base[hidden] { display: none; }
.cl-diff-base[aria-pressed="true"] { background: #14304a; color: #9cd2ff; font-weight: bold; }
.cl-diff-close { margin-left: auto; }

.bb-academy {
  position: relative;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  height: clamp(220px, 48vh, 600px);
  overflow: hidden;
  background: #0b0f14;
  color: #cdd9e5;
  border: 2px inset var(--win-dark);
  font: 13px/1.55 "Segoe UI", Tahoma, Verdana, Arial, sans-serif;
}
.bb-academy[hidden] { display: none; }
.bb-academy-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  background: #11161d;
  border-bottom: 1px solid #1e2730;
}
.bb-academy-bar .bb-avatar { width: 26px; height: 26px; }
.bb-academy-titles { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.bb-academy-name { font-weight: bold; letter-spacing: 0.5px; color: #aef9c6; }
.bb-academy-sub { color: #8aa0c4; font-size: 11px; }
.bb-academy-sub code { color: #ffcf5a; background: rgba(255, 207, 90, 0.1); padding: 0 3px; border-radius: var(--r-ctl, 10px); }
.bb-academy-xp {
  flex: 0 0 auto;
  color: #ffd479;
  font-weight: bold;
  padding: 2px 8px;
  border: 1px solid #5a4a12;
  background: rgba(255, 207, 90, 0.08);
  border-radius: 10px;
}
.bb-academy-xp:empty { display: none; }
.bb-academy-close { flex: 0 0 auto; padding: 1px 7px; }
.bb-academy-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 11px 12px 14px;
  overflow-y: auto;
  overflow-wrap: anywhere;
}

.exam-panel { height: clamp(280px, 64vh, 800px); }
.exam-panel .bb-academy-name::after { content: " // exam"; color: #ffcf5a; font-weight: normal; font-size: 11px; letter-spacing: 0.5px; }

.bb-academy button { box-shadow: none; }

:root {
  --tok-comment: #7d8a99;
  --tok-str: #8fd4a2;
  --tok-num: #f0b37e;
  --tok-kw: #c3a0f0;
  --tok-lit: #f0b37e;
  --tok-fn: #7fc4f5;
  --tok-op: #b9c2cf;
  --tok-punc: #8a95a6;
  --tok-key: #7fc4f5;
  --tok-mark: #ffc95c;
  --tok-addr: #6fd8e0;
  --tok-time: #b8a7f5;
  --tok-hash: #8a95a6;
  --tok-host: #6fd8e0;
  --tok-verdict: #8fd4a2;
  --tok-rule: #4a525e;
  --tok-var: #f0a7c4;
}

body.gn-modern #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) {
  --tok-comment: #6a7684;
  --tok-str: #1f6b3f;
  --tok-num: #9a4f16;
  --tok-kw: #6d2f96;
  --tok-lit: #9a4f16;
  --tok-fn: #15538f;
  --tok-op: #4a5568;
  --tok-punc: #7a8496;
  --tok-key: #15538f;
  --tok-mark: #8a4b00;
  --tok-addr: #0b5f72;
  --tok-time: #553d9e;
  --tok-hash: #6a7684;
  --tok-host: #0b5f72;
  --tok-verdict: #1f6b3f;
  --tok-rule: #c3ccd6;
  --tok-var: #9c3f6d;
}

body.gn-modern.dark #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) {
  --tok-comment: #7d8a99;
  --tok-str: #8fd4a2;
  --tok-num: #f0b37e;
  --tok-kw: #c3a0f0;
  --tok-lit: #f0b37e;
  --tok-fn: #7fc4f5;
  --tok-op: #b9c2cf;
  --tok-punc: #8a95a6;
  --tok-key: #7fc4f5;
  --tok-mark: #ffc95c;
  --tok-addr: #6fd8e0;
  --tok-time: #b8a7f5;
  --tok-hash: #8a95a6;
  --tok-host: #6fd8e0;
  --tok-verdict: #8fd4a2;
  --tok-rule: #4a525e;
  --tok-var: #f0a7c4;
}
.bba-support-message-meta { color: #9fb2cf; font-size: 10.5px; font-weight: 700; }
.bba-support-message-body { margin: 6px 0 0; color: #eef4ff; white-space: pre-wrap; overflow-wrap: anywhere; }

.codelab-greypath-btn { border-color: #6a2f2f; }

.greypath {
  position: relative;
  margin-top: 8px;
  display: flex;
  flex-direction: column;

  height: clamp(320px, 72vh, 900px);
  overflow: hidden;
  background: #07090c;
  color: #c7d2cb;
  border: 2px inset var(--win-dark);
  font: 13px/1.55 "Segoe UI", Tahoma, Verdana, Arial, sans-serif;
}
.greypath[hidden] { display: none; }
.greypath-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px 9px;
  background: #100c0a;
  border-bottom: 1px solid #2a1d18;
}

.greypath-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
  flex: 0 0 auto;
}
.greypath-close { flex: 0 0 auto; padding: 1px 7px; }

.codelab-academy-btn.pro-locked::after,
.codelab-greypath-btn.pro-locked::after { content: " 🔒"; opacity: 0.85; }
@keyframes gp-notice-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes gp-notice-panel-in {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.codelab-whiteteam-btn { border-color: #2f5a6a; }

.codelab-task-btn {
  font-weight: bold;
  background: #1f7a3d;
  color: #eafff1;
  border: 1px solid #34b964;
}
.codelab-task-btn[hidden] { display: none; }
.greypath-mode-btn { flex: 0 0 auto; padding: 1px 8px; font-size: 11px; border-color: #2f5a6a; white-space: nowrap; }

.link-btn {
  border: 0;
  background: none;
  padding: 0;

  box-shadow: none;
  min-height: 0;
  font: inherit;
  color: #2d6a9f;
  text-decoration: underline;
  cursor: pointer;
}
body.dark .link-btn { color: #7fc1ff; }

.drop-composer {
  background: #04120a;
  border: 2px solid #1f5e3a;
  border-radius: 6px;
  padding: 12px;
  margin: 10px 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.drop-submit-row { display: flex; align-items: center; gap: 10px; }
.drop-post-btn {
  font: bold 14px "Tahoma", sans-serif;
  cursor: pointer;
  background: #0f2c1c;
  color: #39ff8a;
  border: 1px solid #39ff8a;
  border-radius: 4px;
  padding: 7px 16px;
  letter-spacing: 0.5px;
}
@keyframes gnos-icon-pop { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 70% { transform: scale(0.94); } 100% { transform: scale(1); } }
@keyframes gnos-mark-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
@keyframes gnos-score-flare {
  0% { transform: scale(1); }
  30% { transform: scale(1.28); text-shadow: 0 0 11px var(--gnos-neon-amber); }
  100% { transform: scale(1); }
}
@keyframes gnos-win-open {
  0% { transform: scale(0.94) translateY(6px); opacity: 0; }
  100% { transform: none; opacity: 1; }
}
@keyframes gnos-win-close {
  0% { transform: none; opacity: 1; }
  100% { transform: scale(0.94) translateY(6px); opacity: 0; }
}
@keyframes gnos-sm-in { from { opacity: 0; transform: translateY(-8px) scale(0.98); } to { opacity: 1; transform: none; } }
@keyframes gnos-bind-flash {
  0% { box-shadow: none; }
  30% { box-shadow: 0 0 0 2px var(--gnos-neon-lime), 0 0 15px var(--gnos-neon-teal); }
  100% { box-shadow: none; }
}
@keyframes gnos-badge-ignite {
  0% { transform: scale(0.6); }
  40% { transform: scale(1.16); text-shadow: 0 0 10px var(--gnos-neon-lime); }
  100% { transform: scale(1); }
}
@keyframes gnos-shard-fly {
  from { transform: translate(0, 0) scale(1); opacity: 1; }
  to { transform: translate(var(--dx, 0), var(--dy, 0)) scale(0.4); opacity: 0; }
}
@keyframes gnos-shake {
  10%, 90% { transform: translateX(-2px); }
  30%, 70% { transform: translateX(3px); }
  50% { transform: translateX(-4px); }
}

:root {
  --gnos-neon-cyan: #22e0ff;
  --gnos-neon-magenta: #ff3ea5;
  --gnos-neon-violet: #a86bff;
  --gnos-neon-lime: #7dff9b;
  --gnos-neon-amber: #ffc857;
  --gnos-neon-teal: #00e0b8;
  --gnos-neon-rose: #ff7ad9;
  --gnos-reject-red: #ff3b3b;
}

.home-control-foot {
  margin-top: 8px;
  text-align: center;
}
.home-privacy-link {
  font-size: 11px;
  opacity: 0.78;
}
.privacy-back {
  font-size: 12px;
  margin-bottom: 4px;
}
.legal-doc {
  max-width: 720px;
  font-size: 12px;
  line-height: 1.55;
}
.legal-doc h3 {
  font-size: 13px;
  margin: 14px 0 4px;
}
.legal-doc h4 {
  font-size: 12px;
  margin: 12px 0 3px;
}
.legal-doc p { margin: 4px 0; }
.legal-doc ul { margin: 4px 0 6px 18px; padding: 0; }
.legal-doc li { margin: 3px 0; }
.legal-updated { opacity: 0.75; }

.legal-tldr {
  border: 1px solid var(--win-dark);
  background: rgba(0, 0, 0, 0.03);
  padding: 8px 10px;
  margin: 8px 0 10px;
}
body.dark .legal-tldr { background: rgba(255, 255, 255, 0.04); }
.legal-agreement-title { margin-top: 18px; }

body:not(.buddy-popout):not(.dm-popout) {
  font-size: var(--gn-text);
  line-height: 1.45;

  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 20px 20px, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    var(--desktop-teal);
  background-size: 4px 4px, 4px 4px, 40px 40px, auto;
  padding: var(--gn-3);
}

.app-shell {
  height: calc(100vh - (var(--gn-3) * 2));
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.nav-link:focus-visible,
.gn-win-btn:focus-visible,
.feed-tab:focus-visible,
.menu-item:focus-visible {
  outline: 3px solid var(--gn-focus);
  outline-offset: 1px;
}

.gn-body {
  flex: 1 1 auto;
  display: flex;
  min-height: 0;
  min-width: 0;
}
.views {
  flex: 1 1 auto;
  min-width: 0;
}
.view { padding: var(--gn-4); }

@media (min-width: 1024px) {
  .app-shell .nav-drawer.gn-rail {
    position: static;
    transform: none;
    width: 128px;
    max-width: none;
    flex: 0 0 128px;
    top: auto;
    right: auto;
    bottom: auto;
    z-index: auto;
    gap: var(--gn-2);
    padding: var(--gn-2);
    background: linear-gradient(180deg, var(--gn-nav) 0%, var(--gn-nav-2) 100%);
    border-left: 0;
    border-right: 1px solid var(--win-black);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.06);
    transition: none;
    overflow-y: auto;
  }
  .nav-toggle { display: none; }
}

.gn-rail .nav-link {
  flex-direction: column;
  gap: var(--gn-1);
  justify-content: center;
  text-align: center;
  min-height: 64px;
  padding: var(--gn-2) var(--gn-1);
  font-size: var(--gn-text-sm);
  font-weight: bold;
  color: var(--gn-nav-ink);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.1);
  text-decoration: none;
}
.gn-rail .nav-link.active {
  background: linear-gradient(180deg, #10545a 0%, #0b3f45 100%);
  border-color: var(--gn-orb-cyan);
  box-shadow:
    inset 0 0 0 1px rgba(74, 217, 255, 0.5),
    0 0 10px rgba(74, 217, 255, 0.25);
  color: #fff;
}
.gn-rail .nav-link { position: relative; }

.gn-win {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--gn-surface);
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out), var(--gn-shadow-win);
}
.gn-win-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gn-2);
  padding: var(--gn-1) var(--gn-1) var(--gn-1) var(--gn-2);
  min-height: 32px;
  background: linear-gradient(180deg, var(--win-blue-light) 0%, var(--win-blue) 100%);
  color: #fff;
  border-bottom: 1px solid var(--win-black);
}
.gn-win-btns {
  display: flex;
  gap: 3px;
  flex: 0 0 auto;
}

.gn-win-btn {
  width: 32px;
  height: 28px;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: var(--gn-text-xs);
  font-weight: bold;
  line-height: 1;
  color: var(--win-black);
  background: var(--win-gray);
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out);
}
.gn-win-body {
  display: flex;
  flex-direction: column;
  gap: var(--gn-3);
  padding: var(--gn-3);
  min-height: 0;
}

.home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gn-3);
  align-content: start;
  max-width: 1500px;
  margin: 0 auto;
}
.home-main,
.home-side {
  display: flex;
  flex-direction: column;
  gap: var(--gn-3);
  min-width: 0;
}
@media (min-width: 1024px) {
  .home-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
  }
}

.gn-win-feed .gn-win-body { gap: var(--gn-2); }
.feed-composer-row {
  display: flex;
  align-items: center;
  gap: var(--gn-3);
  flex-wrap: wrap;
}

:where(body:not(.buddy-popout):not(.dm-popout)) button { font-size: var(--gn-text-sm); }
.gn-btn-primary {
  min-height: var(--gn-tap);
  padding: var(--gn-2) var(--gn-5);
  font-size: var(--gn-text);
  font-weight: bold;
  color: #fff;
  background: linear-gradient(180deg, var(--win-blue-light) 0%, var(--win-blue) 100%);
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out);
}
.gn-btn-quiet {
  min-height: 36px;
  padding: var(--gn-1) var(--gn-3);
  font-size: var(--gn-text-sm);
  font-weight: bold;
}
body:not(.buddy-popout):not(.dm-popout) :is(input, textarea, select) { font-size: var(--gn-text); }

.footer.gn-taskbar {
  gap: var(--gn-2);
  padding: var(--gn-1) var(--gn-2);
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-start;
  border-top: 2px solid var(--win-light);
  background: var(--win-gray);
  font-size: var(--gn-text-xs);
}
.gn-start {
  display: inline-flex;
  align-items: center;
  gap: var(--gn-1);
  flex: 0 0 auto;
  min-height: 36px;
  padding: var(--gn-1) var(--gn-3);
  font-size: var(--gn-text-sm);
  font-weight: bold;
  background: var(--win-gray);
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out);
}

.gn-startmenu {
  position: absolute;
  left: var(--gn-2);
  bottom: 46px;
  z-index: var(--z-popover);
  display: flex;
  min-width: 260px;
  background: var(--win-gray);
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out), var(--gn-shadow-pop);
}
.gn-startmenu-body { flex: 1 1 auto; padding: var(--gn-1); }

.gn-startmenu .menu-bar {
  display: flex;
  flex-direction: column;
  gap: 1px;
  height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.gn-startmenu .menu-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--gn-tap);
  padding: var(--gn-2) var(--gn-4);
  font-size: var(--gn-text);
  font-weight: bold;
}

.gn-win-identity .brand-box {
  display: flex;
  align-items: center;
  gap: var(--gn-3);
  flex-wrap: wrap;
  padding: var(--gn-2) var(--gn-3);
  margin-bottom: 0;
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-in);
}
.gn-win-identity .home-view-profile { margin-left: auto; }
.home-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--gn-2);
}
.home-control-foot { padding-top: var(--gn-2); }

.gn-win-buddies .buddy-panel { border: 0; background: transparent; }
.gn-win-buddies .buddy-list { max-height: 42vh; overflow-y: auto; }

body.dark .gn-win { background: #2a2f3b; }
body.dark .gn-win-btn { background: #454c5e; color: #e6edf7; }

body.dark .gn-startmenu { background: #2a2f3b; }
body.dark .gn-startmenu .menu-item { color: #e6edf7; }

@media (max-width: 767px) {
  body { padding: 0; }
}

html, body { max-width: 100%; overflow-x: hidden; }
.view, .gn-win, .gn-win-body, .home-grid { max-width: 100%; }

#view-home {
  display: block;
  max-width: none;
  padding: var(--gn-4);
}
#view-home .home-grid {
  display: grid;
  grid-template-areas: none;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: start;
  flex: none;
  gap: var(--gn-3);
  max-width: 1500px;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  #view-home .home-grid { grid-template-columns: minmax(0, 1fr) 360px; }
}

.humangate-panel {
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out), var(--gn-shadow-pop);
}
.humangate-panel button { min-height: var(--gn-tap); font-size: var(--gn-text); }
.humangate-panel input { min-height: var(--gn-tap); font-size: var(--gn-text); }

.notif-panel {
  border: 1px solid var(--win-black);
  box-shadow: var(--gn-bevel-out), var(--gn-shadow-pop);
}

#view-privacy {
  max-width: 980px;
  margin: 0 auto;
}

.toast-container {
  right: var(--gn-3);
  bottom: 52px;
}
@media (max-width: 767px) {
  .toast-container { bottom: 48px; left: var(--gn-2); right: var(--gn-2); align-items: stretch; }
}

.app-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-columns: minmax(0, 1fr);
  height: calc(100vh - (var(--gn-3) * 2));
  height: calc(100dvh - (var(--gn-3) * 2));
  min-height: 0;
  overflow: hidden;
}

.gn-body {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.views {
  min-height: 0;
  overflow: hidden;
}
.view {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;

  padding-bottom: var(--gn-6);
  scroll-padding-bottom: var(--gn-6);
}

html, body { height: 100%; overflow: hidden; }
body { overscroll-behavior: none; }

.app-shell .nav-drawer.gn-rail {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.nav-group {
  display: flex;
  flex-direction: column;
  gap: var(--gn-2);
}
.gn-rail { gap: var(--gn-2); }

@media (min-width: 1024px) and (max-height: 1049px) {
  .gn-rail .nav-secondary .nav-link {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    min-height: 44px;
    gap: var(--gn-2);
    padding: var(--gn-1) var(--gn-2);
    font-size: var(--gn-text-xs);
  }

  .gn-rail .nav-primary .nav-link { min-height: 56px; }
}

@media (max-width: 767px) {
  body:not(.buddy-popout):not(.dm-popout) {
    padding: 0;
  }
}

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

.pc-panel { animation: none; }

.pc-card {
  padding: var(--gn-3);
  background: var(--gn-surface-raised);
  border: 1px solid var(--gn-line);
  box-shadow: var(--gn-bevel-in);
  margin-bottom: var(--gn-3);
}

.message-body { min-width: 0; }

body.gn-modern {

  --m-bg: #0a0e16;
  --m-sidebar: #0c111b;
  --m-card: #141a26;
  --m-card-2: #1a2130;
  --m-raised: #1f2735;
  --m-line: #232c3d;
  --m-line-2: #1a2231;
  --m-line-strong: #2c374a;
  --m-ink: #e7edf7;
  --m-sub: #9aa7bd;
  --m-muted: #64718a;
  --m-blue: #2f6bff;
  --m-blue-soft: rgba(47, 107, 255, 0.16);
  --m-cyan: #4ad9ff;
  --m-ok: #18c26a;
  --m-e2e: #37c6e0;
  --m-newkey: #9a7bf5;
  --m-warn: #f5b64a;
  --m-danger: #f0616a;
  --m-radius: 14px;
  --m-radius-sm: 10px;

  --gn-surface: var(--m-card);
  --gn-surface-raised: var(--m-card-2);
  --gn-surface-sunken: #0f1520;
  --gn-line: var(--m-line);
  --gn-ink-soft: var(--m-sub);
  --gn-orb-cyan: var(--m-cyan);
  --gn-focus: #6ea0ff;
  --win-gray: var(--m-card);
  --win-mid: var(--m-card-2);
  --win-blue: var(--m-blue);
  --win-blue-light: #3f78ff;

  background: var(--m-bg);
  color: var(--m-ink);
  padding: 0;
  font-family: var(--gn-description);
}
body.gn-modern .desktop { max-width: none; }

.gn-modern .app-shell.gn-shell {
  --gn-rail-width: 220px;
  display: grid;
  grid-template-columns: var(--gn-rail-width) minmax(0, 1fr);
  grid-template-rows: 100dvh;
  height: 100vh;
  height: 100dvh;
  border: 0;
  border-radius: var(--r-card, 14px);
  box-shadow: none;
  background: var(--m-bg);
  overflow: hidden;
}

.gn-modern .gn-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--m-sidebar);
  border-right: 1px solid var(--m-line);
}

.gn-modern .gn-sidebar .gn-rail {
  position: static;
  transform: none;
  flex: 1 1 auto;
  width: auto;
  min-height: 0;
  gap: 2px;
  padding: 6px 12px 12px;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow-y: auto;
}
.gn-modern .nav-group { gap: 2px; }

.gn-modern .gn-rail .nav-link,
.gn-modern .gn-rail .nav-secondary .nav-link {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  text-align: left;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--m-sub);
  background: transparent;
  border: 0;
  border-radius: 9px;
  box-shadow: none;
}

.gn-modern .gn-rail .nav-link.active {
  background: rgba(255, 255, 255, 0.09);
  color: var(--m-ink);
  font-weight: 600;
  box-shadow: none;
}

.gn-modern .side-user {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 10px 12px 12px;
  padding: 9px 11px;
  background: var(--academy-surface);
  border: 1px solid var(--academy-line);
  border-radius: var(--r-ctl, 10px);
  text-align: left;
  min-height: 58px;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.gn-modern .gn-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  background: var(--m-bg);
}

.gn-modern .gn-topbar {
  display: flex;
  align-items: center;

  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 14px;
  row-gap: 10px;
  height: auto;
  min-height: 66px;
  padding: 12px 20px;
  background: var(--m-bg);
  border-bottom: 1px solid var(--m-line);
}

.gn-modern .gn-topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: auto;
}

.notif-bell { display: inline-flex; align-items: center; justify-content: center; }

.gn-modern .notif-bell {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0;
  font-size: 18px; color: var(--m-sub);
  background: var(--m-card); border: 1px solid var(--m-line);
  border-radius: 10px; box-shadow: none;
}

.gn-modern .gn-account {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 10px; min-height: 40px;
  background: var(--m-card); border: 1px solid var(--m-line);
  border-radius: 999px; box-shadow: none;
}

.gn-modern .window-buttons { display: none; }
.gn-modern .nav-toggle { display: none; }

.gn-modern .gn-body {
  min-height: 0; min-width: 0;
  overflow: hidden;
  background: var(--m-bg);
}
.gn-modern .views { min-height: 0; overflow: hidden; }
.gn-modern .view {
  height: 100%; min-height: 0;
  overflow-y: auto;
  padding: 22px 24px;
}

.gn-modern .gn-taskbar { display: none; }

.gn-modern .window,
.gn-modern .gn-win,
.gn-modern .panel {
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.gn-modern .gn-win-bar {
  min-height: 0;
  padding: 14px 16px 0;
  background: transparent;
  border: 0;
  color: var(--m-ink);
}
.gn-modern .gn-win-btn {
  background: transparent; border: 0; box-shadow: none;
  color: var(--m-muted); width: 28px; height: 24px;
}
.gn-modern .gn-win-body { padding: 14px 16px 16px; }

.gn-modern #view-home .home-grid {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  max-width: 1360px;
}

.gn-modern button { font-family: inherit; }
.gn-modern .gn-btn-primary,
.gn-modern #feedPost {
  min-height: 40px; padding: 8px 20px;
  font-size: 14px; font-weight: 700; color: #fff;
  background: var(--m-blue); border: 0; border-radius: 10px; box-shadow: none;
}
.gn-modern .gn-btn-quiet {
  min-height: 38px; padding: 8px 14px; font-weight: 600;
  color: var(--m-ink); background: var(--m-card-2);
  border: 1px solid var(--m-line); border-radius: 10px; box-shadow: none;
}
.gn-modern input,
.gn-modern textarea,
.gn-modern select {
  color: var(--m-ink);
  background: var(--gn-surface-sunken);
  border: 1px solid var(--m-line);
  border-radius: 10px;
  box-shadow: none;
}
.gn-modern input:focus,
.gn-modern textarea:focus,
.gn-modern select:focus { border-color: var(--m-blue); outline: none; }
.gn-modern :where(button, a, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--m-blue);
  outline-offset: 2px;
}
.gn-modern .feed-composer-row { gap: 12px; }
.gn-modern .buddy-panel-bar,
.gn-modern .buddy-group {
  color: var(--m-sub); font-size: 12px; letter-spacing: .04em;
  text-transform: uppercase; font-weight: 700;
}

.gn-modern .gn-win-identity .brand-box {
  background: var(--gn-surface-sunken); border: 1px solid var(--m-line);
  box-shadow: none; border-radius: 12px;
}

.gn-modern .notif-head {
  background: var(--m-card-2);
  color: var(--m-ink);
  border-bottom: 1px solid var(--m-line);
}
.gn-modern .notif-panel {
  top: calc(var(--gn-topbar-h, 77px) + 8px); right: 18px; left: auto;
  background: var(--m-card); border: 1px solid var(--m-line);
  border-radius: 14px; box-shadow: 0 20px 50px rgba(0,0,0,.6);
}

.gn-modern .gn-startmenu {
  left: auto; right: 18px; bottom: auto; top: calc(var(--gn-topbar-h, 77px) + 8px);
  min-width: 220px;
  background: var(--m-card); border: 1px solid var(--m-line);
  border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.6);
  overflow: hidden;
}
.gn-modern .gn-startmenu-body { padding: 6px; }
.gn-modern .gn-startmenu .menu-item {
  min-height: 40px; padding: 8px 12px; border-radius: 8px;
  color: var(--m-ink); font-weight: 600; font-size: 14px;
}

.gn-modern .gn-startmenu {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100vh - var(--gn-topbar-h, 77px) - 20px);
}
.gn-modern .gn-startmenu .menu-item { flex-direction: column; align-items: stretch; }

.gn-modern .section-title { color: var(--m-ink); }
.gn-modern .hint-text { color: var(--m-sub); }

@media (min-width: 1024px) {
  .gn-modern .gn-topbar { flex-wrap: nowrap; }
}

.gn-modern #view-home .home-main { display: flex; flex-direction: column; }
.gn-modern #modComposer { order: -1; }
.gn-modern #modFeed { order: 0; }

.gn-modern #modIdentity { display: none; }

.gn-modern .gn-win-btns { display: none; }

.gn-modern .gn-win-feed .gn-win-bar { padding-bottom: 4px; }

.gn-modern button:focus-visible,
.gn-modern a:focus-visible,
.gn-modern input:focus-visible,
.gn-modern textarea:focus-visible,
.gn-modern select:focus-visible,
.gn-modern summary:focus-visible,
.gn-modern [tabindex]:focus-visible,
.gn-modern .nav-link:focus-visible,
.gn-modern .feed-tab:focus-visible,
.gn-modern .gn-chip:focus-visible {
  outline: 2px solid var(--m-blue) !important;
  outline-offset: 2px;
}

.gn-modern [tabindex="-1"]:focus-visible { outline: none !important; }

:where(.gn-modern) button {
  font-family: inherit;
  background: var(--m-card-2);
  color: var(--m-ink);
  border: 1px solid var(--m-line);
  border-radius: 8px;
  box-shadow: none;
  min-height: 36px;
  padding: 7px 12px;
}
:where(.gn-modern) button:hover { background: var(--m-raised); border-color: var(--m-line-strong); }
:where(.gn-modern) button:active { transform: translateY(0.5px); }
:where(.gn-modern) button:disabled { opacity: 0.5; box-shadow: none; }

.gn-modern .friend-add,
.gn-modern .friend-del,
.gn-modern .buddy-dm,
.gn-modern .user-block,
.gn-modern .inline-btn,
.gn-modern .link-btn {
  min-height: 0;
}
.gn-modern .link-btn {
  background: transparent; border: 0; color: #6ea0ff; padding: 0;
}

.gn-modern .popout-btn {
  min-height: 32px; padding: 5px 12px; border-radius: 8px;
  background: var(--m-card-2); border: 1px solid var(--m-line);
  color: var(--m-sub); box-shadow: none;
}

.gn-modern .buddy-panel,
.gn-modern .buddy-panel-controls { background: transparent; border: 0; box-shadow: none; }
.gn-modern .home-buddy-section { border: 0; background: transparent; margin-bottom: 6px; }

.gn-modern .buddy-group {
  background: transparent; border: 0; box-shadow: none;
  padding: 6px 2px; min-height: 0;
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--m-muted);
  display: flex; align-items: center; gap: 8px;
}

.gn-modern .buddy-list { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0; }

.gn-modern .bb-academy {
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.gn-modern .bb-academy-bar {
  background: transparent;
  border-bottom: 1px solid var(--m-line);
  padding: 12px 14px;
  gap: 12px;
}
.gn-modern .bb-academy-name { color: var(--m-ink); font-size: 15px; font-weight: 700; }
.gn-modern .bb-academy-sub { color: var(--m-sub); font-size: 12px; }
.gn-modern .bb-academy-sub code { background: var(--m-card-2); border: 1px solid var(--m-line); border-radius: 4px; padding: 0 4px; color: var(--m-sub); }
.gn-modern .bb-academy-xp { color: var(--m-sub); font-weight: 700; }
.gn-modern .bb-academy-close { background: transparent; border: 0; color: var(--m-muted); min-height: 32px; }
.gn-modern .bb-academy-close:hover { color: var(--m-ink); background: rgba(255,255,255,.06); border-radius: 8px; }
.gn-modern .bb-academy-body { padding: 16px; color: var(--m-ink); }

.gn-modern .codelab-toolbar button,
.gn-modern .codelab-collab button,
.gn-modern .codelab-toolbar .inline-btn,
.gn-modern .codelab-collab .inline-btn {
  white-space: nowrap;
  flex: 0 0 auto;
}
.gn-modern .codelab-toolbar,
.gn-modern .codelab-collab {
  row-gap: 8px;
  align-items: center;
}

.gn-modern .codelab-collab { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--m-line); }

body.gn-modern .view-rooms {
  gap: 12px;
  padding: 14px 16px 12px;
}
.gn-modern .view-rooms .message-body { min-width: 0; }
.gn-modern .view-rooms .message-meta {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  color: var(--m-sub);
  font-size: 12px;
}
.gn-modern .view-rooms .message-user {
  font-weight: 700;
  font-size: 13.5px;
}
.gn-modern .view-rooms .message-mood {
  margin: 0;
  color: var(--m-muted);
  font-size: 11.5px;
}
.gn-modern .view-rooms .message-time {
  color: var(--m-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.gn-modern .view-rooms .message-text {
  margin: 2px 0 0;
  color: var(--m-ink);
  line-height: 1.5;
}

.gn-modern .view-rooms .compose-box {
  margin: 0;
  padding: 10px;
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: 16px;
}
.gn-modern .view-rooms .compose-grid {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}
.gn-modern .view-rooms .compose-grid > button[type="submit"] {
  align-self: stretch;
  min-width: 92px;
  padding: 0 22px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #3f78ff, var(--m-blue));
  color: #fff;
  font-weight: 700;
  font-size: 13.5px;
  cursor: pointer;
  box-shadow: 0 8px 20px -10px rgba(47, 107, 255, 0.9);
  transition: filter 0.14s ease, transform 0.06s ease;
}

.gn-modern .view-rooms .chat-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--m-line-2);
}
.gn-modern .view-rooms .chat-actions > button {
  min-height: 0;
  padding: 6px 11px;
  border: 1px solid var(--m-line);
  border-radius: 9px;
  background: var(--m-card-2);
  color: var(--m-sub);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}
.gn-modern .view-rooms .chat-actions .emoji-wrap { display: inline-flex; position: relative; }
.gn-modern .view-rooms .chat-actions .emoji-btn {
  min-height: 0;
  padding: 6px 11px;
  border: 1px solid var(--m-line);
  border-radius: 9px;
  background: var(--m-card-2);
  color: var(--m-sub);
  font-size: 12px;
  font-weight: 600;
}

.gn-modern .view-rooms .private-room-box {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.gn-modern .view-rooms .private-room-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}
.gn-modern .view-rooms .private-room-column {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px;
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: 14px;
}
.gn-modern .view-rooms .private-room-column .color-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 9px;
}
.gn-modern .view-rooms .private-room-column button,
.gn-modern .view-rooms .pub-create #pubRoomCreate {
  padding: 11px 16px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(180deg, #3f78ff, var(--m-blue));
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 0 8px 20px -12px rgba(47, 107, 255, 0.9);
}

.gn-modern .view-rooms .pub-browser { padding: 0; gap: 12px; }
.gn-modern .view-rooms .pub-create,
.gn-modern .view-rooms .pub-find { gap: 9px; }

.gn-modern .view-rooms .room-invite-card {
  padding: 12px 15px;
  background: linear-gradient(180deg, var(--m-card-2), var(--m-card));
  border: 1px solid rgba(55, 198, 224, 0.4);
  border-radius: 14px;
  color: var(--m-ink);
}
.gn-modern .view-rooms .room-invite-actions button {
  padding: 7px 13px;
  border: 1px solid var(--m-line);
  border-radius: 10px;
  background: var(--m-raised);
  color: var(--m-ink);
  font-weight: 600;
  cursor: pointer;
}
.gn-modern .view-rooms .pub-chat-bar,
.gn-modern .view-rooms .private-chat-bar {
  padding: 9px 13px;
  border: 1px solid var(--m-line);
  border-radius: 12px;
  background: var(--m-card);
  color: var(--m-sub);
  font-size: 12px;
}
.gn-modern .view-rooms .pub-back {
  padding: 6px 12px;
  border: 1px solid var(--m-line);
  border-radius: 9px;
  background: var(--m-card-2);
  color: var(--m-ink);
  font-weight: 600;
  cursor: pointer;
}
.pc-friends-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 14px;
  padding: 22px 24px;
  color: #fff;
  background: linear-gradient(135deg, #082f3b, #173776 58%, #42286d);
  border: 1px solid var(--gn-line);
  border-radius: 14px;
}
.gn-modern .pc-card,
.gn-modern .pc-preview,
.gn-modern .friend-rank-list,
.gn-modern .saved-profiles {
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: 12px;
  box-shadow: none;
}

.gn-modern .pc-friends-hero { border-color: rgba(80, 116, 190, .42); }

.gn-modern #view-settings {
  padding: 24px clamp(18px, 3vw, 36px) 56px;
  scroll-behavior: smooth;
}
.gn-modern .settings-shell {
  display: grid;
  gap: 20px;
}
.gn-modern .settings-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.gn-modern .settings-content { display: grid; gap: 14px; min-width: 0; }
.gn-modern .settings-card {
  scroll-margin-top: 16px;
  padding: 20px;
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}
.gn-modern .settings-card-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.gn-modern .settings-card-header p {
  margin: 4px 0 0;
  color: var(--m-sub);
  font-size: 13px;
  line-height: 1.45;
}
.gn-modern .settings-action-list {
  margin-top: 16px;
  overflow: hidden;
  background: var(--gn-surface-sunken);
  border: 1px solid var(--m-line);
  border-radius: 12px;
}
.gn-modern .settings-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 70px;
  padding: 13px 15px;
  border-bottom: 1px solid var(--m-line-2);
}
.gn-modern .settings-action:last-child { border-bottom: 0; }
.gn-modern .settings-action button { flex: 0 0 auto; min-width: 112px; }
.gn-modern .settings-action-signoff button { color: #ff8a91; border-color: rgba(240, 97, 106, .3); }
.gn-modern .settings-wide-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 66px;
  margin-top: 16px;
  padding: 12px 15px;
  text-align: left;
  color: var(--m-ink);
  background: var(--gn-surface-sunken);
  border: 1px solid var(--m-line);
  border-radius: 11px;
  box-shadow: none;
}

.gn-modern .pc-editor-page {
  display: grid;
  gap: 20px;
  color: var(--m-ink);
}
.gn-modern .pc-page-hero,
.gn-modern .pc-status-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 150px;
  padding: 26px 28px;
  background:
    radial-gradient(circle at 88% 14%, rgba(74, 217, 255, .12), transparent 28%),
    linear-gradient(135deg, rgba(47, 107, 255, .17), rgba(20, 26, 38, .94) 58%);
  border: 1px solid rgba(79, 127, 255, .34);
  border-radius: 18px;
}
.gn-modern .pc-page-hero::after,
.gn-modern .pc-status-hero::after {
  content: "";
  position: absolute;
  right: -74px;
  bottom: -124px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(74, 217, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(74, 217, 255, .025), 0 0 0 72px rgba(47, 107, 255, .018);
  pointer-events: none;
}
.gn-modern .pc-page-hero-copy,
.gn-modern .pc-status-hero-copy,
.gn-modern .pc-page-hero > button,
.gn-modern .pc-status-hero > button { position: relative; z-index: 1; }
.gn-modern .pc-page-kicker {
  margin-bottom: 7px;
  color: #7ea6ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}
.gn-modern .pc-page-hero h2,
.gn-modern .pc-status-hero h2 {
  margin: 0;
  color: var(--m-ink);
  font-size: clamp(24px, 3vw, 31px);
  line-height: 1.14;
  letter-spacing: -.025em;
}
.gn-modern .pc-page-hero p {
  max-width: 650px;
  margin: 9px 0 0;
  color: var(--m-sub);
  font-size: 14px;
  line-height: 1.55;
}
.gn-modern .pc-page-hero > button,
.gn-modern .pc-status-hero > button { flex: 0 0 auto; }

.gn-modern .pc-persona-page { container: pc-persona / inline-size; }
.gn-modern .pc-persona-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 20px;
  align-items: start;
}
.gn-modern .pc-editor-stack { container: pc-editor / inline-size; display: grid; gap: 16px; min-width: 0; }
.gn-modern .pc-settings-card,
.gn-modern .pc-live-card,
.gn-modern .pc-surface-section {
  padding: 21px;
  background: var(--m-card);
  border: 1px solid var(--m-line);
  border-radius: 15px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}
.gn-modern .pc-settings-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 20px;
}
.gn-modern .pc-save-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 17px;
  background: linear-gradient(90deg, rgba(47, 107, 255, .12), rgba(47, 107, 255, .03));
  border: 1px solid rgba(79, 127, 255, .26);
  border-radius: 13px;
}
.gn-modern .pc-surface-head .pc-page-kicker { margin-bottom: 5px; }

.gn-modern .pc-status-hero {
  justify-content: flex-start;
  min-height: 158px;
}
.gn-modern .pc-appearance-card { padding-bottom: 19px; }
.gn-modern .pc-appearance-head { grid-template-columns: auto minmax(0, 1fr) auto; }
.gn-modern .pc-appearance-head .link-btn { align-self: center; white-space: nowrap; }

body.gn-modern:not(.dark) {
  --m-bg: #f3f6fb;
  --m-sidebar: #ffffff;
  --m-card: #ffffff;
  --m-card-2: #f5f7fb;
  --m-raised: #edf1f7;
  --m-line: #dce3ee;
  --m-line-2: #e8edf4;
  --m-line-strong: #c3cee0;
  --m-ink: #182033;
  --m-sub: #536178;
  --m-muted: #7d899b;
  --m-blue-soft: rgba(47, 107, 255, .1);
  --gn-surface-sunken: #f8fafd;
  --win-gray: #ffffff;
  --win-mid: #f5f7fb;
  --win-light: #ffffff;
  --win-dark: #b5bfce;
  --win-black: #182033;
  color-scheme: light;
}

body.gn-modern:not(.dark) .pc-page-hero,
body.gn-modern:not(.dark) .pc-status-hero,
body.gn-modern:not(.dark) .settings-hero {
  background:
    radial-gradient(circle at 88% 14%, rgba(74, 217, 255, .18), transparent 28%),
    linear-gradient(135deg, rgba(47, 107, 255, .12), rgba(255, 255, 255, .94) 62%);
}
@media (max-width: 720px) {
  .gn-modern .pc-page-hero,
.gn-modern .pc-status-hero { align-items: flex-start; flex-wrap: wrap; padding: 21px; }
}
@media (max-width: 520px) {
  .gn-modern .pc-page-hero,
.gn-modern .pc-status-hero { gap: 14px; min-height: 0; padding: 18px; }
  .gn-modern .pc-page-hero > button,
.gn-modern .pc-status-hero > button { width: 100%; }
}

:root {

  --academy-bg: #0a0e14;
  --academy-surface: #10151d;
  --academy-surface-2: #161d27;
  --academy-raised: #1c2431;
  --academy-ink: #edf1f6;
  --academy-sub: #a8b3c2;
  --academy-muted: #7e8b9c;
  --academy-line: #1e2633;
  --academy-line-soft: #161d27;
  --academy-blue: #5b8cff;
  --academy-blue-strong: #7aa2ff;
  --academy-blue-dark: #3d66c9;
  --academy-blue-soft: rgba(91, 140, 255, .14);
  --academy-green: #3ecf8e;
  --academy-amber: #e0b875;
  --academy-danger: #f0506e;
  --academy-hair-ink: #2e3a4c;
  --academy-radius: 4px;
  --academy-radius-sm: 3px;
  --academy-sans: var(--gn-description);
  --academy-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, "Courier New", monospace;
}

body.academy-gateway-open {
  min-width: 0;
  overflow: auto;
  background: var(--academy-bg);
  color: var(--academy-ink);
}

body.academy-gateway-open .toast-container { display: none !important; }
.academy-gateway[hidden],
#appDesktop[hidden] { display: none !important; }
.academy-gateway {
  min-height: 100vh;
  background: var(--academy-bg);
  color: var(--academy-ink);
  font-family: var(--academy-sans);
  font-size: 16px;
  line-height: 1.5;
}
.academy-gateway *,
.academy-dashboard * { box-sizing: border-box; }
.academy-gateway button,
.academy-dashboard button,
.academy-gateway input,
.academy-gateway select,
.academy-gateway textarea {
  font: inherit;
}
.academy-gateway button,
.academy-dashboard button { cursor: pointer; }
.academy-gateway button:focus-visible,
.academy-gateway a:focus-visible,
.academy-gateway input:focus-visible,
.academy-gateway textarea:focus-visible,
.academy-gateway select:focus-visible,
.academy-dashboard button:focus-visible {
  outline: 2px solid var(--academy-blue);
  outline-offset: 2px;
}

.academy-gateway h1[tabindex="-1"]:focus,
.academy-gateway h1[tabindex="-1"]:focus-visible,
.academy-gateway h2[tabindex="-1"]:focus,
.academy-gateway h2[tabindex="-1"]:focus-visible,
.academy-dashboard h1[tabindex="-1"]:focus,
.academy-dashboard h1[tabindex="-1"]:focus-visible { outline: none !important; }
.academy-skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  transform: translateY(-150%);
  border-radius: 5px;
  background: #fff;
  color: #08101d;
  font-weight: 600;
}
.academy-skip-link:focus { transform: none; }
.academy-gateway-header {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 clamp(24px, 5vw, 76px);
  border-bottom: 1px solid var(--academy-line);
  background: rgba(8, 11, 16, .96);
}
.academy-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--academy-ink);
  text-decoration: none;
}
.academy-wordmark img { width: 40px; height: 40px; object-fit: contain; }
.academy-wordmark span { display: grid; line-height: 1; }
.academy-wordmark strong { font-size: 18px; letter-spacing: .18em; }
.academy-wordmark small { margin-top: 6px; color: var(--academy-sub); font-size: 10px; font-weight: 600; letter-spacing: .2em; }
.academy-gateway-nav { display: flex; align-items: center; gap: 5px; }
.academy-menu-toggle { display: none; }
.academy-header-link {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: var(--academy-sub);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
}
.academy-header-link:hover { background: var(--academy-surface-2); color: var(--academy-ink); }
.academy-header-campus { margin-left: 8px; border: 1px solid var(--academy-line); }
.academy-gateway-main { outline: none; }

.gn-modern .academy-nav-link { background: rgba(111, 147, 255, .08); }
.gn-modern .academy-nav-monogram {
  display: inline-grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border: 1px solid #6f93ff;
  border-radius: var(--r-ctl, 10px);
  color: #9cb2ff;
  font: 600 11px var(--academy-mono);
}
.academy-dashboard-view { background: var(--academy-bg); }
.academy-dashboard {
  --r-card: 14px;
  --r-ctl: 10px;
  --r-chip: 8px;
  --academy-display: var(--gn-display);
  --academy-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --academy-serif: var(--gn-display);
  --academy-bg: #fff;
  --academy-surface: #fff;
  --academy-surface-2: #fff;
  --academy-raised: #fff;
  --academy-ink: #0a1f3d;
  --academy-sub: #4d5a6a;
  --academy-muted: #677382;
  --academy-line: #d7dde5;
  --academy-blue: #0a315d;
  --academy-blue-strong: #0a315d;
  --academy-green: #1d6b3f;
  display: grid;
  align-content: start;
  gap: 22px;
  width: 100%;
  max-width: none;
  min-height: 100%;
  margin: 0 auto;
  padding: 32px 24px 72px;
  color: var(--academy-ink);
  font-family: var(--academy-sans, "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif);
}

.academy-dashboard { border-radius: 0; }
body.gn-modern .academy-dashboard button { border-radius: var(--r-ctl, 10px); box-shadow: none; }
body.gn-modern .academy-dashboard .academy-class-card { border-radius: var(--r-chip, 8px); }

body.gn-modern .academy-dashboard .academy-btn { min-height: 44px; padding: 0 19px; font-size: 14px; }
.academy-dashboard-loading { display: grid; min-height: 60vh; place-content: center; color: var(--academy-muted); text-align: center; }
.academy-dashboard-loading span { width: 36px; height: 3px; margin: auto; background: var(--academy-blue); animation: academyDashboardLoad 1s ease-in-out infinite alternate; }
@keyframes academyDashboardLoad { to { opacity: .28; transform: scaleX(.45); } }

.academy-dash-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 0 0 4px; }
.academy-dash-head h1 {
  margin: 0;
  color: var(--academy-ink);
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.08;
}
.academy-dash-standing { display: grid; flex: 0 0 auto; gap: 3px; padding: 12px 16px; border: 1px solid var(--academy-line); background: var(--academy-surface); }
.academy-dash-standing strong { color: var(--academy-blue-strong); font-size: 13px; font-weight: 600; }
.academy-dash-standing:not([data-tier="pro"]) strong { color: var(--academy-sub); }
.academy-dash-standing span { color: var(--academy-muted); font-size: 11px; line-height: 1.45; }

.academy-dash-grid { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(310px, .78fr); gap: 14px; align-items: start; }
.academy-record { padding: 26px; border: 1px solid var(--academy-line); border-top: 2px solid var(--academy-blue); background: var(--academy-surface); }
.academy-record h2,
.academy-credential h2 { margin: 0; color: var(--academy-ink); font-size: 21px; font-weight: 600; }

.academy-class-list { display: grid; margin-top: 18px; border: 1px solid var(--academy-line); border-bottom: 0; }
.academy-class-card {
  display: grid;
  grid-template-columns: 34px minmax(200px, 1fr) minmax(150px, 190px) 24px;
  gap: 15px;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 16px;
  border: 0;
  border-bottom: 1px solid var(--academy-line);
  color: inherit;
  background: var(--academy-surface-2);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.academy-class-card:hover { background: #f6f8fa; }
.academy-class-card:hover .academy-class-go { color: var(--academy-blue-strong); transform: translateX(3px); }
.academy-class-card:focus-visible { outline: 2px solid var(--academy-blue); outline-offset: -2px; }
.academy-class-go {
  color: #4a5c72;
  font-size: 15px;
  text-align: right;
  transition: transform .15s ease, color .15s ease;
}
.academy-class-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--academy-line);
  background: var(--academy-raised);
  color: var(--academy-blue-strong);
  font: 700 10px var(--academy-mono);
}
.academy-class-copy { display: grid; gap: 4px; min-width: 0; }
.academy-class-copy strong { color: var(--academy-ink); font-size: 15px; font-weight: 600; line-height: 1.35; }
.academy-class-tag {
  display: inline-block;
  padding: 2px 6px;
  border: 1px solid #b9c6d6;
  color: var(--academy-blue-strong);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  vertical-align: 2px;
}
.academy-class-copy > span {
  overflow: hidden;
  color: var(--academy-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.academy-class-card[data-locked="true"] .academy-class-progress,
.academy-class-card[data-locked="true"] .academy-class-number { opacity: .55; }
.academy-class-progress { display: grid; gap: 6px; }
.academy-class-progress > strong { color: var(--academy-ink); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.academy-dash-bar { display: grid; grid-template-columns: repeat(10, 1fr); gap: 2px; height: 6px; }
.academy-dash-bar i { background: #dfe5ec; }
.academy-dash-bar i.active { background: var(--academy-blue); }

.academy-record-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #061b35;
  border-left: 3px solid #3f6ce0;
  background: #0a2342;
}
.academy-record-next small {
  display: block;
  color: #9fb3cc;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.academy-record-next strong { display: block; margin-top: 4px; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.3; }
.academy-record-next span { display: block; margin-top: 4px; color: #c3d2e6; font-size: 11px; }

.academy-record-next .academy-btn-primary { border: 1px solid #6f93ff; background: #3f6ce0; color: #fff; font-weight: 600; white-space: nowrap; }
.academy-record-next .academy-btn-primary:hover { background: #335ac8; }

.academy-credential { display: grid; align-content: start; gap: 14px; padding: 26px; border: 1px solid var(--academy-line); background: var(--academy-surface); }
.academy-credential-name {
  display: block;
  padding: 14px 15px;
  border: 1px solid var(--academy-line);
  background: var(--academy-raised);
  color: var(--academy-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}
.academy-credential-path { margin: 0; color: var(--academy-sub); font-size: 12px; line-height: 1.6; }
.academy-dash-blueprint { margin: 0; border-top: 1px solid var(--academy-line); }
.academy-dash-blueprint > div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--academy-line); font-size: 11px; font-weight: 500; }
.academy-dash-blueprint span { color: var(--academy-muted); }
.academy-dash-blueprint strong { color: var(--academy-sub); }
.academy-credential-note { margin: 0; color: var(--academy-muted); font-size: 11px; line-height: 1.55; }
.academy-credential .academy-btn-secondary { border: 1px solid var(--academy-line); background: var(--academy-raised); color: var(--academy-sub); font-weight: 600; }
.academy-credential .academy-btn-secondary:hover { border-color: var(--academy-blue); background: #f6f8fa; color: var(--academy-ink); }

@media (max-width: 1390px) {
  .academy-dash-grid { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); }
}
@media (max-width: 1180px) {
  .academy-dash-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .academy-class-card { grid-template-columns: 34px minmax(0, 1fr) 24px; }
  .academy-class-progress { grid-column: 2; max-width: 260px; }
  .academy-class-go { grid-column: 3; grid-row: 1 / 3; }
}

.academy-dash-lede { display: grid; gap: 8px; min-width: 0; }
.academy-dash-kicker { color: var(--academy-blue-strong); font: 700 12px var(--academy-mono); letter-spacing: .16em; }
.academy-dash-sub { margin: 0; max-width: 56ch; color: var(--academy-sub); font-size: 13.5px; line-height: 1.55; }

.academy-dashboard .academy-dash-standing { cursor: pointer; text-align: left; font: inherit; color: inherit; transition: background .15s ease, border-color .15s ease; }
.academy-dashboard .academy-dash-standing:hover { border-color: var(--academy-blue); background: var(--academy-raised); }
.academy-standing-rank { display: flex; align-items: center; gap: 7px; margin-top: 4px; color: var(--academy-ink); font: 600 10.5px var(--academy-mono); letter-spacing: .06em; }
.academy-standing-rank svg { flex: 0 0 auto; color: var(--academy-blue-strong); }

.academy-standing {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(300px, 1fr);
  overflow: hidden;
  border: 1px solid var(--academy-line);
  background: var(--academy-surface);
}

.academy-dashboard .academy-standing-ladder {
  display: grid;
  gap: 4px;
  align-content: start;
  padding: 19px 24px 17px;
  border-right: 1px solid var(--academy-line);
}
.academy-dashboard :is(.academy-ladder-rail, .academy-standing-stats .academy-stat):focus-visible {
  outline-offset: -3px;
}
.academy-standing-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 8px; }
.academy-standing-head strong { color: var(--academy-ink); font: 700 17px var(--academy-mono); letter-spacing: .1em; }
.academy-dashboard .academy-ladder-rail {
  display: grid;
  gap: 16px;
  margin: 0 -12px;
  padding: 17px 12px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease;
}
.academy-dashboard .academy-ladder-rail:hover { background: var(--academy-surface-2); }
.academy-rail-head { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.academy-rail-label { color: var(--academy-ink); font: 700 14px var(--academy-mono); letter-spacing: .1em; }

.academy-rail-kind { color: var(--academy-muted); font: 600 11px var(--academy-mono); letter-spacing: .1em; margin-right: auto; }
.academy-rail-next { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.academy-rail-next strong { color: var(--academy-ink); font: 700 13.5px var(--academy-mono); letter-spacing: .02em; white-space: nowrap; }

.academy-standing-row { display: flex; align-items: flex-start; }
.academy-rank-node { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); flex: 1; justify-items: center; gap: 11px; min-width: 0; }
.academy-rank-node::before { content: ""; position: absolute; top: 5.5px; right: calc(50% + 11px); width: calc(100% - 22px); height: 1px; background: var(--academy-line); }
.academy-rank-node:first-child::before { display: none; }
.academy-rank-node:is([data-state="earned"], [data-state="current"])::before { top: 5px; height: 2px; background: var(--academy-ink); opacity: .55; }

.academy-rank-tile {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 1.5px solid var(--academy-line);
  border-radius: var(--r-chip, 8px);
  background: transparent;
  transition: border-color .15s ease, background .15s ease;
}
.academy-rank-name { color: var(--academy-muted); font: 600 11.5px var(--academy-mono); letter-spacing: .03em; text-align: center; }
.academy-rank-node[data-state="locked"] { opacity: .55; }
.academy-rank-node[data-state="locked"] .academy-rank-tile { border-color: var(--academy-muted); }
.academy-rank-node[data-state="next"] .academy-rank-tile { border-color: var(--academy-sub); }
.academy-rank-node[data-state="next"] .academy-rank-name { color: var(--academy-sub); }
.academy-rank-node[data-state="earned"] .academy-rank-tile { border-color: var(--academy-ink); background: var(--academy-ink); }
.academy-rank-node[data-state="earned"] .academy-rank-name { color: var(--academy-sub); }
.academy-rank-node[data-state="current"] .academy-rank-tile {
  border-color: var(--academy-ink);
  background: var(--academy-ink);
  outline: 1.5px solid var(--academy-ink);
  outline-offset: 3px;
}
.academy-rank-node[data-state="current"] .academy-rank-name { color: var(--academy-ink); }

.academy-rank-tile[data-belt]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--academy-line); box-shadow: 0 0 0 1px var(--academy-hair-ink); }
.academy-rank-tile[data-belt="white"]::after { background: #e8f6ff; }
.academy-rank-tile[data-belt="yellow"]::after { background: #ffd84d; }
.academy-rank-tile[data-belt="orange"]::after { background: #ff9f43; }
.academy-rank-tile[data-belt="green"]::after { background: #2ecc71; }
.academy-rank-tile[data-belt="blue"]::after { background: #4a90e2; }
.academy-rank-tile[data-belt="black"]::after { background: #9b8cff; }

.academy-rank-node:is([data-state="next"], [data-state="locked"]) .academy-rank-tile[data-belt]::after { display: none; }

.academy-standing-stats { display: grid; grid-template-columns: 1fr; }
.academy-standing-stats .academy-stat {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  justify-items: center;
  row-gap: 4px;
  min-height: 0;
  padding: 14px 22px;
  border: 0;
  border-left: 1px solid var(--academy-line);
  border-bottom: 1px solid var(--academy-line);
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: background .15s ease;
}
.academy-standing-stats .academy-stat:last-child { border-bottom: 0; }
.academy-standing-stats .academy-stat:hover { background: var(--academy-surface-2); }
.academy-standing-stats:only-child { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
.academy-standing-stats:only-child .academy-stat { border-bottom: 0; }
.academy-standing-stats:only-child .academy-stat:first-child { border-left: 0; }
.academy-stat-num { color: var(--academy-ink); font-size: 28px; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.academy-stat-num small { color: var(--academy-muted); font-size: 15px; font-weight: 500; }
.academy-stat-label { color: var(--academy-sub); font-size: 15px; font-weight: 600; line-height: 1.2; text-align: center; }

.academy-wall { padding: 26px; border: 1px solid var(--academy-line); background: var(--academy-surface); }
.academy-wall h2 { margin: 0; color: var(--academy-ink); font-size: 21px; font-weight: 600; }
.academy-wall-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.academy-wall-meta { display: flex; align-items: baseline; gap: 14px; color: var(--academy-muted); font-size: 11.5px; }
.academy-wall-meta strong { color: var(--academy-ink); font-weight: 600; }
.academy-wall-verified { color: var(--academy-green); font: 600 9.5px var(--academy-mono); letter-spacing: .1em; }
.academy-wall-group { display: grid; gap: 11px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--academy-line); }
.academy-wall-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.academy-wall-group-head strong { color: var(--academy-sub); font: 600 10px var(--academy-mono); letter-spacing: .16em; }
.academy-dashboard .academy-wall-open { min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--academy-muted); font: 500 11px var(--academy-sans, inherit); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; cursor: pointer; }
.academy-dashboard .academy-wall-open:hover { color: var(--academy-blue-strong); background: none; }
.academy-wall-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.academy-dashboard .academy-wall-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 8px 10px;
  border: 1px solid var(--academy-line);
  border-radius: var(--r-chip, 8px);
  background: var(--academy-raised);
  color: var(--academy-ink);
  font: 500 12px var(--academy-sans, inherit);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.academy-dashboard .academy-wall-chip:hover { border-color: var(--academy-blue); background: var(--academy-surface-2); }
.academy-dashboard .academy-wall-chip[data-state="locked"] { opacity: .45; border-style: dashed; }
.academy-dashboard .academy-wall-chip[data-state="locked"]:hover { opacity: .85; }
.academy-wall-mark { flex: 0 0 auto; color: var(--academy-blue-strong); }
.academy-wall-emoji { font-size: 14px; line-height: 1; }
.academy-wall-name { font-weight: 500; }
.academy-wall-hint { color: var(--academy-muted); font-size: 10px; }
.academy-wall-check { color: var(--academy-green); font-size: 11px; }
.academy-belt-swatch { flex: 0 0 auto; width: 11px; height: 11px; border: 1px solid var(--academy-hair-ink); border-radius: 0; }
.academy-belt-swatch[data-belt="white"] { background: #e8f6ff; }
.academy-belt-swatch[data-belt="yellow"] { background: #ffd84d; }
.academy-belt-swatch[data-belt="orange"] { background: #ff9f43; }
.academy-belt-swatch[data-belt="green"] { background: #2ecc71; }
.academy-belt-swatch[data-belt="blue"] { background: #4a90e2; }
.academy-belt-swatch[data-belt="black"] { background: #9b8cff; }
.academy-cert-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.academy-dashboard .academy-cert-chip {
  display: grid;
  gap: 5px;
  align-content: start;
  padding: 13px 14px;
  border: 1px solid var(--academy-line);
  border-radius: var(--r-chip, 8px);
  background: var(--academy-raised);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.academy-dashboard .academy-cert-chip:hover { border-color: var(--academy-blue); background: var(--academy-surface-2); }
.academy-cert-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.academy-cert-prefix { padding: 2px 7px; border: 1px solid var(--academy-line); border-radius: 0; color: var(--academy-blue-strong); font: 700 8.5px var(--academy-mono); letter-spacing: .1em; white-space: nowrap; }
.academy-cert-state { color: var(--academy-green); font: 600 9.5px var(--academy-mono); letter-spacing: .08em; }
.academy-cert-chip[data-state="ready"] .academy-cert-state { color: var(--academy-blue-strong); }
.academy-cert-title { color: var(--academy-ink); font-size: 12.5px; font-weight: 600; line-height: 1.4; }
.academy-cert-serial { color: var(--academy-muted); font: 500 9.5px var(--academy-mono); letter-spacing: .03em; overflow-wrap: anywhere; }
.academy-dashboard .academy-cert-browse { border-style: dashed; align-content: center; text-align: center; color: var(--academy-muted); }
.academy-dashboard .academy-cert-browse:hover { color: var(--academy-ink); }
.academy-cert-browse .academy-cert-title { color: inherit; }
.academy-wall-empty { margin: 15px 0 0; color: var(--academy-sub); font-size: 12.5px; }
.academy-wall-foot { margin: 16px 0 0; color: var(--academy-muted); font-size: 10.5px; line-height: 1.5; }

@media (max-width: 1180px) {
  .academy-standing { grid-template-columns: 1fr; }
  .academy-dashboard .academy-standing-ladder { border-right: 0; border-bottom: 1px solid var(--academy-line); }

  .academy-standing-stats, .academy-standing-stats:only-child { grid-template-columns: 1fr 1fr; }
  .academy-standing-stats .academy-stat { border-left: 0; }
  .academy-standing-stats .academy-stat:nth-child(even) { border-left: 1px solid var(--academy-line); }
  .academy-standing-stats:only-child .academy-stat:nth-child(-n+2) { border-bottom: 1px solid var(--academy-line); }
  .academy-standing-stats .academy-stat:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 620px) {
  .academy-dashboard { gap: 17px; padding: 18px 16px 52px; }
  .academy-dash-head { flex-direction: column; align-items: stretch; gap: 14px; padding: 0; }
  .academy-record,
  .academy-credential { padding: 20px; }
  .academy-class-card { grid-template-columns: 32px minmax(0, 1fr) 20px; }
  .academy-class-progress { grid-column: 1 / -1; }
  .academy-class-go { grid-column: 3; grid-row: 1; }
  .academy-class-copy > span { white-space: normal; }
  .academy-record-next { flex-direction: column; align-items: stretch; }
  .academy-record-next .academy-btn { width: 100%; }

  body.gn-modern .academy-dashboard .academy-standing .academy-standing-ladder { padding: 17px 20px 15px; }
  .academy-standing-head { flex-wrap: wrap; }
  .academy-rail-head { flex-wrap: wrap; }
  .academy-wall-group-head { flex-wrap: wrap; }

  .academy-rank-node:not([data-state="current"]) .academy-rank-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .academy-rank-node[data-state="current"] .academy-rank-name { white-space: nowrap; }

  .academy-standing-row:not(:has([data-state="current"])) .academy-rank-node[data-state="next"] .academy-rank-name { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }

  body.gn-modern .academy-dashboard .academy-standing-stats .academy-stat { grid-template-columns: 1fr; row-gap: 2px; }
  body.gn-modern .academy-dashboard .academy-standing .academy-standing-stats .academy-stat { padding: 14px 16px; }

  body.gn-modern .academy-dashboard .academy-standing-stats .academy-stat-label { font-size: 16px; }
  .academy-wall { padding: 20px; }
  .academy-cert-row { grid-template-columns: 1fr; }
}

.academy-dashboard .academy-resume { margin: 4px 0 0; }
.academy-dashboard :is(.academy-resume-title, .academy-cohorts-title) { margin: 0 0 10px; color: var(--academy-sub); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.academy-dashboard .academy-resume .academy-record-next { margin-top: 0; }

.academy-dashboard .academy-cohorts-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0 0 10px; }
.academy-dashboard .academy-cohorts-head .academy-cohorts-title { margin: 0; }
.academy-dashboard .academy-cohorts-all { min-height: 24px; padding: 4px 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--academy-ink); font: 500 13px var(--academy-sans, inherit); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; cursor: pointer; }
.academy-dashboard .academy-cohorts-all:hover { background: none; text-decoration-thickness: 2px; }
.academy-dashboard .academy-cohorts-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--academy-line); }
.academy-dashboard .academy-cohort-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 28px; padding: 18px 0; border-bottom: 1px solid var(--academy-line); }
.academy-dashboard .academy-cohort-body { display: grid; justify-items: start; gap: 4px; min-width: 0; }
.academy-dashboard .academy-cohort-name { color: var(--academy-ink); font-size: 18px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.academy-dashboard .academy-cohort-when { color: var(--academy-ink); font-size: 15px; font-weight: 500; }
.academy-dashboard .academy-cohort-bar { width: min(100%, 420px); height: 6px; margin: 4px 0 2px; accent-color: var(--academy-blue-strong); }
.academy-dashboard .academy-cohort-meta { color: var(--academy-sub); font-size: 14px; }
.academy-dashboard .academy-cohort-note { margin: 2px 0 0; max-width: 72ch; color: var(--academy-ink); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .academy-dashboard .academy-cohort-row { grid-template-columns: minmax(0, 1fr); }
  .academy-dashboard .academy-cohort-row .academy-btn { width: 100%; }
}

.help-center-view {
  --help-center-card: var(--m-card, #101722);
  --help-center-card-2: var(--m-card-2, #151e2c);
  --help-center-line: var(--m-line, #253044);
  --help-center-text: var(--m-ink, #edf3fb);
  --help-center-sub: var(--m-sub, #a8b4c7);
  --help-center-muted: var(--m-muted, #748198);
  --help-center-blue: var(--m-blue, #477dff);
  color: var(--help-center-text);
}
.help-center-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 18px;
  padding: 26px 28px;
  border: 1px solid rgba(83, 120, 204, .38);
  border-radius: 16px;
  background:
    radial-gradient(circle at 82% 20%, rgba(71, 125, 255, .22), transparent 34%),
    linear-gradient(135deg, #111b2b, #0c121d 62%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .24);
}
.help-center-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}
.gn-modern .help-center-actions button,
.gn-modern .help-promo-form button,
.gn-modern .help-bb-form button {
  min-height: 42px;
  border-radius: 9px;
}
.gn-modern .help-center-actions .help-primary-action,
.gn-modern .help-promo-form button,
.gn-modern .help-bb-form button {
  border-color: #5c87ff;
  background: #477dff;
  color: #fff;
  font-weight: 800;
}
.help-center-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(270px, 1fr);
  align-items: start;
  gap: 18px;
}
.help-center-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.help-faq,
.help-resource-grid,
.help-bb-panel {
  border: 1px solid var(--help-center-line);
  border-radius: 14px;
  background: var(--help-center-card);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .16);
}
.help-promo-form {
  display: grid;
  gap: 7px;
  padding-top: 18px;
  border-top: 1px solid var(--help-center-line);
}
.help-promo-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}
.help-faq,
.help-resource-grid {
  padding: 22px 24px;
}
.help-faq-list {
  display: grid;
  gap: 8px;
}
.help-faq details {
  border: 1px solid var(--help-center-line);
  border-radius: 10px;
  background: var(--help-center-card-2);
}
.help-promo-details {
  padding: 14px 15px 16px;
}
.help-promo-details .help-promo-form {
  margin-top: 14px;
  padding-top: 14px;
}
.help-resource-grid > div:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.gn-modern .help-resource-grid button {
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 13px;
  text-align: left;
  border-color: var(--help-center-line);
  background: var(--help-center-card-2);
}
.help-bb-panel {
  position: sticky;
  top: 0;
  display: grid;
  gap: 13px;
  padding: 17px;
  overflow: hidden;
  border-top: 3px solid #6e93ff;
  background:
    radial-gradient(circle at 84% 5%, rgba(71, 125, 255, .14), transparent 28%),
    #0d141f;
}
.help-bb-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.gn-modern .help-bb-prompts button {
  min-height: 36px;
  padding: 5px 8px;
  border-color: #30415e;
  background: #111b29;
  color: #9fb0cb;
  font-size: 11px;
}
.help-bb-form {
  display: grid;
  gap: 7px;
}

body.academy-help-open { overflow: hidden; }
body .academy-help-fab {
  position: fixed;
  z-index: 29990;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(64px, calc(env(safe-area-inset-bottom) + 16px));
  display: grid;
  width: 68px;
  height: 68px;
  min-width: 0;
  min-height: 0;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  appearance: none;
  background: transparent;
  box-shadow: none;
  color: transparent;
  cursor: grab;
  touch-action: none;
  user-select: none;
  transition: none;
}
body .academy-help-fab:hover,
body .academy-help-fab:focus-visible,
body .academy-help-fab:active {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  transform: none;
}
body .academy-help-fab:focus-visible {
  outline: 3px solid #9eb1ff;
  outline-offset: 4px;
}
body .academy-help-fab.is-dragging {
  cursor: grabbing;
}
body .academy-help-fab img {
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .5)) drop-shadow(0 0 12px rgba(68, 123, 255, .28));
  object-fit: contain;
  pointer-events: none;
  transition: filter .16s ease, transform .16s ease;
}
body .academy-help-fab:hover img,
body .academy-help-fab:focus-visible img {
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .55)) drop-shadow(0 0 18px rgba(75, 135, 255, .46));
  transform: scale(1.045);
}
body .academy-help-fab.is-dragging img {
  transform: scale(.97);
}
body .academy-help-fab-label {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  padding: 6px 9px;
  border: 1px solid #33435c;
  border-radius: 5px;
  background: #0a1019;
  color: #d8e2f2;
  font: 700 10px/1 var(--academy-sans, "Segoe UI", sans-serif);
  letter-spacing: .04em;
  opacity: 0;
  pointer-events: none;
  transform: translate(5px, -50%);
  transition: opacity .15s ease, transform .15s ease;
  white-space: nowrap;
}
body .academy-help-fab:hover .academy-help-fab-label,
body .academy-help-fab:focus-visible .academy-help-fab-label {
  opacity: 1;
  transform: translate(0, -50%);
}
.academy-help-overlay {
  position: fixed;
  z-index: 30000;
  inset: 0;
  display: grid;
  place-items: end;
  padding: 20px;
  background: rgba(2, 5, 10, .72);
  backdrop-filter: blur(5px);
}
.academy-help-overlay[hidden] { display: none; }
.academy-help-panel {
  --help-bg: #0a0f17;
  --help-surface: #101824;
  --help-surface-2: #151f2e;
  --help-line: #2d3a50;
  --help-text: #edf3fb;
  --help-sub: #9aa9bd;
  --help-blue: #7798ff;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
  width: min(520px, 100%);
  height: min(780px, calc(100vh - 40px));
  overflow: hidden;
  border: 1px solid #3a4961;
  border-top: 3px solid var(--help-blue);
  border-radius: 10px;
  background: var(--help-bg);
  color: var(--help-text);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .58);
  font-family: var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
  animation: academyHelpIn .18s ease-out;
}
@keyframes academyHelpIn {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
.academy-help-panel * { box-sizing: border-box; }
.academy-help-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 79px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--help-line);
  background: #0d141f;
}
.academy-help-identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.academy-help-identity img { width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 0 0 1px #425274, 0 0 24px rgba(111, 147, 255, .22); }
.academy-help-identity span { display: block; margin-bottom: 3px; color: #93aaff; font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.academy-help-identity h2 { margin: 0; color: var(--help-text); font-size: 20px; letter-spacing: -.02em; }
.academy-help-identity .academy-help-bot-type {
  display: inline-flex;
  margin: 7px 0 0;
  padding: 3px 6px;
  border: 1px solid #425274;
  border-radius: 999px;
  background: #111b2a;
  color: #b9c8f5;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .11em;
}
.academy-help-close {
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid #3a485e;
  border-radius: 5px;
  background: #121b28;
  color: #b9c5d5;
  font: 700 12px inherit;
  cursor: pointer;
}
.academy-help-close:hover { border-color: #60718c; color: #fff; }
.academy-help-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--help-line);
  background: #101722;
}
.academy-help-context span { color: #91a1b8; font-size: 10px; font-weight: 600; letter-spacing: .11em; }
.academy-help-context strong { overflow: hidden; color: #c3cede; font-size: 11px; font-weight: 700; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.academy-help-log {
  display: flex;
  flex-direction: column;
  gap: 13px;
  min-height: 0;
  padding: 18px;
  overflow-y: auto;
  scrollbar-color: #3b4a61 transparent;
}
.academy-help-message {
  width: min(92%, 440px);
  padding: 13px 14px;
  border: 1px solid var(--help-line);
  border-radius: 8px;
  background: var(--help-surface);
}
.academy-help-message.is-user { align-self: flex-end; border-color: #405a91; background: #15213a; }
.academy-help-message.is-guide { align-self: flex-start; border-left: 3px solid var(--help-blue); }
.academy-help-message-head { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.academy-help-message-head img { width: 19px; height: 19px; border-radius: 50%; }
.academy-help-message-label { display: block; margin-bottom: 6px; color: #9ab0fa; font-size: 10px; font-weight: 600; letter-spacing: .1em; }
.academy-help-message-head .academy-help-message-label { margin: 0; }
.academy-help-message-title { display: block; margin-bottom: 6px; color: #f2f6fc; font-size: 13px; line-height: 1.35; }
.academy-help-message p { margin: 0; color: #c1ccda; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.academy-help-message ol { display: grid; gap: 5px; margin: 10px 0 0; padding-left: 20px; color: #b7c3d3; font-size: 11px; line-height: 1.5; }
.academy-help-message pre {
  margin: 11px 0 0;
  padding: 11px;
  overflow-x: auto;
  border: 1px solid #2e3c51;
  border-radius: 5px;
  background: #070b11;
  color: #cbd7e7;
  font: 11px/1.55 var(--academy-mono);
  white-space: pre;
}
.academy-help-message-note { display: block; margin-top: 10px; color: #95a5ba; font-size: 10px; line-height: 1.45; }
.academy-help-starters { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 18px 13px; }
.academy-help-starters button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #34445c;
  border-radius: var(--academy-radius-sm, 3px);
  background: #101824;
  color: #9eafc5;
  font: 700 11px inherit;
  cursor: pointer;
}
.academy-help-starters button:hover { border-color: #6079bd; color: #e8eff9; }
.academy-help-composer {
  display: grid;
  gap: 9px;
  padding: 14px 18px;
  border-top: 1px solid var(--help-line);
  background: #0d141f;
}
.academy-help-composer > label { display: grid; gap: 6px; color: #c7d2e0; font-size: 11px; font-weight: 600; }
.academy-help-composer textarea {
  width: 100%;
  min-height: 69px;
  max-height: 150px;
  resize: vertical;
  padding: 10px 11px;
  border: 1px solid #40506a;
  border-radius: 6px;
  background: #070c13;
  color: #f0f5fc;
  font: 13px/1.5 inherit;
}
.academy-help-composer textarea::placeholder { color: #8999b0; }
.academy-help-composer textarea:focus,
.academy-help-panel button:focus-visible { outline: 2px solid #7798ff; outline-offset: 2px; }
.academy-help-composer-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.academy-help-attach { display: flex; flex: 1 1 auto; align-items: center; gap: 7px; min-width: 0; color: #aebbcf; font-size: 11px; }
.academy-help-attach input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #7798ff;
}
.academy-help-attach span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.academy-help-send {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #7898ff;
  border-radius: 5px;
  background: #6f93ff;
  color: #07101f;
  font: 700 12px inherit;
  cursor: pointer;
}
.academy-help-send:hover { background: #91aaff; }
.academy-help-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 18px;
  border-top: 1px solid var(--help-line);
  background: #0a1019;
}
.academy-help-footer p { margin: 0; color: #9aa9bd; font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; }
.academy-help-footer button { flex: 0 0 auto; min-height: 36px; padding: 0; border: 0; background: transparent; color: #a6b9ff; font: 600 11px inherit; cursor: pointer; }
.academy-help-footer button:hover { color: #c8d4ff; text-decoration: underline; }

.academy-help-footer p { margin-right: auto; }
.academy-help-footer .academy-help-mail { flex: 0 0 auto; min-height: 36px; display: inline-flex; align-items: center; color: #a6b9ff; font: 600 11px/1 inherit; text-decoration: none; }
.academy-help-footer .academy-help-mail:hover { color: #c8d4ff; text-decoration: underline; }

body .academy-help-fab-unread {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid #0a1019;
  border-radius: 10px;
  background: #d8443f;
  color: #fff;
  font: 800 10px/16px var(--academy-sans, "Segoe UI", sans-serif);
  text-align: center;
  pointer-events: none;
}
body .academy-help-fab-unread[hidden] { display: none; }
.academy-help-toolbar-btn { border-color: #5068a2 !important; color: #c2d0ff !important; }
body.gn-modern .academy-help-panel .academy-help-close {
  border-color: #3a485e;
  background: #121b28;
  color: #b9c5d5;
}
body.gn-modern .academy-help-panel .academy-help-close:hover { border-color: #60718c; background: #172231; color: #fff; }
body.gn-modern .academy-help-panel .academy-help-send {
  border-color: #7898ff;
  background: #6f93ff;
  color: #07101f;
}
body.gn-modern .academy-help-panel .academy-help-send:hover { background: #91aaff; }
@media (max-width: 600px) {

  body .academy-help-fab {
    display: none;
  }
  .academy-help-overlay { padding: 0; }
  .academy-help-panel {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border-width: 3px 0 0;
    border-radius: var(--r-card, 14px);
  }
  body.gn-modern .academy-help-panel .academy-help-close,
  .academy-help-starters button,
  body.gn-modern .academy-help-panel .academy-help-send,
  .academy-help-footer button { min-height: 44px; }
  .academy-help-header { padding-inline: 14px; }
  .academy-help-context,
  .academy-help-log,
  .academy-help-composer { padding-inline: 14px; }
  .academy-help-starters { padding-inline: 14px; }
  .academy-help-footer {
    align-items: center;
    padding-right: 14px;
    padding-bottom: max(10px, env(safe-area-inset-bottom));
    padding-left: 14px;
  }
  .academy-help-message { width: 96%; }
}
@media (max-height: 680px) {
  .academy-help-header {
    min-height: 64px;
    padding-block: 10px;
  }
  .academy-help-identity img { width: 36px; height: 36px; }
  .academy-help-context { padding-block: 7px; }
  .academy-help-log { padding-block: 12px; }
  .academy-help-starters {
    flex-wrap: nowrap;
    padding-bottom: 9px;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .academy-help-starters button { min-height: 44px; }
  .academy-help-composer {
    gap: 7px;
    padding-block: 9px;
  }
  .academy-help-composer textarea {
    min-height: 52px;
    max-height: 80px;
  }
  .academy-help-footer { padding-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-help-panel { animation: none; }
}
.academy-campus-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 14px;
  padding: 19px 21px;
  border: 1px solid #354258;
  border-left: 3px solid #6f93ff;
  background: #111824;
}
.academy-campus-banner > div:first-child { display: grid; gap: 4px; }
.academy-campus-banner span { color: #8ea8ff; font-size: 11px; font-weight: 600; letter-spacing: .13em; }
.academy-campus-banner strong { color: #eff3f8; font-size: 14px; }
.academy-campus-banner p { margin: 0; color: #99a6b8; font-size: 12px; line-height: 1.5; }
.academy-campus-banner > div:last-child { display: flex; flex: 0 0 auto; gap: 8px; }

body.gn-modern .academy-gateway .academy-header-link {
  border-color: transparent;
  background: transparent;
  color: var(--academy-sub);
}
body.gn-modern .academy-gateway .academy-header-link:hover { background: var(--academy-surface-2); color: var(--academy-ink); }
body.gn-modern .academy-gateway .academy-header-campus { border-color: var(--academy-line); }
body.gn-modern .academy-gateway .academy-btn-secondary {
  border-color: var(--academy-line);
  background: var(--academy-surface);
  color: var(--academy-ink);
}
body.gn-modern .academy-gateway .academy-btn-secondary:hover { border-color: #526075; background: var(--academy-surface-2); }

@media (max-width: 1120px) {
  .academy-hero-grid { grid-template-columns: 1fr minmax(340px, .72fr); gap: 40px; }
}
@media (max-width: 860px) {
  .academy-gateway-header { min-height: 70px; padding-inline: 20px; }
  .academy-wordmark img { width: 34px; height: 34px; }
  .academy-wordmark strong { font-size: 15px; }
  .academy-header-link { padding-inline: 9px; font-size: 11px; }
  .academy-hero-grid { grid-template-columns: 1fr; min-height: 0; padding: 70px 0; }
  .academy-term { max-width: 620px; }
  .academy-statband { grid-template-columns: repeat(2, 1fr); }
  .academy-stat:nth-child(3) { border-left: 0; }
  .academy-stat:nth-child(-n + 2) { border-bottom: 1px solid var(--academy-line); }
  .academy-section-intro { gap: 16px; }
  .academy-school-grid { grid-template-columns: 1fr; }
  .academy-school-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-school-card:last-child { border-bottom: 0; }
  .academy-practice { grid-template-columns: 1fr; }
  .academy-enroll-choices { grid-template-columns: 1fr; }
  .academy-enroll-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-enroll-card:last-child { border-bottom: 0; }
  .academy-profile-form { grid-template-columns: 1fr; }
  .academy-profile-form label,
  .academy-identity-note,
  .academy-profile-actions { grid-column: 1; }
  .academy-campus-banner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .academy-gateway { font-size: 15px; }
  .academy-gateway-nav { gap: 0; }
  .academy-header-campus { margin-left: 2px; }
  .academy-wordmark small { display: none; }
  .academy-hero-grid,
  .academy-statband,
  .academy-schools,
  .academy-practice,
  .academy-final-cta,
  .academy-enroll-shell,
  .academy-profile-shell,
  .academy-checkout-shell,
  .academy-orientation { width: min(100% - 28px, 1450px); }
  .academy-hero-grid { padding: 54px 0 60px; }
  .academy-hero-copy h1 { font-size: clamp(31px, 8.6vw, 44px); line-height: 1.04; letter-spacing: -.02em; }
  .academy-hero-actions,
  .academy-final-cta > div,
  .academy-profile-actions,
  .academy-orientation-actions { align-items: stretch; flex-direction: column; }
  .academy-hero-actions .academy-btn,
  .academy-final-cta .academy-btn,
  .academy-profile-actions .academy-btn,
  .academy-orientation-actions .academy-btn { width: 100%; }
  .academy-school-card { padding: 28px; }
  .academy-hero-trust li { grid-template-columns: 1fr; gap: 4px; }
  .academy-practice { padding-block: 58px; }
  .academy-final-cta { padding: 30px 20px; }
  .academy-landing-offer { grid-template-columns: 1fr; gap: 6px; }
  .academy-foot-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 22px;
    padding: 42px 20px 34px;
  }
  .academy-foot-brand { grid-column: 1 / -1; }
  .academy-foot-legal { align-items: flex-start; flex-direction: column; padding-inline: 20px; }
  .academy-enroll-shell,
.academy-profile-shell,
.academy-checkout-shell,
.academy-orientation { padding-block: 50px 70px; }
  .academy-enroll-card { padding: 27px; }
  .academy-profile-form { padding: 20px; }
  .academy-identity-note { grid-template-columns: 1fr; gap: 7px; }
  .academy-week-grid { grid-template-columns: 1fr; }
  .academy-campus-banner > div:last-child { width: 100%; flex-direction: column; }
  .academy-campus-banner button { width: 100%; }
}
@media (max-width: 340px) {

  .academy-gateway-header { padding-inline: 12px; }
  .academy-wordmark { gap: 8px; }
  .academy-header-link { padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-gateway *,
.academy-dashboard * {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

body.gn-modern .app-shell.gn-shell {
  --academy-bg: #0a0e14;
  --academy-surface: #10151d;
  --academy-surface-2: #161d27;
  --academy-raised: #1c2431;
  --academy-ink: #edf1f6;
  --academy-sub: #a8b3c2;
  --academy-muted: #7e8b9c;
  --academy-line: #1e2633;
  --academy-line-soft: #161d27;
  --academy-blue: #5b8cff;
  --academy-blue-strong: #7aa2ff;
  --academy-green: #3ecf8e;
  --academy-amber: #e0b875;
  --academy-danger: #f0506e;
  background: var(--academy-bg);
}
body.gn-modern .gn-sidebar {
  background: #080c12;
  border-right-color: var(--academy-line);
}
body.gn-modern .gn-sidebar .gn-rail { gap: 0; padding: 9px 12px 14px; }
body.gn-modern .academy-nav-primary {
  margin-bottom: 4px;
  padding: 0;
  border: 0;
  background: transparent;
}
body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-secondary .nav-link {
  min-height: 40px;
  border-radius: var(--r-ctl, 10px);
  color: var(--academy-sub);
  font-size: 13.5px;
  font-weight: 500;
}

body.gn-modern .gn-rail .nav-link.active {
  background: rgba(255, 255, 255, 0.09);
  color: var(--academy-ink);
  font-weight: 600;
}
body.gn-modern .academy-nav-monogram { border-radius: var(--r-ctl, 10px); }

body.gn-modern .gn-content,
body.gn-modern .gn-body,
body.gn-modern .gn-topbar { background: var(--academy-bg); }
body.gn-modern .gn-topbar {
  min-height: 77px;
  border-bottom-color: var(--academy-line);
}
body.gn-modern .gn-topbar-search input,
body.gn-modern .gn-chip,
body.gn-modern .notif-bell,
body.gn-modern .gn-account {
  border-radius: 4px;
  border-color: var(--academy-line);
  background: var(--academy-surface);
}

body.gn-modern .gn-startmenu {
  min-width: 244px;
  border-radius: 4px;
  border-color: var(--academy-line);
  background: var(--academy-surface);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
  font-family: var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
}
body.gn-modern .gn-startmenu-body { padding: 9px 12px 12px; }
body.gn-modern .gn-startmenu .menu-bar { gap: 0; }

body.gn-modern .gn-startmenu .menu-item {
  padding: 0;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: var(--academy-sub);
  font-weight: 600;
}
body.gn-modern .view {
  background-color: var(--academy-bg);
  background-image:
    linear-gradient(rgba(135, 154, 181, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(135, 154, 181, .022) 1px, transparent 1px);
  background-size: 56px 56px;
}

body.gn-modern .academy-workspace-view {
  display: block;
  padding: 24px;
  color: var(--academy-ink);
  font-family: var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
}
body.gn-modern .academy-workspace-view[hidden] { display: none; }
.academy-classroom-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 164px;
  padding: 28px 30px;
  border: 1px solid var(--academy-line);
  border-top: 3px solid var(--academy-blue);
  background: var(--academy-surface);
}
.academy-classroom-hero-copy > span,
.academy-classroom-lane > span {
  color: var(--academy-blue-strong);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
}
.academy-classroom-hero h1 {
  margin: 7px 0 9px;
  color: var(--academy-ink);
  font-size: clamp(28px, 3.3vw, 44px);
  letter-spacing: -.045em;
  line-height: 1;
}
.academy-classroom-hero p { max-width: 780px; margin: 0; color: var(--academy-sub); font-size: 13px; line-height: 1.65; }
.academy-classroom-status {
  display: grid;
  flex: 0 0 230px;
  gap: 7px;
  padding: 18px;
  border: 1px solid #365846;
  background: rgba(118, 211, 169, .055);
}
.academy-classroom-status small { color: var(--academy-muted); font-size: 10px; font-weight: 850; letter-spacing: .13em; }
.academy-classroom-status strong { color: var(--academy-green); font-size: 12px; }
.academy-classroom-status strong i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--academy-green); box-shadow: 0 0 10px rgba(118, 211, 169, .45); }
.academy-classroom-status span { color: var(--academy-muted); font-size: 11px; }
.academy-classroom-launchers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
  border: 1px solid var(--academy-line);
  background: var(--academy-surface);
}
body.gn-modern .academy-classroom-lane {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 20px;
  border: 0;
  border-right: 1px solid var(--academy-line);
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: var(--academy-ink);
  text-align: left;
}
body.gn-modern .academy-classroom-lane:last-child { border-right: 0; }
body.gn-modern .academy-classroom-lane:hover { background: var(--academy-surface-2); }
.academy-classroom-lane strong { font-size: 17px; }
.academy-classroom-lane small { color: var(--academy-muted); font-size: 12px; line-height: 1.55; }
.academy-classroom-lane::after { align-self: end; color: var(--academy-blue-strong); content: "Open classroom →"; font-size: 11px; font-weight: 800; }
body.gn-modern .academy-classroom-lane.pro-locked::after { content: "Preview classroom →"; }
body.gn-modern .academy-workspace-view .codelab { gap: 12px; margin-top: 16px; }
body.gn-modern .academy-workspace-view .codelab-controls {
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--academy-line);
  background: var(--academy-surface);
}
body.gn-modern .academy-workspace-view .codelab-collab { border-top-color: var(--academy-line-soft); }
body.gn-modern .academy-workspace-view .codelab-editor {
  min-height: 360px;
  border: 1px solid #344156;
  border-radius: var(--r-ctl, 10px);
  background: #090d13;
  box-shadow: none;
}

body.gn-modern .codelab-entry[hidden],
body.gn-modern .codelab-workspace[hidden] { display: none !important; }
body.gn-modern .codelab-entry .academy-classroom-hero {
  background-image:
    linear-gradient(rgba(135, 154, 181, .024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(135, 154, 181, .024) 1px, transparent 1px);
  background-size: 44px 44px;
}
body.gn-modern .codelab-resume-icon,
body.gn-modern .codelab-workspace-icon,
body.gn-modern .academy-classroom-lane-icon {
  display: grid;
  place-items: center;
  color: var(--academy-blue-strong);
}
body.gn-modern .academy-classroom-lane { position: relative; padding-top: 48px; }
body.gn-modern .academy-classroom-lane-icon { position: absolute; top: 19px; left: 20px; }
body.gn-modern .academy-classroom-lane-icon .gn-ui-icon { width: 20px; height: 20px; }
body.gn-modern .codelab-whiteteam-btn .academy-classroom-lane-icon { color: var(--academy-green); }
body.gn-modern .codelab-greypath-btn .academy-classroom-lane-icon { color: var(--academy-amber); }

body.gn-modern .academy-workspace-view .codelab-workspace {
  --codelab-accent: var(--academy-blue);
  --codelab-accent-soft: var(--academy-blue-dark, #19294f);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto auto;
  gap: 0;
  margin-top: 0;
  overflow: hidden;
  border: 1px solid var(--academy-line);
  border-top: 3px solid var(--codelab-accent);
  border-radius: var(--r-ctl, 10px);
  background: var(--academy-bg);
}
body.gn-modern .codelab-workspace-head {
  display: grid;
  grid-template-columns: minmax(185px, 1fr) auto minmax(120px, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--academy-line);
  background: #0c121a;
  grid-column: 1 / -1;
  grid-row: 1;
}
body.gn-modern .codelab-path-switcher { display: flex; align-items: center; gap: 4px; }
body.gn-modern .codelab-path-switcher button {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--academy-line);
  border-radius: var(--r-ctl, 10px);
  background: var(--academy-surface);
  color: var(--academy-sub);
  font-size: 11px;
}

body.gn-modern .academy-workspace-view .codelab-workspace .codelab-controls {
  display: block;
  grid-column: 2;
  grid-row: 2;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--academy-line);
  background: var(--academy-surface);
}

body.gn-modern .codelab-workspace .codelab-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 12px;
}

body.gn-modern .codelab-primary-actions { display: flex; flex: 0 0 auto; gap: 7px; margin-left: auto; }
body.gn-modern .codelab-primary-actions .inline-btn { min-height: 36px; border-color: var(--codelab-accent); border-radius: var(--r-ctl, 10px); background: var(--codelab-accent); color: #07101f; font-weight: 750; }

body.gn-modern .codelab-tools { border-top: 1px solid var(--academy-line-soft); }
body.gn-modern .codelab-tools-drawer { display: grid; gap: 10px; padding: 11px 12px 13px; border-top: 1px solid var(--academy-line); background: #0d141e; }
body.gn-modern .codelab-secondary-actions { display: flex; flex-wrap: wrap; gap: 6px; }
body.gn-modern .codelab-secondary-actions .inline-btn,
body.gn-modern .codelab-tools-drawer .codelab-collab .inline-btn { display: inline-flex; align-items: center; gap: 6px; border-color: var(--academy-line); border-radius: var(--r-ctl, 10px); background: var(--academy-surface-2); color: var(--academy-sub); }
body.gn-modern .codelab-tools-drawer .codelab-search { display: grid; grid-template-columns: auto minmax(150px, 1fr) auto auto auto auto; align-items: center; gap: 6px; }
body.gn-modern .codelab-tools-drawer .codelab-collab { margin: 0; padding: 10px; border: 1px solid var(--academy-line); border-radius: var(--r-ctl, 10px); background: var(--academy-surface); }

body.gn-modern .academy-workspace-view .codelab-workspace > .codelab-task-rail {
  grid-column: 1;
  grid-row: 2 / span 5;
  height: clamp(650px, 78vh, 920px);
  min-height: 0;
  min-width: 0;
}

body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] {
  grid-template-columns: minmax(0, 1fr);
}
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-task-rail {
  grid-column: 1 / -1;
}
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-controls,
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-editor,
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .cl-diff,
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-feedback-shell,
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-video-picker,
body.gn-modern .academy-workspace-view .codelab-workspace[data-codelab-stage="reading"] > .codelab-video {
  display: none;
}
body.gn-modern .academy-workspace-view .codelab-task-rail > .bb-academy,
body.gn-modern .academy-workspace-view .codelab-task-rail > .greypath {
  height: 100%;
  min-height: 0;
  margin: 0;
  border-right: 1px solid var(--academy-line);
  border-left: 0;
  border-radius: var(--r-ctl, 10px);
}
body.gn-modern .codelab-workspace .cl-diff { margin: 0; border-right: 0; border-left: 0; border-radius: var(--r-ctl, 10px); }
body.gn-modern .codelab-workspace > .cl-diff { grid-column: 2; grid-row: 4; }
body.gn-modern .codelab-workspace .cl-diff-title,
body.gn-modern .codelab-workspace .cl-diff-set { display: inline-flex; align-items: center; gap: 6px; }
body.gn-modern .codelab-workspace > .codelab-video-picker,
body.gn-modern .codelab-workspace > .codelab-video { grid-column: 2; }
body.gn-modern .codelab-workspace > .exam-panel { grid-column: 1 / -1; grid-row: 2 / span 5; z-index: 7; }

body.gn-modern .academy-workspace-view .bb-academy,
body.gn-modern .academy-workspace-view .greypath {
  height: clamp(520px, 72vh, 900px);
  margin-top: 0;
  border: 1px solid #344156;
  border-top: 3px solid var(--academy-blue);
  border-radius: var(--r-ctl, 10px);
  background: var(--academy-bg);
  color: var(--academy-ink);
  box-shadow: none;
  font: 13px/1.6 var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
}
body.gn-modern .academy-workspace-view .greypath { border-top-color: var(--academy-amber); }
body.gn-modern .academy-workspace-view .greypath.wt-mode { border-top-color: var(--academy-blue); }
body.gn-modern .bb-academy-bar,
body.gn-modern .greypath-bar {
  min-height: 65px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--academy-line);
  background: var(--academy-surface);
}
body.gn-modern .bb-academy-bar .bb-avatar,
body.gn-modern .greypath-avatar { width: 34px; height: 34px; }
body.gn-modern .bb-academy-name,
body.gn-modern .greypath-name { color: var(--academy-ink); font-size: 14px; }
body.gn-modern .bb-academy-name::before { margin-right: 8px; color: var(--academy-blue-strong); content: "CLASSROOM 01 /"; font-size: 10px; font-weight: 850; letter-spacing: .11em; }
body.gn-modern .bb-academy-sub,
body.gn-modern .greypath-sub { color: var(--academy-muted); }
body.gn-modern .bb-academy-xp,
body.gn-modern .greypath-score {
  border-radius: var(--r-ctl, 10px);
  border-color: var(--academy-line);
  background: var(--academy-surface-2);
  color: var(--academy-green);
}
body.gn-modern .bb-academy-body,
body.gn-modern .greypath-body,
body.gn-modern .whiteteam-body { padding: 24px; }
body.gn-modern .bb-academy-body:focus,
body.gn-modern .greypath-body:focus,
body.gn-modern .whiteteam-body:focus { outline: none; }
body.gn-modern .bb-academy-body[data-academy-screen="map"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
body.gn-modern .bb-academy-body[data-academy-screen="map"] > :not(.bba-lang) { grid-column: 1 / -1; }

body.gn-modern .bb-academy-body:is([data-academy-screen="lesson"], [data-academy-screen="quiz"], [data-academy-screen="challenge"], [data-academy-screen="summary"]) { display: block; }

body.gn-modern .greypath-body[data-academy-screen="brief"] { display: grid; align-content: safe center; }

body.gn-modern .greypath-body[data-academy-screen="range"] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
body.gn-modern .greypath-body[data-academy-screen="range"] > :not(.gp-track) { flex: 0 0 100%; width: 100%; }

body.gn-modern .greypath-body[data-academy-screen="challenge"] { display: block; }

body.gn-modern .greypath .inline-btn { border: 1px solid var(--academy-line); border-radius: var(--r-ctl, 10px); background: var(--academy-surface-2); color: var(--academy-ink); }
body.gn-modern .whiteteam-body[data-academy-screen="ladder"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
  align-content: start;
}
body.gn-modern .whiteteam-body[data-academy-screen="ladder"] > :not(.wt-belt) { grid-column: 1 / -1; }

body.gn-modern .whiteteam-body:is([data-academy-screen="lesson"], [data-academy-screen="quiz"], [data-academy-screen="summary"], [data-academy-screen="lab"]) { display: block; }

@media (max-width: 1199px) {
  body.gn-modern .academy-workspace-view .codelab-workspace { display: flex; flex-direction: column; }
  body.gn-modern .academy-workspace-view .codelab-workspace .codelab-controls { order: 3; }
  body.gn-modern .academy-workspace-view .codelab-task-rail > .bb-academy,
body.gn-modern .academy-workspace-view .codelab-task-rail > .greypath { border-right: 0; border-bottom: 1px solid var(--academy-line); }
}

@media (min-width: 1200px) {
  body.gn-modern .codelab-workspace[data-codelab-stage="exercise"] .bb-academy-body:is([data-academy-screen="lesson"], [data-academy-screen="quiz"], [data-academy-screen="challenge"], [data-academy-screen="summary"]),
  body.gn-modern .codelab-workspace[data-codelab-stage="exercise"] .greypath-body[data-academy-screen="challenge"],
  body.gn-modern .codelab-workspace[data-codelab-stage="exercise"] .whiteteam-body:is([data-academy-screen="lesson"], [data-academy-screen="quiz"], [data-academy-screen="summary"], [data-academy-screen="lab"]) { display: block; }
}
@media (max-width: 980px) {
  .academy-classroom-launchers { grid-template-columns: 1fr; }
  body.gn-modern .academy-classroom-lane { min-height: 105px; border-right: 0; border-bottom: 1px solid var(--academy-line); }
  body.gn-modern .academy-classroom-lane:last-child { border-bottom: 0; }
  body.gn-modern .bb-academy-body[data-academy-screen="map"],
  body.gn-modern .greypath-body[data-academy-screen="range"],
  body.gn-modern .whiteteam-body[data-academy-screen="ladder"] { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  body.gn-modern .academy-workspace-view { padding: 12px; }
  .academy-classroom-hero { align-items: stretch; flex-direction: column; padding: 21px; }
  .academy-classroom-status { width: 100%; flex-basis: auto; }
  body.gn-modern .academy-workspace-view .bb-academy,
body.gn-modern .academy-workspace-view .greypath { height: clamp(500px, 76vh, 760px); }
  body.gn-modern .bb-academy-body,
body.gn-modern .greypath-body,
body.gn-modern .whiteteam-body { padding: 16px; }
  body.gn-modern .academy-workspace-view .codelab-workspace { display: flex; flex-direction: column; }
  body.gn-modern .academy-workspace-view .codelab-workspace .codelab-controls { order: 3; }
  body.gn-modern .academy-workspace-view .codelab-workspace > .codelab-task-rail { height: clamp(460px, 68vh, 720px); }
}

.academy-hero-copy h1 br { display: none; }

.gn-modern #view-home {
  --campus-card: #121925;
  --campus-line: #263247;
  --campus-line-soft: #202a3a;
  --campus-muted: #8f9db3;
  --campus-green: #28d17c;
  --campus-purple: #ad66ff;
}
.gn-modern #view-home .academy-campus-banner,
.gn-modern #view-home .campus-metrics,
.gn-modern #view-home .home-grid {
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
.gn-modern #view-home .academy-campus-banner { margin-bottom: 12px; }
.gn-modern #view-home .campus-metric {
  min-width: 0;
  min-height: 118px;
  padding: 15px 18px 13px;
  color: var(--m-ink);
  background: linear-gradient(145deg, rgba(27, 37, 54, .98), rgba(16, 23, 34, .98));
  border: 1px solid var(--campus-line);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}

.gn-modern #view-home .home-grid {
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  gap: 10px;
}
.gn-modern #view-home .home-main,
.gn-modern #view-home .home-side { gap: 10px; }
.gn-modern #view-home .home-side {
  display: flex; min-width: 0; flex-direction: column;
}
.gn-modern #view-home .gn-win {
  background: linear-gradient(145deg, rgba(27, 37, 54, .98), rgba(16, 23, 34, .98));
  border-color: var(--campus-line);
}
.gn-modern #view-home .gn-win-bar { padding: 13px 16px 0; }
.gn-modern #view-home .gn-win-body { padding: 10px 16px 14px; }
.gn-modern #view-home #modComposer { order: -1; }
.gn-modern #view-home #modFeed { min-height: 300px; }
.gn-modern #view-home #modFeed .gn-win-bar {
  display: flex; align-items: center; justify-content: space-between;
}
.gn-modern #view-home #modFeed .gn-win-body { padding-top: 8px; }

.gn-modern #view-home #modBuddies { flex: 1 1 auto; }
.gn-modern #view-home #modBuddies .gn-win-body { padding-top: 8px; }
.gn-modern #view-home #modLaunch .gn-win-body { padding-top: 8px; }
.gn-modern #view-home .campus-quick-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
}
.gn-modern #view-home .campus-quick-action {
  display: flex; align-items: center; min-width: 0; min-height: 70px; gap: 10px;
  padding: 10px 12px; text-align: left; border-color: var(--campus-line);
  border-radius: 10px; background: rgba(17, 24, 36, .72);
}

.gn-modern #view-home #modStatus { grid-column: 1 / -1; }
.gn-modern #view-home #modStatus .gn-win-bar {
  float: left; width: 145px; padding-top: 18px;
}
.gn-modern #view-home #modStatus .gn-win-body {
  min-height: 64px; padding: 9px 12px 9px 155px;
}
.gn-modern #view-home #modStatus .home-meta {
  display: flex;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  background: none;
}

.gn-modern #view-home {
  --campus-terminal: #070b12;
  --campus-panel: var(--academy-surface);
  --campus-panel-raised: var(--academy-surface-2);
  --campus-line: var(--academy-line);
  --campus-line-soft: var(--academy-line-soft);
  --campus-ink: var(--academy-ink);
  --campus-muted: var(--academy-muted);
  --campus-accent: var(--academy-blue);
  --campus-accent-strong: var(--academy-blue-strong);
  --campus-accent-dim: var(--academy-blue-dark);
  --campus-cyan: #6ec3ff;
  --campus-blue: var(--academy-blue-strong);
  --campus-magenta: #c78cff;
  --campus-ok: var(--academy-green);
  --campus-amber: var(--academy-amber);
  font-family: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.gn-modern #view-home .campus-terminal,
.gn-modern #view-home .home-grid {
  width: 100%;
  max-width: 1500px;
  margin-right: auto;
  margin-left: auto;
}
.gn-modern #view-home .campus-terminal {
  position: relative;
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid #2d3d5f;
  border-top: 2px solid var(--campus-accent);
  background: var(--campus-terminal);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}
.gn-modern #view-home .campus-terminal-intro {
  display: flex;
  min-width: 0;
  padding: clamp(28px, 4vw, 46px) clamp(26px, 4vw, 50px);
  flex-direction: column;
}
.gn-modern #view-home .campus-terminal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.gn-modern #view-home .campus-command {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #2d3d5f;
  border-radius: var(--r-ctl, 10px);
  color: var(--academy-sub);
  background: #0e1420;
  font: 700 11px/1 "Cascadia Mono", Consolas, monospace;
  text-align: left;
}
.gn-modern #view-home .campus-command-primary {
  border-color: var(--campus-accent);
  color: #07101f;
  background: var(--campus-accent);
}
.gn-modern #view-home .campus-terminal-status {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--campus-line);
  background: #080d12;
}
.gn-modern #view-home .campus-terminal-status .campus-metric {
  min-width: 0;
  min-height: 96px;
  padding: 14px 18px;
  border: 0;
  border-right: 1px solid var(--campus-line);
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  box-shadow: none;
}

.gn-modern #view-home .home-grid {
  grid-template-columns: minmax(0, 1.85fr) minmax(320px, .85fr);
  gap: 12px;
}
.gn-modern #view-home .home-main,
.gn-modern #view-home .home-side { gap: 12px; }
.gn-modern #view-home .home-side {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.gn-modern #view-home .gn-win {
  overflow: visible;
  border-color: var(--campus-line);
  border-radius: var(--r-card, 14px);
  background: var(--campus-panel);
  box-shadow: none;
}
.gn-modern #view-home .gn-win-bar {
  min-height: 39px;
  padding: 0 14px;
  border-bottom: 1px solid var(--campus-line-soft);
  background: #0c131a;
}
.gn-modern #view-home .gn-win-body { padding: 12px 14px 14px; }
.gn-modern #view-home #modComposer { order: initial; }
.gn-modern #view-home #modComposer #feedPost {
  min-height: 36px;
  border: 1px solid var(--campus-accent);
  border-radius: var(--r-card, 14px);
  color: #07101f;
  background: var(--campus-accent);
  font: 800 10px/1 "Cascadia Mono", Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.gn-modern #view-home #modFeed { min-height: 310px; }
.gn-modern #view-home #modFeed .gn-win-bar { justify-content: space-between; }

.gn-modern #view-home #modFeed .gn-win-body {
  display: block;
  padding: 0;
}
.gn-modern #view-home .campus-feed-terminal {
  overflow: hidden;
  color: var(--campus-ink);
  background: #05080e;
}
.gn-modern #view-home .campus-feed-console {
  padding: 16px;
  background:
    linear-gradient(rgba(91, 140, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 140, 255, .012) 1px, transparent 1px),
    #05080e;
  background-size: 100% 4px, 40px 100%, auto;
}
.gn-modern #view-home .campus-terminal-composer {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed #263553;
}
.gn-modern #view-home #modComposer .feed-composer {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.gn-modern #view-home #modComposer #feedPost {
  min-height: 38px;
  padding: 8px 13px;
  text-transform: none;
}

.gn-modern #view-home #modBuddies { flex: 1 1 auto; }
.gn-modern #view-home #modBuddies .popout-btn {
  min-height: 34px;
  border-radius: var(--r-ctl, 10px);
  font-size: 9px;
}
.gn-modern #view-home #modBuddies .buddy-group {
  border-radius: var(--r-card, 14px);
  color: #9daac0;
  background: #0b1019;
  font-size: 9px;
  letter-spacing: .04em;
}
.gn-modern #view-home .campus-quick-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}
.gn-modern #view-home .campus-quick-action {
  min-height: 56px;
  padding: 8px 10px;
  border-color: var(--campus-line);
  border-radius: var(--r-ctl, 10px);
  background: #090f14;
}
.gn-modern #view-home .gn-win-identity .brand-box {
  border-color: var(--campus-line);
  border-radius: var(--r-card, 14px);
  background: #090f14;
}
.gn-modern #view-home .gn-win-identity .home-control-grid > * {
  border-radius: var(--r-card, 14px);
  border-color: var(--campus-line);
}

.gn-modern #view-home #modStatus {
  grid-column: 1 / -1;
  border-top-color: #385485;
}
.gn-modern #view-home #modStatus .gn-win-bar {
  float: left;
  width: 175px;
  border-right: 1px solid var(--campus-line-soft);
  border-bottom: 0;
}
.gn-modern #view-home #modStatus .gn-win-body {
  min-height: 44px;
  padding: 0 0 0 175px;
}

.gn-modern #view-home .campus-feed-terminal {
  --campus-terminal-green: #59e391;
  --campus-terminal-blue: #78a0ff;
  --campus-terminal-red: #ff6b70;
  --campus-terminal-yellow: #ffd166;
}

body.gn-modern #view-home {
  --campus-panel: #10151d;
  --campus-panel-2: #0d131b;
  --campus-line: #253044;
  --campus-line-soft: #1b2432;
  --campus-ink: #edf1f6;
  --campus-sub: #b4bfce;
  --campus-muted: #98a6b8;
  --campus-accent: #5b8cff;
  --campus-accent-strong: #86a9ff;
  padding: 22px 0 64px;
  color: var(--campus-ink);
  font-family: var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
}
.gn-modern #view-home .campus-terminal,
.gn-modern #view-home .home-grid {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}
.gn-modern #view-home .campus-terminal {
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid var(--campus-line);
  border-top: 2px solid var(--campus-accent);
  border-radius: var(--r-ctl, 10px);
  background: var(--campus-panel);
  box-shadow: none;
}
.gn-modern #view-home .campus-terminal-intro {
  display: block;
  padding: 28px 30px;
}
.gn-modern #view-home .campus-terminal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.gn-modern #view-home .campus-command {
  min-height: 44px;
  padding: 9px 16px;

  border: 1px solid var(--campus-line);
  border-radius: var(--r-ctl, 10px);
  color: var(--campus-ink);
  background: var(--campus-panel);
  font-family: var(--academy-sans), "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.gn-modern #view-home .campus-command-primary,
.gn-modern #view-home .campus-command-primary:hover {
  border-color: var(--campus-accent);
  color: #07101f;
  background: var(--campus-accent);
}
.gn-modern #view-home .campus-terminal-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--campus-line);
  background: var(--campus-panel-2);
}
.gn-modern #view-home .campus-terminal-status .campus-metric {
  min-width: 0;
  min-height: 112px;
  padding: 16px 18px;
  border: 0;
  border-right: 1px solid var(--campus-line);
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  box-shadow: none;
}

@supports (grid-template-rows: subgrid) {
  .gn-modern #view-home .campus-terminal-status .campus-metric {
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    align-content: start;
  }
}

.gn-modern #view-home .campus-terminal-status .campus-metric:has(+ .campus-metric-brand) { border-right: 0; }

.gn-modern #view-home .home-grid { grid-template-columns: minmax(0, 1.65fr) minmax(330px, .65fr); gap: 12px; }
.gn-modern #view-home .home-main,
.gn-modern #view-home .home-side { gap: 12px; }
.gn-modern #view-home .gn-win {
  overflow: visible;
  border: 1px solid var(--campus-line);
  border-radius: var(--r-card, 14px);
  background: var(--campus-panel);
  box-shadow: none;
}
.gn-modern #view-home .gn-win-bar {
  min-height: 48px;
  padding: 0 18px;
  border-bottom: 1px solid var(--campus-line);
  background: #0d131b;
}
.gn-modern #view-home .gn-win-body { padding: 16px 18px 18px; }
.gn-modern #view-home .gn-win-btn { border-radius: var(--r-card, 14px); }
.gn-modern #view-home #modBuddies .buddy-search,
.gn-modern #view-home #modBuddies .popout-btn {
  min-height: 38px;
  border-radius: var(--r-ctl, 10px);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
}
.gn-modern #view-home #modBuddies .buddy-group { min-height: 38px; border-radius: var(--r-card, 14px); color: var(--campus-sub); background: var(--campus-panel-2); font-size: 11px; font-weight: 700; }
.gn-modern #view-home .campus-quick-grid { grid-template-columns: minmax(0, 1fr); gap: 7px; }
.gn-modern #view-home .campus-quick-action {
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid var(--campus-line);
  border-radius: var(--r-ctl, 10px);
  background: var(--campus-panel-2);
}
.gn-modern #view-home .gn-win-identity .brand-box { border-color: var(--campus-line); border-radius: var(--r-card, 14px); background: var(--campus-panel-2); }
.gn-modern #view-home .gn-win-identity .home-control-grid > * { border-color: var(--campus-line); border-radius: var(--r-card, 14px); }

.gn-modern #view-home #modStatus { grid-column: 1 / -1; border-top-color: var(--campus-accent); }
.gn-modern #view-home #modStatus .gn-win-bar { float: none; width: auto; border-right: 0; border-bottom: 1px solid var(--campus-line); }
.gn-modern #view-home #modStatus .gn-win-body { min-height: 0; padding: 0; }
.gn-modern #view-home .campus-cohort-actions { display: grid; gap: 6px; margin-top: 10px; }
.gn-modern #view-home .campus-cohort-actions .campus-cohort-action { margin-top: 0; }

.gn-modern #view-home .campus-cohort-action {
  margin-top: 10px;
  padding: 7px 12px;
  border: 1px solid var(--campus-muted);
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: var(--campus-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
}

body.gn-modern .view-rooms {
  --rooms-terminal: #05080e;
  --rooms-line: #263553;
  --rooms-line-soft: #182338;
  --rooms-ink: #dce5f4;
  --rooms-muted: #8292ad;
  --rooms-blue: var(--academy-blue-strong, #7299ff);
  --rooms-cyan: #6ec3ff;
  --rooms-magenta: #c78cff;
  --rooms-amber: var(--academy-amber, #f0b95b);
  gap: 0;
  padding: 14px 16px;
  font-family: var(--academy-sans, "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif);
}
body.gn-modern .view-rooms {

  --rooms-blue: #78a0ff;
  --rooms-cyan: #59e391;
  --rooms-magenta: #ff6b70;
  --rooms-amber: #ffd166;
}
.gn-modern .view-rooms .rooms-terminal-shell {
  display: flex;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden auto;
  flex: 1 1 auto;
  flex-direction: column;
  border: 1px solid #2d3d5f;
  border-top: 2px solid var(--academy-blue, #5b8cff);
  border-radius: 2px;
  color: var(--rooms-ink);
  background: var(--rooms-terminal);
}
.gn-modern .view-rooms .message-meta { gap: 7px; font-size: 10px; }
.gn-modern .view-rooms .message-user { color: var(--rooms-cyan); font-size: 12px; font-weight: 600; }
.gn-modern .view-rooms .message-mood,
.gn-modern .view-rooms .message-time { color: #7688a6; font-size: 10px; }
.gn-modern .view-rooms .message-text {
  margin-top: 2px;
  color: #d3ddec;
  font: 13px/1.55 var(--academy-sans, "IBM Plex Sans", "Segoe UI", sans-serif);
}

.gn-modern .view-rooms .compose-box {
  margin: 0;
  padding: 12px 18px 14px;
  border: 0;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
}

.gn-modern .view-rooms .compose-grid { gap: 12px; padding-right: 92px; }

.gn-modern .view-rooms .compose-grid > button[type="submit"] {
  min-width: 0;
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid #6f93ff;
  border-radius: var(--r-ctl, 10px);
  color: #fff;
  background: #3f6ce0;
  box-shadow: none;
  font: 600 12px/1.3 var(--academy-sans, "IBM Plex Sans", "Segoe UI", sans-serif);
}
.gn-modern .view-rooms .chat-actions {
  gap: 5px 17px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--rooms-line-soft);
}
.gn-modern .view-rooms .chat-actions > button,
.gn-modern .view-rooms .chat-actions .emoji-btn {
  padding: 4px 0;
  border: 0;
  border-radius: var(--r-ctl, 10px);
  color: #8799b6;
  background: transparent;
  font: 600 11px/1.3 var(--academy-sans, "IBM Plex Sans", "Segoe UI", sans-serif);
}

.gn-modern .view-rooms #roomBrowser,
.gn-modern .view-rooms #pubBrowser,
.gn-modern .view-rooms .room-invite-card,
.gn-modern .view-rooms .pub-chat-bar,
.gn-modern .view-rooms .private-chat-bar {
  margin: 0;
  padding: 12px 18px;
  border: 0;
  border-bottom: 1px dashed var(--rooms-line);
  border-radius: var(--r-ctl, 10px);
  color: var(--rooms-muted);
  background: transparent;
}
.gn-modern .view-rooms .private-room-columns { gap: 24px; }
.gn-modern .view-rooms .private-room-column {
  gap: 8px;
  padding: 0 0 0 14px;
  border: 0;
  border-left: 2px solid #263b63;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
}
.gn-modern .view-rooms .private-room-column button,
.gn-modern .view-rooms .pub-create #pubRoomCreate,
.gn-modern .view-rooms .room-invite-actions button,
.gn-modern .view-rooms .pub-back {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #35485f;
  border-radius: var(--r-ctl, 10px);
  color: #c7d3e6;
  background: #16202c;
  box-shadow: none;
  font: 600 12px/1.3 var(--academy-sans, "IBM Plex Sans", "Segoe UI", sans-serif);
}
.gn-modern .view-rooms .room-invite-card { border-left: 2px solid var(--rooms-cyan); }

.pgb {

  --m-card: #141a26;
  --m-card-2: #1a2130;
  --m-raised: #1f2735;
  --m-line: #232c3d;
  --m-line-2: #1a2231;
  --m-ink: #e7edf7;
  --m-sub: #9aa7bd;

  --m-muted: #7d8ba4;
  --m-blue-soft: rgba(47, 107, 255, 0.16);

  --m-blue-on-soft: #8fb3ff;

  display: flex;
  flex-direction: column;
  gap: 30px;
  padding-bottom: 48px;
}

.pgb-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 26px;
  padding: 30px;
  background: var(--m-card);
  background-image:
    radial-gradient(circle at 86% 12%, var(--m-blue-soft), transparent 42%),
    radial-gradient(circle at 6% 96%, rgba(74, 217, 255, 0.07), transparent 34%);
  border: 1px solid var(--m-line);
}
.pgb-hero-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.pgb-cta {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 12px 22px;
  background: var(--m-blue);
  color: #ffffff;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(47, 107, 255, 0.35);
}
.pgb .pgb-privacy-link { font-size: inherit; color: var(--academy-blue-strong, #7aa2ff); }

.pgb,
.pgb * { border-radius: var(--r-ctl, 10px); }

body.gn-modern .gn-rail .nav-link.nav-pro {
  display: flex;
  align-items: center;
}

body.gn-modern #view-settings {
  --settings-paper: #fff;
  --settings-raised: #f6f8fa;
  --settings-blue-soft: #edf3f8;
  --settings-line: #d7dde5;
  --settings-line-strong: #aab4c1;
  --settings-ink: #0a1f3d;
  --settings-sub: #4d5a6a;
  --settings-muted: #677382;
  --settings-navy: #0a315d;
  --settings-green: #356a50;
  --settings-danger: #a72424;
  background: var(--settings-paper);
  color: var(--settings-ink);
}
body.gn-modern #view-settings .settings-shell { width: 100%; gap: 20px; }

body.gn-modern #view-settings .settings-layout { gap: 20px; }

body.gn-modern #view-settings .settings-content .settings-card {
  padding: 22px;
  color: var(--settings-ink);
  background: var(--settings-paper);
  border: 1px solid var(--settings-line);
  border-radius: var(--r-card, 14px);
  box-shadow: none;
  text-align: left !important;
}
body.gn-modern #view-settings .settings-card-header p { color: var(--settings-sub); }

body.gn-modern #view-settings :is(.settings-toggle-list, .settings-action-list) {
  color: var(--settings-ink);
  background: var(--settings-paper);
  border: 1px solid var(--settings-line);
  border-radius: var(--r-ctl, 10px);
}
body.gn-modern #view-settings .settings-toggle-list .setting-check,
body.gn-modern #view-settings .settings-action-list .settings-action {
  color: var(--settings-ink);
  background: var(--settings-paper);
  border: 0;
  border-bottom: 1px solid var(--settings-line);
  border-radius: 0;
  text-align: left !important;
}
body.gn-modern #view-settings .settings-toggle-list .setting-check:last-child,
body.gn-modern #view-settings .settings-action-list .settings-action:last-child { border-bottom: 0; }
body.gn-modern #view-settings .settings-action .gn-btn-quiet,
body.gn-modern #view-settings .settings-wide-action {
  color: var(--settings-navy);
  background: var(--settings-paper);
  border: 1px solid var(--settings-line-strong);
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
}
body.gn-modern #view-settings .settings-action-signoff .gn-btn-quiet,
body.gn-modern #view-settings .settings-action-signoff .gn-btn-quiet:hover,
body.gn-modern #view-settings .settings-action-signoff .gn-btn-quiet:focus-visible {
  color: var(--settings-danger);
  border-color: #cfaaa7;
}
body.gn-modern #view-settings .settings-wide-action { background: var(--settings-raised); }

.academy-enrollment {
  background:
    radial-gradient(circle at 50% -8%, rgba(91, 140, 255, .16), transparent 34rem),
    linear-gradient(180deg, #0b1017 0%, var(--academy-bg) 58%);
}
.academy-signup-shell {
  width: min(1180px, calc(100% - 48px));
  padding-top: 48px;
}
.academy-signup-progress {
  max-width: 760px;
  margin: 0 0 68px;
}
.academy-signup-progress ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}
.academy-signup-progress li {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  color: #647187;
}
.academy-signup-progress li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 16px;
  right: 10px;
  left: 44px;
  height: 1px;
  background: #283345;
  content: "";
}
.academy-signup-progress li.complete:not(:last-child)::after { background: #3f65bd; }
.academy-signup-progress li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #344155;
  border-radius: 50%;
  background: #0b1017;
  color: #7f8ba0;
  font: 600 11px var(--academy-mono);
}
.academy-signup-progress li > small {
  position: relative;
  z-index: 1;
  width: fit-content;
  padding-right: 9px;
  background: #0b1017;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.academy-signup-progress li.active { color: var(--academy-ink); }
.academy-signup-progress li.active > span {
  border-color: var(--academy-blue-strong);
  background: var(--academy-blue);
  box-shadow: 0 0 0 5px rgba(91, 140, 255, .1);
  color: #08101f;
}
.academy-signup-progress li.complete > span {
  border-color: #337d64;
  background: rgba(62, 207, 142, .1);
  color: var(--academy-green);
}
.academy-signup-shell .academy-enroll-head {
  max-width: 790px;
  margin-bottom: 25px;
}
.academy-signup-shell .academy-enroll-head.compact { max-width: 760px; }
.academy-signup-shell .academy-enroll-head h1 {
  max-width: 780px;
  margin-top: 0;
  font-size: clamp(42px, 5.4vw, 67px);
  font-weight: 600;

  line-height: 1.06;
  letter-spacing: -.047em;
}

.academy-signup-shell .academy-enroll-head .academy-kicker + h1 { margin-top: 17px; }
.academy-signup-shell .academy-enroll-head p {
  max-width: 720px;
  color: #b5c0cf;
  font-size: 17px;
}
.academy-signup-shell .academy-enroll-choices {
  gap: 18px;
  border: 0;
  background: transparent;
}
.academy-signup-shell .academy-enroll-card {
  min-height: 590px;
  padding: 35px;
  overflow: hidden;
  border: 1px solid #283345;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .022), transparent 35%),
    #0d131c;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .18);
}
.academy-signup-shell .academy-enroll-card:last-child { border: 1px solid #283345; }
.academy-signup-shell .academy-enroll-card.primary {
  border: 1px solid #5b7dd0;
  background:
    radial-gradient(circle at 100% 0, rgba(91, 140, 255, .14), transparent 18rem),
    linear-gradient(180deg, #111a28 0%, #0e151f 100%);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .28), 0 0 0 1px rgba(122, 162, 255, .06);
}
.academy-plan-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.academy-plan-top > small {
  color: var(--academy-blue-strong);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
}
.academy-plan-badge {
  padding: 5px 8px;
  border: 1px solid rgba(122, 162, 255, .35);
  border-radius: 4px;
  background: rgba(91, 140, 255, .1);
  color: #a9bcff;
  font: 600 9px var(--academy-mono);
  letter-spacing: .08em;
}
.academy-plan-badge.quiet {
  border-color: #334156;
  background: rgba(255, 255, 255, .025);
  color: #8f9bae;
}
.academy-signup-shell .academy-enroll-card h2 {
  max-width: 430px;

  margin: 28px auto 14px;
  font-size: clamp(25px, 2.4vw, 33px);
  line-height: 1.15;
}
.academy-signup-shell .academy-enroll-card > p {
  min-height: 68px;
  color: #aeb9c8;
  font-size: 15.5px;
  line-height: 1.55;
}
.academy-plan-price {
  display: block;
  min-height: 36px;
  margin-top: 26px;
  color: var(--academy-ink);
  font-size: 25px;
  letter-spacing: -.025em;
}
.academy-plan-price-note {
  display: block;
  min-height: 18px;
  margin-top: 4px;
  color: #8b98ae;
  font-size: 12.5px;
}
.academy-signup-shell .academy-enroll-card ul {
  margin: 27px 0 31px;

  padding: 25px 0 0;
  list-style: none;
  border-top: 1px solid #222e3e;
  color: #c7d0dd;
  font-size: 15px;
}
.academy-signup-shell .academy-enroll-card li {
  display: grid;

  grid-template-columns: 17px auto;
  justify-content: center;
  line-height: 1.45;
}
.academy-signup-shell .academy-enroll-card li::before {
  margin: 0;
  content: "✓";
}
.academy-signup-shell .academy-enroll-card .academy-btn {
  min-height: 52px;
  border-radius: 8px;
  font-weight: 600;
}
.academy-signup-shell .academy-enroll-card .academy-btn-secondary {
  border-color: #46556b;
  background: #141b25;
}
.academy-signup-shell .academy-plan-footnote {
  display: block;
  margin-top: 12px;
  color: #8b98ae;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
.academy-signup-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid #202b3a;
  border-radius: 12px;
  background: #202b3a;
}
.academy-signup-trust > div {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 6px 11px;
  align-content: start;
  min-height: 150px;
  padding: 24px;
  background: #0d131b;
}
.academy-signup-trust > div > span {
  grid-row: 1 / 3;
  color: #6f93ff;
  font: 600 10px var(--academy-mono);
}
.academy-signup-trust strong {
  color: #dce3ec;
  font-size: 10px;
  letter-spacing: .1em;
}
.academy-signup-trust p {
  margin: 0;
  color: #8491a4;
  font-size: 11px;
  line-height: 1.6;
}
.academy-signup-shell .academy-enroll-back { margin-top: 25px; }

.academy-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  align-items: start;
}
.academy-signup-shell .academy-profile-form {
  gap: 23px;
  padding: 32px;
  border: 1px solid #2c384a;
  border-radius: 14px;
  background: #0e141d;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .16);
}
.academy-signup-shell .academy-profile-form label {
  color: #c3ccd8;
  font-size: 12px;
}
.academy-signup-shell .academy-profile-form label > span:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.academy-optional {
  color: #6f7d91;
  font: 500 9px var(--academy-mono);
  letter-spacing: .08em;
}
.academy-signup-shell .academy-profile-form :is(input, select, textarea) {
  border-color: #3a4960;
  border-radius: 8px;
  background: #090e15;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.academy-signup-shell .academy-profile-form :is(input, select, textarea):focus {
  border-color: var(--academy-blue);
  background: #0b111a;
  box-shadow: 0 0 0 4px rgba(91, 140, 255, .1);
  outline: 0;
}
.academy-signup-shell .academy-profile-form input,
.academy-signup-shell .academy-profile-form select { min-height: 54px; }
.academy-signup-shell .academy-profile-form textarea { min-height: 112px; }
.academy-field-help {
  color: #718095;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
}
.academy-field-counter { text-align: right; }
.academy-signup-shell .academy-identity-note {
  grid-template-columns: 44px 160px 1fr;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid #2f4563;
  border-radius: 10px;
  background: rgba(91, 140, 255, .055);
}
.academy-identity-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #45658d;
  border-radius: 50%;
  color: #9eb4ff;
  font: 600 9px var(--academy-mono);
  letter-spacing: .06em;
}
.academy-signup-shell .academy-identity-note strong { color: #cad6ff; }
.academy-signup-shell .academy-identity-note p { color: #8897aa; }

.academy-signup-shell.academy-signin .academy-signin-form { max-width: 480px; }
.academy-signin-user,
.passphrase-user {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.academy-signin-other {
  max-width: 62ch;
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid #2c384a;
}
.academy-signin-other h2 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; }
.academy-signin-other p { margin: 0 0 16px; font-size: 14px; line-height: 1.55; }
.academy-signin-confirm {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(240, 97, 106, .45);
  border-radius: 10px;
  background: rgba(240, 97, 106, .06);
}
.academy-signin-confirm[hidden] { display: none; }
.academy-signin-confirm strong { font-size: 15px; }
.academy-signin-confirm p { margin: 0; }
.academy-btn.academy-btn-danger { color: #fff; background: #a3282f; border-color: #a3282f; }
.academy-btn.academy-btn-danger:hover { color: #fff; background: #7f1d23; border-color: #7f1d23; }
.academy-signup-shell .academy-profile-actions {
  justify-content: space-between;
  margin-top: 4px;
}
.academy-signup-shell .academy-profile-actions .academy-btn { min-height: 50px; border-radius: 8px; }
.academy-signup-summary {
  position: sticky;
  top: 24px;
  padding: 28px;
  border: 1px solid #2b3850;
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(91, 140, 255, .11), transparent 15rem),
    #111823;
}
.academy-signup-summary > span {
  color: #88a4ff;
  font: 600 10px var(--academy-mono);
  letter-spacing: .12em;
}
.academy-signup-summary h2 {
  margin: 11px 0 25px;
  color: var(--academy-ink);
  font-size: 24px;
}
.academy-signup-summary ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.academy-signup-summary li {
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid #263245;
}
.academy-signup-summary li > span { color: #7897ff; font: 600 10px var(--academy-mono); }
.academy-signup-summary li strong { display: block; margin-bottom: 4px; color: #dbe3ed; font-size: 12px; }
.academy-signup-summary li p { margin: 0; color: #7f8da1; font-size: 10px; line-height: 1.55; }
.academy-summary-plan {
  display: grid;
  gap: 6px;
  margin-top: 20px;
  padding: 18px;
  border-radius: 9px;
  background: rgba(91, 140, 255, .08);
}
.academy-summary-plan small { color: #8199e9; font: 600 9px var(--academy-mono); letter-spacing: .08em; }
.academy-summary-plan strong { color: #e7ecf4; font-size: 13px; }
.academy-summary-plan p { margin: 0; color: #8390a3; font-size: 10px; }

.academy-signup-shell .academy-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 372px;
  gap: 18px;
  align-items: start;
  margin-top: 30px;
  text-align: left;
}
.academy-signup-shell .academy-checkout-value {
  padding: 26px 28px 24px;
  border: 1px solid var(--academy-line, #d7dde5);
  border-radius: var(--r-card, 14px);
  background: #fff;
}
.academy-signup-shell .academy-checkout-meta {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 7px 14px;
  align-items: baseline;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--academy-line, #d7dde5);
}
.academy-signup-shell .academy-checkout-meta small {
  font: 600 10px/1.4 var(--academy-mono, ui-monospace, monospace);
  letter-spacing: .16em;
  color: var(--academy-muted, #677382);
}
.academy-signup-shell .academy-checkout-meta strong {
  color: var(--academy-ink, #0a1f3d);
  font-size: 14px;
  font-weight: 650;
}
.academy-signup-shell .academy-checkout-value h2 {
  margin: 0 0 16px;
  font-family: var(--academy-display, inherit);
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.015em;
  color: var(--academy-ink, #0a1f3d);
}
.academy-signup-shell .academy-checkout-list {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.academy-signup-shell .academy-checkout-list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--academy-sub, #4d5a6a);
}
.academy-signup-shell .academy-checkout-tick {
  font: 700 12px/1.75 var(--academy-mono, ui-monospace, monospace);
  color: var(--academy-blue, #0a315d);
}
.academy-signup-shell .academy-checkout-pathline {
  display: grid;
  gap: 7px;
  margin: 20px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--academy-line, #d7dde5);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--academy-sub, #4d5a6a);
}
.academy-signup-shell .academy-checkout-pathline small {
  font: 600 10px/1.4 var(--academy-mono, ui-monospace, monospace);
  letter-spacing: .16em;
  color: var(--academy-muted, #677382);
}

.academy-gateway .academy-signup-shell .academy-checkout-card {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 12px;
  justify-items: start;
  padding: 26px 26px 22px;
  border: 1px solid var(--academy-line, #d7dde5);
  border-radius: var(--r-card, 14px);
  background: #f6f8fa;
  text-align: left;
}
.academy-signup-shell .academy-checkout-card .academy-kicker {
  color: var(--academy-blue, #0a315d);
  font: 600 10px/1.4 var(--academy-mono, ui-monospace, monospace);
  letter-spacing: .18em;
}
.academy-signup-shell .academy-checkout-price {
  color: var(--academy-ink, #0a1f3d);
  font: 600 30px/1.1 var(--academy-mono, ui-monospace, monospace);
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.academy-signup-shell .academy-checkout-price[data-state="unavailable"] { font-size: 17px; }
.academy-signup-shell .academy-checkout-term {
  color: var(--academy-muted, #677382);
  font-size: 12px;
  line-height: 1.5;
}
.academy-signup-shell .academy-checkout-go {
  width: 100%;
  margin-top: 6px;
  padding: 13px 18px;
  justify-content: center;
  text-align: center;
  font-size: 14px;
}
.academy-signup-shell .academy-checkout-go[disabled] { opacity: .55; cursor: not-allowed; }
.academy-signup-shell .academy-checkout-note {
  margin: 0;
  color: var(--academy-muted, #677382);
  font-size: 11.5px;
  line-height: 1.6;
}
.academy-signup-shell .academy-checkout-status { color: #0a315d; font-size: 12px; }
.academy-signup-shell .academy-checkout-status:empty { display: none; }
.academy-signup-shell .academy-checkout-status[data-kind="cancel"] { color: var(--academy-amber); }
.academy-signup-shell .academy-checkout-status[data-kind="ok"] { color: var(--academy-green); }
.academy-signup-shell .academy-checkout-freelink {
  width: 100%;
  margin-top: 2px;
  padding: 4px 0;
  border: 0;
  background: none;
  color: var(--academy-sub, #4d5a6a);
  font-size: 12.5px;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.academy-signup-shell .academy-checkout-freelink:hover,
.academy-signup-shell .academy-checkout-freelink:focus-visible { color: var(--academy-ink, #0a1f3d); }
@media (max-width: 1080px) {
  .academy-signup-shell .academy-checkout-grid { grid-template-columns: 1fr; }

  .academy-gateway .academy-signup-shell .academy-checkout-card { position: static; order: -1; }
}

@media (max-width: 860px) {
  .academy-profile-layout { grid-template-columns: 1fr; }
  .academy-signup-summary { position: static; }
  .academy-signup-trust { grid-template-columns: 1fr; }
  .academy-signup-trust > div { min-height: 0; }
}
@media (max-width: 560px) {
  .academy-signup-shell {
    width: min(100% - 28px, 1180px);
    padding-top: 30px;
  }
  .academy-signup-progress { margin-bottom: 44px; }
  .academy-signup-progress li {
    grid-template-columns: 1fr;
    gap: 7px;
    justify-items: center;
    text-align: center;
  }
  .academy-signup-progress li:not(:last-child)::after {
    top: 16px;
    right: -50%;
    left: 50%;
  }
  .academy-signup-progress li > small {
    width: auto;
    padding: 0 3px;
    background: transparent;
    font-size: 8px;
    line-height: 1.3;
    white-space: normal;
  }
  .academy-signup-shell .academy-enroll-head h1 {
    font-size: clamp(34px, 11vw, 48px);
    letter-spacing: -.035em;
  }
  .academy-signup-shell .academy-enroll-head p { font-size: 15px; }
  .academy-signup-shell .academy-enroll-card { min-height: 0; padding: 25px; }
  .academy-signup-shell .academy-enroll-card > p { min-height: 0; }

  .academy-plan-top { align-items: center; flex-direction: column; }
  .academy-signup-shell .academy-profile-form { padding: 20px; }
  .academy-signup-shell .academy-identity-note { grid-template-columns: 44px 1fr; }
  .academy-signup-shell .academy-identity-note p { grid-column: 1 / -1; }
  .academy-signup-shell .academy-profile-actions { align-items: stretch; }
  .academy-signup-shell .academy-checkout-meta { grid-template-columns: 1fr; gap: 3px; }
  .academy-signup-shell .academy-checkout-meta strong { margin-bottom: 8px; }
  .academy-signup-shell .academy-checkout-value { padding: 20px; }
  .academy-signup-shell .academy-checkout-card { padding: 20px; }
}

body button.academy-classroom-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 36px;
  padding: 7px 12px;
  color: #0a315d;
  background: transparent;
  border: 1px solid var(--academy-line, #d7dde5);
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
  font: 600 12.5px/1.2 var(--academy-sans, "IBM Plex Sans", sans-serif);
  letter-spacing: .01em;
  text-decoration: none !important;
  text-align: left;
  white-space: normal;
}
body button.academy-classroom-back:hover {
  color: #061f3e;
  background: #f6f8fa;
  border-color: #0a315d;
}
body button.academy-classroom-back:focus-visible {
  outline: 3px solid var(--academy-blue, #0a315d);
  outline-offset: 2px;
}

@media (max-width: 600px) {
  body button.academy-classroom-back {
    min-height: 44px;
  }
}

body.gn-modern #view-code {
  --academy-bg: #f4efe5;
  --academy-surface: #fffdf8;
  --academy-surface-2: #f1e9dc;
  --academy-raised: #ffffff;
  --academy-line: #d3c6b2;
  --academy-line-soft: #e3d9c9;
  --academy-ink: #07192d;
  --academy-sub: #405063;
  --academy-muted: #66717d;
  --academy-blue: #0a2b4b;
  --academy-blue-strong: #174b75;
  --academy-blue-dark: #e5edf1;
  --academy-green: #356a50;
  --academy-amber: #a87319;

  padding: 34px 8px 72px;
  background-color: #f4efe5;
  background-image:
    linear-gradient(rgba(7, 25, 45, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 25, 45, .025) 1px, transparent 1px);
  background-size: 64px 64px;
  overflow-anchor: none;
}

body.gn-modern #view-code .codelab-entry,
body.gn-modern #view-code .codelab-workspace { width: 100%; }
body.gn-modern #view-code .academy-classroom-hero {
  position: relative;
  min-height: 230px;
  padding: clamp(30px, 4vw, 54px);
  overflow: hidden;
  border: 1px solid #bcae98;
  border-top: 3px solid #a87319;
  border-radius: var(--r-card, 14px);
  background: #fffdf8;
  background-image: none;
  box-shadow: 0 18px 44px rgba(7, 25, 45, .055);
}
body.gn-modern #view-code .academy-classroom-hero::after {
  position: absolute;
  right: -78px;
  bottom: -138px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(168, 115, 25, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(168, 115, 25, .035), 0 0 0 82px rgba(10, 43, 75, .025);
  content: "";
  pointer-events: none;
}
body.gn-modern #view-code .academy-classroom-hero-copy { position: relative; z-index: 1; }
body.gn-modern #view-code .academy-classroom-hero-copy > span {
  color: #8d6119;
  font-size: 10px;
  letter-spacing: .18em;
}
body.gn-modern #view-code .academy-classroom-hero h1 {
  max-width: 760px;
  margin: 12px 0 14px;
  color: #07192d;
  font-family: var(--academy-serif), Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .98;
}
body.gn-modern #view-code .academy-classroom-hero p {
  color: #405063;
  font-size: 14px;
  letter-spacing: .01em;
}
body.gn-modern #view-code .academy-classroom-status {
  position: relative;
  z-index: 1;
  flex-basis: 245px;
  padding: 20px;
  border: 1px solid #c9bda9;
  border-left: 3px solid #356a50;
  background: #f3eee4;
}
body.gn-modern #view-code .academy-classroom-status small { color: #8d6119; }
body.gn-modern #view-code .academy-classroom-status strong { color: #28533e; font-size: 14px; }
body.gn-modern #view-code .academy-classroom-status strong i { box-shadow: none; }
body.gn-modern #view-code .academy-classroom-status span { color: #526071; }

body.gn-modern #view-code .academy-classroom-launchers {
  gap: 14px;
  margin-top: 18px;
  border: 0;
  background: transparent;
}
body.gn-modern #view-code .academy-classroom-lane {
  min-height: 245px;
  padding: 74px 24px 24px;
  border: 1px solid #cfc2ae;
  border-top: 3px solid #0a2b4b;
  border-radius: var(--r-chip, 8px);
  background: #fffdf8;
  box-shadow: 0 12px 28px rgba(7, 25, 45, .035);
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
body.gn-modern #view-code .academy-classroom-lane:hover {
  border-color: #a88d61;
  background: #fff;
  transform: translateY(-2px);
}
body.gn-modern #view-code .academy-classroom-lane::after {
  align-self: end;
  color: #174b75;
  content: "Enter →";
  font-size: 11px;
  letter-spacing: .03em;
}
body.gn-modern #view-code .academy-classroom-lane.pro-locked::after { content: "Preview →"; }
body.gn-modern #view-code .academy-classroom-lane > span:not(.academy-classroom-lane-icon) {
  color: #8d6119;
  font-size: 9px;
  letter-spacing: .14em;
}
body.gn-modern #view-code .academy-classroom-lane strong {
  color: #07192d;
  font-family: var(--academy-serif), Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 500;
  line-height: 1.1;
}
body.gn-modern #view-code .academy-classroom-lane small { color: #526071; font-size: 11px; }
body.gn-modern #view-code .academy-classroom-lane-icon {
  top: 22px;
  left: 24px;
  width: 34px;
  height: 34px;
  border: 1px solid #c7b492;
  border-radius: 50%;
  background: #f3ecdf;
  color: #174b75;
}
body.gn-modern #view-code .codelab-whiteteam-btn .academy-classroom-lane-icon { color: #356a50; }
body.gn-modern #view-code .codelab-greypath-btn .academy-classroom-lane-icon { color: #a87319; }
body.gn-modern #view-code .academy-classroom-lane-number {
  position: absolute;
  top: 22px;
  right: 24px;
  color: #b7a88f;
  font-family: var(--academy-serif), Georgia, serif;
  font-size: 25px;
  font-style: normal;
}

body.gn-modern #view-code .codelab-workspace {
  grid-template-rows: auto auto auto auto auto;
  border: 1px solid #bcae98;
  border-top: 3px solid #a87319;
  border-radius: var(--r-chip, 8px);
  background: #fffdf8;
  box-shadow: 0 18px 44px rgba(7, 25, 45, .055);
  scroll-margin-top: 90px;
  overflow-anchor: none;
}

@media (min-width: 1200px) {
  body.gn-modern #view-code .codelab-workspace[data-codelab-stage="reading"] {
    grid-template-rows: auto repeat(5, minmax(0, 1fr));
    height: 100%;
    min-height: 0;
  }

  body.gn-modern #view-code .codelab-workspace[data-codelab-stage="reading"] > .exam-panel:not([hidden]),
  body.gn-modern #view-code .codelab-workspace[data-codelab-stage="reading"] > .codelab-task-rail {
    height: auto;
    min-height: 0;
  }
}
body.gn-modern #view-code .codelab-workspace-head {
  grid-row: 1;
  min-height: 76px;
  padding: 12px 18px;
  border-bottom-color: #d7cbb8;
  background: #fffdf8;
}
body.gn-modern #view-code .codelab-path-switcher button {
  min-height: 36px;
  border-color: transparent;
  border-radius: var(--r-chip, 8px);
  background: transparent;
  color: #526071;
}

body.gn-modern #view-code .academy-workspace-view .codelab-workspace > .codelab-task-rail,
body.gn-modern #view-code .codelab-workspace > .codelab-task-rail {
  grid-column: 1;
  grid-row: 2 / span 5;
  height: clamp(650px, 78vh, 920px);
  background: #f8f4ec;
}
body.gn-modern #view-code .academy-workspace-view .codelab-workspace .codelab-controls,
body.gn-modern #view-code .codelab-workspace .codelab-controls {
  grid-column: 2;
  grid-row: 2;
  border-bottom-color: #d7cbb8;
  background: #fffdf8;
}
body.gn-modern #view-code .codelab-workspace .codelab-toolbar { min-height: 66px; padding: 11px 14px; }
body.gn-modern #view-code .codelab-primary-actions .inline-btn {
  border-color: #0a2b4b;
  border-radius: var(--r-chip, 8px);
  background: #0a2b4b;
  color: #f2d694;
}
body.gn-modern #view-code .codelab-tools { border-top-color: #e3d9c9; }
body.gn-modern #view-code .codelab-tools-drawer { border-top-color: #d7cbb8; background: #f1e9dc; }
body.gn-modern #view-code .codelab-secondary-actions .inline-btn,
body.gn-modern #view-code .codelab-tools-drawer .codelab-collab .inline-btn { border-color: #c9bda9; background: #fffdf8; color: #405063; }
body.gn-modern #view-code .codelab-workspace > .cl-diff { grid-row: 4; }
body.gn-modern #view-code .codelab-workspace > .exam-panel { grid-row: 2 / span 5; }

body.gn-modern #view-code .academy-workspace-view .bb-academy,
body.gn-modern #view-code .academy-workspace-view .greypath,
body.gn-modern #view-code .codelab-task-rail > .bb-academy,
body.gn-modern #view-code .codelab-task-rail > .greypath {
  border-color: #cfc2ae;
  border-top: 0;
  background: #f8f4ec;
  color: #07192d;
}
body.gn-modern #view-code .bb-academy-bar,
body.gn-modern #view-code .greypath-bar,
body.gn-modern #view-code .greypath.wt-mode .greypath-bar {
  min-height: 72px;

  flex-shrink: 0;
  border-bottom-color: #d7cbb8;
  background: #0a2b4b;
}
body.gn-modern #view-code :is(.bb-academy-name, .greypath-name),
body.gn-modern #view-code .greypath.wt-mode .greypath-name { color: #fffdf8; font-family: var(--academy-serif), Georgia, serif; font-size: 17px; font-weight: 500; }
body.gn-modern #view-code .bb-academy-name::before,
body.gn-modern #view-code .greypath-name::before,
body.gn-modern #view-code .greypath.wt-mode .greypath-name::before { color: #d6b56f; }
body.gn-modern #view-code :is(.bb-academy-sub, .greypath-sub) { color: #c8d1db; }
body.gn-modern #view-code :is(.bb-academy-xp, .greypath-score) { border-color: rgba(242, 214, 148, .35); background: #102f50; color: #f2d694; }
body.gn-modern #view-code :is(.bb-academy-close, .greypath-close, .greypath-mode-btn) { border-color: rgba(242, 214, 148, .35); border-radius: var(--r-chip, 8px); background: #102f50; color: #fffdf8; }
body.gn-modern #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) { background: #f8f4ec; color: #07192d; }
body.gn-modern #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(h3, h4, h5, strong) { color: #07192d; }
body.gn-modern #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(p, label, small, [role="status"]) { color: #405063; }
body.gn-modern #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(a, .bba-link, .gp-link, .wt-link) { color: #174b75; }

@media (max-width: 1199px) {
  body.gn-modern #view-code .academy-workspace-view .codelab-workspace .codelab-controls,
body.gn-modern #view-code .codelab-workspace .codelab-controls { order: 3; }
}
@media (max-width: 980px) {
  body.gn-modern #view-code .academy-classroom-launchers { grid-template-columns: 1fr; }
  body.gn-modern #view-code .academy-classroom-lane { min-height: 190px; border: 1px solid #cfc2ae; border-top: 3px solid #0a2b4b; }
}
@media (max-width: 720px) {
  body.gn-modern #view-code .academy-classroom-hero { min-height: 0; padding: 28px 22px; }
  body.gn-modern #view-code .academy-classroom-hero h1 { font-size: clamp(36px, 12vw, 52px); }
  body.gn-modern #view-code .academy-classroom-status { flex-basis: auto; }
  body.gn-modern #view-code .bb-academy-bar,
  body.gn-modern #view-code .greypath-bar { min-height: 66px; padding: 10px 12px; }
}
@media (max-width: 420px) {
  body.gn-modern #view-code .academy-classroom-status { padding: 16px; }
  body.gn-modern #view-code .academy-classroom-lane { min-height: 175px; padding: 68px 18px 20px; }
  body.gn-modern #view-code .academy-classroom-lane-icon { left: 18px; }
  body.gn-modern #view-code .academy-classroom-lane-number { right: 18px; }
}

body.gn-modern .academy-help-fab { display: none; }

body.gn-modern #view-drop {
  --practice-bg: #f4efe5;
  --practice-surface: #fffdf8;
  --practice-surface-2: #f8f2e8;
  --practice-ink: #07192d;
  --practice-sub: #405063;
  --practice-muted: #66717d;
  --practice-line: #d7cbb8;
  --practice-line-strong: #b8a98f;
  --practice-blue: #0a2b4b;
  --practice-blue-soft: #e7edf2;
  --practice-brass: #a87319;
  --practice-brass-soft: #eee1cb;
  min-height: 100%;
  padding: 28px clamp(18px, 3vw, 42px) 72px;
  color: var(--practice-ink);
  background: var(--practice-bg);
  font-family: var(--academy-sans, "IBM Plex Sans", "Segoe UI", sans-serif);
}
body.gn-modern #view-drop :where(button, .inline-btn) {
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
}
body.gn-modern .gn-rail .nav-link { scroll-margin-block: 14px; }
body.gn-modern .nav-practice { padding-top: 4px; border-top: 1px solid rgba(196, 154, 80, .28); }
body.gn-modern #view-drop .drop-composer {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid var(--practice-line-strong);
  border-top: 3px solid var(--practice-brass);
  border-radius: var(--r-card, 14px);
  background: var(--practice-surface);
}
body.gn-modern #view-drop .drop-post-btn { border: 1px solid var(--practice-blue); border-radius: var(--r-ctl, 10px); background: var(--practice-blue); color: #f2d694; }

body.academy-gateway-open { background: #fff !important; }
.academy-gateway {
  --r-card: 14px;
  --r-ctl: 10px;
  --r-chip: 8px;
  --academy-surface: #fff;
  --academy-surface-2: #f6f8fa;
  --academy-raised: #fff;
  --academy-line-soft: #e8ecf1;
  --academy-display: var(--gn-display);
  --academy-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --academy-serif: var(--gn-display);
  --academy-bg: #fff;
  --academy-paper: #fff;
  --academy-ink: #0a1f3d;
  --academy-sub: #4d5a6a;
  --academy-muted: #677382;
  --academy-line: #d7dde5;
  --academy-blue: #0a315d;
  --academy-blue-strong: #0a315d;
  --academy-green: #0a315d;
  --academy-alert: #b42318;
  --academy-danger: #b42318;
  min-height: 100vh;
  background: #fff;
  color: var(--academy-ink);
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.academy-gateway button,
.academy-gateway input,
.academy-gateway select,
.academy-gateway textarea { font: inherit; }
.academy-gateway-header {
  position: sticky;
  z-index: 20;
  top: 0;
  min-height: 78px;
  padding: 0 max(24px, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid var(--academy-line);
  background: rgba(255,255,255,.97);
  box-shadow: none;
}
.academy-wordmark { color: var(--academy-ink); }
.academy-wordmark-seal { width: 40px; height: 40px; border: 0; background: transparent; }
.academy-wordmark-seal img { filter: none; }
.academy-wordmark strong { color: var(--academy-ink); font-family: var(--academy-display); font-size: 17px; font-weight: 700; letter-spacing: .12em; }
.academy-wordmark small { color: var(--academy-sub); letter-spacing: .18em; }
.academy-gateway-nav { gap: 8px; }
.academy-header-link { min-height: 40px; padding: 0 10px; border: 0; color: #34445a; background: transparent; font-size: 14px; font-weight: 600; text-decoration: none; }
.academy-header-link:hover { color: var(--academy-ink); background: #f3f5f7; }
.academy-header-divider { height: 24px; background: var(--academy-line); }
.academy-header-signin { color: var(--academy-ink); }
.academy-header-cta { padding-inline: 16px; border: 1px solid var(--academy-blue); color: #fff; background: var(--academy-blue); }
.academy-header-cta:hover { color: #fff; background: #061f3e; }
body.gn-modern .academy-gateway .academy-header-link { color: #34445a; }
body.gn-modern .academy-gateway .academy-header-link:hover { color: var(--academy-ink); background: #f3f5f7; }
body.gn-modern .academy-gateway .academy-header-cta { border-color: var(--academy-blue); color: #fff; background: var(--academy-blue); }
body.gn-modern .academy-gateway .academy-header-cta:hover { border-color: #061f3e; color: #fff; background: #061f3e; }
.academy-gateway-main { max-width: 1280px; margin: 0 auto; }
.academy-landing { padding: 0 32px 96px; }
.academy-hero-grid { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(360px, .93fr); gap: 64px; align-items: stretch; padding: 96px 0 78px; border-bottom: 1px solid var(--academy-line); }
.academy-eyebrow,
.academy-section-intro > span,
.academy-practice-copy > span,
.academy-standard-note > span,
.academy-final-cta > span,
.academy-enroll-head > span,
.academy-hero-record > span,
.academy-confirmation-summary dt,
.academy-intake-program-number {
  color: var(--academy-blue);
  font-family: var(--academy-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.academy-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.academy-hero-copy h1 { max-width: 780px; margin: 20px 0; color: var(--academy-ink); font-family: var(--academy-display); font-size: clamp(42px, 5.4vw, 68px); font-weight: 650; line-height: 1.02; letter-spacing: -.035em; }
.academy-hero-copy h1 em { color: var(--academy-blue); font-style: normal; }
.academy-hero-lede { max-width: 620px; margin: 0; color: var(--academy-sub); font-size: 19px; line-height: 1.6; }
.academy-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.academy-btn { min-height: 48px; padding: 0 20px; border: 1px solid var(--academy-blue); border-radius: var(--r-ctl, 10px); font-size: 16px; font-weight: 750; line-height: 1; box-shadow: none; }
.academy-btn-primary { color: #fff; background: var(--academy-blue); }
.academy-btn-primary:hover { color: #fff; background: #061f3e; transform: none; }
.academy-btn-secondary { color: var(--academy-blue); background: #fff; }
.academy-btn-secondary:hover { color: var(--academy-ink); border-color: var(--academy-ink); background: #f6f8fa; transform: none; }
.academy-hero-proof { margin-top: 30px; color: var(--academy-sub); font-size: 14px; font-weight: 650; }
.academy-hero-proof i { width: 4px; height: 4px; border-radius: 50%; background: var(--academy-blue); }
.academy-hero-record { display: flex; flex-direction: column; padding: 38px; border: 1px solid #061b35; background: #0a2342; color: #fff; }
.academy-hero-record > span { color: #d7e6f7; }
.academy-hero-record h2 { margin: 22px 0 12px; color: #fff; font-family: var(--academy-display); font-size: 30px; font-weight: 600; letter-spacing: -.02em; }
.academy-hero-record > p { margin: 0; color: #d8e2ed; font-size: 16px; line-height: 1.6; }
.academy-hero-record dl { display: grid; gap: 0; margin: 32px 0 0; border-top: 1px solid rgba(255,255,255,.3); }
.academy-hero-record dl > div { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.academy-hero-record dt { color: #cadbf0; font-family: var(--academy-mono); font-size: 12px; font-weight: 500; }
.academy-hero-record dd { display: grid; gap: 4px; margin: 0; }
.academy-hero-record dd strong { color: #fff; font-size: 15px; }
.academy-hero-record dd span { color: #d8e2ed; font-size: 14px; line-height: 1.45; }
.academy-statband { border-color: var(--academy-line); background: #f6f7f9; }
.academy-stat { min-height: 108px; padding: 22px 24px; border-color: var(--academy-line); }
.academy-stat-n { color: var(--academy-ink); font-family: var(--academy-mono); font-size: 28px; font-weight: 500; letter-spacing: -.02em; }
.academy-stat-l { color: var(--academy-sub); font-size: 14px; font-weight: 650; }
.academy-schools,
.academy-practice,
.academy-final-cta { padding-top: 86px; }
.academy-section-intro h2,
.academy-practice-copy h2,
.academy-final-cta h2 { color: var(--academy-ink); font-family: var(--academy-display); font-size: clamp(28px, 3vw, 40px); font-weight: 600; letter-spacing: -.025em; }
.academy-section-intro p,
.academy-practice-copy p,
.academy-final-cta > p { color: var(--academy-sub); font-size: 17px; line-height: 1.6; }
.academy-school-grid { gap: 0; border: 1px solid var(--academy-line); }
.academy-school-card { min-height: 360px; padding: 32px; border: 0; border-right: 1px solid var(--academy-line); border-radius: var(--r-card, 14px); background: #fff; box-shadow: none; }
.academy-school-card:last-child { border-right: 0; }
.academy-school-card:hover { border-color: transparent; background: #f8fafc; box-shadow: inset 0 3px 0 var(--academy-blue); transform: none; }
.academy-school-head { justify-content: flex-start; gap: 16px; }
.academy-school-code { color: var(--academy-blue); font-size: 13px; }
.academy-school-head small { color: var(--academy-blue); }
.academy-school-card h3 { color: var(--academy-ink); font-family: var(--academy-display); font-size: 23px; font-weight: 600; letter-spacing: -.015em; }
.academy-school-card p,
.academy-school-card li { color: var(--academy-sub); font-size: 15px; line-height: 1.55; }
.academy-school-card ul { border-color: var(--academy-line); }
.academy-school-card li::before { color: var(--academy-blue); }
.academy-school-card button { color: var(--academy-blue); font-size: 15px; font-weight: 750; }
.academy-school-card button:hover { color: #061f3e; }
.academy-practice { grid-template-columns: .8fr 1.55fr .75fr; gap: 0; border-top: 1px solid var(--academy-line); }
.academy-practice-copy,
.academy-standard-note { padding: 34px 28px; border: 1px solid var(--academy-line); border-top: 0; background: #fff; }
.academy-practice-list { border-top: 0; border-bottom: 1px solid var(--academy-line); }
.academy-practice-list > div { min-height: 128px; padding: 22px; border-color: var(--academy-line); background: #fff; }
.academy-practice-list b { color: var(--academy-blue); }
.academy-practice-list svg { color: var(--academy-blue); }
.academy-practice-list strong { color: var(--academy-ink); }
.academy-practice-list span { color: var(--academy-sub); }
.academy-standard-note { background: #f6f7f9; }
.academy-standard-note strong { color: var(--academy-ink); font-family: var(--academy-display); font-size: 21px; font-weight: 600; letter-spacing: -.015em; }
.academy-standard-note p { color: var(--academy-sub); }
.academy-standard-note a { color: var(--academy-blue); }
.academy-final-cta { max-width: 800px; margin: 86px auto 0; padding-bottom: 0; text-align: center; }
.academy-final-cta > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.academy-final-note { color: var(--academy-sub); font-size: 14px; }

.academy-compare,
.academy-trust { margin: 0 auto; padding-top: 86px; }
.academy-compare .academy-section-intro p,
.academy-trust .academy-section-intro p { max-width: 68ch; }
.academy-compare-table { width: 100%; margin-top: 28px; border-collapse: collapse; table-layout: fixed; font-size: 15px; }
.academy-compare-table th,
.academy-compare-table td { padding: 14px 16px; border-bottom: 1px solid var(--academy-line); text-align: left; vertical-align: top; line-height: 1.45; }
.academy-compare-table thead th { color: var(--academy-sub); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.academy-compare-table tbody th { color: var(--academy-ink); font-weight: 600; }
.academy-compare-table td { color: var(--academy-sub); }
.academy-compare-feature { width: 52%; }
.academy-compare-yes { color: var(--academy-ink); font-weight: 600; }
.academy-compare-yes::before { content: "\2713\00a0"; color: var(--gn-ok); }
.academy-compare-actions { margin-top: 24px; }
.academy-trust-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 40px; margin: 28px 0 0; }
.academy-trust-list > div { padding: 18px 0; border-top: 1px solid var(--academy-line); }
.academy-trust-list dt { color: var(--academy-ink); font-size: 16px; font-weight: 700; }
.academy-trust-list dd { margin: 6px 0 0; color: var(--academy-sub); font-size: 15px; line-height: 1.55; }
.academy-trust-list a { color: var(--academy-blue); }
@media (max-width: 640px) {
  .academy-compare,
  .academy-trust { padding-top: 56px; }
  .academy-compare-table { font-size: 14px; }
  .academy-compare-table th,
  .academy-compare-table td { padding: 10px 8px; }
  .academy-compare-feature { width: 46%; }
  .academy-trust-list { grid-template-columns: 1fr; gap: 0; }
}
.academy-gateway-footer { margin-top: 0; border-top: 0; background: #091f3a; }
.academy-foot-brand p,
.academy-foot-col li button,
.academy-foot-col li a,
.academy-foot-legal { color: #dce5ef; }
.academy-foot-col h4,
.academy-foot-word strong { color: #fff; }
.academy-foot-legal { border-color: rgba(255,255,255,.2); }

.academy-enrollment { min-height: calc(100vh - 79px); padding: 0 32px 100px; background: #fff; }
.academy-signup-shell,
.academy-orientation { max-width: 1040px; margin: 0 auto; padding: 80px 0 0; }
.academy-signup-progress { max-width: 720px; margin: 0 0 36px; }
.academy-signup-progress ol { gap: 0; }
.academy-signup-progress li { flex: 1; min-height: 42px; padding: 0 10px 10px 0; border-bottom: 2px solid var(--academy-line); color: var(--academy-muted); }
.academy-signup-progress li::after { display: none; }
.academy-signup-progress li span { width: auto; height: auto; margin: 0 7px 0 0; border: 0; border-radius: var(--r-ctl, 10px); color: inherit; background: transparent; font-size: 13px; }
.academy-signup-progress li small { color: inherit; font-size: 12px; font-weight: 750; letter-spacing: .04em; }
.academy-signup-progress li.active { border-color: var(--academy-blue); color: var(--academy-blue); }
.academy-signup-progress li.complete { color: var(--academy-ink); }
.academy-enroll-head { margin-bottom: 38px; }
.academy-enroll-head h1,
.academy-checkout-waiting h1,
.academy-checkout-unconfirmed h1,
.academy-orientation h1 { margin: 13px 0; color: var(--academy-ink); font-family: var(--academy-display); font-size: clamp(32px, 4.2vw, 48px); font-weight: 650; line-height: 1.06; letter-spacing: -.03em; }
.academy-enroll-head p,
.academy-checkout-waiting > p,
.academy-checkout-unconfirmed > p,
.academy-orientation-lede { max-width: 670px; color: var(--academy-sub); font-size: 17px; line-height: 1.6; }
.academy-intake-programs { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--academy-line); }
.academy-intake-program { display: flex; min-height: 350px; flex-direction: column; align-items: flex-start; padding: 30px; border-right: 1px solid var(--academy-line); background: #fff; }
.academy-intake-program:last-child { border-right: 0; }
.academy-intake-program.selected { box-shadow: inset 0 3px 0 var(--academy-blue); background: #f8fafc; }
.academy-intake-program h2 { margin: 20px 0 14px; color: var(--academy-ink); font-family: var(--academy-display); font-size: 23px; font-weight: 600; letter-spacing: -.015em; }
.academy-intake-program p { margin: 0; color: var(--academy-sub); font-size: 15px; line-height: 1.6; }
.academy-intake-program-detail { margin-top: 22px !important; padding-top: 17px; border-top: 1px solid var(--academy-line); }
.academy-intake-program .academy-btn { width: 100%; margin-top: auto; }
.academy-enroll-choices { border-color: var(--academy-line); background: #fff; }
.academy-enroll-card { min-height: 440px; padding: 34px; border-right-color: var(--academy-line); background: #fff; }
.academy-enroll-card.primary { border-top: 3px solid var(--academy-blue); background: #f8fafc; }
.academy-plan-top small,
.academy-plan-badge { color: var(--academy-blue); }
.academy-plan-badge { border-color: var(--academy-line); background: #fff; }
.academy-plan-badge.quiet { color: var(--academy-sub); }
.academy-enroll-card h2 { color: var(--academy-ink); font-family: var(--academy-display); font-size: 24px; font-weight: 600; letter-spacing: -.015em; }
.academy-enroll-card p,
.academy-enroll-card ul { color: var(--academy-sub); font-size: 15px; }
.academy-enroll-card li::before { color: var(--academy-blue); }
.academy-plan-price { color: var(--academy-ink); font-size: 19px; }
.academy-plan-price-note,
.academy-plan-footnote { color: var(--academy-muted); }
.academy-enroll-reassurance { margin: -18px 0 22px; }
.academy-enroll-reassurance span { color: var(--academy-sub); background: transparent; }
.academy-enroll-reassurance span + span::before { color: var(--academy-line); content: "•"; }
.academy-enroll-back { color: var(--academy-blue); font-size: 15px; }
.academy-enroll-back:hover { color: var(--academy-ink); }
.academy-signup-trust { grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-color: var(--academy-line); }
.academy-signup-trust > div { min-height: 0; padding: 20px; border-color: var(--academy-line); background: #f8fafc; }
.academy-signup-trust strong { color: var(--academy-ink); }
.academy-signup-trust p { color: var(--academy-sub); font-size: 14px; }

@media (max-width: 860px) {
  .academy-signup-trust { grid-template-columns: 1fr; }
  .academy-signup-trust > div { min-height: 0; }
}
.academy-profile-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
.academy-profile-form { grid-template-columns: 1fr; gap: 20px; padding: 32px; border-color: var(--academy-line); background: #fff; }
.academy-profile-form label { gap: 8px; color: var(--academy-ink); font-size: 15px; font-weight: 700; }
.academy-profile-form input,
.academy-profile-form textarea,
.academy-profile-form select,
.academy-orientation select { border-color: #aab4c1; border-radius: var(--r-ctl, 10px); color: var(--academy-ink); background: #fff; font-size: 16px; }
.academy-profile-form input:focus,
.academy-profile-form textarea:focus,
.academy-profile-form select:focus,
.academy-orientation select:focus { border-color: var(--academy-blue); outline: 3px solid rgba(10,49,93,.18); outline-offset: 1px; box-shadow: none; }
.academy-field-help,
.academy-field-counter { color: var(--academy-sub); font-size: 14px; font-weight: 400; line-height: 1.45; }
.academy-optional { color: var(--academy-muted); }
.academy-identity-note { border-color: var(--academy-line); border-left: 3px solid var(--academy-blue); background: #f6f8fa; }
.academy-identity-note strong { color: var(--academy-ink); }
.academy-identity-note p { color: var(--academy-sub); font-size: 14px; }
.academy-identity-mark { color: var(--academy-blue); }
.academy-profile-save-status[data-kind="error"] { color: var(--academy-alert); }
.academy-profile-save-status { font-size: 15px; line-height: 1.5; }
.academy-profile-actions { gap: 12px; justify-content: flex-end; }
.academy-signup-summary { border-color: var(--academy-line); background: #f6f8fa; }
.academy-signup-summary h2,
.academy-summary-plan strong { color: var(--academy-ink); font-family: var(--academy-display); font-weight: 600; }
.academy-signup-summary li { border-color: var(--academy-line); }
.academy-signup-summary li strong { color: var(--academy-ink); }
.academy-signup-summary li p,
.academy-summary-plan p { color: var(--academy-sub); }
.academy-checkout-note { color: var(--academy-sub); font-size: 14px; }
.academy-checkout-status { color: var(--academy-blue); font-size: 15px; }
.academy-confirmation-shell { max-width: 720px; }
.academy-confirmation-summary { margin: 0; border: 1px solid var(--academy-line); }
.academy-confirmation-summary > div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 19px 22px; border-bottom: 1px solid var(--academy-line); }
.academy-confirmation-summary > div:last-child { border-bottom: 0; }
.academy-confirmation-summary dt { align-self: center; }
.academy-confirmation-summary dd { margin: 0; color: var(--academy-ink); font-size: 16px; font-weight: 700; }
.academy-confirmation-note { margin: 20px 0 0; color: var(--academy-sub); font-size: 15px; line-height: 1.55; }
.academy-confirmation-shell .academy-profile-actions { margin-top: 30px; }

@media (max-width: 900px) {
  .academy-gateway-header { padding-inline: 20px; }
  .academy-landing { padding-inline: 20px; }
  .academy-hero-grid { grid-template-columns: 1fr; gap: 34px; padding: 64px 0; }
  .academy-hero-record { min-height: 0; }
  .academy-practice { grid-template-columns: 1fr; }
  .academy-practice-copy,
.academy-standard-note { border-top: 1px solid var(--academy-line); }
  .academy-intake-programs { grid-template-columns: 1fr; }
  .academy-intake-program { min-height: 0; border-right: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-intake-program:last-child { border-bottom: 0; }
  .academy-profile-layout { grid-template-columns: 1fr; }
  .academy-signup-summary { order: -1; }
}
@media (max-width: 640px) {
  .academy-gateway-header { min-height: 66px; padding-inline: 16px; }
  .academy-wordmark-seal { width: 34px; height: 34px; }
  .academy-wordmark strong { font-size: 16px; }
  .academy-wordmark small { font-size: 8px; }
  .academy-header-cta { min-height: 38px; padding-inline: 10px; font-size: 13px; }
  .academy-landing,
  .academy-enrollment { padding-inline: 16px; }
  .academy-hero-grid { padding: 48px 0; }
  .academy-hero-copy h1 { font-size: 44px; }
  .academy-hero-lede { font-size: 17px; }
  .academy-hero-actions { width: 100%; }
  .academy-hero-actions .academy-btn { width: 100%; }
  .academy-hero-record { padding: 26px; }
  .academy-hero-record h2 { font-size: 30px; }
  .academy-statband { grid-template-columns: repeat(2, 1fr); }
  .academy-stat { min-height: 90px; padding: 16px; }
  .academy-school-grid,
  .academy-enroll-choices { grid-template-columns: 1fr; }
  .academy-school-card,
  .academy-enroll-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-school-card:last-child,
  .academy-enroll-card:last-child { border-bottom: 0; }
  .academy-practice-list { grid-template-columns: 1fr; }
  .academy-signup-shell,
.academy-orientation { padding-top: 44px; }
  .academy-signup-progress { margin-bottom: 28px; overflow-x: auto; }
  .academy-signup-progress ol { min-width: 520px; }
  .academy-profile-form { padding: 22px; }
  .academy-profile-actions { align-items: stretch; flex-direction: column-reverse; }
  .academy-profile-actions .academy-btn { width: 100%; }
  .academy-confirmation-summary > div { grid-template-columns: 1fr; gap: 7px; }
  .academy-gateway-footer { margin-inline: -16px; }
}

:root { --academy-flow-display: var(--gn-display); --academy-flow-text: var(--gn-description); --academy-flow-measure: 1200px; }
.academy-classflow { max-width: none; margin: 0 auto; padding-top: 34px; font-family: var(--academy-flow-text); }
.academy-classflow-top {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px 18px;
}
.academy-classflow-top > div { display: grid; gap: 7px; }

.academy-classflow-lead { flex: 1 1 280px; min-width: 0; }
.academy-classflow-topmeta { flex: 0 0 auto; margin-left: auto; }
.academy-classflow-topmeta strong { white-space: nowrap; }
.academy-classflow-top strong { color: var(--academy-ink); font-size: 15px; letter-spacing: .02em; }
.academy-classflow-topmeta { justify-items: end; text-align: right; }
.academy-classflow-topmeta strong { font-family: var(--academy-mono); font-size: 13px; letter-spacing: .14em; }
.academy-classflow-topmeta span { color: var(--academy-muted); font-family: var(--academy-mono); font-size: 12px; }
.academy-classflow-progress { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; margin: 14px 0 30px; }
.academy-classflow-progress i { height: 3px; background: var(--academy-line); }
.academy-classflow-progress i.active { background: var(--academy-blue); }
.academy-classflow-head { display: grid; gap: 12px; margin-bottom: 24px; }
.academy-classflow-head > .academy-classflow-title {
  margin: 0;
  color: var(--academy-ink);
  font-family: var(--academy-display);
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.02em;
}
.academy-classflow-head p { max-width: 640px; margin: 0; color: var(--academy-sub); font-size: 16px; line-height: 1.6; }
.academy-classflow-terms { display: grid; gap: 1px; margin: 0 0 26px; border: 1px solid var(--academy-line); background: var(--academy-line); }
.academy-classflow-terms > div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 14px;
  padding: 15px 18px;
  background: var(--academy-surface);
}
.academy-classflow-terms dt { color: var(--academy-blue); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; }
.academy-classflow-terms dd { margin: 0; color: var(--academy-sub); font-size: 14px; line-height: 1.55; }
.academy-classflow-answers { display: grid; gap: 10px; margin-bottom: 16px; }

.academy-classflow .academy-classflow-answer {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 0;
  padding: 15px 17px;
  border: 1px solid var(--academy-line);
  border-radius: 0;
  background: var(--academy-surface);
  color: var(--academy-ink);
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}
.academy-classflow .academy-classflow-answer:hover { border-color: var(--academy-blue); }
.academy-classflow-answer-key {
  flex: none;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--academy-line);
  color: var(--academy-muted);
  font-family: var(--academy-mono);
  font-size: 12px;
}

.academy-classflow .academy-classflow-answer[data-state="right"] { border-color: var(--academy-green); color: var(--academy-green); }
.academy-classflow .academy-classflow-answer[data-state="right"] .academy-classflow-answer-key { border-color: var(--academy-green); color: var(--academy-green); }
.academy-classflow .academy-classflow-answer[data-state="wrong"] { border-color: var(--academy-danger); color: var(--academy-danger); }
.academy-classflow .academy-classflow-answer[data-state="wrong"] .academy-classflow-answer-key { border-color: var(--academy-danger); color: var(--academy-danger); }
.academy-classflow .academy-classflow-answer-tag {
  flex: none;
  margin-left: auto;
  padding: 3px 9px;
  border: 1px solid currentColor;
  font-family: var(--academy-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.academy-classflow .academy-classflow-answer-tag:empty { display: none; }
.academy-classflow-artifact { display: grid; margin-bottom: 16px; border: 1px solid var(--academy-line); background: var(--academy-surface); overflow-x: auto; }

.academy-classflow .academy-classflow-line {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
  min-height: 0;
  width: 100%;
  padding: 7px 14px;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: none;
  color: var(--academy-ink);
  font-family: var(--academy-mono);
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.academy-classflow .academy-classflow-line:hover { background: var(--academy-surface-2); }
.academy-classflow .academy-classflow-line.spacer { pointer-events: none; }
.academy-classflow .academy-classflow-line[data-state="right"] { border-left-color: var(--academy-green); color: var(--academy-green); }
.academy-classflow .academy-classflow-line[data-state="wrong"] { border-left-color: var(--academy-muted); color: var(--academy-muted); }
.academy-classflow-lineno { flex: none; color: var(--academy-muted); font-size: 11px; }
.academy-classflow-feedback { min-height: 24px; margin: 0 0 22px; color: var(--academy-muted); font-size: 14px; line-height: 1.55; }
.academy-classflow-feedback[data-kind="right"] { color: var(--academy-green); }
.academy-classflow-feedback[data-kind="wrong"] { color: var(--academy-danger); }
.academy-classflow-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-bottom: 8px; }

.academy-classflow-actions .academy-classflow-next[disabled] { opacity: .45; cursor: not-allowed; }
.academy-classflow-scope { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--academy-line); color: var(--academy-muted); font-size: 12px; letter-spacing: .02em; }

.academy-classflow-head .academy-classflow-title.academy-classflow-task-title { font-size: 22px; line-height: 1.2; letter-spacing: -.01em; }
.academy-classflow-task { margin: 28px 0 14px; }
.academy-classflow-task p { max-width: 640px; }
.academy-classflow .academy-classflow-line[data-state="selected"] { border-left-color: var(--academy-blue); background: var(--academy-surface-2); }
.academy-classflow .academy-classflow-answer[data-state="selected"] { border-color: var(--academy-blue); }
.academy-classflow .academy-classflow-answer[data-state="selected"] .academy-classflow-answer-key { border-color: var(--academy-blue); color: var(--academy-blue); }
.academy-classflow .academy-classflow-line:disabled,
.academy-classflow .academy-classflow-answer:disabled { cursor: default; }
.academy-classflow .academy-classflow-line:disabled:hover { background: none; }
.academy-classflow .academy-classflow-answer:disabled:hover { border-color: var(--academy-line); }
.academy-classflow .academy-classflow-answer[data-state="right"]:disabled:hover { border-color: var(--academy-green); }
.academy-classflow .academy-classflow-answer[data-state="wrong"]:disabled:hover { border-color: var(--academy-danger); }
.academy-classflow-submit { display: grid; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--academy-line); }
.academy-classflow-submit .academy-classflow-feedback { margin: 0; }
.academy-classflow-verdict {
  display: grid;
  gap: 18px;
  margin-top: 26px;
  padding: 22px;
  border: 1px solid var(--academy-line);
  border-left: 3px solid var(--academy-blue);
  background: var(--academy-surface);
}
.academy-classflow-verdict[data-kind="pass"] { border-left-color: var(--academy-green); }
.academy-classflow-verdict[data-kind="fail"] { border-left-color: var(--academy-muted); }
.academy-classflow-verdict .academy-classflow-verdict-title { font-size: clamp(22px, 2.6vw, 28px); line-height: 1.15; letter-spacing: -.015em; }
.academy-classflow-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 16px; }
.academy-classflow-score strong { color: var(--academy-ink); font-family: var(--academy-mono); font-size: 30px; font-weight: 600; letter-spacing: -.02em; }
.academy-classflow-score span { padding: 3px 9px; border: 1px solid var(--academy-line); color: var(--academy-sub); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; }
.academy-classflow-verdict[data-kind="pass"] .academy-classflow-score span { border-color: var(--academy-green); color: var(--academy-green); }
.academy-classflow-score small { color: var(--academy-muted); font-family: var(--academy-mono); font-size: 12px; }
.academy-classflow-checks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.academy-classflow-checks li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--academy-line); background: var(--academy-bg); }
.academy-classflow-checks li[data-state="pass"] { border-color: var(--academy-green); }
.academy-classflow-checks strong { display: block; color: var(--academy-ink); font-size: 14px; }
.academy-classflow-checks p { margin: 6px 0 0; color: var(--academy-sub); font-size: 14px; line-height: 1.55; }
.academy-classflow-check-mark { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--academy-line); color: var(--academy-muted); font-family: var(--academy-mono); font-size: 13px; }
.academy-classflow-checks li[data-state="pass"] .academy-classflow-check-mark { border-color: var(--academy-green); color: var(--academy-green); }
.academy-classflow-verdict .academy-classflow-terms { margin: 0; }
.academy-classflow-verdict .academy-classflow-actions { margin: 0; }

.academy-classflow > * { max-width: var(--academy-flow-measure); margin-inline: auto; }

.academy-cohort {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  max-width: 920px;
  margin: 26px auto 0;
  padding: 26px 28px;
  border: 1px solid var(--academy-line);
  border-radius: 8px;
  background: var(--academy-surface);
}
.academy-cohort-copy { display: grid; gap: 8px; }
.academy-cohort-copy > span { color: var(--academy-blue); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; }
.academy-cohort-copy h2 {
  margin: 0;
  color: var(--academy-ink);
  font-family: var(--academy-display);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -.015em;
}
.academy-cohort-copy p { margin: 0; color: var(--academy-sub); font-size: 15px; line-height: 1.6; }

.academy-cohort-copy .academy-cohort-announcement { padding-left: 12px; border-left: 2px solid var(--academy-blue); color: var(--academy-ink); }
.academy-cohort-actions { display: grid; justify-items: end; gap: 8px; }
.academy-cohort-actions small { color: var(--academy-muted); font-family: var(--academy-mono); font-size: 12px; }
@media (max-width: 720px) {
  .academy-cohort { grid-template-columns: 1fr; padding: 20px; }
  .academy-cohort-actions { justify-items: stretch; }
  .academy-cohort-actions .academy-btn { width: 100%; }
}

@media (max-width: 720px) {
  .academy-classflow { padding-top: 22px; }
  .academy-classflow-top { align-items: start; flex-direction: column; gap: 8px; }
  .academy-classflow-lead { flex: 0 0 auto; }
  .academy-classflow-topmeta { margin-left: 0; justify-items: start; text-align: left; }
  .academy-classflow-terms > div { grid-template-columns: 1fr; gap: 6px; }
  .academy-classflow-actions { flex-direction: column-reverse; }
  .academy-classflow-actions .academy-btn { width: 100%; }
  .academy-classflow-verdict { padding: 16px; }
}

body.gn-modern #view-code .academy-classflow { padding-top: 10px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow > * { max-width: var(--academy-flow-measure); margin-inline: auto !important; }

body.gn-modern #view-code .academy-classflow-head > .academy-classflow-title {
  font-family: var(--academy-flow-display);
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.02em;
}
body.gn-modern #view-code .academy-classflow-actions { margin-top: 26px; }

body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn {
  min-height: 48px;
  padding: 0 20px;
  border-radius: var(--r-ctl, 10px);
  box-shadow: none;
  font-size: 16px;
  font-weight: 650;
  transform: none;
}
body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn-primary { border: 1px solid var(--academy-blue); background: var(--academy-blue); color: #fff; }
body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn-primary:hover { border-color: var(--academy-blue-dark, #061f3e); background: var(--academy-blue-dark, #061f3e); color: #fff; }
body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn-secondary { border: 1px solid var(--academy-line); background: var(--academy-surface); color: var(--academy-blue); }
body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn-secondary:hover { border-color: var(--academy-ink); background: var(--academy-surface-2); color: var(--academy-ink); }

body.gn-modern.dark #view-code .academy-classflow-actions .academy-btn-primary { color: #0a0a0b; }
body.gn-modern.dark #view-code .academy-classflow-actions .academy-btn-primary:hover { border-color: #dcdcdc; background: #dcdcdc; color: #0a0a0b; }
body.gn-modern.dark #view-code .academy-classflow-tools .academy-btn-primary { color: #0a0a0b; }
body.gn-modern.dark #view-code .academy-classflow-tools .academy-btn-primary:hover { border-color: #dcdcdc; background: #dcdcdc; color: #0a0a0b; }

body.gn-modern #view-code :is(.bba-crumb, .wt-crumb, .gp-crumb):has(+ .academy-classflow) { max-width: var(--academy-flow-measure); margin: 0 auto 4px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-concept, .wt-concept, .gp-lesson, .gp-practice, .gp-practice-examples, .gp-lesson-lenses, .gp-lesson-lens, .gp-lesson-section, .gp-lesson-head, .gp-practice-head, .gp-case, .gp-work, .gp-submit, .gp-submit-result, .gp-debrief-wrap, .bba-chal-foot, .wt-hints, .bba-practice-brief) {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-lesson-lens, .gp-submit, .gp-submit-result, .gp-debrief-wrap, .bba-chal-foot, .wt-hints, .bba-practice-brief) { margin-bottom: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-lesson-lenses, .gp-case, .gp-work) { display: grid; gap: 0; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-lesson-lenses, .gp-practice-examples) { grid-template-columns: minmax(0, 1fr); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-work > .gp-load { justify-self: start; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-p, .bba-list, .wt-p, .wt-concept-p, .wt-concept-list, .wt-field-list, .gp-lesson-copy, .gp-lesson-foundation, .gp-lesson-list, .gp-practice-intro, .gp-practice-scenario, .gp-practice-takeaway, .bba-objective, .bba-why, .wt-purpose-objective, .wt-purpose-why, .bba-history-summary, .bba-history-connection, .wt-lab-brief, .gp-brieftext, .bba-prompt, .bba-reflection, .bba-understanding-a, .wt-evidence-standard, .gp-objective-text, .gp-debrief-x, .bba-pass-x, .bba-fail-x, .bba-foot-progress, .bba-hint-copy, .bba-error-copy, .wt-hint, .gp-hint, .wt-debrief, .wt-lab-solved, .wt-lab-no, .bba-done, .bba-source-list) {
  max-width: 640px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--academy-sub);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-list, .wt-concept-list, .wt-field-list, .gp-lesson-list, .bba-source-list) { padding-left: 22px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-list, .wt-concept-list, .wt-field-list, .gp-lesson-list, .bba-source-list) li { margin: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-list, .wt-concept-list, .wt-field-list, .gp-lesson-list, .bba-source-list) li + li { margin-top: 6px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-lesson-steps li::marker { color: var(--academy-blue); font-weight: 700; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .academy-classflow-head :is(p, .bba-objective, .bba-why, .wt-purpose-objective, .wt-purpose-why, .wt-lab-brief, .gp-brieftext) {
  max-width: 640px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--academy-sub);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-h, .wt-concept-h, .wt-field-title, .gp-lesson-label, .gp-practice-title, .gp-lesson-title, .bba-history-title, .bba-extitle, .bba-pass-h, .bba-fail-h, .gp-practice-example-title, .bba-understanding-q, .bba-sources-summary, .gp-lesson-summary) {
  display: block;
  margin: 24px 0 8px;
  padding: 0;
  color: var(--academy-ink);
  font-family: var(--academy-flow-display);
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -.01em;
  line-height: 1.25;
  text-transform: none;
  cursor: default;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-example-title, .bba-understanding-q, .bba-sources-summary, .gp-lesson-summary) { cursor: pointer; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.wt-field-title, .gp-practice-title, .gp-lesson-title, .bba-history-title, .bba-extitle, .bba-pass-h, .bba-fail-h, .gp-practice-example-title, .bba-understanding-q, .bba-sources-summary, .gp-lesson-summary) { margin-top: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-history-title, .gp-lesson-title) { margin-top: 4px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-pass-h, .bba-fail-h) { margin-bottom: 6px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-practice-summary { display: block; margin: 0 0 8px; padding: 0; color: var(--academy-blue); font-size: 14px; font-weight: 650; line-height: 1.4; cursor: pointer; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-lesson-kicker, .gp-practice-kicker, .gp-objective-label, .wt-lab-obj-label, .wt-field-label, .bba-exnum, .bba-exstatus, .gp-debrief-label, .bba-history-kicker, .bba-history-year, .gp-hints-title, .gp-hints-count, .gp-artifact-label, .wt-artifact-label, .bba-artifact-label, .bba-code-lang, .wt-code-lang, .gp-lesson-time, .gp-practice-meta, .bba-mins, .bba-reviewed, .bba-review-pill, .wt-review-pill, .wt-mins, .gp-practice-takeaway-label, .bba-hint-stage) {
  display: inline-block;
  position: static;
  margin: 0 12px 6px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--academy-blue);
  font-family: var(--academy-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-artifact-label, .wt-artifact-label, .bba-artifact-label, .bba-hint-stage) { display: block; margin: 0 0 10px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-lesson-time, .gp-practice-meta, .gp-hints-count, .bba-mins, .wt-mins, .bba-reviewed) { color: var(--academy-muted); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-exstatus, .gp-solvedtag) { color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-solvedtag.pending { color: var(--academy-amber); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-exstatus { margin-left: auto; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-lesson-sources { display: flex; flex-wrap: wrap; gap: 8px 18px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-lesson-sources .gp-lesson-label { flex: 0 0 100%; display: block; margin: 0; color: var(--academy-blue); font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-lesson-source { display: inline-block; margin: 0; font-size: 14px; line-height: 1.5; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-lessonhead, .wt-lessonhead, .gp-chalhead, .bba-exhead, .bba-history-label, .gp-hints-head) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0 0 10px; padding: 0; border: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-exhead, .gp-hints-head) > * { margin: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-hints-head { justify-content: space-between; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-tier {
  align-self: baseline;
  padding: 3px 8px;
  border: 1px solid var(--academy-line);
  border-radius: 0;
  background: transparent;
  color: var(--academy-muted);
  font-family: var(--academy-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-solvedtag { font-family: var(--academy-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-code, .wt-artifact, .gp-artifact, .wt-concept-code, pre) {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--academy-line);
  border-radius: 0;
  background: var(--academy-surface);
  color: var(--academy-ink);
  font-family: var(--academy-mono);
  font-size: 13px;
  line-height: 1.55;
  box-shadow: none;
  overflow-x: auto;
  white-space: pre;
}

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-case, .gp-work) > * { min-width: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-code, .wt-artifact, .gp-artifact, .wt-concept-code, pre) code {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: var(--academy-mono);
  font-size: 13px;
  line-height: 1.55;
  white-space: pre;
  overflow-x: auto;
}

body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-artifact-report,
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-artifact-report code,
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-concept-doc,
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-concept-doc code,
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-code-doc,
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-code-doc code { white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-code-lang, .wt-code-lang) { position: absolute; top: 0; right: 0; margin: 0; padding: 4px 9px; background: var(--academy-surface-2); color: var(--academy-muted); }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-ic, .wt-ic) { padding: 1px 6px; border: 1px solid var(--academy-line); border-radius: 0; background: var(--academy-surface-2); color: var(--academy-ink); font-family: var(--academy-mono); font-size: .92em; line-height: 1.4; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-history, .bba-sources, .bba-excard, .bba-understanding, .wt-field-guide, .wt-lab-obj, .wt-answer, .gp-objective, .gp-practice-example, .gp-hints, .gp-debrief, .gp-lesson-mistakes, .gp-lesson-sources, .bba-pass, .bba-fail, .gp-flagrow, .gp-verdict, .bba-tip, .wt-concept-tip),
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-hint-panel, .wt-lab-feedback):not(:empty) {
  margin: 0 0 16px;
  padding: 16px 18px;
  border: 1px solid var(--academy-line);
  border-left-width: 1px;
  border-radius: 0;

  background: var(--academy-surface) !important;
  background-image: none;
  backdrop-filter: none !important;
  box-shadow: none;
  color: var(--academy-sub);
}

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-tip, .wt-concept-tip) { display: flex; align-items: flex-start; gap: 12px; max-width: 640px; padding: 14px 16px; border-left: 2px solid var(--academy-blue); font-size: 15px; line-height: 1.55; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-tip-i, .wt-tip-i) { flex: none; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-tip-x, .wt-tip-x) { flex: 1 1 auto; min-width: 0; margin: 0; color: var(--academy-sub); font-size: 15px; line-height: 1.55; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-lab-obj > span:not(.wt-lab-obj-label) { display: block; max-width: 640px; color: var(--academy-sub); font-size: 16px; line-height: 1.6; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-pass, .gp-verdict.ok) { border-color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-pass-h, .gp-verdict.ok, .wt-lab-solved, .bba-done) { color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-lab-solved { font-weight: 650; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-done { margin: 10px 0 0; font-size: 14px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-verdict { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.55; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-verdict.no { color: var(--academy-sub); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-verdict-i { flex: none; font-weight: 700; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-lab-feedback > * { margin: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-lab-feedback > * + * { margin-top: 8px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-error-explain:not(:empty) { margin: 12px 0 0; padding: 12px 0 0; border: 0; border-top: 1px solid var(--academy-line); background: transparent; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci { margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--academy-line); border-radius: 0; background: var(--academy-surface); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-head { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-verdict { color: var(--academy-green); font-size: 13px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-fail .bba-ci-verdict { color: var(--academy-sub); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-stages { display: flex; flex-wrap: wrap; gap: 6px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-stage { padding: 3px 8px; border: 1px solid var(--academy-line); border-radius: 0; background: var(--academy-surface-2); color: var(--academy-sub); font-family: var(--academy-mono); font-size: 12px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-checks { display: grid; gap: 6px; margin: 0 0 12px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check { display: flex; gap: 10px; padding: 9px 12px; border: 1px solid var(--academy-line); border-left: 2px solid var(--academy-muted); border-radius: 0; background: var(--academy-surface); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check.ok { border-left-color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check-i { flex: none; color: var(--academy-muted); font-weight: 700; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check.ok .bba-check-i { color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check-name { color: var(--academy-ink); font-size: 14px; line-height: 1.5; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check-hint { margin-top: 2px; color: var(--academy-sub); font-size: 13px; line-height: 1.5; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-hint { display: flex; gap: 8px; max-width: 640px; margin: 0 0 10px; font-size: 15px; line-height: 1.55; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-hint-n { flex: none; color: var(--academy-blue); font-style: normal; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-hint-x { flex: 1 1 auto; min-width: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-hint { font-size: 15px; line-height: 1.55; margin-bottom: 10px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-source-note, .gp-hints-dry, .bba-hint-sm) { max-width: 640px; margin: 10px 0 0; color: var(--academy-muted); font-size: 13px; font-style: normal; line-height: 1.5; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-history-source, .bba-source-link, .gp-lesson-source, .bba-source-list a) { color: var(--academy-blue); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-flag-input, .wt-flag-input) { flex: 1 1 220px; min-width: 0; min-height: 44px; padding: 0 14px; border: 1px solid var(--academy-line); border-radius: 0; background: var(--academy-surface); color: var(--academy-ink); font-family: var(--academy-mono); font-size: 14px; letter-spacing: 0; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.inline-btn, .bba-link, .wt-link, .gp-link, .gp-load, .gp-practice-check, .wt-choice, .bba-primary, .wt-primary, .gp-primary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 40px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--academy-line) !important;
  border-radius: var(--r-ctl, 10px);
  background: var(--academy-surface) !important;
  background-image: none !important;
  color: var(--academy-blue) !important;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  box-shadow: none;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.inline-btn, .bba-link, .wt-link, .gp-link, .gp-load, .gp-practice-check, .wt-choice):hover { border-color: var(--academy-ink) !important; background: var(--academy-surface-2) !important; color: var(--academy-ink) !important; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-primary, .wt-primary, .gp-primary) { border-color: var(--academy-blue) !important; background: var(--academy-blue) !important; color: #fff !important; }
body.gn-modern.dark #view-code .codelab-task-rail .academy-classflow :is(.bba-primary, .wt-primary, .gp-primary) { color: #0a0a0b !important; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-actions, .wt-actions, .gp-actions, .academy-classflow-tools) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 6px 0 16px; padding: 0; border: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-flagrow, .wt-answer:not(.wt-answer-choices)) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .academy-classflow-head p { color: var(--academy-sub); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow p.academy-classflow-feedback { color: var(--academy-muted); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow p.academy-classflow-feedback[data-kind="right"] { color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow p.academy-classflow-feedback[data-kind="wrong"] { color: var(--academy-danger); }

body.gn-modern #view-code .codelab-task-rail .academy-classflow p.academy-classflow-question-prompt { margin: 22px 0 10px; color: var(--academy-ink); font-size: 16px; font-weight: 650; line-height: 1.45; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .academy-classflow-answer[aria-pressed="true"] { border-color: var(--academy-blue); box-shadow: inset 3px 0 var(--academy-blue); }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .academy-classflow-answer[data-state="right"] { border-color: var(--academy-green); box-shadow: inset 3px 0 var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .academy-classflow-answer[data-state="wrong"] { border-color: var(--academy-danger); box-shadow: inset 3px 0 var(--academy-danger); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-quiz { display: grid; gap: 4px; margin: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-question { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-question-title { display: block; margin: 22px 0 10px; padding: 0; color: var(--academy-ink); font-size: 16px; font-weight: 650; line-height: 1.45; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-options, .gp-choices, .wt-answer-choices) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 0 12px; padding: 0; border: 0; background: transparent; counter-reset: answer; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option, .gp-choice, .wt-answer-choices .wt-choice) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 15px 17px;
  border: 1px solid var(--academy-line) !important;
  border-radius: 0;
  background: var(--academy-surface) !important;
  color: var(--academy-ink) !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option, .gp-choice, .wt-answer-choices .wt-choice)::before {
  counter-increment: answer;
  content: counter(answer, upper-alpha);
  flex: none;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--academy-line);
  color: var(--academy-muted);
  font-family: var(--academy-mono);
  font-size: 12px;
}
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option, .gp-choice) input { position: absolute; width: 1px; height: 1px; margin: -1px; opacity: 0; pointer-events: none; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option, .gp-choice, .wt-answer-choices .wt-choice):hover { border-color: var(--academy-blue) !important; background: var(--academy-surface) !important; color: var(--academy-ink) !important; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option, .gp-choice):has(input:checked) { border-color: var(--academy-blue) !important; box-shadow: inset 3px 0 var(--academy-blue); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-option:has(input:disabled), .wt-answer-choices .wt-choice:disabled) { opacity: .72; cursor: default; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-choice-t { flex: 1 1 auto; min-width: 0; margin: 0; color: inherit; font-size: 15px; line-height: 1.5; }

body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-examples { gap: 10px; margin: 0 0 16px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-example { margin: 0; padding: 12px 16px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-example-title { margin: 0; font-size: 16px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-scenario { margin: 12px 0 10px; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-takeaway { display: flex; gap: 10px; max-width: none; margin: 0; padding: 10px 0 0; border-top: 1px solid var(--academy-line); font-size: 15px; line-height: 1.55; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-takeaway-label { flex: none; margin: 0; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0 0 16px; text-align: left; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-check { justify-self: auto; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-feedback { width: 100%; max-width: 640px; min-height: 24px; color: var(--academy-muted); font-size: 14px; line-height: 1.55; text-align: left; }
body.gn-modern #view-code .codelab-task-rail .academy-classflow .gp-practice-feedback.correct { color: var(--academy-green); }
body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.gp-practice-feedback.incorrect, .gp-practice-feedback.needs-pick) { color: var(--academy-sub); }

body.gn-modern .academy-gateway .academy-wordmark strong { color: #071b33 !important; }
body.gn-modern .academy-gateway .academy-wordmark small { color: #5b6674 !important; }
body.gn-modern .academy-gateway .academy-header-link { color: #34445a !important; }
body.gn-modern .academy-gateway .academy-header-link:hover { color: #071b33 !important; background: #f3f5f7 !important; }
body.gn-modern .academy-gateway .academy-header-signin { color: #071b33 !important; }
body.gn-modern .academy-gateway .academy-header-cta {
  border-color: #0b2a4a !important;
  color: #fff !important;
  background: #0b2a4a !important;
}
body.gn-modern .academy-gateway .academy-header-cta:hover {
  border-color: #061f3e !important;
  color: #fff !important;
  background: #061f3e !important;
}
.academy-field-error { display: block; margin-top: 7px; color: #a72424; font-size: 13px; line-height: 1.4; }
.academy-profile-form input[aria-invalid="true"] { border-color: #a72424; box-shadow: 0 0 0 3px rgba(167, 36, 36, .12); }

.academy-enrollment :is(.academy-enroll-shell, .academy-profile-shell, .academy-checkout-shell, .academy-orientation) { background: #fff; }
.academy-signup-shell .academy-profile-form {
  gap: 20px;
  padding: 32px;
  border: 1px solid #d7dde5;
  border-radius: var(--r-card, 14px);
  background: #fff;
  box-shadow: none;
}
.academy-signup-shell .academy-profile-form label { color: #0a1f3d; font-size: 15px; }
.academy-signup-shell .academy-profile-form :is(input, select, textarea) {
  border-color: #aab4c1;
  border-radius: var(--r-card, 14px);
  color: #0a1f3d;
  background: #fff;
  box-shadow: none;
}
.academy-signup-shell .academy-profile-form :is(input, select, textarea):focus {
  border-color: #0a315d;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(10,49,93,.18);
  outline: 0;
}
.academy-signup-shell .academy-profile-form input,
.academy-signup-shell .academy-profile-form select { min-height: 48px; }
.academy-signup-shell .academy-profile-form textarea { min-height: 108px; }
.academy-signup-shell .academy-identity-note {
  border: 1px solid #d7dde5;
  border-left: 3px solid #0a315d;
  border-radius: var(--r-card, 14px);
  background: #f6f8fa;
}
.academy-signup-shell .academy-identity-note strong { color: #0a1f3d; }
.academy-signup-shell .academy-identity-note p { color: #4d5a6a; }
.academy-signup-shell .academy-profile-actions { justify-content: flex-end; }
.academy-signup-shell .academy-profile-actions .academy-btn { min-height: 48px; border-radius: var(--r-card, 14px); }
.academy-signup-summary {
  border: 1px solid #d7dde5;
  border-radius: var(--r-card, 14px);
  background: #f6f8fa;
}
.academy-signup-summary > span,
.academy-signup-summary li > span { color: #0a315d; }
.academy-signup-summary h2 { color: #0a1f3d; }
.academy-signup-summary li { border-color: #d7dde5; }
.academy-signup-summary li strong { color: #0a1f3d; }
.academy-signup-summary li p { color: #4d5a6a; }
.academy-signup-progress li > small { padding: 0; background: transparent; }
.academy-signup-shell .academy-enroll-head p { color: #4d5a6a; }

@media (max-width: 900px) {

  .academy-signup-summary { order: 0; }
}

@media (max-width: 640px) {
  .academy-gateway-footer { margin-inline: 0; }
  .academy-signup-progress { overflow: visible; }
  .academy-signup-progress ol { min-width: 0; width: 100%; }
  .academy-signup-progress li { min-width: 0; padding-right: 4px; }
  .academy-signup-progress li > span { margin-right: 3px; font-size: 11px; }
  .academy-signup-progress li > small { min-width: 0; font-size: 10px; letter-spacing: 0; white-space: normal; }
}

.academy-signup-shell .academy-enroll-choices {
  gap: 0;
  border: 1px solid #d7dde5;
  background: #fff;
}
.academy-signup-shell .academy-enroll-card {
  min-height: 430px;
  padding: 34px;
  border: 0;
  border-right: 1px solid #d7dde5;
  border-radius: var(--r-card, 14px);
  background: #fff;
  box-shadow: none;
}
.academy-signup-shell .academy-enroll-card:last-child { border: 0; }
.academy-signup-shell .academy-enroll-card.primary {
  border: 0;
  border-top: 3px solid #0a315d;
  border-right: 1px solid #d7dde5;
  background: #f8fafc;
  box-shadow: none;
}
.academy-signup-shell .academy-enroll-card h2 { color: #0a1f3d; font-family: var(--academy-display, "IBM Plex Sans", sans-serif); font-weight: 600; }
.academy-signup-shell .academy-enroll-card > p { min-height: 0; color: #4d5a6a; }
.academy-signup-shell .academy-enroll-card ul { border-color: #d7dde5; color: #34445a; }
.academy-signup-shell .academy-enroll-card li::before { color: #0a315d; }
.academy-signup-shell .academy-enroll-card .academy-btn { min-height: 48px; border-radius: var(--r-card, 14px); }
.academy-signup-shell .academy-enroll-card .academy-btn-primary { border-color: #0a315d; color: #fff; background: #0a315d; }
.academy-signup-shell .academy-enroll-card .academy-btn-secondary { border-color: #0a315d; color: #0a315d; background: #fff; }
.academy-signup-shell .academy-enroll-card .academy-btn-secondary:hover { color: #061f3e; border-color: #061f3e; background: #f3f5f7; }
.academy-plan-top > small,
.academy-plan-badge { color: #0a315d; }
.academy-plan-badge { border-color: #d7dde5; border-radius: var(--r-chip, 8px); background: #fff; }
.academy-plan-badge.quiet { color: #4d5a6a; }
.academy-plan-price { color: #0a1f3d; }
.academy-plan-price-note,
.academy-signup-shell .academy-plan-footnote { color: #677382; }

@media (max-width: 900px) {
  .academy-signup-shell .academy-enroll-card,
  .academy-signup-shell .academy-enroll-card.primary { min-height: 0; border-right: 0; border-bottom: 1px solid #d7dde5; }
  .academy-signup-shell .academy-enroll-card:last-child { border-bottom: 0; }
}

body.gn-modern,
body.gn-modern .desktop,
body.gn-modern .app-shell.gn-shell,
body.gn-modern .gn-content,
body.gn-modern .gn-body,
body.gn-modern .views {
  background: #fff;
}
body.gn-modern.dark { background: #f6f8fa; background-image: none; }
body.gn-modern .app-shell.gn-shell {
  --r-card: 14px;
  --r-ctl: 10px;
  --r-chip: 8px;
  --academy-display: var(--gn-display);
  --academy-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --academy-serif: var(--gn-display);
  --academy-bg: #fff;
  --academy-surface: #fff;
  --academy-surface-2: #f6f8fa;
  --academy-raised: #fff;
  --academy-ink: #0a1f3d;
  --academy-sub: #4d5a6a;
  --academy-muted: #677382;
  --academy-line: #d7dde5;
  --academy-line-soft: #e8ecf1;
  --academy-blue: #0a315d;
  --academy-blue-strong: #0a315d;
  --academy-blue-dark: #061f3e;
  --academy-green: #356a50;
  --academy-amber: #0a315d;
  --academy-danger: #a72424;
  --m-bg: #fff;
  --m-sidebar: #0b2a4a;
  --m-card: #fff;
  --m-card-2: #f6f8fa;
  --m-raised: #fff;
  --m-line: #d7dde5;
  --m-line-2: #e8ecf1;
  --m-line-strong: #aab4c1;
  --m-ink: #0a1f3d;
  --m-sub: #4d5a6a;
  --m-muted: #677382;
  --m-blue: #0a315d;
  --m-blue-soft: #edf3f8;
  --m-cyan: #0a315d;
  --m-e2e: #0a315d;
  --m-newkey: #4d5a6a;
  --m-warn: #8a5b12;
  --m-danger: #a72424;
  --m-radius: 0;
  --m-radius-sm: 0;
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.gn-modern .gn-sidebar {
  border-right-color: #183e64;
  background: #0b2a4a;
  color: #e8eff6;
}
body.gn-modern .nav-practice { border-top-color: rgba(255,255,255,.16); }
body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-secondary .nav-link { color: #d7e2ed; }
body.gn-modern .gn-rail .nav-link.active,
body.gn-modern .nav-practice .nav-link.active {
  border-color: rgba(139,184,228,.38);
  border-left-color: #fff;
  background: #174b75;
  color: #fff;
  box-shadow: none;
}
body.gn-modern .academy-nav-monogram { border-color: #7da7d1; color: #fff; }
body.gn-modern .side-user { border-color: rgba(255,255,255,.22); background: #09213a; }
body.gn-modern .gn-topbar { border-bottom-color: #d7dde5; background: rgba(255,255,255,.98); }
body.gn-modern .gn-topbar-search input,
body.gn-modern .gn-chip,
body.gn-modern .notif-bell,
body.gn-modern .gn-account { border-color: #d7dde5; background: #fff; color: #0a1f3d; }
body.gn-modern .gn-startmenu,
body.gn-modern .notif-panel { border-color: #d7dde5; background: #fff; color: #0a1f3d; box-shadow: 0 16px 38px rgba(10,31,61,.12); }

body.gn-modern .gn-startmenu {

  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: min(316px, calc(100vw - 24px));
  min-width: 0;
  border-radius: var(--r-card, 14px);

  overflow: hidden;
  box-shadow: 0 14px 34px rgba(10,31,61,.13);
  font-family: var(--academy-display, "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif);
}
body.gn-modern .gn-startmenu-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
body.gn-modern .gn-startmenu-foot { flex: 0 0 auto; }
body.gn-modern .gn-startmenu-body { padding: 8px 10px 6px; }
body.gn-modern .gn-startmenu .menu-bar { gap: 1px; }
body.gn-modern .gn-startmenu .menu-item {
  display: flex;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: #4d5a6a;
  font-weight: 600;
  text-align: left;
}
body.gn-modern .gn-startmenu-foot { padding: 7px 10px 10px; border-top: 1px solid #e8ecf1; }
body.gn-modern .gn-startmenu-signoff {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: #a72424;
  text-align: left;
}
body.gn-modern :where(button, a, input, textarea, select, summary, [tabindex]):focus-visible { outline-color: #0a315d !important; }

body.gn-modern .view,
body.gn-modern :is(#view-home, #view-profile, #view-cohorts, #view-settings, #view-help, #view-pro, #view-privacy, #view-catalog) { background: #fff; color: #0a1f3d; }
body.gn-modern :where(input, textarea, select) { border-color: #aab4c1; border-radius: var(--r-ctl, 10px); background: #fff; color: #0a1f3d; }

body.gn-modern #view-academy,
body.gn-modern #view-catalog,
body.gn-modern #view-home,
body.gn-modern #view-profile,
body.gn-modern #view-settings,
body.gn-modern #view-help,
body.gn-modern #view-pro,
body.gn-modern #view-privacy { background: #fff; }
body.gn-modern .academy-dash-head { border-top-color: #0a315d; }
body.gn-modern #view-catalog .catalog-statband,
body.gn-modern #view-home .campus-terminal-status,
body.gn-modern :is(.settings-status, .settings-device, .settings-card-badge) { border-color: #d7dde5; background: #f6f8fa; color: #0a1f3d; }

body.gn-modern .academy-dashboard {
  --academy-display: var(--gn-display);
  --academy-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --academy-serif: var(--gn-display);
  --academy-bg: #fff;
  --academy-surface: #fff;
  --academy-surface-2: #f6f8fa;
  --academy-raised: #fff;
  --academy-ink: #0a1f3d;
  --academy-sub: #4d5a6a;
  --academy-muted: #677382;
  --academy-line: #d7dde5;
  --academy-line-soft: #e8ecf1;
  --academy-blue: #0a315d;
  --academy-blue-strong: #0a315d;
  --academy-blue-dark: #061f3e;
  --academy-green: #356a50;
  --academy-amber: #0a315d;
  background: #fff;
} .academy-dash-panel > span, .academy-dash-panel header span{ color: #0a315d; }
body.gn-modern .academy-dashboard .academy-dash-head { border-color: #d7dde5; background: #fff; }

body.gn-modern #view-code {
  --academy-bg: #fff;
  --academy-surface: #fff;
  --academy-surface-2: #f6f8fa;
  --academy-raised: #fff;
  --academy-line: #d7dde5;
  --academy-line-soft: #e8ecf1;
  --academy-ink: #0a1f3d;
  --academy-sub: #4d5a6a;
  --academy-muted: #677382;
  --academy-blue: #0a315d;
  --academy-blue-strong: #0a315d;
  --academy-blue-dark: #061f3e;
  --academy-amber: #0a315d;
  background: #fff;
  background-image: none;
  color: #0a1f3d;
}
body.gn-modern #view-code :is(.academy-classroom-hero, .codelab-workspace, .academy-classroom-lane, .codelab-entry-record, .codelab-entry-flow, .codelab-workflow, .codelab-resume) {
  border-color: #d7dde5;
  border-top-color: #0a315d;
  border-radius: var(--r-card, 14px);
  background: #fff;
  box-shadow: none;
}
body.gn-modern #view-code .academy-classroom-hero::after { display: none; }
body.gn-modern #view-code :is(.academy-classroom-hero h1, .academy-classroom-lane strong, .codelab-workspace-identity h1, .codelab-entry-flow strong, .codelab-workflow strong) { color: #0a1f3d; font-family: var(--academy-display, "IBM Plex Sans", sans-serif); font-weight: 600; }
body.gn-modern #view-code :is(.academy-classroom-hero-copy > span, .academy-classroom-status small, .codelab-workspace-identity small, .academy-classroom-lane > span:not(.academy-classroom-lane-icon), .codelab-entry-flow small, .codelab-workflow small) { color: #0a315d; }
body.gn-modern #view-code :is(.academy-classroom-hero p, .academy-classroom-status span, .academy-classroom-lane small, .codelab-entry-flow span) { color: #4d5a6a; }
body.gn-modern #view-code .academy-classroom-status,
body.gn-modern #view-code .codelab-resume { border-color: #d7dde5; border-left-color: #0a315d; background: #f6f8fa; }
body.gn-modern #view-code .academy-classroom-lane:hover { border-color: #0a315d; background: #f6f8fa; box-shadow: none; }
body.gn-modern #view-code .academy-classroom-lane::after { color: #0a315d; }
body.gn-modern #view-code .academy-classroom-lane-icon {
  border-color: #d7dde5;
  border-radius: var(--r-chip, 8px);
  background: #edf3f8;
  color: #0a315d;
}
body.gn-modern #view-code :is(.codelab-whiteteam-btn, .codelab-greypath-btn) .academy-classroom-lane-icon { color: #0a315d; }
body.gn-modern #view-code .academy-classroom-lane-number { color: #677382; }

body.gn-modern #view-drop {
  --practice-bg: #fff;
  --practice-surface: #fff;
  --practice-surface-2: #f6f8fa;
  --practice-ink: #0a1f3d;
  --practice-sub: #4d5a6a;
  --practice-muted: #677382;
  --practice-line: #d7dde5;
  --practice-line-strong: #aab4c1;
  --practice-blue: #0a315d;
  --practice-blue-soft: #edf3f8;
  --practice-brass: #0a315d;
  --practice-brass-soft: #edf3f8;
  background: #fff;
}
body.gn-modern #view-drop .drop-post-btn { color: #fff; }

.academy-landing { overflow: hidden; }
.academy-hero-grid { min-height: 0; margin: 0 auto; }
.academy-hero-actions { align-items: center; }
.academy-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; }

body.gn-modern .academy-gateway .academy-btn { border-radius: var(--r-card, 14px); box-shadow: none; min-height: 48px; padding: 0 20px; font-size: 16px; font-weight: 650; }
body.gn-modern .academy-gateway .academy-btn-primary { border: 1px solid var(--academy-blue); background: var(--academy-blue); color: #fff; }
body.gn-modern .academy-gateway .academy-btn-primary:hover { border-color: #061f3e; background: #061f3e; color: #fff; }
body.gn-modern .academy-gateway .academy-btn-secondary { border: 1px solid #b9c6d6; background: #fff; color: var(--academy-blue); }
body.gn-modern .academy-gateway .academy-btn-secondary:hover { border-color: var(--academy-ink); background: #f6f8fa; color: var(--academy-ink); }
body.gn-modern .academy-gateway .academy-final-cta .academy-btn-primary { border-color: #fff; background: #fff; color: #0a315d; }
body.gn-modern .academy-gateway .academy-final-cta .academy-btn-primary:hover { border-color: #dceaf7; background: #dceaf7; color: #061f3e; }
body.gn-modern .academy-gateway .academy-final-cta .academy-btn-secondary { border-color: #b9c7d5; background: transparent; color: #fff; }
body.gn-modern .academy-gateway .academy-final-cta .academy-btn-secondary:hover { border-color: #fff; background: rgba(255, 255, 255, .10); color: #fff; }
.academy-kicker {
  color: var(--academy-blue);
  font-family: var(--academy-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.academy-enroll-back { min-height: 40px; padding: 0; border: 0; background: transparent; color: var(--academy-blue); font-weight: 600; cursor: pointer; }
.academy-enroll-back:hover { color: #061f3e; }

.academy-wordmark { display: flex; gap: 13px; align-items: center; text-decoration: none; }
.academy-wordmark-seal { display: grid; place-items: center; }
.academy-header-divider { width: 1px; margin: 0 5px; }
.academy-header-cta { margin-left: 8px; }

.academy-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
  padding-top: 17px;
  border-top: 1px solid var(--academy-line);
  font-family: var(--academy-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.academy-statband { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--academy-line); }

.academy-stat { display: grid; gap: 3px; align-content: center; justify-items: center; border-left: 1px solid var(--academy-line); }
.academy-stat:first-child { border-left: 0; }
.academy-stat-n { line-height: 1.05; }
.academy-stat-l { line-height: 1.3; }

.academy-schools,
.academy-practice { margin: 0 auto; }
.academy-section-intro { display: grid; gap: 12px; }
.academy-school-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.academy-school-card { display: flex; flex-direction: column; }
.academy-school-head { display: flex; gap: 14px; align-items: center; }
.academy-school-code { font-family: var(--academy-mono); font-size: 11px; font-weight: 600; }
.academy-school-head small { font-family: var(--academy-mono); font-size: 10px; font-weight: 500; letter-spacing: .14em; }
.academy-school-card ul { display: grid; gap: 8px; margin: 18px 0 22px; padding: 16px 0 0; border-top: 1px solid var(--academy-line); list-style: none; }
.academy-school-link { margin-top: auto; color: var(--academy-blue); font-size: 15px; font-weight: 600; }

.academy-practice { display: grid; }
.academy-practice-list > div { display: flex; flex-direction: column; gap: 9px; align-items: flex-start; }
.academy-practice-list > div > span { display: grid; gap: 4px; }
.academy-practice-list > div > span strong { display: block; }
.academy-practice-list b { color: var(--academy-blue); font-family: var(--academy-mono); font-size: 11px; font-weight: 600; }
.academy-practice-list svg { width: 22px; height: 22px; color: var(--academy-blue); }
.academy-practice-list strong { color: var(--academy-ink); font-size: 16px; font-weight: 600; }
.academy-practice-list span { color: var(--academy-sub); font-size: 13px; line-height: 1.55; }
.academy-standard-note { color: var(--academy-ink); }
.academy-final-note { display: block; margin-top: 14px; line-height: 1.45; }

.academy-foot-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; max-width: 1180px; margin: 0 auto; padding: 56px clamp(24px, 5vw, 76px) 44px; }
.academy-foot-word { display: grid; line-height: 1.1; }
.academy-foot-word strong { font-family: var(--academy-display); font-size: 17px; font-weight: 700; letter-spacing: .12em; }
.academy-foot-word small { font-family: var(--academy-mono); font-size: 9px; letter-spacing: .18em; }
.academy-foot-brand p { margin: 12px 0 0; font-size: 13px; line-height: 1.6; }
.academy-foot-col h4 { margin: 0 0 14px; color: #fff; font-family: var(--academy-mono); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.academy-foot-col ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.academy-foot-col li button,
.academy-foot-col li a { display: inline-block; padding: 0; border: 0; background: none; color: #dce5ef; font-size: 14px; font-weight: 500; text-align: left; text-decoration: none; cursor: pointer; }
.academy-foot-legal { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1180px; margin: 0 auto; padding: 20px clamp(24px, 5vw, 76px); border-top: 1px solid rgba(255, 255, 255, .2); font-family: var(--academy-mono); font-size: 11px; letter-spacing: .04em; }

.academy-enroll-shell,
.academy-profile-shell,
.academy-checkout-shell,
.academy-orientation { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 75px 0 95px; }
.academy-enroll-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.academy-enroll-card { display: flex; flex-direction: column; }
.academy-profile-form { display: grid; }
.academy-profile-actions { display: flex; flex-wrap: wrap; gap: 12px; grid-column: 1 / -1; }
.academy-checkout-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.academy-checkout-waiting { max-width: 720px; padding-top: 130px; text-align: center; }
.academy-orientation-top { display: grid; gap: 8px; }
.academy-orientation-top span { color: var(--academy-blue); font-family: var(--academy-mono); font-size: 11px; font-weight: 500; letter-spacing: .16em; }
.academy-orientation-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 20px; }
.academy-orientation-card { display: grid; gap: 10px; margin-top: 34px; padding: 28px; border: 1px solid var(--academy-line); background: #fff; }
.academy-orientation-model {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
  overflow: hidden;
  border: 1px solid var(--academy-line);
  border-radius: var(--r-card, 14px);
}
.academy-orientation-model > div {
  display: flex;
  min-width: 0;
  min-height: 164px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 26px 20px;
  text-align: center;
  border-right: 1px solid var(--academy-line);
  background: #fff;
}
.academy-orientation-model > div:last-child { border-right: 0; }
.academy-orientation-model span {
  color: var(--academy-blue);
  font-family: var(--academy-mono);
  font-size: 12px;
  letter-spacing: .08em;
}
.academy-orientation-model strong {
  color: var(--academy-ink);
  font-family: var(--academy-display);
  font-size: 18px;
  font-weight: 600;
}
.academy-orientation-model p { margin: 0; color: var(--academy-sub); line-height: 1.55; }
.academy-week-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.academy-week-grid > div { padding: 23px; border: 1px solid var(--academy-line); background: #f6f8fa; }
.academy-orientation-actions { display: flex; justify-content: flex-end; margin-top: 32px; }
@media (max-width: 1120px) {
  .academy-orientation-model { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-orientation-model > div { border-bottom: 1px solid var(--academy-line); }
  .academy-orientation-model > div:nth-child(even) { border-right: 0; }
  .academy-orientation-model > div:nth-child(n + 3) { border-bottom: 0; }
}
@media (max-width: 560px) {
  .academy-orientation-model { grid-template-columns: 1fr; }
  .academy-orientation-model > div {
    min-height: 0;
    padding: 24px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-orientation-model > div:nth-child(n + 3) { border-bottom: 1px solid var(--academy-line); }
  .academy-orientation-model > div:last-child { border-bottom: 0; }
}
@keyframes academyPulse { 50% { box-shadow: 0 0 0 20px rgba(10, 49, 93, 0); } }
@keyframes academyWait { 0% { transform: translateX(-105%); } 50% { transform: translateX(90%); } 100% { transform: translateX(265%); } }

.campus-terminal { margin-bottom: 18px; }
.campus-terminal-intro { padding: 38px 40px; }
.campus-command { font-family: var(--academy-sans, "IBM Plex Sans", sans-serif); font-weight: 550; }
.campus-terminal-status .campus-metric { border-right-color: var(--academy-line); }

@media (max-width: 1120px) {
  .academy-gateway-header { min-height: 70px; }
  .academy-header-divider { display: none; }
}
@media (max-width: 900px) {
  .academy-gateway-header { padding-inline: 20px; }
  .academy-statband { grid-template-columns: repeat(2, 1fr); }
  .academy-stat:nth-child(3) { border-left: 0; border-top: 1px solid var(--academy-line); }
  .academy-stat:nth-child(4) { border-top: 1px solid var(--academy-line); }
  .academy-school-grid { grid-template-columns: 1fr; }
  .academy-school-card { min-height: 0; }
  .academy-practice-list { grid-template-columns: repeat(2, 1fr); }
  .academy-enroll-choices { grid-template-columns: 1fr; }
  .academy-enroll-card { border-right: 0; border-bottom: 1px solid var(--academy-line); }
}
@media (max-width: 640px) {
  .academy-hero-actions { flex-direction: column; align-items: stretch; }
  .academy-statband { grid-template-columns: 1fr; }
  .academy-stat { border-left: 0; border-top: 1px solid var(--academy-line); }
  .academy-stat:first-child { border-top: 0; }
  .academy-practice-list { grid-template-columns: 1fr; }

  .academy-foot-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 16px; padding: 40px clamp(24px, 5vw, 76px) 32px; }
  .academy-foot-brand { grid-column: 1 / -1; }
  .academy-foot-col h4 { margin-bottom: 10px; }
  .academy-foot-col ul { gap: 4px; }

  .academy-foot-col li a,
  .academy-foot-col li button { min-height: 34px; line-height: 34px; }
}
@media (max-width: 360px) {
  .academy-gateway-header { min-height: 66px; gap: 8px; padding-inline: 9px; }
  .academy-wordmark { min-width: 0; gap: 8px; }
  .academy-wordmark-seal { width: 30px; height: 30px; flex: 0 0 auto; }
  .academy-header-cta { min-height: 40px; padding-inline: 9px; font-size: 12px; }
}

.academy-gateway-main { max-width: 1180px; }
#academyGatewayMain:focus,
#academyGatewayMain:focus-visible { outline: 0 !important; }
.academy-landing { padding: 0 28px 72px; }
.academy-hero-grid {
  grid-template-columns: 1fr;
  max-width: 920px;
  gap: 28px;
  margin-inline: auto;
  padding: 64px 0 48px;
  border-bottom: 0;
  text-align: center;
}
.academy-hero-copy { align-items: center; }
.academy-hero-copy h1 {
  max-width: 820px;
  margin: 13px 0 12px;
  font-size: clamp(42px, 4.6vw, 58px);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.academy-hero-copy h1 br { display: inline; content: " "; }
.academy-hero-copy h1 br::after { content: " "; white-space: pre; }
.academy-hero-lede { max-width: 64ch; font-size: 17px; line-height: 1.58; }
.academy-hero-actions { justify-content: center; margin-top: 24px; }
.academy-hero-proof { justify-content: center; margin-top: 20px; }
.academy-hero-record {
  max-width: 920px;
  margin-inline: auto;
  padding: 26px 28px 0;
  border: 1px solid var(--academy-line);
  border-top: 3px solid var(--academy-blue);
  border-radius: 8px;
  background: #f6f8fa;
  color: var(--academy-ink);
  text-align: left;
}
.academy-hero-record > span { color: var(--academy-blue); }
.academy-hero-record h2 { margin: 10px 0 7px; color: var(--academy-ink); font-size: 30px; }

.academy-hero-record > p { max-width: 65ch; margin-inline: auto; color: var(--academy-sub); font-size: 15px; }
.academy-hero-record dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 20px;
  border-top-color: var(--academy-line);
}

.academy-hero-record dl > div { grid-template-columns: 28px minmax(0, 1fr); gap: 8px; padding: 16px 14px 20px; border-bottom: 0; }
.academy-hero-record dl > div + div { border-left: 1px solid var(--academy-line); }
.academy-hero-record dt { color: var(--academy-blue); }
.academy-hero-record dd strong { color: var(--academy-ink); font-size: 14px; }
.academy-hero-record dd span { color: var(--academy-sub); font-size: 13px; }
.academy-statband { max-width: 920px; margin: 0 auto; border-radius: 8px; overflow: hidden; }
.academy-stat { min-height: 92px; padding: 17px 20px; }
.academy-stat-n { font-size: 28px; }
.academy-schools,
.academy-practice,
.academy-final-cta { padding-top: 64px; }
.academy-section-intro,
.academy-practice-copy { max-width: 680px; margin-inline: auto; text-align: center; }
.academy-section-intro h2,
.academy-practice-copy h2,
.academy-final-cta h2 { margin: 10px 0 8px; font-size: clamp(31px, 3.5vw, 44px); }
.academy-section-intro p,
.academy-practice-copy p,
.academy-final-cta > p { margin-inline: auto; font-size: 16px; }
.academy-school-grid { max-width: 1100px; gap: 16px; margin: 28px auto 0; border: 0; background: transparent; }
.academy-school-card {
  min-height: 284px;
  padding: 26px;
  border: 1px solid var(--academy-line);
  border-radius: 8px;
  background: #fff;
}
.academy-school-card:last-child { border-right: 1px solid var(--academy-line); }
.academy-school-card:hover { border-color: #aabbd0; box-shadow: 0 8px 20px rgba(10,31,61,.07); }
.academy-school-card h3 { margin: 20px 0 8px; font-size: 25px; }
.academy-practice {
  grid-template-columns: 1fr;
  max-width: 1100px;
  gap: 22px;
  margin: 0 auto;
  border-top: 0;
}
.academy-practice-copy,
.academy-standard-note { padding: 0; border: 0; background: transparent; }
.academy-practice-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--academy-line); border-radius: 8px; }
.academy-practice-list > div {
  min-height: 112px;
  justify-content: center;
  align-items: center;
  padding: 18px;
  border-bottom: 0;
  border-right: 1px solid var(--academy-line);
  text-align: center;
}
.academy-practice-list > div > span { width: 100%; }
.academy-practice-list > div:last-child { border-right: 0; }
.academy-standard-note { max-width: 620px; margin-inline: auto; text-align: center; }
.academy-standard-note strong { display: block; margin-top: 8px; font-size: 24px; }
.academy-final-cta {
  max-width: 760px;
  margin-top: 64px;
  padding: 42px 36px;
  border: 0;
  border-top: 3px solid #8bb8e4;
  border-radius: 8px;
  background: #0b2a4a;
}
.academy-final-cta > span { color: #b9d3ec; }
.academy-final-cta h2 { color: #fff; }
.academy-final-cta > p { color: #dce6f0; }
.academy-final-note { color: #b9c7d5; }
.academy-final-cta .academy-btn-primary { border-color: #fff; background: #fff; color: #0a315d; }
.academy-final-cta .academy-btn-primary:hover { border-color: #dceaf7; background: #dceaf7; color: #061f3e; }
.academy-final-cta .academy-btn-secondary { border-color: #b9c7d5; background: transparent; color: #fff; }
.academy-final-cta .academy-btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,.10); color: #fff; }
body.gn-modern .academy-workspace-view { padding: 28px 32px 56px; }
body.gn-modern #view-code .codelab-entry,
body.gn-modern #view-code .codelab-workspace { width: 100%; }
body.gn-modern #view-code .academy-classroom-hero {
  min-height: 0;
  padding: 28px 30px 24px;
  border: 0;
  border-bottom: 1px solid #d7dde5;
  border-radius: var(--r-card, 14px);
  background: transparent;
}
body.gn-modern #view-code .academy-classroom-hero h1 { max-width: none; margin: 9px 0 8px; font-size: clamp(36px, 4vw, 48px); line-height: 1.03; }
body.gn-modern #view-code .academy-classroom-hero p { max-width: 58ch; font-size: 14px; }
body.gn-modern #view-code .academy-classroom-status { flex-basis: 214px; padding: 16px; border-left: 3px solid #0a315d; background: #f6f8fa; }
body.gn-modern #view-code .academy-classroom-launchers { gap: 16px; margin-top: 24px; }
body.gn-modern #view-code .academy-classroom-lane { min-height: 208px; padding: 66px 22px 22px; border: 1px solid #d7dde5; border-top: 1px solid #d7dde5; border-radius: 8px; background: #fff; }
body.gn-modern #view-code .academy-classroom-lane:hover { border-color: #93a7bd; background: #fff; box-shadow: 0 8px 20px rgba(10,31,61,.07); transform: translateY(-1px); }
body.gn-modern #view-code .academy-classroom-lane strong { font-size: clamp(22px, 2vw, 27px); }
body.gn-modern #view-code .academy-classroom-lane-icon { top: 20px; left: 22px; }
body.gn-modern #view-code .academy-classroom-lane-number { top: 20px; right: 22px; font-size: 22px; }

@media (max-width: 900px) {
  .academy-landing { padding-inline: 20px; }
  .academy-hero-grid { padding: 48px 0 38px; }
  .academy-hero-record dl { grid-template-columns: 1fr; }

  .academy-hero-record dl > div + div { border-top: 1px solid var(--academy-line); border-left: 0; }
  .academy-practice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-practice-list > div:nth-child(2) { border-right: 0; }
  .academy-practice-list > div:nth-child(-n + 2) { border-bottom: 1px solid var(--academy-line); }
  body.gn-modern :is(#view-academy, #view-catalog, #view-home, #view-profile, #view-settings, #view-help, #view-pro, #view-privacy),
  body.gn-modern .academy-workspace-view { padding: 24px 20px 52px; }
}
@media (max-width: 640px) {
  .academy-landing { padding-inline: 16px; }

  .academy-hero-grid { gap: 22px; padding-top: 40px; }
  .academy-hero-copy { align-items: center; }
  .academy-hero-copy h1 { font-size: clamp(39px, 11vw, 50px); }
  .academy-hero-actions,
  .academy-hero-proof { justify-content: center; }
  .academy-hero-record { padding: 22px 20px 0; }
  .academy-statband { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-stat { padding-inline: 12px; }
  .academy-stat-n { font-size: 25px; }
  .academy-stat:nth-child(2) { border-right: 0; }
  .academy-stat:nth-child(-n + 2) { border-bottom: 1px solid var(--academy-line); }
  .academy-school-grid,
  .academy-practice-list { grid-template-columns: 1fr; }
  .academy-school-card,
  .academy-school-card:last-child { min-height: 0; border-right: 1px solid var(--academy-line); }
  .academy-practice-list > div,
  .academy-practice-list > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-practice-list > div:last-child { border-bottom: 0; }
  body.gn-modern .academy-workspace-view { padding: 18px 16px 44px; }
  body.gn-modern #view-code .academy-classroom-hero { align-items: flex-start; padding: 20px 0 22px; }
  body.gn-modern #view-code .academy-classroom-status { width: 100%; flex-basis: auto; }
  body.gn-modern #view-code .academy-classroom-launchers { grid-template-columns: 1fr; }
  body.gn-modern #view-code .academy-classroom-lane { min-height: 178px; }
}
@media (max-width: 360px) {

  .academy-statband { grid-template-columns: 1fr; }
  .academy-wordmark-seal img { width: 100%; height: 100%; }
  .academy-school-card { padding-inline: 16px; }
  .academy-school-card h3 { font-size: 23px; }
}

.academy-school-card[role="link"] {
  position: relative;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.academy-intake-program[role="button"],
.academy-enroll-card[role="button"] {
  position: relative;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.academy-intake-program[role="button"]:hover,
.academy-enroll-card[role="button"]:hover {
  border-color: #93a7bd;
  background: #f8fafc;
  box-shadow: 0 8px 20px rgba(10,31,61,.07);
  transform: translateY(-1px);
}
.academy-intake-program[role="button"]:focus-visible,
.academy-enroll-card[role="button"]:focus-visible {
  z-index: 1;
  outline: 3px solid #0a315d;
  outline-offset: 3px;
}
.academy-enroll-card[role="button"][aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .68;
  box-shadow: none;
  transform: none;
}
.academy-plan-action {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--academy-line);
  color: #0a315d;
  font-weight: 750;
}
.academy-intake-program:hover .academy-plan-action,
.academy-enroll-card:hover .academy-plan-action { color: #061f3e; }
.academy-school-card[role="link"]:focus-visible {
  z-index: 1;
  outline: 3px solid #0a315d;
  outline-offset: 3px;
  border-color: #0a315d;
}
.academy-school-link {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-right: 3px;
  padding-top: 14px;
  border-top: 1px solid var(--academy-line);
  color: #0a315d;
  font-weight: 750;
}
.academy-school-card:hover .academy-school-link span { transform: translateX(3px); }
.academy-school-link span { transition: transform .16s ease; }

.academy-campus-loading {
  width: min(100% - 32px, 680px);
  margin: clamp(48px, 12vh, 120px) auto;
  padding: 36px;
  border: 1px solid #d7dde5;
  background: #fff;
  color: #0a1f3d;
  text-align: center;
}
.academy-campus-loading.error { border-top: 4px solid #b42318; }

body.gn-modern #view-home .campus-command.campus-command-primary,
body.gn-modern #view-home .campus-command.campus-command-primary:hover {
  border-color: #0a315d;
  background: #0a315d;
  color: #fff;
}

body.gn-modern #view-rooms {
  --rooms-cyan: #0a315d;
  --rooms-magenta: #8a5b12;
  width: min(1180px, 100%);
  margin-inline: auto;
  padding: 28px 32px 64px;
  background: #f4f6f8;
  color: #172b42;
}
body.gn-modern #view-rooms .rooms-terminal-shell {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.rooms-academy-hero {
  padding: 20px 0 28px;
  border-bottom: 1px solid #cad4df;
}
.rooms-academy-hero > span { color: #0a315d; font-size: 11px; font-weight: 750; letter-spacing: .16em; }
.rooms-academy-hero p { max-width: 62ch; margin: 0; color: #526170; }
body.gn-modern #view-rooms .room-console,
body.gn-modern #view-rooms .chat-tabs.room-switch,
body.gn-modern #view-rooms .chat-header.room-headbar,
body.gn-modern #view-rooms .msg-pane,
body.gn-modern #view-rooms .compose-box,
body.gn-modern #view-rooms :is(#roomBrowser, #pubBrowser, .room-invite-card, .pub-chat-bar, .private-chat-bar) {
  border-color: #d7dde5;
  background: #fff;
  color: #172b42;
}
body.gn-modern #view-rooms .room-title,
body.gn-modern #view-rooms .message-user { color: #0a315d; }
body.gn-modern #view-rooms .room-meta,
body.gn-modern #view-rooms .message-mood,
body.gn-modern #view-rooms .message-time { color: #667587; }
body.gn-modern #view-rooms .message-text { color: #172b42; }
body.gn-modern #view-rooms :is(.compose-grid > button[type="submit"], .private-room-column button, .pub-create #pubRoomCreate) {
  border-color: #0a315d;
  background: #0a315d;
  color: #fff;
}
body.gn-modern #view-rooms .chat-actions :is(button, .emoji-btn),
body.gn-modern #view-rooms .pub-back,
body.gn-modern #view-rooms .room-invite-actions button {
  border-color: #aab8c6;
  background: #fff;
  color: #0a315d;
}

@media (max-width: 640px) {
  .academy-gateway-header :is(a, button),
  .academy-landing-footer :is(a, button),
  .academy-school-card[role="link"],
  .academy-verify-link { min-height: 44px; }
}

body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-secondary .nav-link {
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 12px;
  text-align: left;
}

body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) :where([class*="-card"], [class*="-tile"], .gcard, .academy-hero-record, .academy-stat, .academy-practice-list > div, .academy-final-cta, .academy-intake-program, .academy-classroom-status, .codelab-entry-flow > li, .codelab-workflow > li, .codelab-resume, .academy-classroom-lane, .codelab-entry-record > span, .codelab-stat, .academy-dash-panel, .catalog-statband > *, .campus-metric, .campus-quick-action, .campus-activity-row, .gn-statrow, .status-box, .buddy-empty, .pc-achievement, .pc-greypath-summary, .help-faq details, .help-resource-grid button, .help-bb-panel, .settings-action, .settings-step, .pgb-shelf, .pgb-peek, .pgb-belt, .pgb-track, .pgb-perk, .drop-empty):not(.academy-checkout-card) {
  text-align: center !important;
}
body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) :where(.academy-classroom-lane, .codelab-entry-flow > li, .codelab-workflow > li, .codelab-entry-record > span) {
  justify-items: center;
}
body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) .academy-classroom-lane::after {
  justify-self: center;
}
body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) .academy-intake-program {
  align-items: center;
}
body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) :where(.academy-school-head, .academy-plan-top) {
  justify-content: center;
  gap: 12px;
}

body.gn-modern:not(.signal-command) :is(.academy-gateway, .desktop) :where(input, textarea, select, option, pre, code, table, [contenteditable="true"], .message, .post-body, .chat-msg, .codelab-editor, .codelab-terminal, .terminal-body) {
  text-align: left !important;
}

body.gn-modern .app-shell.gn-shell {
  grid-template-rows: calc(100vh - (var(--gn-3) * 2));
  grid-template-rows: calc(100dvh - (var(--gn-3) * 2));
  height: calc(100vh - (var(--gn-3) * 2));
  height: calc(100dvh - (var(--gn-3) * 2));
}
body.gn-modern .gn-sidebar .gn-rail {
  gap: 0;
  padding: 7px 16px 9px;
  scrollbar-color: rgba(255, 255, 255, .24) transparent;
  scrollbar-width: thin;
}
body.gn-modern .gn-rail .nav-group {
  gap: 1px;
}
body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-secondary .nav-link {
  min-height: clamp(34px, calc(6.25vh - 18.75px), 40px);
  min-height: clamp(34px, calc(6.25dvh - 18.75px), 40px);
  padding: 6px 10px;
}
body.gn-modern .side-user {
  margin: 8px 16px 10px;
}

body.gn-modern .view-rooms {
  --rooms-terminal: #05080e;
  --rooms-line: #263553;
  --rooms-line-soft: #182338;
  --rooms-ink: #dce5f4;
  --rooms-muted: #8292ad;
  --rooms-blue: var(--academy-blue-strong, #7299ff);
  --rooms-cyan: #6ec3ff;
  --rooms-magenta: #c78cff;
  --rooms-amber: var(--academy-amber, #f0b95b);
  gap: 0;
  padding: 14px 16px;
  font-family: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
body.gn-modern .view-rooms {

  --rooms-blue: #78a0ff;
  --rooms-cyan: #59e391;
  --rooms-magenta: #ff6b70;
  --rooms-amber: #ffd166;
}
.gn-modern .view-rooms .rooms-terminal-shell {
  display: flex;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  flex: 1 1 auto;
  flex-direction: column;
  border: 1px solid #2d3d5f;
  border-top: 2px solid var(--academy-blue, #5b8cff);
  border-radius: 2px;
  color: var(--rooms-ink);
  background:
    linear-gradient(rgba(91, 140, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 140, 255, .012) 1px, transparent 1px),
    var(--rooms-terminal);
  background-size: 100% 4px, 48px 100%, auto;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}
.gn-modern .view-rooms .message-meta { gap: 6px; font-size: 9px; }
.gn-modern .view-rooms .message-user { color: var(--rooms-cyan); font-size: 10px; }
.gn-modern .view-rooms .message-mood,
.gn-modern .view-rooms .message-time { color: #63738e; font-size: 8px; }
.gn-modern .view-rooms .message-text {
  margin-top: 1px;
  color: #c9d4e6;
  font: 10px/1.55 "Cascadia Mono", Consolas, monospace;
}

.gn-modern .view-rooms .compose-box {
  margin: 0;
  padding: 12px 18px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.gn-modern .view-rooms .compose-grid { gap: 12px; }
.gn-modern .view-rooms .compose-grid > button[type="submit"] {
  min-width: 0;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  color: var(--rooms-cyan);
  background: transparent;
  box-shadow: none;
  font: 750 10px/1.3 "Cascadia Mono", Consolas, monospace;
}
.gn-modern .view-rooms .chat-actions {
  gap: 5px 17px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--rooms-line-soft);
}
.gn-modern .view-rooms .chat-actions > button,
.gn-modern .view-rooms .chat-actions .emoji-btn {
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  color: #8799b6;
  background: transparent;
  font: 700 9px/1.3 "Cascadia Mono", Consolas, monospace;
}

.gn-modern .view-rooms #roomBrowser,
.gn-modern .view-rooms #pubBrowser,
.gn-modern .view-rooms .room-invite-card,
.gn-modern .view-rooms .pub-chat-bar,
.gn-modern .view-rooms .private-chat-bar {
  margin: 0;
  padding: 12px 18px;
  border: 0;
  border-bottom: 1px dashed var(--rooms-line);
  border-radius: 0;
  color: var(--rooms-muted);
  background: transparent;
}
.gn-modern .view-rooms .private-room-columns { gap: 24px; }
.gn-modern .view-rooms .private-room-column {
  gap: 8px;
  padding: 0 0 0 14px;
  border: 0;
  border-left: 2px solid #263b63;
  border-radius: 0;
  background: transparent;
}
.gn-modern .view-rooms .private-room-column button,
.gn-modern .view-rooms .pub-create #pubRoomCreate,
.gn-modern .view-rooms .room-invite-actions button,
.gn-modern .view-rooms .pub-back {
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  color: var(--rooms-cyan);
  background: transparent;
  box-shadow: none;
  font: 750 9px/1.3 "Cascadia Mono", Consolas, monospace;
}
.gn-modern .view-rooms .room-invite-card { border-left: 2px solid var(--rooms-cyan); }

body.gn-modern #view-rooms {
  --rooms-terminal-red: #ff6b6b;
  --rooms-terminal-blue: #65b5ff;
  --rooms-terminal-yellow: #ffd166;
  --rooms-terminal-green: #5ee28a;
  width: 100%;
  max-width: none;
  padding: clamp(12px, 2vw, 26px);
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(0, 168, 150, .1), transparent 28%),
    linear-gradient(145deg, #edf1f2 0%, #e2e9ea 100%);
  font-family: "JetBrains Mono", "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
body.gn-modern #view-rooms .rooms-terminal-shell {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #253b3d;
  border-radius: 18px;
  color: var(--rooms-terminal-blue);
  background:
    radial-gradient(circle at 82% 14%, rgba(24, 134, 125, .09), transparent 32%),
    #091112;
  box-shadow:
    0 24px 54px rgba(9, 22, 23, .2),
    0 2px 8px rgba(9, 22, 23, .1),
    inset 0 1px rgba(255, 255, 255, .04);
}
body.gn-modern #view-rooms :is(.rooms-academy-hero, .rooms-command-help, .chat-tabs.room-switch, .room-headbar-tools, .rooms-control-bridge, #roomBrowser, #pubBrowser, .room-invite-card, .pub-chat-bar, .private-chat-bar, .chat-actions) {
  display: none !important;
}
body.gn-modern #view-rooms .rooms-terminal-stream {
  min-height: 0;
  padding: clamp(24px, 4vw, 54px);
  overflow-y: auto;
  flex: 1 1 auto;
  scrollbar-color: #315c58 transparent;
  scrollbar-width: thin;
}
body.gn-modern #view-rooms .message-user { color: var(--rooms-terminal-green); font-size: 11px; }
body.gn-modern #view-rooms .message-mood,
body.gn-modern #view-rooms .message-time { color: var(--rooms-terminal-yellow); font-size: 9px; }
body.gn-modern #view-rooms .message-text { color: var(--rooms-terminal-blue); font: 12px/1.55 "Cascadia Mono", Consolas, monospace; }

body.gn-modern #view-rooms .compose-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.gn-modern #view-rooms .compose-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
body.gn-modern #view-rooms .rooms-submit-fallback {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

[tabindex="-1"]:focus-visible,
.gn-modern [tabindex="-1"]:focus-visible { outline: none !important; }

body.gn-modern button.academy-classroom-back,
body.gn-modern .wt-link.academy-classroom-back {
  border: 1px solid var(--academy-line, #d7dde5);
  background: transparent;
  color: #0a315d;
}
body.gn-modern button.academy-classroom-back:hover,
body.gn-modern .wt-link.academy-classroom-back:hover {
  border-color: #0a315d;
  background: #f6f8fa;
  color: #061f3e;
}
body.gn-modern #view-pro .pgb-enroll,
body.gn-modern #view-pro .pgb-enroll li,
body.gn-modern #view-pro .pgb-enroll h3 { color: #e7edf7; }

body.gn-modern .gn-sidebar .gn-rail,
body.gn-modern .gn-rail { scrollbar-width: none; }

body.gn-modern .gn-rail .nav-group,
body.gn-modern .gn-rail .nav-secondary,
body.gn-modern .gn-rail .nav-practice { border: 0; }
body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-secondary .nav-link {
  border: 0;
  border-radius: var(--r-ctl, 10px);
  background: transparent;
  color: #c2cddb;
  box-shadow: inset 2px 0 0 transparent;
}
body.gn-modern .gn-rail .nav-link.active {
  border: 0;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  font-weight: 600;
  box-shadow: none;
}
body.gn-modern .side-user,
body.gn-modern #gnSidebar > button.side-user { border-color: rgba(255, 255, 255, .14); }

body.gn-modern #view-home .gn-win-buddies .gn-win-bar { border-color: var(--academy-line, #d7dde5); background: #fff; }
body.gn-modern #view-home .buddy-group { border: 0; background: #f6f8fa; color: #0a1f3d; }

body.gn-modern #view-home {
  --campus-panel: #fff;
  --campus-panel-2: #f6f8fa;
  --campus-line: #d7dde5;
  --campus-line-soft: #e8ecf1;
  --campus-ink: #0a1f3d;
  --campus-sub: #4d5a6a;
  --campus-muted: #677382;
}
body.gn-modern #view-home .gn-win-bar { border-bottom: 1px solid var(--campus-line); background: #fff; }
body.gn-modern #view-home #modBuddies .buddy-group { border: 0; background: #f6f8fa; color: #0a1f3d; }
body.gn-modern #view-home #modComposer button,
body.gn-modern #view-home .campus-composer-post { border: 1px solid var(--academy-blue, #0a315d); background: var(--academy-blue, #0a315d); color: #fff; }

.academy-intake-catalog { margin-top: 56px; }
.academy-intake-catalog > header { display: grid; gap: 8px; max-width: 640px; }
.academy-intake-catalog > header h2 { margin: 0; color: var(--academy-ink); font-family: var(--academy-display); font-size: 24px; font-weight: 600; letter-spacing: -.015em; }
.academy-intake-catalog > header p { margin: 0; color: var(--academy-sub); font-size: 14px; line-height: 1.6; }
body.gn-modern .academy-gateway .academy-intake-catalog-search,
.academy-intake-catalog-search { width: 100%; max-width: 640px; min-height: 44px; margin: 18px 0 14px; padding: 0 14px; border: 1px solid #aab4c1; border-radius: var(--r-ctl, 10px); background: #fff; color: var(--academy-ink); font: inherit; font-size: 14px; }
body.gn-modern .academy-gateway .academy-intake-catalog-search::placeholder,
.academy-intake-catalog-search::placeholder { color: var(--academy-muted); }
.academy-intake-catalog-search:focus-visible { outline: 2px solid var(--academy-blue); outline-offset: 1px; }
.academy-intake-catalog-group { border: 1px solid var(--academy-line); border-bottom: 0; background: #fff; }
.academy-intake-catalog-group:last-of-type { border-bottom: 1px solid var(--academy-line); }
.academy-intake-catalog-group > summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; color: var(--academy-ink); cursor: pointer; list-style: none; }
.academy-intake-catalog-group > summary::-webkit-details-marker { display: none; }
.academy-intake-catalog-group > summary::after { color: var(--academy-muted); content: "+"; font-family: var(--academy-mono); font-size: 14px; }
.academy-intake-catalog-group[open] > summary::after { content: "−"; }
.academy-intake-catalog-group > summary strong { font-size: 14px; font-weight: 600; }
.academy-intake-catalog-count { margin-left: auto; padding: 2px 8px; border: 1px solid var(--academy-line); color: var(--academy-sub); font-family: var(--academy-mono); font-size: 11px; }
.academy-intake-catalog-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--academy-line); list-style: none; }
.academy-intake-catalog-list li { display: grid; gap: 3px; padding: 12px 16px; border-bottom: 1px solid #eef1f5; }
.academy-intake-catalog-list li:nth-child(odd) { border-right: 1px solid #eef1f5; }
.academy-intake-catalog-list li strong { color: var(--academy-ink); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.academy-intake-catalog-list li span { color: var(--academy-muted); font-family: var(--academy-mono); font-size: 10.5px; letter-spacing: .04em; }
.academy-intake-catalog-empty { color: var(--academy-sub); font-size: 14px; }
@media (max-width: 900px) {
  .academy-intake-catalog-list { grid-template-columns: 1fr; }
  .academy-intake-catalog-list li:nth-child(odd) { border-right: 0; }
}

body.gn-modern #view-settings :is(.setting-check, .settings-action) {
  border: 1px solid #e3e8ee;
  background: #f6f8fa;
  color: #0a1f3d;
}

.academy-gateway-footer .academy-foot-word small { color: #8fa3bd; }

.academy-signup-progress li.active span { color: #fff; }

.academy-checkout-waiting .academy-wait-pulse { display: inline-block; width: 14px; height: 14px; margin-bottom: 18px; background: var(--academy-blue, #0a315d); animation: academyPulse 1.6s ease-out infinite; }
.academy-checkout-waiting,
.academy-checkout-unconfirmed { max-width: 720px; padding-top: 104px; text-align: center; }
.academy-checkout-waiting > p,
.academy-checkout-unconfirmed > p { margin-inline: auto; }
.academy-checkout-live { margin: 14px auto 0 !important; color: #677382 !important; font-size: 14px !important; }
.academy-checkout-waiting .academy-checkout-actions,
.academy-checkout-unconfirmed .academy-checkout-actions { justify-content: center; margin-top: 28px; }
.academy-wait-line { position: relative; width: min(100%, 520px); height: 3px; margin: 26px auto 0; overflow: hidden; background: #dfe5ec; }
.academy-wait-line i { position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: var(--academy-blue, #0a315d); animation: academyWait 1.4s linear infinite; }

.academy-access-active {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 34px;
  padding: 18px 20px;
  border: 1px solid #b8d8c4;
  border-radius: var(--r-card, 14px);
  background: #f1f8f4;
  color: #164f31;
}
.academy-access-active-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: var(--r-chip, 8px);
  background: #1d6b3f;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}
.academy-access-active > div { display: grid; gap: 3px; }
.academy-access-active small { color: #1d6b3f; font-family: var(--academy-mono); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.academy-access-active strong { color: #123f29; font-size: 17px; }
.academy-access-active p { margin: 0; color: #36644a; font-size: 14px; line-height: 1.45; }

@media (max-width: 640px) {
  .academy-checkout-waiting,
.academy-checkout-unconfirmed { padding-top: 58px; }
  .academy-checkout-waiting .academy-checkout-actions,
.academy-checkout-unconfirmed .academy-checkout-actions { align-items: stretch; flex-direction: column; }
  .academy-checkout-waiting .academy-btn,
  .academy-checkout-unconfirmed .academy-btn { width: 100%; }
  .academy-access-active { grid-template-columns: 36px minmax(0, 1fr); padding: 16px; text-align: left; }
  .academy-access-active-mark { width: 36px; height: 36px; }
}

body.gn-modern :is(.gn-win, .academy-record, .academy-credential, .academy-record-next,
  .catalog-card, .catalog-hero, .catalog-statband, .catalog-browser,
  .pgb-trust-card, .pgb-chart-card, .pgb-exam-card, .pgb-ranks-card, .pgb-shelf, .pgb-peek,
  .pc-card, .pc-settings-card, .pc-live-card, .pc-friend-card, .pc-cert-card,
  .settings-card, .settings-index, .settings-danger-card, .setting-check, .settings-action,
  .help-faq, .help-bb-panel, .help-resource-grid > *, .campus-terminal,
  .bba-card, .bba-understanding, .wt-certcard, .academy-dash-standing,
  .academy-standing, .academy-wall) {
  border-radius: var(--r-card, 14px);
  overflow: hidden;
}
body.gn-modern :is(.gn-win, .catalog-card) > :first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }
.academy-gateway :is(.academy-hero-record, .academy-school-card, .academy-standard-note,
  .academy-statband, .academy-intake-program, .academy-enroll-card, .academy-profile-form,
  .academy-checkout-value, .academy-checkout-card, .academy-confirmation-summary,
  .academy-orientation-card, .academy-orientation-model, .academy-intake-catalog-group,
  .academy-identity-note, .academy-signup-summary, .academy-practice-list) {
  border-radius: var(--r-card, 14px);
  overflow: hidden;
}
body.gn-modern .academy-gateway .academy-btn,
.academy-gateway .academy-btn,
.academy-gateway .academy-intake-catalog-search,
body.gn-modern #view-catalog #catalogSearch,
body.gn-modern #view-catalog #catalogProgramFilter,
body.gn-modern #view-catalog .catalog-card-action,
body.gn-modern .academy-dashboard .academy-btn {
  border-radius: var(--r-ctl, 10px);
}
body.gn-modern :is(.catalog-track-pill, .catalog-credential-tags span, .catalog-card-facts,
  .catalog-awards, .catalog-credential-gate, .academy-class-number, .academy-class-card,
  .buddy-group, .campus-quick-action, .campus-command) {
  border-radius: var(--r-chip, 8px);
}
body.gn-modern :is(.catalog-card-facts, .academy-class-list) { overflow: hidden; }
body.gn-modern .gn-rail .nav-link,
body.gn-modern .gn-rail .nav-link.active { border-radius: var(--r-chip, 8px); box-shadow: none; }
body.gn-modern .side-user,
body.gn-modern #gnSidebar > button.side-user { border-radius: var(--r-card, 14px); }

body.gn-modern #view-profile { padding: 30px 34px 80px; }

body.gn-modern .pcx-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  padding: 26px 28px;
  background: var(--academy-surface, #fff);
  border: 1px solid var(--academy-line, #d7dde5);
  border-radius: var(--r-card, 14px);
  margin-bottom: 18px;
}
body.gn-modern .pcx-hero-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.gn-modern .pcx-hero-actions button {
  min-height: 48px;
  padding: 12px 22px;
  font-size: 16px;
}

body.gn-modern .pcx-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-bottom: 26px;
}
body.gn-modern .pcx-stat {
  margin: 0;
  padding: 20px 22px;
  border-radius: var(--r-card, 14px);
  text-align: left;
}
body.gn-modern .pcx-stat .link-btn { font-size: 15px; }

body.gn-modern .pcx-flow {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
body.gn-modern .pcx-jump {
  position: sticky;
  top: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  background: var(--academy-surface, #fff);
  border: 1px solid var(--academy-line, #d7dde5);
  border-radius: var(--r-card, 14px);
}
body.gn-modern .pcx-jump-link {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  color: var(--academy-sub, #4d5a6a);
  background: transparent;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: var(--r-chip, 8px);
}
body.gn-modern .pcx-sections { min-width: 0; }
body.gn-modern .pcx-section {
  margin-bottom: 40px;
  scroll-margin-top: 12px;
}
body.gn-modern #view-profile .hint-text { font-size: 16px; line-height: 1.55; }
body.gn-modern #view-profile .pc-page-hero h2 { font-size: 30px; }
body.gn-modern #view-profile .pc-page-hero p,
body.gn-modern #view-profile .pc-friends-hero p { font-size: 16px; }

body.gn-modern.dark .app-shell.gn-shell {
  --academy-bg: #0a0a0b;
  --academy-surface: #131315;
  --academy-surface-2: #1b1b1e;
  --academy-raised: #202024;
  --academy-ink: #f2f2f2;
  --academy-sub: #b9b9bf;
  --academy-muted: #8b8b92;
  --academy-line: #2c2c30;
  --academy-line-soft: #232327;
  --academy-blue: #e6e6e6;
  --academy-blue-strong: #ffffff;
  --academy-blue-dark: #cfcfcf;
  --academy-green: #86c7a1;
  --academy-amber: #cbb27f;
  --academy-danger: #e08585;
  --m-bg: #0a0a0b;
  --m-sidebar: #0f0f11;
  --m-card: #131315;
  --m-card-2: #1b1b1e;
  --m-raised: #202024;
  --m-line: #2c2c30;
  --m-line-2: #232327;
  --m-line-strong: #3d3d44;
  --m-ink: #f2f2f2;
  --m-sub: #b9b9bf;
  --m-muted: #8b8b92;
  --m-blue: #e6e6e6;
  --m-blue-soft: #232327;
  --m-cyan: #e6e6e6;
  --m-e2e: #cfcfcf;
  --m-newkey: #b9b9bf;
  --m-warn: #cbb27f;
  --m-danger: #e08585;
}

body.gn-modern.dark { background: #000; background-image: none; }
body.gn-modern.dark .desktop,
body.gn-modern.dark .app-shell.gn-shell,
body.gn-modern.dark .gn-content,
body.gn-modern.dark .gn-body,
body.gn-modern.dark .views { background: #0a0a0b; }
@media (min-width: 768px) {
  body.gn-modern.dark .app-shell.gn-shell { background: #000; }
  body.gn-modern.dark .gn-sidebar { border-color: #2c2c30; }
  body.gn-modern.dark .gn-content { border-color: #2c2c30; background: #0a0a0b; }
}

body.gn-modern.dark .gn-sidebar { background: #0f0f11; border-right-color: #2c2c30; color: #f2f2f2; }
body.gn-modern.dark .nav-practice { border-top-color: #232327; }
body.gn-modern.dark .gn-rail .nav-link,
body.gn-modern.dark .gn-rail .nav-secondary .nav-link { color: #cfcfd4; }
body.gn-modern.dark .gn-rail .nav-link.active {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  box-shadow: none;
}
body.gn-modern.dark .side-user,
body.gn-modern.dark #gnSidebar > button.side-user { background: #1b1b1e; border-color: #2c2c30; }

body.gn-modern.dark .gn-topbar { background: #0f0f11; border-bottom-color: #2c2c30; }
body.gn-modern.dark .notif-bell,
body.gn-modern.dark .gn-account { background: #1b1b1e; border-color: #2c2c30; color: #e6e6e6; }

body.gn-modern.dark .app-shell .gn-btn-primary,
body.gn-modern.dark .app-shell button.gn-btn-primary {
  background: #f2f2f2;
  border-color: #f2f2f2;
  color: #0a0a0b;
}
body.gn-modern.dark .app-shell .gn-btn-quiet,
body.gn-modern.dark .app-shell button.gn-btn-quiet {
  background: #1b1b1e;
  border-color: #3d3d44;
  color: #e6e6e6;
}
body.gn-modern.dark .app-shell .link-btn { color: #e6e6e6; }

body.gn-modern.dark #view-settings {
  --settings-paper: #131315;
  --settings-raised: #1b1b1e;
  --settings-blue-soft: #232327;
  --settings-line: #2c2c30;
  --settings-line-strong: #3d3d44;
  --settings-ink: #f2f2f2;
  --settings-sub: #b9b9bf;
  --settings-muted: #8b8b92;
  --settings-navy: #e6e6e6;
  --settings-green: #86c7a1;
  --settings-danger: #e08585;
}

body.gn-modern.dark #view-drop {
  --practice-bg: #0a0a0b;
  --practice-surface: #131315;
  --practice-surface-2: #1b1b1e;
  --practice-ink: #f2f2f2;
  --practice-sub: #b9b9bf;
  --practice-brass: #cbb27f;
  --practice-line: #2c2c30;
}

body.dark .academy-gateway {
  --academy-bg: #0a0a0b;
  --academy-paper: #131315;
  --academy-surface: #131315;
  --academy-surface-2: #1b1b1e;
  --academy-raised: #202024;
  --academy-ink: #f2f2f2;
  --academy-sub: #b9b9bf;
  --academy-muted: #8b8b92;
  --academy-line: #2c2c30;
  --academy-line-soft: #232327;
  --academy-blue: #e6e6e6;
  --academy-blue-strong: #ffffff;
  --academy-green: #86c7a1;
  --academy-danger: #e08585;
  background: #0a0a0b;
  color: #f2f2f2;
}
body.dark .academy-gateway .academy-btn-primary { background: #f2f2f2; border-color: #f2f2f2; color: #0a0a0b; }
body.dark .academy-gateway .academy-btn-secondary { background: transparent; border-color: #3d3d44; color: #e6e6e6; }

body.gn-modern.dark .gn-startmenu { background: #131315; border-color: #2c2c30; color: #f2f2f2; }
body.gn-modern.dark .gn-startmenu .menu-item { color: #e6e6e6; }
body.gn-modern.dark .gn-startmenu-foot { border-top-color: #232327; }
@keyframes cr-spin { to { transform: rotate(360deg); } }
body.dark .profile-preview,
body.dark .buddy-list,
body.dark .room-box,
body.dark .msg-pane,
body.dark .compose-box,
body.dark .chat-header { background: #131315; }
body.dark .room-box { background: #1b1b1e; }
body.dark .message-meta { color: #b9b9bf; }
body.dark .message-mood { color: #b9b9bf; }
body.dark .room-invite-card { background: #131315; }
body.dark .private-room-box { box-shadow: inset 1px 1px #131315, inset -1px -1px #808080; }
body.dark .age-panel { --age-surface: #131315; }
body.dark .age-jurisdiction { color: #dcdcdc; background: #1b1b1e; }
body.dark .age-read-legal { border: 1px solid #2c2c30; }
body.dark .age-read-legal:hover { background: #1b1b1e; }
body.dark .age-enter:disabled { border-color: #3d3d44; }
body.dark .pub-chat-bar { color: #b9b9bf; }
body.dark .pro-restore { color: #b9b9bf; }
body.dark .humangate-sub { color: #dcdcdc; }
body.dark .bb-stage-idx { color: #b9b9bf; }
body.dark .academy-skip-link { background: #131315; color: #f2f2f2; }
body.dark .academy-dashboard { --academy-bg: #131315; --academy-surface: #131315; --academy-surface-2: #131315; --academy-raised: #131315; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-muted: #8b8b92; --academy-line: #2c2c30; --academy-blue: #f2f2f2; --academy-blue-strong: #f2f2f2; }
body.dark .academy-class-card:hover { background: #1b1b1e; }
body.dark .academy-class-go { color: #b9b9bf; }
body.dark .academy-class-tag { border: 1px solid #2c2c30; }
body.dark .academy-dash-bar i { background: #1b1b1e; }
body.dark .academy-credential .academy-btn-secondary:hover { background: #1b1b1e; }
body.dark .academy-help-send { color: #f2f2f2; }
body.gn-modern.dark .academy-help-panel .academy-help-send { color: #f2f2f2; }
body.gn-modern.dark .codelab-primary-actions .inline-btn { color: #f2f2f2; }
.gn-modern.dark #view-home .campus-command-primary { color: #f2f2f2; }
.gn-modern.dark #view-home #modComposer #feedPost { color: #f2f2f2; }
.gn-modern.dark #view-home .campus-command-primary,
.gn-modern.dark #view-home .campus-command-primary:hover { color: #f2f2f2; }
body.gn-modern.dark #view-settings { --settings-paper: #131315; --settings-raised: #1b1b1e; --settings-blue-soft: #232327; --settings-line: #2c2c30; --settings-line-strong: #3d3d44; --settings-ink: #f2f2f2; --settings-sub: #b9b9bf; --settings-muted: #8b8b92; --settings-navy: #f2f2f2; --settings-green: #86c7a1; --settings-danger: #e08585; }
body.gn-modern.dark #view-settings .settings-action-signoff .gn-btn-quiet,
body.gn-modern.dark #view-settings .settings-action-signoff .gn-btn-quiet:hover,
body.gn-modern.dark #view-settings .settings-action-signoff .gn-btn-quiet:focus-visible { border-color: #3d3d44; }
body.dark .academy-signup-progress li { color: #b9b9bf; }
body.dark .academy-signup-progress li.active > span { color: #f2f2f2; }
body.dark .academy-signup-shell .academy-checkout-value { border: 1px solid var(--academy-line, #2c2c30); background: #131315; }
body.dark .academy-signup-shell .academy-checkout-meta { border-bottom: 1px solid var(--academy-line, #2c2c30); }
body.dark .academy-signup-shell .academy-checkout-meta small { color: var(--academy-muted, #8b8b92); }
body.dark .academy-signup-shell .academy-checkout-meta strong { color: var(--academy-ink, #f2f2f2); }
body.dark .academy-signup-shell .academy-checkout-value h2 { color: var(--academy-ink, #f2f2f2); }
body.dark .academy-signup-shell .academy-checkout-list li { color: var(--academy-sub, #b9b9bf); }
body.dark .academy-signup-shell .academy-checkout-tick { color: var(--academy-blue, #e6e6e6); }
body.dark .academy-signup-shell .academy-checkout-pathline { border-top: 1px solid var(--academy-line, #2c2c30); color: var(--academy-sub, #b9b9bf); }
body.dark .academy-signup-shell .academy-checkout-pathline small { color: var(--academy-muted, #8b8b92); }
body.dark .academy-gateway .academy-signup-shell .academy-checkout-card { border: 1px solid var(--academy-line, #2c2c30); background: #1b1b1e; }
body.dark .academy-signup-shell .academy-checkout-card .academy-kicker { color: var(--academy-blue, #e6e6e6); }
body.dark .academy-signup-shell .academy-checkout-price { color: var(--academy-ink, #f2f2f2); }
body.dark .academy-signup-shell .academy-checkout-term { color: var(--academy-muted, #8b8b92); }
body.dark .academy-signup-shell .academy-checkout-note { color: var(--academy-muted, #8b8b92); }
body.dark .academy-signup-shell .academy-checkout-status { color: #e6e6e6; }
body.dark .academy-signup-shell .academy-checkout-freelink { color: var(--academy-sub, #b9b9bf); }
body.dark .academy-signup-shell .academy-checkout-freelink:hover,
body.dark .academy-signup-shell .academy-checkout-freelink:focus-visible { color: var(--academy-ink, #f2f2f2); }
body.dark button.academy-classroom-back { color: #e6e6e6; border: 1px solid var(--academy-line, #2c2c30); }
body.dark button.academy-classroom-back:hover { color: #dcdcdc; background: #1b1b1e; border-color: #e6e6e6; }
body.dark button.academy-classroom-back:focus-visible { outline: 3px solid var(--academy-blue, #e6e6e6); }
body.gn-modern.dark #view-code { --academy-bg: #0f0f11; --academy-surface: #131315; --academy-surface-2: #1b1b1e; --academy-raised: #131315; --academy-line: #2c2c30; --academy-line-soft: #232327; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-green: #86c7a1; background-color: #0f0f11; }
body.gn-modern.dark #view-code .academy-classroom-hero { border: 1px solid #3d3d44; background: #131315; }
body.gn-modern.dark #view-code .academy-classroom-hero h1 { color: #f2f2f2; }
body.gn-modern.dark #view-code .academy-classroom-hero p { color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-classroom-status { border: 1px solid #2c2c30; background: #1b1b1e; }
body.gn-modern.dark #view-code .academy-classroom-status strong { color: #dcdcdc; }
body.gn-modern.dark #view-code .academy-classroom-status span { color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-classroom-lane { border: 1px solid #2c2c30; background: #131315; }
body.gn-modern.dark #view-code .academy-classroom-lane:hover { background: #131315; }
body.gn-modern.dark #view-code .academy-classroom-lane strong { color: #f2f2f2; }
body.gn-modern.dark #view-code .academy-classroom-lane small { color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-classroom-lane-icon { border: 1px solid #2c2c30; background: #1b1b1e; }
body.gn-modern.dark #view-code .codelab-whiteteam-btn .academy-classroom-lane-icon { color: #86c7a1; }
body.gn-modern.dark #view-code .codelab-workspace { border: 1px solid #3d3d44; background: #131315; }
body.gn-modern.dark #view-code .codelab-workspace-head { border-bottom-color: #2c2c30; background: #131315; }
body.gn-modern.dark #view-code .codelab-path-switcher button { color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-workspace-view .codelab-workspace > .codelab-task-rail,
body.gn-modern.dark #view-code .codelab-workspace > .codelab-task-rail { background: #1b1b1e; }
body.gn-modern.dark #view-code .academy-workspace-view .codelab-workspace .codelab-controls,
body.gn-modern.dark #view-code .codelab-workspace .codelab-controls { border-bottom-color: #2c2c30; background: #131315; }
body.gn-modern.dark #view-code .codelab-tools { border-top-color: #232327; }
body.gn-modern.dark #view-code .codelab-tools-drawer { border-top-color: #2c2c30; background: #1b1b1e; }
body.gn-modern.dark #view-code .codelab-secondary-actions .inline-btn,
body.gn-modern.dark #view-code .codelab-tools-drawer .codelab-collab .inline-btn { border-color: #2c2c30; background: #131315; color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-workspace-view .bb-academy,
body.gn-modern.dark #view-code .academy-workspace-view .greypath,
body.gn-modern.dark #view-code .codelab-task-rail > .bb-academy,
body.gn-modern.dark #view-code .codelab-task-rail > .greypath { border-color: #2c2c30; background: #1b1b1e; color: #f2f2f2; }
body.gn-modern.dark #view-code .bb-academy-bar,
body.gn-modern.dark #view-code .greypath-bar,
body.gn-modern.dark #view-code .greypath.wt-mode .greypath-bar { border-bottom-color: #2c2c30; }
body.gn-modern.dark #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) { background: #1b1b1e; color: #f2f2f2; }
body.gn-modern.dark #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(h3, h4, h5, strong) { color: #f2f2f2; }
body.gn-modern.dark #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(p, label, small, [role="status"]) { color: #b9b9bf; }
@media (max-width: 980px) {
body.gn-modern.dark #view-code .academy-classroom-lane { border: 1px solid #2c2c30; }
}
body.gn-modern.dark #view-drop { --practice-bg: #0f0f11; --practice-surface: #131315; --practice-surface-2: #1b1b1e; --practice-ink: #f2f2f2; --practice-sub: #b9b9bf; }
body.dark.academy-gateway-open { background: #131315 !important; }
body.dark .academy-gateway { --academy-surface: #131315; --academy-surface-2: #1b1b1e; --academy-raised: #131315; --academy-line-soft: #232327; --academy-bg: #131315; --academy-paper: #131315; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-muted: #8b8b92; --academy-line: #2c2c30; --academy-blue: #f2f2f2; --academy-blue-strong: #f2f2f2; --academy-green: #f2f2f2; background: #131315; }
body.dark .academy-header-link { color: #dcdcdc; }
body.dark .academy-header-link:hover { background: #1b1b1e; }
body.dark .academy-header-cta:hover { background: #101012; }
body.gn-modern.dark .academy-gateway .academy-header-link { color: #dcdcdc; }
body.gn-modern.dark .academy-gateway .academy-header-link:hover { background: #1b1b1e; }
body.gn-modern.dark .academy-gateway .academy-header-cta:hover { border-color: #3d3d44; background: #101012; }
body.dark .academy-btn-primary:hover { background: #101012; }
body.dark .academy-btn-secondary { background: #131315; }
body.dark .academy-btn-secondary:hover { background: #1b1b1e; }
body.dark .academy-statband { background: #131315; }
body.dark .academy-school-card { background: #131315; }
body.dark .academy-school-card:hover { background: #131315; }
body.dark .academy-school-card button:hover { color: #dcdcdc; }
body.dark .academy-practice-copy,
body.dark .academy-standard-note { background: #131315; }
body.dark .academy-practice-list > div { background: #131315; }
body.dark .academy-standard-note { background: #131315; }
body.dark .academy-enrollment { background: #131315; }
body.dark .academy-intake-program { background: #131315; }
body.dark .academy-intake-program.selected { background: #131315; }
body.dark .academy-enroll-choices { background: #131315; }
body.dark .academy-enroll-card { background: #131315; }
body.dark .academy-enroll-card.primary { background: #131315; }
body.dark .academy-plan-badge { background: #131315; }
body.dark .academy-signup-trust > div { background: #131315; }
body.dark .academy-profile-form { background: #131315; }
body.dark .academy-profile-form input,
body.dark .academy-profile-form textarea,
body.dark .academy-profile-form select,
body.dark .academy-orientation select { border-color: #3d3d44; background: #131315; }
body.dark .academy-identity-note { background: #1b1b1e; }
body.dark .academy-signup-summary { background: #1b1b1e; }
body.gn-modern.dark .academy-gateway .academy-wordmark strong { color: #f2f2f2 !important; }
body.gn-modern.dark .academy-gateway .academy-wordmark small { color: #b9b9bf !important; }
body.gn-modern.dark .academy-gateway .academy-header-link { color: #dcdcdc !important; }
body.gn-modern.dark .academy-gateway .academy-header-link:hover { color: #f2f2f2 !important; background: #1b1b1e !important; }
body.gn-modern.dark .academy-gateway .academy-header-signin { color: #f2f2f2 !important; }
body.gn-modern.dark .academy-gateway .academy-header-cta { border-color: #3d3d44 !important; background: #202024 !important; }
body.gn-modern.dark .academy-gateway .academy-header-cta:hover { border-color: #3d3d44 !important; background: #101012 !important; }
body.dark .academy-field-error { color: #e08585; }
body.dark .academy-enrollment :is(.academy-enroll-shell, .academy-profile-shell, .academy-checkout-shell, .academy-orientation) { background: #131315; }
body.dark .academy-signup-shell .academy-profile-form { border: 1px solid #2c2c30; background: #131315; }
body.dark .academy-signup-shell .academy-profile-form label { color: #f2f2f2; }
body.dark .academy-signup-shell .academy-profile-form :is(input, select, textarea) { border-color: #3d3d44; color: #f2f2f2; background: #131315; }
body.dark .academy-signup-shell .academy-profile-form :is(input, select, textarea):focus { border-color: #e6e6e6; background: #131315; }
body.dark .academy-signup-shell .academy-identity-note { border: 1px solid #2c2c30; border-left: 3px solid #e6e6e6; background: #1b1b1e; }
body.dark .academy-signup-shell .academy-identity-note strong { color: #f2f2f2; }
body.dark .academy-signup-shell .academy-identity-note p { color: #b9b9bf; }
body.dark .academy-signup-summary { border: 1px solid #2c2c30; background: #1b1b1e; }
body.dark .academy-signup-summary > span,
body.dark .academy-signup-summary li > span { color: #e6e6e6; }
body.dark .academy-signup-summary h2 { color: #f2f2f2; }
body.dark .academy-signup-summary li { border-color: #2c2c30; }
body.dark .academy-signup-summary li strong { color: #f2f2f2; }
body.dark .academy-signup-summary li p { color: #b9b9bf; }
body.dark .academy-signup-shell .academy-enroll-head p { color: #b9b9bf; }
body.dark .academy-signup-shell .academy-enroll-choices { border: 1px solid #2c2c30; background: #131315; }
body.dark .academy-signup-shell .academy-enroll-card { border-right: 1px solid #2c2c30; background: #131315; }
body.dark .academy-signup-shell .academy-enroll-card.primary { border-top: 3px solid #e6e6e6; border-right: 1px solid #2c2c30; background: #131315; }
body.dark .academy-signup-shell .academy-enroll-card h2 { color: #f2f2f2; }

body.dark .academy-signup-shell .academy-enroll-card > p { color: #b9b9bf; }
body.dark .academy-signup-shell .academy-enroll-card ul { border-color: #2c2c30; color: #dcdcdc; }
body.dark .academy-signup-shell .academy-enroll-card li::before { color: #e6e6e6; }
body.dark .academy-signup-shell .academy-enroll-card .academy-btn-primary { border-color: #e6e6e6; background: #f2f2f2; color: #0a0a0b; }
body.dark .academy-signup-shell .academy-enroll-card .academy-btn-secondary { border-color: #e6e6e6; color: #e6e6e6; background: #131315; }
body.dark .academy-signup-shell .academy-enroll-card .academy-btn-secondary:hover { color: #dcdcdc; border-color: #3d3d44; background: #1b1b1e; }
body.dark .academy-plan-top > small,
body.dark .academy-plan-badge { color: #e6e6e6; }
body.dark .academy-plan-badge { border-color: #2c2c30; background: #131315; }
body.dark .academy-plan-badge.quiet { color: #b9b9bf; }
body.dark .academy-plan-price { color: #f2f2f2; }
body.dark .academy-plan-price-note,
body.dark .academy-signup-shell .academy-plan-footnote { color: #8b8b92; }
@media (max-width: 900px) {
body.dark .academy-signup-shell .academy-enroll-card,
body.dark .academy-signup-shell .academy-enroll-card.primary { border-bottom: 1px solid #2c2c30; }
}
body.gn-modern.dark,
body.gn-modern.dark .desktop,
body.gn-modern.dark .app-shell.gn-shell,
body.gn-modern.dark .gn-content,
body.gn-modern.dark .gn-body,
body.gn-modern.dark .views { background: #131315; }
body.gn-modern.dark .app-shell.gn-shell { --academy-bg: #131315; --academy-surface: #131315; --academy-surface-2: #1b1b1e; --academy-raised: #131315; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-muted: #8b8b92; --academy-line: #2c2c30; --academy-line-soft: #232327; --academy-blue: #f2f2f2; --academy-blue-strong: #f2f2f2; --academy-blue-dark: #101012; --academy-green: #86c7a1; --academy-amber: #f2f2f2; --academy-danger: #e08585; --m-bg: #131315; --m-sidebar: #202024; --m-card: #131315; --m-card-2: #1b1b1e; --m-raised: #131315; --m-line: #2c2c30; --m-line-2: #232327; --m-line-strong: #3d3d44; --m-ink: #f2f2f2; --m-sub: #b9b9bf; --m-muted: #8b8b92; --m-blue: #f2f2f2; --m-blue-soft: #232327; --m-cyan: #f2f2f2; --m-e2e: #f2f2f2; --m-newkey: #b9b9bf; --m-warn: #cbb27f; --m-danger: #e08585; }
body.gn-modern.dark .gn-sidebar { border-right-color: #2c2c30; background: #202024; }
body.gn-modern.dark .gn-rail .nav-link.active,
body.gn-modern.dark .nav-practice .nav-link.active { border-left-color: #131315; }
body.gn-modern.dark .gn-topbar { border-bottom-color: #2c2c30; }
body.gn-modern.dark .gn-topbar-search input,
body.gn-modern.dark .gn-chip,
body.gn-modern.dark .notif-bell,
body.gn-modern.dark .gn-account { border-color: #2c2c30; background: #131315; color: #f2f2f2; }
body.gn-modern.dark .gn-startmenu,
body.gn-modern.dark .notif-panel { border-color: #2c2c30; background: #131315; color: #f2f2f2; }
body.gn-modern.dark .gn-startmenu .menu-item { color: #b9b9bf; }
body.gn-modern.dark .gn-startmenu-foot { border-top: 1px solid #232327; }
body.gn-modern.dark .gn-startmenu-signoff { color: #e08585; }
body.gn-modern.dark :where(button, a, input, textarea, select, summary, [tabindex]):focus-visible { outline-color: #e6e6e6 !important; }
body.gn-modern.dark .view,
body.gn-modern.dark :is(#view-home, #view-profile, #view-cohorts, #view-settings, #view-help, #view-pro, #view-privacy, #view-catalog) { background: #131315; color: #f2f2f2; }
body.gn-modern.dark :where(input, textarea, select) { border-color: #3d3d44; background: #131315; color: #f2f2f2; }
body.gn-modern.dark #view-academy,
body.gn-modern.dark #view-catalog,
body.gn-modern.dark #view-home,
body.gn-modern.dark #view-profile,
body.gn-modern.dark #view-settings,
body.gn-modern.dark #view-help,
body.gn-modern.dark #view-pro,
body.gn-modern.dark #view-privacy { background: #131315; }
body.gn-modern.dark .academy-dash-head { border-top-color: #e6e6e6; }
body.gn-modern.dark #view-catalog .catalog-statband,
body.gn-modern.dark #view-home .campus-terminal-status,
body.gn-modern.dark :is(.settings-status, .settings-device, .settings-card-badge) { border-color: #2c2c30; background: #1b1b1e; color: #f2f2f2; }
body.gn-modern.dark .academy-dashboard { --academy-bg: #131315; --academy-surface: #131315; --academy-surface-2: #1b1b1e; --academy-raised: #131315; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-muted: #8b8b92; --academy-line: #2c2c30; --academy-line-soft: #232327; --academy-blue: #f2f2f2; --academy-blue-strong: #f2f2f2; --academy-blue-dark: #101012; --academy-green: #86c7a1; --academy-amber: #f2f2f2; background: #131315; }
body.dark .academy-dash-panel > span,
body.dark .academy-dash-panel header span { color: #e6e6e6; }
body.gn-modern.dark .academy-dashboard .academy-dash-head { border-color: #2c2c30; background: #131315; }
body.gn-modern.dark #view-code { --academy-bg: #131315; --academy-surface: #131315; --academy-surface-2: #1b1b1e; --academy-raised: #131315; --academy-line: #2c2c30; --academy-line-soft: #232327; --academy-ink: #f2f2f2; --academy-sub: #b9b9bf; --academy-muted: #8b8b92; --academy-blue: #f2f2f2; --academy-blue-strong: #f2f2f2; --academy-blue-dark: #101012; --academy-amber: #f2f2f2; background: #131315; color: #f2f2f2; }
body.gn-modern.dark #view-code :is(.academy-classroom-hero, .codelab-workspace, .academy-classroom-lane, .codelab-entry-record, .codelab-entry-flow, .codelab-workflow, .codelab-resume) { border-color: #2c2c30; border-top-color: #e6e6e6; background: #131315; }
body.gn-modern.dark #view-code :is(.academy-classroom-hero h1, .academy-classroom-lane strong, .codelab-workspace-identity h1, .codelab-entry-flow strong, .codelab-workflow strong) { color: #f2f2f2; }
body.gn-modern.dark #view-code :is(.academy-classroom-hero-copy > span,
body.dark .academy-classroom-status small,
body.dark .codelab-workspace-identity small,
body.dark .academy-classroom-lane > span:not(.academy-classroom-lane-icon), .codelab-entry-flow small, .codelab-workflow small) { color: #e6e6e6; }
body.gn-modern.dark #view-code :is(.academy-classroom-hero p, .academy-classroom-status span, .academy-classroom-lane small, .codelab-entry-flow span) { color: #b9b9bf; }
body.gn-modern.dark #view-code .academy-classroom-status,
body.gn-modern.dark #view-code .codelab-resume { border-color: #2c2c30; border-left-color: #e6e6e6; background: #1b1b1e; }
body.gn-modern.dark #view-code .academy-classroom-lane:hover { border-color: #e6e6e6; background: #1b1b1e; }
body.gn-modern.dark #view-code .academy-classroom-lane::after { color: #e6e6e6; }
body.gn-modern.dark #view-code .academy-classroom-lane-icon { border-color: #2c2c30; background: #232327; color: #e6e6e6; }
body.gn-modern.dark #view-code :is(.codelab-whiteteam-btn, .codelab-greypath-btn) .academy-classroom-lane-icon { color: #e6e6e6; }
body.gn-modern.dark #view-code .academy-classroom-lane-number { color: #8b8b92; }
body.gn-modern.dark #view-drop { --practice-bg: #131315; --practice-surface: #131315; --practice-surface-2: #1b1b1e; --practice-ink: #f2f2f2; --practice-sub: #b9b9bf; --practice-muted: #8b8b92; --practice-line: #2c2c30; --practice-line-strong: #3d3d44; --practice-blue: #f2f2f2; --practice-blue-soft: #232327; --practice-brass: #f2f2f2; --practice-brass-soft: #232327; background: #131315; }
body.gn-modern.dark .academy-gateway .academy-btn-primary:hover { border-color: #3d3d44; background: #101012; }
body.gn-modern.dark .academy-gateway .academy-btn-secondary { border: 1px solid #2c2c30; background: #131315; }
body.gn-modern.dark .academy-gateway .academy-btn-secondary:hover { background: #1b1b1e; }
body.gn-modern.dark .academy-gateway .academy-final-cta .academy-btn-primary { border-color: #131315; background: #131315; color: #e6e6e6; }
body.gn-modern.dark .academy-gateway .academy-final-cta .academy-btn-primary:hover { border-color: #232327; background: #1b1b1e; color: #dcdcdc; }
body.gn-modern.dark .academy-gateway .academy-final-cta .academy-btn-secondary { border-color: #2c2c30; }
body.gn-modern.dark .academy-gateway .academy-final-cta .academy-btn-secondary:hover { border-color: #131315; }
body.dark .academy-enroll-back:hover { color: #dcdcdc; }
body.dark .academy-orientation-card { background: #131315; }
body.dark .academy-orientation-model > div { background: #131315; }
body.dark .academy-week-grid > div { background: #1b1b1e; }
body.dark .academy-hero-record { background: #1b1b1e; }
body.dark .academy-school-card { background: #131315; }
body.dark .academy-school-card:hover { border-color: #2c2c30; }
body.dark .academy-final-cta { background: #202024; }
body.dark .academy-final-cta .academy-btn-primary { border-color: #131315; background: #131315; color: #e6e6e6; }
body.dark .academy-final-cta .academy-btn-primary:hover { border-color: #232327; background: #1b1b1e; color: #dcdcdc; }
body.dark .academy-final-cta .academy-btn-secondary { border-color: #2c2c30; }
body.dark .academy-final-cta .academy-btn-secondary:hover { border-color: #131315; }
body.gn-modern.dark #view-code .academy-classroom-hero { border-bottom: 1px solid #2c2c30; }
body.gn-modern.dark #view-code .academy-classroom-status { border-left: 3px solid #e6e6e6; background: #1b1b1e; }
body.gn-modern.dark #view-code .academy-classroom-lane { border: 1px solid #2c2c30; border-top: 1px solid #2c2c30; background: #131315; }
body.gn-modern.dark #view-code .academy-classroom-lane:hover { border-color: #3d3d44; background: #131315; }
body.dark .academy-intake-program[role="button"]:hover,
body.dark .academy-enroll-card[role="button"]:hover { border-color: #3d3d44; background: #131315; }
body.dark .academy-intake-program[role="button"]:focus-visible,
body.dark .academy-enroll-card[role="button"]:focus-visible { outline: 3px solid #e6e6e6; }
body.dark .academy-plan-action { color: #e6e6e6; }
body.dark .academy-intake-program:hover .academy-plan-action,
body.dark .academy-enroll-card:hover .academy-plan-action { color: #dcdcdc; }
body.dark .academy-school-card[role="link"]:focus-visible { outline: 3px solid #e6e6e6; border-color: #e6e6e6; }
body.dark .academy-school-link { color: #e6e6e6; }
body.dark .academy-campus-loading { border: 1px solid #2c2c30; background: #131315; color: #f2f2f2; }
body.gn-modern.dark #view-home .campus-command.campus-command-primary,
body.gn-modern.dark #view-home .campus-command.campus-command-primary:hover { border-color: #e6e6e6; background: #f2f2f2; color: #0a0a0b; }
body.gn-modern.dark #view-rooms { --rooms-cyan: #f2f2f2; --rooms-magenta: #cbb27f; background: #131315; color: #dcdcdc; }
body.dark .rooms-academy-hero { border-bottom: 1px solid #2c2c30; }
body.dark .rooms-academy-hero > span { color: #e6e6e6; }
body.dark .rooms-academy-hero p { color: #b9b9bf; }
body.gn-modern.dark #view-rooms .room-console,
body.gn-modern.dark #view-rooms .chat-tabs.room-switch,
body.gn-modern.dark #view-rooms .chat-header.room-headbar,
body.gn-modern.dark #view-rooms .msg-pane,
body.gn-modern.dark #view-rooms .compose-box,
body.gn-modern.dark #view-rooms :is(#roomBrowser, #pubBrowser, .room-invite-card, .pub-chat-bar, .private-chat-bar) { border-color: #2c2c30; background: #131315; color: #dcdcdc; }
body.gn-modern.dark #view-rooms .room-title,
body.gn-modern.dark #view-rooms .message-user { color: #e6e6e6; }
body.gn-modern.dark #view-rooms .room-meta,
body.gn-modern.dark #view-rooms .message-mood,
body.gn-modern.dark #view-rooms .message-time { color: #b9b9bf; }
body.gn-modern.dark #view-rooms .message-text { color: #dcdcdc; }
body.gn-modern.dark #view-rooms :is(.compose-grid > button[type="submit"], .private-room-column button, .pub-create #pubRoomCreate) { border-color: #e6e6e6; background: #f2f2f2; color: #0a0a0b; }
body.gn-modern.dark #view-rooms .chat-actions :is(button, .emoji-btn),
body.gn-modern.dark #view-rooms .pub-back,
body.gn-modern.dark #view-rooms .room-invite-actions button { border-color: #2c2c30; background: #131315; color: #e6e6e6; }
.gn-modern.dark .view-rooms .message-mood,
.gn-modern.dark .view-rooms .message-time { color: #b9b9bf; }
body.gn-modern.dark #view-rooms { background: radial-gradient(circle at 88% 8%, rgba(0, 168, 150, .1), transparent 28%),
    linear-gradient(145deg, #1b1b1e 0%, #1b1b1e 100%); }
body.gn-modern.dark button.academy-classroom-back,
body.gn-modern.dark .wt-link.academy-classroom-back { border: 1px solid var(--academy-line, #2c2c30); color: #e6e6e6; }
body.gn-modern.dark button.academy-classroom-back:hover,
body.gn-modern.dark .wt-link.academy-classroom-back:hover { border-color: #e6e6e6; background: #1b1b1e; color: #dcdcdc; }
body.gn-modern.dark #view-home .gn-win-buddies .gn-win-bar { border-color: var(--academy-line, #2c2c30); background: #131315; }
body.gn-modern.dark #view-home .buddy-group { background: #1b1b1e; color: #f2f2f2; }
body.gn-modern.dark #view-home { --campus-panel: #131315; --campus-panel-2: #1b1b1e; --campus-line: #2c2c30; --campus-line-soft: #232327; --campus-ink: #f2f2f2; --campus-sub: #b9b9bf; --campus-muted: #8b8b92; }
body.gn-modern.dark #view-home .gn-win-bar { background: #131315; }
body.gn-modern.dark #view-home #modBuddies .buddy-group { background: #1b1b1e; color: #f2f2f2; }
body.gn-modern.dark #view-home #modComposer button,
body.gn-modern.dark #view-home .campus-composer-post { border: 1px solid var(--academy-blue, #e6e6e6); background: var(--academy-blue, #f2f2f2); color: #0a0a0b; }
body.gn-modern.dark .academy-gateway .academy-intake-catalog-search,
body.dark .academy-intake-catalog-search { border: 1px solid #3d3d44; background: #131315; }
body.dark .academy-intake-catalog-group { background: #131315; }
body.dark .academy-intake-catalog-list li { border-bottom: 1px solid #232327; }
body.dark .academy-intake-catalog-list li:nth-child(odd) { border-right: 1px solid #232327; }
body.gn-modern.dark #view-settings :is(.setting-check, .settings-action) { border: 1px solid #232327; background: #1b1b1e; color: #f2f2f2; }
body.dark .academy-checkout-waiting .academy-wait-pulse { background: var(--academy-blue, #f2f2f2); }
body.dark .academy-checkout-live { color: #8b8b92 !important; }
body.dark .academy-wait-line { background: #1b1b1e; }
body.dark .academy-wait-line i { background: var(--academy-blue, #f2f2f2); }
body.dark .academy-access-active { border: 1px solid #2c2c30; background: #131315; color: #dcdcdc; }
body.dark .academy-access-active strong { color: #dcdcdc; }
body.dark .academy-access-active p { color: #b9b9bf; }
body.gn-modern.dark .pcx-hero { background: var(--academy-surface, #131315); border: 1px solid var(--academy-line, #2c2c30); }
body.gn-modern.dark .pcx-jump { background: var(--academy-surface, #131315); border: 1px solid var(--academy-line, #2c2c30); }
body.gn-modern.dark .pcx-jump-link { color: var(--academy-sub, #b9b9bf); }
@media (min-width: 768px) {
body.gn-modern.dark .app-shell.gn-shell { background: #232327; }
body.gn-modern.dark .gn-sidebar { border: 1px solid #2c2c30; }
body.gn-modern.dark .gn-content { border: 1px solid var(--academy-line, #2c2c30); background: var(--academy-bg, #131315); }
}

body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) {
  --intake-panel: #0a1220;
  --intake-panel-raised: #101d30;
  --intake-line: rgba(177, 201, 241, .24);
  --academy-bg: #050810;
  --academy-paper: #08101f;
  --academy-surface: #08101f;
  --academy-surface-2: #0d192f;
  --academy-raised: #111f3a;
  --academy-ink: #f7f9ff;
  --academy-sub: #c3cddd;
  --academy-muted: #96a4b9;
  --academy-line: rgba(177, 201, 241, .24);
  --academy-line-soft: rgba(177, 201, 241, .14);
  --academy-blue: #a9c8ff;
  --academy-blue-strong: #dbe8ff;
  --academy-green: #92ddb7;
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: #050810;
  color: var(--academy-ink);
  color-scheme: dark;
}

body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"])::before {
  content: none;
}

body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) > :is(.academy-gateway-main, .academy-gateway-footer) {
  position: relative;
  z-index: 1;
}

body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-gateway-header {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom-color: var(--intake-line);
  background: #050a14 !important;
  box-shadow: none;
}

body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-wordmark strong,
body.gn-modern.dark:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-wordmark strong { color: #f7f9ff !important; }
body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-wordmark small,
body.gn-modern.dark:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-wordmark small { color: #aebbd0 !important; }
body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-link,
body.gn-modern.dark:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-link { color: #d7e2f2 !important; }
body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-link:hover,
body.gn-modern.dark:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-link:hover {
  color: #fff !important;
  background: rgba(150, 190, 255, .12) !important;
}
body.gn-modern:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-signin,
body.gn-modern.dark:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-signin { color: #f7f9ff !important; }
body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-header-divider { background: var(--intake-line); }

body:not(.signal-command) .academy-gateway[data-screen="landing"] :is(.academy-hero-record, .academy-statband, .academy-school-card, .academy-practice-list, .academy-final-cta) {
  border-color: var(--intake-line);
  background: var(--intake-panel) !important;
  color: var(--academy-ink);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}
body:not(.signal-command) .academy-gateway[data-screen="landing"] .academy-practice-list > div {
  border-color: var(--intake-line);
  background: transparent !important;
}
body:not(.signal-command) .academy-gateway[data-screen="landing"] :is(.academy-practice-copy, .academy-standard-note) {
  background: transparent !important;
}
body:not(.signal-command) .academy-gateway[data-screen="landing"] :is(.academy-hero-record dl, .academy-hero-record dl > div, .academy-stat, .academy-school-card ul, .academy-practice-list) {
  border-color: var(--intake-line);
}
body:not(.signal-command) .academy-gateway[data-screen="landing"] .academy-school-card:hover {
  border-color: rgba(190, 215, 255, .56);
  background: var(--intake-panel-raised) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .3);
}
body:not(.signal-command) .academy-gateway[data-screen="landing"] .academy-final-cta {
  border: 1px solid var(--intake-line);
  border-top: 3px solid #b9d2ff;
}

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enrollment,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enrollment :is(.academy-program-shell, .academy-enroll-shell, .academy-profile-shell, .academy-checkout-shell, .academy-orientation) {
  background: transparent !important;
}

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-progress li {
  border-bottom-color: var(--intake-line);
  color: #9facc0;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-progress li.active {
  border-bottom-color: #c7d9fb;
  color: #f7f9ff;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-progress li.active > span {
  border-color: #dbe8ff;
  background: #dbe8ff;
  box-shadow: 0 0 0 5px rgba(143, 183, 255, .15);
  color: #07101f !important;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-progress li.complete > span {
  border-color: rgba(146, 221, 183, .55);
  background: rgba(39, 111, 78, .34);
  color: #baf2d5;
}

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-intake-programs, .academy-enroll-choices, .academy-signup-trust) {
  border-color: var(--intake-line);
  background: var(--intake-panel);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-intake-program, .academy-enroll-card, .academy-signup-trust > div) {
  border-color: var(--intake-line) !important;
  background: var(--intake-panel) !important;
  -webkit-backdrop-filter: blur(14px) saturate(.88);
  backdrop-filter: blur(14px) saturate(.88);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-intake-program.selected,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card.primary {
  border-top-color: #b9d2ff !important;
  background: var(--intake-panel-raised) !important;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head p,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card > p,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card ul,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-identity-note p,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-summary li p,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-summary-plan p, .academy-checkout-note, .academy-orientation-lede, .academy-orientation-model p, .academy-confirmation-note, .academy-field-help, .academy-field-counter) {
  color: var(--academy-sub);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card h2,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-plan-price,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-identity-note strong,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-summary h2,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-summary li strong,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-summary-plan strong, .academy-orientation-model strong, .academy-confirmation-summary dd) {
  color: var(--academy-ink);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-plan-top > small,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-plan-badge,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-summary > span,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-summary li > span {
  color: var(--academy-blue);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-plan-badge.quiet,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-plan-price-note, .academy-plan-footnote, .academy-optional) {
  color: var(--academy-muted);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-intake-program, .academy-enroll-card)[role="button"]:hover,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-intake-program, .academy-enroll-card)[role="button"]:focus-visible {
  border-color: rgba(190, 215, 255, .56) !important;
  background: rgba(15, 29, 55, .82) !important;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-plan-badge, .academy-intake-catalog-count) {
  border-color: var(--intake-line);
  background: rgba(4, 9, 20, .65);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-plan-action { color: #c8dcff; }

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card .academy-plan-action {
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid rgba(190, 215, 255, .56);
  border-radius: var(--r-card, 14px);
  color: #dbe8ff;
  font-size: 16px;
  font-weight: 650;
  line-height: 1;
  align-items: center;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card:hover .academy-plan-action {
  color: #fff;
  background: rgba(18, 34, 62, .9);
  border-color: #fff;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card.primary .academy-plan-action {
  color: #07101f;
  background: #dbe8ff;
  border-color: #dbe8ff;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card.primary:hover .academy-plan-action {
  color: #050b16;
  background: #fff;
  border-color: #fff;
}
body.signal-command .academy-gateway[data-screen="enrollment"] .academy-enroll-card .academy-plan-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--sc-rule-strong);
  border-radius: 0;
  background: var(--sc-surface);
  color: var(--sc-ink);
  font: 600 15px var(--sc-sans);
}
body.signal-command .academy-gateway[data-screen="enrollment"] .academy-enroll-card:hover .academy-plan-action {
  border-color: var(--sc-green);
  background: var(--sc-raised);
}
body.signal-command .academy-gateway[data-screen="enrollment"] .academy-enroll-card.primary .academy-plan-action {
  border-color: var(--sc-green);
  background: var(--sc-green);
  color: var(--sc-green-ink);
}

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-intake-catalog-search,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-intake-catalog-group {
  border-color: var(--intake-line);
  background: rgba(6, 12, 25, .92);
  color: var(--academy-ink);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-intake-catalog-search::placeholder { color: #8998af; }
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-intake-catalog-list li {
  border-color: rgba(177, 201, 241, .12);
  background: rgba(7, 13, 27, .44);
}

body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] :is(.academy-signup-summary, .academy-identity-note, .academy-checkout-value, .academy-checkout-card, .academy-orientation-card, .academy-campus-loading) {
  border-color: var(--intake-line);
  background: var(--intake-panel-raised) !important;
  color: var(--academy-ink);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .26);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form label { color: var(--academy-ink); }
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form :is(input, select, textarea),
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-orientation select {
  border-color: rgba(177, 201, 241, .36);
  background: rgba(3, 8, 18, .78);
  color: var(--academy-ink);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form :is(input, select, textarea)::placeholder { color: #8492a8; }
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form :is(input, select, textarea):focus,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-orientation select:focus {
  border-color: #c7d9fb;
  background: rgba(3, 8, 18, .94);
  box-shadow: 0 0 0 3px rgba(143, 183, 255, .18);
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-field-error { color: #ffaaa8; }

body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-btn-primary {
  border-color: #dbe8ff !important;
  background: #dbe8ff !important;
  color: #07101f !important;
}
body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-btn-primary:hover {
  border-color: #fff !important;
  background: #fff !important;
  color: #050b16 !important;
}
body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-btn-secondary,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-back {
  border: 1px solid var(--intake-line);
  background: rgba(6, 12, 25, .78) !important;
  color: #d7e5ff !important;
}
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-back { padding-inline: 16px; }
body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-btn-secondary:hover,
body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-back:hover {
  border-color: rgba(190, 215, 255, .56);
  background: rgba(18, 34, 62, .9) !important;
  color: #fff !important;
}
body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) :is(button, input, select, textarea, [role="button"]):focus-visible {
  outline-color: #c7d9fb;
}

body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-gateway-footer {
  border-top: 1px solid var(--intake-line);
  background: rgba(3, 7, 16, .94);
}

@media (max-width: 640px) {
  body:not(.signal-command) .academy-gateway:is([data-screen="landing"], [data-screen="enrollment"]) .academy-gateway-header { background: #050a14 !important; }
}

@media (max-width: 1120px) {
  body:not(.signal-command) .academy-gateway .academy-gateway-header { flex-wrap: wrap; gap: 0; padding-block: 10px; }
  body:not(.signal-command) .academy-gateway .academy-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 16px;
    border: 1px solid var(--intake-line);
    border-radius: 6px;
    background: var(--intake-panel);
    color: var(--academy-ink);
    font-size: 16px;
  }
  body:not(.signal-command) .academy-gateway .academy-gateway-nav { display: none; flex-basis: 100%; padding-top: 12px; }
  .academy-menu-toggle[aria-expanded="true"] + .academy-gateway-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body:not(.signal-command) .academy-gateway .academy-gateway-nav .academy-header-link {
    display: inline-flex;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 8px;
    font-size: 15px;
    white-space: normal;
  }
  body:not(.signal-command) .academy-gateway-nav .academy-header-divider { display: none; }
}

body.gn-modern.academy-campus-open {
  background:
    linear-gradient(rgba(3, 7, 15, .34), rgba(3, 7, 15, .5)),
    url("/art/academy-campus-space.webp") center / cover fixed no-repeat;
}

body.gn-modern:not(.dark).academy-campus-open {
  background:
    linear-gradient(rgba(226, 233, 244, .56), rgba(214, 224, 238, .66)),
    url("/art/academy-campus-space.webp") center / cover fixed no-repeat;
}

body.gn-modern.academy-campus-open .desktop {
  min-height: 100dvh;
  background: transparent;
}

body.gn-modern.dark.academy-campus-open .app-shell.gn-shell {
  background: rgba(5, 9, 17, .3);
  box-shadow: inset 0 0 90px rgba(0, 0, 0, .18);
}
body.gn-modern.dark.academy-campus-open .gn-sidebar { background: rgba(5, 9, 17, .94); }
body.gn-modern.dark.academy-campus-open .gn-topbar {
  background: rgba(7, 12, 22, .92);
  -webkit-backdrop-filter: blur(16px) saturate(.85);
  backdrop-filter: blur(16px) saturate(.85);
}
body.gn-modern.dark.academy-campus-open :is(.gn-content, .gn-body, .views, .view),
body.gn-modern.dark.academy-campus-open :is(#view-academy, #view-catalog, #view-home, #view-profile, #view-cohorts, #view-settings, #view-help, #view-pro, #view-privacy, #view-code, #view-drop) {
  background: transparent;
}
body.gn-modern.dark.academy-campus-open .academy-dashboard { background: transparent; }
body.gn-modern.dark.academy-campus-open #view-academy .academy-dashboard .academy-dash-head {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.gn-modern.academy-campus-open {
  --campus-card-tint: rgba(255, 255, 255, .6);
  --campus-card-inner-tint: rgba(255, 255, 255, .38);
  --campus-card-tint-hover: rgba(255, 255, 255, .76);
  --campus-glass: blur(14px) saturate(.88);
}
body.gn-modern.dark.academy-campus-open {
  --campus-card-tint: rgba(4, 9, 20, .44);
  --campus-card-inner-tint: rgba(4, 9, 20, .2);
  --campus-card-tint-hover: rgba(9, 17, 32, .58);
}

body.gn-modern.academy-campus-open :where(
  .gn-win,
  .campus-terminal,
  .academy-record,
  .academy-credential,
  .academy-record-next,
  .academy-standing,
  .academy-wall,
  .academy-stat,
  .academy-practice-list > div,
  .academy-final-cta,
  .academy-dash-panel,
  .academy-dash-standing,
  .academy-class-card,
  .academy-classroom-status,
  .academy-classroom-lane,
  .codelab-entry-flow > li,
  .codelab-workflow > li,
  .codelab-resume,
  .codelab-entry-record > span,
  .codelab-stat,
  .catalog-card,
  .catalog-hero,
  .catalog-statband,
  .catalog-browser,
  .catalog-statband > *,
  .campus-metric,
  .campus-quick-action,
  .campus-activity-row,
  .feed-post,
  .pcx-hero,
  .pcx-strength,
  .pcx-jump,
  .pc-card,
  .pc-settings-card,
  .pc-live-card,
  .pc-friend-card,
  .pc-cert-card,
  .pc-preview-card,
  .pc-achievement,
  .pc-greypath-summary,
  .settings-card,
  .settings-danger-card,
  .settings-index,
  .setting-check,
  .settings-action,
  .settings-step,
  .help-faq details,
  .help-bb-panel,
  .help-resource-grid > *,
  .pgb-trust-card,
  .pgb-hero,
  .pgb-chip,
  .pgb-tile,
  .pgb-chart-card,
  .pgb-exam-card,
  .pgb-ranks-card,
  .pgb-donut-wrap,
  .pgb-cta-band,
  .pgb-shelf,
  .pgb-peek,
  .pgb-belt,
  .pgb-track,
  .pgb-perk,
  .bba-card,
  .bba-understanding,
  .bba-excard,
  .bba-resume-card,
  .bba-badgecard,
  .wt-resume-card,
  .wt-certcard,
  .bl-detail-card,
  .catalog-class-card,
  .drop-card,
  .pro-card,
  .room-invite-card,
  .gn-statrow,
  .status-box,
  .buddy-empty,
  .drop-empty,

  .pc-surface-section,
  .pc-page-hero,
  .pc-friends-hero,
  .pc-status-hero,
  .pc-friend-empty,
  .friend-rank-list,
  .saved-profiles,
  .settings-hero,
  .settings-wide-action,
  .help-center-hero,
  .drop-composer,
  .ctf-empty

) {
  background: var(--campus-card-tint) !important;
  -webkit-backdrop-filter: var(--campus-glass);
  backdrop-filter: var(--campus-glass);
}

body.gn-modern.academy-campus-open :where(
  .pc-friend-directory,
  .settings-toggle-list,
  .settings-action-list,
  .help-faq,
  .help-resource-grid

) {
  background: transparent !important;
}

body.gn-modern.academy-campus-open :where(
  .pc-friend-stat,
  .pc-preview,
  .help-bb-reply,
  .catalog-awards,
  .catalog-credential-gate,
  .academy-wall-chip,
  .academy-cert-chip,

  .wt-item
) {
  background: var(--campus-card-inner-tint) !important;
}
body.gn-modern.academy-campus-open .wt-item:hover {
  background: var(--campus-card-tint-hover) !important;
}

body.gn-modern:not(.dark).academy-campus-open .wt-item-title { color: #0a1f3d; }
body.gn-modern:not(.dark).academy-campus-open .wt-item-sub,
body.gn-modern:not(.dark).academy-campus-open .wt-item-topic { color: #4a5b73; }
body.gn-modern:not(.dark).academy-campus-open .wt-item-min,
body.gn-modern:not(.dark).academy-campus-open :is(.wt-item.wip, .wt-item.todo) .wt-item-min { color: #2c5d8f; }
body.gn-modern:not(.dark).academy-campus-open .wt-item.locked .wt-item-min { color: #8a5b1e; }

body.gn-modern:not(.dark).academy-campus-open #view-home .campus-activity-copy strong { color: #0a1f3d; }
body.gn-modern:not(.dark).academy-campus-open #view-home .campus-activity-time { color: #4a5b73; }

body.gn-modern.academy-campus-open #view-home :where(
  .campus-terminal-status,
  .campus-terminal-status .campus-metric,
  .gn-win-bar,
  .gn-win-body,
  .campus-feed-terminal,
  .campus-feed-console,
  .campus-terminal-composer,
  .campus-activity-stream,
  #modFeed .feed-list,
  .campus-activity-row,
  .feed-post,
  .buddy-group
) {
  background: var(--campus-card-inner-tint) !important;
}

body.gn-modern.academy-campus-open { --campus-composer-tint: rgba(255, 255, 255, .5); --campus-code-tint: rgba(13, 26, 48, .08); }
body.gn-modern.dark.academy-campus-open { --campus-composer-tint: rgba(3, 6, 11, .38); --campus-code-tint: rgba(4, 9, 20, .28); }

body.gn-modern.academy-campus-open #view-home #modComposer .feed-composer textarea {
  background: var(--campus-composer-tint) !important;
  -webkit-backdrop-filter: blur(8px) saturate(.85);
  backdrop-filter: blur(8px) saturate(.85);
}

body.gn-modern.academy-campus-open #view-home .campus-feed-help code {
  background: var(--campus-code-tint) !important;
}

body.gn-modern.academy-campus-open #view-pro :where(
  .pgb-chip,
  .pgb-tile,
  .pgb-perk,
  .pgb-donut-wrap,
  .pgb-course-chip,
  .pgb-peek-item
) {
  background: var(--campus-card-inner-tint) !important;
}

body.gn-modern.academy-campus-open :where(
  .academy-class-card,
  .catalog-card,
  .campus-quick-action,
  .campus-activity-row,
  .pc-friend-card,
  .settings-action,
  .settings-step,
  .help-resource-grid > *,
  .wt-certcard
):hover {
  background: var(--campus-card-tint-hover) !important;
}

body.gn-modern:not(.dark).academy-campus-open :is(
  .pro-card.pgb-enroll,
  .pgb-cta-band,
  .pgb-peek-item,
  .academy-record-next,
  .catalog-hero-seal,
  .help-bb-panel,
  .help-bb-reply,
  .switch-unit.danger-switch
) {
  background: rgba(9, 33, 62, .9) !important;
}

body.gn-modern.dark.academy-campus-open .danger-copy { background: rgba(64, 18, 18, .5) !important; }
body.gn-modern:not(.dark).academy-campus-open .danger-copy { background: rgba(255, 235, 233, .72) !important; }
body.gn-modern.dark.academy-campus-open .switch-unit.danger-switch { background: rgba(64, 18, 18, .5) !important; }

body.gn-modern.academy-campus-open #view-settings .buddy-empty,
body.gn-modern.academy-campus-open #view-settings .blocked-list .buddy-empty {
  background: var(--campus-card-inner-tint) !important;
}

body.gn-modern.dark.academy-campus-open .catalog-hero-seal { background: rgba(9, 33, 62, .7) !important; }

body.gn-modern:not(.dark).academy-campus-open #view-academy .academy-dashboard .academy-dash-head {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.gn-modern:not(.dark).academy-campus-open .app-shell.gn-shell { background: rgba(238, 243, 250, .32); }
body.gn-modern:not(.dark).academy-campus-open .gn-sidebar { background: rgba(255, 255, 255, .94); }
body.gn-modern:not(.dark).academy-campus-open .gn-topbar {
  background: rgba(250, 252, 255, .93);
  -webkit-backdrop-filter: blur(16px) saturate(.8);
  backdrop-filter: blur(16px) saturate(.8);
}
body.gn-modern:not(.dark).academy-campus-open :is(.gn-content, .gn-body, .views, .view),
body.gn-modern:not(.dark).academy-campus-open :is(#view-academy, #view-catalog, #view-home, #view-profile, #view-cohorts, #view-settings, #view-help, #view-pro, #view-privacy, #view-code, #view-drop) {
  background: transparent;
}
body.gn-modern:not(.dark).academy-campus-open .academy-dashboard { background: transparent; }
body.gn-modern:not(.dark).academy-campus-open .gn-sidebar .nav-link {
  background: transparent;
  color: #34445a;
}
body.gn-modern:not(.dark).academy-campus-open .gn-sidebar .nav-link:hover {
  background: #eef2f6;
  color: #0a1f3d;
}
body.gn-modern:not(.dark).academy-campus-open .gn-sidebar .nav-link.active {
  border-left-color: #2f6bff;
  background: #e7edf4;
  color: #0a1f3d;
}
body.gn-modern:not(.dark).academy-campus-open .gn-sidebar .nav-group-label { color: #607086; }

body.gn-modern.dark.academy-campus-open #view-code :is(
  .academy-classroom-hero,
  .codelab-entry-flow,
  .academy-classroom-lane,
  .codelab-entry-record,
  .codelab-resume,
  .academy-classroom-status
) {
  border-color: rgba(177, 201, 241, .28);
  background: rgba(7, 13, 27, .58);
  -webkit-backdrop-filter: blur(14px) saturate(.82);
  backdrop-filter: blur(14px) saturate(.82);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .18);
}
body.gn-modern.dark.academy-campus-open #view-code .academy-classroom-lane:hover {
  border-color: rgba(190, 215, 255, .56);
  background: rgba(16, 30, 55, .72);
}

body.gn-modern:not(.dark).academy-campus-open #view-code :is(
  .academy-classroom-hero,
  .codelab-entry-flow,
  .academy-classroom-lane,
  .codelab-entry-record,
  .codelab-resume,
  .academy-classroom-status
) {
  border-color: rgba(82, 105, 137, .28);
  background: rgba(250, 252, 255, .7);
  -webkit-backdrop-filter: blur(14px) saturate(.8);
  backdrop-filter: blur(14px) saturate(.8);
  box-shadow: 0 18px 46px rgba(7, 25, 45, .1);
}
body.gn-modern:not(.dark).academy-campus-open #view-code .academy-classroom-lane:hover {
  border-color: rgba(38, 76, 124, .48);
  background: rgba(255, 255, 255, .84);
}

body.gn-modern #view-code > .codelab-entry:not([hidden]) {
  display: grid;
  grid-template-rows: auto minmax(360px, 1fr);
  gap: 24px;

  min-height: calc(100% - 106px);
}
body.gn-modern #view-code .codelab-entry > .academy-classroom-hero {
  min-height: 0;
  padding: clamp(26px, 3vw, 40px);
  border: 1px solid var(--academy-line);
}
body.gn-modern #view-code .codelab-entry > .academy-classroom-launchers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(16px, 1.5vw, 24px);
  min-height: 360px;
  margin-top: 0;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  padding: clamp(40px, 5vw, 82px) clamp(24px, 3vw, 48px);
  overflow: hidden;
  text-align: center;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane::after {
  content: none;
}

body.gn-modern #view-code .codelab-entry .academy-classroom-lane strong {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2lh;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane-icon {
  position: static;
  display: grid;
  place-items: center;
  width: clamp(86px, 7vw, 118px);
  height: clamp(86px, 7vw, 118px);
  margin: 0 0 clamp(14px, 2vh, 26px);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--academy-ink);
}
body.gn-modern #view-code .codelab-entry :is(.codelab-whiteteam-btn, .codelab-greypath-btn) .academy-classroom-lane-icon {
  color: var(--academy-ink);
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane-icon .gn-ui-icon {
  width: 100%;
  height: 100%;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane strong {
  max-width: 15ch;
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1.08;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane small {
  max-width: 28ch;
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.5;
}
body.gn-modern #view-code .codelab-entry .academy-classroom-lane:focus-visible {
  z-index: 1;
  outline: 3px solid var(--academy-blue);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body.gn-modern #view-code .codelab-entry > .academy-classroom-launchers {
    grid-template-columns: 1fr;
    gap: 14px;
    min-height: 0;
  }
  body.gn-modern #view-code .codelab-entry .academy-classroom-lane {
    min-height: 250px;
    padding: 40px 22px;
  }
  body.gn-modern #view-code .codelab-entry .academy-classroom-lane-icon {
    width: 76px;
    height: 76px;
    margin-bottom: 12px;
  }
}

body.gn-modern #view-code :is(
  .bb-academy-body[data-academy-screen="welcome"],
  .bb-academy-body[data-academy-screen="map"],
  .whiteteam-body[data-academy-screen="ladder"],
  .greypath-body[data-academy-screen="range"]
) {
  --cl-directory-surface: #fffdf8;
  --cl-directory-surface-hover: #fff;
  --cl-directory-line: #cfc2ae;
  --cl-directory-ink: #07192d;
  --cl-directory-copy: #405063;
  --cl-directory-muted: #66717d;
  --cl-directory-accent: #174b75;
  --cl-directory-warm: #96620f;
}
body.gn-modern.dark #view-code :is(
  .bb-academy-body[data-academy-screen="welcome"],
  .bb-academy-body[data-academy-screen="map"],
  .whiteteam-body[data-academy-screen="ladder"],
  .greypath-body[data-academy-screen="range"]
) {
  --cl-directory-surface: #131315;
  --cl-directory-surface-hover: #18181b;
  --cl-directory-line: #2c2c30;
  --cl-directory-ink: #f2f2f2;
  --cl-directory-copy: #b9b9bf;
  --cl-directory-muted: #8b8b92;
  --cl-directory-accent: #a9c8ff;
  --cl-directory-warm: #d6b56f;
}

body.gn-modern #view-code .bb-academy:has(> .bb-academy-body:is([data-academy-screen="welcome"], [data-academy-screen="map"])) > .bb-academy-bar,
body.gn-modern #view-code .greypath.wt-mode:has(> .whiteteam-body[data-academy-screen="ladder"]) > .greypath-bar,
body.gn-modern #view-code .greypath:not(.wt-mode):has(> .greypath-body[data-academy-screen="range"]) > .greypath-bar {
  display: none;
}

body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] {
  padding: clamp(18px, 2vw, 28px);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-welcome {
  display: grid;
  grid-template-rows: auto minmax(360px, 1fr) auto;
  gap: clamp(16px, 1.5vw, 24px);
  min-height: 100%;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-intro,
body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-ladderintro,
body.gn-modern #view-code .greypath-body[data-academy-screen="range"] .gp-rangeintro {
  width: 100%;
  margin: 0;
  padding: clamp(24px, 2.5vw, 36px);
  border: 1px solid var(--cl-directory-line);
  border-top: 3px solid var(--cl-directory-accent);
  border-radius: var(--r-card, 14px);
  background: var(--cl-directory-surface);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-kicker,
body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-kicker,
body.gn-modern #view-code .greypath-body[data-academy-screen="range"] .gp-kicker {
  color: var(--cl-directory-warm);
  font: 800 10px/1.2 var(--academy-mono), Consolas, monospace;
  letter-spacing: .15em;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-intro-strong,
body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-title,
body.gn-modern #view-code .greypath-body[data-academy-screen="range"] .gp-title {
  margin: 10px 0 8px;
  color: var(--cl-directory-ink);
  font-family: var(--academy-serif), Georgia, serif;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-intro-lead,
body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-flow,
body.gn-modern #view-code .greypath-body[data-academy-screen="range"] .gp-p {
  max-width: 72ch;
  margin: 0;
  color: var(--cl-directory-copy);
  font-size: 14px;
  line-height: 1.65;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(16px, 1.5vw, 24px);
  min-height: 360px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-width: 0;
  min-height: 100%;
  padding: clamp(42px, 5vw, 78px) clamp(24px, 3vw, 46px);
  border: 1px solid var(--cl-directory-line);
  border-top: 3px solid var(--cl-directory-accent);
  border-radius: var(--r-card, 14px);
  background: var(--cl-directory-surface);
  color: var(--cl-directory-ink);
  text-align: center;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice:hover {
  border-color: var(--cl-directory-accent);
  background: var(--cl-directory-surface-hover);
  transform: translateY(-2px);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice:focus-visible {
  outline: 3px solid var(--cl-directory-accent);
  outline-offset: 3px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-ic {
  display: grid;
  place-items: center;
  width: clamp(82px, 7vw, 112px);
  height: clamp(82px, 7vw, 112px);
  color: var(--cl-directory-accent);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-ic .gn-ic {
  width: 100%;
  height: 100%;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-tt {
  align-items: center;
  gap: 10px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-title {
  color: var(--cl-directory-ink);
  font-family: var(--academy-serif), Georgia, serif;
  font-size: clamp(27px, 2.5vw, 38px);
  font-weight: 500;
  letter-spacing: -.025em;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-desc {
  max-width: 36ch;
  color: var(--cl-directory-copy);
  font-size: 14px;
  line-height: 1.55;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-resume {
  justify-self: center;
}

body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] {
  display: block;
  padding: clamp(18px, 2vw, 28px);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-mapintro {
  width: 100%;
  margin: 0 0 28px;
  padding: clamp(24px, 2.5vw, 36px);
  border: 1px solid var(--cl-directory-line);
  border-top: 3px solid var(--cl-directory-accent);
  border-radius: var(--r-card, 14px);
  background: var(--cl-directory-surface);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-title {
  margin: 10px 0 8px;
  color: var(--cl-directory-ink);
  font-family: var(--academy-serif), Georgia, serif;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-course-finder {
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-course-search {
  min-height: 44px;
  border-color: var(--cl-directory-line);
  background: var(--cl-directory-surface-hover);
  color: var(--cl-directory-ink);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-course-find-status {
  color: var(--cl-directory-muted);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-catnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 30px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-catgroup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  margin: 0 0 42px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-catgroup > :not(.bba-lang) {
  grid-column: 1 / -1;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-secthead {
  margin: 0;
  color: var(--cl-directory-ink);
  font-family: var(--academy-serif), Georgia, serif;
  font-size: clamp(21px, 1.7vw, 27px);
  font-weight: 500;
  letter-spacing: -.02em;
  text-transform: none;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-sectsub {
  max-width: 72ch;
  margin: -8px 0 4px;
  color: var(--cl-directory-copy);
  font-size: 13px;
  line-height: 1.55;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 0;
  min-height: 330px;
  height: 100%;
  margin: 0;
  padding: 38px 28px 28px;
  overflow: hidden;
  border: 1px solid var(--cl-directory-line);
  border-top: 3px solid var(--cl-directory-accent);
  border-radius: var(--r-card, 14px);
  background: var(--cl-directory-surface);
  text-align: center;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang:hover {
  border-color: var(--cl-directory-accent);
  background: var(--cl-directory-surface-hover);
  transform: translateY(-2px);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang.complete {
  border-top-color: #356a50;
  box-shadow: inset 0 0 0 1px rgba(53, 106, 80, .24);
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-head,
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-tt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin: 0;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-ic {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  color: var(--cl-directory-accent);
  font-size: 78px;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-ic .gn-ic {
  width: 100%;
  height: 100%;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-name {
  color: var(--cl-directory-ink);
  font-family: var(--academy-serif), Georgia, serif;
  font-size: clamp(21px, 1.7vw, 26px);
  font-weight: 500;
  line-height: 1.15;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-blurb {
  max-width: 38ch;
  margin: 0;
  color: var(--cl-directory-copy);
  font-size: 13px;
  line-height: 1.55;
}
body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-bar {
  width: min(100%, 280px);
  margin: 3px 0 0;
}

body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  padding: clamp(18px, 2vw, 28px);
}
body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] > :not(.wt-belt) {
  grid-column: 1 / -1;
}

body.gn-modern #view-code .greypath-body[data-academy-screen="range"] {
  gap: 18px;
  align-items: stretch;
  padding: clamp(18px, 2vw, 28px);
}
body.gn-modern #view-code .greypath-body[data-academy-screen="range"] > :not(.gp-track) {
  flex: 0 0 100%;
  width: 100%;
}

@media (max-width: 1180px) {
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-catgroup,
  body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-welcome {
    grid-template-rows: auto auto auto;
  }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choices,
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-catgroup,
  body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] {
    grid-template-columns: 1fr;
  }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice,
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang,
  body.gn-modern #view-code .gp-track {
    min-height: 340px;
  }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-course-finder {
    grid-template-columns: 1fr;
  }
}

body.gn-modern.academy-campus-open #view-rooms { padding: 0; }
body.gn-modern.academy-campus-open #view-rooms .rooms-terminal-shell {
  border-inline: 0;
  border-bottom: 0;
  border-radius: 0 0 var(--r-card, 14px) var(--r-card, 14px);
}

body.gn-modern.dark #view-rooms .compose-box,
body.gn-modern.dark #view-rooms .compose-grid textarea#text {
  border-color: transparent;
  background: transparent;
}

body.gn-modern.dark #view-drop .drop-post-btn {
  color: #0a0a0b;
}

body.gn-modern.dark #view-code :is(.bb-academy-body, .greypath-body, .whiteteam-body) :is(a, .bba-link, .gp-link, .wt-link) {
  color: #8fb8ff;
}

body.gn-modern:not(.dark).academy-campus-open :is(
  .pro-card.pgb-enroll,
  .pgb-cta-band,
  .pgb-peek-item,
  .academy-record-next,
  .help-bb-panel
) :is(a, .linklike) {
  color: #c8dcff;
}

@media (max-width: 720px) {
  body.gn-modern.academy-campus-open { background-position: 58% center; }
}

.age-gate {
  background: #050810;
  font-family: var(--gn-description);
  backdrop-filter: none;
}
.age-gate :is(button, input, .age-consent-copy) { font-family: inherit; }
.age-panel,
body.dark .age-panel {
  --age-panel-bg: rgba(5, 10, 22, .74);
  --age-surface: rgba(8, 16, 31, .72);
  --age-soft: rgba(6, 12, 25, .78);
  --age-text: #f7f9ff;
  --age-muted: #c3cddd;
  --age-line: rgba(177, 201, 241, .24);
  --age-accent: #dbe8ff;
  --age-accent-hover: #ffffff;
  --age-accent-text: #a9c8ff;
  --age-focus: #c7d9fb;
  border-color: var(--age-line);
  background: var(--age-panel-bg);
  -webkit-backdrop-filter: blur(18px) saturate(.9);
  backdrop-filter: blur(18px) saturate(.9);
  color-scheme: dark;
}
.age-jurisdiction,
body.dark .age-jurisdiction {
  color: #dbe6f7;
  background: rgba(6, 12, 25, .7);
  border-color: rgba(177, 201, 241, .28);
}
.age-read-legal,
body.dark .age-read-legal {
  color: #c8dcff;
  border-color: var(--age-line);
}
.age-read-legal:hover,
body.dark .age-read-legal:hover {
  color: #fff;
  background: rgba(18, 34, 62, .9);
}
.age-consent:hover,
.age-leave:hover { border-color: rgba(190, 215, 255, .56); }
.age-gate .age-enter {
  color: #07101f;
  background: #dbe8ff;
  border-color: #dbe8ff;
}
.age-gate .age-enter:hover:not(:disabled) {
  color: #050b16;
  background: #fff;
  border-color: #fff;
}
.age-gate .age-enter:disabled {
  color: #a9b6cc;
  background: rgba(219, 232, 255, .16);
  border-color: rgba(177, 201, 241, .3);
}

.age-gate .age-read-legal {
  color: #c8dcff;
  background: var(--age-soft);
  border-color: var(--age-line);
}
.age-gate .age-read-legal:hover {
  color: #fff;
  background: rgba(18, 34, 62, .9);
}
.age-gate .age-leave {
  color: #c3cddd;
  background: transparent;
  border: 1px solid rgba(177, 201, 241, .24);
}
.age-gate .age-leave:hover {
  color: #f7f9ff;
  background: rgba(18, 34, 62, .9);
  border-color: rgba(190, 215, 255, .56);
}
.age-gate .age-legal-close {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .45);
}
.age-gate .age-legal-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, .22);
  border-color: #fff;
}
body.gn-modern .greypath {
  --gn-display: "IBM Plex Sans", ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  --academy-display: var(--gn-display);
  --academy-serif: var(--gn-display);
}
body.gn-modern :where(
  h1, h2, h3, h4, h5, h6,
  .title-bar .title-left,
  .gn-topbar-title,
  [class$="-title"], [class*="-title "],
  [class$="-heading"], [class*="-heading "]
):not(#view-rooms, #view-rooms *, .app-shell[data-view="rooms"] *, .greypath, .greypath *) {
  font-family: var(--gn-display);
}
body.gn-modern :where(p, .hint-text, [class$="-lede"], [class*="-lede "], [class$="-description"], [class*="-description "]):not(#view-rooms, #view-rooms *, .app-shell[data-view="rooms"] *, .greypath, .greypath *) {
  font-family: var(--gn-description);
}

@media (max-width: 767px) {

  body.gn-modern .view :is(.academy-dashboard, .academy-dash-grid,
    .academy-dash-head, .cr-shell, .settings-shell, .settings-layout,
    .help-center-layout, .help-center-main, .home-grid, .home-main, .home-side,
    .codelab-entry, .pgb, .pgb-sec, .pcx-stats, .pcx-flow, .pcx-sections,
    .drop-feed) {
    padding-inline: 0 !important;
  }

  body.gn-modern .view :is(
    .academy-record, .academy-credential,
    .academy-standing, .academy-wall,
    .codelab-entry-flow,
    .codelab-entry-record, .codelab-resume,

    .codelab-workspace,
    .campus-terminal, .gn-win,
    .settings-hero, .settings-index, .settings-card,
    .help-center-hero, .help-faq, .help-resource-grid, .help-bb-panel,
    .pgb-hero, .pgb-cta-band, .pgb-trust-card, .pgb-chart-card, .pgb-shelf,
    .pgb-ranks-card, .pgb-exam-card, .pro-card,
    .pcx-hero, .pcx-strength, .pcx-jump, .pc-card, .pc-page-hero,
    .pc-settings-card, .pc-save-bar,
    .drop-composer
  ) {
    margin-inline: calc(var(--gn-phone-gutter, 16px) * -1) !important;

    width: calc(100% + (var(--gn-phone-gutter, 16px) * 2)) !important;
    max-width: none !important;
    border-inline: 0 !important;
    border-radius: 0 !important;
  }

  body.gn-modern .view :is(.academy-class-card, .academy-class-list,
    .campus-metric, .gn-statrow, .campus-feed-terminal) {
    border-inline: 0 !important;
    border-radius: 0 !important;
  }

  body.gn-modern .view :is(.academy-record, .academy-credential,
    .academy-classroom-hero, .codelab-entry-record, .codelab-feedback-shell) {
    padding-inline: var(--gn-phone-gutter, 16px) !important;
  }

  body.gn-modern .view .academy-class-list {
    margin-inline: calc(var(--gn-phone-gutter, 16px) * -1) !important;
    width: calc(100% + (var(--gn-phone-gutter, 16px) * 2)) !important;
    max-width: none !important;
  }

  body.gn-modern .view :is(
    .academy-dash-head, .academy-dash-head h1, .academy-dash-standing,
    .academy-record > h2, .academy-credential > h2,
    .academy-credential-name, .academy-credential-path, .academy-credential-note,
    .academy-record-next > div,
    .academy-classroom-hero-copy,
    .settings-hero,
    .help-center-hero,
    .pgb-hero, .pgb-sec > .section-title, .pgb-sec > .pgb-h3, .pgb-sec > .pgb-sub,
    .campus-terminal-intro
  ) {
    text-align: center !important;
  }

  body.gn-modern .view :is(.academy-dash-standing, .academy-classroom-hero-copy,
    .academy-record-next > div) {
    justify-items: center;
    align-items: center;
  }

  body.gn-modern .view .academy-class-progress {
    margin-inline: auto;
    text-align: center;
  }
}

body.gn-modern #view-pro {
  --pro-navy-950: #06182d;
  --pro-navy-900: #0a1f3d;
  --pro-navy-800: #0a315d;
  --pro-navy-700: #164878;
  --pro-blue-100: #eaf1f7;
  --pro-slate-900: #1d2938;
  --pro-slate-700: #46586e;
  --pro-slate-600: #5d6b7a;
  --pro-slate-500: #718093;
  --pro-slate-300: #c9d2dc;
  --pro-slate-200: #dce3ea;
  --pro-slate-100: #edf1f5;
  --pro-paper: #ffffff;
  min-height: 100%;
  padding: 30px clamp(20px, 3.2vw, 54px) 72px;
  background: #f3f6f9;
  color: var(--pro-slate-900);
  font-family: var(--academy-sans, "IBM Plex Sans", "Segoe UI", Arial, sans-serif);
}
body.gn-modern #view-pro .pro-back-btn {
  margin: 0 auto 16px;
  color: var(--pro-navy-800);
}
body.gn-modern #view-pro .pgb,
body.gn-modern #view-pro .pgb * { box-sizing: border-box; }
body.gn-modern #view-pro .pgb {
  display: flex;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0;
  flex-direction: column;
  gap: 0;
  color: var(--pro-slate-900);
}

body.gn-modern #view-pro .pgb-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(340px, .68fr);
  gap: clamp(30px, 5vw, 76px);
  padding: clamp(42px, 5vw, 76px);
  overflow: hidden;
  border: 0;
  border-radius: 4px 4px 0 0;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 68px),
    linear-gradient(90deg, var(--pro-navy-950), var(--pro-navy-900));
  color: #fff;
  box-shadow: none;
}
body.gn-modern #view-pro .pgb-hero-cta {
  display: flex;
  margin-top: 30px;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
body.gn-modern #view-pro .pgb-cta,
body.gn-modern #view-pro .pro-go {
  appearance: none;
  display: inline-flex;
  min-height: 48px;
  padding: 0 20px;
  gap: 11px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 3px;
  background: #fff;
  color: var(--pro-navy-900);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: none;
  cursor: pointer;
}
body.gn-modern #view-pro .pgb-privacy-link { min-height: 0; padding: 0; color: var(--pro-navy-800); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.gn-modern #view-pro .pgb-cta-light { min-width: 185px; }
body.gn-modern #view-pro .pgb-enroll {
  display: grid;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  border: 1px solid var(--pro-slate-200);
  border-top: 0;
  border-radius: 0 0 4px 4px;
  background: #fff;
  color: var(--pro-slate-900);
  box-shadow: none;
}
body.gn-modern #view-pro .pgb-enroll-summary,
body.gn-modern #view-pro .pgb-enroll-action { padding: clamp(35px, 4.5vw, 64px); }
body.gn-modern #view-pro .pgb-enroll-action { border-left: 1px solid var(--pro-slate-200); background: #f7f9fb; }
body.gn-modern #view-pro .pro-go { width: 100%; min-height: 50px; border-color: var(--pro-navy-900); background: var(--pro-navy-900); color: #fff; }
body.gn-modern #view-pro .pro-restore { margin-top: 12px; color: var(--pro-slate-600); font-size: 11.5px; }
body.gn-modern #view-pro .pro-restore .linklike { min-height: 0; padding: 0; color: var(--pro-navy-800); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
body.gn-modern #view-pro .pro-restore-box { display: grid; margin-top: 14px; padding: 15px; gap: 8px; border: 1px solid var(--pro-slate-200); border-radius: 2px; background: #fff; }
body.gn-modern #view-pro .pro-restore-box[hidden] { display: none; }
body.gn-modern #view-pro .pro-restore-box .pub-create { display: flex; gap: 7px; }
body.gn-modern #view-pro #proRestoreSubmit { min-height: 40px; padding: 0 14px; border: 1px solid var(--pro-navy-900); border-radius: 2px; background: var(--pro-navy-900); color: #fff; font-size: 12px; white-space: nowrap; }
body.gn-modern #view-pro .pro-code-panel .linklike + .linklike { margin-left: 2px; }

body.gn-modern #view-pro {
  --pro-ink: #edf5ff;
  --pro-ink-soft: #afbdd0;
  --pro-navy: #07182c;
  --pro-navy-deep: #040d19;
  --pro-blue: #79bbff;
  --pro-paper: transparent;
  --pro-mist: transparent;
  --pro-line: rgba(151, 184, 219, .24);
  width: 100%;
  max-width: none;
  min-height: 100%;
  padding: 0 0 52px;
  background: transparent;
  color: var(--pro-ink);
  font-family: var(--academy-sans, "IBM Plex Sans", "Segoe UI", Arial, sans-serif);
}
body.gn-modern:not(.dark).academy-campus-open #view-pro {
  background:
    linear-gradient(180deg, rgba(2, 7, 16, .76), rgba(2, 7, 16, .9)),
    url("/art/academy-campus-space.webp") center / cover no-repeat fixed;
}
body.gn-modern #view-pro .pro-back-btn {
  position: relative;
  z-index: 5;
  margin: 16px clamp(20px, 4vw, 64px);
  color: var(--pro-ink);
}
body.gn-modern #view-pro .pgb,
body.gn-modern #view-pro .pgb * { box-sizing: border-box; }
body.gn-modern #view-pro .pgb {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--pro-ink);
}
body.gn-modern #view-pro .pgb,
body.gn-modern #view-pro .pgb * { border-radius: 0; }
body.gn-modern #view-pro .pgb :is(figure, p, dl, ol) { margin-block-start: 0; }

body.gn-modern #view-pro .pgb-hero {
  display: grid;
  min-height: clamp(540px, 69vh, 720px);
  padding: 0;
  grid-template-columns: minmax(430px, 46%) minmax(0, 54%);
  gap: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #fff;
  box-shadow: none;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.gn-modern #view-pro .pgb-hero-copy {
  display: flex;
  min-width: 0;
  padding: clamp(42px, 4.8vw, 76px) clamp(32px, 4.8vw, 78px);
  flex-direction: column;
  justify-content: center;
}
body.gn-modern #view-pro .pgb-hero-cta {
  display: flex;
  margin-top: 27px;
  gap: 16px 20px;
  align-items: center;
  flex-wrap: wrap;
}
body.gn-modern #view-pro .pgb-cta,
body.gn-modern #view-pro .pro-go {
  appearance: none;
  display: inline-flex;
  min-height: 52px;
  padding: 0 23px;
  gap: 11px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 0;
  background: #fff;
  color: var(--pro-navy);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .01em;
  box-shadow: none;
  cursor: pointer;
}

body.gn-modern #view-pro .pgb-trust {
  display: grid;
  min-height: 500px;
  padding: clamp(58px, 7vw, 104px) clamp(34px, 7vw, 112px);
  grid-template-columns: minmax(250px, .65fr) minmax(0, 1.35fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
  border-bottom: 1px solid var(--pro-line);
  background: transparent;
}
body.gn-modern #view-pro .pgb-trust-copy > p:not(.pgb-eyebrow) {
  max-width: 68ch;
  margin: 22px 0 0;
  color: var(--pro-ink-soft);
  font-size: 15px;
  line-height: 1.68;
}
body.gn-modern #view-pro .pgb-privacy-link {
  min-height: 0;
  padding: 0;
  color: var(--pro-blue);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.gn-modern #view-pro .pgb-final {
  display: grid;
  min-height: 280px;
  padding: clamp(50px, 6vw, 86px) clamp(34px, 7vw, 112px);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: center;
  border-bottom: 1px solid var(--pro-line);
  background: transparent;
  color: #fff;
}
body.gn-modern #view-pro .pgb-cta-light { min-width: 190px; }

body.gn-modern #view-pro .pgb-enroll {
  display: grid;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .72fr);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pro-ink);
  box-shadow: none;
}
body.gn-modern #view-pro .pgb-enroll-summary,
body.gn-modern #view-pro .pgb-enroll-action { padding: clamp(50px, 6vw, 86px) clamp(34px, 7vw, 112px); }
body.gn-modern #view-pro .pgb-enroll-action { padding-left: clamp(34px, 5vw, 80px); border-left: 1px solid var(--pro-line); background: transparent; }
body.gn-modern #view-pro .pro-go { width: 100%; border-color: #8dbde8; background: rgba(8, 28, 51, .78); color: #fff; }
body.gn-modern #view-pro .pro-restore { margin-top: 12px; color: var(--pro-ink-soft); font-size: 11.5px; }
body.gn-modern #view-pro .pro-restore .linklike { min-height: 0; padding: 0; color: var(--pro-blue); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
body.gn-modern #view-pro .pro-restore-box { display: grid; margin-top: 14px; padding: 18px 0; gap: 8px; border: 0; border-top: 1px solid var(--pro-line); border-bottom: 1px solid var(--pro-line); border-radius: 0; background: transparent; }
body.gn-modern #view-pro .pro-restore-box[hidden] { display: none; }
body.gn-modern #view-pro .pro-restore-box .pub-create { display: flex; gap: 7px; }
body.gn-modern #view-pro #proRestoreSubmit { min-height: 42px; padding: 0 13px; border: 1px solid #8dbde8; border-radius: 0; background: rgba(8, 28, 51, .78); color: #fff; font-size: 12px; }
@media (max-width: 680px) {
  body.gn-modern:not(.dark).academy-campus-open #view-pro { background-attachment: scroll; }
}

body.gn-modern { --gn-utility-space: url("/art/academy-campus-space.webp"); }
body.gn-modern :is(#view-settings, #view-help) {
  --utility-ink: #edf5ff;
  --utility-soft: #afbdd0;
  --utility-muted: #8393a8;
  --utility-blue: #79bbff;
  --utility-line: rgba(151, 184, 219, .24);
  width: 100%;
  max-width: none;
  padding: 0 0 52px !important;
  background: transparent;
  color: var(--utility-ink);
}
body.gn-modern:not(.dark).academy-campus-open :is(#view-settings, #view-help) {
  background:
    linear-gradient(180deg, rgba(2, 7, 16, .76), rgba(2, 7, 16, .9)),
    var(--gn-utility-space) center / cover no-repeat fixed;
}
body.gn-modern :is(#view-settings, #view-help),
body.gn-modern :is(#view-settings, #view-help) * { border-radius: 0; }
body.gn-modern #view-settings :is(
  .settings-hero,
  .settings-hero-mark,
  .settings-index,
  .settings-card,
  .settings-step,
  .settings-status,
  .settings-device,
  .settings-card-badge,
  .settings-toggle-list,
  .setting-check,
  .settings-action-list,
  .settings-action,
  .settings-callout,
  .buddy-empty,
  .blocked-row,
  .settings-wide-action,
  .danger-copy,
  .danger-switch
),
body.gn-modern #view-help :is(
  .help-center-hero,
  .help-faq,
  .help-faq details,
  .help-resource-grid,
  .help-resource-grid button,
  .help-bb-panel,
  .help-bb-reply
) { border-radius: 0 !important; }

body.gn-modern #view-settings {
  --settings-paper: transparent;
  --settings-raised: transparent;
  --settings-blue-soft: transparent;
  --settings-line: var(--utility-line);
  --settings-line-strong: rgba(151, 184, 219, .42);
  --settings-ink: var(--utility-ink);
  --settings-sub: var(--utility-soft);
  --settings-muted: var(--utility-muted);
  --settings-navy: var(--utility-blue);
  --settings-green: #89d6af;
  --settings-danger: #ff9ca6;
}
body.gn-modern #view-settings .settings-shell { width: 100%; gap: 0; }
body.gn-modern #view-settings .settings-layout {
  grid-template-columns: minmax(210px, 22%) minmax(0, 1fr);
  gap: 0;
}
body.gn-modern #view-settings .settings-content { gap: 0; }
body.gn-modern #view-settings .settings-content .settings-card {
  padding: clamp(46px, 5.8vw, 84px) clamp(34px, 6vw, 96px);
  color: var(--settings-ink);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid var(--utility-line);
  box-shadow: none;
  text-align: left !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.gn-modern #view-settings .settings-card-header { gap: 16px; }
body.gn-modern #view-settings .settings-card-header p { max-width: 64ch; color: var(--settings-sub); font-size: 14px; }
body.gn-modern #view-settings :is(.settings-toggle-list, .settings-action-list) {
  color: var(--settings-ink);
  background: transparent !important;
  border: 0;
  border-top: 1px solid var(--utility-line);
}
body.gn-modern #view-settings .settings-toggle-list .setting-check,
body.gn-modern #view-settings .settings-action-list .settings-action,
body.gn-modern #view-settings :is(.setting-check, .settings-action) {
  min-height: 76px;
  color: var(--settings-ink);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid var(--utility-line);
  text-align: left !important;
}
body.gn-modern #view-settings .settings-toggle-list .setting-check:last-child,
body.gn-modern #view-settings .settings-action-list .settings-action:last-child { border-bottom: 1px solid var(--utility-line); }
body.gn-modern #view-settings .settings-action .gn-btn-quiet,
body.gn-modern #view-settings .settings-wide-action {
  color: var(--settings-ink);
  background: rgba(8, 28, 51, .72) !important;
  border: 1px solid rgba(141, 189, 232, .7);
  box-shadow: none;
}
body.gn-modern #view-settings .settings-wide-action { margin-top: 22px; }

body.gn-modern #view-help { color: var(--utility-ink); }
body.gn-modern #view-help .help-center-hero {
  min-height: 300px;
  margin: 0;
  padding: clamp(48px, 6vw, 86px) clamp(34px, 7vw, 112px);
  align-items: center;
  color: var(--utility-ink);
  background: transparent !important;
  border: 0;
  border-bottom: 1px solid var(--utility-line);
  box-shadow: none;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.gn-modern #view-help .help-center-actions button,
body.gn-modern #view-help :is(.help-promo-form button, .help-bb-form button) {
  color: #fff;
  background: rgba(8, 28, 51, .72);
  border: 1px solid rgba(141, 189, 232, .7);
}
body.gn-modern #view-help .help-center-layout { grid-template-columns: minmax(0, 2.2fr) minmax(300px, .8fr); gap: 0; }
body.gn-modern #view-help .help-center-main { gap: 0; min-width: 0; }
body.gn-modern #view-help :is(.help-faq, .help-resource-grid, .help-bb-panel) {
  color: var(--utility-ink);
  background: transparent !important;
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.gn-modern #view-help :is(.help-faq, .help-resource-grid) {
  padding: clamp(46px, 5.8vw, 84px) clamp(34px, 6vw, 96px);
  border-bottom: 1px solid var(--utility-line);
}
body.gn-modern #view-help .help-faq-list { gap: 0; border-bottom: 1px solid var(--utility-line); }
body.gn-modern #view-help .help-faq details {
  background: transparent !important;
  border: 0;
  border-top: 1px solid var(--utility-line);
}
body.gn-modern #view-help .help-promo-form { border-top-color: var(--utility-line); }
body.gn-modern #view-help .help-resource-grid > div:last-child { gap: 0; border-bottom: 1px solid var(--utility-line); }
body.gn-modern #view-help .help-resource-grid button {
  min-height: 92px;
  padding: 18px;
  background: transparent !important;
  border: 0;
  border-top: 1px solid var(--utility-line);
}
body.gn-modern #view-help .help-resource-grid button + button { border-left: 1px solid var(--utility-line); }
body.gn-modern #view-help .help-bb-panel {
  top: 16px;
  padding: clamp(42px, 5vw, 72px) clamp(28px, 4vw, 56px);
  border-left: 1px solid var(--utility-line);
}
body.gn-modern #view-help .help-bb-prompts button { color: #c3d6ea; background: transparent; border-color: var(--utility-line); }
@media (max-width: 680px) {
  body.gn-modern:not(.dark).academy-campus-open :is(#view-settings, #view-help) { background-attachment: scroll; }
}

body.gn-modern .academy-dashboard {
  gap: 28px;
  padding: 32px clamp(24px, 3vw, 48px) 80px;
}
body.gn-modern .academy-dashboard .academy-dash-head {
  align-items: center;
  min-height: 176px;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid var(--academy-line);
  border-radius: var(--r-card, 14px);
  background: var(--academy-surface);
}
body.gn-modern.academy-campus-open #view-academy .academy-dashboard .academy-dash-head {
  border-color: var(--academy-line);
  background: var(--campus-card-tint) !important;
  -webkit-backdrop-filter: var(--campus-glass);
  backdrop-filter: var(--campus-glass);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .12);
}
body.gn-modern .academy-dashboard .academy-dash-lede { gap: 11px; }
body.gn-modern .academy-dashboard .academy-dash-head h1 {
  font-size: clamp(36px, 4.2vw, 54px);
  line-height: 1.04;
  overflow-wrap: anywhere;
}
body.gn-modern .academy-dashboard .academy-dash-standing {
  min-width: min(100%, 230px);
  min-height: 92px;
  align-content: center;
  padding: 18px 20px;
  border-radius: var(--r-card, 14px);
}
body.gn-modern .academy-dashboard .academy-dash-standing strong { font-size: 15px; }
body.gn-modern .academy-dashboard .academy-dash-standing span { font-size: 12.5px; }

body.gn-modern .academy-dashboard .academy-standing { border-radius: var(--r-card, 14px); }
body.gn-modern .academy-dashboard .academy-standing-ladder { min-height: 142px; padding: 22px 28px 18px; }
body.gn-modern .academy-dashboard .academy-standing-stats .academy-stat {
  min-height: 0;
  padding: 16px 24px;
}
body.gn-modern .academy-dashboard .academy-stat-num { font-size: 38px; }
body.gn-modern .academy-dashboard .academy-stat-label { font-size: 18px; }

body.gn-modern .academy-dashboard .academy-record { padding: clamp(24px, 2.4vw, 34px); }
body.gn-modern .academy-dashboard .academy-dash-grid { grid-template-columns: minmax(0, 1fr); }
body.gn-modern .academy-dashboard .academy-record > h2,
body.gn-modern .academy-dashboard .academy-credential > h2 { font-size: 25px; }
body.gn-modern .academy-dashboard .academy-class-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 22px);
  margin-top: 22px;
  overflow: visible;
  border: 0;
  background: transparent;
}
body.gn-modern .academy-dashboard .academy-class-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  align-content: center;
  justify-items: center;
  gap: 14px;
  min-height: clamp(310px, 28vw, 390px);
  padding: clamp(34px, 3vw, 54px) clamp(22px, 2.2vw, 34px);
  border: 1px solid var(--academy-line);
  border-radius: var(--r-card, 14px);
  text-align: center;
}
body.gn-modern .academy-dashboard .academy-class-card:hover { border-color: var(--academy-blue); }
body.gn-modern .academy-dashboard .academy-class-number {
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  color: var(--academy-muted);
  font-size: 12px;
}
body.gn-modern .academy-dashboard .academy-class-icon {
  display: grid;
  width: clamp(78px, 6.5vw, 104px);
  height: clamp(78px, 6.5vw, 104px);
  margin-bottom: 8px;
  place-items: center;
  color: var(--academy-ink);
}
body.gn-modern .academy-dashboard .academy-class-icon .gn-ui-icon {
  width: 100%;
  height: 100%;
}
body.gn-modern .academy-dashboard .academy-class-copy {
  justify-items: center;
  gap: 8px;
}
body.gn-modern .academy-dashboard .academy-class-copy strong {
  max-width: 16ch;
  font-size: clamp(23px, 2vw, 31px);
  line-height: 1.12;
}
body.gn-modern .academy-dashboard .academy-class-copy > span {
  max-width: 30ch;
  overflow: visible;
  font-size: 13.5px;
  line-height: 1.55;
  text-overflow: clip;
  white-space: normal;
}
body.gn-modern .academy-dashboard .academy-class-progress {
  width: min(100%, 250px);
  gap: 9px;
  margin-top: 8px;
}
body.gn-modern .academy-dashboard .academy-class-progress > strong { font-size: 14px; }
body.gn-modern .academy-dashboard .academy-dash-bar { height: 8px; gap: 3px; }
body.gn-modern .academy-dashboard .academy-class-go {
  position: static;
  width: 100%;
  margin-top: 2px;
  padding-right: 4px;
  justify-self: stretch;
  font-size: 22px;
  text-align: right;
}
body.gn-modern .academy-dashboard .academy-record-next {
  min-height: 112px;
  margin-top: 22px;
  padding: 24px 26px;
  border-radius: var(--r-card, 14px);
}
body.gn-modern .academy-dashboard .academy-record-next strong { font-size: 20px; }
body.gn-modern .academy-dashboard .academy-record-next span { font-size: 13px; }
body.gn-modern .academy-dashboard .academy-resume .academy-record-next { margin-top: 0; min-height: 120px; }
body.gn-modern .academy-dashboard :is(.academy-resume-title, .academy-cohorts-title) { font-size: 12px; }
body.gn-modern .academy-dashboard .academy-credential { padding: clamp(24px, 2.4vw, 34px); }

.academy-gateway[data-screen="enrollment"] .academy-signup-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: 1460px;
  padding-top: 38px;
}
.academy-gateway[data-screen="enrollment"] .academy-gateway-main { max-width: none; }
.academy-gateway[data-screen="enrollment"] .academy-signup-progress {
  width: 100%;
  max-width: none;
  margin-bottom: 28px;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-progress ol { gap: 12px; }
.academy-gateway[data-screen="enrollment"] .academy-signup-progress li {
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 70px;
  padding: 14px 16px;
  border: 1px solid var(--intake-line);
  border-radius: var(--r-card, 14px);
  background: var(--intake-panel);
}
.academy-gateway[data-screen="enrollment"] .academy-signup-progress li:not(:last-child)::after { display: none; }
.academy-gateway[data-screen="enrollment"] .academy-signup-progress li > small {
  padding: 0;
  background: transparent;
  font-size: 12px;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-progress li > span { width: 38px; height: 38px; }
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head,
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head.compact {
  display: grid;
  align-content: center;
  width: 100%;
  max-width: none;
  min-height: 176px;
  margin-bottom: 24px;
  padding: clamp(26px, 3vw, 40px);
  border: 1px solid var(--intake-line);
  border-radius: var(--r-card, 14px);
  background: var(--intake-panel);
  box-shadow: 0 20px 54px rgba(0, 0, 0, .18);
}
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head h1 {
  font-size: clamp(38px, 4.6vw, 60px);
  line-height: 1.04;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head p {
  max-width: 760px;
  font-size: 17px;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-programs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program {
  position: relative;
  align-items: center;
  min-height: 440px;
  padding: clamp(30px, 3vw, 48px) clamp(24px, 2.6vw, 40px);
  border: 1px solid var(--intake-line) !important;
  border-radius: var(--r-card, 14px);
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program-number {
  position: absolute;
  top: 22px;
  right: 22px;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program-icon,
.academy-gateway[data-screen="enrollment"] .academy-plan-icon {
  display: grid;
  width: clamp(76px, 6vw, 100px);
  height: clamp(76px, 6vw, 100px);
  margin: 16px auto 10px;
  place-items: center;
  color: var(--academy-ink);
}
.academy-gateway[data-screen="enrollment"] :is(.academy-intake-program-icon, .academy-plan-icon) .gn-ui-icon {
  width: 100%;
  height: 100%;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program h2 {
  max-width: 16ch;
  margin: 16px auto 12px;
  font-size: clamp(24px, 2.2vw, 31px);
  line-height: 1.12;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program p { max-width: 34ch; font-size: 15.5px; }
.academy-gateway[data-screen="enrollment"] .academy-intake-program-detail {
  width: 100%;
  margin-top: 22px !important;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program .academy-plan-action {
  margin-top: auto;
  padding-top: 24px;
  font-size: 15px;
}
.academy-gateway[data-screen="enrollment"] .academy-enroll-choices {
  gap: clamp(16px, 2vw, 24px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card {
  min-height: 610px;
  border: 1px solid var(--intake-line) !important;
  border-radius: var(--r-card, 14px);
}
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card .academy-plan-icon { margin-top: 30px; }
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card h2 {
  font-size: clamp(27px, 2.4vw, 35px);
}
.academy-gateway[data-screen="enrollment"] .academy-signup-trust {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-trust > div {
  grid-template-columns: 1fr;
  justify-items: center;
  min-height: 188px;
  padding: 28px;
  border: 1px solid var(--intake-line) !important;
  border-radius: var(--r-card, 14px);
  text-align: center;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-trust > div > span { grid-row: auto; }
.academy-gateway[data-screen="enrollment"] .academy-signup-trust strong { font-size: 12px; }
.academy-gateway[data-screen="enrollment"] .academy-signup-trust p { max-width: 38ch; font-size: 13.5px; }
.academy-gateway[data-screen="enrollment"] .academy-profile-layout { gap: 24px; }
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-profile-form,
.academy-gateway[data-screen="enrollment"] .academy-signup-summary,
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-checkout-card,
.academy-gateway[data-screen="enrollment"] .academy-orientation-card {
  border-radius: var(--r-card, 14px);
}

body.gn-modern #view-home .campus-quick-grid { grid-template-columns: 1fr; gap: 12px; }
body.gn-modern #view-home .campus-quick-action {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  min-height: 104px;
  gap: 16px;
  padding: 18px 20px;
  border-radius: var(--r-card, 14px);
}

@media (max-width: 1180px) {
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell { width: min(1180px, calc(100% - 40px)); }
}

@media (max-width: 900px) {
  body.gn-modern .academy-dashboard .academy-dash-head { align-items: stretch; flex-direction: column; }
  body.gn-modern .academy-dashboard .academy-dash-standing { width: 100%; }
  body.gn-modern .academy-dashboard .academy-class-list { grid-template-columns: 1fr; }
  body.gn-modern .academy-dashboard .academy-class-card {
    grid-template-columns: 1fr;
    min-height: 310px;
  }
  body.gn-modern .academy-dashboard .academy-class-progress,
  body.gn-modern .academy-dashboard .academy-class-go { grid-column: auto; grid-row: auto; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-programs { grid-template-columns: 1fr; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program { min-height: 360px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-trust { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress ol { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  body.gn-modern .academy-dashboard { padding-top: 20px; }
  body.gn-modern .academy-dashboard .academy-dash-head { padding: 24px 20px !important; }
  body.gn-modern .academy-dashboard .academy-dash-head h1 { font-size: clamp(34px, 11vw, 46px); }
  body.gn-modern .academy-dashboard .academy-class-list {
    width: 100% !important;
    margin-inline: 0 !important;
  }
  body.gn-modern .academy-dashboard .academy-class-card {
    min-height: 290px;
    padding: 38px 20px;
    border: 1px solid var(--academy-line) !important;
    border-radius: var(--r-card, 14px) !important;
  }
  body.gn-modern .academy-dashboard .academy-class-icon { width: 76px; height: 76px; }
  body.gn-modern .academy-dashboard .academy-record-next { align-items: stretch; flex-direction: column; text-align: center; }
  body.gn-modern .academy-dashboard .academy-record-next .academy-btn { width: 100%; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell { width: min(100% - 24px, 1180px); }
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head,
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-head.compact {
    min-height: 0;
    padding: 26px 20px;
  }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress ol { gap: 8px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li { min-height: 64px; padding: 11px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card { min-height: 0; }
}

@media (max-width: 640px) {
  .academy-gateway[data-screen="landing"] .academy-hero-proof i { display: none; }
}

@media (max-width: 560px) {
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress { margin-bottom: 20px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress ol { grid-template-columns: 1fr 1fr; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li {
    grid-template-columns: 32px 1fr;
    justify-items: start;
    text-align: left;
  }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li > span { width: 32px; height: 32px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li > small { font-size: 11px; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program { min-height: 330px; padding: 34px 22px; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program-icon,
  .academy-gateway[data-screen="enrollment"] .academy-plan-icon { width: 72px; height: 72px; }
}

.academy-gateway[data-screen="enrollment"] .academy-enroll-shell .academy-enroll-head {
  padding: 24px;
  margin-bottom: 20px;
}
.academy-gateway[data-screen="enrollment"] .academy-enroll-shell .academy-enroll-head h1 {
  font-size: clamp(30px, 3vw, 42px);
}
.academy-gateway[data-screen="enrollment"] .academy-enroll-shell .academy-enroll-head p {
  margin-top: 12px;
}
.academy-gateway[data-screen="enrollment"] .academy-enroll-shell .academy-enroll-card .academy-plan-action {
  margin-top: 20px;
  margin-bottom: 20px;
}
.academy-gateway .academy-intake-preference { font-size: 16px; }
.academy-gateway .academy-intake-preference small { font-size: 14px; }
.academy-gateway .academy-intake-reassurance {
  color: var(--academy-sub);
  font-size: 14px;
  line-height: 1.6;
  margin: 16px 0;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-progress ol {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.academy-intake-preference {
  display: grid;
  gap: 8px;
  max-width: 560px;
  margin: 0 auto 28px;
  text-align: left;
  color: var(--academy-ink);
}
.academy-intake-preference select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--intake-line);
  border-radius: 8px;
  background: #0b1424;
  color: #f2f6ff;
  font: inherit;
}
.academy-intake-preference select:focus-visible {
  outline: 2px solid #b9d2ff;
  outline-offset: 3px;
}
.academy-intake-preference small { color: var(--academy-sub); line-height: 1.5; }
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card {
  min-height: 0;
  padding: 28px;
  text-align: left;
  align-items: stretch;
}
.academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card .academy-plan-icon {
  display: none;
}
.academy-gateway[data-screen="enrollment"] .academy-intake-program {
  min-height: 0;
  padding: 28px;
  margin-top: 20px;
}
@media (max-width: 560px) {
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li { padding: 10px 6px; gap: 6px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-shell .academy-enroll-card { padding: 22px; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program-icon { width: 48px; height: 48px; margin: 0; }
}

:root {

  --gn-ease: cubic-bezier(.2, .7, .2, 1);
  --gn-dur-fast: 120ms;
  --gn-dur: 200ms;
  --gn-dur-slow: 320ms;

  --z-raised: 10;
  --z-popover: 100;
  --z-scrim: 199;
  --z-drawer: 200;
  --z-dialog: 300;
  --z-toast: 400;
  --z-gate: 9999;

  --gn-8: 64px;

  --gn-ok-wash: #e6f2ea;
  --gn-warn-wash: #f6efe2;
  --gn-danger-wash: #fbe9e7;
  --gn-info-wash: #e6eefb;
}

body.gn-modern.dark,
body[data-site-design].dark {
  --gn-ok: #7dd3a0;
  --gn-ok-wash: rgba(125, 211, 160, .14);
  --gn-warn: #e6b85c;
  --gn-warn-wash: rgba(230, 184, 92, .14);
  --gn-danger: #f28b8b;
  --gn-danger-wash: rgba(242, 139, 139, .14);
  --gn-info: #7cb3ff;
  --gn-info-wash: rgba(124, 179, 255, .14);
}
.gn-btn-primary { background: var(--academy-ink); border-color: var(--academy-ink); color: var(--academy-bg); }

body.gn-modern #view-cohorts {
  padding: 28px 32px 64px;
}
#view-cohorts .cohorts-block { display: grid; gap: 16px; margin-top: 32px; }
#view-cohorts .cohorts-block-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }

#view-cohorts #cohortsFind, #view-cohorts #cohortsMyPosts { margin-top: 48px; }
#view-cohorts .cohorts-filters { display: flex; flex-wrap: wrap; gap: 8px; }

@media (max-width: 767px) {
  label { font-size: 14px; }
  input, textarea, select { font-size: 14.5px; }
  button { font-size: 14.5px; }
}
@media (max-width: 767px) {
  .message-meta { font-size: 14px; }
  .age-brand-copy span { font-size: 12.5px; }
  .age-badge { font-size: 16.5px; }
  .age-eyebrow { font-size: 14px; }
  .age-body { font-size: 16px; }
  .age-jurisdiction { font-size: 14.5px; }
  .age-read-legal { font-size: 15.5px; }
  .age-consent { font-size: 15.5px; }
  .age-panel :is(.age-enter, .age-leave) { font-size: 16px; }
  .age-footnote { font-size: 14px; }
  .age-footnote::before { font-size: 13px; }
  .age-legal-titlebar { font-size: 16px; }
}
@media (max-width: 480px) {
  .age-brand-copy strong { font-size: 16px; }
  .age-brand-copy span { font-size: 12px; }
  .age-badge { font-size: 15.5px; }
  .age-body { font-size: 15.5px; }
}
@media (max-width: 767px) {
  .humangate-title { font-size: 15.5px; }
  .humangate-sub { font-size: 14px; }
  .humangate-prompt { font-size: 14px; }
  .humangate-input { font-size: 16.5px; }
  .humangate-msg { font-size: 14px; }
  .humangate-alt { font-size: 13px; }
  .bb-academy-sub { font-size: 13px; }
  .exam-panel .bb-academy-name::after { font-size: 13px; }
  .bba-support-message-meta { font-size: 12.5px; }
  .gn-modern .bb-academy-name { font-size: 16px; }
  .gn-modern .bb-academy-sub { font-size: 14px; }
  .gn-modern .view-rooms .message-meta { font-size: 14px; }
  .gn-modern .view-rooms .message-user { font-size: 15px; }
  .gn-modern .view-rooms .message-mood { font-size: 13.5px; }
  .gn-modern .view-rooms .message-time { font-size: 13px; }
}
@media (max-width: 767px) {
  .gn-modern .pc-page-kicker { font-size: 12.5px; }
  .gn-modern .pc-page-hero p { font-size: 15.5px; }
  .academy-gateway { font-size: 16.5px; }
  .academy-wordmark small { font-size: 12.5px; }
  .academy-header-link { font-size: 14.5px; }
  .gn-modern .academy-nav-monogram { font-size: 13px; }
  body.gn-modern .academy-dashboard .academy-btn { font-size: 15.5px; }
  .academy-dash-standing strong { font-size: 14.5px; }
  .academy-dash-standing span { font-size: 13px; }
  .academy-class-go { font-size: 16px; }
  .academy-class-number { font-size: 12.5px; }
  .academy-class-copy strong { font-size: 16px; }
  .academy-class-tag { font-size: 12px; }
  .academy-class-copy > span { font-size: 13px; }
  .academy-class-progress > strong { font-size: 14px; }
  .academy-record-next small { font-size: 12.5px; }
  .academy-record-next span { font-size: 13px; }
  .academy-credential-name { font-size: 14.5px; }
  .academy-credential-path { font-size: 14px; }
  .academy-dash-blueprint > div { font-size: 13px; }
  .academy-credential-note { font-size: 13px; }
  .academy-dash-kicker { font-size: 14px; }
  .academy-dash-sub { font-size: 15px; }
  .academy-standing-rank { font-size: 12.5px; }
  .academy-rail-label { font-size: 15.5px; }
  .academy-rail-kind { font-size: 13px; }
  .academy-rail-next strong { font-size: 15px; }
  .academy-rank-name { font-size: 13.5px; }
  .academy-stat-num small { font-size: 16px; }
  .academy-stat-label { font-size: 16px; }
  .academy-wall-meta { font-size: 13.5px; }
  .academy-wall-verified { font-size: 12px; }
  .academy-wall-group-head strong { font-size: 12.5px; }
  .academy-dashboard .academy-wall-open { font-size: 13px; }
  .academy-dashboard .academy-wall-chip { font-size: 14px; }
  .academy-wall-emoji { font-size: 15.5px; }
  .academy-wall-hint { font-size: 12.5px; }
  .academy-wall-check { font-size: 13px; }
  .academy-cert-prefix { font-size: 11.5px; }
  .academy-cert-state { font-size: 12px; }
  .academy-cert-title { font-size: 14px; }
  .academy-cert-serial { font-size: 12px; }
  .academy-wall-empty { font-size: 14px; }
  .academy-wall-foot { font-size: 12.5px; }
}
@media (max-width: 620px) {
  body.gn-modern .academy-dashboard .academy-standing-stats .academy-stat-label { font-size: 16.5px; }
}
@media (max-width: 767px) {
  .academy-dashboard :is(.academy-resume-title, .academy-cohorts-title) { font-size: 14px; }
  .academy-dashboard .academy-cohorts-all { font-size: 14.5px; }
  .academy-dashboard .academy-cohort-when { font-size: 16px; }
  .academy-dashboard .academy-cohort-meta { font-size: 15.5px; }
  .academy-dashboard .academy-cohort-note { font-size: 15.5px; }
  body .academy-help-fab-label { font-size: 12.5px; }
  .academy-help-identity span { font-size: 12.5px; }
  .academy-help-identity .academy-help-bot-type { font-size: 12.5px; }
  .academy-help-close { font-size: 14px; }
  .academy-help-context span { font-size: 12.5px; }
  .academy-help-context strong { font-size: 13px; }
  .academy-help-message-label { font-size: 12.5px; }
  .academy-help-message-title { font-size: 14.5px; }
  .academy-help-message p { font-size: 14px; }
  .academy-help-message ol { font-size: 13px; }
  .academy-help-message pre { font-size: 13px; }
  .academy-help-message-note { font-size: 12.5px; }
  .academy-help-starters button { font-size: 13px; }
  .academy-help-composer > label { font-size: 13px; }
  .academy-help-composer textarea { font-size: 14.5px; }
  .academy-help-attach { font-size: 13px; }
  .academy-help-send { font-size: 14px; }
  .academy-help-footer p { font-size: 12.5px; }
  .academy-help-footer button { font-size: 13px; }
  .academy-help-footer .academy-help-mail { font-size: 13px; }
  body .academy-help-fab-unread { font-size: 12.5px; }
  .academy-campus-banner span { font-size: 13px; }
  .academy-campus-banner strong { font-size: 15.5px; }
  .academy-campus-banner p { font-size: 14px; }
  .academy-wordmark strong { font-size: 16px; }
  .academy-header-link { font-size: 13px; }
}
@media (max-width: 560px) {
  .academy-gateway { font-size: 16px; }
}
@media (max-width: 767px) {
  .academy-classroom-hero-copy > span, .academy-classroom-lane > span { font-size: 13px; }
  .academy-classroom-hero p { font-size: 14.5px; }
  .academy-classroom-status small { font-size: 12.5px; }
  .academy-classroom-status strong { font-size: 14px; }
  .academy-classroom-status span { font-size: 13px; }
  .academy-classroom-lane small { font-size: 14px; }
  .academy-classroom-lane::after { font-size: 13px; }
  body.gn-modern .academy-workspace-view .bb-academy { font-size: 14.5px; }
  body.gn-modern .bb-academy-name { font-size: 15.5px; }
  body.gn-modern .bb-academy-name::before { font-size: 12.5px; }
  .gn-modern .view-rooms .message-meta { font-size: 12.5px; }
  .gn-modern .view-rooms .message-user { font-size: 14px; }
  .gn-modern .view-rooms .message-mood, .gn-modern .view-rooms .message-time { font-size: 12.5px; }
  .gn-modern .view-rooms .message-text { font-size: 14.5px; }
  .academy-signup-progress li > span { font-size: 13px; }
  .academy-signup-progress li > small { font-size: 13px; }
  .academy-plan-top > small { font-size: 12.5px; }
  .academy-plan-badge { font-size: 12px; }
  .academy-signup-shell .academy-enroll-card > p { font-size: 16px; }
  .academy-plan-price-note { font-size: 14px; }
  .academy-signup-shell .academy-enroll-card ul { font-size: 16px; }
  .academy-signup-shell .academy-plan-footnote { font-size: 14px; }
  .academy-signup-trust > div > span { font-size: 12.5px; }
  .academy-signup-trust strong { font-size: 12.5px; }
  .academy-signup-trust p { font-size: 13px; }
  .academy-signup-shell .academy-profile-form label { font-size: 14px; }
  .academy-optional { font-size: 12px; }
  .academy-field-help { font-size: 12.5px; }
  .academy-identity-mark { font-size: 12px; }
  .academy-signin-other p { font-size: 15.5px; }
  .academy-signin-confirm strong { font-size: 16px; }
  .academy-signup-summary > span { font-size: 12.5px; }
  .academy-signup-summary li > span { font-size: 12.5px; }
  .academy-signup-summary li strong { font-size: 14px; }
  .academy-signup-summary li p { font-size: 12.5px; }
  .academy-summary-plan small { font-size: 12px; }
  .academy-summary-plan strong { font-size: 14.5px; }
  .academy-summary-plan p { font-size: 12.5px; }
  .academy-signup-shell .academy-checkout-meta small { font-size: 12.5px; }
  .academy-signup-shell .academy-checkout-meta strong { font-size: 15.5px; }
  .academy-signup-shell .academy-checkout-list li { font-size: 15px; }
  .academy-signup-shell .academy-checkout-tick { font-size: 14px; }
  .academy-signup-shell .academy-checkout-pathline { font-size: 14px; }
  .academy-signup-shell .academy-checkout-pathline small { font-size: 12.5px; }
  .academy-signup-shell .academy-checkout-card .academy-kicker { font-size: 12.5px; }
  .academy-signup-shell .academy-checkout-term { font-size: 14px; }
  .academy-signup-shell .academy-checkout-go { font-size: 15.5px; }
  .academy-signup-shell .academy-checkout-note { font-size: 13.5px; }
  .academy-signup-shell .academy-checkout-status { font-size: 14px; }
  .academy-signup-shell .academy-checkout-freelink { font-size: 14px; }
}
@media (max-width: 560px) {
  .academy-signup-progress li > small { font-size: 11.5px; }
  .academy-signup-shell .academy-enroll-head p { font-size: 16px; }
}
@media (max-width: 767px) {
  body button.academy-classroom-back { font-size: 14px; }
  body.gn-modern #view-code .academy-classroom-hero-copy > span { font-size: 12.5px; }
  body.gn-modern #view-code .academy-classroom-hero p { font-size: 15.5px; }
  body.gn-modern #view-code .academy-classroom-status strong { font-size: 15.5px; }
  body.gn-modern #view-code .academy-classroom-lane::after { font-size: 13px; }
  body.gn-modern #view-code .academy-classroom-lane > span:not(.academy-classroom-lane-icon) { font-size: 12px; }
  body.gn-modern #view-code .academy-classroom-lane small { font-size: 13px; }
}
@media (max-width: 767px) {
  .academy-header-link { font-size: 15.5px; }
  .academy-eyebrow, .academy-section-intro > span, .academy-practice-copy > span, .academy-standard-note > span, .academy-final-cta > span, .academy-enroll-head > span, .academy-hero-record > span, .academy-confirmation-summary dt, .academy-intake-program-number { font-size: 13px; }
  .academy-btn { font-size: 16.5px; }
  .academy-hero-proof { font-size: 15.5px; }
  .academy-hero-record > p { font-size: 16.5px; }
  .academy-hero-record dt { font-size: 14px; }
  .academy-hero-record dd strong { font-size: 16px; }
  .academy-hero-record dd span { font-size: 15.5px; }
  .academy-stat-l { font-size: 15.5px; }
  .academy-school-code { font-size: 14.5px; }
  .academy-school-card p, .academy-school-card li { font-size: 16px; }
  .academy-school-card button { font-size: 16px; }
  .academy-final-note { font-size: 15.5px; }
  .academy-compare-table { font-size: 16px; }
  .academy-compare-table thead th { font-size: 14px; }
  .academy-trust-list dt { font-size: 16.5px; }
  .academy-trust-list dd { font-size: 16px; }
}
@media (max-width: 640px) {
  .academy-compare-table { font-size: 15.5px; }
}
@media (max-width: 767px) {
  .academy-signup-progress li span { font-size: 14.5px; }
  .academy-signup-progress li small { font-size: 14px; }
  .academy-intake-program p { font-size: 16px; }
  .academy-enroll-card p, .academy-enroll-card ul { font-size: 16px; }
  .academy-enroll-back { font-size: 16px; }
  .academy-signup-trust p { font-size: 15.5px; }
  .academy-profile-form label { font-size: 16px; }
  .academy-profile-form input, .academy-profile-form textarea, .academy-profile-form select, .academy-orientation select { font-size: 16.5px; }
  .academy-field-help, .academy-field-counter { font-size: 15.5px; }
  .academy-identity-note p { font-size: 15.5px; }
  .academy-profile-save-status { font-size: 16px; }
  .academy-checkout-note { font-size: 15.5px; }
  .academy-checkout-status { font-size: 16px; }
  .academy-confirmation-summary dd { font-size: 16.5px; }
  .academy-confirmation-note { font-size: 16px; }
}
@media (max-width: 640px) {
  .academy-wordmark strong { font-size: 16.5px; }
  .academy-wordmark small { font-size: 11.5px; }
  .academy-header-cta { font-size: 14.5px; }
}
@media (max-width: 767px) {
  .academy-classflow-top strong { font-size: 16px; }
  .academy-classflow-topmeta strong { font-size: 14.5px; }
  .academy-classflow-topmeta span { font-size: 14px; }
  .academy-classflow-head p { font-size: 16.5px; }
  .academy-classflow-terms dt { font-size: 14px; }
  .academy-classflow-terms dd { font-size: 15.5px; }
  .academy-classflow .academy-classflow-answer { font-size: 16px; }
  .academy-classflow-answer-key { font-size: 14px; }
  .academy-classflow .academy-classflow-answer-tag { font-size: 13px; }
  .academy-classflow .academy-classflow-line { font-size: 14.5px; }
  .academy-classflow-lineno { font-size: 13px; }
  .academy-classflow-feedback { font-size: 15.5px; }
  .academy-classflow-scope { font-size: 14px; }
  .academy-classflow-score span { font-size: 14px; }
  .academy-classflow-score small { font-size: 14px; }
  .academy-classflow-checks strong { font-size: 15.5px; }
  .academy-classflow-checks p { font-size: 15.5px; }
  .academy-classflow-check-mark { font-size: 14.5px; }
  .academy-cohort-copy > span { font-size: 14px; }
  .academy-cohort-copy p { font-size: 16px; }
  .academy-cohort-actions small { font-size: 14px; }
  body.gn-modern #view-code :is(.academy-classflow-actions, .academy-classflow-tools) .academy-btn { font-size: 16.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-practice-summary { font-size: 15.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-tip, .wt-concept-tip) { font-size: 16px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow :is(.bba-tip-x, .wt-tip-x) { font-size: 16px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-lab-obj > span:not(.wt-lab-obj-label) { font-size: 16.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-done { font-size: 15.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-verdict { font-size: 14.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-ci-stage { font-size: 14px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check-name { font-size: 15.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .bba-check-hint { font-size: 14.5px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow .wt-hint { font-size: 16px; }
  body.gn-modern #view-code .codelab-task-rail .academy-classflow p.academy-classflow-question-prompt { font-size: 16.5px; }
  .academy-field-error { font-size: 14.5px; }
  .academy-signup-shell .academy-profile-form label { font-size: 16px; }
}
@media (max-width: 640px) {
  .academy-signup-progress li > span { font-size: 13px; }
  .academy-signup-progress li > small { font-size: 12.5px; }
}
@media (max-width: 767px) {
  body.gn-modern .academy-gateway .academy-btn { font-size: 16.5px; }
  .academy-kicker { font-size: 13px; }
  .academy-hero-proof { font-size: 14px; }
  .academy-school-code { font-size: 13px; }
  .academy-school-head small { font-size: 12.5px; }
  .academy-school-link { font-size: 16px; }
  .academy-practice-list b { font-size: 13px; }
  .academy-practice-list strong { font-size: 16.5px; }
  .academy-practice-list span { font-size: 14.5px; }
  .academy-foot-word small { font-size: 12px; }
  .academy-foot-brand p { font-size: 14.5px; }
  .academy-foot-col h4 { font-size: 13px; }
  .academy-foot-col li button, .academy-foot-col li a { font-size: 15.5px; }
  .academy-foot-legal { font-size: 13px; }
  .academy-orientation-top span { font-size: 13px; }
  .academy-orientation-model span { font-size: 14px; }
}
@media (max-width: 360px) {
  .academy-header-cta { font-size: 14px; }
}
@media (max-width: 767px) {
  .academy-hero-record > p { font-size: 16px; }
  .academy-hero-record dd strong { font-size: 15.5px; }
  .academy-hero-record dd span { font-size: 14.5px; }
  .academy-section-intro p, .academy-practice-copy p, .academy-final-cta > p { font-size: 16.5px; }
  body.gn-modern #view-code .academy-classroom-hero p { font-size: 15.5px; }
  .rooms-academy-hero > span { font-size: 13px; }
  .gn-modern .view-rooms .message-meta { font-size: 12px; }
  .gn-modern .view-rooms .message-user { font-size: 12.5px; }
  .gn-modern .view-rooms .message-mood, .gn-modern .view-rooms .message-time { font-size: 11.5px; }
  .gn-modern .view-rooms .message-text { font-size: 12.5px; }
  body.gn-modern #view-rooms .message-user { font-size: 13px; }
  body.gn-modern #view-rooms .message-mood, body.gn-modern #view-rooms .message-time { font-size: 12px; }
  body.gn-modern #view-rooms .message-text { font-size: 14px; }
  .academy-intake-catalog > header p { font-size: 15.5px; }
  body.gn-modern .academy-gateway .academy-intake-catalog-search, .academy-intake-catalog-search { font-size: 15.5px; }
  .academy-intake-catalog-group > summary::after { font-size: 15.5px; }
  .academy-intake-catalog-group > summary strong { font-size: 15.5px; }
  .academy-intake-catalog-count { font-size: 13px; }
  .academy-intake-catalog-list li strong { font-size: 15px; }
  .academy-intake-catalog-list li span { font-size: 12.5px; }
  .academy-intake-catalog-empty { font-size: 15.5px; }
  .academy-checkout-live { font-size: 15.5px !important; }
  .academy-access-active small { font-size: 12.5px; }
  .academy-access-active p { font-size: 15.5px; }
  body.gn-modern #view-profile .pc-page-hero p, body.gn-modern #view-profile .pc-friends-hero p { font-size: 16.5px; }
  body:not(.signal-command) .academy-gateway[data-screen="enrollment"] .academy-enroll-card .academy-plan-action { font-size: 16.5px; }
  body.signal-command .academy-gateway[data-screen="enrollment"] .academy-enroll-card .academy-plan-action { font-size: 16px; }
  body:not(.signal-command) .academy-gateway .academy-menu-toggle { font-size: 16.5px; }
  body:not(.signal-command) .academy-gateway .academy-gateway-nav .academy-header-link { font-size: 16px; }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-kicker, body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-kicker { font-size: 12.5px; }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-intro-lead, body.gn-modern #view-code .whiteteam-body[data-academy-screen="ladder"] .wt-flow { font-size: 15.5px; }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="welcome"] .bba-choice-desc { font-size: 15.5px; }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-sectsub { font-size: 14.5px; }
  body.gn-modern #view-code .bb-academy-body[data-academy-screen="map"] .bba-lang-blurb { font-size: 14.5px; }
}
@media (max-width: 767px) {
  body.gn-modern .academy-dashboard .academy-dash-standing strong { font-size: 16px; }
  body.gn-modern .academy-dashboard .academy-dash-standing span { font-size: 14px; }
  body.gn-modern .academy-dashboard .academy-class-number { font-size: 14px; }
  body.gn-modern .academy-dashboard .academy-class-copy > span { font-size: 15px; }
  body.gn-modern .academy-dashboard .academy-class-progress > strong { font-size: 15.5px; }
  body.gn-modern .academy-dashboard .academy-record-next span { font-size: 14.5px; }
  body.gn-modern .academy-dashboard :is(.academy-resume-title, .academy-cohorts-title) { font-size: 14px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li > small { font-size: 14px; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program p { font-size: 16px; }
  .academy-gateway[data-screen="enrollment"] .academy-intake-program .academy-plan-action { font-size: 16px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-trust strong { font-size: 14px; }
  .academy-gateway[data-screen="enrollment"] .academy-signup-trust p { font-size: 15px; }
}
@media (max-width: 560px) {
  .academy-gateway[data-screen="enrollment"] .academy-signup-progress li > small { font-size: 13px; }
}
@media (max-width: 767px) {
  .academy-gateway .academy-intake-preference { font-size: 16.5px; }
  .academy-gateway .academy-intake-preference small { font-size: 15.5px; }
  .academy-gateway .academy-intake-reassurance { font-size: 15.5px; }
}
