/* 由 build-h5.mjs 生成，请勿手工修改。源：miniprogram/app.wxss + styles/live.wxss + pages/<page>/<page>.wxss */
/* ===== H5 小程序组件归一化（对齐 preview/build.mjs 的渲染基准） ===== */
page, view, scroll-view, image, block { display: block; }
text { display: inline; }
page { min-height: 100%; overflow-wrap: break-word; }
button { display: block; margin: 0; padding: 0; border: 0; background: transparent; font: inherit; color: inherit; line-height: normal; text-align: center; overflow: visible; cursor: pointer; }
button::after { border: 0; }
input { display: block; margin: 0; padding: 0; border: 0; outline: none; background: transparent; font: inherit; color: inherit; width: 100%; }
input::placeholder, textarea::placeholder { color: #B5ABA0; }
img { max-width: 100%; height: auto; object-fit: contain; }
[hidden] { display: none !important; }

/* ===== H5 固定定位元素：对齐内容列（桌面端 480px 居中）与小程序导航栏 ===== */
#h5-scroll page .exam-bar,
#h5-scroll page .submit-bar,
#h5-scroll page .scrim,
#h5-scroll page .sheet {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
#h5-scroll page .exam-bar,
#h5-scroll page .scrim { top: 46px; }

/* ===== 100vh 在小程序里等于内容视口高度，这里扣掉 H5 导航栏 / tabBar ===== */
#h5-scroll page .page,
#h5-scroll page .survey-page,
#h5-scroll page .quiz-page {
  min-height: calc(100vh - var(--chrome-h, 98px));
}

/* ===== 可读性补丁：小程序原样式在「浅色底 + 浅色字」的答题解析态下沿用浅色文字，
   H5 端按同一套 live.wxss 色板补成深色文字，避免选项内容不可见（仅 H5，不改小程序）。 ===== */
#h5-scroll page .q-option.is-sel .q-letter,
#h5-scroll page .q-option.is-sel .q-option-text,
#h5-scroll page .q-option.is-wrong .q-letter,
#h5-scroll page .q-option.is-wrong .q-option-text {
  color: #86242E;
}
#h5-scroll page .q-option.is-correct .q-letter,
#h5-scroll page .q-option.is-correct .q-option-text {
  color: #2F5F3C;
}

/* ---------- 手机端：1rpx = (100/750)vw ---------- */


