/* Participant theme. Layout and user-saved design overrides stay independent. */
.participant-body {
  --accent:#98c83b;
  --accent-dark:#618821;
  --accent-light:#f2f8e7;
  --line:#e7eae4;
  --text-primary:#252a28;
  --text-secondary:#6c746f;
  --shadow-soft:0 6px 24px #23351a06;
  --glass-bg:#fff;
  --glass-border:#e7eae4;
  background:#fff;
}
.participant-body .surface,.participant-body .glass,
.participant-body .my-results,.participant-body .coin-summary {
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.participant-body .site-header { background:#fff; }
.participant-body .brand-variant:has(.brand-mark img) .brand-copy { display:none; }
.participant-body .brand-mark:has(img) {
  width:190px;height:40px;background:transparent;padding:0;border-radius:0;
}
.participant-body .brand-mark img { width:100%;height:100%;object-fit:contain; }
.participant-body .button.primary {
  background:#98c83b;color:#fff;border-color:#98c83b;box-shadow:none;
}
.participant-body .button.primary:hover:not(:disabled) { background:#86b32f;border-color:#86b32f; }
.participant-body .button.primary * { color:inherit; }
.participant-body .button.secondary { background:#fff;border-color:#dfe5d9;color:#515b51;box-shadow:none; }
.participant-body .button { font-size:14px;line-height:1.5;min-height:46px; }
.participant-body .button.small { font-size:12px;min-height:40px;padding:9px 14px; }
.participant-body .eyebrow { color:var(--accent-dark);letter-spacing:.12em; }
.participant-body .notice { background:#f6f8f2;border-color:#e0e8d4;color:#53613e; }
.participant-body input,.participant-body select { background:#fcfdfb;border-color:#dfe5da; }
.participant-body .privacy { background:#f7f8f5; }
.participant-body .privacy b,.participant-body .steps .current { color:var(--accent-dark); }
.participant-body .welcome-intro h1 { font-size:clamp(36px,4vw,50px);line-height:1.3; }
.participant-body .welcome-intro .lead { font-size:15px;line-height:1.9; }
.participant-body .registration-surface { border-radius:24px; }
.participant-body .registration-surface h2 { font-size:23px;line-height:1.4; }
.participant-body .center-intro h1 { font-size:clamp(30px,3.5vw,40px);line-height:1.35; }
.participant-body .title-small { font-size:16px; }
.participant-body .fine-print { font-size:12px;line-height:1.75; }
.participant-body .category-card { position:relative;border-radius:18px;padding:24px; }
.participant-body .category-card h2 { font-size:22px;line-height:1.35;margin:12px 0; }
.participant-body .category-art {
  width:auto;height:auto;display:block;background:none;box-shadow:none;
  transform:none;color:var(--accent-dark);font-size:36px;line-height:1.1;margin:12px 0 0;
}
.participant-body .category-card p { font-size:13px;line-height:1.8;min-height:0;margin-bottom:12px; }
.participant-body .category-card .fine-print { font-size:12px; }
.participant-body .category-selected-purchase strong { font-size:14px; }
.participant-body .category-selected-purchase p { font-size:12px; }
.participant-body .category-selected-purchase { background:#fafbf8;border-color:var(--line); }
.participant-body .category-actions { flex-wrap:wrap; }
.participant-body .category-action { min-width:0; }
.participant-body .category-action .button { white-space:normal; }
.participant-body .coin-summary { position:relative; }
.participant-body .coin-summary>strong { color:var(--accent-dark);font-size:34px; }
.participant-body .coin-summary .eyebrow,.participant-body .coin-summary>strong { position:relative;z-index:1; }
.participant-body .catalog-grade.is-active { background:#98c83b;border-color:#98c83b;color:#fff; }
.participant-body .catalog-grade.is-active * { color:#fff; }
.participant-body .catalog-kind-tabs a.is-active,
.participant-body .catalog-kind-tabs a[aria-current=page],
.participant-body .choose-tabs a.active { background:#98c83b;color:#fff;border-color:#98c83b; }
.participant-body .catalog-wallet { border-radius:18px; }
.participant-body .catalog-heading h1 { font-size:30px;line-height:1.4; }
.participant-body .catalog-heading { position:relative;padding-right:120px;min-height:120px; }
.participant-body .catalog-kind-tabs { flex-wrap:wrap;overflow:visible; }
.participant-body .catalog-good { box-shadow:none; }
.participant-body .draw-machine { background:#fff;border-color:var(--line);box-shadow:var(--shadow-soft); }
.participant-body .draw-gift-front { background:#e3f0c5;border-color:#c8df9a;color:var(--accent-dark); }
.participant-body .draw-halo { background:radial-gradient(ellipse,#eff7e1,transparent 68%); }
.participant-body .draw-layout,.participant-body .result-layout,
.participant-body .gift-page,.participant-body .point-history-page { position:relative; }
.participant-body .gift-page h1,.participant-body .point-history-page h1 { font-size:27px;line-height:1.4; }
.participant-body .gift-page .lead { font-size:14px; }
.participant-body .gift-balance { background:#f4f9ea;border-color:#e0e9d2; }
.participant-body .result-surface { background:#fff;border-color:var(--line);border-radius:22px; }
.participant-body .result-seal,.participant-body .result-code { color:var(--accent-dark); }
.participant-body .result-seal { background:#f0f7e4; }
.participant-body .pill { background:#f0f6e7;color:var(--accent-dark); }
.participant-body .result-surface h2 { font-size:23px; }
.participant-body .result-meta { font-size:13px; }

/* Each illustration is a normal editable DesignLayer relative to a stable content slot. */
.illustration-slot { position:relative;pointer-events:none; }
.illustration-slot>.site-design-layer { position:absolute;max-width:none;height:auto; }
.welcome-artwork { width:280px;height:180px;margin:10px 0 22px; }
[data-illustration-slot=welcome-art] { width:100%;height:100%; }
.event-intro { position:relative;padding:0 130px; }
[data-illustration-slot=event-mascot] { position:absolute;width:120px;height:150px;right:0;top:10px; }
[data-illustration-slot=wallet-art] { position:absolute;width:65px;height:75px;right:16px;top:18px;opacity:.95; }
[data-illustration-slot=random-art] { float:right;width:115px;height:125px;margin:10px 0 4px 12px; }
[data-illustration-slot=draw-mascot] { position:absolute;width:100px;height:130px;right:-95px;top:245px; }
[data-illustration-slot=catalog-mascot] { position:absolute;width:110px;height:120px;right:0;bottom:0; }
[data-illustration-slot=gift-mascot] { position:absolute;width:90px;height:110px;right:-75px;top:20px; }
[data-illustration-slot=history-mascot] { position:absolute;width:90px;height:110px;right:-60px;bottom:12px; }
[data-illustration-slot=result-mascot] { position:absolute;width:110px;height:145px;right:-110px;top:350px; }
@media(max-width:900px) and (min-width:721px) {
  [data-illustration-slot=draw-mascot] { right:-60px;width:75px; }
  [data-illustration-slot=gift-mascot] { right:-55px;width:70px; }
}
@media(max-width:720px) {
  .participant-body .brand-mark:has(img) { width:145px;height:32px; }
  .participant-body .site-header { padding:18px 22px;gap:12px; }
  .participant-body .account-label { display:none; }
  .participant-body .account-name { font-size:10px; }
  .participant-body .participant-account { gap:7px; }
  .participant-body .welcome-intro { position:relative;padding-right:95px;min-height:205px; }
  .participant-body .welcome-intro h1 { font-size:32px; }
  .participant-body .welcome-intro .eyebrow { font-size:9px; }
  .participant-body .welcome-intro .lead { font-size:13px; }
  .welcome-artwork { position:absolute;right:-8px;top:65px;width:90px;height:125px;margin:0; }
  .participant-body .steps { margin:18px 0 25px; }
  .participant-body .registration-surface { padding:24px 20px; }
  .participant-body .registration-surface h2 { font-size:21px; }
  .event-intro { padding:0 65px 0 0;text-align:left; }
  .participant-body .event-intro h1 { font-size:29px; }
  .participant-body .event-intro .lead { font-size:13px; }
  [data-illustration-slot=event-mascot] { width:65px;height:90px;top:35px;right:-4px; }
  [data-illustration-slot=draw-mascot] { right:0;top:150px;width:55px;height:70px; }
  [data-illustration-slot=gift-mascot] { right:12px;top:8px;width:45px;height:55px; }
  [data-illustration-slot=history-mascot] { right:10px;bottom:15px;width:50px;height:65px; }
  [data-illustration-slot=result-mascot] { right:0;top:240px;width:60px;height:80px; }
  [data-illustration-slot=catalog-mascot] { width:65px;height:85px; }
  .participant-body .catalog-heading { padding-right:65px;min-height:100px; }
  .participant-body .catalog-heading h1 { font-size:25px; }
  .participant-body .catalog-heading .lead { font-size:13px; }
  .participant-body .gift-page h1,.participant-body .point-history-page h1 { font-size:24px; }
  .participant-body .category-card { padding:22px; }
}

.participant-body .category-card h2 { max-width:none; }
.participant-body .category-card p { max-width:none; }
.participant-body .category-card .category-art { background:none;transform:none;box-shadow:none; }
.participant-body .category-selected-purchase { padding:16px;margin-top:16px;border-radius:12px; }
.participant-body .category-selected-purchase .fine-print { margin:6px 0; }

.participant-body .participant-main:has(>.gift-page),
.participant-body .participant-main:has(>.point-history-page) { display:block; }
.participant-body .point-history-item>div:first-child { min-width:0; }
.participant-body .point-history-amount { flex:0 0 auto; }

.brand-variant { display:inline-flex;align-items:center;gap:12px; }
.brand-variant[data-brand-device=mobile] { display:none; }
@media(max-width:720px) {
  .brand-variant[data-brand-device=desktop] { display:none; }
  .brand-variant[data-brand-device=mobile] { display:inline-flex; }
}
