#shuiyu-rules {
  position: fixed;
  inset: 0;
  z-index: 9100;
  display: none;
  overflow: auto;
  color: #173b6d;
  font-family: "Microsoft YaHei", sans-serif;
  background: linear-gradient(180deg, #4ba4ec 0%, #bfe9ff 32%, #d9fff1 100%);
}
#shuiyu-rules.is-visible { display: block; }
.sy-rules-shell { width: min(100%, 760px); min-height: 100%; margin: 0 auto; padding: 28px 28px 120px; box-sizing: border-box; }
.sy-rules-head { display:flex; align-items:center; gap:20px; margin-bottom:22px; }
.sy-rules-back { width:82px; height:58px; border:0; border-radius:18px; color:#fff; background:#2367b8; font-size:24px; box-shadow:0 7px 0 #174b8d; }
.sy-rules-title { flex:1; color:#fff; font-size:38px; font-weight:800; text-shadow:0 3px 8px rgba(14,66,120,.35); }
.sy-rules-card { border-radius:26px; padding:22px; background:rgba(255,255,255,.92); box-shadow:0 12px 34px rgba(21,84,139,.18); }
.sy-section { margin-bottom:24px; }
.sy-section:last-child { margin-bottom:0; }
.sy-label { margin:0 0 12px; font-size:25px; font-weight:800; }
.sy-tabs,.sy-options { display:grid; gap:10px; }
.sy-tabs { grid-template-columns:repeat(3,1fr); }
.sy-options.two { grid-template-columns:repeat(2,1fr); }
.sy-options.four { grid-template-columns:repeat(2,1fr); }
.sy-choice { position:relative; }
.sy-choice input { position:absolute; opacity:0; pointer-events:none; }
.sy-choice span { display:flex; align-items:center; justify-content:center; min-height:54px; box-sizing:border-box; padding:8px 10px; border:2px solid #c7d9ea; border-radius:14px; color:#4d6480; background:#f4f8fc; font-size:22px; font-weight:700; text-align:center; }
.sy-choice input:checked + span { color:#fff; border-color:#168ee5; background:linear-gradient(180deg,#27b3ff,#147bd5); box-shadow:0 5px 0 #0f5fa9; }
.sy-stepper { display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; margin:10px 0; }
.sy-stepper strong { font-size:23px; }
.sy-step-controls { display:flex; align-items:center; gap:10px; }
.sy-step-controls button { width:46px; height:46px; border:0; border-radius:12px; color:#fff; background:#2275c7; font-size:28px; font-weight:bold; }
.sy-step-controls output { min-width:54px; text-align:center; color:#e25934; font-size:26px; font-weight:800; }
.sy-friends { display:flex; align-items:center; gap:12px; font-size:22px; font-weight:700; }
.sy-friends input { width:28px; height:28px; accent-color:#168ee5; }
.sy-create { position:sticky; bottom:18px; width:100%; height:68px; margin-top:24px; border:0; border-radius:22px; color:#fff; background:linear-gradient(180deg,#ffae45,#f2751e); box-shadow:0 8px 0 #c95313,0 12px 26px rgba(171,73,9,.26); font-size:30px; font-weight:900; }
.sy-create:disabled { filter:grayscale(.5); opacity:.7; }
.sy-rules-error { min-height:28px; margin:12px 0 0; color:#d13b2f; font-size:20px; font-weight:700; text-align:center; }
@media (max-width:480px) {
  .sy-rules-shell { padding:18px 16px 100px; }
  .sy-rules-title { font-size:30px; }
  .sy-rules-card { padding:18px 14px; border-radius:22px; }
  .sy-label { font-size:21px; }
  .sy-choice span { min-height:48px; font-size:18px; }
  .sy-stepper strong,.sy-friends { font-size:19px; }
}
