/* V3.8: isolated activity rule styles; does not overwrite front.css */
.activity-rules{box-sizing:border-box;width:100%;min-width:0;margin:16px 0;padding:clamp(14px,3vw,24px);border:1px solid rgba(247,203,118,.7);border-radius:18px;background:linear-gradient(140deg,rgba(65,31,92,.96),rgba(30,15,48,.97));color:#f6e9ff;box-shadow:0 10px 25px rgba(0,0,0,.22);overflow-wrap:anywhere;line-height:1.68}
.activity-rules *{box-sizing:border-box}
.activity-rules h2{font-size:clamp(17px,4.5vw,23px);line-height:1.3;margin:0 0 12px;color:#ffe19d;text-align:center;letter-spacing:.02em}
.activity-rules p{font-size:clamp(13px,3.45vw,15px);line-height:1.75;margin:10px 0}
.activity-rules strong{color:#ffe2a1;font-weight:750}
.activity-rules .rules-dates{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.activity-rules .rules-dates li{font-size:clamp(13px,3.45vw,15px);line-height:1.6;background:rgba(255,255,255,.055);border-left:3px solid #e9bb66;border-radius:7px;padding:10px 12px}
.activity-rules .rules-note{background:rgba(250,216,153,.08);border-radius:9px;padding:12px}
.activity-rules .rules-fair{color:#ffe2a1;border-top:1px solid rgba(240,192,110,.3);padding-top:13px;margin-bottom:0;font-weight:600}
@media(max-width:420px){.activity-rules{padding:14px 12px;margin:12px 0;border-radius:14px}.activity-rules .rules-dates li{padding:9px 10px}.activity-rules p{line-height:1.7}}

/* V3.9 mobile-first compact rules and jump link */
.activity-rules{padding:0;overflow:hidden}
.activity-rules summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:15px 16px;text-align:center;touch-action:manipulation}
.activity-rules summary::-webkit-details-marker{display:none}
.activity-rules summary:focus-visible,.jump-scratch:focus-visible{outline:3px solid #fff0bd;outline-offset:3px}
.activity-rules .rules-title{color:#ffe19d;font-size:clamp(16px,4.3vw,21px);font-weight:800;line-height:1.35}
.activity-rules .rules-short{font-size:clamp(12px,3.5vw,14px);color:#f6e9ff;line-height:1.5}
.activity-rules .rules-more{font-size:12px;color:#e5be87}
.activity-rules .rules-more span{display:inline-block;transition:transform .2s}
.activity-rules[open] .rules-more span{transform:rotate(180deg)}
.activity-rules .rules-detail{padding:0 16px 15px;border-top:1px solid rgba(240,192,110,.22)}
.jump-scratch{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;margin:12px 0 10px;padding:13px 12px;border-radius:14px;text-decoration:none!important;text-align:center;background:linear-gradient(120deg,#ffe7a9,#eab968,#f8d999);color:#62351b!important;box-shadow:0 6px 18px rgba(213,147,53,.22);font-size:clamp(15px,4.1vw,20px);font-weight:900;line-height:1.35}
.jump-scratch small{font-size:11px;font-weight:600;color:#75482b}
.jump-chevron{font-size:36px;line-height:1;animation:hintDown 1.8s ease-in-out infinite}
@keyframes hintDown{0%,100%{transform:translateY(-2px);opacity:.65}50%{transform:translateY(3px);opacity:1}}
#scratch-area{scroll-margin-top:22px}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.jump-chevron{animation:none}}
@media(max-width:420px){.activity-rules summary{padding:12px 10px}.activity-rules .rules-detail{padding:0 11px 12px}.jump-scratch{margin:9px 0;padding:11px 8px}}

/* V3.13: prominent tap target for opening rules on mobile */
.activity-rules .rules-more{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;max-width:430px;margin:6px auto 0;padding:10px 12px;
  border:1px solid rgba(255,229,162,.85);border-radius:12px;
  background:linear-gradient(110deg,rgba(244,190,91,.23),rgba(255,229,165,.11));
  color:#ffe8a9;font-size:clamp(14px,3.8vw,16px);font-weight:800;line-height:1.4;
  box-shadow:0 0 13px rgba(238,190,83,.15);
}
.activity-rules .rules-toggle-icon{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 32px;width:32px;height:32px;border-radius:50%;
  color:#492712;background:linear-gradient(145deg,#ffe49c,#e9b75f);
  font-size:22px;line-height:1;font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
  transition:transform .2s ease;
}
.activity-rules[open] .rules-toggle-icon{transform:rotate(180deg)}
@media(max-width:360px){
 .activity-rules .rules-more{font-size:13px;gap:7px;padding:9px 7px}
 .activity-rules .rules-toggle-icon{flex-basis:30px;width:30px;height:30px;font-size:21px}
}
@media(prefers-reduced-motion:reduce){.activity-rules .rules-toggle-icon{transition:none}}

.activity-rules[open] .rules-more span.rules-toggle-icon{transform:rotate(180deg)}
