:root { --ink: #172c4c; --muted: #60728b; --blue: #2563eb; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: radial-gradient(ellipse at top right, #e4efff, transparent 60%), #f5f8fc; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
a { color: var(--blue); }
.site-header { max-width: 1440px; margin: auto; padding: 28px 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; font-size: 22px; font-weight: 700; }
.brand-logo { display: block; flex-shrink: 0; width: 72px; height: 72px; object-fit: contain; border-radius: 12px; }
.header-note, p { color: var(--muted); line-height: 1.8; }
.workspace { width: min(1200px, calc(100% - 48px)); margin: 56px auto 80px; }
.card { border: 1px solid #e4eaf4; border-radius: 28px; background: white; box-shadow: 0 20px 65px #22447708; }
.hero { padding: 76px 64px; }
.eyebrow { color: var(--blue); font-size: 15px; font-weight: 700; letter-spacing: 2px; }
h1 { font-size: clamp(30px, 3vw, 48px); font-weight: 700; line-height: 1.3; margin: 22px 0; }
h2 { font-size: 23px; font-weight: 700; margin: 20px 0 10px; }
.hero p { font-size: 19px; }
.notice { padding: 20px 24px; margin: 30px 0 0; border-radius: 16px; background: #eef4ff; color: #37577f; line-height: 1.8; }
.hero .phase-note { margin-top: 22px; font-size: 14px; }
.page-heading { margin-bottom: 36px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feature-card { padding: 32px; }
.step-number { color: #6794e9; font-size: 30px; }
.status-tag { display: inline-block; color: #566a86; background: #f1f5fa; padding: 6px 12px; border-radius: 8px; font-size: 13px; }
.classroom { text-align: center; }
.class-symbol { font-size: 80px; color: var(--blue); margin: 32px auto; }
.home-link { display: inline-block; align-self: flex-start; padding: 14px 26px; border-radius: 12px; color: white; background: var(--blue); text-decoration: none; }
footer { padding: 24px; text-align: center; font-size: 13px; color: var(--muted); }
@media (max-width: 760px) { .site-header { padding: 22px 24px; } .brand { gap: 10px; font-size: 20px; } .brand-logo { width: 54px; height: 54px; } .header-note { display: none; } .workspace { margin-top: 28px; } .hero { padding: 40px 24px; } .feature-grid { grid-template-columns: 1fr; } }
