/* 專題頁 (templates/portal/landing.html, e.g. /competitions/stem/). Loaded in base.html late_head; dark values set by hand. */
.landing-trail{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.4rem 0 1rem;font-size:.8rem;color:var(--muted)}
.landing-trail a{color:var(--muted);text-decoration:none}
.landing-trail a:hover{color:var(--ink);text-decoration:underline}
.landing-hero{position:relative;padding:clamp(1.5rem,4vw,2.6rem);margin:0 0 2rem;border-radius:1.6rem;overflow:hidden;
  background:radial-gradient(60% 90% at 0% 0%,#d6e6ff,transparent 62%),radial-gradient(50% 80% at 100% 100%,#ffe6c7,transparent 62%),
             radial-gradient(45% 70% at 72% 8%,#d6f4ec,transparent 62%),#f2f5fa}
:root[data-theme=dark] .landing-hero{background:radial-gradient(60% 90% at 0% 0%,#17304f,transparent 62%),radial-gradient(50% 80% at 100% 100%,#3a2914,transparent 62%),
             radial-gradient(45% 70% at 72% 8%,#103631,transparent 62%),#11151b}
.landing-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.2;margin:.3rem 0 .8rem}
.landing-lead{max-width:44rem;margin:0 0 1.4rem;font-size:1.02rem;line-height:1.85;color:var(--muted)}
.landing-stats{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.4rem}
.landing-stats div{min-width:6.5rem;padding:.7rem .95rem;border-radius:1rem;background:color-mix(in srgb,var(--surface,#fff) 72%,transparent)}
.landing-stats dt{font-size:.75rem;color:var(--muted)}
.landing-stats dd{margin:.15rem 0 0;font-size:1.7rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.landing-hero .actions{display:flex;flex-wrap:wrap;gap:.6rem}
.landing-section{margin:0 0 2.4rem}
.landing-section>h2,.landing-section .section-heading h2{font-size:1.35rem;margin:0 0 .9rem}
.landing-section .section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem}
.landing-ended{margin-top:1rem}
.landing-faq details{border-bottom:1px solid var(--line);padding:.2rem 0}
.landing-faq summary{display:flex;align-items:center;gap:.6rem;min-height:3rem;cursor:pointer;list-style:none}
.landing-faq summary::-webkit-details-marker{display:none}
.landing-faq summary::after{content:"+";margin-left:auto;font-size:1.2rem;color:var(--muted);transition:transform .2s ease}
.landing-faq details[open] summary::after{transform:rotate(45deg)}
.landing-faq summary h3{margin:0;font-size:1rem;font-weight:700}
.landing-faq p{margin:0 0 .6rem;line-height:1.8;color:var(--muted)}
.landing-faq ul{margin:0 0 .9rem;padding-left:1.2rem;line-height:1.9}
.landing-faq li a{color:var(--ink)}

@media (max-width:720px){.landing-hero{padding:1.3rem 1.1rem;border-radius:1.3rem}.landing-stats div{min-width:5.5rem}.landing-stats dd{font-size:1.4rem}}
