/* Entry only: supplied campaign artwork, without changing the activity pages. */
.employee-login{padding:34px 28px 42px;background:#e8f6ff url('./reference/login-background.png') center top/100% 100% no-repeat;min-height:100dvh}
.employee-login .content{z-index:auto}
.employee-login .official-brand{margin:-16px auto 4px;width:140px;height:117px;mix-blend-mode:multiply}
.employee-login .official-brand img{width:140px}
.employee-login .login-title{margin:0 -8px 10px;font-size:clamp(14px,4.2vw,18px);line-height:1.5;letter-spacing:0;color:#123cbd;font-weight:800}
.activity-title-line{display:block;white-space:nowrap}
.home-refined .annual-header h2{font-size:clamp(14px,3.9vw,17px);line-height:1.5;letter-spacing:0;white-space:nowrap}
.home-refined .annual-hero h1{font-size:clamp(18px,5vw,22px);max-width:100%;letter-spacing:0;white-space:nowrap}
.video-dialog header h2{font-size:clamp(12px,3.5vw,14px);line-height:1.5}
.sheet-body{counter-reset:rule}.sheet-body .rule-section ol{counter-reset:none}
.employee-login>.sub{color:#416997;margin-bottom:18px}
.employee-login .activity-tabs{margin-top:16px;border-bottom-color:#b7d5ef}
.employee-login .activity-tabs button{padding:16px 0;color:#6882a5}
.employee-login .activity-tabs button[aria-selected=true]{color:#0646cf;border-bottom-color:#0646cf}
.employee-login .form{margin-top:21px}
.employee-login .official-brand{margin:-24px auto -2px;width:160px;height:128px}
.employee-login .official-brand img{width:160px}
.employee-login .sub{font-size:16px;color:#526c92}
.employee-login .activity-tabs button{font-size:19px}
.employee-login .field{margin:0 0 15px}
.employee-login .field label{color:#365c87;font-size:13px;display:block;margin-bottom:7px}
.employee-login .field input,.employee-login .field select{background:rgba(255,255,255,.48);border:1px solid #c4d9ee;border-radius:11px;height:56px;color:#183d6e;box-shadow:0 2px 8px #4a86ba05;font-size:16px}
.employee-login .field{margin-bottom:17px}
.employee-login .field label{font-size:15px;margin-bottom:8px}
.employee-login .field select{padding:0 16px}
.employee-login .region-row{gap:14px}
.employee-login .region-row select{height:58px;background:rgba(255,255,255,.5);font-size:15px;border-radius:11px}
.employee-login .field input:focus,.employee-login .field select:focus{outline:2px solid #398df1;outline-offset:1px}
.employee-login .form>.btn,.employee-login>#enter-activity{background:linear-gradient(105deg,#073dc9,#0b55db);border-radius:12px;box-shadow:0 7px 16px #1563d527;min-height:66px;margin-top:16px;font-size:21px}
.campaign-splash{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:center;background:#e4f4ff}
.campaign-splash[hidden]{display:none}
.campaign-splash img{display:block;width:100%;height:100%;object-fit:contain}
.splash-skip{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));padding:10px 16px;border:1px solid #ffffffb8;border-radius:22px;background:#163b68c9;color:white;font-size:14px;cursor:pointer;min-height:44px}
body:has(.campaign-splash:not([hidden])){overflow:hidden}
@media(min-width:600px){.campaign-splash img{max-width:560px}.splash-skip{right:calc(50% - 240px)}}
.activity-selection{padding:0;min-height:100dvh}
.activity-selection .content{min-height:100dvh;display:flex;align-items:center;padding:24px 16px;box-sizing:border-box}
.activity-selection .activity-entry{margin:0;padding:0;min-height:0;box-shadow:none}
.activity-selection .activity-entry::before,.activity-selection .activity-entry::after{display:none}
.activity-entry-list{display:grid;gap:24px;width:100%}
.activity-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;aspect-ratio:16/9;border:1px dashed #94b7ec;border-radius:16px;background:#f3f8ff;color:#1056d1;font-family:inherit;font-size:18px;font-weight:600;line-height:1.4;cursor:pointer}
.poster-placeholder{font-size:40px;font-weight:300;color:#94b7ec}

/* 双活动入口采用用户提供的海报和参考稿的纵向比例。 */
.activity-selection{min-height:100dvh;padding:58px 20px 72px;background:radial-gradient(circle at 50% 0,#fff 0 13%,#edf8ff 43%,#f9fcff 76%)}.activity-selection .content{display:block;width:100%;min-height:0;padding:0}
.activity-selection-title{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 34px;color:#0b3d92}.activity-selection-title h1{margin:0;text-align:center;font-size:clamp(25px,6.5vw,34px);line-height:1.25;letter-spacing:-1.2px}.activity-selection-title span{width:31px;height:5px;border-radius:9px;background:linear-gradient(90deg,transparent,#1a8bff)}.activity-selection-title span:last-child{transform:scaleX(-1)}
.activity-selection .activity-entry-list{display:grid;gap:58px;width:100%;max-width:720px;margin:auto}.activity-selection .activity-entry{display:block;width:auto;min-height:0;aspect-ratio:auto;margin:0;padding:14px;border:1px solid #eef6ff;border-radius:25px;background:#fff;box-shadow:0 14px 32px #0c56aa17;color:inherit;cursor:default}.activity-entry h2{margin:2px 6px 12px;color:#083eaa;font-size:22px;line-height:1.25}.activity-poster{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:17px;background:#eaf6ff;cursor:pointer}.activity-poster img{display:block;width:100%;height:auto;object-fit:contain}.entry-button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;height:62px;margin-top:24px;border:0;border-radius:31px;background:linear-gradient(105deg,#0055d4,#168bff);box-shadow:0 10px 17px #0a58c83b;color:#fff;font:700 22px/1 Arial,"Microsoft YaHei",sans-serif;cursor:pointer}.entry-button b{font-size:28px;font-weight:400}.activity-poster:focus-visible,.entry-button:focus-visible{outline:3px solid #062e80;outline-offset:3px}@media(max-width:390px){.activity-selection{padding:44px 16px 58px}.activity-selection-title{gap:15px;margin-bottom:26px}.activity-selection-title h1{font-size:25px}.activity-selection .activity-entry-list{gap:38px}.activity-selection .activity-entry{padding:10px;border-radius:19px}.activity-entry h2{font-size:19px}.activity-poster{border-radius:13px}.entry-button{height:50px;margin-top:17px;font-size:18px}}

/* Keep the supplied posters at their native aspect ratio while tightening only vertical whitespace. */
.activity-selection{padding-top:42px;padding-bottom:52px}.activity-selection-title{margin-bottom:22px}.activity-selection .activity-entry-list{gap:32px}.activity-selection .activity-entry{padding:10px}.entry-button{margin-top:14px}
@media(max-width:390px){.activity-selection{padding-top:32px;padding-bottom:42px}.activity-selection-title{margin-bottom:18px}.activity-selection .activity-entry-list{gap:26px}.activity-selection .activity-entry{padding:8px}.entry-button{margin-top:12px}}
