/* ChessTerra Scorebook: open games map and its agreement */
.ctsb-page-play #headimg,.ctsb-page-playterms #headimg{display:none!important}
.ctsb .ctsb-pbar{margin:0 0 14px;align-items:center}
.ctsb .ctsb-pform{margin:0 0 16px}
.ctsb .ctsb-pseg{margin:0 0 14px}
.ctsb h2.ctsb-sub{margin:26px 0 10px;font-size:16px}
.ctsb input[type=time]{box-sizing:border-box!important;-webkit-appearance:none;appearance:none;display:block;width:100%!important;min-height:44px;background:var(--well)!important;border:1px solid var(--line)!important;border-radius:8px!important;color:var(--tx)!important;font-family:inherit!important;font-size:16px!important;line-height:1.3;padding:10px 12px!important;margin:0;color-scheme:dark}
.ctsb label.ctsb-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:600;line-height:1.4;margin:0 0 12px;cursor:pointer}
.ctsb label.ctsb-check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--g)}
.ctsb .ctsb-linkrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 8px}
.ctsb .ctsb-results{display:grid;gap:6px}
.ctsb .ctsb-results li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
.ctsb .ctsb-results li>span:first-child{flex:1;min-width:200px;font-weight:600}
.ctsb .ctsb-results em{font-style:normal;font-size:13px;color:var(--mut);flex-basis:100%}