page {
  
  --night: #0E1B2E;
  --night-mid: #16263D;
  --night-deep: #0A1320;
  --night-glass: rgba(14, 27, 46, 0.78);
  --gold: #D9A55B;
  --gold-light: #F3D9A0;
  --gold-bg: #FBF3E2;
  --gold-ink: #8A5F1E;
  --gold-border: rgba(217, 165, 91, 0.32);
  --gold-glow: rgba(243, 217, 160, 0.32);
  --red: #B5262E;
  --red-dark: #981D25;
  --red-bg: #FBEDEB;
  --red-border: rgba(181, 38, 46, 0.24);
  --paper: #F6F1E8;
  --paper-warm: #EFE7D9;
  --card: #FFFDF9;
  --card-glass: rgba(255, 253, 249, 0.92);
  --ink: #1F2329;
  --ink-secondary: #5E5550;
  --ink-muted: #766D65;
  --line: #E8DFD0;
  --line-soft: #F1EBE1;

  
  --paper-flat: #F4F1EA;
  --bone: #EFE7D9;
  --ink-deep: #14110E;
  --vermilion: #7C1D18;

  background: var(--paper);
  color: var(--ink);
  font-family: "PingFang SC", -apple-system, system-ui, "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", sans-serif;
  font-size: 3.7333vw;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

view, text, button, input, scroll-view {
  box-sizing: border-box;
}

button::after {
  border: 0;
}


.serif {
  font-family: "Songti SC", "Source Han Serif SC", STSong, "SimSun", serif;
}

.num {
  font-family: "DIN Alternate", "DIN Condensed", "Bahnschrift", "PingFang SC", sans-serif;
  font-variant-numeric: tabular-nums;
}


.page {
  min-height: 100vh;
  padding: 3.7333vw 4vw calc(6.4vw + env(safe-area-inset-bottom));
  position: relative;
  box-sizing: border-box;
}


.kicker {
  display: inline-block;
  font-size: 2.9333vw;
  letter-spacing: 0.5333vw;
  color: var(--gold-ink);
  font-weight: 600;
  margin-bottom: 1.0667vw;
}

.muted {
  color: var(--ink-muted);
}

.fine {
  margin-top: 2.4vw;
  font-size: 3.2vw; 
  line-height: 1.65;
  color: var(--ink-muted);
  text-align: center;
}

.footnote {
  margin-top: 5.3333vw;
  text-align: center;
  font-size: 3.2vw; 
  line-height: 1.8;
  color: #A3978C;
  letter-spacing: 0.1333vw;
}

.body {
  font-size: 3.7333vw;
  line-height: 1.8;
  color: var(--ink-secondary);
}


.card {
  position: relative;
  background: var(--card);
  border: 0.1333vw solid rgba(217, 165, 91, 0.22);
  border-radius: 3.7333vw;
  padding: 4.8vw 4.2667vw;
  margin-bottom: 3.2vw;
  box-shadow: inset 0 0.1333vw 0 rgba(255, 255, 255, 0.9),
              0 0.5333vw 2.6667vw rgba(31, 35, 41, 0.05),
              0 0.1333vw 0.5333vw rgba(217, 165, 91, 0.08);
}

.glass-card {
  position: relative;
  background: var(--card-glass);
  border: 0.1333vw solid rgba(217, 165, 91, 0.28);
  border-radius: 3.7333vw;
  padding: 4.8vw 4.2667vw;
  margin-bottom: 3.2vw;
  backdrop-filter: blur(2.1333vw);
  -webkit-backdrop-filter: blur(2.1333vw);
  box-shadow: inset 0 0.1333vw 0 rgba(255, 255, 255, 0.9),
              0 1.6vw 4.8vw rgba(14, 27, 46, 0.06),
              0 0.2667vw 1.0667vw rgba(217, 165, 91, 0.08);
}


.sky-card {
  position: relative;
  overflow: hidden;
  background: radial-gradient(120% 95% at 88% 0%, #203B60 0%, #16263D 52%, #0E1B2E 100%);
  border: 0.1333vw solid rgba(217, 165, 91, 0.32);
  border-radius: 3.7333vw;
  padding: 5.3333vw 4.5333vw;
  margin-bottom: 3.2vw;
  color: #F6EAD3;
  box-shadow: inset 0 0.1333vw 0 rgba(243, 217, 160, 0.25),
              0 2.1333vw 5.8667vw rgba(14, 27, 46, 0.24);
}

.sky-stars {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0.68;
  pointer-events: none;
  background-image:
    radial-gradient(0.4vw 0.4vw at 12% 24%, #FFF6DF, transparent),
    radial-gradient(0.2667vw 0.2667vw at 28% 68%, #FFF6DF, transparent),
    radial-gradient(0.4vw 0.4vw at 42% 18%, #FFF6DF, transparent),
    radial-gradient(0.2667vw 0.2667vw at 62% 48%, #FFF6DF, transparent),
    radial-gradient(0.2667vw 0.2667vw at 78% 76%, #FFF6DF, transparent),
    radial-gradient(0.4vw 0.4vw at 88% 28%, #FFF6DF, transparent),
    radial-gradient(0.2667vw 0.2667vw at 54% 86%, #FFF6DF, transparent);
}

.sky-moon {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 36%, #FFFDF9 0%, #F8E3AE 38%, #E8C078 72%, #C9964B 100%);
  box-shadow: 0 0 9.6vw rgba(243, 217, 160, 0.42);
  pointer-events: none;
}

.sky-halo {
  position: absolute;
  border-radius: 50%;
  border: 0.1333vw solid rgba(243, 217, 160, 0.2);
  box-shadow: 0 0 0 4.8vw rgba(243, 217, 160, 0.04),
              0 0 0 11.7333vw rgba(243, 217, 160, 0.02);
  pointer-events: none;
}

.card-title {
  font-size: 4.2667vw;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.1333vw;
  margin-bottom: 1.0667vw;
}

.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 4.8vw 1.0667vw 2.4vw;
}

.section-title {
  font-size: 4.5333vw;
  font-weight: 700;
  letter-spacing: 0.2667vw;
}

.section-sub {
  font-size: 3.2vw;
  color: var(--ink-muted);
}

.divider {
  height: 0.1333vw;
  background: var(--line-soft);
  margin: 3.4667vw 0;
}


button.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 11.7333vw; 
  height: 12.8vw;
  margin: 3.7333vw 0 0;
  padding: 0 4.2667vw;
  border-radius: 6.4vw;
  border: 0;
  font-size: 4.2667vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2667vw;
  transition: all 0.2s ease-out;
}


button.btn-primary {
  background: linear-gradient(135deg, #C93A40 0%, #A8222A 100%);
  color: #FFFDF9;
  box-shadow: 0 1.3333vw 3.4667vw rgba(181, 38, 46, 0.26);
  border: 0.1333vw solid rgba(255, 255, 255, 0.15);
}

button.btn-ghost {
  background: var(--card);
  color: var(--red);
  border: 0.1333vw solid var(--red-border);
}

button.btn-gold {
  background: linear-gradient(135deg, #E6BD7B 0%, #C89547 100%);
  color: #3D2608;
  box-shadow: 0 1.3333vw 3.4667vw rgba(217, 165, 91, 0.28);
}

button.btn-sm {
  min-height: 9.6vw;
  height: 10.1333vw;
  font-size: 3.4667vw;
  border-radius: 5.0667vw;
  margin-top: 2.6667vw;
}

button.btn[disabled] {
  background: #E8E1D5 !important;
  color: #A3978C !important;
  box-shadow: none !important;
  border-color: transparent !important;
  cursor: not-allowed;
}

.btn-hover {
  opacity: 0.88;
  transform: scale(0.985);
}


.field {
  margin-top: 3.7333vw;
}

.field-label {
  display: block;
  margin-bottom: 1.6vw;
  font-size: 3.4667vw;
  font-weight: 600;
  color: var(--ink-secondary);
}

.field-label .muted {
  font-weight: 400;
  margin-left: 1.6vw;
  font-size: 3.2vw;
}


.input, .line-input {
  width: 100%;
  min-height: 11.7333vw;
  height: 12.8vw;
  padding: 0 3.7333vw;
  background: #FAF6EF;
  border: 0.1333vw solid var(--line);
  border-radius: 2.6667vw;
  font-size: 4.2667vw; 
  color: var(--ink);
  transition: border-color 0.2s, background-color 0.2s;
}

.input:focus, .line-input:focus {
  border-color: var(--gold);
  background: #FFFDF9;
}

.ph {
  color: #B5ABA0;
  font-size: 3.7333vw;
}


.pill {
  display: inline-flex;
  align-items: center;
  gap: 1.3333vw;
  height: 6.9333vw;
  padding: 0 2.9333vw;
  border-radius: 3.4667vw;
  font-size: 3.2vw; 
  background: var(--line-soft);
  color: var(--ink-secondary);
  white-space: nowrap;
}

.pill .dot {
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  background: currentColor;
}

.pill-live {
  background: var(--red-bg);
  color: var(--red);
  border: 0.1333vw solid var(--red-border);
}

.pill-gold {
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 0.1333vw solid var(--gold-border);
}

.pill-done {
  background: #EAF3EC;
  color: #2E7D32;
  border: 0.1333vw solid rgba(46, 125, 50, 0.2);
}

.pill-night {
  background: rgba(14, 27, 46, 0.65);
  color: #F3D9A0;
  border: 0.1333vw solid rgba(217, 165, 91, 0.35);
}

.notice {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  padding: 2.9333vw 3.4667vw;
  margin-bottom: 3.2vw;
  border-radius: 2.6667vw;
  font-size: 3.4667vw;
  line-height: 1.6;
}

.notice-error {
  background: var(--red-bg);
  color: var(--red);
  border: 0.1333vw solid var(--red-border);
}

.notice-gold {
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 0.1333vw solid var(--gold-border);
}

.notice .grow {
  flex: 1;
}

.notice button.btn {
  width: auto;
  min-height: 8vw;
  height: 8vw;
  margin: 0;
  padding: 0 3.2vw;
  font-size: 3.2vw;
  flex-shrink: 0;
}

.error {
  margin-top: 2.6667vw;
  padding: 2.6667vw 3.2vw;
  border-radius: 2.4vw;
  background: var(--red-bg);
  color: var(--red);
  font-size: 3.4667vw;
  line-height: 1.6;
  border: 0.1333vw solid var(--red-border);
}

.empty-card {
  padding: 9.6vw 4.8vw;
  text-align: center;
}

.empty-title {
  font-size: 4.5333vw;
  font-weight: 700;
  margin-bottom: 1.6vw;
  color: var(--ink);
}

.empty-card .muted {
  font-size: 3.4667vw;
  line-height: 1.7;
}


.avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 12.2667vw;
  height: 12.2667vw;
  border-radius: 50%;
  background: linear-gradient(145deg, #F8E3AE 0%, #D9A55B 100%);
  color: #4A2E07;
  font-size: 5.3333vw;
  font-weight: 700;
  box-shadow: 0 0.5333vw 1.8667vw rgba(217, 165, 91, 0.28);
}

.tick {
  width: 2.4vw;
  height: 4.2667vw;
  border: solid currentColor;
  border-width: 0 0.6667vw 0.6667vw 0;
  transform: rotate(45deg);
  margin: -1.0667vw 1.0667vw 0;
}


@media (prefers-reduced-motion: reduce) {
  view, text, image, button, input, textarea {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.login-page{
  padding-bottom: calc(6.4vw + env(safe-area-inset-bottom));
}.login-page .login-hero{
  padding: 4.8vw 4.2667vw 4.2667vw;
  margin-bottom: 3.2vw;
  overflow: hidden;
}.login-page .hero-moon{
  width: 24vw;
  height: 24vw;
  right: -4vw;
  top: -4vw;
}.login-page .hero-halo{
  width: 32vw;
  height: 32vw;
  right: -8vw;
  top: -8vw;
}.login-page .hero-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  flex-wrap: wrap;
  gap: 1.6vw;
}.login-page .hero-org-wrap{
  display: flex;
  align-items: center;
  gap: 1.8667vw;
}.login-page .hero-seal{
  width: 5.8667vw;
  height: 5.8667vw;
  flex-shrink: 0;
}.login-page .hero-org{
  font-size: 3.2vw;
  color: rgba(246, 234, 211, 0.78);
  letter-spacing: 0.1333vw;
}.login-page .hero-date{
  width: 100%;
  padding-left: 7.7333vw;
  font-size: 2.9333vw;
  color: rgba(246, 234, 211, 0.6);
}.login-page .hero-motif-row{
  position: relative;
  z-index: 2;
  margin-top: 3.2vw;
}.login-page .motif-moon-phase{
  width: 32vw;
  height: 10.6667vw;
  opacity: 0.9;
}.login-page .hero-statement{
  position: relative;
  z-index: 2;
  margin: 2.1333vw 0 1.3333vw;
}.login-page .hero-line{
  font-size: 9.6vw;
  line-height: 1.12;
  letter-spacing: 0.5333vw;
  color: #FFFDF9;
  text-shadow: 0 0.5333vw 2.1333vw rgba(0, 0, 0, 0.35);
}.login-page .hero-line-sub{
  color: #F8E3AE;
  padding-left: 3.7333vw;
}.login-page .hero-subhead{
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  position: relative;
  z-index: 2;
  margin-top: 1.8667vw;
}.login-page .hero-badge{
  font-size: 2.9333vw;
}.login-page .hero-hint{
  font-size: 3.2vw;
  color: rgba(246, 234, 211, 0.75);
}.login-page .hero-skyline-wrap{
  position: relative;
  margin-top: 2.1333vw;
  height: 12vw;
  overflow: hidden;
  z-index: 1;
}.login-page .motif-skyline{
  position: absolute;
  left: -2.6667vw;
  right: -2.6667vw;
  bottom: 0;
  width: calc(100% + 5.3333vw);
  height: 10.6667vw;
  opacity: 0.9;
}.login-page .motif-clouds{
  position: absolute;
  right: 1.3333vw;
  bottom: 3.2vw;
  width: 26.6667vw;
  height: 8vw;
  opacity: 0.45;
}.login-page .login-card{
  padding: 5.3333vw 4.8vw;
}.login-page .card-head{
  margin-bottom: 3.7333vw;
}.login-page .card-subtitle{
  font-size: 3.2vw;
  color: var(--ink-muted);
  margin-top: 0.8vw;
}.login-page .year-input-row{
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}.login-page .year-input{
  flex: 1;
}.login-page .year-preview-pill{
  flex-shrink: 0;
  height: 9.0667vw;
  padding: 0 3.2vw;
  font-size: 3.4667vw;
}.login-page .field-hint{
  font-size: 3.2vw;
  color: var(--ink-muted);
  margin-top: 1.6vw;
  line-height: 1.5;
}.login-page .logged-in-box{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 5.3333vw 0;
}.login-page .logged-name{
  font-size: 5.8667vw;
  font-weight: 700;
  margin-top: 2.6667vw;
  color: var(--ink);
}.login-page .logged-year{
  font-size: 3.4667vw;
  color: var(--gold-ink);
  margin-top: 1.0667vw;
}.login-page .logged-tip{
  font-size: 3.2vw;
  color: var(--ink-muted);
  margin-top: 3.2vw;
}.login-page .empty-state-box{
  text-align: center;
  padding: 4.8vw 0;
}.login-page .empty-state-box .btn{
  margin-top: 4.2667vw;
}.login-page .login-hero.sky-card{ background: #F7EFE3; color: #493C30; border: 0.1333vw solid #EEE0CA; border-radius: 4.8vw; box-shadow: none; }.login-page .login-hero .sky-stars, .login-page .login-hero .sky-halo{ display: none; }.login-page .login-hero .sky-moon{ background: #EAD8B5; opacity: .32; box-shadow: none; }.login-page .hero-org, .login-page .hero-date, .login-page .hero-hint{ color: #776956; }.login-page .hero-line{ color: #493C30; text-shadow: none; }.login-page .hero-line-sub{ color: #A34742; }.login-page .motif-moon-phase, .login-page .motif-skyline{ opacity: .55; }.login-page .login-card{ background: #FFF; border: 0; border-radius: 4.2667vw; box-shadow: 0 1.0667vw 4.2667vw #40342A06; }

.home-page{
  padding-bottom: calc(7.4667vw + env(safe-area-inset-bottom));
}.home-page .home-alumni-card{
  padding: 4.8vw 4.2667vw;
  margin-bottom: 3.2vw;
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98) 0%, rgba(251, 247, 239, 0.95) 100%);
  border: 0.1333vw solid rgba(217, 165, 91, 0.35);
}.home-page .card-org-row{
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 3.2vw;
}.home-page .org-seal{
  width: 4.8vw;
  height: 4.8vw;
}.home-page .org-title{
  font-size: 3.2vw;
  color: var(--ink-muted);
  letter-spacing: 0.1333vw;
}.home-page .alumni-hero{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.7333vw;
}.home-page .alumni-name{
  font-size: 8.5333vw;
  line-height: 1.1;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.2667vw;
}.home-page .alumni-year{
  font-size: 3.7333vw;
  color: var(--gold-ink);
  margin-top: 1.3333vw;
  font-weight: 600;
}.home-page .seat-capsule-box{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  padding: 3.2vw 3.2vw;
  background: #FAF5EB;
  border: 0.1333vw solid rgba(217, 165, 91, 0.28);
  border-radius: 2.6667vw;
  margin-bottom: 3.2vw;
}.home-page .seat-info-left{
  flex: 1;
  min-width: 0;
}.home-page .seat-pill{
  font-size: 3.4667vw;
  font-weight: 700;
}.home-page .seat-intro-quote{
  font-size: 3.2vw;
  color: var(--ink-secondary);
  margin-top: 1.3333vw;
  line-height: 1.5;
  font-style: italic;
}.home-page .seat-unassigned{
  font-size: 3.7333vw;
  font-weight: 700;
  color: var(--ink);
}.home-page .seat-unassigned-sub{
  font-size: 2.9333vw;
  color: var(--ink-muted);
  margin-top: 0.8vw;
}.home-page .seat-cta{
  width: auto !important;
  margin: 0 !important;
  min-height: 9.0667vw !important;
  height: 9.0667vw !important;
  padding: 0 3.7333vw !important;
  font-size: 3.4667vw !important;
  flex-shrink: 0;
}.home-page .alumni-meta-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 2.6667vw;
  border-top: 0.1333vw solid var(--line-soft);
}.home-page .event-tag{
  font-size: 2.9333vw;
}.home-page .alumni-motto-sm{
  font-size: 3.2vw;
  color: var(--gold-ink);
  font-weight: 600;
  font-family: var(--serif);
}.home-page .program{
  background: var(--bone);
  margin-bottom: 3.2vw;
}.home-page .program-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 4.2667vw 4.2667vw 2.1333vw;
}.home-page .program-title{
  font-size: 6.4vw;
  line-height: 1.15;
  letter-spacing: 0.2667vw;
  color: var(--ink-deep);
}.home-page .program-sub{
  font-size: 3.2vw;
  letter-spacing: 0.1333vw;
  color: #8A7F73;
}.home-page .program-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  min-height: 13.8667vw;
  padding: 2.6667vw 4.2667vw;
  border-top: 0.1333vw solid rgba(20, 17, 14, 0.1);
  transition: background-color 0.16s ease-out;
}.home-page .program-row-hover{
  background: rgba(20, 17, 14, 0.06);
}.home-page .program-row.is-off{
  opacity: 0.38;
}.home-page .row-main{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2667vw;
}.home-page .row-name{
  font-size: 4vw;
  line-height: 1.3;
  color: var(--ink-deep);
  letter-spacing: 0.1333vw;
}.home-page .row-status{
  font-size: 3.4667vw;
  line-height: 1.4;
  color: #8A7F73;
}.home-page .status-done{
  color: var(--ink-deep);
  font-weight: 600;
}.home-page .status-active{
  color: var(--vermilion);
}.home-page .status-off{
  color: #8A7F73;
}.home-page .row-side{
  display: flex;
  align-items: center;
  gap: 1.0667vw;
  flex-shrink: 0;
}.home-page .row-action{
  font-size: 3.4667vw;
  line-height: 1;
  color: var(--ink-deep);
}.home-page .action-active{
  color: var(--vermilion);
  font-weight: 600;
}.home-page .action-done{
  color: var(--ink-deep);
  font-weight: 600;
}.home-page .action-off{
  color: #8A7F73;
}.home-page .row-chev{
  font-size: 4.5333vw;
  line-height: 1;
  color: var(--vermilion);
}.home-page .home-stats-card{
  padding: 5.0667vw 4.2667vw 4.2667vw;
  margin-bottom: 3.2vw;
}.home-page .stats-moon{
  width: 18.6667vw;
  height: 18.6667vw;
  right: -2.6667vw;
  top: -2.6667vw;
  opacity: 0.85;
}.home-page .stats-head{
  position: relative;
  z-index: 2;
  margin-bottom: 3.7333vw;
}.home-page .stats-label{
  color: #F3D9A0;
}.home-page .stats-figure-row{
  display: flex;
  align-items: baseline;
  gap: 2.1333vw;
  margin-top: 1.0667vw;
}.home-page .stats-num{
  font-size: 11.7333vw;
  line-height: 0.95;
  font-weight: 800;
  color: #FFFDF9;
  text-shadow: 0 0.5333vw 1.8667vw rgba(217, 165, 91, 0.35);
}.home-page .stats-unit{
  font-size: 3.4667vw;
  color: rgba(246, 234, 211, 0.8);
}.home-page .stats-bars{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2.1333vw;
  margin-bottom: 3.7333vw;
}.home-page .stat-row{
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}.home-page .stat-year{
  width: 14.6667vw;
  font-size: 3.4667vw;
  color: rgba(246, 234, 211, 0.9);
  flex-shrink: 0;
}.home-page .stat-bar-track{
  flex: 1;
  height: 2.1333vw;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 1.0667vw;
  overflow: hidden;
}.home-page .stat-bar-fill{
  height: 100%;
  border-radius: 1.0667vw;
  background: linear-gradient(90deg, #D9A55B 0%, #F3D9A0 100%);
  box-shadow: 0 0 1.3333vw rgba(243, 217, 160, 0.4);
}.home-page .stat-count{
  width: 9.3333vw;
  text-align: right;
  font-size: 3.2vw;
  color: #F8E3AE;
  font-weight: 700;
  flex-shrink: 0;
}.home-page .stats-motto-row{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.8667vw;
  padding-top: 3.2vw;
  border-top: 0.1333vw solid rgba(255, 255, 255, 0.12);
  font-size: 3.2vw;
  color: rgba(246, 234, 211, 0.65);
}.home-page .motto-sep{
  color: var(--gold);
}.home-page .home-notice{
  margin-top: 2.1333vw;
}.home-page{ background: #F5F3EF; }.home-page .home-alumni-card{ padding: 4vw; background: #FFFFFF; border: 0; border-radius: 4.2667vw; box-shadow: 0 0.8vw 3.2vw #24232205; }.home-page .alumni-name{ font-size: 6.9333vw; font-family: "PingFang SC", sans-serif; letter-spacing: 0; }.home-page .alumni-year{ font-size: 3.2vw; font-weight: 400; color: #746C63; }.home-page .alumni-hero{ margin-bottom: 2.6667vw; }.home-page .home-alumni-card .avatar{ background: #F0E7D5; box-shadow: none; font-size: 4.2667vw; width: 10.1333vw; height: 10.1333vw; }.home-page .seat-capsule-box{ border: 0; background: #F5F3EF; padding: 2.1333vw 2.6667vw; margin-bottom: 1.6vw; }.home-page .alumni-meta-row{ border: 0; padding-top: 1.0667vw; }.home-page .alumni-motto-sm{ display: none; }.home-page .live-focus{ padding: 4.5333vw 4.2667vw; background: #F6EDE0; border: 0.1333vw solid #EDDFC9; border-radius: 4.5333vw; margin-bottom: 3.7333vw; color: #40342A; }.home-page .focus-label{ display: flex; align-items: center; gap: 1.6vw; font-size: 3.2vw; color: #946A31; }.home-page .focus-dot{ width: 1.6vw; height: 1.6vw; border-radius: 50%; background: #B78C4D; }.home-page .focus-title{ font-size: 5.8667vw; font-family: "PingFang SC", sans-serif; font-weight: 600; line-height: 1.45; margin: 2.9333vw 0 2.1333vw; }.home-page .focus-hint{ font-size: 3.4667vw; color: #776B5B; line-height: 1.75; }.home-page .live-focus button{ background: #AD3942; color: #FFF; box-shadow: none; letter-spacing: 0; border: 0; height: 11.7333vw; }.home-page .program{ border-radius: 4.2667vw; overflow: hidden; background: #FFF; }.home-page .program-title{ font-family: "PingFang SC", sans-serif; font-size: 4.5333vw; font-weight: 600; letter-spacing: 0; }.home-page .program-row{ border-color: #F1EEEA; min-height: 14.9333vw; }.home-page .program-row.is-off{ opacity: 1; background: #FAF9F7; }.home-page .status-off, .home-page .action-off{ color: #827970; }.home-page .home-stats-card{ background: #FAF7F0; box-shadow: none; border: 0; color: #302D28; border-radius: 4.2667vw; }.home-page .home-stats-card .sky-stars, .home-page .home-stats-card .sky-moon{ display: none; }.home-page .stats-label, .home-page .stats-num, .home-page .stats-unit, .home-page .stat-year, .home-page .stat-count, .home-page .stats-motto-row{ color: #62574A; text-shadow: none; }.home-page .stats-num{ color: #302D28; font-size: 8.5333vw; }.home-page .stat-bar-fill{ background: #AA8855; box-shadow: none; transition: width 350ms ease; }.home-page .stat-bar-track{ background: #DFD6C7; }.home-page .stats-motto-row{ border-color: #DCD3C3; }

.seat-page{
  padding: 4.2667vw 4vw calc(7.4667vw + env(safe-area-inset-bottom));
}.seat-page .head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.6667vw;
}.seat-page .org-row{
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 1.6vw;
}.seat-page .seat-seal-sm{
  width: 4.8vw;
  height: 4.8vw;
}.seat-page .org{
  font-size: 3.2vw;
  color: var(--ink-muted);
}.seat-page .h1{
  font-size: 6.9333vw;
  line-height: 1.1;
  letter-spacing: 0.2667vw;
  color: var(--ink);
}.seat-page .tally{
  text-align: right;
  padding-bottom: 0.5333vw;
}.seat-page .tally-num{
  font-size: 6.9333vw;
  line-height: 1;
  font-weight: 700;
  color: var(--gold-ink);
}.seat-page .tally-all{
  font-size: 3.4667vw;
  color: var(--ink-muted);
  margin-left: 0.5333vw;
  font-weight: 400;
}.seat-page .tally-label{
  font-size: 2.9333vw;
  color: var(--ink-muted);
  margin-top: 1.0667vw;
}.seat-page .me-card{
  padding: 3.2vw 3.7333vw;
  margin-bottom: 3.2vw;
  background: linear-gradient(135deg, #FFFDF9 0%, #FAF5EB 100%);
  border-color: rgba(217, 165, 91, 0.4);
}.seat-page .me-content{
  display: flex;
  align-items: center;
  gap: 2.6667vw;
}.seat-page .me-badge{
  font-size: 3.4667vw;
  font-weight: 700;
  color: var(--red);
  padding: 1.3333vw 2.4vw;
  border-radius: 2.1333vw;
  background: var(--red-bg);
  border: 0.1333vw solid var(--red-border);
  flex-shrink: 0;
  white-space: nowrap;
}.seat-page .me-body{
  flex: 1;
  min-width: 0;
}.seat-page .me-name{
  font-size: 4.2667vw;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}.seat-page .me-intro{
  font-size: 3.2vw;
  color: var(--ink-secondary);
  margin-top: 0.8vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.seat-page .me-intro-empty{
  color: var(--ink-muted);
}.seat-page .me-action-btn{
  flex-shrink: 0;
  font-size: 3.2vw;
  padding: 0 2.6667vw;
  height: 6.9333vw;
}.seat-page .me-blank-bar{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.8667vw;
  padding: 2.6667vw 0 3.2vw;
}.seat-page .me-blank-dot{
  width: 1.8667vw;
  height: 1.8667vw;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 1.3333vw rgba(181, 38, 46, 0.35);
}.seat-page .me-blank-text{
  font-size: 3.4667vw;
  color: var(--ink-secondary);
}.seat-page .guide{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.1333vw;
  margin: 1.6vw 0 3.2vw;
  padding: 1.6vw 2.6667vw;
  background: rgba(217, 165, 91, 0.08);
  border-radius: 2.6667vw;
}.seat-page .guide-step{
  font-size: 3.2vw;
  font-weight: 600;
  color: var(--gold-ink);
}.seat-page .guide-arrow{
  font-size: 2.9333vw;
  color: var(--gold);
}.seat-page .view-active{
  display: block;
}.seat-page .view-hidden{
  display: none !important;
}.seat-page .room{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.6667vw 1.6vw;
  margin-top: 1.3333vw;
}.seat-page .cell{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.1333vw 1.0667vw;
  border-radius: 3.2vw;
  background: var(--card);
  border: 0.1333vw solid rgba(217, 165, 91, 0.2);
  box-shadow: 0 0.5333vw 1.8667vw rgba(31, 35, 41, 0.03);
  transition: transform 0.2s, background-color 0.2s;
}.seat-page .cell-hover{
  transform: scale(0.96);
  background: #FAF6EF;
  border-color: var(--gold);
}.seat-page .ring{
  position: relative;
  width: 25.3333vw;
  height: 25.3333vw;
}.seat-page .disc{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14.6667vw;
  height: 14.6667vw;
  margin: -7.3333vw 0 0 -7.3333vw;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFFDF9 0%, #FAF5EB 100%);
  border: 0.2667vw solid rgba(217, 165, 91, 0.35);
  box-shadow: inset 0 0.2667vw 0.8vw rgba(255, 255, 255, 0.8),
              0 0.5333vw 1.6vw rgba(42, 34, 32, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}.seat-page .is-full .disc{
  border-color: var(--red);
  background: linear-gradient(135deg, #FFF9F7 0%, #FBEDEB 100%);
}.seat-page .tno{
  font-size: 5.6vw;
  font-weight: 700;
  letter-spacing: 0.1333vw;
  color: var(--ink);
}.seat-page .is-full .tno{
  color: var(--red);
}.seat-page .dot{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.1333vw;
  height: 2.1333vw;
  margin: -1.0667vw 0 0 -1.0667vw;
  border-radius: 50%;
  border: 0.1333vw solid #C4B9A7;
  background: #F6F1E8;
  transition: all 0.2s;
}.seat-page .dot:nth-child(1){ transform: rotate(0deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(2){ transform: rotate(36deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(3){ transform: rotate(72deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(4){ transform: rotate(108deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(5){ transform: rotate(144deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(6){ transform: rotate(180deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(7){ transform: rotate(216deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(8){ transform: rotate(252deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(9){ transform: rotate(288deg) translateY(-10.9333vw); }.seat-page .dot:nth-child(10){ transform: rotate(324deg) translateY(-10.9333vw); }.seat-page .dot.taken{
  background: var(--ink);
  border-color: var(--ink);
}.seat-page .dot.is-mine{
  background: var(--red);
  border-color: var(--red);
  width: 2.9333vw;
  height: 2.9333vw;
  margin: -1.4667vw 0 0 -1.4667vw;
  box-shadow: 0 0 1.3333vw rgba(181, 38, 46, 0.5);
}.seat-page .meta{
  font-size: 2.9333vw;
  color: var(--ink-muted);
  margin-top: 1.3333vw;
}.seat-page .meta-filled{
  color: var(--ink);
  font-weight: 700;
}.seat-page .meta-all{
  color: #B5ABA0;
}.seat-page .foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4.2667vw;
  padding: 0 1.0667vw;
}.seat-page .foot-legend{
  display: flex;
  align-items: center;
  gap: 1.3333vw;
}.seat-page .legend-dot{
  width: 1.8667vw;
  height: 1.8667vw;
  border-radius: 50%;
  display: inline-block;
  margin-left: 1.0667vw;
}.seat-page .legend-dot.taken{
  background: var(--ink);
}.seat-page .legend-dot.mine{
  background: var(--red);
}.seat-page .legend-dot.open{
  background: #F6F1E8;
  border: 0.1333vw solid #C4B9A7;
}.seat-page .legend-text{
  font-size: 2.9333vw;
  color: var(--ink-muted);
}.seat-page .foot-skip{
  font-size: 3.2vw;
  color: var(--red);
  padding: 1.0667vw 1.8667vw;
}.seat-page .foot-skip-hover{
  opacity: 0.7;
}.seat-page .table-detail-view{
  transform-origin: center center;
  will-change: transform, opacity;
}.seat-page .bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 11.7333vw;
  padding: 2.1333vw 0.5333vw;
}.seat-page .bar-hover{
  opacity: 0.8;
}.seat-page .bar-back{
  font-size: 3.7333vw;
  font-weight: 700;
  color: var(--red);
}.seat-page .bar-hint{
  font-size: 3.2vw;
  color: var(--ink-muted);
}.seat-page .round-wrap{
  padding: 5.8667vw 0;
  margin-bottom: 3.2vw;
}.seat-page .round{
  position: relative;
  width: 82.6667vw;
  height: 82.6667vw;
  margin: 0 auto;
}.seat-page .center{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28vw;
  height: 28vw;
  margin: -14vw 0 0 -14vw;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFFDF9 0%, #FAF3E3 100%);
  border: 0.2667vw solid rgba(217, 165, 91, 0.4);
  box-shadow: 0 1.0667vw 3.7333vw rgba(217, 165, 91, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}.seat-page .center-no{
  font-size: 8.5333vw;
  line-height: 1;
  font-weight: 700;
  color: var(--ink);
}.seat-page .center-cap{
  font-size: 2.9333vw;
  color: var(--gold-ink);
  margin-top: 1.3333vw;
  font-weight: 600;
}.seat-page .seat{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12.8vw;
  height: 12.8vw;
  margin: -6.4vw 0 0 -6.4vw;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}.seat-page .seat-hover{
  opacity: .72;
  box-shadow: 0 0 0 0.8vw rgba(217,165,91,.22);
}.seat-page .seat:nth-child(1){ transform: rotate(0deg) translateY(-32.2667vw) rotate(0deg); }.seat-page .seat:nth-child(2){ transform: rotate(36deg) translateY(-32.2667vw) rotate(-36deg); }.seat-page .seat:nth-child(3){ transform: rotate(72deg) translateY(-32.2667vw) rotate(-72deg); }.seat-page .seat:nth-child(4){ transform: rotate(108deg) translateY(-32.2667vw) rotate(-108deg); }.seat-page .seat:nth-child(5){ transform: rotate(144deg) translateY(-32.2667vw) rotate(-144deg); }.seat-page .seat:nth-child(6){ transform: rotate(180deg) translateY(-32.2667vw) rotate(-180deg); }.seat-page .seat:nth-child(7){ transform: rotate(216deg) translateY(-32.2667vw) rotate(-216deg); }.seat-page .seat:nth-child(8){ transform: rotate(252deg) translateY(-32.2667vw) rotate(-252deg); }.seat-page .seat:nth-child(9){ transform: rotate(288deg) translateY(-32.2667vw) rotate(-288deg); }.seat-page .seat:nth-child(10){ transform: rotate(324deg) translateY(-32.2667vw) rotate(-324deg); }.seat-page .seat.taken{
  background: var(--ink);
  color: #FFFDF9;
  box-shadow: 0 0.5333vw 2.1333vw rgba(31, 35, 41, 0.18);
}.seat-page .seat.open{
  background: #FFFDF9;
  border: 0.2667vw dashed #C4B9A7;
  color: var(--ink-muted);
}.seat-page .seat.is-mine{
  background: linear-gradient(135deg, #C93A40 0%, #A8222A 100%);
  color: #FFFDF9;
  box-shadow: 0 0.8vw 2.6667vw rgba(181, 38, 46, 0.4);
  border: 0.2667vw solid #F3D9A0;
}.seat-page .seat-name{
  font-size: 3.2vw;
  line-height: 1.2;
  letter-spacing: 0.0667vw;
  max-width: 10.6667vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.seat-page .seat-open-tag{
  font-size: 3.2vw;
  line-height: 1.2;
  color: var(--gold-ink);
  font-weight: 600;
}.seat-page .seat-no{
  font-size: 2.4vw;
  margin-top: 0.5333vw;
  color: #B5ABA0;
}.seat-page .roster{
  padding: 4.2667vw 3.7333vw;
}.seat-page .roster-head{
  font-size: 4vw;
  font-weight: 700;
  margin-bottom: 2.6667vw;
  color: var(--ink);
}.seat-page .row{
  display: flex;
  align-items: center;
  min-height: 12.8vw;
  padding: 2.4vw 2.6667vw;
  border-radius: 2.4vw;
  margin-bottom: 1.6vw;
  transition: background-color 0.18s;
}.seat-page .row-hover{
  background: #F1EAE0;
}.seat-page .row-open{
  background: #FAF6EF;
  border: 0.1333vw dashed var(--line);
}.seat-page .row-taken{
  background: #FFFDF9;
  border: 0.1333vw solid var(--line-soft);
}.seat-page .row-mine{
  background: var(--red-bg);
  border: 0.1333vw solid var(--red-border);
}.seat-page .row-no{
  width: 6.9333vw;
  flex-shrink: 0;
  font-size: 3.2vw;
  color: var(--gold-ink);
  font-weight: 700;
}.seat-page .row-main{
  flex: 1;
  min-width: 0;
}.seat-page .row-id{
  display: flex;
  align-items: baseline;
}.seat-page .row-name{
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
}.seat-page .row-year{
  font-size: 2.9333vw;
  color: var(--ink-muted);
  margin-left: 1.8667vw;
}.seat-page .me-tag{
  margin-left: 1.6vw;
  padding: 0.2667vw 1.3333vw;
  border-radius: 1.0667vw;
  background: var(--red);
  color: #FFFDF9;
  font-size: 2.6667vw;
}.seat-page .row-intro{
  font-size: 3.2vw;
  color: var(--ink-secondary);
  margin-top: 0.8vw;
  line-height: 1.5;
}.seat-page .row-empty{
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3.4667vw;
  color: var(--ink-muted);
}.seat-page .row-empty-tag{
  font-size: 3.2vw;
  color: var(--red);
  font-weight: 600;
}.seat-page .scrim{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(14, 27, 46, 0.48);
  backdrop-filter: blur(1.0667vw);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease-out;
}.seat-page .scrim.scrim-open{
  opacity: 1;
  pointer-events: auto;
}.seat-page .sheet{
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background: #FFFDF9;
  border-radius: 4.8vw 4.8vw 0 0;
  padding: 3.2vw 4.8vw calc(6.4vw + env(safe-area-inset-bottom));
  box-shadow: 0 -2.1333vw 6.4vw rgba(14, 27, 46, 0.16);
  border-top: 0.1333vw solid rgba(217, 165, 91, 0.35);
  transform: translateY(100%);
  transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease-in, visibility 300ms;
}.seat-page .sheet.sheet-open{
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}.seat-page .sheet-handle{
  width: 8.5333vw;
  height: 1.0667vw;
  border-radius: 0.5333vw;
  background: var(--line);
  margin: 0 auto 2.6667vw;
}.seat-page .sheet-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 1.0667vw;
}.seat-page .sheet-title{
  font-size: 5.0667vw;
  font-weight: 700;
  color: var(--ink);
}.seat-page .sheet-sub{
  font-size: 3.2vw;
  color: var(--gold-ink);
  font-weight: 600;
}.seat-page .sheet-note{
  font-size: 3.2vw;
  color: var(--ink-secondary);
  line-height: 1.6;
  margin-bottom: 3.2vw;
}.seat-page .sheet-input{
  font-size: 4.2667vw; 
}.seat-page .counter{
  text-align: right;
  font-size: 2.9333vw;
  color: var(--ink-muted);
  margin-top: 1.3333vw;
}.seat-page .sheet-actions{
  display: flex;
  gap: 2.6667vw;
  margin-top: 4.8vw;
}.seat-page .sheet-actions .btn{
  margin: 0;
  flex: 1;
}.seat-page .state-card{
  padding: 11.7333vw 4.8vw;
  margin-top: 10.6667vw;
}.seat-page .seat-loading-avatar{
  margin: 0 auto 3.2vw;
}.seat-page .state-title{
  font-size: 5.3333vw;
  font-weight: 700;
  color: var(--ink);
}.seat-page .notice-error-text{
  color: var(--red);
}.seat-page .state-text{
  font-size: 3.4667vw;
  color: var(--ink-muted);
  margin-top: 1.6vw;
}.seat-page .state-link{
  margin-top: 3.7333vw;
  font-size: 3.4667vw;
  color: var(--ink-muted);
}

.rank-page{
  padding-bottom: calc(7.4667vw + env(safe-area-inset-bottom));
}.rank-page .head{
  margin: 1.0667vw 0.5333vw 3.7333vw;
}.rank-page .rank-org-row{
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 0.8vw;
}.rank-page .rank-seal-sm{
  width: 4.2667vw;
  height: 4.2667vw;
}.rank-page .title{
  font-size: 6.6667vw;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.2667vw;
  margin-top: 0.5333vw;
}.rank-page .sub{
  margin-top: 1.0667vw;
  font-size: 3.2vw;
  color: var(--ink-muted);
  line-height: 1.5;
}.rank-page .my-dash{
  padding: 4vw 2.6667vw;
  margin-bottom: 3.2vw;
}.rank-page .my-dash-grid{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-around;
}.rank-page .my-dash-item{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}.rank-page .my-dash-divider{
  width: 0.1333vw;
  height: 8vw;
  background: rgba(243, 217, 160, 0.2);
}.rank-page .my-num{
  font-size: 6.9333vw;
  font-weight: 800;
  line-height: 1.1;
  color: #F8E3AE;
  text-shadow: 0 0.2667vw 1.3333vw rgba(217, 165, 91, 0.3);
}.rank-page .my-num.small{
  font-size: 5.3333vw;
  line-height: 1.35;
}.rank-page .my-total{
  font-size: 3.2vw;
  color: rgba(243, 217, 160, 0.65);
  font-weight: 400;
}.rank-page .my-label{
  font-size: 2.9333vw;
  color: rgba(246, 234, 211, 0.72);
  margin-top: 0.8vw;
}.rank-page .podium-wrap{
  padding: 4.2667vw 3.2vw 3.7333vw;
  margin-bottom: 3.2vw;
}.rank-page .podium-title{
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1.6vw;
  text-align: center;
}.rank-page .podium{
  display: flex;
  align-items: flex-end;
  gap: 2.1333vw;
  margin: 2.6667vw 0 1.3333vw;
}.rank-page .stand{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}.rank-page .crown-icon{
  font-size: 4.8vw;
  margin-bottom: 0.5333vw;
  line-height: 1;
}.rank-page .stand .avatar{
  width: 12.2667vw;
  height: 12.2667vw;
  font-size: 5.0667vw;
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 0.2667vw solid #EFDDB8;
}.rank-page .stand.p1 .avatar{
  width: 16vw;
  height: 16vw;
  font-size: 6.6667vw;
  background: linear-gradient(145deg, #F8E3AE, #D9A55B);
  color: #4A2E07;
  border: 0.4vw solid #FFFDF9;
  box-shadow: 0 0 0 1.3333vw rgba(217, 165, 91, 0.25);
}.rank-page .stand-name{
  max-width: 100%;
  margin-top: 1.8667vw;
  font-size: 3.7333vw;
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.rank-page .stand-year{
  font-size: 2.9333vw;
  color: var(--ink-muted);
}.rank-page .block{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 1.8667vw;
  border-radius: 2.6667vw 2.6667vw 0 0;
  background: linear-gradient(180deg, #F3E4C2, #FAF3E3);
  box-shadow: inset 0 0.2667vw 0 rgba(255, 255, 255, 0.8);
}.rank-page .block .num{
  font-size: 6.1333vw;
  font-weight: 800;
  color: var(--gold-ink);
}.rank-page .p1 .block{
  height: 23.4667vw;
  background: linear-gradient(180deg, #C93A40, #A8222A);
  box-shadow: 0 0.8vw 2.6667vw rgba(181, 38, 46, 0.3);
}.rank-page .p1 .block .num{
  color: #FFFDF9;
  font-size: 7.7333vw;
}.rank-page .p2 .block{
  height: 17.6vw;
}.rank-page .p3 .block{
  height: 13.8667vw;
}.rank-page .stand-score{
  margin-top: 1.6vw;
  font-size: 2.9333vw;
  color: var(--ink-secondary);
  font-weight: 600;
}.rank-page .stand.mine .stand-name{
  color: var(--red);
}.rank-page .list-card{
  padding: 4vw 3.7333vw;
}.rank-page .list-head{
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 2.1333vw;
}.rank-page .rank-row{
  display: flex;
  align-items: center;
  gap: 2.6667vw;
  min-height: 14.9333vw; 
  padding: 2.1333vw 0;
  border-top: 0.1333vw solid var(--line-soft);
}.rank-page .rank-row:first-of-type{
  border-top: 0;
}.rank-page .rank-row.mine{
  margin: 0 -3.7333vw;
  padding: 2.1333vw 3.7333vw;
  background: var(--red-bg);
}.rank-page .rank-no{
  width: 7.4667vw;
  font-size: 4.8vw;
  font-weight: 800;
  color: var(--gold-ink);
}.rank-page .who{
  flex: 1;
  min-width: 0;
}.rank-page .who-name{
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.rank-page .me-tag{
  margin-left: 1.3333vw;
  padding: 0.2667vw 1.3333vw;
  border-radius: 1.0667vw;
  background: var(--red);
  color: #FFFDF9;
  font-size: 2.6667vw;
}.rank-page .who-year{
  font-size: 2.9333vw;
  color: var(--ink-muted);
}.rank-page .score{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 4vw;
  font-weight: 700;
  color: var(--ink);
}.rank-page .score .unit{
  font-size: 2.9333vw;
  color: var(--ink-muted);
  font-weight: 400;
}.rank-page .score .time{
  font-size: 2.9333vw;
  font-weight: 500;
  color: var(--gold-ink);
}.rank-page .rank-badge{
  flex-shrink: 0;
}.rank-page .my-dash.sky-card{ background: #F7EFE3; border: 0.1333vw solid #EEE0CA; border-radius: 4.2667vw; box-shadow: none; }.rank-page .my-dash .sky-stars{ display: none; }.rank-page .my-num{ color: #8B6635; text-shadow: none; }.rank-page .my-total, .rank-page .my-label{ color: #776956; }.rank-page .my-dash-divider{ background: #DDCFBC; }.rank-page .podium-wrap, .rank-page .list-card{ border: 0; border-radius: 4.2667vw; background: #FFF; }.rank-page .stand.p1 .avatar{ background: #EFDEBE; box-shadow: 0 0 0 1.0667vw #F8F1E5; }.rank-page .p1 .block{ background: #F2DED7; box-shadow: none; }.rank-page .p1 .block .num{ color: #984640; }

.profile-page{
  padding-bottom: calc(7.4667vw + env(safe-area-inset-bottom));
}.profile-page .id-card{
  padding: 5.0667vw 4.2667vw;
  margin-bottom: 3.2vw;
}.profile-page .id-moon{
  width: 22.6667vw;
  height: 22.6667vw;
  right: -3.2vw;
  top: -3.2vw;
  opacity: 0.85;
}.profile-page .id-body{
  position: relative;
  z-index: 2;
}.profile-page .id-topbar{
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 3.2vw;
}.profile-page .id-seal-sm{
  width: 4.8vw;
  height: 4.8vw;
}.profile-page .id-org{
  font-size: 3.2vw;
  color: rgba(246, 234, 211, 0.75);
}.profile-page .id-main-row{
  display: flex;
  align-items: center;
  gap: 3.2vw;
}.profile-page .id-avatar{
  width: 14.6667vw;
  height: 14.6667vw;
  font-size: 6.4vw;
  box-shadow: 0 0 0 1.0667vw rgba(217, 165, 91, 0.25);
}.profile-page .id-avatar.empty{
  background: rgba(243, 217, 160, 0.16);
  color: #F3D9A0;
  box-shadow: none;
}.profile-page .id-text-wrap{
  flex: 1;
  min-width: 0;
}.profile-page .id-name{
  font-size: 5.8667vw;
  font-weight: 700;
  color: #FFFDF9;
  letter-spacing: 0.1333vw;
}.profile-page .id-sub{
  font-size: 3.2vw;
  color: #F8E3AE;
  margin-top: 0.8vw;
}.profile-page .form-card{
  padding: 4.8vw 4.2667vw;
}.profile-page .card-head-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.0667vw;
}.profile-page .sync-status{
  font-size: 2.9333vw;
  height: 6.4vw;
}.profile-page .sub-tip{
  font-size: 3.2vw;
  color: var(--ink-muted);
  line-height: 1.6;
  margin-bottom: 1.6vw;
}.profile-page .privacy-card{
  padding: 4.2667vw 4.2667vw;
  margin-top: 2.1333vw;
  background: rgba(255, 253, 249, 0.75);
}.profile-page .id-card.sky-card{ background: #F7EFE3; border: 0.1333vw solid #EEE0CA; border-radius: 4.2667vw; box-shadow: none; }.profile-page .id-card .sky-stars{ display: none; }.profile-page .id-card .sky-moon{ background: #EAD8B5; box-shadow: none; opacity: .28; }.profile-page .id-org, .profile-page .id-sub{ color: #776956; }.profile-page .id-name{ color: #40342A; }.profile-page .id-avatar, .profile-page .id-avatar.empty{ background: #EEDFC8; color: #785C36; box-shadow: none; }.profile-page .form-card, .profile-page .privacy-card{ background: #FFF; border: 0; border-radius: 4.2667vw; }

.survey-page{
  min-height: 100vh;
  padding: 3.2vw 4.2667vw calc(7.4667vw + env(safe-area-inset-bottom));
  background: var(--paper-flat);
  color: var(--ink-deep);
  box-sizing: border-box;
}.survey-page .conn-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  padding: 2.4vw 3.2vw;
  margin-bottom: 2.6667vw;
  background: var(--ink-deep);
  color: var(--paper-flat);
  font-size: 3.2vw;
  line-height: 1.5;
}.survey-page .conn-text{
  flex: 1;
  min-width: 0;
}.survey-page .conn-retry{
  flex-shrink: 0;
  color: var(--paper-flat);
  text-decoration: underline;
}.survey-page .stage{
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6.4vw 3.2vw;
}.survey-page .stage-kicker{
  font-size: 3.4667vw;
  letter-spacing: 0.8vw;
  color: var(--vermilion);
}.survey-page .stage-title{
  margin-top: 3.2vw;
  font-size: 9.6vw;
  line-height: 1.2;
  letter-spacing: 0.2667vw;
  color: var(--ink-deep);
}.survey-page .stage-note{
  margin-top: 3.7333vw;
  max-width: 74.6667vw;
  font-size: 3.4667vw;
  line-height: 1.75;
  color: #6B625A;
}.survey-page .stage-btn{
  margin-top: 7.4667vw;
  min-width: 42.6667vw;
  height: 12.8vw;
  line-height: 12.8vw;
  padding: 0 5.3333vw;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 4vw;
  letter-spacing: 0.8vw;
  text-align: center;
}.survey-page .stage-link{
  margin-top: 4.2667vw;
  font-size: 3.4667vw;
  color: #6B625A;
}.survey-page .head{
  padding: 1.0667vw 0 4.8vw;
}.survey-page .head-kicker{
  font-size: 3.4667vw;
  letter-spacing: 0.8vw;
  color: var(--vermilion);
}.survey-page .head-title{
  margin-top: 2.6667vw;
  font-size: 9.6vw;
  line-height: 1.18;
  letter-spacing: 0.2667vw;
  color: var(--ink-deep);
}.survey-page .head-note{
  margin-top: 2.6667vw;
  font-size: 3.4667vw;
  line-height: 1.7;
  color: #6B625A;
}.survey-page .head-progress{
  display: flex;
  align-items: baseline;
  gap: 1.3333vw;
  margin-top: 3.7333vw;
  padding-top: 3.2vw;
  border-top: 0.2667vw solid var(--ink-deep);
}.survey-page .head-progress-label{
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
  color: #6B625A;
}.survey-page .head-progress-num{
  font-size: 6.4vw;
  line-height: 1;
  color: var(--ink-deep);
}.survey-page .head-progress-total{
  font-size: 3.4667vw;
  color: #6B625A;
}.survey-page .head-progress-unit{
  font-size: 3.4667vw;
  color: #6B625A;
}.survey-page .legacy-strip{
  margin-bottom: 3.2vw;
  padding: 2.6667vw 3.2vw;
  background: var(--bone);
  color: #3A3430;
  font-size: 3.4667vw;
  line-height: 1.5;
}.survey-page .error-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  margin-bottom: 3.2vw;
  padding: 2.6667vw 3.2vw;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 3.4667vw;
  line-height: 1.5;
}.survey-page .error-text{
  flex: 1;
  min-width: 0;
}.survey-page .error-close{
  flex-shrink: 0;
  font-size: 4.5333vw;
  line-height: 1;
}.survey-page .survey-block{
  margin-bottom: 3.2vw;
  padding: 4.8vw 4.2667vw;
  background: var(--bone);
  box-sizing: border-box;
}.survey-page .survey-block.is-target{
  border-left: 1.0667vw solid var(--vermilion);
}.survey-page .block-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
}.survey-page .block-head-left{
  display: flex;
  align-items: baseline;
  gap: 2.6667vw;
  flex: 1;
  min-width: 0;
}.survey-page .block-index{
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
  color: #8A7F73;
}.survey-page .block-status{
  font-size: 3.4667vw;
  letter-spacing: 0.1333vw;
  color: #6B625A;
}.survey-page .block-status.status-wait{
  color: #8A7F73;
}.survey-page .block-status.status-live{
  color: var(--vermilion);
  font-weight: 600;
}.survey-page .block-status.status-done{
  color: var(--ink-deep);
  font-weight: 600;
}.survey-page .block-target{
  flex-shrink: 0;
  padding: 0.8vw 1.8667vw;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 2.9333vw;
  letter-spacing: 0.2667vw;
}.survey-page .block-title{
  margin-top: 1.8667vw;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.1333vw;
  color: var(--ink-deep);
}.survey-page .block-sub{
  margin-top: 1.3333vw;
  font-size: 3.4667vw;
  line-height: 1.6;
  color: #6B625A;
}.survey-page .block-wait{
  margin-top: 3.4667vw;
  padding: 2.6667vw 3.2vw;
  background: var(--paper-flat);
  color: #6B625A;
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
}.survey-page .word-list{
  display: flex;
  flex-direction: column;
  gap: 1.6vw;
  margin-top: 3.4667vw;
}.survey-page .word-row{
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  height: 12.8vw;
  padding: 0 3.2vw 0 2.4vw;
  background: var(--paper-flat);
  box-sizing: border-box;
}.survey-page .word-row.is-off{
  opacity: 0.38;
}.survey-page .word-no{
  width: 5.3333vw;
  flex-shrink: 0;
  font-size: 3.4667vw;
  color: #8A7F73;
}.survey-page .word-input{
  flex: 1;
  min-width: 0;
  height: 12.8vw;
  font-size: 4.2667vw;
  color: var(--ink-deep);
}.survey-page .word-ph{
  color: #A79C8F;
  font-size: 3.7333vw;
}.survey-page .word-count{
  flex-shrink: 0;
  font-size: 2.9333vw;
  color: #8A7F73;
}.survey-page .hints{
  margin-top: 3.4667vw;
}.survey-page .hints.is-off{
  opacity: 0.38;
}.survey-page .hints-label{
  font-size: 3.2vw;
  letter-spacing: 0.1333vw;
  color: #6B625A;
}.survey-page .chips{
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
  margin-top: 2.1333vw;
}.survey-page .chip{
  display: inline-flex;
  align-items: center;
  min-height: 8.5333vw;
  height: 9.0667vw;
  padding: 0 3.4667vw;
  background: var(--paper-flat);
  color: var(--ink-deep);
  font-size: 3.4667vw;
}.survey-page .chip.is-on{
  background: var(--vermilion);
  color: var(--paper-flat);
}.survey-page .chip-hover{
  opacity: 0.8;
}.survey-page .submit-btn{
  margin-top: 4.2667vw;
  height: 12.8vw;
  line-height: 12.8vw;
  text-align: center;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 4vw;
  letter-spacing: 0.5333vw;
}.survey-page .submit-btn.is-disabled{
  background: rgba(20, 17, 14, 0.12);
  color: #8A7F73;
}.survey-page .submit-hover{
  opacity: 0.85;
}.survey-page .quiz-page, .survey-page{ background: #F5F3EF; color: #242322; }.survey-page .quiz-page .serif, .survey-page .serif{ font-family: "PingFang SC", "Microsoft YaHei", sans-serif; }.survey-page .stage-title{ font-size: 6.9333vw; font-weight: 600; letter-spacing: 0; }.survey-page .stage-kicker, .survey-page .head-kicker{ letter-spacing: 0.2667vw; color: #946A31; }.survey-page .stage{ min-height: 65vh; }.survey-page .stage-btn, .survey-page .submit-btn{ border-radius: 6.4vw; letter-spacing: 0; background: #A62E37; }.survey-page .stage-link{ padding: 2.4vw; min-height: 11.7333vw; }.survey-page .exam-bar{ background: rgba(255,255,255,.94); border: 0; box-shadow: 0 1.0667vw 4vw #24232208; }.survey-page .exam-label{ color: #746C63; }.survey-page .exam-time{ color: #A62E37; }.survey-page .paper-question{ background: #FFF; border: 0; border-radius: 4.2667vw; padding: 4vw; margin-bottom: 3.2vw; }.survey-page .q-title{ font-size: 4.5333vw; line-height: 1.65; font-weight: 600; }.survey-page .q-option{ border-radius: 2.9333vw; background: #F5F3EF; border: 0.2667vw solid transparent; min-height: 13.3333vw; transition: transform 150ms ease, background-color 180ms ease, border-color 180ms ease; }.survey-page .q-option.is-sel{ background: #FAEEEC; border-color: #A62E37; color: #86242E; }.survey-page .q-option-hover{ transform: scale(.985); }.survey-page .q-option.is-correct{ background: #EAF4EC; border-color: #4C7B5A; }.survey-page .q-option.is-wrong{ background: #FBECEB; border-color: #A62E37; }.survey-page .q-letter{ border-radius: 1.8667vw; }.survey-page .submit-bar{ background: rgba(255,255,255,.96); border: 0; box-shadow: 0 -1.0667vw 4.2667vw #24232208; align-items: center; }.survey-page .submit-meta{ display: flex; flex-direction: column; gap: 0.5333vw; min-height: 11.7333vw; justify-content: center; }.survey-page .save-hint{ font-size: 2.9333vw; color: #746C63; }.survey-page .submit-bar .submit-btn{ min-width: 26.6667vw; }.survey-page .score-card{ border-radius: 4.8vw; background: #F6EDE0; color: #40342A; padding: 5.3333vw 4.2667vw; }.survey-page .score-card .score-correct{ color: #946A31; }.survey-page .score-card .score-kicker, .survey-page .score-card .score-label, .survey-page .score-card .score-meta-label{ color: #776B5B; }.survey-page .score-card .score-meta-num, .survey-page .score-card .score-link{ color: #946A31; }.survey-page .error-strip, .survey-page .notice-strip, .survey-page .conn-strip{ border-radius: 2.6667vw; }.survey-page .submitted-moment{ min-height: 56vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }.survey-page .submitted-check{ width: 16vw; height: 16vw; border-radius: 8vw; background: #E6EEE7; color: #3D7050; font-size: 8.5333vw; line-height: 16vw; }.survey-page .head{ padding: 3.2vw 1.0667vw; background: transparent; }.survey-page .head-title{ font-size: 6.4vw; font-weight: 600; line-height: 1.4; letter-spacing: 0; }.survey-page .head-note{ font-size: 3.4667vw; }.survey-page .head-progress{ margin-top: 2.1333vw; }.survey-page .survey-tabs{ display: flex; gap: 1.6vw; margin: 2.1333vw 0 3.2vw; }.survey-page button.survey-tab{ flex: 1; margin: 0; padding: 2.4vw 1.0667vw; font-size: 3.7333vw; line-height: 1.5; background: #EAE7E1; border-radius: 3.2vw; color: #5C5650; }.survey-page .survey-tab text{ display: block; font-size: 2.9333vw; color: #71695F; }.survey-page button.survey-tab.selected{ background: #F1E1C9; color: #65481F; }.survey-page .survey-tab.selected text{ color: #946A31; }.survey-page .survey-block{ background: #FFF; border: 0; border-radius: 4.2667vw; padding: 4vw; margin-bottom: 3.2vw; }.survey-page .survey-block[hidden]{ display: none; }.survey-page .survey-block.is-target{ border: 0; }.survey-page .block-title{ font-size: 5.0667vw; line-height: 1.5; font-weight: 600; }.survey-page .block-target{ display: none; }.survey-page .word-row{ border-radius: 2.6667vw; background: #F5F3EF; border: 0.2667vw solid transparent; padding: 1.0667vw 2.6667vw; }.survey-page .word-row:focus-within{ border-color: #BF8E60; background: #FFFBF5; }.survey-page .word-input{ font-size: 4.2667vw; }.survey-page .chip{ border-radius: 3.2vw; min-height: 10.1333vw; padding: 2.1333vw 3.2vw; border: 0; background: #F5F3EF; transition: transform 150ms ease, background-color 180ms ease; }.survey-page .chip.is-on{ color: #86242E; background: #FAEEEC; }.survey-page .follow-notice, .survey-page .sent-note{ padding: 2.9333vw 3.2vw; margin-bottom: 2.9333vw; background: #EAF1EA; color: #3D6549; border-radius: 2.9333vw; font-size: 3.4667vw; line-height: 1.6; }.survey-page .sent-note{ margin-top: 3.2vw; }.survey-page .follow-notice{ background: #EEE6D8; color: #6D512C; }@supports (backdrop-filter: blur(12px)){.survey-page .exam-bar, .survey-page .submit-bar{ background: rgba(255,255,255,.86); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
}@media (prefers-reduced-motion: reduce){.survey-page .q-option, .survey-page .chip, .survey-page .submit-btn{ transition: none; }
}.survey-page .survey-tab[disabled]{ background: #E8E5E1; color: #938C85; opacity: .65; }

.quiz-page{
  min-height: 100vh;
  padding: 3.2vw 4.2667vw calc(6.4vw + env(safe-area-inset-bottom));
  background: var(--paper-flat);
  color: var(--ink-deep);
  box-sizing: border-box;
}.quiz-page.is-paper-mode{
  padding-top: 20.8vw;
  padding-bottom: calc(26.6667vw + env(safe-area-inset-bottom));
}.quiz-page .conn-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  padding: 2.4vw 3.2vw;
  margin-bottom: 2.6667vw;
  background: var(--ink-deep);
  color: var(--paper-flat);
  font-size: 3.2vw;
  line-height: 1.5;
}.quiz-page .conn-text{
  flex: 1;
  min-width: 0;
}.quiz-page .conn-retry{
  flex-shrink: 0;
  color: var(--paper-flat);
  text-decoration: underline;
}.quiz-page .stage{
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6.4vw 3.2vw;
}.quiz-page .stage-kicker{
  font-size: 3.4667vw;
  letter-spacing: 0.8vw;
  color: var(--vermilion);
}.quiz-page .stage-title{
  margin-top: 3.2vw;
  font-size: 9.6vw;
  line-height: 1.2;
  letter-spacing: 0.2667vw;
  color: var(--ink-deep);
}.quiz-page .stage-note{
  margin-top: 3.7333vw;
  max-width: 74.6667vw;
  font-size: 3.4667vw;
  line-height: 1.75;
  color: #6B625A;
}.quiz-page .stage-btn{
  margin-top: 7.4667vw;
  min-width: 42.6667vw;
  height: 12.8vw;
  line-height: 12.8vw;
  padding: 0 5.3333vw;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 4vw;
  letter-spacing: 0.8vw;
  text-align: center;
}.quiz-page .stage-link{
  margin-top: 4.2667vw;
  font-size: 3.4667vw;
  color: #6B625A;
}.quiz-page .wait-tally{
  display: flex;
  align-items: baseline;
  gap: 2.1333vw;
  margin-top: 7.4667vw;
}.quiz-page .wait-num{
  font-size: 16vw;
  line-height: 0.9;
  color: var(--ink-deep);
}.quiz-page .wait-unit{
  font-size: 3.4667vw;
  color: #6B625A;
}.quiz-page .stage-starting .countdown{
  margin-top: 3.2vw;
  font-size: 26.6667vw;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-bar{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 20;
  height: 17.6vw;
  padding: 3.2vw 4.2667vw;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bone);
}.quiz-page .exam-side{
  display: flex;
  align-items: baseline;
  gap: 1.3333vw;
}.quiz-page .exam-label{
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
  color: #6B625A;
}.quiz-page .exam-num{
  font-size: 6.4vw;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-total{
  font-size: 3.4667vw;
  color: #6B625A;
}.quiz-page .exam-time{
  font-size: 6.4vw;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-side.is-urgent .exam-label, .quiz-page .exam-side.is-urgent .exam-time{
  color: var(--vermilion);
}.quiz-page .notice-strip{
  margin-bottom: 3.2vw;
  padding: 2.6667vw 3.2vw;
  background: var(--bone);
  color: var(--ink-deep);
  font-size: 3.4667vw;
  line-height: 1.5;
  letter-spacing: 0.1333vw;
}.quiz-page .error-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.6667vw;
  margin-bottom: 3.2vw;
  padding: 2.6667vw 3.2vw;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 3.4667vw;
  line-height: 1.5;
}.quiz-page .error-text{
  flex: 1;
  min-width: 0;
}.quiz-page .error-close{
  flex-shrink: 0;
  font-size: 4.5333vw;
  line-height: 1;
}.quiz-page .score-card{
  margin: 1.0667vw 0 7.4667vw;
  padding: 6.4vw 5.3333vw 5.3333vw;
  background: var(--ink-deep);
  color: var(--paper-flat);
}.quiz-page .score-kicker{
  font-size: 3.2vw;
  letter-spacing: 0.4vw;
  color: rgba(244, 241, 234, 0.65);
}.quiz-page .score-figure{
  display: flex;
  align-items: baseline;
  gap: 1.0667vw;
  margin-top: 2.6667vw;
}.quiz-page .score-correct{
  font-size: 16vw;
  line-height: 0.9;
  color: var(--paper-flat);
}.quiz-page .score-denom{
  font-size: 6.4vw;
  color: rgba(244, 241, 234, 0.6);
}.quiz-page .score-label{
  margin-top: 1.6vw;
  font-size: 3.4667vw;
  color: rgba(244, 241, 234, 0.65);
}.quiz-page .score-meta{
  display: flex;
  gap: 10.6667vw;
  margin-top: 4.8vw;
  padding-top: 3.7333vw;
  border-top: 0.2667vw solid rgba(244, 241, 234, 0.14);
}.quiz-page .score-meta-item{
  display: flex;
  flex-direction: column;
  gap: 1.0667vw;
}.quiz-page .score-meta-num{
  font-size: 6.4vw;
  line-height: 1;
  color: var(--paper-flat);
}.quiz-page .score-meta-label{
  font-size: 3.2vw;
  color: rgba(244, 241, 234, 0.6);
}.quiz-page .score-link{
  margin-top: 4.8vw;
  font-size: 3.7333vw;
  letter-spacing: 0.2667vw;
  color: var(--paper-flat);
}.quiz-page .paper-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 1.0667vw 0 4.2667vw;
}.quiz-page .paper-title{
  font-size: 6.4vw;
  line-height: 1.2;
  letter-spacing: 0.2667vw;
  color: var(--ink-deep);
}.quiz-page .paper-count{
  font-size: 3.4667vw;
  color: #8A7F73;
}.quiz-page .paper-question{
  margin-bottom: 8.5333vw;
}.quiz-page .q-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.6vw;
}.quiz-page .q-no{
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
  color: var(--vermilion);
}.quiz-page .q-verdict{
  font-size: 3.4667vw;
  letter-spacing: 0.2667vw;
  color: #6B625A;
}.quiz-page .q-verdict.is-right{
  color: var(--ink-deep);
  font-weight: 700;
}.quiz-page .q-verdict.is-wrong{
  color: var(--vermilion);
  font-weight: 700;
}.quiz-page .q-verdict.is-none{
  color: #8A7F73;
}.quiz-page .q-title{
  margin-bottom: 3.2vw;
  font-size: 4.8vw;
  line-height: 1.55;
  letter-spacing: 0.1333vw;
  color: var(--ink-deep);
}.quiz-page .q-options{
  display: flex;
  flex-direction: column;
  gap: 1.6vw;
}.quiz-page .q-option{
  display: flex;
  align-items: center;
  min-height: 13.8667vw;
  padding: 2.9333vw 3.2vw;
  background: var(--bone);
  box-sizing: border-box;
  transition: background-color 0.12s ease-out;
}.quiz-page .q-option-hover{
  background: #E5DBC8;
}.quiz-page .q-letter{
  width: 7.4667vw;
  flex-shrink: 0;
  font-size: 3.7333vw;
  line-height: 1.4;
  letter-spacing: 0.1333vw;
  color: #6B625A;
}.quiz-page .q-option-text{
  flex: 1;
  min-width: 0;
  font-size: 4.2667vw;
  line-height: 1.5;
  color: var(--ink-deep);
  word-break: break-word;
}.quiz-page .q-option.is-sel{
  background: var(--vermilion);
}.quiz-page .q-option.is-sel .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-sel .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-correct{
  background: var(--ink-deep);
}.quiz-page .q-option.is-correct .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-correct .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-wrong{
  background: var(--vermilion);
}.quiz-page .q-option.is-wrong .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-wrong .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-dim{
  opacity: 0.45;
}.quiz-page .q-analysis{
  margin-top: 3.2vw;
  padding-left: 3.2vw;
  border-left: 1.0667vw solid #14110E;
}.quiz-page .q-answer-row{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 1.8667vw;
  font-size: 3.4667vw;
  line-height: 1.5;
}.quiz-page .q-answer-label{
  color: #8A7F73;
}.quiz-page .q-answer-value{
  color: var(--ink-deep);
  font-weight: 700;
  letter-spacing: 0.1333vw;
}.quiz-page .q-explanation{
  margin-top: 2.1333vw;
  font-size: 3.7333vw;
  line-height: 1.75;
  color: #3A3430;
}.quiz-page .q-source{
  margin-top: 1.6vw;
  font-size: 3.2vw;
  line-height: 1.6;
  color: #8A7F73;
}.quiz-page .submit-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2vw;
  min-height: 17.0667vw;
  padding: 2.6667vw 4.2667vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: var(--bone);
}.quiz-page .submit-meta{
  display: flex;
  align-items: baseline;
  gap: 1.0667vw;
}.quiz-page .submit-hint{
  font-size: 3.7333vw;
  letter-spacing: 0.2667vw;
  color: #6B625A;
}.quiz-page .submit-btn{
  flex: 0 0 auto;
  min-width: 37.3333vw;
  height: 12.8vw;
  line-height: 12.8vw;
  text-align: center;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 4.2667vw;
  letter-spacing: 1.0667vw;
}.quiz-page .submit-hover{
  opacity: 0.85;
}.quiz-page .submit-btn.is-busy{
  opacity: 0.55;
}.quiz-page .submit-done{
  justify-content: center;
}.quiz-page .submit-done-text{
  font-size: 3.7333vw;
  letter-spacing: 0.2667vw;
  color: #6B625A;
}.quiz-page, .quiz-page .survey-page{ background: #F5F3EF; color: #242322; }.quiz-page .serif, .quiz-page .survey-page .serif{ font-family: "PingFang SC", "Microsoft YaHei", sans-serif; }.quiz-page .stage-title{ font-size: 6.9333vw; font-weight: 600; letter-spacing: 0; }.quiz-page .stage-kicker, .quiz-page .head-kicker{ letter-spacing: 0.2667vw; color: #946A31; }.quiz-page .stage{ min-height: 65vh; }.quiz-page .stage-btn, .quiz-page .submit-btn{ border-radius: 6.4vw; letter-spacing: 0; background: #A62E37; }.quiz-page .stage-link{ padding: 2.4vw; min-height: 11.7333vw; }.quiz-page .exam-bar{ background: rgba(255,255,255,.94); border: 0; box-shadow: 0 1.0667vw 4vw #24232208; }.quiz-page .exam-label{ color: #746C63; }.quiz-page .exam-time{ color: #A62E37; }.quiz-page .paper-question{ background: #FFF; border: 0; border-radius: 4.2667vw; padding: 4vw; margin-bottom: 3.2vw; }.quiz-page .q-title{ font-size: 4.5333vw; line-height: 1.65; font-weight: 600; }.quiz-page .q-option{ border-radius: 2.9333vw; background: #F5F3EF; border: 0.2667vw solid transparent; min-height: 13.3333vw; transition: transform 150ms ease, background-color 180ms ease, border-color 180ms ease; }.quiz-page .q-option.is-sel{ background: #FAEEEC; border-color: #A62E37; color: #86242E; }.quiz-page .q-option-hover{ transform: scale(.985); }.quiz-page .q-option.is-correct{ background: #EAF4EC; border-color: #4C7B5A; }.quiz-page .q-option.is-wrong{ background: #FBECEB; border-color: #A62E37; }.quiz-page .q-letter{ border-radius: 1.8667vw; }.quiz-page .submit-bar{ background: rgba(255,255,255,.96); border: 0; box-shadow: 0 -1.0667vw 4.2667vw #24232208; align-items: center; }.quiz-page .submit-meta{ display: flex; flex-direction: column; gap: 0.5333vw; min-height: 11.7333vw; justify-content: center; }.quiz-page .save-hint{ font-size: 2.9333vw; color: #746C63; }.quiz-page .submit-bar .submit-btn{ min-width: 26.6667vw; }.quiz-page .score-card{ border-radius: 4.8vw; background: #F6EDE0; color: #40342A; padding: 5.3333vw 4.2667vw; }.quiz-page .score-card .score-correct{ color: #946A31; }.quiz-page .score-card .score-kicker, .quiz-page .score-card .score-label, .quiz-page .score-card .score-meta-label{ color: #776B5B; }.quiz-page .score-card .score-meta-num, .quiz-page .score-card .score-link{ color: #946A31; }.quiz-page .error-strip, .quiz-page .notice-strip, .quiz-page .conn-strip{ border-radius: 2.6667vw; }.quiz-page .submitted-moment{ min-height: 56vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }.quiz-page .submitted-check{ width: 16vw; height: 16vw; border-radius: 8vw; background: #E6EEE7; color: #3D7050; font-size: 8.5333vw; line-height: 16vw; }.quiz-page .head{ padding: 3.2vw 1.0667vw; background: transparent; }.quiz-page .head-title{ font-size: 6.4vw; font-weight: 600; line-height: 1.4; letter-spacing: 0; }.quiz-page .head-note{ font-size: 3.4667vw; }.quiz-page .head-progress{ margin-top: 2.1333vw; }.quiz-page .survey-tabs{ display: flex; gap: 1.6vw; margin: 2.1333vw 0 3.2vw; }.quiz-page button.survey-tab{ flex: 1; margin: 0; padding: 2.4vw 1.0667vw; font-size: 3.7333vw; line-height: 1.5; background: #EAE7E1; border-radius: 3.2vw; color: #5C5650; }.quiz-page .survey-tab text{ display: block; font-size: 2.9333vw; color: #71695F; }.quiz-page button.survey-tab.selected{ background: #F1E1C9; color: #65481F; }.quiz-page .survey-tab.selected text{ color: #946A31; }.quiz-page .survey-block{ background: #FFF; border: 0; border-radius: 4.2667vw; padding: 4vw; margin-bottom: 3.2vw; }.quiz-page .survey-block[hidden]{ display: none; }.quiz-page .survey-block.is-target{ border: 0; }.quiz-page .block-title{ font-size: 5.0667vw; line-height: 1.5; font-weight: 600; }.quiz-page .block-target{ display: none; }.quiz-page .word-row{ border-radius: 2.6667vw; background: #F5F3EF; border: 0.2667vw solid transparent; padding: 1.0667vw 2.6667vw; }.quiz-page .word-row:focus-within{ border-color: #BF8E60; background: #FFFBF5; }.quiz-page .word-input{ font-size: 4.2667vw; }.quiz-page .chip{ border-radius: 3.2vw; min-height: 10.1333vw; padding: 2.1333vw 3.2vw; border: 0; background: #F5F3EF; transition: transform 150ms ease, background-color 180ms ease; }.quiz-page .chip.is-on{ color: #86242E; background: #FAEEEC; }.quiz-page .follow-notice, .quiz-page .sent-note{ padding: 2.9333vw 3.2vw; margin-bottom: 2.9333vw; background: #EAF1EA; color: #3D6549; border-radius: 2.9333vw; font-size: 3.4667vw; line-height: 1.6; }.quiz-page .sent-note{ margin-top: 3.2vw; }.quiz-page .follow-notice{ background: #EEE6D8; color: #6D512C; }@supports (backdrop-filter: blur(12px)){.quiz-page .exam-bar, .quiz-page .submit-bar{ background: rgba(255,255,255,.86); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
}@media (prefers-reduced-motion: reduce){.quiz-page .q-option, .quiz-page .chip, .quiz-page .submit-btn{ transition: none; }
}


/* ---------- 桌面端（>=480px）：内容列固定 480px，1rpx = 0.64px ---------- */
@media (min-width: 481px) {


page {
  
  --night: #0E1B2E;
  --night-mid: #16263D;
  --night-deep: #0A1320;
  --night-glass: rgba(14, 27, 46, 0.78);
  --gold: #D9A55B;
  --gold-light: #F3D9A0;
  --gold-bg: #FBF3E2;
  --gold-ink: #8A5F1E;
  --gold-border: rgba(217, 165, 91, 0.32);
  --gold-glow: rgba(243, 217, 160, 0.32);
  --red: #B5262E;
  --red-dark: #981D25;
  --red-bg: #FBEDEB;
  --red-border: rgba(181, 38, 46, 0.24);
  --paper: #F6F1E8;
  --paper-warm: #EFE7D9;
  --card: #FFFDF9;
  --card-glass: rgba(255, 253, 249, 0.92);
  --ink: #1F2329;
  --ink-secondary: #5E5550;
  --ink-muted: #766D65;
  --line: #E8DFD0;
  --line-soft: #F1EBE1;

  
  --paper-flat: #F4F1EA;
  --bone: #EFE7D9;
  --ink-deep: #14110E;
  --vermilion: #7C1D18;

  background: var(--paper);
  color: var(--ink);
  font-family: "PingFang SC", -apple-system, system-ui, "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", sans-serif;
  font-size: 17.92px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

view, text, button, input, scroll-view {
  box-sizing: border-box;
}

button::after {
  border: 0;
}


.serif {
  font-family: "Songti SC", "Source Han Serif SC", STSong, "SimSun", serif;
}

.num {
  font-family: "DIN Alternate", "DIN Condensed", "Bahnschrift", "PingFang SC", sans-serif;
  font-variant-numeric: tabular-nums;
}


.page {
  min-height: 100vh;
  padding: 17.92px 19.2px calc(30.72px + env(safe-area-inset-bottom));
  position: relative;
  box-sizing: border-box;
}


.kicker {
  display: inline-block;
  font-size: 14.08px;
  letter-spacing: 2.56px;
  color: var(--gold-ink);
  font-weight: 600;
  margin-bottom: 5.12px;
}

.muted {
  color: var(--ink-muted);
}

.fine {
  margin-top: 11.52px;
  font-size: 15.36px; 
  line-height: 1.65;
  color: var(--ink-muted);
  text-align: center;
}

.footnote {
  margin-top: 25.6px;
  text-align: center;
  font-size: 15.36px; 
  line-height: 1.8;
  color: #A3978C;
  letter-spacing: 0.64px;
}

.body {
  font-size: 17.92px;
  line-height: 1.8;
  color: var(--ink-secondary);
}


.card {
  position: relative;
  background: var(--card);
  border: 0.64px solid rgba(217, 165, 91, 0.22);
  border-radius: 17.92px;
  padding: 23.04px 20.48px;
  margin-bottom: 15.36px;
  box-shadow: inset 0 0.64px 0 rgba(255, 255, 255, 0.9),
              0 2.56px 12.8px rgba(31, 35, 41, 0.05),
              0 0.64px 2.56px rgba(217, 165, 91, 0.08);
}

.glass-card {
  position: relative;
  background: var(--card-glass);
  border: 0.64px solid rgba(217, 165, 91, 0.28);
  border-radius: 17.92px;
  padding: 23.04px 20.48px;
  margin-bottom: 15.36px;
  backdrop-filter: blur(10.24px);
  -webkit-backdrop-filter: blur(10.24px);
  box-shadow: inset 0 0.64px 0 rgba(255, 255, 255, 0.9),
              0 7.68px 23.04px rgba(14, 27, 46, 0.06),
              0 1.28px 5.12px rgba(217, 165, 91, 0.08);
}


.sky-card {
  position: relative;
  overflow: hidden;
  background: radial-gradient(120% 95% at 88% 0%, #203B60 0%, #16263D 52%, #0E1B2E 100%);
  border: 0.64px solid rgba(217, 165, 91, 0.32);
  border-radius: 17.92px;
  padding: 25.6px 21.76px;
  margin-bottom: 15.36px;
  color: #F6EAD3;
  box-shadow: inset 0 0.64px 0 rgba(243, 217, 160, 0.25),
              0 10.24px 28.16px rgba(14, 27, 46, 0.24);
}

.sky-stars {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0.68;
  pointer-events: none;
  background-image:
    radial-gradient(1.92px 1.92px at 12% 24%, #FFF6DF, transparent),
    radial-gradient(1.28px 1.28px at 28% 68%, #FFF6DF, transparent),
    radial-gradient(1.92px 1.92px at 42% 18%, #FFF6DF, transparent),
    radial-gradient(1.28px 1.28px at 62% 48%, #FFF6DF, transparent),
    radial-gradient(1.28px 1.28px at 78% 76%, #FFF6DF, transparent),
    radial-gradient(1.92px 1.92px at 88% 28%, #FFF6DF, transparent),
    radial-gradient(1.28px 1.28px at 54% 86%, #FFF6DF, transparent);
}

.sky-moon {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 36%, #FFFDF9 0%, #F8E3AE 38%, #E8C078 72%, #C9964B 100%);
  box-shadow: 0 0 46.08px rgba(243, 217, 160, 0.42);
  pointer-events: none;
}

.sky-halo {
  position: absolute;
  border-radius: 50%;
  border: 0.64px solid rgba(243, 217, 160, 0.2);
  box-shadow: 0 0 0 23.04px rgba(243, 217, 160, 0.04),
              0 0 0 56.32px rgba(243, 217, 160, 0.02);
  pointer-events: none;
}

.card-title {
  font-size: 20.48px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.64px;
  margin-bottom: 5.12px;
}

.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 23.04px 5.12px 11.52px;
}

.section-title {
  font-size: 21.76px;
  font-weight: 700;
  letter-spacing: 1.28px;
}

.section-sub {
  font-size: 15.36px;
  color: var(--ink-muted);
}

.divider {
  height: 0.64px;
  background: var(--line-soft);
  margin: 16.64px 0;
}


button.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56.32px; 
  height: 61.44px;
  margin: 17.92px 0 0;
  padding: 0 20.48px;
  border-radius: 30.72px;
  border: 0;
  font-size: 20.48px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.28px;
  transition: all 0.2s ease-out;
}


button.btn-primary {
  background: linear-gradient(135deg, #C93A40 0%, #A8222A 100%);
  color: #FFFDF9;
  box-shadow: 0 6.4px 16.64px rgba(181, 38, 46, 0.26);
  border: 0.64px solid rgba(255, 255, 255, 0.15);
}

button.btn-ghost {
  background: var(--card);
  color: var(--red);
  border: 0.64px solid var(--red-border);
}

button.btn-gold {
  background: linear-gradient(135deg, #E6BD7B 0%, #C89547 100%);
  color: #3D2608;
  box-shadow: 0 6.4px 16.64px rgba(217, 165, 91, 0.28);
}

button.btn-sm {
  min-height: 46.08px;
  height: 48.64px;
  font-size: 16.64px;
  border-radius: 24.32px;
  margin-top: 12.8px;
}

button.btn[disabled] {
  background: #E8E1D5 !important;
  color: #A3978C !important;
  box-shadow: none !important;
  border-color: transparent !important;
  cursor: not-allowed;
}

.btn-hover {
  opacity: 0.88;
  transform: scale(0.985);
}


.field {
  margin-top: 17.92px;
}

.field-label {
  display: block;
  margin-bottom: 7.68px;
  font-size: 16.64px;
  font-weight: 600;
  color: var(--ink-secondary);
}

.field-label .muted {
  font-weight: 400;
  margin-left: 7.68px;
  font-size: 15.36px;
}


.input, .line-input {
  width: 100%;
  min-height: 56.32px;
  height: 61.44px;
  padding: 0 17.92px;
  background: #FAF6EF;
  border: 0.64px solid var(--line);
  border-radius: 12.8px;
  font-size: 20.48px; 
  color: var(--ink);
  transition: border-color 0.2s, background-color 0.2s;
}

.input:focus, .line-input:focus {
  border-color: var(--gold);
  background: #FFFDF9;
}

.ph {
  color: #B5ABA0;
  font-size: 17.92px;
}


.pill {
  display: inline-flex;
  align-items: center;
  gap: 6.4px;
  height: 33.28px;
  padding: 0 14.08px;
  border-radius: 16.64px;
  font-size: 15.36px; 
  background: var(--line-soft);
  color: var(--ink-secondary);
  white-space: nowrap;
}

.pill .dot {
  width: 7.68px;
  height: 7.68px;
  border-radius: 50%;
  background: currentColor;
}

.pill-live {
  background: var(--red-bg);
  color: var(--red);
  border: 0.64px solid var(--red-border);
}

.pill-gold {
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 0.64px solid var(--gold-border);
}

.pill-done {
  background: #EAF3EC;
  color: #2E7D32;
  border: 0.64px solid rgba(46, 125, 50, 0.2);
}

.pill-night {
  background: rgba(14, 27, 46, 0.65);
  color: #F3D9A0;
  border: 0.64px solid rgba(217, 165, 91, 0.35);
}

.notice {
  display: flex;
  align-items: center;
  gap: 10.24px;
  padding: 14.08px 16.64px;
  margin-bottom: 15.36px;
  border-radius: 12.8px;
  font-size: 16.64px;
  line-height: 1.6;
}

.notice-error {
  background: var(--red-bg);
  color: var(--red);
  border: 0.64px solid var(--red-border);
}

.notice-gold {
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 0.64px solid var(--gold-border);
}

.notice .grow {
  flex: 1;
}

.notice button.btn {
  width: auto;
  min-height: 38.4px;
  height: 38.4px;
  margin: 0;
  padding: 0 15.36px;
  font-size: 15.36px;
  flex-shrink: 0;
}

.error {
  margin-top: 12.8px;
  padding: 12.8px 15.36px;
  border-radius: 11.52px;
  background: var(--red-bg);
  color: var(--red);
  font-size: 16.64px;
  line-height: 1.6;
  border: 0.64px solid var(--red-border);
}

.empty-card {
  padding: 46.08px 23.04px;
  text-align: center;
}

.empty-title {
  font-size: 21.76px;
  font-weight: 700;
  margin-bottom: 7.68px;
  color: var(--ink);
}

.empty-card .muted {
  font-size: 16.64px;
  line-height: 1.7;
}


.avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 58.88px;
  height: 58.88px;
  border-radius: 50%;
  background: linear-gradient(145deg, #F8E3AE 0%, #D9A55B 100%);
  color: #4A2E07;
  font-size: 25.6px;
  font-weight: 700;
  box-shadow: 0 2.56px 8.96px rgba(217, 165, 91, 0.28);
}

.tick {
  width: 11.52px;
  height: 20.48px;
  border: solid currentColor;
  border-width: 0 3.2px 3.2px 0;
  transform: rotate(45deg);
  margin: -5.12px 5.12px 0;
}


@media (prefers-reduced-motion: reduce) {
  view, text, image, button, input, textarea {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.login-page{
  padding-bottom: calc(30.72px + env(safe-area-inset-bottom));
}.login-page .login-hero{
  padding: 23.04px 20.48px 20.48px;
  margin-bottom: 15.36px;
  overflow: hidden;
}.login-page .hero-moon{
  width: 115.2px;
  height: 115.2px;
  right: -19.2px;
  top: -19.2px;
}.login-page .hero-halo{
  width: 153.6px;
  height: 153.6px;
  right: -38.4px;
  top: -38.4px;
}.login-page .hero-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  flex-wrap: wrap;
  gap: 7.68px;
}.login-page .hero-org-wrap{
  display: flex;
  align-items: center;
  gap: 8.96px;
}.login-page .hero-seal{
  width: 28.16px;
  height: 28.16px;
  flex-shrink: 0;
}.login-page .hero-org{
  font-size: 15.36px;
  color: rgba(246, 234, 211, 0.78);
  letter-spacing: 0.64px;
}.login-page .hero-date{
  width: 100%;
  padding-left: 37.12px;
  font-size: 14.08px;
  color: rgba(246, 234, 211, 0.6);
}.login-page .hero-motif-row{
  position: relative;
  z-index: 2;
  margin-top: 15.36px;
}.login-page .motif-moon-phase{
  width: 153.6px;
  height: 51.2px;
  opacity: 0.9;
}.login-page .hero-statement{
  position: relative;
  z-index: 2;
  margin: 10.24px 0 6.4px;
}.login-page .hero-line{
  font-size: 46.08px;
  line-height: 1.12;
  letter-spacing: 2.56px;
  color: #FFFDF9;
  text-shadow: 0 2.56px 10.24px rgba(0, 0, 0, 0.35);
}.login-page .hero-line-sub{
  color: #F8E3AE;
  padding-left: 17.92px;
}.login-page .hero-subhead{
  display: flex;
  align-items: center;
  gap: 10.24px;
  position: relative;
  z-index: 2;
  margin-top: 8.96px;
}.login-page .hero-badge{
  font-size: 14.08px;
}.login-page .hero-hint{
  font-size: 15.36px;
  color: rgba(246, 234, 211, 0.75);
}.login-page .hero-skyline-wrap{
  position: relative;
  margin-top: 10.24px;
  height: 57.6px;
  overflow: hidden;
  z-index: 1;
}.login-page .motif-skyline{
  position: absolute;
  left: -12.8px;
  right: -12.8px;
  bottom: 0;
  width: calc(100% + 25.6px);
  height: 51.2px;
  opacity: 0.9;
}.login-page .motif-clouds{
  position: absolute;
  right: 6.4px;
  bottom: 15.36px;
  width: 128px;
  height: 38.4px;
  opacity: 0.45;
}.login-page .login-card{
  padding: 25.6px 23.04px;
}.login-page .card-head{
  margin-bottom: 17.92px;
}.login-page .card-subtitle{
  font-size: 15.36px;
  color: var(--ink-muted);
  margin-top: 3.84px;
}.login-page .year-input-row{
  display: flex;
  align-items: center;
  gap: 10.24px;
}.login-page .year-input{
  flex: 1;
}.login-page .year-preview-pill{
  flex-shrink: 0;
  height: 43.52px;
  padding: 0 15.36px;
  font-size: 16.64px;
}.login-page .field-hint{
  font-size: 15.36px;
  color: var(--ink-muted);
  margin-top: 7.68px;
  line-height: 1.5;
}.login-page .logged-in-box{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 25.6px 0;
}.login-page .logged-name{
  font-size: 28.16px;
  font-weight: 700;
  margin-top: 12.8px;
  color: var(--ink);
}.login-page .logged-year{
  font-size: 16.64px;
  color: var(--gold-ink);
  margin-top: 5.12px;
}.login-page .logged-tip{
  font-size: 15.36px;
  color: var(--ink-muted);
  margin-top: 15.36px;
}.login-page .empty-state-box{
  text-align: center;
  padding: 23.04px 0;
}.login-page .empty-state-box .btn{
  margin-top: 20.48px;
}.login-page .login-hero.sky-card{ background: #F7EFE3; color: #493C30; border: 0.64px solid #EEE0CA; border-radius: 23.04px; box-shadow: none; }.login-page .login-hero .sky-stars, .login-page .login-hero .sky-halo{ display: none; }.login-page .login-hero .sky-moon{ background: #EAD8B5; opacity: .32; box-shadow: none; }.login-page .hero-org, .login-page .hero-date, .login-page .hero-hint{ color: #776956; }.login-page .hero-line{ color: #493C30; text-shadow: none; }.login-page .hero-line-sub{ color: #A34742; }.login-page .motif-moon-phase, .login-page .motif-skyline{ opacity: .55; }.login-page .login-card{ background: #FFF; border: 0; border-radius: 20.48px; box-shadow: 0 5.12px 20.48px #40342A06; }

.home-page{
  padding-bottom: calc(35.84px + env(safe-area-inset-bottom));
}.home-page .home-alumni-card{
  padding: 23.04px 20.48px;
  margin-bottom: 15.36px;
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98) 0%, rgba(251, 247, 239, 0.95) 100%);
  border: 0.64px solid rgba(217, 165, 91, 0.35);
}.home-page .card-org-row{
  display: flex;
  align-items: center;
  gap: 7.68px;
  margin-bottom: 15.36px;
}.home-page .org-seal{
  width: 23.04px;
  height: 23.04px;
}.home-page .org-title{
  font-size: 15.36px;
  color: var(--ink-muted);
  letter-spacing: 0.64px;
}.home-page .alumni-hero{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 17.92px;
}.home-page .alumni-name{
  font-size: 40.96px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 1.28px;
}.home-page .alumni-year{
  font-size: 17.92px;
  color: var(--gold-ink);
  margin-top: 6.4px;
  font-weight: 600;
}.home-page .seat-capsule-box{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  padding: 15.36px 15.36px;
  background: #FAF5EB;
  border: 0.64px solid rgba(217, 165, 91, 0.28);
  border-radius: 12.8px;
  margin-bottom: 15.36px;
}.home-page .seat-info-left{
  flex: 1;
  min-width: 0;
}.home-page .seat-pill{
  font-size: 16.64px;
  font-weight: 700;
}.home-page .seat-intro-quote{
  font-size: 15.36px;
  color: var(--ink-secondary);
  margin-top: 6.4px;
  line-height: 1.5;
  font-style: italic;
}.home-page .seat-unassigned{
  font-size: 17.92px;
  font-weight: 700;
  color: var(--ink);
}.home-page .seat-unassigned-sub{
  font-size: 14.08px;
  color: var(--ink-muted);
  margin-top: 3.84px;
}.home-page .seat-cta{
  width: auto !important;
  margin: 0 !important;
  min-height: 43.52px !important;
  height: 43.52px !important;
  padding: 0 17.92px !important;
  font-size: 16.64px !important;
  flex-shrink: 0;
}.home-page .alumni-meta-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12.8px;
  border-top: 0.64px solid var(--line-soft);
}.home-page .event-tag{
  font-size: 14.08px;
}.home-page .alumni-motto-sm{
  font-size: 15.36px;
  color: var(--gold-ink);
  font-weight: 600;
  font-family: var(--serif);
}.home-page .program{
  background: var(--bone);
  margin-bottom: 15.36px;
}.home-page .program-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 20.48px 20.48px 10.24px;
}.home-page .program-title{
  font-size: 30.72px;
  line-height: 1.15;
  letter-spacing: 1.28px;
  color: var(--ink-deep);
}.home-page .program-sub{
  font-size: 15.36px;
  letter-spacing: 0.64px;
  color: #8A7F73;
}.home-page .program-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  min-height: 66.56px;
  padding: 12.8px 20.48px;
  border-top: 0.64px solid rgba(20, 17, 14, 0.1);
  transition: background-color 0.16s ease-out;
}.home-page .program-row-hover{
  background: rgba(20, 17, 14, 0.06);
}.home-page .program-row.is-off{
  opacity: 0.38;
}.home-page .row-main{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.28px;
}.home-page .row-name{
  font-size: 19.2px;
  line-height: 1.3;
  color: var(--ink-deep);
  letter-spacing: 0.64px;
}.home-page .row-status{
  font-size: 16.64px;
  line-height: 1.4;
  color: #8A7F73;
}.home-page .status-done{
  color: var(--ink-deep);
  font-weight: 600;
}.home-page .status-active{
  color: var(--vermilion);
}.home-page .status-off{
  color: #8A7F73;
}.home-page .row-side{
  display: flex;
  align-items: center;
  gap: 5.12px;
  flex-shrink: 0;
}.home-page .row-action{
  font-size: 16.64px;
  line-height: 1;
  color: var(--ink-deep);
}.home-page .action-active{
  color: var(--vermilion);
  font-weight: 600;
}.home-page .action-done{
  color: var(--ink-deep);
  font-weight: 600;
}.home-page .action-off{
  color: #8A7F73;
}.home-page .row-chev{
  font-size: 21.76px;
  line-height: 1;
  color: var(--vermilion);
}.home-page .home-stats-card{
  padding: 24.32px 20.48px 20.48px;
  margin-bottom: 15.36px;
}.home-page .stats-moon{
  width: 89.6px;
  height: 89.6px;
  right: -12.8px;
  top: -12.8px;
  opacity: 0.85;
}.home-page .stats-head{
  position: relative;
  z-index: 2;
  margin-bottom: 17.92px;
}.home-page .stats-label{
  color: #F3D9A0;
}.home-page .stats-figure-row{
  display: flex;
  align-items: baseline;
  gap: 10.24px;
  margin-top: 5.12px;
}.home-page .stats-num{
  font-size: 56.32px;
  line-height: 0.95;
  font-weight: 800;
  color: #FFFDF9;
  text-shadow: 0 2.56px 8.96px rgba(217, 165, 91, 0.35);
}.home-page .stats-unit{
  font-size: 16.64px;
  color: rgba(246, 234, 211, 0.8);
}.home-page .stats-bars{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10.24px;
  margin-bottom: 17.92px;
}.home-page .stat-row{
  display: flex;
  align-items: center;
  gap: 10.24px;
}.home-page .stat-year{
  width: 70.4px;
  font-size: 16.64px;
  color: rgba(246, 234, 211, 0.9);
  flex-shrink: 0;
}.home-page .stat-bar-track{
  flex: 1;
  height: 10.24px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 5.12px;
  overflow: hidden;
}.home-page .stat-bar-fill{
  height: 100%;
  border-radius: 5.12px;
  background: linear-gradient(90deg, #D9A55B 0%, #F3D9A0 100%);
  box-shadow: 0 0 6.4px rgba(243, 217, 160, 0.4);
}.home-page .stat-count{
  width: 44.8px;
  text-align: right;
  font-size: 15.36px;
  color: #F8E3AE;
  font-weight: 700;
  flex-shrink: 0;
}.home-page .stats-motto-row{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8.96px;
  padding-top: 15.36px;
  border-top: 0.64px solid rgba(255, 255, 255, 0.12);
  font-size: 15.36px;
  color: rgba(246, 234, 211, 0.65);
}.home-page .motto-sep{
  color: var(--gold);
}.home-page .home-notice{
  margin-top: 10.24px;
}.home-page{ background: #F5F3EF; }.home-page .home-alumni-card{ padding: 19.2px; background: #FFFFFF; border: 0; border-radius: 20.48px; box-shadow: 0 3.84px 15.36px #24232205; }.home-page .alumni-name{ font-size: 33.28px; font-family: "PingFang SC", sans-serif; letter-spacing: 0; }.home-page .alumni-year{ font-size: 15.36px; font-weight: 400; color: #746C63; }.home-page .alumni-hero{ margin-bottom: 12.8px; }.home-page .home-alumni-card .avatar{ background: #F0E7D5; box-shadow: none; font-size: 20.48px; width: 48.64px; height: 48.64px; }.home-page .seat-capsule-box{ border: 0; background: #F5F3EF; padding: 10.24px 12.8px; margin-bottom: 7.68px; }.home-page .alumni-meta-row{ border: 0; padding-top: 5.12px; }.home-page .alumni-motto-sm{ display: none; }.home-page .live-focus{ padding: 21.76px 20.48px; background: #F6EDE0; border: 0.64px solid #EDDFC9; border-radius: 21.76px; margin-bottom: 17.92px; color: #40342A; }.home-page .focus-label{ display: flex; align-items: center; gap: 7.68px; font-size: 15.36px; color: #946A31; }.home-page .focus-dot{ width: 7.68px; height: 7.68px; border-radius: 50%; background: #B78C4D; }.home-page .focus-title{ font-size: 28.16px; font-family: "PingFang SC", sans-serif; font-weight: 600; line-height: 1.45; margin: 14.08px 0 10.24px; }.home-page .focus-hint{ font-size: 16.64px; color: #776B5B; line-height: 1.75; }.home-page .live-focus button{ background: #AD3942; color: #FFF; box-shadow: none; letter-spacing: 0; border: 0; height: 56.32px; }.home-page .program{ border-radius: 20.48px; overflow: hidden; background: #FFF; }.home-page .program-title{ font-family: "PingFang SC", sans-serif; font-size: 21.76px; font-weight: 600; letter-spacing: 0; }.home-page .program-row{ border-color: #F1EEEA; min-height: 71.68px; }.home-page .program-row.is-off{ opacity: 1; background: #FAF9F7; }.home-page .status-off, .home-page .action-off{ color: #827970; }.home-page .home-stats-card{ background: #FAF7F0; box-shadow: none; border: 0; color: #302D28; border-radius: 20.48px; }.home-page .home-stats-card .sky-stars, .home-page .home-stats-card .sky-moon{ display: none; }.home-page .stats-label, .home-page .stats-num, .home-page .stats-unit, .home-page .stat-year, .home-page .stat-count, .home-page .stats-motto-row{ color: #62574A; text-shadow: none; }.home-page .stats-num{ color: #302D28; font-size: 40.96px; }.home-page .stat-bar-fill{ background: #AA8855; box-shadow: none; transition: width 350ms ease; }.home-page .stat-bar-track{ background: #DFD6C7; }.home-page .stats-motto-row{ border-color: #DCD3C3; }

.seat-page{
  padding: 20.48px 19.2px calc(35.84px + env(safe-area-inset-bottom));
}.seat-page .head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 12.8px;
}.seat-page .org-row{
  display: flex;
  align-items: center;
  gap: 7.68px;
  margin-bottom: 7.68px;
}.seat-page .seat-seal-sm{
  width: 23.04px;
  height: 23.04px;
}.seat-page .org{
  font-size: 15.36px;
  color: var(--ink-muted);
}.seat-page .h1{
  font-size: 33.28px;
  line-height: 1.1;
  letter-spacing: 1.28px;
  color: var(--ink);
}.seat-page .tally{
  text-align: right;
  padding-bottom: 2.56px;
}.seat-page .tally-num{
  font-size: 33.28px;
  line-height: 1;
  font-weight: 700;
  color: var(--gold-ink);
}.seat-page .tally-all{
  font-size: 16.64px;
  color: var(--ink-muted);
  margin-left: 2.56px;
  font-weight: 400;
}.seat-page .tally-label{
  font-size: 14.08px;
  color: var(--ink-muted);
  margin-top: 5.12px;
}.seat-page .me-card{
  padding: 15.36px 17.92px;
  margin-bottom: 15.36px;
  background: linear-gradient(135deg, #FFFDF9 0%, #FAF5EB 100%);
  border-color: rgba(217, 165, 91, 0.4);
}.seat-page .me-content{
  display: flex;
  align-items: center;
  gap: 12.8px;
}.seat-page .me-badge{
  font-size: 16.64px;
  font-weight: 700;
  color: var(--red);
  padding: 6.4px 11.52px;
  border-radius: 10.24px;
  background: var(--red-bg);
  border: 0.64px solid var(--red-border);
  flex-shrink: 0;
  white-space: nowrap;
}.seat-page .me-body{
  flex: 1;
  min-width: 0;
}.seat-page .me-name{
  font-size: 20.48px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}.seat-page .me-intro{
  font-size: 15.36px;
  color: var(--ink-secondary);
  margin-top: 3.84px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.seat-page .me-intro-empty{
  color: var(--ink-muted);
}.seat-page .me-action-btn{
  flex-shrink: 0;
  font-size: 15.36px;
  padding: 0 12.8px;
  height: 33.28px;
}.seat-page .me-blank-bar{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8.96px;
  padding: 12.8px 0 15.36px;
}.seat-page .me-blank-dot{
  width: 8.96px;
  height: 8.96px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 6.4px rgba(181, 38, 46, 0.35);
}.seat-page .me-blank-text{
  font-size: 16.64px;
  color: var(--ink-secondary);
}.seat-page .guide{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10.24px;
  margin: 7.68px 0 15.36px;
  padding: 7.68px 12.8px;
  background: rgba(217, 165, 91, 0.08);
  border-radius: 12.8px;
}.seat-page .guide-step{
  font-size: 15.36px;
  font-weight: 600;
  color: var(--gold-ink);
}.seat-page .guide-arrow{
  font-size: 14.08px;
  color: var(--gold);
}.seat-page .view-active{
  display: block;
}.seat-page .view-hidden{
  display: none !important;
}.seat-page .room{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12.8px 7.68px;
  margin-top: 6.4px;
}.seat-page .cell{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10.24px 5.12px;
  border-radius: 15.36px;
  background: var(--card);
  border: 0.64px solid rgba(217, 165, 91, 0.2);
  box-shadow: 0 2.56px 8.96px rgba(31, 35, 41, 0.03);
  transition: transform 0.2s, background-color 0.2s;
}.seat-page .cell-hover{
  transform: scale(0.96);
  background: #FAF6EF;
  border-color: var(--gold);
}.seat-page .ring{
  position: relative;
  width: 121.6px;
  height: 121.6px;
}.seat-page .disc{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70.4px;
  height: 70.4px;
  margin: -35.2px 0 0 -35.2px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFFDF9 0%, #FAF5EB 100%);
  border: 1.28px solid rgba(217, 165, 91, 0.35);
  box-shadow: inset 0 1.28px 3.84px rgba(255, 255, 255, 0.8),
              0 2.56px 7.68px rgba(42, 34, 32, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}.seat-page .is-full .disc{
  border-color: var(--red);
  background: linear-gradient(135deg, #FFF9F7 0%, #FBEDEB 100%);
}.seat-page .tno{
  font-size: 26.88px;
  font-weight: 700;
  letter-spacing: 0.64px;
  color: var(--ink);
}.seat-page .is-full .tno{
  color: var(--red);
}.seat-page .dot{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10.24px;
  height: 10.24px;
  margin: -5.12px 0 0 -5.12px;
  border-radius: 50%;
  border: 0.64px solid #C4B9A7;
  background: #F6F1E8;
  transition: all 0.2s;
}.seat-page .dot:nth-child(1){ transform: rotate(0deg) translateY(-52.48px); }.seat-page .dot:nth-child(2){ transform: rotate(36deg) translateY(-52.48px); }.seat-page .dot:nth-child(3){ transform: rotate(72deg) translateY(-52.48px); }.seat-page .dot:nth-child(4){ transform: rotate(108deg) translateY(-52.48px); }.seat-page .dot:nth-child(5){ transform: rotate(144deg) translateY(-52.48px); }.seat-page .dot:nth-child(6){ transform: rotate(180deg) translateY(-52.48px); }.seat-page .dot:nth-child(7){ transform: rotate(216deg) translateY(-52.48px); }.seat-page .dot:nth-child(8){ transform: rotate(252deg) translateY(-52.48px); }.seat-page .dot:nth-child(9){ transform: rotate(288deg) translateY(-52.48px); }.seat-page .dot:nth-child(10){ transform: rotate(324deg) translateY(-52.48px); }.seat-page .dot.taken{
  background: var(--ink);
  border-color: var(--ink);
}.seat-page .dot.is-mine{
  background: var(--red);
  border-color: var(--red);
  width: 14.08px;
  height: 14.08px;
  margin: -7.04px 0 0 -7.04px;
  box-shadow: 0 0 6.4px rgba(181, 38, 46, 0.5);
}.seat-page .meta{
  font-size: 14.08px;
  color: var(--ink-muted);
  margin-top: 6.4px;
}.seat-page .meta-filled{
  color: var(--ink);
  font-weight: 700;
}.seat-page .meta-all{
  color: #B5ABA0;
}.seat-page .foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20.48px;
  padding: 0 5.12px;
}.seat-page .foot-legend{
  display: flex;
  align-items: center;
  gap: 6.4px;
}.seat-page .legend-dot{
  width: 8.96px;
  height: 8.96px;
  border-radius: 50%;
  display: inline-block;
  margin-left: 5.12px;
}.seat-page .legend-dot.taken{
  background: var(--ink);
}.seat-page .legend-dot.mine{
  background: var(--red);
}.seat-page .legend-dot.open{
  background: #F6F1E8;
  border: 0.64px solid #C4B9A7;
}.seat-page .legend-text{
  font-size: 14.08px;
  color: var(--ink-muted);
}.seat-page .foot-skip{
  font-size: 15.36px;
  color: var(--red);
  padding: 5.12px 8.96px;
}.seat-page .foot-skip-hover{
  opacity: 0.7;
}.seat-page .table-detail-view{
  transform-origin: center center;
  will-change: transform, opacity;
}.seat-page .bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56.32px;
  padding: 10.24px 2.56px;
}.seat-page .bar-hover{
  opacity: 0.8;
}.seat-page .bar-back{
  font-size: 17.92px;
  font-weight: 700;
  color: var(--red);
}.seat-page .bar-hint{
  font-size: 15.36px;
  color: var(--ink-muted);
}.seat-page .round-wrap{
  padding: 28.16px 0;
  margin-bottom: 15.36px;
}.seat-page .round{
  position: relative;
  width: 396.8px;
  height: 396.8px;
  margin: 0 auto;
}.seat-page .center{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 134.4px;
  height: 134.4px;
  margin: -67.2px 0 0 -67.2px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFFDF9 0%, #FAF3E3 100%);
  border: 1.28px solid rgba(217, 165, 91, 0.4);
  box-shadow: 0 5.12px 17.92px rgba(217, 165, 91, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}.seat-page .center-no{
  font-size: 40.96px;
  line-height: 1;
  font-weight: 700;
  color: var(--ink);
}.seat-page .center-cap{
  font-size: 14.08px;
  color: var(--gold-ink);
  margin-top: 6.4px;
  font-weight: 600;
}.seat-page .seat{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 61.44px;
  height: 61.44px;
  margin: -30.72px 0 0 -30.72px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}.seat-page .seat-hover{
  opacity: .72;
  box-shadow: 0 0 0 3.84px rgba(217,165,91,.22);
}.seat-page .seat:nth-child(1){ transform: rotate(0deg) translateY(-154.88px) rotate(0deg); }.seat-page .seat:nth-child(2){ transform: rotate(36deg) translateY(-154.88px) rotate(-36deg); }.seat-page .seat:nth-child(3){ transform: rotate(72deg) translateY(-154.88px) rotate(-72deg); }.seat-page .seat:nth-child(4){ transform: rotate(108deg) translateY(-154.88px) rotate(-108deg); }.seat-page .seat:nth-child(5){ transform: rotate(144deg) translateY(-154.88px) rotate(-144deg); }.seat-page .seat:nth-child(6){ transform: rotate(180deg) translateY(-154.88px) rotate(-180deg); }.seat-page .seat:nth-child(7){ transform: rotate(216deg) translateY(-154.88px) rotate(-216deg); }.seat-page .seat:nth-child(8){ transform: rotate(252deg) translateY(-154.88px) rotate(-252deg); }.seat-page .seat:nth-child(9){ transform: rotate(288deg) translateY(-154.88px) rotate(-288deg); }.seat-page .seat:nth-child(10){ transform: rotate(324deg) translateY(-154.88px) rotate(-324deg); }.seat-page .seat.taken{
  background: var(--ink);
  color: #FFFDF9;
  box-shadow: 0 2.56px 10.24px rgba(31, 35, 41, 0.18);
}.seat-page .seat.open{
  background: #FFFDF9;
  border: 1.28px dashed #C4B9A7;
  color: var(--ink-muted);
}.seat-page .seat.is-mine{
  background: linear-gradient(135deg, #C93A40 0%, #A8222A 100%);
  color: #FFFDF9;
  box-shadow: 0 3.84px 12.8px rgba(181, 38, 46, 0.4);
  border: 1.28px solid #F3D9A0;
}.seat-page .seat-name{
  font-size: 15.36px;
  line-height: 1.2;
  letter-spacing: 0.32px;
  max-width: 51.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.seat-page .seat-open-tag{
  font-size: 15.36px;
  line-height: 1.2;
  color: var(--gold-ink);
  font-weight: 600;
}.seat-page .seat-no{
  font-size: 11.52px;
  margin-top: 2.56px;
  color: #B5ABA0;
}.seat-page .roster{
  padding: 20.48px 17.92px;
}.seat-page .roster-head{
  font-size: 19.2px;
  font-weight: 700;
  margin-bottom: 12.8px;
  color: var(--ink);
}.seat-page .row{
  display: flex;
  align-items: center;
  min-height: 61.44px;
  padding: 11.52px 12.8px;
  border-radius: 11.52px;
  margin-bottom: 7.68px;
  transition: background-color 0.18s;
}.seat-page .row-hover{
  background: #F1EAE0;
}.seat-page .row-open{
  background: #FAF6EF;
  border: 0.64px dashed var(--line);
}.seat-page .row-taken{
  background: #FFFDF9;
  border: 0.64px solid var(--line-soft);
}.seat-page .row-mine{
  background: var(--red-bg);
  border: 0.64px solid var(--red-border);
}.seat-page .row-no{
  width: 33.28px;
  flex-shrink: 0;
  font-size: 15.36px;
  color: var(--gold-ink);
  font-weight: 700;
}.seat-page .row-main{
  flex: 1;
  min-width: 0;
}.seat-page .row-id{
  display: flex;
  align-items: baseline;
}.seat-page .row-name{
  font-size: 19.2px;
  font-weight: 700;
  color: var(--ink);
}.seat-page .row-year{
  font-size: 14.08px;
  color: var(--ink-muted);
  margin-left: 8.96px;
}.seat-page .me-tag{
  margin-left: 7.68px;
  padding: 1.28px 6.4px;
  border-radius: 5.12px;
  background: var(--red);
  color: #FFFDF9;
  font-size: 12.8px;
}.seat-page .row-intro{
  font-size: 15.36px;
  color: var(--ink-secondary);
  margin-top: 3.84px;
  line-height: 1.5;
}.seat-page .row-empty{
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16.64px;
  color: var(--ink-muted);
}.seat-page .row-empty-tag{
  font-size: 15.36px;
  color: var(--red);
  font-weight: 600;
}.seat-page .scrim{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(14, 27, 46, 0.48);
  backdrop-filter: blur(5.12px);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease-out;
}.seat-page .scrim.scrim-open{
  opacity: 1;
  pointer-events: auto;
}.seat-page .sheet{
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background: #FFFDF9;
  border-radius: 23.04px 23.04px 0 0;
  padding: 15.36px 23.04px calc(30.72px + env(safe-area-inset-bottom));
  box-shadow: 0 -10.24px 30.72px rgba(14, 27, 46, 0.16);
  border-top: 0.64px solid rgba(217, 165, 91, 0.35);
  transform: translateY(100%);
  transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease-in, visibility 300ms;
}.seat-page .sheet.sheet-open{
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}.seat-page .sheet-handle{
  width: 40.96px;
  height: 5.12px;
  border-radius: 2.56px;
  background: var(--line);
  margin: 0 auto 12.8px;
}.seat-page .sheet-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 5.12px;
}.seat-page .sheet-title{
  font-size: 24.32px;
  font-weight: 700;
  color: var(--ink);
}.seat-page .sheet-sub{
  font-size: 15.36px;
  color: var(--gold-ink);
  font-weight: 600;
}.seat-page .sheet-note{
  font-size: 15.36px;
  color: var(--ink-secondary);
  line-height: 1.6;
  margin-bottom: 15.36px;
}.seat-page .sheet-input{
  font-size: 20.48px; 
}.seat-page .counter{
  text-align: right;
  font-size: 14.08px;
  color: var(--ink-muted);
  margin-top: 6.4px;
}.seat-page .sheet-actions{
  display: flex;
  gap: 12.8px;
  margin-top: 23.04px;
}.seat-page .sheet-actions .btn{
  margin: 0;
  flex: 1;
}.seat-page .state-card{
  padding: 56.32px 23.04px;
  margin-top: 51.2px;
}.seat-page .seat-loading-avatar{
  margin: 0 auto 15.36px;
}.seat-page .state-title{
  font-size: 25.6px;
  font-weight: 700;
  color: var(--ink);
}.seat-page .notice-error-text{
  color: var(--red);
}.seat-page .state-text{
  font-size: 16.64px;
  color: var(--ink-muted);
  margin-top: 7.68px;
}.seat-page .state-link{
  margin-top: 17.92px;
  font-size: 16.64px;
  color: var(--ink-muted);
}

.rank-page{
  padding-bottom: calc(35.84px + env(safe-area-inset-bottom));
}.rank-page .head{
  margin: 5.12px 2.56px 17.92px;
}.rank-page .rank-org-row{
  display: flex;
  align-items: center;
  gap: 7.68px;
  margin-bottom: 3.84px;
}.rank-page .rank-seal-sm{
  width: 20.48px;
  height: 20.48px;
}.rank-page .title{
  font-size: 32px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 1.28px;
  margin-top: 2.56px;
}.rank-page .sub{
  margin-top: 5.12px;
  font-size: 15.36px;
  color: var(--ink-muted);
  line-height: 1.5;
}.rank-page .my-dash{
  padding: 19.2px 12.8px;
  margin-bottom: 15.36px;
}.rank-page .my-dash-grid{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-around;
}.rank-page .my-dash-item{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}.rank-page .my-dash-divider{
  width: 0.64px;
  height: 38.4px;
  background: rgba(243, 217, 160, 0.2);
}.rank-page .my-num{
  font-size: 33.28px;
  font-weight: 800;
  line-height: 1.1;
  color: #F8E3AE;
  text-shadow: 0 1.28px 6.4px rgba(217, 165, 91, 0.3);
}.rank-page .my-num.small{
  font-size: 25.6px;
  line-height: 1.35;
}.rank-page .my-total{
  font-size: 15.36px;
  color: rgba(243, 217, 160, 0.65);
  font-weight: 400;
}.rank-page .my-label{
  font-size: 14.08px;
  color: rgba(246, 234, 211, 0.72);
  margin-top: 3.84px;
}.rank-page .podium-wrap{
  padding: 20.48px 15.36px 17.92px;
  margin-bottom: 15.36px;
}.rank-page .podium-title{
  font-size: 19.2px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 7.68px;
  text-align: center;
}.rank-page .podium{
  display: flex;
  align-items: flex-end;
  gap: 10.24px;
  margin: 12.8px 0 6.4px;
}.rank-page .stand{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}.rank-page .crown-icon{
  font-size: 23.04px;
  margin-bottom: 2.56px;
  line-height: 1;
}.rank-page .stand .avatar{
  width: 58.88px;
  height: 58.88px;
  font-size: 24.32px;
  background: var(--gold-bg);
  color: var(--gold-ink);
  border: 1.28px solid #EFDDB8;
}.rank-page .stand.p1 .avatar{
  width: 76.8px;
  height: 76.8px;
  font-size: 32px;
  background: linear-gradient(145deg, #F8E3AE, #D9A55B);
  color: #4A2E07;
  border: 1.92px solid #FFFDF9;
  box-shadow: 0 0 0 6.4px rgba(217, 165, 91, 0.25);
}.rank-page .stand-name{
  max-width: 100%;
  margin-top: 8.96px;
  font-size: 17.92px;
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.rank-page .stand-year{
  font-size: 14.08px;
  color: var(--ink-muted);
}.rank-page .block{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 8.96px;
  border-radius: 12.8px 12.8px 0 0;
  background: linear-gradient(180deg, #F3E4C2, #FAF3E3);
  box-shadow: inset 0 1.28px 0 rgba(255, 255, 255, 0.8);
}.rank-page .block .num{
  font-size: 29.44px;
  font-weight: 800;
  color: var(--gold-ink);
}.rank-page .p1 .block{
  height: 112.64px;
  background: linear-gradient(180deg, #C93A40, #A8222A);
  box-shadow: 0 3.84px 12.8px rgba(181, 38, 46, 0.3);
}.rank-page .p1 .block .num{
  color: #FFFDF9;
  font-size: 37.12px;
}.rank-page .p2 .block{
  height: 84.48px;
}.rank-page .p3 .block{
  height: 66.56px;
}.rank-page .stand-score{
  margin-top: 7.68px;
  font-size: 14.08px;
  color: var(--ink-secondary);
  font-weight: 600;
}.rank-page .stand.mine .stand-name{
  color: var(--red);
}.rank-page .list-card{
  padding: 19.2px 17.92px;
}.rank-page .list-head{
  font-size: 19.2px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10.24px;
}.rank-page .rank-row{
  display: flex;
  align-items: center;
  gap: 12.8px;
  min-height: 71.68px; 
  padding: 10.24px 0;
  border-top: 0.64px solid var(--line-soft);
}.rank-page .rank-row:first-of-type{
  border-top: 0;
}.rank-page .rank-row.mine{
  margin: 0 -17.92px;
  padding: 10.24px 17.92px;
  background: var(--red-bg);
}.rank-page .rank-no{
  width: 35.84px;
  font-size: 23.04px;
  font-weight: 800;
  color: var(--gold-ink);
}.rank-page .who{
  flex: 1;
  min-width: 0;
}.rank-page .who-name{
  font-size: 19.2px;
  font-weight: 700;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.rank-page .me-tag{
  margin-left: 6.4px;
  padding: 1.28px 6.4px;
  border-radius: 5.12px;
  background: var(--red);
  color: #FFFDF9;
  font-size: 12.8px;
}.rank-page .who-year{
  font-size: 14.08px;
  color: var(--ink-muted);
}.rank-page .score{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 19.2px;
  font-weight: 700;
  color: var(--ink);
}.rank-page .score .unit{
  font-size: 14.08px;
  color: var(--ink-muted);
  font-weight: 400;
}.rank-page .score .time{
  font-size: 14.08px;
  font-weight: 500;
  color: var(--gold-ink);
}.rank-page .rank-badge{
  flex-shrink: 0;
}.rank-page .my-dash.sky-card{ background: #F7EFE3; border: 0.64px solid #EEE0CA; border-radius: 20.48px; box-shadow: none; }.rank-page .my-dash .sky-stars{ display: none; }.rank-page .my-num{ color: #8B6635; text-shadow: none; }.rank-page .my-total, .rank-page .my-label{ color: #776956; }.rank-page .my-dash-divider{ background: #DDCFBC; }.rank-page .podium-wrap, .rank-page .list-card{ border: 0; border-radius: 20.48px; background: #FFF; }.rank-page .stand.p1 .avatar{ background: #EFDEBE; box-shadow: 0 0 0 5.12px #F8F1E5; }.rank-page .p1 .block{ background: #F2DED7; box-shadow: none; }.rank-page .p1 .block .num{ color: #984640; }

.profile-page{
  padding-bottom: calc(35.84px + env(safe-area-inset-bottom));
}.profile-page .id-card{
  padding: 24.32px 20.48px;
  margin-bottom: 15.36px;
}.profile-page .id-moon{
  width: 108.8px;
  height: 108.8px;
  right: -15.36px;
  top: -15.36px;
  opacity: 0.85;
}.profile-page .id-body{
  position: relative;
  z-index: 2;
}.profile-page .id-topbar{
  display: flex;
  align-items: center;
  gap: 7.68px;
  margin-bottom: 15.36px;
}.profile-page .id-seal-sm{
  width: 23.04px;
  height: 23.04px;
}.profile-page .id-org{
  font-size: 15.36px;
  color: rgba(246, 234, 211, 0.75);
}.profile-page .id-main-row{
  display: flex;
  align-items: center;
  gap: 15.36px;
}.profile-page .id-avatar{
  width: 70.4px;
  height: 70.4px;
  font-size: 30.72px;
  box-shadow: 0 0 0 5.12px rgba(217, 165, 91, 0.25);
}.profile-page .id-avatar.empty{
  background: rgba(243, 217, 160, 0.16);
  color: #F3D9A0;
  box-shadow: none;
}.profile-page .id-text-wrap{
  flex: 1;
  min-width: 0;
}.profile-page .id-name{
  font-size: 28.16px;
  font-weight: 700;
  color: #FFFDF9;
  letter-spacing: 0.64px;
}.profile-page .id-sub{
  font-size: 15.36px;
  color: #F8E3AE;
  margin-top: 3.84px;
}.profile-page .form-card{
  padding: 23.04px 20.48px;
}.profile-page .card-head-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5.12px;
}.profile-page .sync-status{
  font-size: 14.08px;
  height: 30.72px;
}.profile-page .sub-tip{
  font-size: 15.36px;
  color: var(--ink-muted);
  line-height: 1.6;
  margin-bottom: 7.68px;
}.profile-page .privacy-card{
  padding: 20.48px 20.48px;
  margin-top: 10.24px;
  background: rgba(255, 253, 249, 0.75);
}.profile-page .id-card.sky-card{ background: #F7EFE3; border: 0.64px solid #EEE0CA; border-radius: 20.48px; box-shadow: none; }.profile-page .id-card .sky-stars{ display: none; }.profile-page .id-card .sky-moon{ background: #EAD8B5; box-shadow: none; opacity: .28; }.profile-page .id-org, .profile-page .id-sub{ color: #776956; }.profile-page .id-name{ color: #40342A; }.profile-page .id-avatar, .profile-page .id-avatar.empty{ background: #EEDFC8; color: #785C36; box-shadow: none; }.profile-page .form-card, .profile-page .privacy-card{ background: #FFF; border: 0; border-radius: 20.48px; }

.survey-page{
  min-height: 100vh;
  padding: 15.36px 20.48px calc(35.84px + env(safe-area-inset-bottom));
  background: var(--paper-flat);
  color: var(--ink-deep);
  box-sizing: border-box;
}.survey-page .conn-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  padding: 11.52px 15.36px;
  margin-bottom: 12.8px;
  background: var(--ink-deep);
  color: var(--paper-flat);
  font-size: 15.36px;
  line-height: 1.5;
}.survey-page .conn-text{
  flex: 1;
  min-width: 0;
}.survey-page .conn-retry{
  flex-shrink: 0;
  color: var(--paper-flat);
  text-decoration: underline;
}.survey-page .stage{
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30.72px 15.36px;
}.survey-page .stage-kicker{
  font-size: 16.64px;
  letter-spacing: 3.84px;
  color: var(--vermilion);
}.survey-page .stage-title{
  margin-top: 15.36px;
  font-size: 46.08px;
  line-height: 1.2;
  letter-spacing: 1.28px;
  color: var(--ink-deep);
}.survey-page .stage-note{
  margin-top: 17.92px;
  max-width: 358.4px;
  font-size: 16.64px;
  line-height: 1.75;
  color: #6B625A;
}.survey-page .stage-btn{
  margin-top: 35.84px;
  min-width: 204.8px;
  height: 61.44px;
  line-height: 61.44px;
  padding: 0 25.6px;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 19.2px;
  letter-spacing: 3.84px;
  text-align: center;
}.survey-page .stage-link{
  margin-top: 20.48px;
  font-size: 16.64px;
  color: #6B625A;
}.survey-page .head{
  padding: 5.12px 0 23.04px;
}.survey-page .head-kicker{
  font-size: 16.64px;
  letter-spacing: 3.84px;
  color: var(--vermilion);
}.survey-page .head-title{
  margin-top: 12.8px;
  font-size: 46.08px;
  line-height: 1.18;
  letter-spacing: 1.28px;
  color: var(--ink-deep);
}.survey-page .head-note{
  margin-top: 12.8px;
  font-size: 16.64px;
  line-height: 1.7;
  color: #6B625A;
}.survey-page .head-progress{
  display: flex;
  align-items: baseline;
  gap: 6.4px;
  margin-top: 17.92px;
  padding-top: 15.36px;
  border-top: 1.28px solid var(--ink-deep);
}.survey-page .head-progress-label{
  font-size: 16.64px;
  letter-spacing: 1.28px;
  color: #6B625A;
}.survey-page .head-progress-num{
  font-size: 30.72px;
  line-height: 1;
  color: var(--ink-deep);
}.survey-page .head-progress-total{
  font-size: 16.64px;
  color: #6B625A;
}.survey-page .head-progress-unit{
  font-size: 16.64px;
  color: #6B625A;
}.survey-page .legacy-strip{
  margin-bottom: 15.36px;
  padding: 12.8px 15.36px;
  background: var(--bone);
  color: #3A3430;
  font-size: 16.64px;
  line-height: 1.5;
}.survey-page .error-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  margin-bottom: 15.36px;
  padding: 12.8px 15.36px;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 16.64px;
  line-height: 1.5;
}.survey-page .error-text{
  flex: 1;
  min-width: 0;
}.survey-page .error-close{
  flex-shrink: 0;
  font-size: 21.76px;
  line-height: 1;
}.survey-page .survey-block{
  margin-bottom: 15.36px;
  padding: 23.04px 20.48px;
  background: var(--bone);
  box-sizing: border-box;
}.survey-page .survey-block.is-target{
  border-left: 5.12px solid var(--vermilion);
}.survey-page .block-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
}.survey-page .block-head-left{
  display: flex;
  align-items: baseline;
  gap: 12.8px;
  flex: 1;
  min-width: 0;
}.survey-page .block-index{
  font-size: 16.64px;
  letter-spacing: 1.28px;
  color: #8A7F73;
}.survey-page .block-status{
  font-size: 16.64px;
  letter-spacing: 0.64px;
  color: #6B625A;
}.survey-page .block-status.status-wait{
  color: #8A7F73;
}.survey-page .block-status.status-live{
  color: var(--vermilion);
  font-weight: 600;
}.survey-page .block-status.status-done{
  color: var(--ink-deep);
  font-weight: 600;
}.survey-page .block-target{
  flex-shrink: 0;
  padding: 3.84px 8.96px;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 14.08px;
  letter-spacing: 1.28px;
}.survey-page .block-title{
  margin-top: 8.96px;
  font-size: 23.04px;
  line-height: 1.5;
  letter-spacing: 0.64px;
  color: var(--ink-deep);
}.survey-page .block-sub{
  margin-top: 6.4px;
  font-size: 16.64px;
  line-height: 1.6;
  color: #6B625A;
}.survey-page .block-wait{
  margin-top: 16.64px;
  padding: 12.8px 15.36px;
  background: var(--paper-flat);
  color: #6B625A;
  font-size: 16.64px;
  letter-spacing: 1.28px;
}.survey-page .word-list{
  display: flex;
  flex-direction: column;
  gap: 7.68px;
  margin-top: 16.64px;
}.survey-page .word-row{
  display: flex;
  align-items: center;
  gap: 10.24px;
  height: 61.44px;
  padding: 0 15.36px 0 11.52px;
  background: var(--paper-flat);
  box-sizing: border-box;
}.survey-page .word-row.is-off{
  opacity: 0.38;
}.survey-page .word-no{
  width: 25.6px;
  flex-shrink: 0;
  font-size: 16.64px;
  color: #8A7F73;
}.survey-page .word-input{
  flex: 1;
  min-width: 0;
  height: 61.44px;
  font-size: 20.48px;
  color: var(--ink-deep);
}.survey-page .word-ph{
  color: #A79C8F;
  font-size: 17.92px;
}.survey-page .word-count{
  flex-shrink: 0;
  font-size: 14.08px;
  color: #8A7F73;
}.survey-page .hints{
  margin-top: 16.64px;
}.survey-page .hints.is-off{
  opacity: 0.38;
}.survey-page .hints-label{
  font-size: 15.36px;
  letter-spacing: 0.64px;
  color: #6B625A;
}.survey-page .chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8.96px;
  margin-top: 10.24px;
}.survey-page .chip{
  display: inline-flex;
  align-items: center;
  min-height: 40.96px;
  height: 43.52px;
  padding: 0 16.64px;
  background: var(--paper-flat);
  color: var(--ink-deep);
  font-size: 16.64px;
}.survey-page .chip.is-on{
  background: var(--vermilion);
  color: var(--paper-flat);
}.survey-page .chip-hover{
  opacity: 0.8;
}.survey-page .submit-btn{
  margin-top: 20.48px;
  height: 61.44px;
  line-height: 61.44px;
  text-align: center;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 19.2px;
  letter-spacing: 2.56px;
}.survey-page .submit-btn.is-disabled{
  background: rgba(20, 17, 14, 0.12);
  color: #8A7F73;
}.survey-page .submit-hover{
  opacity: 0.85;
}.survey-page .quiz-page, .survey-page{ background: #F5F3EF; color: #242322; }.survey-page .quiz-page .serif, .survey-page .serif{ font-family: "PingFang SC", "Microsoft YaHei", sans-serif; }.survey-page .stage-title{ font-size: 33.28px; font-weight: 600; letter-spacing: 0; }.survey-page .stage-kicker, .survey-page .head-kicker{ letter-spacing: 1.28px; color: #946A31; }.survey-page .stage{ min-height: 65vh; }.survey-page .stage-btn, .survey-page .submit-btn{ border-radius: 30.72px; letter-spacing: 0; background: #A62E37; }.survey-page .stage-link{ padding: 11.52px; min-height: 56.32px; }.survey-page .exam-bar{ background: rgba(255,255,255,.94); border: 0; box-shadow: 0 5.12px 19.2px #24232208; }.survey-page .exam-label{ color: #746C63; }.survey-page .exam-time{ color: #A62E37; }.survey-page .paper-question{ background: #FFF; border: 0; border-radius: 20.48px; padding: 19.2px; margin-bottom: 15.36px; }.survey-page .q-title{ font-size: 21.76px; line-height: 1.65; font-weight: 600; }.survey-page .q-option{ border-radius: 14.08px; background: #F5F3EF; border: 1.28px solid transparent; min-height: 64px; transition: transform 150ms ease, background-color 180ms ease, border-color 180ms ease; }.survey-page .q-option.is-sel{ background: #FAEEEC; border-color: #A62E37; color: #86242E; }.survey-page .q-option-hover{ transform: scale(.985); }.survey-page .q-option.is-correct{ background: #EAF4EC; border-color: #4C7B5A; }.survey-page .q-option.is-wrong{ background: #FBECEB; border-color: #A62E37; }.survey-page .q-letter{ border-radius: 8.96px; }.survey-page .submit-bar{ background: rgba(255,255,255,.96); border: 0; box-shadow: 0 -5.12px 20.48px #24232208; align-items: center; }.survey-page .submit-meta{ display: flex; flex-direction: column; gap: 2.56px; min-height: 56.32px; justify-content: center; }.survey-page .save-hint{ font-size: 14.08px; color: #746C63; }.survey-page .submit-bar .submit-btn{ min-width: 128px; }.survey-page .score-card{ border-radius: 23.04px; background: #F6EDE0; color: #40342A; padding: 25.6px 20.48px; }.survey-page .score-card .score-correct{ color: #946A31; }.survey-page .score-card .score-kicker, .survey-page .score-card .score-label, .survey-page .score-card .score-meta-label{ color: #776B5B; }.survey-page .score-card .score-meta-num, .survey-page .score-card .score-link{ color: #946A31; }.survey-page .error-strip, .survey-page .notice-strip, .survey-page .conn-strip{ border-radius: 12.8px; }.survey-page .submitted-moment{ min-height: 56vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }.survey-page .submitted-check{ width: 76.8px; height: 76.8px; border-radius: 38.4px; background: #E6EEE7; color: #3D7050; font-size: 40.96px; line-height: 76.8px; }.survey-page .head{ padding: 15.36px 5.12px; background: transparent; }.survey-page .head-title{ font-size: 30.72px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }.survey-page .head-note{ font-size: 16.64px; }.survey-page .head-progress{ margin-top: 10.24px; }.survey-page .survey-tabs{ display: flex; gap: 7.68px; margin: 10.24px 0 15.36px; }.survey-page button.survey-tab{ flex: 1; margin: 0; padding: 11.52px 5.12px; font-size: 17.92px; line-height: 1.5; background: #EAE7E1; border-radius: 15.36px; color: #5C5650; }.survey-page .survey-tab text{ display: block; font-size: 14.08px; color: #71695F; }.survey-page button.survey-tab.selected{ background: #F1E1C9; color: #65481F; }.survey-page .survey-tab.selected text{ color: #946A31; }.survey-page .survey-block{ background: #FFF; border: 0; border-radius: 20.48px; padding: 19.2px; margin-bottom: 15.36px; }.survey-page .survey-block[hidden]{ display: none; }.survey-page .survey-block.is-target{ border: 0; }.survey-page .block-title{ font-size: 24.32px; line-height: 1.5; font-weight: 600; }.survey-page .block-target{ display: none; }.survey-page .word-row{ border-radius: 12.8px; background: #F5F3EF; border: 1.28px solid transparent; padding: 5.12px 12.8px; }.survey-page .word-row:focus-within{ border-color: #BF8E60; background: #FFFBF5; }.survey-page .word-input{ font-size: 20.48px; }.survey-page .chip{ border-radius: 15.36px; min-height: 48.64px; padding: 10.24px 15.36px; border: 0; background: #F5F3EF; transition: transform 150ms ease, background-color 180ms ease; }.survey-page .chip.is-on{ color: #86242E; background: #FAEEEC; }.survey-page .follow-notice, .survey-page .sent-note{ padding: 14.08px 15.36px; margin-bottom: 14.08px; background: #EAF1EA; color: #3D6549; border-radius: 14.08px; font-size: 16.64px; line-height: 1.6; }.survey-page .sent-note{ margin-top: 15.36px; }.survey-page .follow-notice{ background: #EEE6D8; color: #6D512C; }@supports (backdrop-filter: blur(12px)){.survey-page .exam-bar, .survey-page .submit-bar{ background: rgba(255,255,255,.86); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
}@media (prefers-reduced-motion: reduce){.survey-page .q-option, .survey-page .chip, .survey-page .submit-btn{ transition: none; }
}.survey-page .survey-tab[disabled]{ background: #E8E5E1; color: #938C85; opacity: .65; }

.quiz-page{
  min-height: 100vh;
  padding: 15.36px 20.48px calc(30.72px + env(safe-area-inset-bottom));
  background: var(--paper-flat);
  color: var(--ink-deep);
  box-sizing: border-box;
}.quiz-page.is-paper-mode{
  padding-top: 99.84px;
  padding-bottom: calc(128px + env(safe-area-inset-bottom));
}.quiz-page .conn-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  padding: 11.52px 15.36px;
  margin-bottom: 12.8px;
  background: var(--ink-deep);
  color: var(--paper-flat);
  font-size: 15.36px;
  line-height: 1.5;
}.quiz-page .conn-text{
  flex: 1;
  min-width: 0;
}.quiz-page .conn-retry{
  flex-shrink: 0;
  color: var(--paper-flat);
  text-decoration: underline;
}.quiz-page .stage{
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30.72px 15.36px;
}.quiz-page .stage-kicker{
  font-size: 16.64px;
  letter-spacing: 3.84px;
  color: var(--vermilion);
}.quiz-page .stage-title{
  margin-top: 15.36px;
  font-size: 46.08px;
  line-height: 1.2;
  letter-spacing: 1.28px;
  color: var(--ink-deep);
}.quiz-page .stage-note{
  margin-top: 17.92px;
  max-width: 358.4px;
  font-size: 16.64px;
  line-height: 1.75;
  color: #6B625A;
}.quiz-page .stage-btn{
  margin-top: 35.84px;
  min-width: 204.8px;
  height: 61.44px;
  line-height: 61.44px;
  padding: 0 25.6px;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 19.2px;
  letter-spacing: 3.84px;
  text-align: center;
}.quiz-page .stage-link{
  margin-top: 20.48px;
  font-size: 16.64px;
  color: #6B625A;
}.quiz-page .wait-tally{
  display: flex;
  align-items: baseline;
  gap: 10.24px;
  margin-top: 35.84px;
}.quiz-page .wait-num{
  font-size: 76.8px;
  line-height: 0.9;
  color: var(--ink-deep);
}.quiz-page .wait-unit{
  font-size: 16.64px;
  color: #6B625A;
}.quiz-page .stage-starting .countdown{
  margin-top: 15.36px;
  font-size: 128px;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-bar{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 20;
  height: 84.48px;
  padding: 15.36px 20.48px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bone);
}.quiz-page .exam-side{
  display: flex;
  align-items: baseline;
  gap: 6.4px;
}.quiz-page .exam-label{
  font-size: 16.64px;
  letter-spacing: 1.28px;
  color: #6B625A;
}.quiz-page .exam-num{
  font-size: 30.72px;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-total{
  font-size: 16.64px;
  color: #6B625A;
}.quiz-page .exam-time{
  font-size: 30.72px;
  line-height: 1;
  color: var(--ink-deep);
}.quiz-page .exam-side.is-urgent .exam-label, .quiz-page .exam-side.is-urgent .exam-time{
  color: var(--vermilion);
}.quiz-page .notice-strip{
  margin-bottom: 15.36px;
  padding: 12.8px 15.36px;
  background: var(--bone);
  color: var(--ink-deep);
  font-size: 16.64px;
  line-height: 1.5;
  letter-spacing: 0.64px;
}.quiz-page .error-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.8px;
  margin-bottom: 15.36px;
  padding: 12.8px 15.36px;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 16.64px;
  line-height: 1.5;
}.quiz-page .error-text{
  flex: 1;
  min-width: 0;
}.quiz-page .error-close{
  flex-shrink: 0;
  font-size: 21.76px;
  line-height: 1;
}.quiz-page .score-card{
  margin: 5.12px 0 35.84px;
  padding: 30.72px 25.6px 25.6px;
  background: var(--ink-deep);
  color: var(--paper-flat);
}.quiz-page .score-kicker{
  font-size: 15.36px;
  letter-spacing: 1.92px;
  color: rgba(244, 241, 234, 0.65);
}.quiz-page .score-figure{
  display: flex;
  align-items: baseline;
  gap: 5.12px;
  margin-top: 12.8px;
}.quiz-page .score-correct{
  font-size: 76.8px;
  line-height: 0.9;
  color: var(--paper-flat);
}.quiz-page .score-denom{
  font-size: 30.72px;
  color: rgba(244, 241, 234, 0.6);
}.quiz-page .score-label{
  margin-top: 7.68px;
  font-size: 16.64px;
  color: rgba(244, 241, 234, 0.65);
}.quiz-page .score-meta{
  display: flex;
  gap: 51.2px;
  margin-top: 23.04px;
  padding-top: 17.92px;
  border-top: 1.28px solid rgba(244, 241, 234, 0.14);
}.quiz-page .score-meta-item{
  display: flex;
  flex-direction: column;
  gap: 5.12px;
}.quiz-page .score-meta-num{
  font-size: 30.72px;
  line-height: 1;
  color: var(--paper-flat);
}.quiz-page .score-meta-label{
  font-size: 15.36px;
  color: rgba(244, 241, 234, 0.6);
}.quiz-page .score-link{
  margin-top: 23.04px;
  font-size: 17.92px;
  letter-spacing: 1.28px;
  color: var(--paper-flat);
}.quiz-page .paper-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 5.12px 0 20.48px;
}.quiz-page .paper-title{
  font-size: 30.72px;
  line-height: 1.2;
  letter-spacing: 1.28px;
  color: var(--ink-deep);
}.quiz-page .paper-count{
  font-size: 16.64px;
  color: #8A7F73;
}.quiz-page .paper-question{
  margin-bottom: 40.96px;
}.quiz-page .q-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7.68px;
}.quiz-page .q-no{
  font-size: 16.64px;
  letter-spacing: 1.28px;
  color: var(--vermilion);
}.quiz-page .q-verdict{
  font-size: 16.64px;
  letter-spacing: 1.28px;
  color: #6B625A;
}.quiz-page .q-verdict.is-right{
  color: var(--ink-deep);
  font-weight: 700;
}.quiz-page .q-verdict.is-wrong{
  color: var(--vermilion);
  font-weight: 700;
}.quiz-page .q-verdict.is-none{
  color: #8A7F73;
}.quiz-page .q-title{
  margin-bottom: 15.36px;
  font-size: 23.04px;
  line-height: 1.55;
  letter-spacing: 0.64px;
  color: var(--ink-deep);
}.quiz-page .q-options{
  display: flex;
  flex-direction: column;
  gap: 7.68px;
}.quiz-page .q-option{
  display: flex;
  align-items: center;
  min-height: 66.56px;
  padding: 14.08px 15.36px;
  background: var(--bone);
  box-sizing: border-box;
  transition: background-color 0.12s ease-out;
}.quiz-page .q-option-hover{
  background: #E5DBC8;
}.quiz-page .q-letter{
  width: 35.84px;
  flex-shrink: 0;
  font-size: 17.92px;
  line-height: 1.4;
  letter-spacing: 0.64px;
  color: #6B625A;
}.quiz-page .q-option-text{
  flex: 1;
  min-width: 0;
  font-size: 20.48px;
  line-height: 1.5;
  color: var(--ink-deep);
  word-break: break-word;
}.quiz-page .q-option.is-sel{
  background: var(--vermilion);
}.quiz-page .q-option.is-sel .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-sel .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-correct{
  background: var(--ink-deep);
}.quiz-page .q-option.is-correct .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-correct .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-wrong{
  background: var(--vermilion);
}.quiz-page .q-option.is-wrong .q-letter{
  color: rgba(244, 241, 234, 0.8);
}.quiz-page .q-option.is-wrong .q-option-text{
  color: var(--paper-flat);
}.quiz-page .q-option.is-dim{
  opacity: 0.45;
}.quiz-page .q-analysis{
  margin-top: 15.36px;
  padding-left: 15.36px;
  border-left: 5.12px solid #14110E;
}.quiz-page .q-answer-row{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8.96px;
  font-size: 16.64px;
  line-height: 1.5;
}.quiz-page .q-answer-label{
  color: #8A7F73;
}.quiz-page .q-answer-value{
  color: var(--ink-deep);
  font-weight: 700;
  letter-spacing: 0.64px;
}.quiz-page .q-explanation{
  margin-top: 10.24px;
  font-size: 17.92px;
  line-height: 1.75;
  color: #3A3430;
}.quiz-page .q-source{
  margin-top: 7.68px;
  font-size: 15.36px;
  line-height: 1.6;
  color: #8A7F73;
}.quiz-page .submit-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15.36px;
  min-height: 81.92px;
  padding: 12.8px 20.48px calc(12.8px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: var(--bone);
}.quiz-page .submit-meta{
  display: flex;
  align-items: baseline;
  gap: 5.12px;
}.quiz-page .submit-hint{
  font-size: 17.92px;
  letter-spacing: 1.28px;
  color: #6B625A;
}.quiz-page .submit-btn{
  flex: 0 0 auto;
  min-width: 179.2px;
  height: 61.44px;
  line-height: 61.44px;
  text-align: center;
  background: var(--vermilion);
  color: var(--paper-flat);
  font-size: 20.48px;
  letter-spacing: 5.12px;
}.quiz-page .submit-hover{
  opacity: 0.85;
}.quiz-page .submit-btn.is-busy{
  opacity: 0.55;
}.quiz-page .submit-done{
  justify-content: center;
}.quiz-page .submit-done-text{
  font-size: 17.92px;
  letter-spacing: 1.28px;
  color: #6B625A;
}.quiz-page, .quiz-page .survey-page{ background: #F5F3EF; color: #242322; }.quiz-page .serif, .quiz-page .survey-page .serif{ font-family: "PingFang SC", "Microsoft YaHei", sans-serif; }.quiz-page .stage-title{ font-size: 33.28px; font-weight: 600; letter-spacing: 0; }.quiz-page .stage-kicker, .quiz-page .head-kicker{ letter-spacing: 1.28px; color: #946A31; }.quiz-page .stage{ min-height: 65vh; }.quiz-page .stage-btn, .quiz-page .submit-btn{ border-radius: 30.72px; letter-spacing: 0; background: #A62E37; }.quiz-page .stage-link{ padding: 11.52px; min-height: 56.32px; }.quiz-page .exam-bar{ background: rgba(255,255,255,.94); border: 0; box-shadow: 0 5.12px 19.2px #24232208; }.quiz-page .exam-label{ color: #746C63; }.quiz-page .exam-time{ color: #A62E37; }.quiz-page .paper-question{ background: #FFF; border: 0; border-radius: 20.48px; padding: 19.2px; margin-bottom: 15.36px; }.quiz-page .q-title{ font-size: 21.76px; line-height: 1.65; font-weight: 600; }.quiz-page .q-option{ border-radius: 14.08px; background: #F5F3EF; border: 1.28px solid transparent; min-height: 64px; transition: transform 150ms ease, background-color 180ms ease, border-color 180ms ease; }.quiz-page .q-option.is-sel{ background: #FAEEEC; border-color: #A62E37; color: #86242E; }.quiz-page .q-option-hover{ transform: scale(.985); }.quiz-page .q-option.is-correct{ background: #EAF4EC; border-color: #4C7B5A; }.quiz-page .q-option.is-wrong{ background: #FBECEB; border-color: #A62E37; }.quiz-page .q-letter{ border-radius: 8.96px; }.quiz-page .submit-bar{ background: rgba(255,255,255,.96); border: 0; box-shadow: 0 -5.12px 20.48px #24232208; align-items: center; }.quiz-page .submit-meta{ display: flex; flex-direction: column; gap: 2.56px; min-height: 56.32px; justify-content: center; }.quiz-page .save-hint{ font-size: 14.08px; color: #746C63; }.quiz-page .submit-bar .submit-btn{ min-width: 128px; }.quiz-page .score-card{ border-radius: 23.04px; background: #F6EDE0; color: #40342A; padding: 25.6px 20.48px; }.quiz-page .score-card .score-correct{ color: #946A31; }.quiz-page .score-card .score-kicker, .quiz-page .score-card .score-label, .quiz-page .score-card .score-meta-label{ color: #776B5B; }.quiz-page .score-card .score-meta-num, .quiz-page .score-card .score-link{ color: #946A31; }.quiz-page .error-strip, .quiz-page .notice-strip, .quiz-page .conn-strip{ border-radius: 12.8px; }.quiz-page .submitted-moment{ min-height: 56vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }.quiz-page .submitted-check{ width: 76.8px; height: 76.8px; border-radius: 38.4px; background: #E6EEE7; color: #3D7050; font-size: 40.96px; line-height: 76.8px; }.quiz-page .head{ padding: 15.36px 5.12px; background: transparent; }.quiz-page .head-title{ font-size: 30.72px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }.quiz-page .head-note{ font-size: 16.64px; }.quiz-page .head-progress{ margin-top: 10.24px; }.quiz-page .survey-tabs{ display: flex; gap: 7.68px; margin: 10.24px 0 15.36px; }.quiz-page button.survey-tab{ flex: 1; margin: 0; padding: 11.52px 5.12px; font-size: 17.92px; line-height: 1.5; background: #EAE7E1; border-radius: 15.36px; color: #5C5650; }.quiz-page .survey-tab text{ display: block; font-size: 14.08px; color: #71695F; }.quiz-page button.survey-tab.selected{ background: #F1E1C9; color: #65481F; }.quiz-page .survey-tab.selected text{ color: #946A31; }.quiz-page .survey-block{ background: #FFF; border: 0; border-radius: 20.48px; padding: 19.2px; margin-bottom: 15.36px; }.quiz-page .survey-block[hidden]{ display: none; }.quiz-page .survey-block.is-target{ border: 0; }.quiz-page .block-title{ font-size: 24.32px; line-height: 1.5; font-weight: 600; }.quiz-page .block-target{ display: none; }.quiz-page .word-row{ border-radius: 12.8px; background: #F5F3EF; border: 1.28px solid transparent; padding: 5.12px 12.8px; }.quiz-page .word-row:focus-within{ border-color: #BF8E60; background: #FFFBF5; }.quiz-page .word-input{ font-size: 20.48px; }.quiz-page .chip{ border-radius: 15.36px; min-height: 48.64px; padding: 10.24px 15.36px; border: 0; background: #F5F3EF; transition: transform 150ms ease, background-color 180ms ease; }.quiz-page .chip.is-on{ color: #86242E; background: #FAEEEC; }.quiz-page .follow-notice, .quiz-page .sent-note{ padding: 14.08px 15.36px; margin-bottom: 14.08px; background: #EAF1EA; color: #3D6549; border-radius: 14.08px; font-size: 16.64px; line-height: 1.6; }.quiz-page .sent-note{ margin-top: 15.36px; }.quiz-page .follow-notice{ background: #EEE6D8; color: #6D512C; }@supports (backdrop-filter: blur(12px)){.quiz-page .exam-bar, .quiz-page .submit-bar{ background: rgba(255,255,255,.86); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
}@media (prefers-reduced-motion: reduce){.quiz-page .q-option, .quiz-page .chip, .quiz-page .submit-btn{ transition: none; }
}


}