@charset "UTF-8";
.hero-art img{clip-path:inset(0 0 0 53%)}
:root{--ink:#103578;--sub:#627b96;--mint:#b6e1d8;--line:#d9e9ef;--blue:#2d92b4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f1f8fa;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.42}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #29a9b6;outline-offset:4px}.wrap{max-width:1380px;margin:auto;padding:0 5%}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;line-height:1}.brand small{display:block;letter-spacing:12px;font-size:13px;padding:7px 0 0 26px}.nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav a{text-decoration:none}.badge{font-size:11px;letter-spacing:2px;border:1px solid #b5dcd8;border-radius:30px;padding:9px 14px;background:#e8f6f1}.hero{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden;margin:0 -5.56%;padding:35px 5%;background:linear-gradient(110deg,#f5fafc 20%,#e7f4f5)}.hero:after{content:"";position:absolute;left:-10%;right:-20%;bottom:-155px;height:200px;border-radius:50%;border-top:22px solid #a8dbdc88;transform:rotate(-7deg);box-shadow:0 -12px 0 #cae9eaaa}.hero-copy{position:relative;z-index:1;width:65%}.eyebrow{font-size:11px;letter-spacing:4px;color:#579499;margin-bottom:15px}h1{font-size:76px;line-height:1.08;letter-spacing:4px;margin:0 0 14px;font-weight:900}h1 em{font-style:normal;color:#3893a4}.hero h2{font-size:19px;font-weight:500;letter-spacing:3px;margin:0 0 22px}.hero p{color:var(--sub);font-size:12px;letter-spacing:1px}.hero-art{position:absolute;right:0;top:0;width:45%;height:100%;object-fit:cover;object-position:right center;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 25%)}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:right center}.steps{display:flex;align-items:center;gap:18px;padding:25px 0;color:#8194a9;font-size:12px}.step{display:flex;align-items:center;gap:8px}.step b{border:1px solid #cbdde6;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:11px}.step.active{color:var(--ink)}.step.active b{color:white;background:var(--ink);border-color:var(--ink)}.step-line{height:1px;width:60px;background:var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 22px}.section-head h2{font-size:23px;letter-spacing:1px;margin:0}.section-head h2 span{font-size:11px;font-weight:400;letter-spacing:2px;margin-left:14px;color:#7c95a6}.muted{color:var(--sub);font-size:12px}.teams{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 7px 25px #11397604;transition:transform .25s}.team-top{padding:25px 25px 18px;background:linear-gradient(125deg,#eaf6f8,#f8fbfb);position:relative;min-height:177px}.team:nth-child(2) .team-top{background:linear-gradient(125deg,#e8f4ef,#f7fbf9)}.team:nth-child(3) .team-top{background:linear-gradient(125deg,#e9eff9,#f7faff)}.team-num{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#568396;margin-bottom:18px}.team-num b{font-size:24px;font-family:Georgia,serif;font-style:italic;color:#8fbabf}.team h3{font-size:24px;letter-spacing:1px;line-height:1.45;margin:0 0 13px}.team h3 small{display:block;font-size:13px;font-weight:500;letter-spacing:1px}.deliverables{display:flex;gap:5px;flex-wrap:wrap}.deliverables span{border:1px solid #ccdde3;border-radius:4px;padding:4px 6px;font-size:10px;background:#ffffff77;color:#567a8e}.team-body{padding:20px 24px}.member-row{display:flex;align-items:center;min-height:36px;border-bottom:1px dashed #e8eff3;gap:9px}.role{font-size:11px;color:#89a0ad;width:32px;flex-shrink:0}.member{font-size:13px}.empty{color:#b1c0cc;font-size:12px;letter-spacing:2px}.team-action{width:100%;border-radius:7px;background:var(--ink);color:white;padding:13px;margin-top:19px;letter-spacing:3px;transition:background .2s}.team-action:not(:disabled):hover{background:#245695}.team-action.done{background:#eaf6f3;color:#4d8f88;opacity:1;letter-spacing:1px}.team.rolling{animation:shimmer .25s infinite alternate}.team.rolling .empty{color:#208d9c}.team.reveal{animation:reveal .65s ease}.pool{border:1px solid var(--line);border-radius:12px;margin:22px 0 40px;padding:20px 25px;background:#ffffff88;display:flex;gap:25px}.pool-title{min-width:95px}.pool-title strong{font-size:14px}.pool-title small{display:block;color:#829aaa;margin-top:7px;font-size:11px}.pool-list{display:flex;flex-wrap:wrap;gap:8px 14px}.person{font-size:11px;padding:5px 8px;background:#e9f2f6;border-radius:4px}.person.used{opacity:.35;text-decoration:line-through}.pool-legend{font-size:10px;color:#8097a5;margin-top:12px}.vote-section{padding:10px 0 45px}.vote-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:20px}.panel{border:1px solid var(--line);border-radius:14px;padding:25px;background:white}.participate{display:flex;align-items:center;gap:24px}.qr{width:132px;height:132px;border:1px solid var(--line);border-radius:8px}.panel h3{font-size:18px;margin:0 0 10px}.panel p{font-size:12px;color:var(--sub);line-height:1.9}.btn{background:var(--ink);color:white;border-radius:7px;padding:11px 16px;font-size:12px}.btn.soft{background:#eaf2f7;color:var(--ink)}.host-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.tally-head{display:flex;justify-content:space-between;align-items:center}.tally-head strong{font-size:26px}.tally-head strong small{font-size:12px;font-weight:normal;color:var(--sub)}.result{display:flex;align-items:center;gap:12px;margin-top:20px}.rank{font-family:Georgia,serif;font-size:24px;color:#88aeb9;width:38px}.result-info{flex:1}.result-title{font-size:12px;display:flex;justify-content:space-between}.bar{height:5px;background:#edf4f7;border-radius:5px;margin-top:9px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#80c5c6,#387fb2);transition:width .7s}.note{font-size:11px;color:#8ba0af;line-height:1.9}footer{padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8aa1af;font-size:10px;letter-spacing:2px}.host-tools{margin-bottom:25px}.host-tools summary{cursor:pointer;font-size:12px;color:#678599}.code-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.code-item{padding:12px;background:white;border:1px solid var(--line);border-radius:7px;display:flex;justify-content:space-between;font-size:12px}.code-item b{font-family:monospace}.mobile-shell{max-width:520px;margin:0 auto;padding:22px 20px 50px}.mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.mobile-shell h1{font-size:40px;line-height:1.3;letter-spacing:2px;margin:12px 0}.mobile-shell .panel{margin-top:20px}.field{display:block;margin-top:18px;font-size:13px}.field select,.field input{display:block;width:100%;margin-top:9px;border:1px solid #cbdfe7;background:#f9fcfd;border-radius:8px;padding:13px;color:var(--ink)}.choice-grid{display:grid;gap:8px;margin-top:14px}.choice{display:flex;align-items:center;gap:10px;border:1px solid #d6e5ec;padding:14px;border-radius:8px;cursor:pointer}.choice:has(input:checked){border-color:#3c9ca9;background:#edf8f6}.choice input{accent-color:#237d96}.choice small{margin-left:auto;color:#80a1b0;font-size:10px}.full{width:100%;padding:15px;margin-top:20px}.success{text-align:center;padding:45px 16px}.success-icon{display:grid;place-items:center;margin:0 auto 20px;width:60px;height:60px;border-radius:50%;background:#e2f4ed;color:#438d7c;font-size:30px}.loading{text-align:center;padding:20vh 20px;color:var(--sub)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#103578;color:white;border-radius:8px;padding:13px 22px;z-index:50;box-shadow:0 6px 24px #10357830;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;font-size:13px}#toast.show{opacity:1}.error-banner{background:#fff0eb;color:#8b4b36;padding:12px;text-align:center;font-size:12px}.ribbon{color:#428b8b;background:#e8f4f1;padding:10px 14px;border-radius:7px;font-size:11px;line-height:1.8;margin-top:12px}.round-note{font-size:10px;color:#8ba1af}.hidden{display:none!important}@keyframes shimmer{to{transform:translateY(-3px);box-shadow:0 0 25px #6dbec255}}@keyframes reveal{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1600px){.wrap{max-width:1550px}.hero{min-height:410px}.hero h1{font-size:88px}.team h3{font-size:29px}.member{font-size:15px}}@media(max-width:900px){.hero-copy{width:75%}h1{font-size:56px}.hero-art{width:45%;opacity:.65}.teams{gap:10px}.team-top{padding:18px;min-height:195px}.team-body{padding:14px}.team h3{font-size:21px}.vote-grid{grid-template-columns:1fr}.nav a{display:none}.code-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){header{height:72px}.hero{min-height:300px}.hero-copy{width:100%}.hero h1{font-size:52px}.hero h2{font-size:15px;letter-spacing:1px}.hero-art{width:60%;opacity:.25}.hero p{max-width:230px;line-height:1.9}.teams{grid-template-columns:1fr}.team-top{min-height:0;padding:22px}.team-body{padding:16px 22px}.section-head h2 span{display:none}.section-head h2{font-size:20px}.pool{display:block;padding:20px}.pool-title{margin-bottom:15px}.steps{gap:9px;font-size:10px}.step-line{width:20px}.badge{font-size:9px;padding:8px;letter-spacing:0}.participate{gap:15px}.qr{width:112px;height:112px}.panel{padding:20px}.code-grid{grid-template-columns:repeat(2,1fr)}footer{letter-spacing:0}.nav{gap:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A single uninterrupted hero image, with the complete mascot visible. */
.hero{min-height:0;aspect-ratio:3 / 1;background:#ecf7fc url('./hero-v2.png') center / 100% 100% no-repeat;padding:24px 5%;}.hero:after{display:none}.hero-copy{width:65%}.hero h1{font-size:clamp(40px,5.4vw,76px)}.hero h2{font-size:clamp(12px,1.4vw,19px)}.hero p{font-size:clamp(10px,.9vw,12px)}
@media(max-width:900px){.hero{aspect-ratio:3/1;padding:16px 5%}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:10px}.hero h1{font-size:40px;margin-bottom:10px}.hero h2{font-size:13px;letter-spacing:1px;margin-bottom:10px}.hero p{font-size:10px;letter-spacing:0;margin:0}}
@media(max-width:640px){.hero{aspect-ratio:3/1;padding:10px 5%}.hero-copy{width:65%}.hero .eyebrow{display:none}.hero h1{font-size:clamp(25px,7vw,40px);letter-spacing:1px;margin:0 0 5px}.hero h2{font-size:clamp(9px,2.3vw,13px);letter-spacing:0;margin:0 0 5px}.hero p{font-size:8px;line-height:1.4;max-width:none}}

.group-heading-actions{display:flex;align-items:center;gap:12px}.group-heading-actions .btn{padding:8px 11px;white-space:nowrap}@media(max-width:640px){.group-heading-actions{gap:7px}.group-heading-actions .muted{font-size:10px}.section-head h2{font-size:18px}}

.work-breakdown{display:flex;gap:16px;font-size:11px;color:#6c8b9e;margin-top:7px}
