:root{--paper: #f3efe6;--ink: #142033;--river: #0c6d78;--deep: #083f46;--gold: #a67c3d;--card: #fffdf8;--line: #d9d1c3;--serif: "Songti SC", "Noto Serif SC", Palatino, "Palatino Linotype", serif;--sans: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background-color:var(--paper);background-image:radial-gradient(ellipse at top,rgba(12,109,120,.06),transparent 52%),linear-gradient(180deg,rgba(166,124,61,.05),transparent 240px);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}h1,h2,h3,.brand strong,.stat b,.figure,.tool-list strong{font-family:var(--serif);font-weight:500}h1,h2,h3{color:var(--ink)}a{color:var(--river)}p{margin:.4rem 0}:focus-visible{outline:2px solid var(--river);outline-offset:2px}::selection{background:#d5e4e2}.wrap{width:min(1120px,calc(100% - 2.5rem));margin:0 auto}.site{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.masthead{position:sticky;top:0;z-index:20}.topbar{background:var(--deep);color:#e7efe8;font-size:13px}.topbar-inner{width:min(1120px,calc(100% - 2.5rem));margin:0 auto;padding:.42rem 0;display:flex;justify-content:space-between;gap:.75rem 1.4rem;flex-wrap:wrap}.topbar a{color:#f3e6cf}.site-header{background:#f3efe6f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-inner{width:min(1120px,calc(100% - 2.5rem));margin:0 auto;min-height:4.2rem;display:flex;align-items:center;gap:1rem;position:relative}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--deep);line-height:1}.brand strong{font-size:1.7rem;letter-spacing:.16em}.brand span{margin-top:.28rem;font-family:var(--sans);font-size:.68rem;letter-spacing:.18em;color:var(--gold)}.nav{display:flex;align-items:center;gap:.95rem;margin-left:auto;flex-wrap:wrap}.nav a{color:var(--ink);text-decoration:none}.nav a.active{color:var(--river);box-shadow:inset 0 -2px 0 var(--gold)}.nav-spacer{flex:1;min-width:.5rem}.nav-user{color:var(--deep)}.nav-toggle,.text-btn{font:inherit;color:var(--deep);background:transparent;cursor:pointer}.nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);padding:.28rem .7rem}.text-btn{border:0;padding:0}.site-footer{margin-top:2rem;background:var(--deep);color:#e6eee9}.footer-inner{padding:2.2rem 0;display:grid;grid-template-columns:1.4fr 1fr;gap:1rem 2rem}.footer-brand{font-family:var(--serif);font-size:1.6rem;letter-spacing:.14em}.site-footer a{color:#f3e6cf}.hero{padding:3.3rem 0 1.2rem}.kicker{margin:0;color:var(--gold);letter-spacing:.16em;font-size:.78rem}.hero h1,.page-title{margin:.4rem 0 .7rem;font-size:clamp(2rem,4.4vw,3.45rem);line-height:1.18}.page-title{font-size:clamp(1.8rem,3vw,2.5rem)}.rule{width:4.4rem;height:2px;background:var(--gold);margin:.2rem 0 1rem}.lede,.page-lead,.section-lead{max-width:46rem;font-size:1.05rem}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:1.5rem 0 1.15rem}.stat{background:var(--paper);padding:1rem 1.1rem 1.05rem 0}.stat+.stat{padding-left:1.1rem}.stat b{display:block;font-size:clamp(1.55rem,3vw,2.15rem);color:var(--gold);line-height:1.2}.stat span{display:block;margin-top:.28rem;color:var(--deep)}.hero-actions,.row-actions,.filters{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.filters{align-items:end;margin:.4rem 0 1rem}.filters .field{flex:1 1 180px}.section{padding:2.5rem 0;border-top:1px solid var(--line)}.section h2{margin:.25rem 0 .7rem;font-size:1.85rem}.tail{margin-top:.9rem}.timeline{list-style:none;margin:1rem 0 0;padding:0}.tl{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.9rem 0;border-top:1px solid var(--line)}.tl strong{display:block;font-size:1.28rem}.tl.current strong{color:var(--river)}.tl.done{color:#5c6b7a}.when{padding-top:1.15rem}.mark{font-size:.75rem;letter-spacing:.12em;color:var(--gold)}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:1.5rem}.point-list,.plain-list{margin:.4rem 0 0;padding-left:1.1rem}.point-list li{margin:.35rem 0}.track-grid,.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.track-card,.panel,.target-card{background:var(--card);border:1px solid var(--line);padding:1.15rem 1.2rem}.track-card h3,.panel h2,.target-card h2,.lb h2{margin:.2rem 0 .55rem}.tool-list,.announcement-list,.sponsor-list,.org-block ul,.faq{list-style:none;margin:0;padding:0}.tool-list li,.announcement-list li{display:grid;gap:.35rem 1rem;padding:.9rem 0;border-top:1px solid var(--line)}.tool-list li{grid-template-columns:16rem 1fr}.tool-list strong{font-size:1.15rem}.org-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem}.org-block h3{margin:0;font-family:var(--sans);font-size:.95rem;letter-spacing:.12em;color:var(--river)}.org-block li{padding:.18rem 0}.sponsor-note{color:var(--deep)}.sponsor-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.sponsor-list li{background:var(--card);border:1px solid var(--line);padding:.4rem .7rem}.faq{display:grid;gap:.55rem}.faq details{background:var(--card);border:1px solid var(--line);padding:.7rem .95rem}.faq summary{cursor:pointer;color:var(--deep);font-weight:600}.page-pad{padding:2rem 0 3.2rem}.narrow{max-width:640px}.stack{display:grid;gap:.85rem}.stack>.banner{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.full{grid-column:1 / -1}.field{display:grid;gap:.28rem}.field>span{font-size:.86rem;color:var(--deep)}.field>span .req{color:#e11d2e;font-style:normal;margin-left:4px;font-weight:600}.field small,.muted{color:#5c6a78}.length-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}input,select,textarea{width:100%;background:var(--card);color:var(--ink);border:1px solid var(--line);padding:.55rem .65rem;font:inherit}textarea{min-height:7rem;resize:vertical}textarea.fasta{min-height:11rem}.check{display:flex;gap:.45rem;align-items:flex-start}.check input{width:auto;margin-top:.35rem}.check-link{margin:0 .15rem;text-decoration:underline}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--deep);background:var(--river);color:#f6f3ea;padding:.58rem 1.02rem;font:inherit;letter-spacing:.06em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.ghost{background:transparent;color:var(--deep)}.btn.gold{background:transparent;color:#7a5a22;border-color:var(--gold)}.btn.danger{background:transparent;color:#7a2e2e;border-color:#c9a3a3}.btn:disabled{opacity:.45;cursor:not-allowed}.banner{padding:.7rem .85rem;margin:0 0 .9rem}.banner p{margin:0}.banner ul{margin:.4rem 0 0;padding-left:1.15rem}.banner.error{background:#f8efe8;border:1px solid #e2cfc3;color:#6d2f22}.banner.ok{background:#eef4f1;border:1px solid #c5d6d1;color:var(--deep)}.banner.info{background:var(--card);border:1px solid var(--line)}.check-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#f3efe6e0;padding:24px}.check-card{display:grid;justify-items:center;gap:10px;width:min(320px,100%);padding:28px 24px;background:var(--card);border:1px solid var(--line);text-align:center}.check-card strong{font-size:1.2rem;color:var(--deep)}.check-card p{margin:0;color:#5c6a78}.check-spin{width:42px;height:42px;border:3px solid #d7e3e4;border-top-color:var(--river);border-radius:50%;animation:check-spin .8s linear infinite}@keyframes check-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.check-spin{animation:none;border-color:var(--river)}}.notice-next{border-left:3px solid var(--gold);background:var(--card);padding:.85rem 1rem;margin:.8rem 0}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:.65rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:var(--deep);background:#0c6d780d;white-space:nowrap}.pager{display:flex;gap:.8rem;align-items:center;margin-top:.85rem;flex-wrap:wrap}.group-stack{display:flex;flex-direction:column;gap:1rem}.group-block h3{margin:0 0 .35rem;font-size:1.05rem}.tag{display:inline-block;border:1px solid var(--line);padding:.02rem .42rem;font-size:.78rem;letter-spacing:.04em}.tag.river{color:var(--river);border-color:var(--river)}.tag.gold{color:#7a5a22;border-color:var(--gold)}.tag.warn{color:#7a3b12;border-color:#e0c2a4}.target-meta,.announcement-meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;color:var(--deep);font-size:.92rem}.target-list{display:grid;gap:.8rem}.detail-block,.edit-box{margin-top:.8rem}.lb+.lb{margin-top:1.5rem}.dl{display:grid;grid-template-columns:6.5rem 1fr;gap:.35rem .8rem;margin:.7rem 0}.dl dt{color:#5c6a78}.dl dd{margin:0}.dl-row{display:contents}.figure{font-size:2.4rem;color:var(--gold);margin:.15rem 0}.pre,.body-text{white-space:pre-wrap}.body-text{font-size:1.02rem;line-height:1.85}.seq,.mono,textarea.fasta{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.break{word-break:break-all}.seq-details summary{cursor:pointer}.empty{padding:.6rem 0}.gate{min-height:40vh;display:grid;place-items:center}.inline-form{display:grid;grid-template-columns:minmax(180px,280px) auto;gap:.7rem;align-items:end;margin-top:.9rem}fieldset{border:0;margin:0;padding:0;min-width:0}@media (max-width: 800px){.nav-toggle{display:inline-flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;margin-left:0;background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:.6rem 1.25rem 1rem;gap:.45rem}.nav.open{display:flex}.nav-spacer{display:none}.stat-row,.track-grid,.grid-2,.grid-3,.org-grid,.split,.form-grid,.footer-inner,.tool-list li,.tl,.inline-form,.dl{grid-template-columns:1fr}.stat+.stat{padding-left:0}.when{padding-top:0}.hero{padding-top:2rem}}.campaign{color-scheme:light;--bg:#f9fafb;--fg:#172033;--muted:#526176;--line:#e2e8f3;--accent:#3572ff;--font:"PingFang SC","PingFang TC","PingFang HK",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.campaign *{box-sizing:border-box}.campaign{scroll-behavior:smooth;scroll-padding-top:100px}.campaign{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}.campaign a{color:inherit;text-decoration:none}.campaign a:hover{color:var(--accent)}.campaign button{font:inherit}.campaign a,.campaign button,.campaign summary{-webkit-tap-highlight-color:transparent}.campaign a:focus-visible,.campaign button:focus-visible,.campaign summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.campaign ::selection{background:#d0e4ff}.campaign .wrap{width:min(1080px,calc(100% - 80px));margin:auto}.campaign .topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center}.campaign .top-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.campaign .brand{font-size:19px;font-weight:650;letter-spacing:-.6px}.campaign .brand em{font-style:normal;color:var(--accent)}.campaign .language{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:1px;color:#8a9ab3}.campaign .language button{border:0;background:none;padding:7px 0;cursor:pointer;color:var(--muted);font-size:12px}.campaign .language button[aria-pressed=true]{color:var(--fg)}.campaign .hero{padding:82px 0 58px;position:relative}.campaign .eyebrow{font-family:Consolas,monospace;font-size:12px;letter-spacing:2px;color:var(--accent);margin:0 0 30px}.campaign .hero h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1px;font-weight:500;line-height:1.22;margin:0 0 24px;max-width:950px}.campaign .hero h1 .year{font-size:.5em;display:block;letter-spacing:-.5px;color:#172033;margin-bottom:14px}.campaign .hero .intro{max-width:760px;color:var(--muted);font-size:17px;line-height:1.95;margin:0}.campaign .actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.campaign .button{display:inline-flex;align-items:center;justify-content:center;gap:38px;background:linear-gradient(135deg,#4f86ff,#2563eb);color:#fff;min-height:48px;padding:10px 23px;font-size:14px;font-weight:500;border-radius:12px;box-shadow:0 10px 24px #3572ff2e}.campaign .button:hover{background:#245ce5;color:#fff}.campaign .fine{font-size:13px;color:var(--muted)}.campaign .stats{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-top:50px}.campaign .stat{flex:1;padding:0 32px;border-left:1px solid var(--line)}.campaign .stat:first-child{padding-left:0;border-left:0}.campaign .stat strong{display:block;font-size:31px;line-height:1.3;font-weight:500;letter-spacing:-1px}.campaign .stat span{display:block;color:var(--muted);font-size:13px;margin-top:9px}.campaign .jumpnav{display:flex;gap:30px;font-size:13px;margin-top:26px;color:var(--muted)}.campaign .jumpnav a{display:inline-flex;gap:10px}.campaign .jumpnav small{color:var(--accent)}.campaign .section{display:grid;grid-template-columns:72px minmax(0,1fr);padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.campaign .section-num{font:13px Consolas,monospace;color:var(--accent);padding-top:12px}.campaign .section h2{font-weight:500;font-size:32px;line-height:1.45;letter-spacing:-.7px;margin:0 0 25px}.campaign .section p{color:var(--muted);margin:0 0 18px;max-width:860px}.campaign .section h3{font-size:18px;font-weight:500;margin:30px 0 12px}.campaign .announcement{margin:30px 0;border-left:2px solid var(--accent);padding:4px 0 4px 22px}.campaign .announcement strong{font-size:21px;font-weight:500;display:block}.campaign .announcement p{font-size:14px;margin:7px 0 0}.campaign .schedule{margin:28px 0 34px}.campaign .schedule-row{display:grid;grid-template-columns:245px 1fr;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:14px}.campaign .schedule-row:last-child{border-bottom:1px solid var(--line)}.campaign .schedule time{font-family:Consolas,monospace;font-size:13px;color:var(--accent)}.campaign .organizers{margin-top:28px}.campaign .organizers summary{cursor:pointer;font-size:14px;color:var(--muted);padding:10px 0}.campaign .organizer{display:grid;grid-template-columns:132px 1fr;gap:18px;font-size:13px;margin:12px 0}.campaign .organizer dt{color:#8a9ab3}.campaign .organizer dd{margin:0;color:var(--muted)}.campaign .community-row{display:grid;grid-template-columns:minmax(0,1fr) 154px;gap:36px;align-items:center;padding:27px 0;border-top:1px solid var(--line)}.campaign .community-row h3{margin:0 0 10px}.campaign .community-row p{font-size:15px;margin:0 0 9px}.campaign .community-row img{width:154px;height:154px;object-fit:contain;padding:7px;background:#fff;border:1px solid #e2e8f3;border-radius:8px}.campaign .text-link{color:var(--accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;overflow-wrap:anywhere}.campaign .faq-item{border-top:1px solid var(--line)}.campaign .faq-item:last-of-type{border-bottom:1px solid var(--line)}.campaign .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 0;font-size:16px;line-height:1.7}.campaign .faq-item summary::-webkit-details-marker{display:none}.campaign .faq-item summary:after{content:"+";font:22px Consolas,monospace;color:var(--accent);flex-shrink:0}.campaign .faq-item[open] summary:after{content:"−"}.campaign .faq-item p{font-size:15px;line-height:1.9;margin:0;padding:0 38px 23px 0}.campaign .faq-more{padding-top:25px}.campaign .terms-link{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0;font-size:15px}.campaign .terms-link span:last-child{color:var(--accent);font-size:23px}.campaign .footer{border-top:1px solid var(--line);padding:26px 0 34px;color:#71809a;font-size:12px}.campaign .footer .wrap{display:flex;justify-content:space-between;gap:20px}.campaign .back{font-size:14px;color:var(--muted);display:inline-block;margin:34px 0}.campaign .terms-hero{padding:26px 0 44px;border-bottom:1px solid var(--line)}.campaign .terms-hero h1{font-size:46px;font-weight:500;line-height:1.3;letter-spacing:-1px;margin:10px 0 16px}.campaign .terms-hero p{color:var(--muted)}.campaign .terms-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:62px;padding:48px 0 70px}.campaign .toc{align-self:start;position:sticky;top:36px;display:flex;flex-direction:column;gap:15px;font-size:14px;color:var(--muted)}.campaign .toc a{border-left:1px solid var(--line);padding-left:17px}.campaign .toc a:hover{border-color:var(--accent)}.campaign .rules-section{padding:0 0 44px;margin:0 0 42px;border-bottom:1px solid var(--line)}.campaign .rules-section h2{font-size:27px;font-weight:500;margin:0 0 25px}.campaign .rules-section h3{font-size:19px;font-weight:500;margin:31px 0 14px}.campaign .rules-section p{font-size:15px;color:#3f4756;line-height:1.95;margin:12px 0;overflow-wrap:anywhere}.campaign .skip{position:absolute;left:20px;top:-100px;padding:10px;background:var(--accent);color:#fff;z-index:10}.campaign .skip:focus{top:10px}@media (max-width:700px){.campaign .wrap{width:calc(100% - 40px)}.campaign .topbar{height:64px}.campaign .brand{font-size:17px}.campaign .hero{padding:48px 0 25px}.campaign .hero h1{font-size:36px;letter-spacing:-1px}.campaign .hero .intro{font-size:15px}.campaign .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:22px}.campaign .actions{gap:16px}.campaign .stats{margin-top:36px;padding:24px 0}.campaign .stat{padding:0 14px}.campaign .stat strong{font-size:23px}.campaign .stat span{font-size:11px;line-height:1.6}.campaign .jumpnav{gap:23px;font-size:12px;flex-wrap:wrap}.campaign .section{grid-template-columns:1fr;padding:40px 0}.campaign .section-num{padding:0;margin-bottom:14px;font-size:12px}.campaign .section h2{font-size:27px;margin-bottom:22px}.campaign .section p{font-size:15px}.campaign .schedule-row{grid-template-columns:1fr;gap:4px}.campaign .community-row{gap:22px;grid-template-columns:1fr}.campaign .community-row img{width:150px;height:150px}.campaign .organizer{grid-template-columns:1fr;gap:4px;margin:17px 0}.campaign .faq-item summary{font-size:15px;gap:18px;padding:20px 0}.campaign .faq-item p{padding-right:0;font-size:14px}.campaign .footer .wrap{flex-direction:column;gap:8px}.campaign .terms-layout{grid-template-columns:1fr;gap:34px;padding-top:30px}.campaign .toc{position:static;flex-direction:row;flex-wrap:wrap;gap:15px;font-size:12px}.campaign .toc a{padding-left:9px}.campaign .terms-hero{padding-top:12px}.campaign .terms-hero h1{font-size:34px}.campaign .terms-link{font-size:14px}.campaign .announcement strong{font-size:19px}}.campaign{padding:8px}.campaign .topbar{border-radius:24px 24px 0 0;border-color:#eef1f5}.campaign .topbar .brand{color:#242428;font-weight:500}.campaign .brand em{color:#242428}.campaign main.wrap{width:min(1240px,100%);background:#fff;padding:0 64px;border-radius:0 0 24px 24px;overflow:hidden}.campaign .hero{isolation:isolate;padding-top:58px}.campaign .hero:before{content:"";position:absolute;z-index:-1;top:0;right:-64px;bottom:0;left:-64px;background:radial-gradient(ellipse at 85% 25%,#e3f5ff 0%,transparent 48%),linear-gradient(115deg,#f8fbff,#f2f7ff 62%,#f5faff)}.campaign .hero h1{color:#245ce5}.campaign .hero h1 .year{font-size:26px;font-weight:500}.campaign .hero .intro{color:#4c5f7a}.campaign .eyebrow{font-family:var(--font);letter-spacing:1.2px}.campaign .stat strong{color:#172033}.campaign .section h2{font-size:28px}.campaign .section p{color:#3f4756}.campaign .announcement{background:#f5f9ff;border-radius:0 10px 10px 0;padding:16px 22px}.campaign .announcement strong{color:#245ce5}.campaign .footer{border:0;background:#f9fafb}.campaign .terms-hero{background:linear-gradient(180deg,#f8fbff,#fff)}.campaign .terms-hero h1{color:#245ce5}.campaign .toc a:hover{background:#f5f9ff}.campaign .faq-item summary:hover{color:#3572ff}.campaign .terms-link{color:#3572ff}.campaign .skip{color:#fff}@media (max-width:700px){.campaign{padding:6px}.campaign .topbar{border-radius:18px 18px 0 0}.campaign .wrap{width:calc(100% - 32px)}.campaign main.wrap{width:100%;padding:0 20px;border-radius:0 0 18px 18px}.campaign .hero{padding-top:40px}.campaign .hero:before{top:0;right:-20px;bottom:0;left:-20px;background:linear-gradient(135deg,#f5f9ff,#fff)}.campaign .hero h1{font-size:32px}.campaign .hero h1 .year{font-size:22px}.campaign .section h2{font-size:25px}.campaign .terms-hero h1{font-size:32px}.campaign .stat strong{font-size:21px}.campaign .stat{padding:0 12px}}.campaign .hero-art{position:absolute;right:-8px;top:52px;width:33%;max-width:380px;height:auto;pointer-events:none;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(53,114,255,.08))}.campaign .hero h1{max-width:66%;font-size:44px;line-height:1.32}.campaign .hero .intro{max-width:62%}.campaign .hero .eyebrow{color:#3572ff}.campaign .hero .stats{position:relative;background:#ffffff73}@media (min-width:701px) and (max-width:1050px){.campaign .hero h1{font-size:36px}.campaign .hero-art{top:105px;width:30%;right:-10px}.campaign .hero .actions{max-width:65%;gap:14px}}@media (max-width:700px){.campaign .hero h1{max-width:100%;font-size:32px}.campaign .hero .intro{max-width:100%}.campaign .hero-art{position:static;display:block;width:190px;max-width:65%;margin:30px auto 0;filter:none}.campaign .hero .stats{margin-top:28px}.campaign .hero:before{background:radial-gradient(ellipse at 75% 40%,#eaf6ff,transparent 60%),linear-gradient(135deg,#f5f9ff,#fff)}}.campaign .top-inner{justify-content:flex-end}.campaign .faq-answer{padding:0 38px 23px 0}.campaign .faq-answer p{padding:0;margin:0}.campaign .faq-answer ul{padding-left:22px;margin:12px 0 0;color:#3f4756;font-size:15px;line-height:1.9}.campaign .faq-answer li+li{margin-top:10px}@media (max-width:700px){.campaign .faq-answer{padding-right:0}.campaign .faq-answer ul{font-size:14px}}.campaign .jumpnav{flex-wrap:wrap;gap:18px 28px}.campaign .first-subheading{margin-top:0!important}.campaign .organizers{margin-top:0}.campaign .organizer{font-size:15px;margin:0;padding:20px 0;border-top:1px solid var(--line);grid-template-columns:148px minmax(0,1fr)}.campaign .organizer:first-child{border-top:0;padding-top:0}.campaign .organizer dt{color:#526176}.campaign .organizer dd{color:#3f4756}.campaign .sponsor-thanks{padding:38px 0 38px 72px;border-bottom:1px solid var(--line)}.campaign .sponsor-thanks h2{font-weight:500;font-size:18px;margin:0 0 16px}.campaign .sponsor-thanks p{font-size:14px;color:#526176;line-height:2;margin:0}.campaign .terms-pending{min-height:330px;display:flex;align-items:center;justify-content:center;color:#71809a}.campaign .terms-pending h2{font-weight:400;font-size:26px}@media (max-width:700px){.campaign .organizer{grid-template-columns:1fr;gap:8px;font-size:14px}.campaign .sponsor-thanks{padding:30px 0}.campaign .jumpnav{gap:16px 22px}.campaign .stat strong{font-size:20px}.campaign .stat{padding:0 10px}.campaign .terms-pending{min-height:260px}}@media (prefers-reduced-motion:reduce){.campaign{scroll-behavior:auto}}@media print{.campaign{background:#fff;color:#000}.campaign .topbar,.campaign .footer,.campaign .back,.campaign .toc{display:none}.campaign .terms-layout{display:block}.campaign .rules-section p,.campaign .terms-hero p{color:#222}.campaign .wrap{width:100%}.campaign .rules-section{break-inside:auto}}.campaign{--kv-violet:#48216a;--kv-cyan:#20b9df;--reading-progress:0}.campaign{scroll-padding-top:0}.campaign main.wrap{overflow:clip}.campaign .topbar{height:64px}.campaign .top-inner{gap:24px}.campaign .hero{padding-top:60px;padding-bottom:42px}.campaign .hero:before{background:radial-gradient(ellipse at 88% 30%,#e0f4ff 0%,transparent 46%),radial-gradient(ellipse at 62% 5%,#f0eafa 0%,transparent 60%),linear-gradient(120deg,#fafcff,#f3f8ff)}.campaign .hero h1>span:not(.year){background:linear-gradient(100deg,#48216a,#345ce5 65%,#087da8);background-clip:text;-webkit-background-clip:text;color:transparent}.campaign .hero .eyebrow{display:inline-flex;align-items:center;gap:12px;color:#654590;font-size:11px;letter-spacing:2px}.campaign .hero .eyebrow:before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--kv-violet),var(--kv-cyan))}.campaign .hero-visual{position:absolute;right:-12px;top:46px;width:35%;max-width:395px;aspect-ratio:1 / 1.1;pointer-events:none;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .7s cubic-bezier(.2,.7,.2,1);will-change:transform}.campaign .hero-visual .hero-art{position:relative;top:auto;right:auto;display:block;width:100%;max-width:none;height:auto;margin:0;filter:drop-shadow(0 20px 22px #3569ae18);transform-origin:50% 55%;animation:protein-drift 9s ease-in-out infinite}.campaign .hero-visual:before{content:"";position:absolute;top:12%;right:-8%;bottom:4%;left:-8%;border-radius:50%;background:radial-gradient(ellipse,#9b76cc14 0%,#64daf11b 45%,transparent 70%);animation:ambient-breathe 8s ease-in-out infinite}.campaign .kv-network{position:absolute;top:-4%;right:-12%;bottom:-4%;left:-12%;width:124%;height:112%;overflow:visible}.campaign .kv-network path{stroke:#6473b5;stroke-width:.6;fill:none;opacity:.18}.campaign .kv-network .node{fill:#6574be;opacity:.27}.campaign .kv-network .pulse-node{fill:#20aeda;animation:node-pulse 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.campaign .kv-network .pulse-node:nth-of-type(2n){animation-delay:-2.3s}.campaign .kv-network .orbit{fill:none;stroke:#7761a3;stroke-width:.65;stroke-dasharray:2 9;opacity:.2;transform-origin:50% 50%;animation:orbit-drift 40s linear infinite}.campaign .hero .button{position:relative;overflow:hidden;background:linear-gradient(120deg,#6250b1,#3572ff 68%,#278bd4);box-shadow:0 10px 25px #3d65cb28;transition:transform .25s,box-shadow .25s}.campaign .hero .button:hover{transform:translateY(-3px);box-shadow:0 15px 28px #3d65cb38}.campaign .hero .button>span:last-child{transition:transform .25s}.campaign .hero .button:hover>span:last-child{transform:translate(2px,-2px)}.campaign .hero .button:after{content:"";position:absolute;top:-80%;right:-50%;bottom:-80%;left:-50%;background:linear-gradient(110deg,transparent 40%,#ffffff30 50%,transparent 60%);transform:translate(-100%) rotate(-15deg);transition:transform .65s}.campaign .hero .button:hover:after{transform:translate(100%) rotate(-15deg)}.campaign .stats{border-color:#dde6f2}.campaign .stat{position:relative}.campaign .stat strong{font-variant-numeric:tabular-nums}.campaign .stat:after{content:"";height:2px;position:absolute;left:32px;right:35%;bottom:-31px;background:linear-gradient(90deg,#7353a1,#25badd);transform:scaleX(0);transform-origin:left;transition:transform .5s}.campaign .stat:first-child:after{left:0}.campaign .stat:hover:after{transform:scaleX(1)}.campaign .jumpnav{position:sticky;top:0;z-index:30;margin:0 -64px;padding:18px 64px;gap:12px 25px;width:calc(100% + 128px);background:#ffffffed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #e4eaf4;border-bottom:1px solid #e4eaf4;transition:box-shadow .3s}.campaign .jumpnav[data-stuck=true]{box-shadow:0 7px 22px #263d7010}.campaign .jumpnav a{position:relative;align-items:center;padding:7px 0;gap:8px;white-space:nowrap;transition:color .2s}.campaign .jumpnav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--kv-violet),var(--kv-cyan));transform:scaleX(0);transform-origin:left;transition:transform .3s}.campaign .jumpnav a[aria-current=location]{color:#48216a;font-weight:500}.campaign .jumpnav a[aria-current=location]:after,.campaign .jumpnav a:hover:after{transform:scaleX(1)}.campaign .jumpnav small{font-family:Consolas,monospace;font-size:11px;color:#8b9ab2}.campaign .jumpnav a[aria-current=location] small{color:#654590}.campaign .reading-progress{height:2px;position:fixed;z-index:100;top:0;left:0;width:100%;pointer-events:none;background:linear-gradient(90deg,#674095,#3978eb,#28c4e7);transform:scaleX(var(--reading-progress));transform-origin:left}.campaign .section{scroll-margin-top:90px}.campaign .section-num{color:#796291}.campaign .section h2{letter-spacing:-.5px}.campaign .schedule{position:relative;padding-left:22px}.campaign .schedule:before{content:"";position:absolute;left:3px;top:25px;bottom:25px;width:1px;background:linear-gradient(#8062a0,#4ba7de)}.campaign .schedule-row{position:relative;transition:background .3s,padding-left .3s}.campaign .schedule-row:before{content:"";position:absolute;left:-23px;top:25px;width:9px;height:9px;border:2px solid #b9c5e2;border-radius:50%;background:#fff;box-shadow:0 0 0 5px #fff;transition:background .6s,border-color .6s}.campaign .schedule-row.is-revealed:before{background:#69b4e2;border-color:#69b4e2}.campaign .schedule-row:hover{background:#f7f9fd;padding-left:8px}.campaign .schedule-row:hover time{color:#674095}.campaign .faq-item summary{transition:color .2s}.campaign .faq-item summary:after{content:"+"!important;transition:transform .3s;color:#617dc3}.campaign .faq-item[open] summary:after{transform:rotate(45deg)}.campaign .faq-item[open] .faq-answer{animation:answer-in .3s ease-out}.campaign .terms-link{transition:color .2s}.campaign .terms-link span:last-child{transition:transform .25s}.campaign .terms-link:hover span:last-child{transform:translate(3px,-3px)}.campaign .motion-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#71809a;font-size:12px;padding:6px 0;cursor:pointer;display:inline-flex;gap:7px;align-items:center}.campaign .motion-control:before{content:"Ⅱ";font-size:11px}.campaign .motion-control[aria-pressed=true]:before{content:"▷"}.campaign .motion-control:hover{color:#654590}.campaign .language{gap:11px}.campaign .language button{transition:color .2s}.campaign .language button[aria-pressed=true]{color:#48216a}.campaign .motion-enabled .is-revealed{animation:section-enter .7s cubic-bezier(.2,.65,.25,1) both}.campaign .motion-enabled .schedule-row.is-revealed{animation-duration:.55s}.campaign .motion-enabled .hero .eyebrow,.campaign .motion-enabled .hero h1,.campaign .motion-enabled .hero .intro,.campaign .motion-enabled .hero .actions{animation:section-enter .75s cubic-bezier(.2,.65,.25,1) both}.campaign .motion-enabled .hero h1{animation-delay:.07s}.campaign .motion-enabled .hero .intro{animation-delay:.14s}.campaign .motion-enabled .hero .actions{animation-delay:.21s}@keyframes protein-drift{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1.3deg)}}@keyframes ambient-breathe{0%,to{opacity:.65;transform:scale(.97)}50%{opacity:1;transform:scale(1.06)}}@keyframes node-pulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.65;transform:scale(1.18)}}@keyframes orbit-drift{to{transform:rotate(360deg)}}@keyframes section-enter{0%{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-in{0%{opacity:.35;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.campaign[data-motion=paused] .hero-art,.campaign[data-motion=paused] .hero-visual:before,.campaign[data-motion=paused] .kv-network *,.campaign[data-motion=paused] .is-revealed,.campaign[data-motion=paused] .hero .eyebrow,.campaign[data-motion=paused] .hero h1,.campaign[data-motion=paused] .hero .intro,.campaign[data-motion=paused] .hero .actions{animation:none!important}.campaign[data-motion=paused] .hero-visual{transform:none;transition:none}.campaign[data-motion=paused] .faq-answer{animation:none}.campaign[data-motion=paused]{scroll-behavior:auto}@media (min-width:701px) and (max-width:1050px){.campaign .hero-visual{top:105px;width:30%;right:-8px}.campaign .jumpnav{gap:18px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.campaign .jumpnav a{flex-shrink:0}}@media (max-width:700px){.campaign .topbar{height:54px}.campaign .top-inner{gap:18px}.campaign .motion-control{font-size:11px}.campaign .hero{padding-top:34px;padding-bottom:30px}.campaign .hero-visual{position:relative;top:auto;right:auto;width:210px;max-width:74%;margin:22px auto 0;aspect-ratio:1 / 1.1}.campaign .hero-visual .hero-art{width:100%;max-width:none;margin:0}.campaign .hero:before{background:radial-gradient(ellipse at 80% 48%,#e4f5fc 0%,transparent 54%),linear-gradient(130deg,#f8f6fc,#f4faff 65%,#fff)}.campaign .hero .stats{margin-top:16px}.campaign .stat:after{left:12px;bottom:-25px}.campaign .jumpnav{margin:0 -20px;width:calc(100% + 40px);padding:10px 20px;flex-wrap:nowrap;overflow-x:auto;gap:22px;scrollbar-width:none}.campaign .jumpnav::-webkit-scrollbar{display:none}.campaign .jumpnav a{flex-shrink:0;font-size:12px}.campaign .section{scroll-margin-top:70px}.campaign .section-num{font-size:11px}.campaign .kv-network{opacity:.6}.campaign .sponsor-thanks{scroll-margin-top:70px}}@media (prefers-reduced-motion:reduce){.campaign{scroll-behavior:auto!important}.campaign *,.campaign *:before,.campaign *:after{animation:none!important;transition:none!important}.campaign .hero-visual{transform:none!important}}@media print{.campaign .motion-control,.campaign .reading-progress,.campaign .jumpnav,.campaign .kv-network{display:none}.campaign .hero-visual,.campaign .hero-art{animation:none!important}.campaign .section,.campaign .is-revealed{opacity:1!important;transform:none!important}}body:has(.campaign){background:#f9fafb;padding:8px}.campaign{min-height:100vh}.campaign header.topbar{background:#fff;color:inherit;height:64px;font-size:13px}.campaign h1,.campaign h2,.campaign h3,.campaign h4,.campaign .stat strong,.campaign .year{font-family:var(--font)}.campaign .topbar .wrap.top-inner{width:min(1240px,100%);margin:0 auto;padding:0 64px;display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:22px}.campaign .entry-links{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px 18px;font-size:13px;min-width:0}.campaign .top-tools{display:flex;align-items:center;flex-wrap:nowrap;flex:0 0 auto;gap:16px;font-size:13px}.campaign .top-tools>a,.campaign .top-tools>.text-btn,.campaign .top-tools .language,.campaign .top-tools .language button{display:inline-flex;align-items:center;height:32px;line-height:1}.campaign .top-tools>a{color:#526176}.campaign .top-tools>a:hover{color:#3572ff}.campaign .entry-links a.home-link{color:#245ce5;font-weight:500}.campaign .entry-links a{color:#526176}.campaign .entry-links a:hover,.campaign .entry-links a[aria-current=page]{color:#3572ff}.campaign .challenge-page,.campaign .rules-page{padding-bottom:48px}.campaign .target-list{display:grid;gap:16px;padding:8px 0 48px}.campaign .target-card{border:1px solid #e2e8f3;border-radius:16px;padding:22px 24px 18px;background:#fbfcff}.campaign .target-card h2{margin:0 0 8px;font-size:22px;color:#172033}.campaign .target-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;color:#526176;font-size:13px}.campaign .detail-block{margin-top:8px;color:#3f4756;font-size:14px;line-height:1.8}.campaign .back-home{display:inline-block;margin:8px 0 0;color:#3572ff;font-size:14px}@media (max-width: 700px){body:has(.campaign){padding:6px}.campaign .topbar .wrap.top-inner{padding:0 16px;gap:12px}.campaign .entry-links,.campaign .top-tools{gap:10px;font-size:12px}}.campaign .hero .stats{background:#ffffff73}.campaign .stats .stat,.campaign .stat,.campaign .stat+.stat{background:transparent;background-color:transparent}.campaign .rules-page,.campaign .rules-body,.campaign .rules-body>div,.campaign .rules-body .rules-section{width:100%;max-width:none}.campaign .rules-body{display:block;padding:48px 0 8px}.campaign .rules-body .rules-section h2{font-size:27px;font-weight:500;line-height:1.45}.campaign .rules-body .rules-section p{max-width:none;font-size:15px;line-height:1.95}.campaign .markdown-body h1,.campaign .markdown-body h2,.campaign .markdown-body h3,.campaign .markdown-body h4{margin:28px 0 12px;font-weight:600;line-height:1.45;color:#172033}.campaign .markdown-body h1{font-size:28px}.campaign .markdown-body h2{font-size:22px}.campaign .markdown-body h3,.campaign .markdown-body h4{font-size:18px}.campaign .markdown-body p,.campaign .markdown-body li{max-width:none;font-size:15px;line-height:1.95;color:#3f4756}.campaign .markdown-body ul,.campaign .markdown-body ol{margin:8px 0 18px;padding-left:1.4em}.campaign .markdown-body a{color:#245ce5}.campaign .markdown-body table{min-width:640px}.campaign .markdown-body th,.campaign .markdown-body td{vertical-align:top}.campaign .gate-page,.campaign .info-page{padding-bottom:56px}.campaign .gate-status{padding:36px 0;color:#526176}.campaign main .info-page.wrap{width:100%;max-width:none;margin:0}.campaign .auth-card{margin-top:28px;background:#fff;border:1px solid #e2e8f3;border-radius:16px;padding:28px 28px 24px;box-shadow:0 12px 32px #3572ff0f}.campaign .gate-page .auth-card.stack{max-width:560px}.campaign .auth-card .field>span{color:#526176;font-size:13px}.campaign .auth-card .field small,.campaign .gate-page .muted,.campaign .info-page .muted{color:#71809a}.campaign .auth-card input,.campaign .auth-card select,.campaign .auth-card textarea{background:#fff;color:#172033;border:1px solid #d7e1f0;border-radius:10px;padding:.72rem .85rem;font-family:inherit}.campaign .auth-card input:focus,.campaign .auth-card select:focus,.campaign .auth-card textarea:focus,.campaign .auth-card input:focus-visible,.campaign .auth-card select:focus-visible,.campaign .auth-card textarea:focus-visible{border-color:#3572ff;outline:2px solid rgba(53,114,255,.35);outline-offset:1px}.campaign .auth-card .banner.error,.campaign .info-page .banner.error{background:#f4f7ff;border:1px solid #d5e2fb;color:#3d4a86;border-radius:12px}.campaign .auth-card .btn.primary,.campaign .info-page a.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:12px;background:linear-gradient(120deg,#6250b1,#3572ff 68%,#278bd4);color:#fff;min-height:48px;padding:10px 28px;box-shadow:0 10px 25px #3d65cb28;letter-spacing:.02em;font-weight:500;text-decoration:none}.campaign .auth-card .btn.primary:hover:not(:disabled),.campaign .info-page a.btn:hover{background:linear-gradient(120deg,#6250b1,#3572ff 68%,#278bd4);color:#fff;transform:translateY(-2px);box-shadow:0 15px 28px #3d65cb38}.campaign .gate-page .tail{color:#526176;font-size:14px}.campaign .gate-page .tail a{color:#3572ff}.campaign .info-page .kicker{color:#654590;font-family:var(--font)}.campaign .info-page .page-title{color:#245ce5;font-weight:500;letter-spacing:-.5px}.campaign .info-page .page-lead{color:#526176;font-size:15px;line-height:1.9}.campaign .info-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px}.campaign .info-card{background:#fff;border:1px solid #e2e8f3;border-radius:16px;padding:22px 24px 18px}.campaign .info-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;color:#526176;font-size:13px}.campaign .info-card h2,.campaign .info-page .lb h2{margin:0 0 8px;font-size:22px;font-weight:500;color:#172033}.campaign .info-card p{margin:0;color:#3f4756;font-size:15px;line-height:1.9}.campaign .info-card .tag.gold{color:#654590;border-color:#d7c8ee;background:#f7f4fc;border-radius:999px}.campaign .info-card.body-text{margin-top:28px;font-size:15px;line-height:1.95;color:#3f4756}.campaign .info-page .lb.info-card{margin-top:16px}.campaign .info-page .notice-next{margin-top:24px;border-left:3px solid #3572ff;background:#f5f9ff;color:#3f4756;border-radius:0 12px 12px 0}.campaign .info-page th{background:#f5f8ff;color:#526176;border-bottom:1px solid #e2e8f3}.campaign .info-page td{border-bottom:1px solid #e2e8f3;color:#172033}@media (max-width: 700px){.campaign .rules-body{padding:28px 0 4px}.campaign .rules-body .rules-section h2{font-size:24px}.campaign .auth-card{padding:20px 16px 18px}.campaign .gate-page .auth-card.stack{max-width:none}}.campaign .admin-nav,.campaign .app-nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin:8px 0;padding:18px 0;border-bottom:1px solid #e4eaf4;font-size:14px}.campaign .admin-nav a,.campaign .app-nav a{color:#526176}.campaign .admin-nav a.active,.campaign .admin-nav a[aria-current=page],.campaign .app-nav a.active,.campaign .app-nav a[aria-current=page]{color:#48216a;font-weight:500}.campaign main.wrap .page-pad.wrap,.campaign main.wrap .wrap.page-pad{width:100%;max-width:none;margin:0;padding-top:28px;padding-bottom:48px}.campaign .kicker{color:#654590;font-family:var(--font);letter-spacing:.12em}.campaign .page-title{color:#245ce5;font-family:var(--font);font-weight:500;letter-spacing:-.4px}.campaign .page-lead,.campaign .muted{color:#526176}.campaign .panel{background:#fff;border:1px solid #e2e8f3;border-radius:16px;box-shadow:none;padding:22px 24px}.campaign .grid-3,.campaign .grid-2{gap:16px}.campaign .panel h2{color:#172033;font-size:20px;font-weight:500}.campaign .dl dt{color:#71809a}.campaign .notice-next{border-left:3px solid #3572ff;background:#f5f9ff;color:#3f4756;border-radius:0 12px 12px 0}.campaign .banner.ok{background:#f4f8ff;border:1px solid #d5e2fb;color:#245ce5;border-radius:12px}.campaign .banner.error{background:#f8f4fb;border:1px solid #e3d4ef;color:#5c3d78;border-radius:12px}.campaign .figure{color:#245ce5;font-family:var(--font)}.campaign .filters,.campaign .table-wrap,.campaign .auth-card{margin-top:18px}.campaign input,.campaign select,.campaign textarea{background:#fff;color:#172033;border:1px solid #d7e1f0;border-radius:10px;font-family:inherit}.campaign input:focus,.campaign select:focus,.campaign textarea:focus{border-color:#3572ff;outline:2px solid rgba(53,114,255,.28);outline-offset:1px}.campaign a.btn{width:fit-content;text-decoration:none}.campaign .tail{display:flex;margin-top:16px}.campaign .notice-next .btn{margin-left:12px}.campaign .btn{border:0;border-radius:12px;background:linear-gradient(120deg,#6250b1,#3572ff 68%,#278bd4);color:#fff;font-family:inherit;box-shadow:0 8px 18px #3d65cb22}.campaign .btn.ghost,.campaign .btn.gold{background:#fff;color:#3572ff;border:1px solid #d7e1f0;box-shadow:none}.campaign .btn.danger{background:#fff;color:#9b3b55;border:1px solid #efd0d8;box-shadow:none}.campaign .btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.campaign .btn:hover:not(:disabled){color:#fff}.campaign .btn.ghost:hover:not(:disabled),.campaign .btn.gold:hover:not(:disabled){color:#245ce5;background:#f5f9ff}.campaign .btn.danger:hover:not(:disabled){color:#9b3b55;background:#fff7f8}.campaign .topbar .text-btn{border:0;background:transparent;color:#526176;cursor:pointer;font-size:13px;padding:7px 0}.campaign .topbar .text-btn:hover{color:#3572ff}.campaign th{background:#f7f9fd;color:#526176;border-bottom:1px solid #e2e8f3}.campaign td{border-bottom:1px solid #eef2f8;color:#172033}.campaign .row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.campaign .country-select{position:relative}.campaign .country-panel{position:fixed;z-index:80;background:#fff;border:1px solid #d7e1f0;border-radius:12px;box-shadow:0 16px 36px #1720331f;overflow:hidden}.campaign .country-panel p{margin:0;padding:8px 12px;color:#71809a;font-size:12px;border-bottom:1px solid #eef2f8}.campaign .country-panel ul{list-style:none;margin:0;padding:4px;max-height:280px;overflow:auto}.campaign .country-panel button{width:100%;display:flex;justify-content:space-between;gap:12px;border:0;background:transparent;color:#172033;text-align:left;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit}.campaign .country-panel button[aria-selected=true],.campaign .country-panel button:hover{background:#f5f8ff;color:#245ce5}.campaign .country-panel small{color:#8a9ab3;font-size:12px}.campaign .file-slot{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.campaign .file-name-btn{max-width:100%;text-align:left;overflow-wrap:anywhere}.campaign .file-slot.is-done .file-name-btn{border-color:#7dcaa0;background:#f3fbf6;color:#146c43}.campaign .file-slot-status{color:#146c43;font-weight:600}.campaign input.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.campaign input.file-input:disabled{cursor:not-allowed}.campaign .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:#17203373}.campaign .modal.import-modal{width:min(560px,100%)}.campaign .import-summary{margin:0 0 8px;font-size:18px;line-height:1.5}.campaign .import-summary strong{font-size:28px;font-weight:560}.campaign .import-log{max-height:16rem;margin:12px 0 18px;padding:12px 14px;overflow:auto;border-radius:10px;background:#f4f6f8;color:#3d4656;font-size:14px;line-height:1.5}.campaign .import-log p{margin:10px 0 4px;font-weight:560}.campaign .import-log p:first-child{margin-top:0}.campaign .import-log ul{margin:0;padding-left:1.2em}.campaign .import-report-panel h2{margin:0 0 12px;font-size:18px;font-weight:560}.campaign .modal{width:min(420px,100%);padding:28px 24px 22px;border-radius:16px;background:#fff;box-shadow:0 18px 48px #1720332e}.campaign .modal h2{margin:0 0 18px;font-size:20px;font-weight:500;color:#172033}.campaign .modal p.modal-detail{margin:-6px 0 18px;max-height:9rem;overflow:auto;white-space:pre-line;overflow-wrap:anywhere;color:#5c667a;font-size:14px;line-height:1.5}.campaign textarea.page-body{min-height:24rem}.campaign main.wrap{overflow:visible;height:auto;padding-bottom:56px}.campaign .panel,.campaign .stack,.campaign .team-create,.campaign .dl,.campaign .dl dd{min-width:0;max-width:100%}.campaign .dl dd,.campaign .pre{overflow-wrap:anywhere}.campaign .table-wrap{max-width:100%;overflow-x:auto}.campaign .table-wrap table{min-width:0}.campaign .roster-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;align-items:end}.campaign .roster-row .btn{margin-bottom:2px}@media (max-width: 800px){.campaign .roster-row{grid-template-columns:1fr}}.campaign .competition-rule-list{margin:0 0 18px;padding-left:24px;color:#3f4756;line-height:1.85}.campaign .competition-rule-list li{padding-left:3px;margin:0 0 10px;overflow-wrap:anywhere}.campaign .competition-rule-list li::marker{color:var(--accent);font-variant-numeric:tabular-nums}.campaign #competition-rules h3{margin-top:36px;font-weight:600}.campaign .section .rule-pending{padding:12px 16px;border-left:2px solid #90aaff;background:#f5f9ff;border-radius:0 8px 8px 0;font-size:15px}.campaign .rule-pending strong{font-weight:600}.campaign .schedule .schedule-date{font-family:Consolas,monospace;font-size:13px;color:var(--accent)}.campaign .schedule-row:hover .schedule-date{color:#674095}.campaign .cup-points{margin:0 0 22px;padding:0;list-style:none}.campaign .cup-points li{position:relative;margin:0 0 8px;padding-left:16px;color:#3f4756}.campaign .cup-points li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:#3572ff}.campaign .cup-tracks{display:grid;gap:16px;margin:8px 0 18px}.campaign .cup-track{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:12px 28px;align-items:center;border:1px solid #e2e8f3;border-radius:16px;background:#fbfcff;padding:16px 22px}.campaign .cup-track img{display:block;width:auto;max-width:100%;height:auto;max-height:210px;margin:0 auto}.campaign .cup-track h4{margin:0 0 10px;font-size:20px;font-weight:600;line-height:1.4}.campaign .cup-facts{display:grid;gap:4px 0;margin:0}.campaign .cup-facts div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;align-items:baseline}.campaign .cup-facts dt,.campaign .cup-facts dd{margin:0;font-size:14px;line-height:1.7}.campaign .cup-facts dt{color:#526176}.campaign .cup-facts dd{color:#172033}.campaign .cup-specs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 4px}.campaign .cup-spec{border:1px solid #e2e8f3;border-radius:16px;background:#fbfcff;padding:16px 18px 6px}.campaign .cup-spec h4{margin:0 0 10px;font-size:16px;font-weight:600}.campaign .section .cup-spec p,.campaign .section .cup-hint{margin:0 0 10px;max-width:none;font-size:14px;line-height:1.75}.campaign .cup-sublist{margin:8px 0 4px;padding-left:18px;color:#3f4756;font-size:15px}.campaign .cup-sublist li{margin:0 0 4px}.campaign .rule-note{margin:8px 0 4px;padding:14px 18px 16px;border-left:2px solid #90aaff;background:#f5f9ff;border-radius:0 8px 8px 0}.campaign .rule-note strong{display:block;margin-bottom:8px;font-weight:600}.campaign .rule-note ul{margin:0;padding-left:18px;color:#3f4756}.campaign .rule-note li+li{margin-top:8px}.campaign .challenge-body{padding:36px 0 56px}.campaign .faq-answer ul+p{margin-top:12px}@media (max-width: 800px){.campaign .cup-track,.campaign .cup-specs{grid-template-columns:1fr}.campaign .cup-facts div{grid-template-columns:1fr;gap:0;margin-bottom:8px}}@media (max-width: 700px){.campaign .competition-rule-list{font-size:15px;padding-left:22px}.campaign .section .rule-pending{font-size:14px}.campaign #competition-rules h3{margin-top:28px}}
