/*! GreatEDU Children's Day Talent Contest: popup, badge and landing page. Loaded only where needed. Uses the site tokens from greatedu-site.css. */
.gec-art{display:block;line-height:0}.gec-art svg{display:block;width:100%;height:auto}
.ge-todo{background:var(--sun);border-radius:6px;padding:0 4px;font-weight:700}
/* ---- popup (desktop modal / mobile bottom sheet) ---- */
.gec-pop[hidden]{display:none}
.gec-pop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.gec-scrim{position:absolute;inset:0;background:rgba(17,17,17,.55)}
.gec-card{position:relative;width:100%;max-width:880px;max-height:calc(100vh - 32px);overflow:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--paper);border:var(--bd);border-radius:28px;box-shadow:var(--hs-lg);animation:gec-in .35s cubic-bezier(.34,1.4,.5,1)}
.gec-card:focus{outline:0}
.gec-pop-art{background:var(--sky) radial-gradient(rgba(17,17,17,.13) 1.6px,transparent 1.8px) 0 0/18px 18px;border-right:var(--bd);display:flex;align-items:center;justify-content:center;padding:20px 14px}.gec-pop-art .gec-art{width:100%}
.gec-pop-body{padding:clamp(20px,3vw,32px);min-width:0}
.gec-pre{margin:0 0 6px;font:800 13px var(--fd);letter-spacing:.14em;text-transform:uppercase}
.gec-pop-body h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 8px}
.gec-win{margin:0 0 10px}.gec-win span{display:inline-block;background:var(--lime);border:var(--bd);border-radius:14px;padding:4px 14px;font:800 clamp(22px,3vw,30px) var(--fd);transform:rotate(-1.5deg);box-shadow:3px 3px 0 #111}
.gec-lead{font-weight:600;margin:0 0 12px}
.gec-prizes{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gec-prizes li{background:#fff;border:2.5px solid #111;border-radius:12px;padding:6px 12px;font-weight:600;line-height:1.2}.gec-prizes b{display:block;font:800 13px var(--fd);text-transform:uppercase;letter-spacing:.06em}
.gec-more{font-size:15px;font-weight:600;margin:0 0 8px}
.gec-date{font:800 17px var(--fd);margin:0 0 14px}
.gec-cta{width:100%}
.gec-fine{font-size:13px;color:var(--muted);margin:12px 0 6px}
.gec-spons{margin:0;font-size:14.5px;font-weight:700}
.gec-x{position:absolute;top:10px;right:10px;z-index:2;width:46px;height:46px;border-radius:50%;border:var(--bd);background:#fff;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:3px 3px 0 #111}
.gec-x svg{width:22px;height:22px}
.gec-x:focus-visible,.gec-pop a:focus-visible,.gec-badge:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
html.gec-lock{overflow:hidden}
@keyframes gec-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:719px){
.gec-pop{align-items:flex-end;padding:0}
.gec-card{grid-template-columns:1fr;max-width:none;max-height:92vh;max-height:92dvh;border-radius:26px 26px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation:gec-up .3s ease-out}
.gec-pop-art{border-right:0;border-bottom:var(--bd);padding:14px 40px 0;max-height:150px;overflow:hidden;justify-content:center;align-items:flex-end}
.gec-pop-art .gec-art{width:min(300px,100%)}
.gec-pop-body{padding:16px 18px 20px}
.gec-pop-body h2{font-size:25px}.gec-more,.gec-lead{font-size:15px}.gec-fine{display:none}
.gec-prizes li{padding:5px 10px;font-size:14px}
.gec-cta{min-height:56px}
}
@keyframes gec-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
/* ---- floating badge ---- */
.gec-badge{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:940;display:inline-flex;align-items:center;gap:10px;max-width:calc(100vw - 100px);min-height:48px;padding:6px 14px;border:var(--bd);border-radius:99px;background:var(--lime);color:var(--ink)!important;text-decoration:none!important;box-shadow:4px 4px 0 #111;font-family:var(--fd)}
.gec-badge:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 #111}
.gec-badge-t{display:flex;flex-direction:column;line-height:1.1;min-width:0}.gec-badge-t b{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gec-badge-t i{font:700 12px var(--fb);font-style:normal}
.gec-badge.is-hidden{display:none}
@media (max-width:420px){.gec-badge-t i{display:none}.gec-badge{min-height:44px}}
/* ---- landing page ---- */
.gec-page{padding-bottom:clamp(30px,6vw,70px)}
.gec-hero{display:grid;gap:clamp(18px,4vw,40px);align-items:center;padding:clamp(22px,5vw,56px) 0 clamp(18px,3vw,30px)}
@media (min-width:900px){.gec-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.gec-hero h1{font-size:clamp(34px,6.4vw,66px);margin-bottom:14px}
.gec-hero .ge-lead{max-width:56ch}
.gec-hero-art{background:var(--sky);border:var(--bd);border-radius:32px;box-shadow:var(--hs-lg);padding:18px 14px 0;overflow:hidden}
.gec-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:0;list-style:none}
.gec-facts li{background:#fff;border:2.5px solid #111;border-radius:14px;padding:8px 14px;font-weight:700;line-height:1.25}.gec-facts small{display:block;font:700 12px var(--fb);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.gec-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(22px,4vw,38px);padding:0;list-style:none}
.gec-jump a{display:inline-block;padding:7px 14px;border:2.5px solid #111;border-radius:99px;background:#fff;font-weight:800;text-decoration:none!important}
.gec-jump a:hover{background:var(--lime)}
.gec-sec{margin:0 0 clamp(30px,6vw,64px)}
.gec-sec>h2{font-size:clamp(26px,4.6vw,42px)}
.gec-prizegrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 14px;padding:0;list-style:none}
.gec-prize{border:var(--bd);border-radius:var(--r);box-shadow:var(--hs);padding:20px;background:#fff;position:relative}
.gec-prize h3{font:800 15px var(--fd);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}
.gec-prize .amt{display:block;font:800 clamp(34px,5vw,48px) var(--fd);letter-spacing:-.03em;line-height:1}
.gec-prize p{margin:8px 0 0;font-size:14.5px;font-weight:600}
.gec-prize.p1{background:var(--sun)}.gec-prize.p2{background:var(--sky)}.gec-prize.p3{background:var(--peach)}.gec-prize.pn{background:var(--lime)}.gec-prize.pc{background:var(--violet)}
.gec-cats{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin:0;padding:0;list-style:none}
.gec-cats li{background:#fff;border:2.5px solid #111;border-radius:16px;padding:12px 14px;font-weight:800}.gec-cats small{display:block;font:600 13.5px var(--fb);color:var(--muted);margin-top:2px}
.gec-steps{counter-reset:s;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none}
.gec-steps li{counter-increment:s;background:#fff;border:var(--bd);border-radius:var(--r);padding:16px 18px 16px 62px;position:relative;box-shadow:var(--hs)}
.gec-steps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:36px;height:36px;border:2.5px solid #111;border-radius:50%;background:var(--lime);display:grid;place-items:center;font:800 18px var(--fd)}
.gec-steps b{display:block;font:800 18px var(--fd)}.gec-steps span{font-size:15px;font-weight:600}
.gec-formcard{border:var(--bd);border-radius:32px;box-shadow:var(--hs-lg);background:#fff;padding:clamp(18px,4vw,36px)}
.gec-formcard h2{margin-bottom:6px}
.gec-formcard fieldset{border:0;padding:0;margin:0 0 10px;min-width:0}
.gec-formcard legend{font:800 20px var(--fd);margin:8px 0 12px;padding:0}
.gec-consent{background:var(--paper);border:2.5px dashed #111;border-radius:16px;padding:14px 14px 4px;margin:6px 0 14px}
.gec-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.gec-note{background:var(--sun);border:var(--bd);border-radius:16px;padding:12px 16px;font-weight:600;margin:0 0 16px}
.gec-done{background:var(--lime);border:var(--bd);border-radius:24px;box-shadow:var(--hs);padding:clamp(18px,4vw,30px);text-align:center}
.gec-done .id{display:inline-block;background:#fff;border:var(--bd);border-radius:14px;padding:8px 18px;font:800 clamp(22px,5vw,34px) var(--fd);letter-spacing:.04em;margin:8px 0;overflow-wrap:anywhere}
.gec-table{width:100%;border-collapse:collapse;background:#fff;border:var(--bd);border-radius:16px;overflow:hidden}
.gec-table th,.gec-table td{text-align:left;padding:10px 14px;border-bottom:2px dashed rgba(17,17,17,.2);vertical-align:top}.gec-table th{width:34%;font-family:var(--fd)}
@media (max-width:560px){.gec-table th,.gec-table td{display:block;width:auto;padding:6px 14px}.gec-table th{padding-top:10px;border-bottom:0}}
.gec-prose{background:#fff;border:var(--bd);border-radius:var(--r);padding:clamp(16px,3vw,26px);box-shadow:var(--hs)}
.gec-prose h3{font-size:20px;margin:18px 0 6px}.gec-prose h3:first-child{margin-top:0}.gec-prose ul{margin:0 0 12px;padding-left:22px}.gec-prose li{margin:0 0 6px}
.gec-crit{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 12px;padding:0;list-style:none}
.gec-crit li{background:#fff;border:var(--bd);border-radius:var(--r);padding:16px;box-shadow:var(--hs)}.gec-crit b{font:800 18px var(--fd);display:block}.gec-crit .w{float:right;background:var(--lime);border:2px solid #111;border-radius:99px;padding:0 10px;font:800 14px var(--fd)}
.gec-faq details{background:#fff;border:var(--bd);border-radius:16px;padding:0;margin:0 0 10px}
.gec-faq summary{cursor:pointer;font:800 18px var(--fd);padding:14px 18px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.gec-faq summary::after{content:"+";font-size:24px;line-height:1}.gec-faq details[open] summary::after{content:"\2212"}
.gec-faq summary::-webkit-details-marker{display:none}
.gec-faq details p{margin:0;padding:0 18px 16px;font-weight:500}
.gec-spon{background:var(--pink);border:var(--bd);border-radius:32px;box-shadow:var(--hs-lg);padding:clamp(18px,4vw,36px);display:grid;gap:clamp(18px,3vw,32px)}
@media (min-width:900px){.gec-spon{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.gec-spon h2{margin-bottom:10px}.gec-spon .tag{font:800 clamp(18px,2.6vw,24px) var(--fd);background:#fff;border:2.5px solid #111;border-radius:14px;display:inline-block;padding:6px 14px;margin:6px 0 0;transform:rotate(-1deg)}
.gec-spon .gec-formcard{box-shadow:var(--hs)}
.gec-thanks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.gec-thanks li{background:#fff;border:2.5px solid #111;border-radius:99px;padding:4px 14px;font-weight:800}
.gec-final{text-align:center;background:var(--lime);border:var(--bd);border-radius:32px;box-shadow:var(--hs-lg);padding:clamp(22px,5vw,48px)}
.gec-final h2{margin-bottom:10px}.gec-final .ge-lead,.gec-final p{margin-left:auto;margin-right:auto;text-align:center;max-width:46ch}.gec-final .ge-small{max-width:none}
.gec-preview{background:var(--sun);border-bottom:var(--bd);padding:8px 16px;text-align:center;font-weight:700}
@media (prefers-reduced-motion:reduce){.gec-card{animation:none}.gec-badge:hover{transform:none}.gec-win span{transform:none}}
