* { box-sizing: border-box; }
body {
  margin: 0; background: #b8d4e8;
  background-image: linear-gradient(45deg, #a8c8e0 25%, transparent 25%, transparent 75%, #a8c8e0 75%),
                    linear-gradient(45deg, #a8c8e0 25%, transparent 25%, transparent 75%, #a8c8e0 75%);
  background-size: 24px 24px; background-position: 0 0, 12px 12px;
  font: 13px/1.8 "宋体", SimSun, "Microsoft YaHei", sans-serif; color: #1d3550;
}
a { color: #0b5394; }
a:visited { color: #674ea7; }
.page { max-width: 760px; margin: 18px auto; background: #fdfdf6; border: 2px solid #2f6f9f; }
.top { background: linear-gradient(90deg,#1a4e7c,#3d85c6); color: #fff; text-align: center; padding: 14px; }
.top h1 { margin: 0; font-size: 24px; font-family: "华文行楷","STXingkai",serif; letter-spacing: 3px; }
.top .sub { font-size: 12px; }
.marq { background: #fff3b0; border-bottom: 1px solid #d6c25e; padding: 3px; font-size: 12.5px; white-space: nowrap; overflow: hidden; }
.marq span { display: inline-block; padding-left: 100%; animation: scroll 18s linear infinite; }
@keyframes scroll { to { transform: translateX(-100%); } }
.welcome { padding: 14px 18px 4px; }
.blink { color: #c0392b; animation: blink 1s steps(1) infinite; font-weight: bold; }
@keyframes blink { 50% { opacity: 0; } }
.cols { display: flex; gap: 12px; padding: 10px 16px; flex-wrap: wrap; }
.col-l { flex: 1 1 200px; }
.col-r { flex: 2 1 380px; }
.box { border: 1px solid #9fc3de; margin-bottom: 12px; background: #fff; }
.box h2 { margin: 0; font-size: 13px; background: #dceaf5; padding: 4px 8px; border-bottom: 1px solid #9fc3de; }
.box .inner { padding: 8px 10px; font-size: 12.5px; }
.counter { font-family: Consolas, monospace; background: #000; color: #7fff7f; display: inline-block; padding: 1px 8px; letter-spacing: 2px; }
/* snake */
#snake-wrap { text-align: center; }
#snake { background: #0e2a3f; border: 3px solid #2f6f9f; display: block; margin: 8px auto; image-rendering: pixelated; }
#snake-msg { font-size: 12px; color: #1a4e7c; min-height: 18px; }
#snake-btn { background: #3d85c6; color: #fff; border: 1px solid #1a4e7c; padding: 3px 14px; cursor: pointer; font-size: 12.5px; }
ul.links { list-style: none; margin: 0; padding: 0; }
ul.links li { padding: 2px 0; }
ul.links li::before { content: '🔗 '; }
.guest { background: #f6f9fc; border: 1px dashed #9fc3de; padding: 4px 8px; margin: 6px 0; font-size: 12px; }
.foot { text-align: center; font-size: 11.5px; color: #3a6080; padding: 12px; border-top: 1px solid #d6e4f0; }
