:root {
  --background: #ffffff;
  --foreground: #1a2233;

  /* 테마색 (네이비) */
  --brand: #2b3f58;
  --brand-dark: #1e2e42;
  --brand-darker: #16222f;
  --brand-light: #eef2f7;

  /* 포인트 컬러 (오렌지) */
  --accent: #f29600;
  --accent-dark: #d97e00;

  --font-sans: "Noto Sans KR", system-ui, sans-serif;
}

* {
  -webkit-tap-highlight-color: transparent;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 68px;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  word-break: keep-all;
}

/* 짙은 네이비 패널 */
.section-panel {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    160deg,
    #223449 0%,
    #2b3f58 42%,
    #24374e 68%,
    #1a2838 100%
  );
  color: #fff;
}
.section-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 60% at 85% 12%, rgba(242, 150, 0, 0.12), transparent 70%),
    radial-gradient(50% 50% at 10% 90%, rgba(120, 170, 220, 0.14), transparent 70%);
  pointer-events: none;
}
.section-panel > * {
  position: relative;
}

/* Material Symbols */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.animate-marquee { animation: marquee 26s linear infinite; }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fadeInUp 0.5s ease-out both; }

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}
.live-dot { animation: pulseDot 1.4s ease-in-out infinite; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
