:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#17233f;background:#eef3fb}*{box-sizing:border-box}body{margin:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:28px;height:70px;padding:0 max(24px,calc((100vw - 1180px)/2));color:#fff;background:#1557d5;box-shadow:0 8px 28px #0b3a912f}.brand{font-size:21px;font-weight:900;white-space:nowrap}.brand span{color:#ffd84a;margin-right:8px}.topbar nav{display:flex;align-self:stretch;flex:1}.topbar nav button,.ghost{border:0;color:#dce8ff;background:transparent;padding:0 24px;font:inherit;cursor:pointer}.topbar nav button.active{color:#fff;border-bottom:4px solid #ffd44a;font-weight:800}.ghost{padding:9px 17px;border:1px solid #ffffff55;border-radius:999px}main{max-width:1180px;margin:auto;padding:34px 24px 70px}.hero{display:flex;align-items:center;justify-content:space-between;min-height:180px;padding:34px 42px;color:#fff;border-radius:28px;background:linear-gradient(130deg,#124ac5,#1b6cf4);overflow:hidden}.hero h1{font-size:38px;margin:0 0 10px}.hero-icon{font-size:90px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.card{padding:24px;background:#fff;border-radius:22px;box-shadow:0 10px 30px #174f9b12}.event-card{overflow:hidden;padding:0;cursor:pointer}.event-cover{min-height:180px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:radial-gradient(circle at 80% 20%,#ffd43c 0 7%,transparent 8%),linear-gradient(140deg,#f56b2c 0 32%,#f4aa24 33% 45%,#104ec8 46%)}.event-cover b{font-size:26px;text-shadow:0 3px #293da5}.card-body{padding:22px}.row{display:flex;align-items:center;justify-content:space-between;gap:18px}.tag{display:inline-block;padding:5px 11px;color:#087336;background:#ddf7e6;border-radius:999px;font-size:13px;font-weight:800}.meta{margin-top:12px;color:#68758c}.action{margin-top:18px;color:#1557d5;font-weight:800}.primary{border:0;padding:12px 22px;color:#fff;background:#1557d5;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.primary:disabled{background:#aab3c3}.login-layer{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#0f47bf,#2072ef)}.login-layer.hidden{display:none}.login-card{width:min(430px,100%);padding:38px;background:#fff;border-radius:28px;box-shadow:0 24px 80px #07266c66}.logo{font-size:58px}.login-card h1{margin:8px 0}.login-card p{color:#758197}.login-card label{display:flex;flex-direction:column;gap:7px;margin:18px 0}.login-card input,.select{width:100%;height:46px;padding:0 14px;border:1px solid #d7deea;border-radius:10px;font:inherit}.login-card .primary{width:100%}.login-card small{display:block;margin-top:18px;color:#8994a7}.error{min-height:22px;margin-top:12px;color:#c92c2c}.loading,.empty{padding:55px;text-align:center;color:#748096}.section-title{margin:32px 0 16px;font-size:25px}.course-card h3{margin:0}.count{color:#1557d5;font-weight:800}dialog{width:min(920px,calc(100% - 30px));max-height:92vh;padding:0;border:0;border-radius:26px;overflow:auto;box-shadow:0 30px 90px #071b5266}dialog::backdrop{background:#071b5288}.dialog-close{position:sticky;float:right;top:12px;right:12px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;font-size:24px;cursor:pointer}.detail-hero{min-height:260px;padding:55px 38px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:radial-gradient(circle at 80% 20%,#ffd43c 0 7%,transparent 8%),linear-gradient(140deg,#f56b2c 0 32%,#f4aa24 33% 45%,#104ec8 46%)}.detail-hero h1{max-width:720px;margin:10px 0 0;font-size:42px;text-shadow:0 5px #3144b3}.detail-content{padding:26px;background:#1255de}.dark-panel{margin-bottom:22px;padding:24px;color:#fff;background:#082c7cd9;border-radius:20px}.summary-line{padding:14px;color:#19325d;background:#def4ff;border-radius:12px}.schedule-day{margin-top:18px}.schedule-day b{display:inline-block;padding:5px 12px;background:#ef6728;border-radius:999px}.schedule-day div{margin:9px 0 0 10px}.group-tabs{display:flex;gap:10px;overflow:auto;margin:20px 0}.group-tabs button{min-width:70px;padding:10px;border:2px solid #fff;color:#fff;background:transparent;border-radius:13px;font-weight:900}.group-tabs button.active{color:#f15c27;background:#fff}.team{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:12px;padding:17px;color:#17366b;background:#e1f6ff;border-radius:16px}.team h3{margin:7px 0}.members{color:#64728a}.rules li{margin:13px 0;line-height:1.55}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.price{font-size:27px;font-weight:900;color:#e74c23}@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;padding:15px 18px}.topbar nav{order:3;width:100%;justify-content:space-between}.topbar nav button{padding:12px 8px}.grid,.profile-grid{grid-template-columns:1fr}.hero h1{font-size:29px}.hero-icon{font-size:62px}.detail-hero h1{font-size:32px}main{padding:20px 14px 50px}}
/* The ICP number must remain visible on every publicly accessible page. */
.beian-footer{position:fixed;left:0;right:0;bottom:4px;z-index:30;text-align:center;font-size:12px;pointer-events:none}.beian-footer a{color:#667085;text-decoration:none;pointer-events:auto}.beian-footer a:hover{text-decoration:underline}
