
* { box-sizing: border-box; }
body { margin: 0; font-family: "Comic Sans MS", "Chicago", Verdana, sans-serif;
  background: #1a1440 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23ffffff' fill-opacity='0.35'/%3E%3Ccircle cx='20' cy='30' r='1' fill='%2399cccc' fill-opacity='0.4'/%3E%3Ccircle cx='33' cy='10' r='1' fill='%23cc99c2' fill-opacity='0.35'/%3E%3C/svg%3E");
  color: #f0eaf6; min-height: 100vh; }
a { color: inherit; }
.cb-wrap { max-width: 700px; margin: 0 auto; padding: 16px; }
.cb-marquee { background: linear-gradient(90deg,#b84fae,#4fb0b0,#d9b84f,#b84fae); background-size: 300% 100%;
  animation: cb-slide 9s linear infinite; color: #241c4d; font-weight: bold; padding: 6px 0; text-align: center;
  border-bottom: 3px ridge #d9b84f; letter-spacing: 1px; text-shadow: 1px 1px 0 #fff; font-size: 13px; }
@keyframes cb-slide { from{background-position:0 0;} to{background-position:300% 0;} }
.cb-header { display: flex; align-items: center; justify-content: space-between;
  background: repeating-linear-gradient(135deg,#241c4d,#241c4d 10px,#2f2560 10px,#2f2560 20px);
  border-bottom: 3px outset #b84fae; padding: 12px 20px; flex-wrap: wrap; gap: 10px; }
.cb-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.cb-logo-badge { width:40px;height:40px;border-radius:50%; background: conic-gradient(#b84fae,#4fb0b0,#d9b84f,#b84fae);
  display:flex;align-items:center;justify-content:center; font-weight:bold;color:#241c4d; border:2px solid #fff;
  animation: cb-spin 8s linear infinite; flex-shrink:0; }
@keyframes cb-spin { from{transform:rotate(0)} to{transform:rotate(360deg)} }
.cb-title { font-family:"Impact","Arial Black",sans-serif; font-size: 22px;
  background: linear-gradient(180deg,#d9b84f,#b84fae); -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow: 2px 2px 0 #4fb0b0; letter-spacing: 1px; }
.cb-timer { background:#241c4d; border:2px solid #7fc99f; color:#7fc99f; font-family:"Courier New",monospace;
  padding:6px 12px; font-size:14px; letter-spacing:1px; }
.cb-timer.low { color:#e88a3f; border-color:#e88a3f; }
.cb-timer.done { color:#e85f5f; border-color:#e85f5f; }
.cb-panel { background:#faf6e8; color:#2e2547; border: 3px solid #241c4d; box-shadow: 4px 4px 0 #4fb0b0; margin-bottom:16px; }
.cb-panel-head { background: linear-gradient(90deg,#b84fae,#7a3a9e); color:#fff; font-weight:bold; padding:10px 16px;
  font-size:15px; border-bottom:3px solid #241c4d; text-shadow: 1px 1px 0 #241c4d; }
.cb-panel-body { padding:16px; }
.cb-field { margin-bottom:12px; }
.cb-field label { display:block; font-size:12px; font-weight:bold; margin-bottom:4px; }
.cb-field input[type=text], .cb-field input[type=password], .cb-field textarea { width:100%; padding:10px 10px; border:2px inset #b84fae; font-family:inherit; font-size:16px; }
.cb-check { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:bold; }
.cb-check input { width:20px; height:20px; }
.cb-btn { display:inline-block; background: linear-gradient(#e8c860,#d99a3f); border: 2px outset #f0deb0;
  padding:12px 18px; font-weight:bold; color:#241c4d; box-shadow: 3px 3px 0 #241c4d; cursor:pointer; font-size:15px; min-height:44px;
  font-family:inherit; text-decoration:none; }
.cb-btn:hover { filter:brightness(1.06); }
.cb-btn:disabled { opacity:0.5; cursor:not-allowed; }
.cb-btn.small { padding:8px 12px; font-size:13px; min-height:36px; }
.cb-btn.quiet { background:#e6dff0; border-color:#f4eefa; }
.cb-btn.pay { background: linear-gradient(#8fe0b0,#4fb07f); border-color:#c8f0d8; }
.cb-error { background:#ffe0e0; border:2px solid #c94f4f; color:#7a1f1f; padding:8px 12px; font-size:13px; margin-bottom:12px; }
.cb-success { background:#e0f5e8; border:2px solid #4fc97a; color:#1f5c33; padding:8px 12px; font-size:13px; margin-bottom:12px; }
.cb-post { border-bottom: 2px dotted #b84fae; padding:12px 0; }
.cb-post:last-child { border-bottom:none; }
.cb-post-avatar { width:32px;height:32px;border-radius:50%; display:inline-flex;align-items:center;justify-content:center;
  background:#96398e; color:#fff;font-weight:bold; margin-right:8px; vertical-align:middle; border:2px solid #241c4d; }
.cb-post-name { color:#96398e; font-weight:bold; }
.cb-post-time { color:#888; font-size:11px; margin-left:6px; }
.cb-limit-banner { background: repeating-linear-gradient(135deg,#241c4d,#241c4d 10px,#2f2560 10px,#2f2560 20px);
  border: 2px outset #e85f5f; color:#ffb0b0; padding:12px 16px; text-align:center; font-size:13px; margin-bottom:16px; }
.cb-support-banner { background:#e0f0ea; border:2px solid #3f8f6f; color:#1f4a3a; padding:12px 16px;
  font-size:13px; margin-bottom:16px; line-height:1.5; }
.cb-support-banner a { color:#1f6b4a; font-weight:bold; }
.cb-footer { margin-top:20px; text-align:center; font-size:11px; color:#a8d8d8; border-top: 2px dashed #b84fae; padding: 16px; }
h2.cb-section-title { font-family:"Impact","Arial Black",sans-serif; font-size: 20px; color:#d9b84f;
  text-shadow: 2px 2px 0 #4fb0b0; margin: 20px 0 12px; }
#map { height: 55vh; min-height: 320px; border: 3px solid #241c4d; box-shadow: 4px 4px 0 #4fb0b0; margin-bottom: 16px; background:#cfd8dc; }
.cb-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.cb-actions { display:flex; gap:8px; flex-wrap:wrap; }
.cb-person { border-bottom: 2px dotted #b84fae; padding:10px 0; }
.cb-person:last-child { border-bottom:none; }
.cb-meta { font-size:12px; color:#6b5a86; }
.cb-countdown { font-family:"Courier New",monospace; font-weight:bold; color:#96398e; }
.cb-countdown.expired { color:#c94f4f; }
.cb-chat-log { max-height: 260px; overflow-y:auto; background:#fff; border:2px inset #b84fae; padding:8px; margin-bottom:10px; font-size:14px; }
.cb-chat-msg { margin-bottom:6px; word-wrap:break-word; }
.cb-chat-msg b { color:#96398e; }
.cb-chat-msg.mine b { color:#2f7f7f; }
.leaflet-popup-content { font-family: Verdana, sans-serif; font-size:13px; color:#2e2547; }
