.container { position: relative; z-index: 1; width: 100%; max-width: 520px; margin: 0 auto; padding: 40px 16px 72px; }
.top { text-align: center; margin-bottom: 22px; }
.top .crest-mini { width: 66px; height: 66px; margin: 0 auto 14px; display:block; border-radius: 50%; object-fit: cover; filter: drop-shadow(0 0 10px rgba(180,210,250,0.4)); }
.top .en { font-family: "Cinzel",serif; font-size: 12px; letter-spacing: .45em; text-indent:.45em; color: var(--gold); }
.top h1 { font-size: 26px; letter-spacing: .2em; color: var(--gold-bright); margin-top: 8px; }
.top .sub { font-size: 12px; color: var(--text-dim); margin-top: 6px; letter-spacing: .1em; }
.registration-launch-notice {
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 1px solid rgba(172,207,242,.34);
  border-radius: 10px;
  background: rgba(7,17,34,.78);
  color: var(--moon);
  font-size: 12px;
  line-height: 1.75;
  letter-spacing: .05em;
  text-align: center;
}
.registration-launch-notice.is-open { color: #8be3b7; border-color: rgba(111,207,151,.42); }
.registration-launch-notice.is-closed { color: #d9c59b; border-color: rgba(223,190,126,.4); }

.field { margin-bottom: 18px; }
.field label { display: block; font-size: 13px; color: var(--moon); letter-spacing: .08em; margin-bottom: 8px; }
.field label .req { color: var(--red); margin-left: 3px; }
.input, select {
  width: 100%; background: rgba(0,0,0,0.35); border: 1px solid var(--border-cool); border-radius: 8px;
  color: var(--text); font-family: inherit; font-size: 15px; padding: 12px 14px; transition: border-color .25s, box-shadow .25s;
}
.input:focus, select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 18px rgba(140,175,235,0.2); }
.input::placeholder { color: var(--text-dim); }
select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238791a8' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
select option { background: #0c1424; }
.row { display: flex; gap: 12px; }
.row .field { flex: 1; }
.msg { font-size: 12px; margin-top: 6px; letter-spacing: .03em; min-height: 16px; }
.msg.ok { color: #6fcf97; }
.msg.err { color: #e8756c; }
.hint-inline { font-size: 12px; color: var(--text-dim); margin-top: 6px; }
.registration-closed-card { margin-bottom: 16px; padding: 28px 24px; text-align: center; }
.registration-closed-card h2 { margin: 8px 0 10px; color: var(--gold-bright); font-size: 22px; letter-spacing: .12em; }
.registration-closed-card p { margin: 0 0 20px; color: var(--text-dim); font-size: 13px; line-height: 1.8; }
.registration-closed-card .btn { display: block; text-decoration: none; }
.registration-closed-kicker { color: var(--moon); font: 11px/1.4 "Cinzel",serif; letter-spacing: .3em; }

/* 生日三段 */
.dob { display: flex; gap: 10px; }
.dob select { flex: 1; }

/* 验证码行 */
.code-row { display: flex; gap: 10px; }
.code-row .input { flex: 1; }
.code-btn { flex-shrink: 0; padding: 0 16px; border: 1px solid var(--gold); border-radius: 8px; background: rgba(140,175,235,0.08);
  color: var(--gold-bright); font-family: inherit; font-size: 13px; letter-spacing: .05em; cursor: pointer; white-space: nowrap; transition: all .25s; }
.code-btn:hover:not(:disabled) { background: rgba(140,175,235,0.18); }
.code-btn:disabled { opacity: .5; cursor: not-allowed; }

/* 滑动人机验证 */
.slider-verify { position: relative; height: 46px; background: rgba(0,0,0,0.4); border: 1px solid var(--border-cool); border-radius: 8px; overflow: hidden; user-select: none; }
.slider-verify .track-text { position: absolute; inset: 0; display: grid; place-items: center; font-size: 13px; color: var(--text-dim); letter-spacing: .1em; pointer-events: none; }
.slider-verify .fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: linear-gradient(90deg, rgba(140,175,235,0.25), rgba(180,210,250,0.35)); }
.slider-verify .handle { position: absolute; left: 0; top: 0; bottom: 0; width: 46px; background: linear-gradient(180deg, #1a2540, #0c1424); border: 1px solid var(--gold); border-radius: 8px; display: grid; place-items: center; color: var(--gold-bright); font-size: 18px; cursor: grab; z-index: 2; transition: background .2s; }
.slider-verify.done .handle { cursor: default; color: #6fcf97; border-color: #6fcf97; }
.slider-verify.done .track-text { color: #6fcf97; }
.slider-verify .handle:active { cursor: grabbing; }

/* 密码强度 */
.pw-strength { display: flex; gap: 5px; margin-top: 8px; }
.pw-strength span { flex: 1; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.1); transition: background .3s; }

/* 学号预览 */
.id-preview { text-align: center; padding: 14px; margin-top: 6px; border: 1px dashed var(--border); border-radius: 8px; background: rgba(140,175,235,0.04); }
.id-preview .lbl { font-size: 11px; color: var(--text-dim); letter-spacing: .2em; }
.id-preview .val { font-family: "Cinzel",serif; font-size: 22px; color: var(--gold-bright); letter-spacing: .15em; margin-top: 6px; }
.id-preview .val .placeholder { color: var(--text-dim); }

.foot-link { text-align: center; margin-top: 18px; font-size: 13px; color: var(--text-dim); }
.foot-link a { color: var(--gold-bright); }
.stepper { display:flex; gap:8px; margin:0 0 24px; }
.stepper-item { flex:1; padding:10px 8px; border:1px solid var(--border-cool); border-radius:8px; color:var(--text-dim); font-size:12px; text-align:center; }
.stepper-item.active { border-color:var(--gold); color:var(--gold-bright); background:rgba(140,175,235,.08); }
.form-step[hidden] { display:none; }
.step-actions { display:flex; gap:10px; margin-top:8px; }
.step-actions .btn { flex:1; }
input[type="date"] { color-scheme: dark; }
.registration-consent {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:6px 0 2px;
  color:var(--text-dim);
  font-size:12px;
  line-height:1.75;
  cursor:pointer;
}
.registration-consent input { margin-top:4px; accent-color:#8fb4dd; }

/* 成功档案弹层 */
#success { position: fixed; inset: 0; z-index: 200; background: rgba(4,6,13,0.9); backdrop-filter: blur(8px); display: none; place-items: center; padding: 20px; }
#success .dossier { max-width: 440px; width: 100%; }
.dossier-header { background: linear-gradient(180deg, rgba(140,175,235,0.16), rgba(140,175,235,0.02)); border-bottom: 1px solid var(--border); padding: 22px; text-align: center; border-radius: 14px 14px 0 0; }
.dossier-header .top-txt { font-family: "Cinzel",serif; font-size: 10px; color: var(--text-dim); letter-spacing: .4em; }
.dossier-header .sid { font-family: "Cinzel",serif; font-size: 34px; color: var(--gold-bright); letter-spacing: .12em; margin-top: 10px; min-height: 42px; }
.dossier-header .sid .digit { display: inline-block; }
.dossier-header .issuing { font-size: 13px; color: var(--text-dim); letter-spacing: .2em; margin-top: 12px; }
.dossier-header .issuing .dots::after { content: ""; animation: iddots 1.2s steps(4) infinite; }
@keyframes iddots { 0%{content:"";} 25%{content:"·";} 50%{content:"··";} 75%{content:"···";} 100%{content:"";} }
.dossier-body { padding: 22px; }
.drow { display: flex; border-bottom: 1px dashed rgba(255,255,255,0.1); padding: 11px 4px; font-size: 14px; }
.drow .k { width: 90px; color: var(--text-dim); flex-shrink: 0; }

/* ---- 冷色调覆盖：与首页一致的透明气泡框 + 干净字体，去掉黄色 ---- */
:root {
  --gold: #8fb4dd;
  --gold-bright: #eaf1fb;
  --gold-dim: #6d829f;
  --border: rgba(160,190,255,0.28);
}
.top .crest-mini { filter: drop-shadow(0 0 12px rgba(160,190,255,0.35)); }
.top .en { color: var(--moon); }
.input:focus, select:focus { border-color: #a9caee; box-shadow: 0 0 18px rgba(160,190,255,0.2); }
.code-btn { border-color: rgba(172,207,242,0.5); background: rgba(160,190,255,0.08); color: #dbe8f6; }
.code-btn:hover:not(:disabled) { background: rgba(160,190,255,0.16); }
.slider-verify .fill { background: linear-gradient(90deg, rgba(120,160,220,0.28), rgba(180,210,250,0.4)); }
.slider-verify .handle { border-color: rgba(172,207,242,0.55); color: #dbe8f6; }
.slider-verify.done .handle { color: #7fe0b0; border-color: #7fe0b0; }
.id-preview { background: rgba(160,190,255,0.05); }
.id-preview .val { color: var(--gold-bright); }
.stepper-item.active { border-color: rgba(172,207,242,0.5); color: #eaf1fb; background: rgba(160,190,255,0.09); }
.foot-link a { color: #a9caee; }
.dossier-header { background: linear-gradient(180deg, rgba(120,160,220,0.16), rgba(120,160,220,0.02)); }

/* 覆盖 theme.css 的金色卡片描边、按钮与选中态 */
.card::before { background: linear-gradient(135deg, rgba(172,207,242,0.4), transparent 40%, transparent 60%, rgba(160,190,255,0.2)); }
.btn { background: rgba(9,20,38,0.35); border-color: rgba(172,207,242,0.55); color: #eef4fc; }
.btn::after { background: linear-gradient(100deg, transparent, rgba(180,210,250,0.28), transparent); }
.btn:hover { background: rgba(22,47,74,0.5); box-shadow: 0 0 26px rgba(120,170,225,0.28); }
.btn-ghost { border-color: var(--border-cool); color: var(--text-dim); }
.toast { border-color: rgba(172,207,242,0.5); color: #dbe8f6; }
::selection { background: rgba(140,175,235,0.32); color: #fff; }
@media (max-width: 520px) {
  .container { padding: calc(24px + env(safe-area-inset-top)) 12px calc(36px + env(safe-area-inset-bottom)); }
  .top .crest-mini { width: 56px; height: 56px; }
  .top h1 { font-size: 23px; }
  .stepper-item { padding: 9px 4px; font-size: 11px; }
  .row { flex-direction: column; gap: 0; }
  .dob { gap: 6px; }
  .dob select { padding-left: 9px; padding-right: 22px; background-position: right 7px center; }
  .code-row { align-items: stretch; }
  .code-row .input { min-width: 0; }
  .code-btn { min-height: 48px; padding: 0 12px; }
  .step-actions { flex-direction: column-reverse; }
  .dossier-header .sid { font-size: clamp(23px, 7vw, 31px); letter-spacing: .08em; }
  #success { align-items: start; overflow-y: auto; padding: calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom)); }
}