/* map */
.ctsb .ctsb-map{position:relative;z-index:0;isolation:isolate;height:min(62vh,540px);min-height:320px;margin:0 0 16px;border-radius:12px;border:1px solid var(--line);background:var(--well);overflow:hidden;font-family:inherit}
.ctsb .ctsb-map.is-off{height:auto;min-height:0;padding:16px;color:var(--mut);font-size:14px}
.ctsb .ctsb-map.is-picking{border-color:var(--g);cursor:crosshair}
.ctsb .ctsb-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(.88) saturate(.55)}
.ctsb .ctsb-map.leaflet-container{background:#10121a}
.ctsb .leaflet-bar{border:1px solid var(--line-g)!important;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.ctsb .leaflet-bar a{background:#161b28!important;color:var(--g)!important;border-bottom-color:var(--line)!important;width:36px;height:36px;line-height:36px}
.ctsb .leaflet-control-attribution{background:rgba(12,11,19,.82)!important;color:var(--mut)!important;font-size:11px}
.ctsb .leaflet-control-attribution a{color:var(--mut)!important;text-decoration:underline!important}
.ctsb .leaflet-popup-content-wrapper,.ctsb .leaflet-popup-tip{background:#191827;color:var(--tx);box-shadow:0 6px 24px rgba(0,0,0,.6)}
.ctsb .leaflet-popup-content-wrapper{border:1px solid var(--line-g);border-radius:10px}
.ctsb .leaflet-popup-content{margin:12px 14px;font-family:Montserrat,system-ui,sans-serif;font-size:13px;line-height:1.45}
.ctsb .leaflet-container a.leaflet-popup-close-button{color:var(--mut)!important}
.ctsb .ctsb-pop{display:grid;gap:4px;min-width:170px}
.ctsb .ctsb-pop b{font-size:14px;color:var(--tx)}
.ctsb .ctsb-pop span{color:var(--mut)}
.ctsb .ctsb-pop a,.ctsb .ctsb-pop .ctsb-link{justify-self:start;font-size:13px;font-weight:700;text-decoration:underline!important;text-underline-offset:3px}
.ctsb .ctsb-pinwrap{background:none;border:0}

/* pins: on the map and beside each row */
.ctsb .ctsb-pin{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:2px solid #0b0d14;box-shadow:0 2px 8px rgba(0,0,0,.55);background:var(--g);color:var(--ink);font-size:19px;line-height:1}
.ctsb .ctsb-pin i{font-style:normal}
.ctsb .ctsb-pin.is-open i::before{content:"\265E"}
.ctsb .ctsb-pin.is-club{background:#191827;color:var(--g);border-color:var(--g)}
.ctsb .ctsb-pin.is-club i::before{content:"\265C"}
.ctsb .ctsb-pin.is-live{background:#6fb169;color:#0b1a0d}
.ctsb .ctsb-pin.is-live i{width:12px;height:12px;border-radius:50%;background:#0b1a0d}
.ctsb .ctsb-pin.is-live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid #6fb169;animation:ctsb-pulse 1.7s ease-out infinite;pointer-events:none}
.ctsb .ctsb-pin.is-held{opacity:.45}
.ctsb .ctsb-pin.is-pick{width:38px;height:38px;background:rgba(212,168,67,.25);border:3px solid var(--g-hi);cursor:grab}
.ctsb .ctsb-pin.is-pick i{width:8px;height:8px;border-radius:50%;background:var(--g-hi)}
@keyframes ctsb-pulse{0%{transform:scale(.9);opacity:.95}100%{transform:scale(2.1);opacity:0}}
.ctsb .ctsb-meet>.ctsb-pin.is-live::after{animation-name:ctsb-pulse-s}
@keyframes ctsb-pulse-s{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}

/* list */
.ctsb .ctsb-meets{display:grid;gap:10px}
.ctsb .ctsb-meet{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;transition:border-color .2s,box-shadow .2s}
.ctsb .ctsb-meet.is-mine{border-color:var(--line-g)}
.ctsb .ctsb-meet.is-flash{border-color:var(--g-hi);box-shadow:0 0 0 2px rgba(233,196,106,.35)}
.ctsb .ctsb-mmain h3{font-size:16px;margin:0 0 4px}
.ctsb .ctsb-mmeta{color:var(--tx)!important;font-size:14px!important;font-weight:600;margin:0 0 6px!important}
.ctsb .ctsb-mnote{margin:0 0 6px!important}
.ctsb .ctsb-mby{color:var(--mut)!important;font-size:13px!important;margin:0 0 10px!important}
.ctsb .ctsb-mstate{font-size:14px!important;font-weight:700;color:var(--g-hi)!important;margin:0 0 10px!important}
.ctsb .ctsb-mstate.is-warn{color:#f0a09b!important}
.ctsb .ctsb-meet .ctsb-acts{align-items:center}
.ctsb .ctsb-mreport{font-size:13px;color:var(--mut)!important;margin-left:4px}
.ctsb .ctsb-mextra{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}

/* forms */
.ctsb .ctsb-presults{display:grid;gap:6px;margin:0 0 6px}
.ctsb .ctsb-presults button{display:grid;gap:2px;width:100%;text-align:left;padding:10px 12px;border-radius:8px;background:var(--well);border:1px solid var(--line)}
.ctsb .ctsb-presults button:hover{border-color:var(--line-g);background:var(--card2)}
.ctsb .ctsb-presults button[disabled]{opacity:.6;cursor:not-allowed}
.ctsb .ctsb-presults b{font-size:14px;color:var(--tx)}
.ctsb .ctsb-presults span{font-size:12px;color:var(--mut);line-height:1.4}
.ctsb .ctsb-pinhint{margin:0!important}
.ctsb .ctsb-rules,.ctsb .ctsb-phow ul,.ctsb .ctsb-tbody ul{list-style:disc;padding-left:20px;margin:0 0 12px}
.ctsb .ctsb-rules li,.ctsb .ctsb-phow li,.ctsb .ctsb-tbody li{margin:0 0 8px;font-size:15px;line-height:1.5;color:var(--tx)}
.ctsb .ctsb-phow{margin-top:28px}
.ctsb .ctsb-phow h2{margin:0 0 10px}
.ctsb .ctsb-phow li{color:var(--mut);font-size:14px}
.ctsb .ctsb-phow li b{color:var(--tx)}

/* agreement page */
.ctsb .ctsb-tbody{max-width:780px}
.ctsb .ctsb-tbody h2{margin:22px 0 8px;font-size:17px}
.ctsb .ctsb-tbody p{line-height:1.65!important}
.ctsb .ctsb-tmeta{color:var(--mut)!important;font-size:14px!important}

@media (max-width:600px){
.ctsb .ctsb-map{height:56vh;min-height:300px}
.ctsb .ctsb-meet{grid-template-columns:30px minmax(0,1fr);gap:10px}
.ctsb .ctsb-meet>.ctsb-pin{width:30px;height:30px;font-size:16px}
.ctsb .ctsb-linkrow{grid-template-columns:minmax(0,1fr)}
.ctsb .ctsb-pbar .ctsb-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.ctsb .ctsb-pin.is-live::after{animation:none;opacity:.6}}
