:root{
  color-scheme:light;
  --ink:#281134;
  --muted:#715f77;
  --line:rgba(73,36,84,.14);
  --purple:#71337b;
  --purple-deep:#3a1749;
  --orange:#e88936;
  --cream:#fff9f3;
  --lav:#f6eef8;
  --card:#fff;
  --green:#2f715c;
}
*{box-sizing:border-box}
html{background:#f7f3f7}
body{
  margin:0;
  min-height:100%;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 8%,rgba(232,137,54,.13),transparent 22rem),
    radial-gradient(circle at 92% 16%,rgba(113,51,123,.12),transparent 26rem),
    linear-gradient(180deg,#fffaf7 0,#f8f3f8 48%,#f4eef5 100%);
}
.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:38px 0 42px}
.hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
  padding:42px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 20%,rgba(232,137,54,.42),transparent 18rem),
    radial-gradient(circle at 10% 120%,rgba(181,112,190,.45),transparent 24rem),
    linear-gradient(135deg,#30123d,#5c2768 58%,#753578);
  box-shadow:0 22px 60px rgba(52,22,72,.16)
}
.eyebrow,.section-kicker{
  display:block;
  margin-bottom:10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase
}
.eyebrow{color:#f7cfac}
.hero h1{margin:0;font-size:clamp(42px,7vw,74px);line-height:.96;letter-spacing:-.045em}
.hero p{max-width:760px;margin:20px 0 0;color:#f4e9f5;font-size:18px;line-height:1.6}
.hero-badge{
  min-width:168px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px)
}
.hero-badge span,.hero-badge strong{display:block}
.hero-badge span{font-size:12px;color:#eadcea;text-transform:uppercase;letter-spacing:.1em}
.hero-badge strong{margin-top:5px;font-size:17px}
.intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:44px;
  align-items:end;
  padding:54px 8px 26px
}
.section-kicker{color:var(--purple)}
.intro h2,.roadmap h2{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-.03em}
.intro p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:12px}
.idea-card{
  min-width:0;
  padding:25px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 32px rgba(52,22,72,.06)
}
.idea-card.featured{
  border-color:rgba(232,137,54,.35);
  background:linear-gradient(145deg,#fff9f0,#fff)
}
.idea-card.wide{grid-column:1/-1;background:linear-gradient(145deg,#f9f1fb,#fff)}
.idea-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.number{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;
  background:var(--lav);color:var(--purple);font-size:14px;font-weight:800
}
.status{
  padding:7px 10px;border-radius:999px;background:#f3e7f4;color:#6a2d74;
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em
}
.status.external{background:#eef7f3;color:var(--green)}
.idea-card h2{margin:22px 0 9px;font-size:27px;letter-spacing:-.025em}
.lead{margin:0;color:#47364c;font-size:15px;line-height:1.65}
.idea-detail{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.idea-detail strong{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--purple)}
.idea-detail p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.tags span{padding:7px 9px;border-radius:9px;background:#f6f1f7;color:#664e6c;font-size:11px;font-weight:700}
.wide-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:center}
.external-link{
  display:block;padding:22px;border:1px solid rgba(47,113,92,.20);border-radius:18px;
  color:#245847;text-decoration:none;background:#f1f8f5;transition:.18s ease
}
.external-link:hover{transform:translateY(-2px);border-color:rgba(47,113,92,.45);background:#eaf5f0}
.external-link span,.external-link strong,.external-link small{display:block}
.external-link span{font-size:12px;color:#628477}
.external-link strong{margin:6px 0;font-size:19px}
.external-link small{color:#678177}
.roadmap{
  margin-top:42px;padding:32px;border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.68)
}
.roadmap-head{max-width:720px}
.roadmap ol{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.roadmap li{display:flex;gap:12px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.roadmap li>span{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--purple-deep);color:#fff;font-size:13px;font-weight:800}
.roadmap strong{display:block;font-size:14px}
.roadmap p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
footer{display:flex;justify-content:space-between;gap:24px;margin-top:24px;padding:18px 8px;color:#817087;font-size:12px;line-height:1.5}
footer p{max-width:780px;margin:0}
footer span{white-space:nowrap}
@media(max-width:800px){
  .page-shell{width:min(100% - 20px,1180px);padding-top:10px}
  .hero{grid-template-columns:1fr;padding:28px 23px;border-radius:22px}
  .hero-badge{width:max-content}
  .intro{grid-template-columns:1fr;gap:16px;padding:36px 4px 20px}
  .ideas{grid-template-columns:1fr}
  .idea-card.wide{grid-column:auto}
  .wide-grid{grid-template-columns:1fr}
  .roadmap{padding:22px}
  .roadmap ol{grid-template-columns:1fr 1fr}
  footer{flex-direction:column}
}
@media(max-width:520px){
  .hero h1{font-size:44px}
  .hero p{font-size:16px}
  .idea-card{padding:20px}
  .roadmap ol{grid-template-columns:1fr}
}
/* Teams link */
.teams-link{display:block;margin-top:16px;padding:13px 14px;border:1px solid rgba(82,92,173,.22);border-radius:13px;background:#f2f3ff;color:#343b78;text-decoration:none}
.teams-link strong,.teams-link span{display:block}.teams-link strong{font-size:14px}.teams-link span{margin-top:4px;font-size:11px;color:#626b9a}.teams-link:hover{border-color:rgba(82,92,173,.48);background:#eceeff}
/* Idea submission */
.submit-idea{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px;margin-top:42px;padding:32px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#fff9f4,#fff)}
.submit-copy h2,.community-head h2{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.03em}.submit-copy>p{color:var(--muted);line-height:1.65}
.submit-note{margin-top:22px;padding:16px;border-radius:15px;background:#f7eef8;border:1px solid rgba(113,51,123,.12)}.submit-note strong,.submit-note span{display:block}.submit-note strong{font-size:13px}.submit-note span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}
.idea-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.idea-form label{display:grid;gap:7px;min-width:0}.idea-form label>span{font-size:12px;font-weight:800;color:#604767}.idea-form label small{font-weight:500;color:#89748f}.idea-form .full{grid-column:1/-1}
.idea-form input,.idea-form select,.idea-form textarea{width:100%;border:1px solid rgba(73,36,84,.18);border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;font:inherit;font-size:15px;outline:none}.idea-form textarea{resize:vertical;min-height:130px}.idea-form input:focus,.idea-form select:focus,.idea-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(113,51,123,.10)}
.idea-form .hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form-actions button{min-height:46px;border:0;border-radius:12px;padding:0 18px;background:var(--purple-deep);color:#fff;font-weight:800;cursor:pointer}.form-actions button:disabled{opacity:.55;cursor:wait}.form-actions p{margin:0;color:var(--green);font-size:13px;line-height:1.45}
.community-ideas{margin-top:26px;padding:28px;border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.72)}.community-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.community-count{padding:7px 10px;border-radius:999px;background:#f3e7f4;color:#6a2d74;font-size:11px;font-weight:800}.community-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.community-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.community-card-top{display:flex;justify-content:space-between;gap:12px;color:var(--purple);font-size:11px;font-weight:700}.community-card-top small{color:var(--muted);font-weight:500}.community-card h3{margin:12px 0 7px;font-size:18px}.community-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.community-empty{grid-column:1/-1;margin:0;padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
@media(max-width:800px){.submit-idea{grid-template-columns:1fr;padding:22px}.community-list{grid-template-columns:1fr}}@media(max-width:520px){.idea-form{grid-template-columns:1fr}.idea-form .full{grid-column:auto}.community-head{align-items:flex-start;flex-direction:column}}
/* Accepted idea */
.idea-card.accepted{
  border:1px solid rgba(74,255,143,.95);
  box-shadow:
    0 0 0 1px rgba(74,255,143,.22),
    0 0 18px rgba(74,255,143,.38),
    0 0 42px rgba(74,255,143,.16),
    0 10px 32px rgba(52,22,72,.06);
}
.idea-card.accepted .number{
  background:rgba(74,255,143,.14);
  color:#146b3a;
  border:1px solid rgba(74,255,143,.42);
}
.idea-card .accepted-status{
  background:rgba(52,211,153,.14);
  color:#11643c;
  border:1px solid rgba(52,211,153,.34);
}
@media (prefers-reduced-motion:no-preference){
  .idea-card.accepted{
    animation:acceptedGlow 3.6s ease-in-out infinite;
  }
}
@keyframes acceptedGlow{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(74,255,143,.18),
      0 0 14px rgba(74,255,143,.28),
      0 0 32px rgba(74,255,143,.12),
      0 10px 32px rgba(52,22,72,.06);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(74,255,143,.30),
      0 0 24px rgba(74,255,143,.52),
      0 0 52px rgba(74,255,143,.20),
      0 10px 32px rgba(52,22,72,.06);
  }
}
/* Idea status system */
.status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:9px 14px;
  margin:8px 0 18px;
  padding:0 4px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.status-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.legend-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  box-shadow:0 0 0 3px rgba(255,255,255,.7);
}
.legend-new{background:#9096a3}
.legend-review{background:#3987d9}
.legend-accepted{background:#2ecf7a}
.legend-rejected{background:#df4b55}

.idea-card .status-new{
  background:#f0f1f3;
  color:#59616e;
  border:1px solid #d5d8dd;
}
.idea-card .status-review{
  background:#e9f4ff;
  color:#175f9d;
  border:1px solid #abd2f5;
  box-shadow:0 0 12px rgba(57,135,217,.12);
}
.idea-card .accepted-status{
  background:rgba(46,207,122,.13);
  color:#12683c;
  border:1px solid rgba(46,207,122,.38);
}
.idea-card .status-rejected{
  background:#fff0f1;
  color:#a72831;
  border:1px solid #efb2b7;
}
.idea-card.is-review{
  border-color:rgba(57,135,217,.44);
  box-shadow:0 0 0 1px rgba(57,135,217,.10),0 0 22px rgba(57,135,217,.10),0 10px 32px rgba(52,22,72,.06);
}
.idea-card.is-rejected{
  border-color:rgba(223,75,85,.58);
  box-shadow:0 0 0 1px rgba(223,75,85,.10),0 0 20px rgba(223,75,85,.10),0 10px 32px rgba(52,22,72,.06);
}
/* Team pages */
.team-code{display:inline-block;color:#f7cfac;font-size:.5em;vertical-align:middle;margin-left:10px;letter-spacing:.02em}
.idea-credit{margin:-2px 0 14px;color:#6f5b78;font-size:12px;font-weight:800}
.community-status{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.community-review{border-color:rgba(57,135,217,.48)!important;box-shadow:0 0 16px rgba(57,135,217,.12)}
.community-review .community-status{background:#e9f4ff;color:#175f9d;border:1px solid #abd2f5}
.community-approved{border-color:rgba(46,207,122,.52)!important;box-shadow:0 0 16px rgba(46,207,122,.12)}
.community-approved .community-status{background:rgba(46,207,122,.13);color:#12683c;border:1px solid rgba(46,207,122,.38)}
.community-rejected{border-color:rgba(223,75,85,.52)!important;box-shadow:0 0 16px rgba(223,75,85,.10)}
.community-rejected .community-status{background:#fff0f1;color:#a72831;border:1px solid #efb2b7}