/* PC Arco 令牌，对齐 docs/prototypes/pc/student.html · teacher.html */

:root {
  --color-bg: #F2F3F5;
  --color-text: #1D2129;
  --color-accent: #165DFF;
  --color-accent-hover: #4080FF;
  --color-accent-active: #0E42D2;
  --color-sub: #86909c;
  --color-secondary: #4e5969;
  --color-border: #e5e6eb;
  --color-fill: #f2f3f5;
  --color-fill-hover: #e5e6eb;
  --color-white: #fff;
  --color-danger: #f53f3f;
  --color-danger-hover: #cb272d;
  --color-success: #00b42a;
  --color-warn: #ff7d00;
  --color-warn-text: #d25f00;
  --color-link: #165dff;
  --color-blue-bg: #e8f3ff;
  --color-green-bg: #e8ffea;
  --color-red-bg: #ffece8;
  --color-orange-bg: #fff7e8;
  --color-cyan: #14c9c9;
  --color-gold: #f7ba1e;

  --radius-card: 16px;
  --radius-pill: 999px;
  --radius-input: 10px;
  --radius-sm: 4px;
  --radius-md: 10px;
  --shadow-card: 0 2px 10px rgba(29, 33, 41, 0.04);
  --shadow-pop: 0 12px 34px rgba(0, 0, 0, 0.12);
  --shadow-toast: 0 4px 10px rgba(0, 0, 0, 0.1);

  --content-width: 1080px;
  --header-h: 60px;
  --sidebar-w: 220px;

  --font: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5715;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
}

a {
  color: var(--color-accent);
  text-decoration: none;
}

a:hover {
  color: var(--color-accent-hover);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background: #c9cdd4;
  border-radius: 4px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes blink {
  50% {
    opacity: 0.35;
  }
}

@keyframes dot-blink {
  0%,
  60%,
  100% {
    opacity: 0.25;
  }
  30% {
    opacity: 1;
  }
}

@keyframes wave {
  0%,
  100% {
    transform: scaleY(0.25);
  }
  50% {
    transform: scaleY(1);
  }
}

@keyframes breathe {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.55;
  }
  50% {
    transform: scale(1.35);
    opacity: 0;
  }
}

.hidden {
  display: none !important;
}
