/* Snakebook: the social hub, styled like a 2013-2016 social network (flat blue bar, white cards, grey page) */
#friends-modal{align-items:center;padding:10px 0;}
#friends-modal .modal-content.cb,#friend-stats-modal .modal-content.cb-prof{
  --cb-blue:#3b5998;--cb-blue-d:#29487d;--cb-link:#3b5998;--cb-bg:#e9ebee;--cb-line:#dddfe2;--cb-ink:#1d2129;--cb-mut:#90949c;--cb-green:#42b72a;
  font-family:Helvetica,Arial,'Lucida Grande',sans-serif;color:var(--cb-ink);text-align:left;background:var(--cb-bg);border:0;border-radius:4px;padding:0;
  box-shadow:0 0 0 1px rgba(0,0,0,.25),0 18px 50px rgba(0,0,0,.6);overflow:hidden;}
#friends-modal .modal-content.cb{width:min(960px,98vw);height:min(92vh,760px);max-height:none;display:flex;flex-direction:column;}
.cb *{box-sizing:border-box}
.cb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* top bar */
.cb-nav{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:0 12px;height:48px;background:var(--cb-blue);border-bottom:1px solid var(--cb-blue-d);}
.cb-logo{color:#fff;font-size:21px;letter-spacing:-.5px;display:flex;align-items:center;gap:7px;white-space:nowrap;font-weight:300}
.cb-logo b{font-weight:700;margin-left:-5px}
.cb-logo-box{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:3px;background:#fff;color:var(--cb-blue);font-weight:900;font-size:19px;}
.cb-search{display:flex;flex:1;max-width:430px;min-width:0;}
.cb-search input{flex:1;min-width:0;height:28px;border:1px solid #29487d;border-right:0;border-radius:2px 0 0 2px;padding:0 9px;font-size:12px;font-family:inherit;background:#fff;color:var(--cb-ink);outline:none;text-transform:uppercase;letter-spacing:1px;}
.cb-search input::placeholder{text-transform:none;letter-spacing:0;color:#9a9ea5}
.cb-search button{height:28px;display:flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #29487d;border-radius:0 2px 2px 0;background:linear-gradient(#6d84b4,#4a649c);color:#fff;font:bold 11px Helvetica,Arial,sans-serif;cursor:pointer;white-space:nowrap;}
.cb-search button img{width:14px;height:14px;filter:brightness(5)}
.cb-tabs{display:flex;gap:2px;margin-left:auto;}
.cb-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;height:48px;border:0;background:transparent;color:#e4f5ea;cursor:pointer;font:bold 10px Helvetica,Arial,sans-serif;gap:1px;border-bottom:3px solid transparent;}
.cb-tab i{font-style:normal;font-size:16px;line-height:1}
.cb-tab:hover{background:rgba(255,255,255,.1)}
.cb-tab.on{color:#fff;background:rgba(0,0,0,.14);border-bottom-color:#fff}
.cb-x{width:28px;height:28px;border:0;border-radius:3px;background:rgba(255,255,255,.15);color:#fff;font-size:14px;cursor:pointer;margin-left:4px}
.cb-x:hover{background:rgba(255,255,255,.3)}
.cb-x.light{position:absolute;right:10px;top:10px;z-index:3;background:rgba(0,0,0,.45)}

/* layout */
.cb-body{flex:1;min-height:0;display:grid;grid-template-columns:210px 1fr;gap:12px;padding:12px;overflow:hidden;}
.cb-side{display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:thin;}
.cb-main{min-width:0;overflow-y:auto;scrollbar-width:thin;padding-right:2px;}
.cb-main>section{display:flex;flex-direction:column;gap:10px}
#cb-feed{display:flex;flex-direction:column;gap:10px}
.cb-box{background:#fff;border:1px solid var(--cb-line);border-radius:3px;padding:10px 12px;}
.cb-box-title{display:flex;align-items:center;gap:8px;font:bold 13px Helvetica,Arial,sans-serif;color:var(--cb-ink);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #e5e5e5;}
.cb-box-h{font:bold 11px Helvetica,Arial,sans-serif;color:var(--cb-mut);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px}
.cb-count{display:inline-block;padding:1px 7px;border-radius:2px;background:#f0f2f5;border:1px solid var(--cb-line);color:#4b4f56;font:bold 11px Helvetica,Arial,sans-serif}
.cb-muted{color:var(--cb-mut);font-size:12px;line-height:1.4;margin:2px 0}
.cb-muted.center,.cb-empty{text-align:center}
.cb-empty{color:#606770;font-size:13px;padding:22px 10px;margin:0;line-height:1.5}
.cb-empty small{color:var(--cb-mut)}
.cb-uname{color:var(--cb-link);font-weight:bold;font-size:13px;cursor:pointer;text-decoration:none}
.cb-uname:hover{text-decoration:underline}
.cb-tag{display:inline-block;padding:0 5px;border-radius:2px;background:#6c3483;color:#fff;font:bold 10px Helvetica,Arial,sans-serif;vertical-align:1px}
.cb-time{color:var(--cb-mut);font-size:11px;margin-top:2px}

/* avatars: square-ish like the period */
.cb-ava{flex:0 0 auto;width:40px;height:40px;border-radius:2px;object-fit:cover;background:linear-gradient(135deg,#8b9dc3,#3b5998);color:#fff;display:flex;align-items:center;justify-content:center;font:bold 16px Helvetica,Arial,sans-serif;border:1px solid rgba(0,0,0,.12)}
.cb-ava.sm{width:30px;height:30px;font-size:13px}.cb-ava.lg{width:54px;height:54px;font-size:22px}.cb-ava.xl{width:112px;height:112px;font-size:42px;border:4px solid #fff;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.3)}

/* buttons */
.cb-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 12px;border-radius:3px;border:1px solid #ced0d4;background:#f6f7f9;color:#4b4f56;font:bold 12px Helvetica,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.cb-btn:hover{background:#ebedf0}
.cb-btn.sm{height:26px;padding:0 9px;font-size:11px}
.cb-btn.wide{width:100%}
.cb-btn.blue{background:linear-gradient(#4e69a2,#3b5998);border-color:#29487d;color:#fff}.cb-btn.blue:hover{background:#29487d}
.cb-btn.green{background:linear-gradient(#5fcf45,#42b72a);border-color:#2e9a19;color:#fff}.cb-btn.green:hover{background:#3aa724}
.cb-btn.red{background:#f6f7f9;color:#c0392b;border-color:#e0b4ae}.cb-btn.red:hover{background:#fdecea}
.cb-btn.danger{color:#c0392b}
.cb-row{display:flex;gap:8px;flex-wrap:wrap}
.cb-input{display:block;width:100%;height:34px;margin:0 0 8px;padding:0 10px;border:1px solid #ccd0d5;border-radius:3px;background:#fff;color:var(--cb-ink);font:13px Helvetica,Arial,sans-serif;outline:none}
.cb-input:focus{border-color:#3b5998;box-shadow:0 0 0 2px rgba(59,89,152,.22)}
.cb-input.center{text-align:center}

/* sidebar */
.cb-me-row{display:flex;gap:10px;align-items:center}
.cb-me-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid #e5e5e5;text-align:center}
.cb-me-stats b{display:block;font-size:13px;color:var(--cb-ink)}.cb-me-stats small{color:var(--cb-mut);font-size:10px}
.cb-code{display:block;padding:8px;margin-bottom:8px;text-align:center;border:1px dashed #b9bec7;border-radius:3px;background:#f6f7f9;color:var(--cb-blue);font:bold 17px 'Courier New',monospace;letter-spacing:3px;cursor:pointer}
.cb-code.sm{font-size:14px;letter-spacing:2px}
.cb-link{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:3px;color:var(--cb-link);font-size:13px;cursor:pointer}
.cb-link:hover{background:#f0f2f5}

/* feed posts */
.cb-post{background:#fff;border:1px solid var(--cb-line);border-radius:3px}
.cb-post-h{display:flex;gap:10px;align-items:center;padding:10px 12px 4px}
.cb-post-b{padding:6px 12px 10px;font-size:14px;line-height:1.4}
.cb-post-f{display:flex;gap:8px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid #e9ebee;background:#fafbfc}
.cb-page-ico{width:40px;height:40px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#ffe082,#ff8a65);border:1px solid rgba(0,0,0,.12)}
.cb-post.share{border-color:#b7dcc6;background:#f2faf5}

/* friend rows */
.cb-friend{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e9ebee}
.cb-friend:last-child{border-bottom:0}
.cb-friend-info{flex:1;min-width:0}
.cb-friend-sub{font-size:12px;color:#606770;margin-top:3px}
.cb-friend-cmp{font-size:11px;font-weight:bold;margin-top:3px}.cb-friend-cmp.up{color:#2e9a19}.cb-friend-cmp.down{color:#c0392b}.cb-friend-cmp.big{font-size:15px;margin:2px 0 6px}
.cb-friend-code{font:10px 'Courier New',monospace;color:#b0b4bb;margin-top:3px;letter-spacing:1px}
.cb-friend-actions{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}

/* groups */
.cb-group{background:#fff;border:1px solid var(--cb-line);border-radius:3px;overflow:hidden;--gc:#f5c518;margin-bottom:10px}
.cb-cover{height:96px;background:linear-gradient(135deg,var(--gc),color-mix(in srgb,var(--gc) 45%,#1d2129));background-image:linear-gradient(135deg,var(--gc),color-mix(in srgb,var(--gc) 45%,#1d2129)),repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 12px,transparent 12px 24px);background-blend-mode:overlay}
.cb-group-row{display:flex;gap:12px;align-items:flex-end;padding:0 14px 12px;margin-top:-30px}
.cb-group-photo{flex:0 0 auto;width:84px;height:84px;border-radius:3px;border:4px solid #fff;background:#f0f2f5;display:flex;align-items:center;justify-content:center;font-size:36px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.cb-group-photo.sm{width:34px;height:34px;font-size:16px;border-width:1px;box-shadow:none}
.cb-group-photo img{width:100%;height:100%;object-fit:cover}
.cb-group-info{flex:1;min-width:0;padding-bottom:2px}
.cb-group-name{font:bold 20px Helvetica,Arial,sans-serif;color:var(--cb-ink)}
.cb-pin{margin:0 14px 12px;padding:8px 10px;border-left:3px solid #f5c518;background:#fff9e0;font-size:12px;color:#4b4f56}
.cb-cols{display:grid;grid-template-columns:1fr 250px;gap:10px;align-items:start}
.cb-col-main,.cb-col-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.cb-wall{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:2px 0 8px;scrollbar-width:thin}
.cb-post-row{display:flex;gap:8px;align-items:flex-start}
.cb-bubble{background:#f2f3f5;border-radius:12px;padding:6px 10px;font-size:13px;line-height:1.35;max-width:88%;word-break:break-word}
.cb-post-row.me .cb-bubble{background:#e1f2e8}
.cb-uname+span{color:var(--cb-ink)}
.cb-wall-img{display:block;max-width:100%;margin-top:5px;border-radius:3px}
.cb-bubble .cb-time{margin-top:1px}
.cb-emojis{display:flex;gap:4px;margin:6px 0}
.cb-emojis button{border:1px solid var(--cb-line);background:#f6f7f9;border-radius:3px;padding:2px 8px;font-size:15px;cursor:pointer}.cb-emojis button:hover{background:#ebedf0}
.cb-compose{display:flex;gap:6px;align-items:center}.cb-compose .cb-input{margin:0;flex:1}
.cb-members{display:flex;flex-direction:column;gap:2px;max-height:210px;overflow-y:auto;scrollbar-width:thin}
.cb-member{display:flex;gap:8px;align-items:center;padding:5px 4px;border-radius:3px}.cb-member.me{background:#edf2fa}
.cb-member-info{flex:1;min-width:0}
.cb-member-name{font-weight:bold;font-size:12px;color:var(--cb-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-member-name em{font-style:normal;color:var(--cb-mut);font-weight:normal}
.cb-member-sub{font-size:11px;color:var(--cb-mut)}
.cb-kick{border:1px solid #e0b4ae;background:#fff;color:#c0392b;border-radius:3px;padding:1px 6px;cursor:pointer;font-size:11px}
.cb-widget{border-radius:3px;overflow:hidden;margin-bottom:8px}.cb-widget:empty{display:none}

/* ranking */
.cb-pills{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.cb-pill{height:28px;padding:0 14px;border-radius:14px;border:1px solid var(--cb-line);background:#f6f7f9;color:#4b4f56;font:bold 12px Helvetica,Arial,sans-serif;cursor:pointer}
.cb-pill.on{background:var(--cb-blue);border-color:var(--cb-blue-d);color:#fff}
.cb-rank{display:flex;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid #eef0f3}.cb-rank.me{background:#edf2fa}
.cb-rank-pos{width:32px;text-align:center;font:bold 14px Helvetica,Arial,sans-serif;color:var(--cb-mut)}
.cb-rank-info{flex:1;min-width:0}
.cb-rank-score{text-align:right}.cb-rank-score b{display:block;font-size:15px;color:var(--cb-ink)}.cb-rank-score small{color:var(--cb-mut)}

/* profile modal */
#friend-stats-modal{align-items:center}
#friend-stats-modal .modal-content.cb-prof{position:relative;width:min(640px,98vw);max-height:92vh;overflow-y:auto}
.cb-prof-cover{min-height:150px;background:linear-gradient(135deg,#8b9dc3,#3b5998);display:flex;align-items:stretch}
.cb-prof-head{position:relative;z-index:1;display:flex;gap:14px;align-items:flex-end;padding:0 16px 12px;margin-top:-52px;background:linear-gradient(transparent 52px,#fff 52px);flex-wrap:wrap}
.cb-prof-name{flex:1;min-width:140px;font:bold 22px Helvetica,Arial,sans-serif;color:var(--cb-ink);padding-bottom:4px}.cb-prof-name small{display:block;font:13px Helvetica,Arial,sans-serif;color:#606770;margin-top:2px}
.cb-prof-btns{display:flex;gap:6px;padding-bottom:6px}
.cb-prof-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;padding:12px}
.cb-info-row{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #f0f2f5}.cb-info-row:last-child{border:0}
.cb-info-row>span{width:22px;text-align:center;font-size:15px}.cb-info-row small{display:block;font-size:10px;color:var(--cb-mut);text-transform:uppercase;letter-spacing:.3px}.cb-info-row b{font-size:13px}
.cb-scene{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:12px;position:relative;background:linear-gradient(180deg,#5cc4ff,#ffe7b0 80%);}
.cb-scene img{height:92px;object-fit:contain}.cb-scene img.cup{height:70px}
.cb-scene img.flip{transform:scaleX(-1)}
.cb-scene-lbl{position:absolute;top:6px;left:8px;font-size:10px;color:#fff;background:rgba(0,0,0,.35);padding:1px 6px;border-radius:2px}

@media(max-width:760px){
  .cb-body{grid-template-columns:1fr;overflow-y:auto}.cb-side{display:none}.cb-main{overflow:visible}
  .cb-search{display:none}.cb-nav{gap:6px}.cb-logo{font-size:17px}.cb-tab{min-width:48px}.cb-tab span{display:none}
  .cb-cols{grid-template-columns:1fr}.cb-friend{flex-wrap:wrap}.cb-friend-actions{flex-direction:row;width:100%}
  .cb-prof-grid{grid-template-columns:1fr}
  #friends-modal .modal-content.cb{height:96vh}
}
