html, body {
  min-height: 100%;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--u2-bg);
  color: var(--u2-fg);
  color-scheme: light;
  font-family: var(--u2-sans);
}

#canvas-bg, .radial-overlay, .noise-overlay { display: none; }

.nav {
  position: sticky;
  top: 0;
  padding: 14px max(24px, calc((100vw - 1240px) / 2));
  min-height: 72px;
  background: color-mix(in oklch, var(--u2-bg) 94%, transparent);
  border-bottom: 1px solid var(--u2-border);
  backdrop-filter: blur(14px);
  opacity: 1;
  transform: none;
  animation: none;
}

.nav-logo, .nav-link, .nav-user-name { color: var(--u2-fg); }
.nav-logo-icon { background: var(--u2-accent); box-shadow: none; }
.nav-link:hover { color: var(--u2-accent); background: oklch(94% 0.012 294); }
.btn-login-nav, .btn-nav-accent {
  min-height: 44px;
  border: 0;
  border-radius: var(--u2-radius-control);
  background: var(--u2-accent);
  color: white !important;
  box-shadow: none;
}
.u2-menu-btn { display: none; min-height: 44px; padding: 9px 12px; border: 1px solid var(--u2-border); border-radius: var(--u2-radius-control); background: var(--u2-surface); color: var(--u2-fg); }
.u2-mobile-menu { display: none; }

.scene {
  width: min(1240px, calc(100% - 48px));
  height: auto;
  min-height: 620px;
  margin: 0 auto;
  align-items: stretch;
  justify-content: center;
}

.hero {
  width: min(900px, 100%);
  max-width: none;
  align-items: flex-start;
  text-align: left;
  opacity: 1;
  transform: none;
  animation: none;
  padding: 78px 0 70px;
}

.badge {
  color: var(--u2-accent);
  background: transparent;
  border: 0;
  padding: 0;
  border-radius: 0;
  letter-spacing: 0.02em;
}
.badge-dot { display: none; }
.hero-title {
  margin-top: 18px;
  color: var(--u2-fg);
  font-family: var(--u2-serif);
  font-size: clamp(58px, 7.2vw, 92px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  text-shadow: none;
}
.hero-title .word-ai { color: var(--u2-accent); -webkit-text-fill-color: currentColor; background: none; }
.hero-subtitle {
  margin-top: 24px;
  color: var(--u2-muted);
  font-size: 18px;
  letter-spacing: 0;
}
.divider { color: var(--u2-border); }
.cta-group { justify-content: flex-start; margin-top: 30px; }
.btn-primary, .btn-ghost {
  min-height: 46px;
  border-radius: var(--u2-radius-control);
  box-shadow: none;
}
.btn-primary { background: var(--u2-accent); }
.btn-primary:hover { background: var(--u2-accent-hover); box-shadow: none; transform: none; }
.btn-primary::before, .btn-primary::after { display: none; }
.btn-ghost { color: var(--u2-fg); border-color: var(--u2-border); background: var(--u2-surface); }
.btn-ghost:hover { color: var(--u2-accent); border-color: var(--u2-accent); background: var(--u2-surface); }
.feature-pills, .stats-strip { display: none; }

.u2-section { border-top: 1px solid var(--u2-border); padding: 64px 0; }
.u2-wrap { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.u2-section-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 28px; }
.u2-scene-label { color: var(--u2-accent); font-size: 12px; font-weight: 700; }
.u2-section h2 { margin-top: 7px; font: 700 38px/1.16 var(--u2-serif); letter-spacing: -0.02em; }
.u2-section-head p { max-width: 480px; color: var(--u2-muted); line-height: 1.7; }
.u2-role-layout { display: grid; grid-template-columns: 1.35fr 0.85fr; gap: 18px; }
.u2-student-entry {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  padding: 34px;
  border-radius: var(--u2-radius-panel);
  background: oklch(26% 0.035 288);
  color: white;
  display: flex;
  flex-direction: column;
  padding-right: 238px;
}
.u2-student-entry h3 { margin: 32px 0 12px; font: 700 40px/1.15 var(--u2-serif); }
.u2-student-entry p { max-width: 560px; color: oklch(86% 0.018 285); line-height: 1.75; }
.u2-student-entry a { margin-top: auto; width: max-content; color: white; font-weight: 700; }
.u2-secondary-roles { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.u2-role-link {
  min-height: 148px;
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  border: 1px solid var(--u2-border);
  border-radius: var(--u2-radius-panel);
  background: var(--u2-surface);
  color: var(--u2-fg);
}
.u2-role-link:hover { border-color: var(--u2-accent); color: var(--u2-fg); }
.u2-role-link h3 { font: 700 26px/1.2 var(--u2-serif); }
.u2-role-link p { margin-top: 7px; color: var(--u2-muted); }
.u2-role-link span:last-child { font-size: 22px; }

.footer {
  position: static;
  padding: 28px max(24px, calc((100vw - 1240px) / 2));
  border-top: 1px solid var(--u2-border);
  background: var(--u2-bg);
  color: var(--u2-muted);
}
.footer-link, .footer-right { color: var(--u2-muted); }
.modal-overlay { z-index: var(--u2-z-backdrop); background: oklch(18% 0.02 285 / 0.45); backdrop-filter: none; }
.login-modal { border: 0; border-radius: var(--u2-radius-panel); background: var(--u2-surface); box-shadow: var(--u2-shadow-dialog); }
.login-modal h2, .login-modal .field label { color: var(--u2-fg); }
.login-modal .subtitle, .login-modal .hint { color: var(--u2-muted); }
.login-modal .field input { color: var(--u2-fg); background: var(--u2-surface); border-color: var(--u2-border); border-radius: var(--u2-radius-control); }
.login-modal .btn-submit { background: var(--u2-accent); border-radius: var(--u2-radius-control); box-shadow: none; }
.login-modal .btn-submit:hover { background: var(--u2-accent-hover); box-shadow: none; }

@media (max-width: 720px) {
  .nav { padding: 12px 14px; }
  .nav-right { min-width: 0; }
  .nav-user-info { min-width: 0; }
  .nav-user-name { max-width: 116px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .scene, .u2-wrap { width: min(100% - 28px, 1240px); }
  .u2-menu-btn { display: inline-flex; align-items: center; }
  .u2-mobile-menu { position: fixed; inset: 69px 0 auto 0; z-index: 99; padding: 10px 14px 16px; border-bottom: 1px solid var(--u2-border); background: var(--u2-surface); }
  .u2-mobile-menu.open { display: grid; }
  .u2-mobile-menu a { min-height: 46px; display: flex; align-items: center; padding: 10px 12px; border-radius: var(--u2-radius-control); color: var(--u2-fg); }
  .u2-mobile-menu a:hover { background: oklch(94% 0.01 285); }
  .scene { min-height: auto; }
  .hero { padding: 52px 0 56px; }
  .hero-title { font-size: clamp(50px, 15vw, 66px); }
  .hero-subtitle { font-size: 16px; line-height: 1.7; }
  .cta-group { padding: 0; }
  .u2-section { padding: 52px 0; }
  .u2-section-head { display: block; }
  .u2-section-head p { margin-top: 12px; }
  .u2-role-layout { grid-template-columns: 1fr; }
  .u2-student-entry { min-height: 280px; padding-right: 34px; }
  .u2-secondary-roles { grid-template-columns: 1fr; grid-template-rows: none; }
  .footer { text-align: center; }
}

@media (max-width: 380px) {
  .nav-user-name { display: none; }
}
