:root {
    --bg:#171719;
    --panel:#2b2b2e;
    --panel2:#242426;
    --panel3:#202023;
    --line:#36363a;
    --text:#ececf2;
    --muted:#aaaab4;
    --blue:#008cff;
    --cyan:#00d8ff;
    --green:#5cff45;
    --purple:#7e43ff;
    --radius:8px
}

* {
    box-sizing:border-box
}

body {
    margin:0;
    background:#0c0e15;
    color:var(--text);
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px
}

a {
    color:inherit;
    text-decoration:none
}

img {
    max-width:100%
}

#header {
    height:70px;
    background:#151516;
    border-bottom:1px solid #101012;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 32px;
    position:sticky;
    top:0;
    z-index:10
}

#headerlogozosh img {
    height:50px
}

#headerright {
    display:flex;
    align-items:center;
    gap:22px
}

#headerusernameandcc {
    text-align:center;
    font-size:16px;
    line-height:19px
}

#headerusername {
    display:block;
    color:#0b98ff;
    font-weight:700
}

#headerccbalance {
    display:block;
    color:#f1f1f1
}

#headerright>a img {
    width:28px;
    height:28px
}

.hamburger {
    width:35px;
    display:grid;
    gap:6px
}

.hamburger span {
    height:4px;
    border-radius:4px
}

.header-link,.header-join,.btn,button {
    border:0;
    border-radius:7px;
    background:#078df2;
    color:white;
    padding:11px 18px;
    font-weight:700;
    cursor:pointer
}

.header-join,.createpostbutton {
    background:linear-gradient(135deg,#6544ff,#00b7ff)
}


/* Header burger dropdown menu */
.header-menu-wrap {
    position:relative;
    display:flex;
    align-items:center;
}

.hamburger {
    width:42px;
    height:42px;
    display:grid;
    gap:5px;
    align-content:center;
    justify-content:center;
    background:transparent;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    padding:0;
        background:none!important;
    border:none!important;
    box-shadow:none!important;
}

.hamburger:hover {color:red!important}

.hamburger span {
    width:20px;
    height:3px;
    border-radius:4px;
    background:none!important;
    border:none!important;
        box-shadow:none!important;

}

.header-menu-panel {
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    width:260px;
    max-height:calc(100vh - 90px);
    overflow:auto;
    display:none;
    z-index:99999;
    padding:10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:#0b1020;
    box-shadow:0 20px 70px rgba(0,0,0,.55);
}

.header-menu-wrap.open .header-menu-panel,
.header-menu-wrap:focus-within .header-menu-panel {
    display:block;
}

.header-menu-panel a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 12px;
    color:#eef3ff;
    text-decoration:none;
    border-radius:12px;
    font-weight:700;
}

.header-menu-panel a:hover {
    background:rgba(255,255,255,.08);
}

.header-menu-panel strong {
    min-width:22px;
    height:22px;
    display:inline-grid;
    place-items:center;
    border-radius:999px;
    background:#ff8a00;
    color:#101522;
    font-size:12px;
}

.header-menu-divider {
    display:block;
    height:1px;
    margin:8px 4px;
    background:rgba(255,255,255,.10);
}

.header-menu-panel .logout-link {
    color:#ffb4b4;
}

#layoutwrap {
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:290px minmax(560px,760px) 290px;
    gap:16px;
    padding:18px 32px
}

#leftcolumn,#rightcolumn {
    position:sticky;
    top:88px;
    align-self:start
}

.leftsearch {
    height:60px;
    background:#2d2d30;
    border:2px solid #171719;
    border-radius:35px;
    display:flex;
    align-items:center;
    margin-bottom:16px;
    padding:0 18px
}

.leftsearch input {
    flex:1;
    background:transparent;
    border:0;
    color:#ddd;
    font-size:18px;
    outline:0
}

.leftsearch button {
    background:transparent;
    color:#6c6d76;
    font-size:30px;
    padding:0
}

#leftnavcard,.topicbox,.rightcard,.card,.post,.composer {
    background:var(--panel);
    border-radius:var(--radius);
    border:1px solid #202023;
    box-shadow:0 1px 1px rgba(0,0,0,.25)
}

#leftnavcard {
    padding:18px
}

.navitem {
    display:flex;
    align-items:center;
    gap:22px;
    font-size:18px;
    font-weight:700;
    color:#d6d6dd;
    padding:9px 10px;
    border-radius:8px
}

.navitem:hover {
    background:#242426
}

.navitem img {
    width:24px;
    height:24px
}

.createpostbutton {
    display:block;
    text-align:center;
    font-size:20px;
    padding:14px;
    margin:22px 24px 0;
    border-radius:30px
}

.topicbox {
    margin-top:16px;
    padding:18px
}

.topicbox h3,.rightcard h3 {
    margin:0 0 14px;
    color:#0797ff;
    font-size:19px;
    display:flex;
    align-items:center;
    gap:9px
}

.topicbox h3 span {
    border:2px solid #7848ff;
    border-radius:50%;
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center
}

.topicchips {
    display:flex;
    flex-wrap:wrap;
    gap:8px
}

.topicchips a {
    background:#202024;
    padding:8px 9px;
    border-radius:4px;
    font-size:13px
}

.quickgrid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-bottom:10px
}

.quickbox {
    height:82px;
    background:linear-gradient(#27272a,#1f1f22);
    border:1px solid #111;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font-weight:700;
    position:relative
}

.quickbox img {
    height:32px;
    max-width:42px
}

.quickbox i {
    position:absolute;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#61ee3b;
    right:9px;
    top:9px
}

.promo-grid {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
    margin:0 0 16px
}

.promo {
    height:103px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    overflow:hidden;
    position:relative;
    text-align:center;
    font-size:17px
}

.promo img {
    height:42px;
    z-index:1
}

.promo b,.promo span {
    z-index:1
}

.promo:before {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45)
}

.promo.battle {
    background:url('../img/old/BattleTanks.jpg') center/cover
}

.promo.dog {
    background:url('../img/old/dogfight.jpg') center/cover
}

.promo.session {
    background:linear-gradient(160deg,#8329df,#1755f5)
}

.promo.session:before {
    display:none
}

.promo.session b {
    font-size:24px;
    color:#25f07a;
    text-shadow:0 2px #004
}

.promo.session span {
    font-size:13px
}

.feedtabs {
    display:grid;
    grid-template-columns:1.2fr 1.2fr 1.1fr 1.2fr .65fr .65fr;
    gap:5px;
    margin-bottom:14px
}

.feedtabs a {
    height:50px;
    background:#2b2b2e;
    border-radius:7px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:700
}

.feedtabs a.active {
    background:#078df2
}

.feedtabs .smalltab {
    font-size:26px
}

.composer {
    padding:15px;
    margin-bottom:14px
}

.composer-top {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    color:#ddd;
    margin-bottom:10px
}

.composer-top img {
    width:22px
}

.composer textarea,.composer select,.form-row textarea,.form-row input,input,textarea,select {
    width:100%;
    background:#202023;
    border:1px solid #3a3a3f;
    border-radius:7px;
    color:white;
    padding:12px;
    font-family:inherit
}

.composer textarea {
    min-height:85px;
    resize:vertical
}

.composer select {
    margin-bottom:8px
}

.composer-actions {
    text-align:right;
    margin-top:8px
}

.post {
    margin-bottom:14px;
    overflow:hidden
}

.post-head {
    display:grid;
    grid-template-columns:44px 1fr auto auto;
    gap:10px;
    align-items:center;
    padding:14px 16px;
    background:linear-gradient(#252528,#222225)
}

.avatar img {
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover
}

.post-userline {
    font-size:14px;
    color:#888
}

.post-userline strong a {
    font-size:18px;
    color:#e9e9ee
}

.post-userline>a {
    color:#058df8;
    font-weight:700
}

.verified {
    color:#0c9dfc
}

.topicpill {
    background:#108ef2;
    color:white;
    border-radius:5px;
    padding:8px 12px;
    font-size:13px;
    font-weight:700
}

.dots {
    color:#aaa;
    font-size:22px
}

.post-body {
    font-size:19px;
    line-height:1.35;
    padding:16px 32px 18px
}

.embedmock {
    height:360px;
    background:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.2)),url('../img/games/placeholder.png') center/cover;
    border-top:1px solid #222;
    border-bottom:1px solid #222;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    font-size:23px;
    text-shadow:0 2px 4px #000
}

.playtri {
    width:76px;
    height:54px;
    background:red;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:12px
}

.post-actions {
    background:#303033;
    display:flex;
    align-items:center;
    gap:18px;
    padding:14px 18px
}

.voteicon,.post-action-icon {
    display:flex;
    align-items:center;
    gap:8px;
    background:transparent;
    color:#eee;
    padding:0
}

.voteicon img,.commentcount img {
    width:24px
}

.reactbubble {
    background:#252528;
    padding:8px 14px;
    border-radius:20px
}

.commentcount {
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:8px;
    background:#252528;
    padding:10px 14px;
    border-radius:5px
}

.ratingbar {
    display:flex;
    align-items:center;
    gap:10px;
    background:#252528;
    border-top:1px solid #1d1d20;
    padding:10px 16px;
    color:#aaa;
    font-size:12px
}

.ratingbar input {
    accent-color:#0c91ff
}

.ratingbar button {
    padding:7px 10px
}

.rightcard {
    padding:16px;
    margin-bottom:16px
}

.rightcard h3 img {
    width:26px
}

.rightrow {
    display:grid;
    grid-template-columns:34px 1fr 36px;
    gap:10px;
    align-items:center;
    padding:8px 0;
    color:#eee;
    font-size:13px
}

.rightrow b {
    color:#0696ff
}

.rightrow em {
    background:#242427;
    border-radius:5px;
    font-style:normal;
    font-size:38px;
    text-align:center;
    color:#777;
    line-height:36px
}

.tinyavatar {
    width:34px;
    height:34px;
    border-radius:50%;
    background:#1b89ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800
}

.usertiny {
    background:linear-gradient(135deg,#444,#999)
}

.viewmore {
    display:block;
    background:#202023;
    text-align:center;
    padding:12px;
    border-radius:6px;
    margin-top:8px
}

.card {
    padding:18px;
    margin-bottom:14px
}

.muted {
    color:var(--muted)
}

.inline-form {
    display:inline
}

.post-meta {
    color:#888
}

.form-row {
    margin-bottom:10px
}

@media(max-width:1100px) {
    #layoutwrap {
        grid-template-columns:250px 1fr;
        padding:16px
    }

    #rightcolumn {
        display:none
    }

    .feedtabs {
        grid-template-columns:repeat(3,1fr)
    }

    .promo-grid {
        grid-template-columns:1fr
    }

    .quickgrid {
        grid-template-columns:repeat(2,1fr)
    }

}

@media(max-width:760px) {
    #layoutwrap {
        display:block;
        padding:10px
    }

    #leftcolumn {
        position:static
    }

    .quickgrid {
        grid-template-columns:1fr 1fr
    }

    #header {
        padding:0 14px
    }

    .post-body {
        padding:14px
    }

    .embedmock {
        height:220px
    }

}

/* Messenger */
.messenger-shell {
    height:calc(100vh - 112px);
    min-height:620px;
    background:#242426;
    border:1px solid #19191b;
    border-radius:9px;
    overflow:hidden;
    display:grid;
    grid-template-columns:285px 1fr;
    box-shadow:0 1px 1px rgba(0,0,0,.35)
}

 .messenger-sidebar {
    background:#2b2b2e;
    border-right:1px solid #18181a;
    display:flex;
    flex-direction:column;
    min-width:0
}

.messenger-title-row {
    height:70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 16px;
    border-bottom:1px solid #1f1f22
}

.messenger-title-row h1 {
    font-size:22px;
    margin:0;
    color:#eee
}

.online-dot {
    width:13px;
    height:13px;
    background:var(--green);
    border-radius:50%;
    box-shadow:0 0 10px rgba(92,255,69,.45)
}

.messenger-search {
    padding:13px;
    border-bottom:1px solid #202023
}

.messenger-search input {
    height:42px;
    border-radius:24px;
    background:#202023;
    border:1px solid #3b3b40
}

.conversation-list {
    overflow:auto;
    flex:1
}

.conversation-row {
    display:grid;
    grid-template-columns:42px 1fr auto;
    gap:10px;
    align-items:center;
    padding:12px 13px;
    border-bottom:1px solid #222225;
    min-width:0
}

.conversation-row:hover,.conversation-row.active {
    background:#202023
}

.conversation-row.active {
    box-shadow:inset 4px 0 0 #078df2
}

.conversation-avatar img {
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover
}

.conversation-copy {
    min-width:0
}

.conversation-copy strong {
    display:block;
    color:#f1f1f4;
    font-size:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

.conversation-copy em {
    display:block;
    color:#aaaab4;
    font-size:12px;
    font-style:normal;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-top:4px
}

.conversation-meta {
    text-align:right;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px
}

.conversation-meta small {
    font-size:11px;
    color:#777
}

.conversation-meta b {
    background:#078df2;
    color:#fff;
    border-radius:50%;
    min-width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px
}

.start-chat-box {
    border-top:1px solid #202023;
    padding:13px
}

.start-chat-box h3 {
    margin:0 0 10px;
    color:#0797ff;
    font-size:15px
}

.start-chat-users {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    max-height:120px;
    overflow:auto
}

.start-chat-users a {
    background:#202023;
    border-radius:18px;
    padding:5px 8px 5px 5px;
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px
}

.start-chat-users img {
    width:22px;
    height:22px;
    border-radius:50%
}

.empty-note {
    padding:18px;
    color:#aaa
}

.chat-panel {
    display:flex;
    flex-direction:column;
    background:linear-gradient(#242426,#202023);
    min-width:0
}

.chat-header {
    height:70px;
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:12px;
    align-items:center;
    padding:0 16px;
    border-bottom:1px solid #19191b;
    background:#262629
}

.chat-header img {
    width:46px;
    height:46px;
    border-radius:50%;
    object-fit:cover
}

.chat-header strong {
    display:block;
    font-size:17px
}

.chat-header span {
    display:block;
    color:#aaaab4;
    font-size:12px;
    margin-top:3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

.chat-profile-link {
    background:#202023;
    border:1px solid #36363a;
    border-radius:6px;
    padding:9px 11px;
    color:#ddd;
    font-weight:700;
    font-size:12px
}

.message-thread {
    flex:1;
    overflow:auto;
    padding:18px;
    background:radial-gradient(circle at top right,rgba(0,140,255,.06),transparent 38%),#1f1f22
}

.day-divider {
    text-align:center;
    margin:10px 0 18px
}

.day-divider span {
    background:#303033;
    color:#aaa;
    padding:6px 12px;
    border-radius:14px;
    font-size:12px
}

.message-line {
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin:9px 0
}

.message-line.mine {
    justify-content:flex-end
}

.message-avatar {
    width:30px;
    height:30px;
    border-radius:50%;
    object-fit:cover
}

.message-bubble {
    max-width:72%;
    padding:10px 12px;
    border-radius:16px;
    background:#303033;
    color:#eee;
    box-shadow:0 1px 1px rgba(0,0,0,.2)
}

.message-line.mine .message-bubble {
    background:linear-gradient(135deg,#0a8df1,#5353ff);
    color:#fff;
    border-bottom-right-radius:5px
}

.message-line.theirs .message-bubble {
    border-bottom-left-radius:5px
}

.message-bubble p {
    margin:0;
    line-height:1.35;
    white-space:pre-wrap;
    word-break:break-word
}

.message-bubble small {
    display:block;
    color:rgba(255,255,255,.68);
    font-size:10px;
    margin-top:5px;
    text-align:right
}

.message-compose {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    padding:13px;
    border-top:1px solid #19191b;
    background:#2b2b2e
}

.message-compose textarea {
    height:48px;
    min-height:48px;
    max-height:110px;
    resize:vertical;
    border-radius:24px;
    padding:14px 16px;
    background:#202023
}

.message-compose button {
    border-radius:24px;
    padding:0 23px
}

.empty-thread,.no-chat-selected {
    margin:auto;
    text-align:center;
    color:#aaa
}

.no-chat-selected h1 {
    color:#fff
}

@media(max-width:900px) {
    .messenger-shell {
        height:auto;
        min-height:0;
        grid-template-columns:1fr
    }

    .messenger-sidebar {
        max-height:360px
    }

    .chat-panel {
        min-height:520px
    }

    .chat-profile-link {
        display:none
    }

    .message-bubble {
        max-width:86%
    }

}

/* 3OT v3: Carbon-style votes + separate reacts */
.carbon-actions {
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
    flex-wrap:wrap
}

 .vote-stack {
    display:flex;
    align-items:center;
    gap:4px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:3px 6px
}

 .vote-btn {
    border:0;
    background:transparent;
    padding:3px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:.82
}

 .vote-btn:hover,.vote-btn.active {
    opacity:1;
    transform:translateY(-1px)
}

 .vote-btn img {
    width:15px;
    height:15px;
    display:block
}

.vote-total {
    font-weight:800;
    color:#fff;
    min-width:24px;
    text-align:center
}

.small {
    font-size:12px
}

 .react-picker-wrap {
    position:relative;
    display:flex;
    align-items:center
}

.react-selector {
    border:0;
    background:rgba(255,255,255,.04);
    border-radius:999px;
    padding:5px 8px;
    cursor:pointer;
    display:flex;
    align-items:center
}

.react-selector img {
    width:24px;
    height:24px
}

.react-selector:hover {
    background:rgba(255,255,255,.1)
}

 .react-dropdown {
    display:none;
    position:absolute;
    left:0;
    bottom:38px;
    z-index:20;
    background:#151923;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 15px 35px rgba(0,0,0,.45);
    border-radius:999px;
    padding:8px;
    gap:6px;
    white-space:nowrap
}

.react-picker-wrap:hover .react-dropdown,.react-picker-wrap:focus-within .react-dropdown {
    display:flex
}

.react-dropdown form {
    margin:0
}

.react-dropdown button {
    border:0;
    background:transparent;
    border-radius:50%;
    padding:4px;
    cursor:pointer;
    transition:.12s
}

.react-dropdown button:hover {
    transform:translateY(-5px) scale(1.15);
    background:rgba(255,255,255,.08)
}

.react-dropdown img {
    width:27px;
    height:27px;
    display:block
}

 .react-summary {
    position:relative;
    min-height:28px;
    display:flex;
    align-items:center
}

.react-icons-row {
    display:flex;
    align-items:center;
    gap:5px
}

.react-chip {
    display:flex;
    align-items:center;
    gap:3px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:3px 7px;
    font-size:12px;
    color:#d9e1f5;
    cursor:pointer
}

.react-chip img {
    width:18px;
    height:18px
}

.react-chip b {
    font-weight:700
}

.react-modal-card {
    display:none;
    position:absolute;
    left:0;
    bottom:34px;
    width:300px;
    max-height:360px;
    overflow:auto;
    background:#121620;
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 20px 50px rgba(0,0,0,.55);
    border-radius:16px;
    padding:14px;
    z-index:30
}

.react-summary:hover .react-modal-card,.react-summary:focus .react-modal-card,.react-summary:focus-within .react-modal-card {
    display:block
}

.react-modal-card>strong {
    display:block;
    margin-bottom:10px;
    color:#fff
}

.react-modal-group {
    border-top:1px solid rgba(255,255,255,.07);
    padding:10px 0
}

.react-modal-group:first-of-type {
    border-top:0
}

.react-modal-group span {
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:700;
    font-size:13px;
    margin-bottom:6px;
    color:#fff
}

.react-modal-group span img {
    width:20px
}

.react-modal-group a {
    display:flex;
    align-items:center;
    gap:8px;
    padding:5px 0;
    text-decoration:none;
    color:#d8e0ef;
    font-size:13px
}

.react-modal-group a img {
    width:26px;
    height:26px;
    border-radius:50%;
    object-fit:cover
}

.react-modal-group a em {
    font-style:normal;
    color:#8290a7
}

.comment {
    display:flex;
    gap:10px
}

.comment-avatar {
    width:34px;
    height:34px;
    border-radius:50%;
    object-fit:cover
}

 .message-thread {
    scroll-behavior:smooth
}

.message-compose textarea {
    min-height:48px
}

/* 3OT v4 notifications + activity */
#headernewmessage,#headernotifications {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    filter:grayscale(1);
    opacity:.58;
    transition:.15s
}

 #headernewmessage.has-unread,#headernotifications.has-unread {
    filter:none;
    opacity:1
}

 #headernewmessage.has-unread:after,#headernotifications.has-unread:after {
    content:"";
    position:absolute;
    right:-2px;
    top:-2px;
    width:11px;
    height:11px;
    background:var(--green);
    border:2px solid #151516;
    border-radius:50%;
    box-shadow:0 0 10px rgba(92,255,69,.65)
}

 #headernewmessage span,#headernotifications span {
    position:absolute;
    right:-10px;
    bottom:-8px;
    background:#078df2;
    color:#fff;
    border-radius:999px;
    font-size:10px;
    line-height:15px;
    min-width:15px;
    text-align:center;
    font-weight:800;
    padding:0 4px
}

.navitem {
    position:relative
}

.nav-unread-dot {
    margin-left:auto;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 10px rgba(92,255,69,.7)
}

 .notification-row {
    display:block;
    background:#202023;
    border:1px solid #34343a;
    border-radius:8px;
    padding:13px 14px;
    margin:10px 0
}

.notification-row:hover {
    border-color:#078df2
}

.notification-row strong {
    color:#fff
}

.notification-row p {
    margin:6px 0;
    color:#d8d8df
}

.notification-row.unread {
    box-shadow:inset 4px 0 0 var(--green)
}

 .activity-row span small {
    display:block;
    color:#777;
    margin-top:4px
}

.activity-avatar img {
    width:34px;
    height:34px;
    border-radius:50%;
    object-fit:cover
}

.activity-row em {
    display:flex;
    align-items:center;
    justify-content:center
}

.activity-row em img {
    width:20px;
    height:20px;
    object-fit:contain;
    opacity:.85
}

.profile-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center
}

.profile-actions form {
    margin:0
}

.secondary {
    background:#242427!important;
    border:1px solid #3a3a3f!important;
    color:#eee!important
}

.reply-comment {
    margin-left:44px;
    border-left:2px solid #36363a;
    padding-left:12px
}

.reply-form {
    display:flex;
    gap:8px;
    margin-top:8px
}

.reply-form input {
    height:36px;
    padding:8px
}

.reply-form button {
    padding:8px 12px
}

.comment {
    padding:11px 0;
    border-top:1px solid rgba(255,255,255,.06)
}

 .composer-row {
    display:grid;
    grid-template-columns:160px 1fr;
    gap:8px
}

.composer-row select {
    margin-bottom:8px
}

.livepill {
    background:#12a66a
}

.topics-list {
    display:grid;
    gap:10px
}

.topic-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px
}

.topic-row h2 {
    margin:0 0 5px;
    font-size:20px
}

.secondarybtn {
    background:#3a3a3f;
    color:#ddd
}

.smallview {
    font-size:13px;
    padding:8px;
    margin-top:12px
}

.feed-note {
    padding:10px 14px;
    margin-bottom:12px;
    background:#202023;
    border:1px solid #333;
    border-radius:7px;
    color:#aaa
}

 @media(max-width:760px) {
    .composer-row {
        grid-template-columns:1fr
    }

    .topic-row {
        align-items:flex-start;
        flex-direction:column
    }

}

/* v6 topic chat + media tools */
.composer-locked-topic {
    background:#202126;
    border:1px solid #32343b;
    color:#dfe3ee;
    border-radius:12px;
    padding:10px 12px;
    margin-bottom:10px
}

 .composer-tools,.compose-mini-tools {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:8px 0
}

 .emoji-btn {
    border:0;
    background:#26272d;
    color:#fff;
    border-radius:10px;
    padding:8px 10px;
    cursor:pointer;
    font-size:16px
}

 .upload-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#168ef5;
    color:#fff;
    border-radius:10px;
    padding:8px 12px;
    font-weight:800;
    cursor:pointer
}

 .upload-pill input {
    display:none
}

.gif-input {
    background:#202126;
    border:1px solid #333640;
    color:#eee;
    border-radius:10px;
    padding:9px 10px;
    min-width:170px
}

.post-media {
    margin-top:14px;
    border-radius:14px;
    overflow:hidden;
    background:#111
}

.post-media img {
    display:block;
    width:100%;
    max-height:520px;
    object-fit:cover
}

.message-bubble .post-media {
    margin-top:8px;
    border-radius:12px
}

.message-bubble .post-media img {
    max-height:260px
}

.topic-header-card {
    margin-bottom:14px
}

.topic-header-card h1 {
    margin:0 0 12px
}

.topic-tabs {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.topic-tabs a {
    background:#292a30;
    color:#dbe0ea;
    padding:10px 16px;
    border-radius:12px;
    font-weight:800
}

.topic-tabs a.active {
    background:#0794ff;
    color:#fff
}

.topic-chat-shell {
    padding:0;
    overflow:hidden
}

.chat-room-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 20px;
    border-bottom:1px solid #2e3037
}

.chat-room-header h2 {
    margin:0
}

.chat-room-header span {
    color:#9aa2b1
}

.topic-chat-thread {
    height:560px;
    overflow:auto;
    padding:18px;
    background:#18191d
}

.topic-chat-compose {
    border-top:1px solid #2e3037
}

.message-bubble strong {
    display:block;
    font-size:12px;
    color:#9be2ff;
    margin-bottom:2px
}

.empty-note {
    color:#aab0bd;
    padding:16px
}

 .upload-error-notice {
    background:#351b1f;
    border:1px solid #ff667a;
    color:#ffd4dc;
    padding:12px 14px;
    border-radius:12px;
    margin-bottom:14px;
    font-weight:800
}

.media-preview-box {
    display:none;
    margin:10px 0 4px;
    background:#17181c;
    border:1px solid #333740;
    border-radius:14px;
    padding:10px;
    max-width:460px
}

.media-preview-box img {
    display:block;
    width:100%;
    max-height:260px;
    object-fit:cover;
    border-radius:10px;
    background:#111
}

.media-preview-box .preview-title {
    font-size:12px;
    color:#9aa4b7;
    font-weight:800;
    margin-bottom:8px
}

.media-preview-box button {
    margin-top:8px;
    background:#292c34;
    color:#e8edf7;
    border:1px solid #3a3d46;
    border-radius:10px;
    padding:7px 10px;
    font-weight:800
}

.preview-warning {
    color:#ffb4c0;
    font-size:13px;
    font-weight:800;
    padding:8px
}

.message-compose .media-preview-box,.topic-chat-compose .media-preview-box {
    max-width:330px;
    margin-left:12px
}

.comment .media-preview-box {
    max-width:260px
}

/* v8 chat room fixes */
.chat-rooms-hero h1 {
    margin:0 0 8px
}

.chat-room-list {
    display:grid;
    gap:12px
}

.chat-room-card {
    display:grid;
    grid-template-columns:52px 1fr auto auto;
    align-items:center;
    gap:14px;
    padding:16px
}

.chat-room-icon {
    width:52px;
    height:52px;
    border-radius:14px;
    background:#202023;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #36363a
}

.chat-room-icon img {
    width:30px;
    height:30px
}

.chat-room-main h2 {
    margin:0 0 5px;
    font-size:21px
}

.chat-room-enter {
    background:#202023;
    border:1px solid #393a40;
    padding:10px 14px;
    border-radius:8px;
    font-weight:800;
    color:#dfe7f7
}

.chat-room-follow button.secondarybtn {
    background:#202023;
    border:1px solid #454650;
    color:#d7dbe5
}

.topic-chat-shell.card {
    padding:0!important;
    overflow:hidden
}

.topic-chat-thread {
    height:560px;
    overflow:auto;
    padding:18px;
    background:radial-gradient(circle at top right,rgba(0,140,255,.08),transparent 38%),#1f1f22
}

.topic-chat-compose.message-compose {
    display:block;
    padding:14px;
    background:#2b2b2e
}

.topic-chat-compose textarea {
    width:100%;
    height:56px;
    min-height:56px;
    border-radius:18px;
    margin-bottom:10px
}

.topic-chat-compose .compose-mini-tools {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:10px
}

.topic-chat-compose>button[type=submit] {
    width:100%;
    height:42px;
    border-radius:18px
}

.chat-room-error {
    margin:12px 14px 0;
    background:#351b1f;
    border:1px solid #ff667a;
    color:#ffd4dc;
    padding:10px 12px;
    border-radius:12px;
    font-weight:800
}

.topic-chat-thread .message-line {
    margin:10px 0
}

.topic-chat-thread .message-bubble {
    max-width:76%
}

@media(max-width:760px) {
    .chat-room-card {
        grid-template-columns:44px 1fr
    }

    .chat-room-follow,.chat-room-enter {
        grid-column:2
    }

    .topic-chat-thread {
        height:430px
    }

    .topic-chat-thread .message-bubble {
        max-width:88%
    }

}

/* Search results */
.search-hero h1 {
    margin-top:0
}

.big-search-form {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    margin:10px 0
}

.big-search-form input {
    height:52px;
    border-radius:10px;
    font-size:17px
}

.big-search-form button {
    border-radius:10px;
    padding:0 24px
}

.search-feedtabs {
    grid-template-columns:repeat(3,1fr)
}

.search-feedtabs a b {
    background:rgba(0,0,0,.22);
    border-radius:12px;
    padding:2px 8px;
    font-size:12px
}

.user-results-list {
    display:flex;
    flex-direction:column;
    gap:12px
}

.user-result-card {
    display:grid;
    grid-template-columns:70px 1fr auto;
    gap:14px;
    align-items:center
}

.user-result-avatar img {
    width:70px;
    height:70px;
    border-radius:50%;
    object-fit:cover
}

.user-result-main h2 {
    margin:0 0 2px;
    font-size:20px
}

.user-handle {
    color:#078df2;
    margin:0 0 8px;
    font-weight:700
}

.user-stats {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    color:#aaa;
    font-size:13px
}

.user-stats b {
    color:#fff
}

.user-result-actions {
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:flex-end
}

.hashtag-results-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}

.hashtag-card {
    display:flex;
    flex-direction:column;
    gap:8px;
    text-decoration:none
}

.hashtag-card strong {
    font-size:22px;
    color:#0b9cff
}

.hashtag-card span {
    color:#eee
}

.hashtag-card em {
    color:#aaa;
    font-style:normal;
    font-size:12px
}

@media(max-width:760px) {
    .big-search-form {
        grid-template-columns:1fr
    }

    .search-feedtabs {
        grid-template-columns:1fr
    }

    .user-result-card {
        grid-template-columns:52px 1fr
    }

    .user-result-avatar img {
        width:52px;
        height:52px
    }

    .user-result-actions {
        grid-column:1/-1;
        align-items:stretch
    }

    .hashtag-results-grid {
        grid-template-columns:1fr
    }

}

/* Following / followers management */
.follow-page {
    padding:0;
    overflow:hidden
}

.follow-head {
    padding:24px 26px 10px
}

.follow-head h1 {
    margin:0 0 6px;
    font-size:34px
}

.success-note {
    margin:0 26px 16px;
    background:#14351f;
    border:1px solid #39d46f;
    color:#d9ffe4;
    padding:10px 12px;
    border-radius:12px;
    font-weight:800
}

.follow-tabs {
    display:flex;
    gap:10px;
    padding:0 26px 18px;
    border-bottom:1px solid #343438
}

.follow-tabs a {
    background:#252529;
    border:1px solid #383941;
    border-radius:14px;
    padding:12px 18px;
    font-weight:900;
    color:#d7dbe5
}

.follow-tabs a.active {
    background:#0d91ff;
    color:white;
    border-color:#0d91ff
}

.follow-tabs b {
    margin-left:6px;
    color:inherit
}

.follow-list {
    display:grid;
    gap:0
}

.follow-row {
    display:grid;
    grid-template-columns:64px 1fr auto;
    gap:14px;
    padding:18px 26px;
    border-bottom:1px solid #303036;
    align-items:start
}

.follow-avatar img {
    width:64px;
    height:64px;
    border-radius:18px;
    object-fit:cover
}

.follow-main h2 {
    margin:0 0 6px;
    font-size:20px
}

.follow-main h2 span {
    font-size:15px;
    color:#0d91ff
}

.follow-main p {
    margin:0 0 10px;
    color:#cfd2d8
}

.follow-actions {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end
}

.feed-pref-details {
    margin-top:12px;
    background:#202025;
    border:1px solid #363740;
    border-radius:15px;
    padding:0;
    overflow:hidden
}

.feed-pref-details summary {
    cursor:pointer;
    padding:12px 14px;
    font-weight:900;
    color:#cdd3de
}

.follow-ratingbar {
    display:grid;
    grid-template-columns:160px 1fr auto;
    gap:14px;
    align-items:center;
    padding:16px;
    border-top:1px solid #363740;
    margin:0
}

.follow-ratingbar label {
    color:#cfd2d8;
    font-weight:900
}

.follow-ratingbar input[type=range] {
    width:100%
}

.follow-ratingbar button,.follow-actions button,.follow-actions .btn {
    white-space:nowrap
}

.small {
    font-size:12px
}

@media(max-width:780px) {
    .follow-row {
        grid-template-columns:48px 1fr
    }

    .follow-avatar img {
        width:48px;
        height:48px
    }

    .follow-actions {
        grid-column:2;
        justify-content:flex-start
    }

    .follow-ratingbar {
        grid-template-columns:1fr
    }

    .follow-tabs {
        overflow:auto
    }

}

/* v11 profile/following polish */
.follow-actions .btn, .follow-actions button, .follow-actions .secondarybtn, .follow-actions .disabled-following, .profile-actions .btn, .profile-actions button {
       display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 20px;
    border-radius:13px;
    font-size:16px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    border:0;
    box-sizing:border-box;
    white-space:nowrap;

}

 .follow-actions .btn, .profile-actions .btn {
    background:#0d91ff;
    color:#fff;

}

 .follow-actions button, .profile-actions button {
    background:#0d91ff;
    color:#fff;
    cursor:pointer;

}

 .follow-actions .secondarybtn {
    background:#31323a;
    color:#dfe3ec;
    border:1px solid #454650;

}

 .follow-actions .disabled-following {
    background:#3a3b43;
    color:#9fa4b1;
    border:1px solid #494a53;
    cursor:not-allowed;
    opacity:.75;

}

 .follow-actions {
    min-width:260px;

}

 .follow-row {
    grid-template-columns:64px minmax(0,1fr) minmax(230px,auto);

}

 .follow-main {
    min-width:0;
    overflow:hidden;

}

 .follow-main p {
    overflow-wrap:anywhere;

}

 .user-stats {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    color:#aeb3bf;
    font-size:13px;

}

 .user-stats b {
    color:#fff;

}

 .settings-page {
    padding:0;
    overflow:hidden;

}

 .settings-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:24px 26px 14px;
    border-bottom:1px solid #343438;

}

 .settings-head h1 {
    margin:0 0 6px;
    font-size:34px;

}

 .settings-form {
    padding:22px 26px 26px;

}

 .profile-edit-preview {
    display:grid;
    grid-template-columns:96px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:22px;
    background:#202025;
    border:1px solid #363740;
    border-radius:18px;
    padding:16px;

}

 .profile-edit-preview img {
    width:96px;
    height:96px;
    border-radius:24px;
    object-fit:cover;
    background:#111;

}

 .profile-edit-preview strong {
    display:block;
    font-size:22px;
    color:#fff;
    margin-bottom:4px;

}

 .profile-edit-preview span {
    display:block;
    color:#9fa4b1;
    margin-bottom:12px;

}

 .upload-pill {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#2d2e35;
    border:1px solid #474953;
    border-radius:13px;
    color:#e9edf7;
    font-weight:900;
    padding:11px 15px;
    cursor:pointer;
    margin-right:10px;

}

 .upload-pill input {
    display:none;

}

 .settings-form .form-row {
    display:block;
    margin-bottom:16px;

}

 .settings-form .form-row span {
    display:block;
    font-weight:900;
    color:#cfd3df;
    margin-bottom:8px;

}

 .settings-actions {
    text-align:right;

}

 .settings-actions button {
    min-height:46px;
    border-radius:13px;
    padding:0 24px;
    font-size:17px;
    font-weight:900;

}

 @media(max-width:780px) {
    .follow-row {
        grid-template-columns:48px 1fr
    }

    .follow-actions {
        grid-column:2;
        justify-content:flex-start;
        min-width:0
    }

    .settings-head {
        display:block
    }

    .profile-edit-preview {
        grid-template-columns:1fr;
        text-align:center
    }

    .profile-edit-preview img {
        margin:auto
    }

}

/* v12 fixes */
.youtube-embed {
    position:relative;
    width:100%;
    padding-top:56.25%;
    background:#090a0d;
    border-radius:14px;
    overflow:hidden;
    margin-top:14px
}

 .youtube-embed iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%
}

 .react-dropdown button {
    min-width:38px;
    min-height:38px;
    display:grid;
    place-items:center
}

 .react-dropdown button img {
    position:absolute;
    width:27px;
    height:27px
}

 .react-emoji-fallback {
    font-size:26px;
    line-height:1;
    display:block
}

 .react-dropdown button img[src] {
    z-index:2
}

 .react-dropdown button .react-emoji-fallback {
    z-index:1
}

 .profile-actions .btn,.profile-actions button {
    min-width:115px;
    text-align:center
}

/* v13 post menu / moderation */
.post-menu-wrap {
    position:relative;
    display:inline-flex;
    justify-content:flex-end
}

.post-menu-button {
    background:transparent!important;
    color:#aaa!important;
    padding:4px 8px!important;
    border-radius:8px!important;
    font-size:22px!important;
    min-width:34px
}

.post-menu-button:hover {
    background:#33343a!important;
    color:#fff!important
}

.post-menu-panel {
    display:none;
    position:absolute;
    right:0;
    top:34px;
    z-index:50;
    width:220px;
    background:#18191d;
    border:1px solid #3a3b42;
    border-radius:14px;
    box-shadow:0 18px 45px rgba(0,0,0,.55);
    padding:8px
}

.post-menu-wrap:hover .post-menu-panel,.post-menu-wrap.open .post-menu-panel {
    display:block
}

.post-menu-panel a,.post-menu-panel button {
    display:block;
    width:100%;
    text-align:left;
    background:transparent;
    color:#e8edf7;
    border:0;
    border-radius:10px;
    padding:11px 12px;
    font-size:14px;
    font-weight:800;
    cursor:pointer
}

.post-menu-panel a:hover,.post-menu-panel button:hover {
    background:#272932
}

.post-menu-panel form {
    margin:0
}

.post-menu-panel .danger {
    color:#ff8797
}

.admin-report-card {
    display:grid;
    grid-template-columns:1fr auto;
    gap:16px;
    align-items:start
}

.report-status-pill {
    display:inline-flex;
    background:#252833;
    border:1px solid #3a3d46;
    border-radius:999px;
    padding:5px 9px;
    color:#dce4f1;
    font-size:12px;
    font-weight:900
}

.report-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end
}

.report-actions form {
    display:inline
}

.post-hidden-note {
    display:inline-block;
    margin-left:8px;
    color:#ffba66;
    font-size:12px;
    font-weight:900
}

/* v14 fixes: allow post menus to open outside the post card and keep them above media/cards. */
.post {
    overflow:visible;
    position:relative;

}

 .post-head {
    position:relative;
    z-index:6;

}

 .post-menu-wrap {
    z-index:1000;

}

 .post-menu-panel {
    z-index:1001;

}

 .post-menu-button {
    line-height:1;

}

 .profile-feed-title {
    margin:16px 0 12px;
    color:#eef2fb;
    font-size:22px;

}

/* v15 menu stacking fix */
.post {
    overflow:visible;
    position:relative;

}

 .post-menu-wrap {
    z-index:999999!important;

}

 .post-menu-panel {
    z-index:1000000!important;

}

 .quickgrid {
    grid-template-columns:repeat(4,1fr);

}

/* v16 fixed post menu stacking: the active card becomes the top stacking context, not just the popup. */
#maincolumn {
    position:relative;
    z-index:1;

}

 .post {
    position:relative;
    z-index:1;
    overflow:visible!important;

}

 .post.post-menu-active {
    z-index:2147483000!important;

}

 .post.post-menu-active .post-head {
    z-index:2147483001!important;

}

 .post.post-menu-active .post-menu-wrap {
    z-index:2147483002!important;

}

 .post.post-menu-active .post-menu-panel {
    z-index:2147483003!important;

}

 .post-menu-panel {
    z-index:2147483003!important;

}

/* v17 live basketball scores + game chat */
.quickgrid {
    grid-template-columns:repeat(5,1fr);

}

 .livegames-hero h1 {
    margin:0 0 6px;
    font-size:34px
}

.livegames-list {
    display:grid;
    gap:14px
}

.game-row-card {
    display:block;
    text-decoration:none;
    background:#25262b;
    border:1px solid #343640;
    border-radius:20px;
    padding:18px;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
    transition:.15s transform,.15s border-color
}

.game-row-card:hover {
    transform:translateY(-1px);
    border-color:#0d91ff
}

.game-status-pill {
    display:inline-flex;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:1000;
    letter-spacing:.04em;
    background:#343640;
    color:#dfe5ef;
    margin-bottom:14px
}

.game-status-pill.live,.score-status.live {
    background:#143d22;
    color:#51ff7c;
    border:1px solid #2cc961
}

.game-status-pill.scheduled,.score-status.scheduled {
    background:#26344b;
    color:#8fc6ff;
    border:1px solid #35618e
}

.game-status-pill.final,.score-status.final {
    background:#3a3030;
    color:#ffb0b0;
    border:1px solid #694343
}

.game-teams {
    display:grid;
    grid-template-columns:1fr 34px 1fr;
    align-items:center;
    gap:10px
}

.game-teams .team {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    background:#1d1e23;
    border-radius:16px;
    padding:14px
}

.team-name {
    font-size:18px;
    color:#fff;
    font-weight:900
}

.team strong {
    font-size:30px;
    color:#fff
}

.vs {
    text-align:center;
    color:#8f94a1;
    font-weight:1000
}

.game-meta {
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    color:#aeb4c2;
    margin-top:12px;
    font-weight:800
}

.live-game-page {
    padding:24px
}

.score-status {
    display:inline-flex;
    border-radius:999px;
    padding:7px 12px;
    font-size:12px;
    font-weight:1000;
    margin-bottom:18px
}

.score-board {
    display:grid;
    grid-template-columns:1fr 45px 1fr;
    gap:14px;
    align-items:center
}

.score-team {
    background:#1d1e23;
    border:1px solid #363942;
    border-radius:22px;
    padding:22px;
    text-align:center
}

.score-team span {
    display:block;
    color:#fff;
    font-size:24px;
    font-weight:1000;
    margin-bottom:12px
}

.score-team strong {
    font-size:56px;
    line-height:1;
    color:#fff
}

.score-divider {
    text-align:center;
    font-weight:1000;
    color:#8d93a1
}

.score-meta,.score-venue {
    margin-top:14px;
    color:#b3bac7;
    font-weight:800;
    text-align:center
}

.game-chat-card {
    padding:0;
    overflow:hidden
}

.chat-head {
    padding:18px 22px;
    border-bottom:1px solid #343640
}

.chat-head h2 {
    margin:0 0 4px
}

.topic-chat-thread {
    max-height:470px;
    overflow:auto;
    padding:16px 22px;
    display:flex;
    flex-direction:column;
    gap:12px
}

.chat-message-row {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    align-items:start
}

.chat-avatar {
    width:42px;
    height:42px;
    border-radius:14px;
    object-fit:cover;
    background:#101116
}

.chat-bubble {
    background:#1f2026;
    border:1px solid #333640;
    border-radius:18px;
    padding:12px 14px;
    color:#eef2fb
}

.chat-meta {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    margin-bottom:6px
}

.chat-meta strong {
    color:#fff
}

.chat-meta span {
    color:#9098a7;
    font-size:12px;
    font-weight:800
}

.topic-chat-form {
    border-top:1px solid #343640;
    padding:16px 22px
}

.topic-chat-form textarea {
    width:100%;
    min-height:82px
}

.form-error {
    color:#ff8797;
    font-weight:900;
    margin-left:10px
}

.empty-chat {
    padding:16px;
    text-align:center
}

@media(max-width:880px) {
    .quickgrid {
        grid-template-columns:repeat(2,1fr)
    }

    .game-teams,.score-board {
        grid-template-columns:1fr
    }

    .vs,.score-divider {
        display:none
    }

    .team-name {
        font-size:16px
    }

    .score-team strong {
        font-size:42px
    }

}

 .live-boxscore-card {
    padding:0;
    overflow:hidden
}

.boxscore-head {
    padding:18px 22px;
    border-bottom:1px solid #343640
}

.boxscore-head h2 {
    margin:0 0 4px
}

.live-boxscore-panel {
    padding:16px 22px
}

.boxscore-empty {
    background:#1e2026;
    border:1px solid #343640;
    border-radius:16px;
    padding:18px;
    color:#b8c0ce;
    font-weight:800;
    text-align:center
}

.boxscore-team-block {
    margin-bottom:20px
}

.boxscore-team-block h3 {
    margin:0 0 10px;
    color:#fff;
    font-size:20px
}

.boxscore-table-wrap {
    overflow:auto;
    border:1px solid #343640;
    border-radius:16px;
    background:#18191d
}

.boxscore-table {
    width:100%;
    border-collapse:collapse;
    min-width:780px
}

.boxscore-table th,.boxscore-table td {
    padding:10px 12px;
    border-bottom:1px solid #2d3038;
    text-align:center;
    white-space:nowrap
}

.boxscore-table th {
    font-size:12px;
    color:#9fabbd;
    text-transform:uppercase;
    background:#202127
}

.boxscore-table tr:last-child td {
    border-bottom:0
}

.boxscore-table .player-col {
    text-align:left;
    position:sticky;
    left:0;
    background:#18191d;
    z-index:1
}

.boxscore-table th.player-col {
    background:#202127;
    z-index:2
}

.boxscore-table .player-col strong {
    display:block;
    color:#eef3ff
}

.boxscore-table .player-col span {
    display:block;
    color:#8e97a8;
    font-size:12px;
    font-weight:800;
    margin-top:2px
}

@media(max-width:760px) {
    .live-boxscore-panel {
        padding:12px
    }

    .boxscore-table {
        min-width:720px
    }

    .boxscore-table th,.boxscore-table td {
        padding:8px 9px
    }

}

/* Live game watch room v20 */
body.watch-mode {
    overflow:hidden;
    background:#111215
}

 body.watch-mode #header {
    position:sticky;
    top:0;
    z-index:50;
    height:64px
}

 #watch-main {
    width:100%;
    max-width:none;
    margin:0;
    padding:10px 12px;
    height:calc(100vh - 64px);
    overflow:hidden
}

 .watch-maincontent {
    height:100%;
    max-width:none!important;
    width:100%
}

 .watch-room {
    height:100%;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
    grid-template-rows:auto minmax(230px,1fr) minmax(220px,.95fr);
    grid-template-areas:"score score" "plays chat" "away home";
    gap:10px;
    min-height:0
}

 .watch-score {
    grid-area:score;
    background:#202127;
    border:1px solid #343640;
    border-radius:18px;
    padding:12px;
    min-height:104px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

 .watch-panel {
    background:#24262c;
    border:1px solid #343640;
    border-radius:18px;
    overflow:hidden;
    min-height:0;
    display:flex;
    flex-direction:column;
    box-shadow:0 2px 9px rgba(0,0,0,.24)
}

 .play-panel {
    grid-area:plays
}

.chat-panel {
    grid-area:chat
}

.box-left {
    grid-area:away
}

.box-right {
    grid-area:home
}

 .watch-panel-head {
    padding:10px 14px;
    border-bottom:1px solid #343640;
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:end;
    min-height:48px
}

.watch-panel-head h2 {
    margin:0;
    font-size:18px
}

.watch-panel-head p {
    margin:0;
    font-size:12px
}

.live-plays-panel,.game-watch-chat,.compact-boxscore {
    flex:1;
    overflow:auto;
    min-height:0;
    padding:10px 12px
}

.game-watch-chat-form {
    padding:10px 12px
}

.game-watch-chat-form textarea {
    min-height:54px;
    max-height:90px;
    resize:vertical
}

.game-watch-chat-form .composer-tools {
    margin-top:6px
}

.game-watch-chat-form .composer-actions {
    margin-top:6px
}

.play-row {
    display:grid;
    grid-template-columns:74px 1fr;
    gap:10px;
    background:#1b1c21;
    border:1px solid #2f323b;
    border-radius:14px;
    padding:10px;
    margin-bottom:8px
}

.play-row.scoring {
    border-color:#0d91ff;
    box-shadow:inset 3px 0 0 #0d91ff
}

.play-time strong {
    display:block;
    color:#fff;
    font-size:15px
}

.play-time span {
    display:block;
    color:#9ea7b7;
    font-size:12px;
    font-weight:800;
    margin-top:3px
}

.play-copy b {
    display:block;
    color:#67c8ff;
    font-size:12px;
    margin-bottom:3px
}

.play-copy p {
    margin:0;
    color:#eef3ff;
    line-height:1.28
}

.play-reactions {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:8px
}

.play-react {
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:#252832!important;
    border:1px solid #393d49!important;
    border-radius:999px!important;
    color:#fff!important;
    padding:4px 7px!important;
    font-size:13px!important
}

.play-react.active {
    background:#0d91ff!important;
    border-color:#53b8ff!important
}

.play-react em {
    font-style:normal;
    color:#cfd7e6;
    font-size:11px;
    font-weight:900
}

.plays-empty {
    padding:18px;
    color:#b8c0ce;
    text-align:center;
    background:#1e2026;
    border:1px solid #343640;
    border-radius:16px
}

.compact-boxscore {
    padding:8px
}

.compact-boxscore .boxscore-team-block {
    margin:0
}

.compact-boxscore .boxscore-team-block h3 {
    display:none
}

.compact-boxscore .boxscore-table-wrap {
    height:100%;
    overflow:auto;
    border-radius:12px
}

.compact-boxscore .boxscore-table {
    min-width:620px;
    font-size:12px
}

.compact-boxscore .boxscore-table th,.compact-boxscore .boxscore-table td {
    padding:7px 8px
}

.watch-score .score-status {
    margin:0 auto 8px
}

.watch-score .score-board {
    grid-template-columns:1fr 34px 1fr;
    gap:8px
}

.watch-score .score-team {
    padding:10px;
    border-radius:14px
}

.watch-score .score-team span {
    font-size:18px;
    margin-bottom:3px
}

.watch-score .score-team strong {
    font-size:34px
}

.watch-score .score-meta,.watch-score .score-venue {
    margin-top:6px;
    font-size:12px
}

 @media(max-width:900px) {
    body.watch-mode {
        overflow:auto
    }

    #watch-main {
        height:auto;
        overflow:visible;
        padding:8px
    }

    .watch-room {
        height:auto;
        display:block
    }

    .watch-score,.watch-panel {
        margin-bottom:10px
    }

    .live-plays-panel,.game-watch-chat,.compact-boxscore {
        max-height:70vh
    }

    .watch-panel {
        min-height:360px
    }

    .box-panel {
        min-height:320px
    }

}

/* Live game play-by-play reactions: popup selector + totals only */
.play-reactions {
    align-items:center;
    position:relative;
    overflow:visible;
    z-index:5
}

.play-react-wrap {
    position:relative;
    display:inline-flex;
    z-index:30
}

.play-react-trigger {
    background:#242733!important;
    border:1px solid #3b4050!important;
    color:#cbd5e1!important;
    border-radius:999px!important;
    padding:4px 10px!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer
}

.play-react-trigger:hover,.play-react-wrap.open .play-react-trigger,.play-react-trigger.has-mine {
    background:#0d91ff!important;
    border-color:#53b8ff!important;
    color:#fff!important
}

.play-react-menu {
    display:none;
    position:absolute;
    left:0;
    bottom:calc(100% + 8px);
    background:#101116;
    border:1px solid #3c4354;
    border-radius:999px;
    padding:6px;
    gap:4px;
    box-shadow:0 14px 40px rgba(0,0,0,.55);
    z-index:999999;
    white-space:nowrap
}

.play-react-wrap:hover .play-react-menu,.play-react-wrap.open .play-react-menu {
    display:flex
}

.play-react-option {
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#20232d!important;
    border:1px solid #363b49!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:18px!important;
    padding:0!important;
    cursor:pointer;
    transition:transform .12s ease, background .12s ease
}

.play-react-option:hover {
    transform:translateY(-3px) scale(1.12);
    background:#2b3040!important
}

.play-react-option.active {
    background:#0d91ff!important;
    border-color:#6bc5ff!important
}

.play-reaction-totals {
    display:inline-flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap
}

.play-react-total {
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:#252832!important;
    border:1px solid #393d49!important;
    border-radius:999px!important;
    color:#fff!important;
    padding:4px 7px!important;
    font-size:13px!important;
    cursor:pointer
}

.play-react-total.active {
    background:#0d91ff!important;
    border-color:#53b8ff!important
}

.play-react-total em {
    font-style:normal;
    color:#cfd7e6;
    font-size:11px;
    font-weight:900
}

.play-row,.play-copy,.live-plays-panel,.watch-panel {
    overflow:visible
}

.play-panel {
    z-index:20
}

.chat-panel,.box-panel {
    z-index:1
}

/* v22: watch-room/play reaction fixes */
body.watch-mode {
    height:100vh;
    overflow:hidden;

}

 #watch-main {
    height:calc(100vh - 68px);
    overflow:hidden;

}

 .watch-room {
    height:100%;
    min-height:0;
    overflow:hidden;
    align-items:stretch;

}

 .watch-panel {
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    position:relative;

}

 .live-plays-panel,.game-watch-chat,.compact-boxscore {
    overflow:auto!important;
    min-height:0;
    position:relative;

}

 .play-row,.play-copy {
    overflow:visible;

}

 .play-reactions {
    position:relative;
    z-index:5;
    overflow:visible;
    display:flex;
    align-items:center;
    gap:7px;

}

 .play-react-wrap {
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:7px;
    z-index:50;

}

 .play-react-menu {
    display:none;
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    margin-left:0;
    background:#101116;
    border:1px solid #3c4354;
    border-radius:999px;
    padding:5px;
    gap:4px;
    box-shadow:0 10px 30px rgba(0,0,0,.42);
    z-index:999999;
    white-space:nowrap;

}

 .play-react-wrap:hover .play-react-menu,.play-react-wrap.open .play-react-menu {
    display:inline-flex;

}

 .play-react-trigger {
    min-width:58px;
    text-align:center;

}

 .play-react-option {
    font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
    line-height:1!important;

}

 .play-reaction-totals:empty {
    display:none;

}

 .play-react-total span {
    font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;

}

 @media(max-width:900px) {
    body.watch-mode {
        height:auto;
        overflow:auto
    }

    #watch-main {
        height:auto;
        overflow:visible
    }

    .watch-room {
        overflow:visible
    }

    .watch-panel {
        overflow:hidden
    }

    .play-react-wrap {
        flex-wrap:wrap
    }

    .play-react-menu {
        border-radius:18px;

    }

}

/* v24: play score-after + player box-score reactions */
.play-score-after {
    display:inline-flex;
    align-items:center;
    margin-left:10px;
    padding:3px 8px;
    border-radius:999px;
    background:#111827;
    border:1px solid #354052;
    color:#dbeafe;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
    vertical-align:middle;

}

 .player-react-line {
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:6px;
    min-height:28px;
    overflow:visible;

}

 .player-react-line .play-react-trigger {
    font-size:11px!important;
    padding:4px 8px!important;
    min-width:54px;

}

 .player-react-line .play-react-menu {
    position:static!important;

}

 .player-reaction-totals {
    gap:4px;

}

 .player-reaction-totals .play-react-total {
    padding:3px 6px!important;
    font-size:12px!important;

}

 .boxscore-table td.player-col {
    overflow:visible;
    min-width:180px;

}

 .boxscore-table tr {
    overflow:visible;

}

 .compact-boxscore .boxscore-table .player-col {
    min-width:190px;

}

 @media(max-width:900px) {
    .play-score-after {
        display:flex;
        width:max-content;
        margin:6px 0 0 0
    }

    .player-react-line {
        flex-wrap:wrap
    }

}

/* v25: clearer score-after badges inside play-by-play */
.play-score-after {
    margin-left:12px;
    background:linear-gradient(135deg,#0d91ff,#5b35ff);
    border-color:#58b8ff;
    color:#fff;
    box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;
    gap:5px;

}

 .play-score-after b {
    display:inline!important;
    color:#fff!important;
    font-size:11px!important;
    margin:0!important;
    letter-spacing:.03em;

}

 .play-score-after i {
    font-style:normal;
    color:rgba(255,255,255,.65);
    font-weight:900;
    margin:0 2px;

}

 .play-row.scoring .play-copy p {
    font-weight:800;

}

/* =========================================================
   3OT v30 VISUAL POLISH - basketball dark theme
   Layout unchanged. This layer replaces the old Carbon feel.
   ========================================================= */
:root {
       --bg:#090b10;
       --bg2:#0d1118;
       --panel:#151922;
       --panel2:#11151d;
       --panel3:#0f131a;
       --line:#252c38;
       --line2:#313a49;
       --text:#f5f7fb;
       --muted:#8f9bad;
       --muted2:#647084;
       --blue:#2f7cff;
       --cyan:#4cc9ff;
       --green:#35d66f;
       --purple:#7658ff;
       --orange:#ff7a1a;
       --orange2:#ffb11a;
       --danger:#ff475f;
       --radius:18px;
       --radius-sm:12px;
       --radius-lg:24px;
       --shadow:0 16px 42px rgba(0,0,0,.32);
       --shadow-soft:0 8px 24px rgba(0,0,0,.22);

}

 * {
    scrollbar-color:#374151 #0c1017;
    scrollbar-width:thin
}

 body {
       background: #0c0e15;
       color:var(--text)!important;
       font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
       letter-spacing:-.01em;

}

 a {
    transition:color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease
}

 img {
    display:inline-block
}

/* Header */
#header {
       height:72px!important;
       background:#151922!important;
       border-bottom:1px solid rgba(255,255,255,.07)!important;
       backdrop-filter:blur(14px);
       box-shadow:0 10px 30px rgba(0,0,0,.22);
       z-index:1000!important;

}

 #headerlogozosh img {
    height:50px!important;
    filter:drop-shadow(0 6px 14px rgba(255,122,26,.15))
}

 #headerusername {
    color:var(--orange)!important
}

 #headerccbalance {
    color:#d9e2f1!important;
    font-weight:700;
    font-size:13px
}

 #headerright>a img {
    opacity:.86;
    transition:opacity .16s ease,transform .16s ease,filter .16s ease
}

 #headerright>a:hover img {
    opacity:1;
    transform:translateY(-1px);
    filter:drop-shadow(0 0 10px rgba(255,122,26,.28))
}

 .hamburger span {
    background:#dbe4f0!important;
    height:3px!important
}

/* Layout rhythm */
#layoutwrap {
    gap:22px!important;
    padding:22px 34px!important;
    max-width:1500px!important
}

 #leftcolumn,#rightcolumn {
    top:94px!important
}

/* Universal surfaces */
#leftnavcard,.topicbox,.rightcard,.card,.post,.composer,.messenger-shell,.watch-panel,.watch-score,.live-game-card,.topic-card,.settings-card,.admin-card {
       background:linear-gradient(180deg,rgba(23,28,38,.96),rgba(15,19,27,.96))!important;
       border:1px solid rgba(255,255,255,.08)!important;
       border-radius:var(--radius)!important;
       box-shadow:var(--shadow-soft)!important;

}

 .card,.composer,.post,.rightcard,.topicbox {
    margin-bottom:18px!important
}

/* Buttons */
.btn,button,.header-link,.header-join,.createpostbutton,.follow-btn,.message-btn,.small-btn,.composer-actions button,input[type="submit"] {
       border:1px solid rgba(255,255,255,.08)!important;
       border-radius:999px!important;
       background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
       color:#16100b!important;
       font-weight:900!important;
       letter-spacing:.01em;
       box-shadow:0 10px 22px rgba(255,122,26,.18)!important;
       transition:transform .14s ease, box-shadow .14s ease, filter .14s ease, background .14s ease!important;

}

 .btn:hover,button:hover,.header-link:hover,.header-join:hover,.createpostbutton:hover,.follow-btn:hover,.message-btn:hover,.small-btn:hover,.composer-actions button:hover,input[type="submit"]:hover {
       filter:saturate(1.08) brightness(1.12);

}

 button[disabled],.btn.disabled,.following-disabled,.is-disabled {
       background:#222936!important;
    color:#728096!important;
    border-color:#303846!important;
    box-shadow:none!important;
    cursor:not-allowed!important;
    transform:none!important;

}

 .secondary-btn,.btn-secondary,.ghost-btn,.viewmore,.topicchips a,.topicpill {
       background:#202837!important;
    color:#dce6f5!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:none!important;

}

 .secondary-btn:hover,.btn-secondary:hover,.ghost-btn:hover,.viewmore:hover,.topicchips a:hover,.topicpill:hover {
    background:#283244!important;
    color:#fff!important;
    transform:translateY(-1px)
}

/* Inputs */
input,textarea,select,.composer textarea,.composer select,.form-row textarea,.form-row input {
       background:#0e131c!important;
       border:1px solid #283242!important;
       border-radius:var(--radius-sm)!important;
       color:#f5f7fb!important;
       outline:none!important;
       transition:border-color .16s ease, box-shadow .16s ease, background .16s ease!important;

}

 input:focus,textarea:focus,select:focus,.composer textarea:focus,.composer select:focus {
       border-color:rgba(255,122,26,.72)!important;
       box-shadow:0 0 0 4px rgba(255,122,26,.12)!important;
       background:#101722!important;

}

/* Left search/nav */
.leftsearch {
       height:56px!important;
       background:#0f141d!important;
       border:1px solid rgba(255,255,255,.08)!important;
       border-radius:999px!important;
       box-shadow:var(--shadow-soft)!important;

}

 .leftsearch input {
    font-size:15px!important;
    color:#eef3ff!important
}

 .leftsearch button {
    background:transparent!important;
    color:var(--orange)!important;
    box-shadow:none!important;
    border:0!important
}

 #leftnavcard {
    padding:14px!important
}

 .navitem {
    gap:16px!important;
    font-size:16px!important;
    color:#cdd7e6!important;
    padding:12px 13px!important;
    border-radius:14px!important;
    margin:2px 0
}

 .navitem:hover,.navitem.active {
    background:rgba(255,122,26,.10)!important;
    color:#fff!important
}

 .navitem img {
    width:22px!important;
    height:22px!important;
    opacity:.92
}

 .createpostbutton {
    font-size:16px!important;
    padding:14px 18px!important;
    margin:18px 10px 2px!important;
    display:block!important;
    text-align:center!important
}

 .topicbox {
    padding:18px!important
}

 .topicbox h3,.rightcard h3 {
    color:#fff!important;
    font-size:16px!important;
    text-transform:uppercase;
    letter-spacing:.06em
}

 .topicbox h3 span {
    border-color:rgba(255,122,26,.8)!important;
    color:var(--orange)!important;
    background:rgba(255,122,26,.08)
}

 .topicchips {
    gap:9px!important
}

.topicchips a {
    border-radius:999px!important;
    padding:8px 12px!important;
    font-weight:800;
    font-size:12px!important;
    color:#aebbd0!important
}

/* Quick links + feed tabs */
.quickgrid {
    gap:10px!important;
    margin-bottom:14px!important
}

 .quickbox {
       height:88px!important;
       background:linear-gradient(145deg,#1c2431,#111821)!important;
       border:1px solid rgba(255,255,255,.08)!important;
       border-radius:var(--radius)!important;
       box-shadow:var(--shadow-soft)!important;
       color:#f5f7fb!important;

}

 .quickbox:hover {
    transform:translateY(-2px);
    border-color:rgba(255,122,26,.34)!important;
    background:linear-gradient(145deg,#242d3d,#151d29)!important
}

 .quickbox i {
    background:var(--green)!important;
    box-shadow:0 0 0 4px rgba(53,214,111,.12),0 0 18px rgba(53,214,111,.6)!important
}

 .feedtabs {
    gap:8px!important;
    margin-bottom:18px!important
}

 .feedtabs a {
       height:48px!important;
       background:#111823!important;
       border:1px solid rgba(255,255,255,.07)!important;
       border-radius:999px!important;
       color:#b4c0d2!important;
       font-size:14px!important;

}

 .feedtabs a:hover {
    background:#1b2431!important;
    color:#fff!important
}

 .feedtabs a.active {
    background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
    color:#130d08!important;
    border-color:rgba(255,177,26,.5)!important;
    box-shadow:0 12px 25px rgba(255,122,26,.20)!important
}

/* Composer */
.composer {
    padding:18px!important;
    background:linear-gradient(180deg,#171d28,#111720)!important
}

 .composer-top {
    font-size:15px!important;
    color:#dbe4f0!important;
    margin-bottom:12px!important
}

 .composer textarea {
    min-height:110px!important;
    line-height:1.45!important
}

 .composer-actions {
    text-align:right!important;
    margin-top:12px!important
}

/* Posts */
.post {
    overflow:visible!important;
    background:#121822!important;
    border-radius:var(--radius)!important
}

 .post-head {
       background:linear-gradient(180deg,#18202b,#141a24)!important;
       border-bottom:1px solid rgba(255,255,255,.06)!important;
       padding:15px 16px!important;
       border-radius:var(--radius) var(--radius) 0 0!important;

}

 .avatar img,.tinyavatar,.conversation-avatar img {
    border:2px solid rgba(255,255,255,.08)!important;
    box-shadow:0 5px 12px rgba(0,0,0,.24)
}

 .post-userline {
    color:#7d899d!important;
    font-size:13px!important
}

 .post-userline strong a {
    color:#f5f7fb!important;
    font-size:17px!important
}

 .post-userline>a {
    color:var(--orange)!important
}

 .topicpill {
    border-radius:999px!important;
    padding:7px 11px!important;
    font-size:12px!important;
    color:#ffd7b8!important;
    background:rgba(255,122,26,.12)!important;
    border-color:rgba(255,122,26,.22)!important
}

 .dots,.post-menu-btn {
    color:#a9b4c7!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    padding:8px!important
}

 .dots:hover,.post-menu-btn:hover {
    background:#222b3a!important;
    color:#fff!important;
    transform:none!important
}

 .post-body {
    font-size:17px!important;
    line-height:1.55!important;
    padding:20px 26px!important;
    color:#edf3ff!important
}

 .post-actions {
       background:#0f151f!important;
       border-top:1px solid rgba(255,255,255,.06)!important;
       padding:13px 16px!important;
       border-radius:0 0 var(--radius) var(--radius)!important;

}

 .voteicon,.post-action-icon {
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    color:#c6d2e4!important;
    padding:5px 7px!important;
    border-radius:999px!important
}

 .voteicon:hover,.post-action-icon:hover {
    background:#202938!important;
    color:#fff!important;
    transform:none!important
}

 .reactbubble,.commentcount {
    background:#1a2230!important;
    border:1px solid rgba(255,255,255,.06)!important;
    border-radius:999px!important;
    color:#dce6f5!important
}

 .ratingbar {
    display:none!important
}

 .embedmock {
    border-color:rgba(255,255,255,.07)!important;
    border-radius:16px!important;
    margin:0 18px 18px!important;
    overflow:hidden
}

/* Right column */
.rightcard {
    padding:18px!important
}

.rightrow {
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:10px 0!important
}

.rightrow:last-child {
    border-bottom:0
}

.rightrow b {
    color:var(--orange)!important
}

.rightrow em {
    background:#101722!important;
    color:#4b5668!important;
    border:1px solid rgba(255,255,255,.06)!important;
    border-radius:12px!important
}

.tinyavatar {
    background:linear-gradient(135deg,var(--orange),#b44dff)!important;
    color:#0d0b0c!important
}

/* Menus/popups */
.post-menu,.dropdown-menu,.play-react-menu,.react-popup,.reaction-picker {
       background:#0d1118!important;
       border:1px solid #313a49!important;
       border-radius:16px!important;
       box-shadow:0 24px 70px rgba(0,0,0,.58)!important;
       z-index:999999!important;

}

 .post-menu a,.post-menu button,.dropdown-menu a,.dropdown-menu button {
    background:transparent!important;
    color:#dce6f5!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:12px!important;
    text-align:left!important
}

.post-menu a:hover,.post-menu button:hover {
    background:#1b2431!important;
    color:#fff!important;
    transform:none!important
}

/* Messenger/chat rooms */
.messenger-shell {
    background:#111720!important;
    grid-template-columns:310px 1fr!important
}

.messenger-sidebar {
    background:#121923!important;
    border-right:1px solid rgba(255,255,255,.07)!important
}

.messenger-title-row,.messenger-search {
    border-bottom:1px solid rgba(255,255,255,.07)!important
}

.conversation-row {
    border-bottom:1px solid rgba(255,255,255,.05)!important
}

.conversation-row:hover,.conversation-row.active {
    background:#1a2230!important
}

.conversation-row.active {
    box-shadow:inset 4px 0 0 var(--orange)!important
}

.online-dot {
    background:var(--green)!important
}

.message-bubble,.chat-bubble {
    border-radius:18px!important
}

.message-bubble.mine,.chat-bubble.mine {
    background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
    color:#130d08!important
}

.message-bubble.theirs,.chat-bubble.theirs {
    background:#1a2230!important;
    color:#f3f7ff!important
}

/* Watch room */
body.watch-mode {
    background:#080a0f!important
}

.watch-room {
    gap:14px!important
}

.watch-score,.watch-panel {
    border-radius:var(--radius-lg)!important;
    background:linear-gradient(180deg,#151c27,#0f151e)!important
}

.watch-panel-head {
    background:#121923!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    padding:12px 16px!important
}

.watch-panel-head h2 {
    font-size:17px!important;
    text-transform:uppercase;
    letter-spacing:.05em
}

.live-plays-panel,.game-watch-chat,.compact-boxscore {
    background:#0f141c!important
}

.play-row {
    background:#151c27!important;
    border-color:#283242!important;
    border-radius:16px!important
}

.play-row.scoring {
    border-color:rgba(255,122,26,.75)!important;
    box-shadow:inset 4px 0 0 var(--orange),0 8px 18px rgba(255,122,26,.07)!important
}

.play-copy b {
    color:var(--orange2)!important
}

.play-score-after {
    background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
    color:#130d08!important;
    border-color:rgba(255,177,26,.62)!important
}

.play-score-after b,.play-score-after i {
    color:#130d08!important
}

.play-react-trigger,.play-react-total {
    background:#202837!important;
    border-color:#354052!important;
    color:#dce6f5!important
}

.play-react-trigger:hover,.play-react-wrap.open .play-react-trigger,.play-react-trigger.has-mine,.play-react-total.active {
    background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
    color:#130d08!important;
    border-color:rgba(255,177,26,.62)!important
}

.boxscore-table-wrap {
    border-color:#283242!important;
    background:#0f141c!important;
    border-radius:16px!important
}

.boxscore-table th {
    background:#151c27!important;
    color:#9fabbd!important
}

.boxscore-table td {
    border-color:#252d39!important
}

.boxscore-table .player-col {
    background:#0f141c!important
}

.boxscore-table th.player-col {
    background:#151c27!important
}

/* Tables/lists/profile/settings */
table {
    border-collapse:separate;
    border-spacing:0;
    width:100%
}

th {
    color:#9fabbd;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.04em
}

td,th {
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:12px
}

.profile-header,.user-card,.topic-card,.game-card,.live-game-card {
    border-radius:var(--radius)!important;
    background:linear-gradient(180deg,#171d28,#111720)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:var(--shadow-soft)!important
}

.badge,.pill,.status-pill {
    border-radius:999px!important;
    background:rgba(255,122,26,.12)!important;
    color:#ffd7b8!important;
    border:1px solid rgba(255,122,26,.22)!important
}

/* Basketball accent helper */
.zosh-accent,.accent-text {
    color:var(--orange)!important
}

.accent-bg {
    background:linear-gradient(135deg,var(--orange),var(--orange2))!important;
    color:#130d08!important
}

 @media(max-width:1100px) {
    #layoutwrap {
        gap:16px!important;
        padding:16px!important
    }

    .feedtabs {
        grid-template-columns:repeat(3,1fr)!important
    }

    .quickbox {
        height:80px!important
    }

}

 @media(max-width:760px) {
    #header {
        height:64px!important;
        padding:0 12px!important
    }

    #layoutwrap {
        padding:10px!important
    }

    .feedtabs {
        grid-template-columns:1fr 1fr!important
    }

    .quickgrid {
        grid-template-columns:1fr 1fr!important
    }

    .post-body {
        font-size:16px!important;
        padding:16px!important
    }

    .messenger-shell {
        grid-template-columns:1fr!important;
        height:auto!important
    }

    .messenger-sidebar {
        min-height:260px
    }

    .watch-room {
        gap:10px!important
    }

    .watch-panel,.watch-score {
        border-radius:18px!important
    }

}

/* v31: sports watchroom polish */
:root {
       --score-font: 'Rajdhani','Teko','Arial Black',Impact,sans-serif;

}

 .watch-score {
    padding:10px 12px!important;
    min-height:auto!important
}

 .watch-score-compact {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:10px;
    align-items:center;
    width:100%
}

 .watch-team-card {
    border:1px solid rgba(255,255,255,.11);
    border-radius:16px;
    padding:10px 14px;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 20px rgba(0,0,0,.18);
    overflow:hidden;
    position:relative
}

 .watch-team-card:before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0));
    pointer-events:none
}

 .watch-team-name {
    position:relative;
    z-index:1;
    color:#fff;
    font-weight:1000;
    font-size:15px;
    letter-spacing:.01em;
    line-height:1.1
}

 .watch-team-score {
    position:relative;
    z-index:1;
    color:#fff;
    font-family:var(--score-font);
    font-size:46px!important;
    line-height:.92;
    font-weight:1000;
    letter-spacing:.02em;
    text-shadow:0 2px 10px rgba(0,0,0,.35)
}

 .watch-game-center {
    text-align:center;
    min-width:150px;
    color:#b4bfcd;
    font-weight:900;
    font-size:12px;
    line-height:1.3;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px
}

 .watch-game-center .score-status {
    margin:0!important;
    padding:5px 9px!important;
    font-size:11px!important;
    line-height:1!important
}

 .watch-game-center .score-meta-line {
    white-space:normal;
    color:#a9b4c4;
    font-size:11px;
    font-weight:900
}

 .watch-game-center .score-divider {
    display:block!important;
    color:#6f7c8d;
    font-size:14px;
    line-height:1;
    margin:0!important
}

 .play-row {
    border-width:1px!important;
    box-shadow:none!important
}

 .play-row.scoring {
    border-width:1px!important;
    border-color:rgba(255,145,28,.78)!important;
    box-shadow:inset 3px 0 0 var(--orange),0 6px 14px rgba(255,122,26,.07)!important
}

 .play-score-after b {
    letter-spacing:.03em
}

 .boxscore-table th.react-col,.boxscore-table td.react-col {
    width:58px;
    min-width:58px;
    text-align:center;
    padding-left:6px!important;
    padding-right:6px!important;
    position:sticky;
    left:0;
    z-index:3;
    background:#101722!important
}

 .boxscore-table th.react-col {
    z-index:4;
    background:#151c27!important
}

 .boxscore-table .react-col .play-react-trigger {
    padding:4px 8px!important;
    font-size:11px!important
}

 .boxscore-table .react-col .play-reaction-totals {
    margin-top:4px;
    justify-content:center
}

 .boxscore-table th.player-col,.boxscore-table td.player-col {
    left:58px!important;
    z-index:2
}

 .boxscore-table th.player-col {
    z-index:3
}

 .player-react-line {
    margin:0!important;
    display:block!important
}

 .player-react-cell {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    flex-direction:column;
    min-height:32px
}

 .game-watch-chat-form .composer-tools,.topic-chat-form .composer-tools,.compose-mini-tools {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap
}

 .game-watch-chat-form .emoji-btn,.topic-chat-form .emoji-btn,.compose-mini-tools .emoji-btn {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:inherit!important;
    padding:0!important;
    border-radius:0!important;
    font-size:24px!important;
    line-height:1!important;
    filter:none!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
    transition:transform .12s ease!important
}

 .game-watch-chat-form .emoji-btn:hover,.topic-chat-form .emoji-btn:hover,.compose-mini-tools .emoji-btn:hover {
    transform:translateY(-2px) scale(1.16)!important;
    background:transparent!important;
    box-shadow:none!important
}

 .game-watch-chat-form .upload-pill,.topic-chat-form .upload-pill {
    display:none!important
}

 @media(max-width:760px) {
    .watch-score-compact {
        grid-template-columns:1fr;
        gap:8px
    }

    .watch-game-center {
        order:-1;
        min-width:0
    }

    .watch-team-score {
        font-size:38px!important
    }

    .watch-team-card {
        min-height:52px
    }

    .boxscore-table th.react-col,.boxscore-table td.react-col {
        position:static
    }

    .boxscore-table th.player-col,.boxscore-table td.player-col {
        left:auto!important
    }

}

/* v32: watchroom score/header + reaction popup cleanup */
.watch-score {
    padding:8px 12px!important;
    border-radius:18px!important;
    overflow:hidden!important
}

 .watch-score-centered {
    width:100%;
    display:flex;
    flex-direction:column;
    gap:4px;
    align-items:center;
    justify-content:center;
    min-height:64px
}

 .watch-score-mainline {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
    align-items:center;
    gap:10px
}

 .watch-team-side {
    height:54px;
    border-radius:14px;
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
    background:linear-gradient(135deg,var(--team-primary),var(--team-secondary))
}

 .watch-team-side:before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.02),rgba(0,0,0,.24));
    pointer-events:none
}

 .watch-team-side.away {
    justify-content:flex-end;
    padding:0 14px 0 18px;
    text-align:right
}

 .watch-team-side.home {
    justify-content:flex-start;
    padding:0 18px 0 14px;
    text-align:left
}

 .watch-team-side .watch-team-name {
    position:relative;
    z-index:1;
    font-size:15px;
    font-weight:1000;
    color:#fff;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:70%
}

 .watch-team-side .watch-team-score {
    position:relative;
    z-index:1;
    font-family:var(--score-font);
    font-size:44px!important;
    line-height:.9;
    font-weight:1000;
    color:#fff;
    min-width:72px;
    text-align:center;
    text-shadow:0 2px 8px rgba(0,0,0,.5)
}

 .watch-score-centered .watch-game-center {
    min-width:0;
    align-self:center;
    justify-content:center;
    gap:3px;
    font-size:11px;
    line-height:1;
    text-align:center
}

 .watch-score-centered .score-status {
    font-size:10px!important;
    padding:4px 8px!important;
    border-radius:999px!important
}

 .watch-score-centered .score-divider {
    font-size:12px!important;
    color:#8c98aa!important;
    font-weight:1000
}

 .watch-score-meta {
    font-size:10px;
    color:#aeb8c7;
    font-weight:900;
    text-align:center;
    line-height:1.1;
    margin-top:-2px
}

 .watch-team-card,.watch-score-compact {
    display:none!important
}

 .play-row.scoring {
    box-shadow:none!important;
    border-left-width:1px!important;
    border-color:rgba(255,145,28,.8)!important
}

 .play-row.scoring:before {
    display:none!important;
    content:none!important
}

 .play-row {
    border-width:1px!important;
    outline:0!important
}

 .boxscore-table th.react-col,.boxscore-table td.react-col {
    position:relative!important;
    left:auto!important;
    z-index:5!important;
    background:#101722!important;
    width:62px!important;
    min-width:62px!important;
    overflow:visible!important
}

 .boxscore-table th.player-col,.boxscore-table td.player-col {
    position:static!important;
    left:auto!important;
    z-index:auto!important;
    background:transparent!important
}

 .boxscore-table th.player-col {
    background:#151c27!important
}

 .boxscore-table .player-react-cell {
    min-height:24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    position:relative!important
}

 .boxscore-table .player-react-wrap {
    position:relative!important;
    display:inline-flex!important;
    z-index:500!important;
    overflow:visible!important
}

 .boxscore-table .player-react-wrap .play-react-menu {
    position:absolute!important;
    display:none!important;
    left:calc(100% + 8px)!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    background:#101116!important;
    border:1px solid #3c4354!important;
    border-radius:999px!important;
    padding:6px!important;
    gap:5px!important;
    box-shadow:0 14px 36px rgba(0,0,0,.55)!important;
    z-index:999999!important;
    white-space:nowrap!important;
    width:max-content!important;
    min-width:max-content!important
}

 .boxscore-table .player-react-wrap:hover .play-react-menu,.boxscore-table .player-react-wrap.open .play-react-menu {
    display:flex!important
}

 .boxscore-table .player-react-wrap .play-react-menu:before {
    content:'';
    position:absolute;
    left:-12px;
    top:0;
    width:14px;
    height:100%
}

 .play-react-menu .play-react-option {
    font-size:20px!important;
    width:30px!important;
    height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
    border:0!important
}

 .play-react-menu .play-react-option:hover,.play-react-menu .play-react-option.active {
    background:rgba(255,255,255,.12)!important;
    transform:translateY(-1px) scale(1.12)!important
}

 .play-reaction-totals,.player-reaction-totals {
    display:flex!important;
    gap:4px!important;
    align-items:center!important;
    flex-wrap:wrap!important
}

 .boxscore-table .react-col .play-reaction-totals {
    display:none!important
}

 .game-watch-chat-form .emoji-btn,.topic-chat-form .emoji-btn,.compose-mini-tools .emoji-btn {
    font-size:22px!important;
    margin-right:8px!important
}

 .game-watch-chat-form .emoji-btn:before,.topic-chat-form .emoji-btn:before,.compose-mini-tools .emoji-btn:before {
    display:none!important
}

 .game-watch-chat-form .emoji-btn,.topic-chat-form .emoji-btn,.compose-mini-tools .emoji-btn {
    background:transparent!important;
    border:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important
}

 @media(max-width:900px) {
    .watch-score-mainline {
        grid-template-columns:1fr;
        gap:6px
    }

    .watch-game-center {
        order:-1
    }

    .watch-team-side {
        justify-content:space-between!important;
        text-align:left!important
    }

    .watch-team-side.away,.watch-team-side.home {
        padding:0 14px
    }

    .watch-team-side.home .watch-team-score {
        order:2
    }

    .watch-team-side.home .watch-team-name {
        order:1
    }

    .boxscore-table .player-react-wrap .play-react-menu {
        left:0!important;
        top:calc(100% + 7px)!important;
        transform:none!important;
        border-radius:16px!important
    }

}

/* v33: compact basketball scoreboard refinement */
.watch-score {
    padding:10px 14px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#0e151f!important
}

 .watch-score-centered {
    min-height:76px!important;
    gap:0!important
}

 .watch-score-mainline {
    grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center!important
}

 .watch-team-side {
    height:74px!important;
    border-radius:16px!important;
    background:var(--team-primary)!important;
    border:5px solid var(--team-secondary)!important;
    box-shadow:0 12px 24px rgba(0,0,0,.26)!important;
    overflow:hidden!important
}

 .watch-team-side:before {
    display:none!important;
    content:none!important
}

 .watch-team-side.away {
    justify-content:flex-end!important;
    padding:0 22px 0 20px!important;
    text-align:right!important
}

 .watch-team-side.home {
    justify-content:flex-start!important;
    padding:0 20px 0 22px!important;
    text-align:left!important
}

 .watch-team-side .watch-team-name {
    font-size:25px!important;
    line-height:1!important;
    font-weight:1000!important;
    color:#fff!important;
    text-transform:none!important;
    letter-spacing:-.03em!important;
    max-width:62%!important;
    text-shadow:0 2px 8px rgba(0,0,0,.32)!important
}

 .watch-team-side .watch-team-score {
    font-family:var(--score-font)!important;
    font-size:64px!important;
    line-height:.86!important;
    font-weight:1000!important;
    color:#fff!important;
    min-width:94px!important;
    text-align:center!important;
    text-shadow:0 4px 12px rgba(0,0,0,.45)!important
}

 .watch-game-center {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    min-width:160px!important;
    text-align:center!important;
    line-height:1!important
}

 .watch-score-centered .score-status {
    font-size:17px!important;
    line-height:1!important;
    padding:4px 12px!important;
    border-radius:999px!important;
    font-weight:1000!important;
    letter-spacing:.03em!important;
    background:rgba(32,255,122,.12)!important;
    border:2px solid #21e978!important;
    color:#5cff9f!important
}

 .watch-score-centered .score-status.final {
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.22)!important;
    color:#fff!important
}

 .watch-clock {
    display:block!important;
    font-family:var(--score-font)!important;
    font-size:39px!important;
    line-height:.94!important;
    letter-spacing:.02em!important;
    color:#fff!important;
    text-shadow:0 4px 12px rgba(0,0,0,.45)!important;
    margin-top:4px!important
}

 .score-updated {
    font-size:11px!important;
    color:#a8b4c5!important;
    font-weight:900!important;
    margin-top:3px!important;
    white-space:nowrap!important
}

 .watch-score-meta,.score-divider {
    display:none!important
}

 @media(max-width:1100px) {
    .watch-score-mainline {
        grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr)!important
    }

    .watch-team-side .watch-team-name {
        font-size:20px!important
    }

    .watch-team-side .watch-team-score {
        font-size:54px!important;
        min-width:78px!important
    }

    .watch-clock {
        font-size:32px!important
    }

    .watch-score-centered .score-status {
        font-size:14px!important
    }

}

 @media(max-width:760px) {
    .watch-score-mainline {
        grid-template-columns:1fr!important
    }

    .watch-game-center {
        order:-1!important
    }

    .watch-team-side {
        height:62px!important
    }

    .watch-team-side .watch-team-name {
        font-size:22px!important
    }

    .watch-team-side .watch-team-score {
        font-size:48px!important
    }

    .watch-score-centered {
        min-height:0!important
    }

    .watch-score {
        padding:10px!important
    }

}

/* v34: watchroom play order + cleaner reaction styling */
.watch-team-side {
       border-width:4px!important;

}

 .play-reactions {
       gap:8px!important;
       margin-top:10px!important;

}

 .play-react-trigger, .play-react-total, .player-react-trigger, .player-react-total {
       background:transparent!important;
       border:1px solid var(--orange2)!important;
       color:#fff!important;
       border-radius:999px!important;
       box-shadow:none!important;
       line-height:1!important;

}

 .play-react-trigger, .player-react-trigger {
       padding:7px 14px!important;
       min-width:0!important;
       font-size:15px!important;
       font-weight:1000!important;
       color:var(--orange2)!important;

}

 .play-react-trigger:hover, .play-react-wrap.open .play-react-trigger, .play-react-trigger.has-mine, .player-react-trigger:hover, .player-react-wrap.open .player-react-trigger, .player-react-trigger.has-mine {
       background:rgba(255,159,26,.10)!important;
       border-color:var(--orange2)!important;
       color:#fff!important;

}

 .play-react-total, .player-react-total {
       padding:6px 10px!important;
       gap:7px!important;
       font-size:17px!important;
       min-height:34px!important;

}

 .play-react-total span, .player-react-total span {
       font-size:21px!important;
       line-height:1!important;

}

 .play-react-total em, .player-react-total em {
       font-size:15px!important;
       font-weight:1000!important;
       color:#fff!important;
       line-height:1!important;

}

 .play-react-total.active, .player-react-total.active {
       background:rgba(255,159,26,.10)!important;
       border-color:var(--orange2)!important;

}

 .play-react-menu {
       background:#090d14!important;
       border:1px solid rgba(255,159,26,.55)!important;
       box-shadow:0 14px 38px rgba(0,0,0,.55)!important;

}

 .play-react-menu .play-react-option {
       font-size:23px!important;
       width:36px!important;
       height:36px!important;
       background:transparent!important;
       border:0!important;

}

 .play-react-menu .play-react-option:hover, .play-react-menu .play-react-option.active {
       background:rgba(255,159,26,.12)!important;
       transform:translateY(-2px) scale(1.16)!important;

}

 .boxscore-table .react-col .play-react-trigger, .boxscore-table .react-col .player-react-trigger {
       font-size:12px!important;
       padding:5px 8px!important;

}

 .boxscore-table .react-col .play-react-total, .boxscore-table .react-col .player-react-total {
       padding:4px 7px!important;
       min-height:28px!important;

}

 .boxscore-table .react-col .play-react-total span, .boxscore-table .react-col .player-react-total span {
       font-size:17px!important;

}

/* Newest plays now render at the top; keep the panel parked at the top on refresh. */
.live-plays-panel {
    scroll-behavior:auto!important;

}

/* v35: period tabs + proper box-score reactions/readability */
.watch-panel-head.play-head {
       align-items:center!important;
       gap:12px!important;

}

 .watch-panel-head.play-head h2 {
       flex:0 0 auto!important;

}

 .period-tabs {
       flex:1 1 auto;
       display:flex;
       justify-content:flex-end;
       align-items:center;
       gap:7px;
       min-width:0;
       overflow-x:auto;
       padding-bottom:1px;

}

 .period-tab-btn {
       appearance:none;
       border:1px solid rgba(255,159,26,.38)!important;
       background:transparent!important;
       color:#cfd8e7!important;
       border-radius:999px!important;
       padding:6px 11px!important;
       font-size:12px!important;
       font-weight:1000!important;
       line-height:1!important;
       min-width:0!important;
       cursor:pointer;
       white-space:nowrap;

}

 .period-tab-btn:hover, .period-tab-btn.active {
       color:#fff!important;
       border-color:var(--orange2)!important;
       background:rgba(255,159,26,.14)!important;

}

 .period-tabs-source {
    display:none!important;

}

 .boxscore-table {
       font-size:14px!important;
       line-height:1.25!important;

}

 .compact-boxscore .boxscore-table {
       min-width:720px!important;
       font-size:14px!important;

}

 .compact-boxscore .boxscore-table th, .compact-boxscore .boxscore-table td {
       padding:9px 10px!important;

}

 .boxscore-table th.react-col, .boxscore-table td.react-col {
       display:none!important;

}

 .boxscore-table th.player-col, .boxscore-table td.player-col {
       position:sticky!important;
       left:0!important;
       z-index:3!important;
       min-width:235px!important;
       width:235px!important;
       background:#101722!important;
       overflow:visible!important;

}

 .boxscore-table th.player-col {
       background:#151c27!important;
       z-index:4!important;

}

 .box-player-main {
       display:flex;
       align-items:center;
       gap:8px;
       min-width:0;
       margin-bottom:6px;

}

 .box-player-main strong {
       font-size:14px!important;
       line-height:1.1!important;
       color:#fff!important;
       white-space:normal;

}

 .box-player-main .player-pos {
       display:inline-flex!important;
       align-items:center;
       justify-content:center;
       border:1px solid rgba(255,255,255,.14);
       color:#aeb8c7!important;
       border-radius:999px;
       padding:2px 6px;
       font-size:11px!important;
       font-weight:1000!important;
       line-height:1!important;
       flex:0 0 auto;

}

 .boxscore-table .player-col > strong, .boxscore-table .player-col > span {
       display:none!important;

}

 .player-react-line {
       display:flex!important;
       align-items:center!important;
       gap:7px!important;
       flex-wrap:wrap!important;
       margin:0!important;
       overflow:visible!important;

}

 .boxscore-table .player-react-wrap {
       position:relative!important;
       display:inline-flex!important;
       align-items:center!important;
       overflow:visible!important;
       z-index:30!important;

}

 .boxscore-table .player-react-wrap .play-react-menu {
       position:absolute!important;
       display:none!important;
       left:0!important;
       top:calc(100% + 7px)!important;
       transform:none!important;
       margin:0!important;
       background:#090d14!important;
       border:1px solid rgba(255,159,26,.55)!important;
       border-radius:999px!important;
       padding:6px!important;
       gap:5px!important;
       box-shadow:0 14px 36px rgba(0,0,0,.65)!important;
       z-index:999999!important;
       white-space:nowrap!important;
       width:max-content!important;
       min-width:max-content!important;

}

 .boxscore-table .player-react-wrap:hover .play-react-menu, .boxscore-table .player-react-wrap.open .play-react-menu {
       display:flex!important;

}

 .boxscore-table .player-react-wrap .play-react-menu:before {
       content:'';
       position:absolute;
       left:0;
       top:-10px;
       width:100%;
       height:12px;

}

 .boxscore-table .player-react-trigger {
       padding:5px 10px!important;
       font-size:13px!important;

}

 .boxscore-table .player-react-total {
       padding:4px 8px!important;
       min-height:28px!important;
       font-size:13px!important;

}

 .boxscore-table .player-react-total span {
    font-size:17px!important;

}

 .boxscore-table .player-react-total em {
    font-size:12px!important;

}

 .boxscore-table td:not(.player-col), .boxscore-table th:not(.player-col) {
       font-size:13px!important;

}

 @media(max-width:760px) {
       .watch-panel-head.play-head {
        display:block!important;

    }

       .period-tabs {
        justify-content:flex-start;
        margin-top:8px;

    }

       .boxscore-table th.player-col,.boxscore-table td.player-col {
        position:static!important;
        width:220px!important;
        min-width:220px!important;

    }

}

/* v36: reaction trigger icon + boxscore popup stacking fix */
.play-react-trigger, .player-react-trigger {
       width:34px!important;
       height:34px!important;
       min-width:34px!important;
       padding:0!important;
       display:inline-flex!important;
       align-items:center!important;
       justify-content:center!important;
       border-radius:999px!important;
       font-size:22px!important;
       font-weight:900!important;
       line-height:1!important;
       color:#aeb8c7!important;
       background:transparent!important;
       border:1px solid rgba(174,184,199,.45)!important;
       box-shadow:none!important;
       font-family:Arial, Helvetica, sans-serif!important;

}

 .play-react-trigger:hover, .play-react-wrap.open .play-react-trigger, .play-react-trigger.has-mine, .player-react-trigger:hover, .player-react-wrap.open .player-react-trigger, .player-react-trigger.has-mine {
       color:#fff!important;
       background:rgba(255,159,26,.10)!important;
       border-color:var(--orange2)!important;

}

 .boxscore-table .player-react-trigger {
       width:32px!important;
       height:32px!important;
       min-width:32px!important;
       padding:0!important;
       font-size:21px!important;

}

 .boxscore-table tr, .boxscore-table td, .boxscore-table th {
       overflow:visible!important;

}

 .boxscore-table tr:hover, .boxscore-table tr:has(.player-react-wrap.open), .boxscore-table tr:has(.player-react-wrap:hover) {
       position:relative!important;
       z-index:99990!important;

}

 .boxscore-table td.player-col:hover, .boxscore-table tr:hover td.player-col, .boxscore-table tr:has(.player-react-wrap.open) td.player-col, .boxscore-table tr:has(.player-react-wrap:hover) td.player-col {
       z-index:99991!important;

}

 .boxscore-table .player-react-wrap {
       z-index:99992!important;

}

 .boxscore-table .player-react-wrap .play-react-menu {
       z-index:9999999!important;

}

 .boxscore-table .player-react-wrap .play-react-menu:before {
       top:-12px!important;
       height:14px!important;

}

/* 3OT Live streaming posts */
.threeot-live-fields {
    display:none;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:10px 0
}

.threeot-live-fields small {
    grid-column:1/-1;
    color:var(--muted);
    font-weight:700
}

.live-scope-tabs {
    display:flex;
    gap:8px;
    margin:-4px 0 14px
}

.live-scope-tabs a {
    padding:10px 14px;
    border-radius:999px;
    background:var(--panel2);
    border:1px solid var(--line);
    font-weight:900;
    color:var(--muted)
}

.live-scope-tabs a.active {
    background:rgba(255,122,26,.14);
    border-color:var(--orange);
    color:#fff
}

.threeot-live-card {
    display:block;
    margin:0 16px 16px;
    border-radius:18px;
    overflow:hidden;
    background:#070a12;
    border:1px solid rgba(255,122,26,.28);
    position:relative
}

.threeot-live-card img {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    filter:saturate(1.05) contrast(1.02)
}

.threeot-live-card strong {
    display:block;
    font-size:22px;
    padding:14px 16px 4px;
    color:#fff
}

.threeot-live-card em {
    display:block;
    font-style:normal;
    color:var(--muted);
    padding:0 16px 12px
}

.threeot-live-card b {
    display:inline-flex;
    margin:0 16px 16px;
    background:var(--orange);
    color:#160b04;
    padding:10px 14px;
    border-radius:999px;
    font-weight:950
}

.live-badge {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#ff193f;
    color:#fff;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    padding:6px 10px;
    font-weight:950;
    letter-spacing:.04em;
    font-size:12px
}

.threeot-live-card .live-badge {
    position:absolute;
    top:12px;
    left:12px;
    z-index:2
}

.threeot-live-room {
    padding:0!important;
    overflow:hidden
}

.threeot-live-room-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(135deg,rgba(255,122,26,.14),rgba(255,122,26,0))
}

.threeot-live-room-head h1 {
    margin:10px 0 3px;
    font-size:32px;
    line-height:1.05
}

.threeot-live-embed {
    position:relative;
    width:100%;
    background:#000
}

.threeot-live-embed:before {
    content:"";
    display:block;
    padding-top:56.25%
}

.threeot-live-embed iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%
}

.live-description {
    border-bottom:1px solid var(--line)
}

.live-post-actions {
    border-top:0
}

.threeot-live-chat {
    padding:0!important;
    overflow:hidden
}

.threeot-live-chat .topic-chat-thread {
    height:380px
}

.threeot-live-chat .message-bubble {
    background:#151a24;
    border:1px solid rgba(255,122,26,.18)
}

.threeot-live-chat .message-bubble strong span {
    color:var(--muted);
    font-weight:700
}

@media(max-width:760px) {
    .threeot-live-fields {
        grid-template-columns:1fr
    }

    .threeot-live-room-head {
        display:block
    }

    .threeot-live-chat .topic-chat-thread {
        height:330px
    }

    .threeot-live-room-head h1 {
        font-size:25px
    }

}

 .notopicpill {
    background:#303846!important;
    color:#cbd5e1!important;
    border:1px solid #475569!important
}

/* 3OT Pick'em + Trophy Cabinet */
.pickem-hero {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-end;
    background:linear-gradient(135deg,rgba(255,133,27,.14),rgba(19,31,58,.95));
    border:1px solid rgba(255,255,255,.08)
}

 .pickem-hero h1 {
    margin:4px 0 8px;
    font-size:30px;
    line-height:1.05
}

.eyebrow {
    margin:0;
    color:#ff9f2f;
    font-weight:900;
    letter-spacing:.12em;
    font-size:12px
}

.pickem-week-nav {
    display:flex;
    gap:10px;
    align-items:center;
    white-space:nowrap
}

.pickem-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:18px
}

.section-title-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px
}

.section-title-row h2,.pickem-board h2 {
    margin:0
}

.pickem-game {
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    border-radius:18px;
    padding:14px;
    margin-bottom:12px;
    display:grid;
    grid-template-columns:125px minmax(160px,1fr);
    gap:12px;
    align-items:center
}

.pickem-game.final {
    border-color:rgba(255,159,47,.28)
}

.pickem-game-time strong {
    display:block;
    color:#ff9f2f;
    font-size:12px
}

.pickem-game-time span {
    color:#96a2b8;
    font-size:12px
}

.pickem-matchup {
    font-size:18px;
    font-weight:900;
    display:flex;
    gap:10px;
    align-items:center
}

.pickem-matchup em {
    color:#738099;
    font-style:normal;
    font-size:13px
}

.pickem-result {
    grid-column:1/-1;
    background:rgba(0,0,0,.18);
    border-radius:14px;
    padding:10px 12px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#dce7f7
}

.pickem-controls {
    grid-column:1/-1;
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap
}

.pickem-team {
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    padding:9px 13px;
    font-weight:800;
    cursor:pointer;
    background:rgba(255,255,255,.04)
}

.pickem-team.selected {
    border-color:#ff9f2f;
    color:#fff;
    background:rgba(255,159,47,.12)
}

.pickem-team input {
    margin-right:7px
}

.pickem-margin {
    display:flex;
    gap:8px;
    align-items:center;
    color:#aab4c8;
    font-weight:700
}

.pickem-margin input {
    width:76px;
    border-radius:12px
}

.pickem-my-result {
    grid-column:1/-1;
    color:#aeb8c9;
    font-size:13px
}

.pickem-actions {
    display:flex;
    gap:10px;
    justify-content:flex-end;
    margin-top:15px
}

.pickem-actions .secondary {
    background:transparent;
    border:1px solid rgba(255,159,47,.45);
    color:#ffb25d
}

.pickem-leader {
    display:grid;
    grid-template-columns:36px 38px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
    color:inherit;
    text-decoration:none
}

.pickem-leader img {
    width:38px;
    height:38px;
    border-radius:50%;
    object-fit:cover
}

.pickem-leader small {
    display:block;
    color:#8e99ad;
    font-size:12px
}

.pickem-leader b {
    font-size:22px;
    color:#fff
}

.pickem-leader .rank {
    font-weight:900;
    color:#ff9f2f
}

.pickem-notice {
    border-color:rgba(255,159,47,.35);
    color:#ffd29a
}

.trophy-cabinet {
    margin-top:14px
}

.trophy-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(135px,1fr));
    gap:10px
}

.trophy-item {
    border:1px solid rgba(255,159,47,.25);
    border-radius:16px;
    background:rgba(255,159,47,.07);
    padding:12px;
    text-align:center
}

.trophy-item img {
    width:44px;
    height:44px;
    display:block;
    margin:0 auto 8px
}

.trophy-item strong {
    display:block;
    font-size:13px
}

.trophy-item span {
    display:block;
    color:#9da8bb;
    font-size:11px;
    margin-top:3px
}

 @media(max-width:900px) {
    .pickem-hero {
        display:block
    }

    .pickem-week-nav {
        margin-top:14px;
        flex-wrap:wrap
    }

    .pickem-layout {
        grid-template-columns:1fr
    }

    .pickem-game {
        grid-template-columns:1fr
    }

    .pickem-result {
        display:block
    }

    .pickem-actions {
        justify-content:flex-start;
        flex-wrap:wrap
    }

}

/* v41: composer emoji picker popover - no orange circles */
.emoji-picker-wrap {
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:0!important;
    overflow:visible!important;
    z-index:50!important;
    flex-wrap:nowrap!important
}

 .emoji-picker-trigger {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    border-radius:999px!important;
    border:1px solid rgba(154,169,192,.26)!important;
    background:rgba(255,255,255,.04)!important;
    color:#aeb8c7!important;
    font-size:22px!important;
    line-height:1!important;
    cursor:pointer!important;
    filter:grayscale(1) opacity(.72)!important;
    box-shadow:none!important;
    padding:0!important;
    transition:transform .12s ease,background .12s ease,border-color .12s ease,filter .12s ease!important
}

 .emoji-picker-trigger:hover,.emoji-picker-wrap.open .emoji-picker-trigger {
    transform:translateY(-1px)!important;
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,145,28,.65)!important;
    filter:grayscale(.25) opacity(1)!important
}

 .emoji-picker-popover {
    position:absolute!important;
    left:0!important;
    bottom:calc(100% + 10px)!important;
    display:none!important;
    grid-template-columns:repeat(8,34px)!important;
    gap:9px!important;
    align-items:center!important;
    width:max-content!important;
    max-width:min(390px,calc(100vw - 34px))!important;
    padding:14px!important;
    border-radius:18px!important;
    background:#111722!important;
    border:1px solid rgba(255,145,28,.42)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.58)!important;
    z-index:999999!important
}

 .emoji-picker-popover:after {
    content:'';
    position:absolute;
    left:0;
    bottom:-13px;
    width:54px;
    height:14px;
    background:transparent
}

 .emoji-picker-wrap:hover .emoji-picker-popover,.emoji-picker-wrap.open .emoji-picker-popover {
    display:grid!important
}

 .emoji-picker-popover .emoji-btn,.game-watch-chat-form .emoji-picker-popover .emoji-btn,.topic-chat-form .emoji-picker-popover .emoji-btn,.compose-mini-tools.emoji-picker-wrap .emoji-picker-popover .emoji-btn,.composer-tools.emoji-picker-wrap .emoji-picker-popover .emoji-btn {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:28px!important;
    line-height:1!important;
    cursor:pointer!important;
    transition:transform .1s ease,filter .1s ease!important;
    filter:none!important
}

 .emoji-picker-popover .emoji-btn:hover {
    transform:translateY(-2px) scale(1.18)!important;
    background:transparent!important;
    box-shadow:none!important
}

 .game-watch-chat-form .emoji-btn,.topic-chat-form .emoji-btn,.compose-mini-tools .emoji-btn,.composer-tools .emoji-btn {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important
}

 @media(max-width:700px) {
    .emoji-picker-popover {
        grid-template-columns:repeat(6,34px)!important;
        left:50%!important;
        transform:translateX(-50%)!important
    }

    .emoji-picker-popover:after {
        left:50%;
        transform:translateX(-50%)
    }

}

/* v42: compact composer action row + larger emoji picker */
.composer-bottom {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-top:14px!important;
    position:relative!important;
    z-index:80!important
}

 .composer-left-actions {
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
    position:relative!important;
    z-index:90!important
}

 .composer-bottom .composer-actions {
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:1!important
}

 .composer-bottom .composer-actions button {
    margin:0!important
}

 .composer-bottom .upload-pill {
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important
}

 .composer-bottom .emoji-picker-trigger {
    width:44px!important;
    height:44px!important;
    font-size:27px!important;
    filter:none!important;
    opacity:1!important;
    color:inherit!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(255,145,28,.45)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.22)!important
}

 .composer-bottom .emoji-picker-trigger:hover,.composer-bottom .emoji-picker-wrap.open .emoji-picker-trigger {
    filter:none!important;
    background:rgba(255,145,28,.08)!important;
    border-color:rgba(255,145,28,.85)!important;
    transform:translateY(-1px)!important
}

 .emoji-picker-popover {
    grid-template-columns:repeat(8,38px)!important;
    gap:10px!important;
    max-width:min(430px,calc(100vw - 34px))!important;
    padding:16px!important
}

 .emoji-picker-popover .emoji-btn,.game-watch-chat-form .emoji-picker-popover .emoji-btn,.topic-chat-form .emoji-picker-popover .emoji-btn,.compose-mini-tools.emoji-picker-wrap .emoji-picker-popover .emoji-btn,.composer-tools.emoji-picker-wrap .emoji-picker-popover .emoji-btn {
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:31px!important
}

 @media(max-width:700px) {
    .composer-bottom {
        align-items:flex-end!important
    }

    .composer-left-actions {
        gap:10px!important
    }

    .composer-bottom .emoji-picker-trigger {
        width:42px!important;
        height:42px!important;
        font-size:25px!important
    }

    .emoji-picker-popover {
        grid-template-columns:repeat(6,38px)!important
    }

}

/* 3OT NBA team tagging */
.team-filter-form {
    display:flex;
    align-items:center;
    gap:10px;
    margin:14px 0 0;
    flex-wrap:wrap
}

 .team-filter-form label {
    font-weight:900;
    color:var(--muted,#a8b3c7);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.04em
}

 .team-filter-form select,.team-tag-row select {
    min-width:210px;
    background:#0b111c;
    border:1px solid #29374d;
    border-radius:14px;
    color:#eef4ff;
    padding:12px 14px;
    font-weight:900
}

 .feed-team-filter {
    background:#0f1827;
    border:1px solid #24334a;
    border-radius:18px;
    padding:12px 16px;
    margin-bottom:16px
}

 .teamtag-pill {
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    color:#fff;
    font-weight:1000;
    font-size:12px;
    letter-spacing:.03em;
    border-radius:999px;
    padding:7px 10px;
    background:var(--team-primary);
    border:2px solid var(--team-secondary);
    box-shadow:0 6px 16px rgba(0,0,0,.25)
}

 .post-head .teamtag-pill {
    margin-left:auto;
    margin-right:8px
}

 .nba-team-directory h2 {
    margin:0 0 6px
}

.team-filter-chips {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px
}

.team-filter-chips a,.fav-team-chip {
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    color:#fff;
    background:var(--team-primary);
    border:2px solid var(--team-secondary);
    border-radius:999px;
    padding:9px 13px;
    font-weight:1000;
    box-shadow:0 6px 16px rgba(0,0,0,.22)
}

 .profile-hero-card.has-favorite-team {
    border-color:var(--team-secondary)!important;
    box-shadow:inset 6px 0 0 var(--team-primary),0 10px 30px rgba(0,0,0,.25)
}

 .profile-team-link {
    display:inline-flex;
    text-decoration:none;
    color:#fff;
    background:var(--team-primary);
    border:2px solid var(--team-secondary);
    border-radius:999px;
    padding:7px 11px;
    margin-top:8px;
    font-weight:1000;
    font-size:13px
}

 @media(max-width:760px) {
    .post-head .teamtag-pill {
        margin-left:0
    }

    .team-filter-form select,.team-tag-row select {
        min-width:0;
        width:100%
    }

}

/* v44: profile team identity and NBA team-tag composer cleanup */
.profile-hero-card.has-favorite-team {
       border:4px solid var(--team-secondary)!important;
       box-shadow:0 0 0 2px rgba(0,0,0,.5),0 18px 50px rgba(0,0,0,.32)!important;
       background:     linear-gradient(135deg, color-mix(in srgb, var(--team-primary) 22%, transparent), transparent 38%),     var(--card,#101827)!important;

}

 .profile-hero-card.has-favorite-team .post-head {
    align-items:center!important;
    gap:22px!important
}

 .profile-hero-card .avatar img, .profile-hero-card .avatar {
       width:132px!important;
       height:132px!important;
       min-width:132px!important;
       border-radius:50%!important;

}

 .profile-hero-card .avatar img {
    object-fit:cover!important;
    border:4px solid rgba(255,255,255,.12)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.4)!important
}

 .profile-hero-card h1 {
    font-size:54px!important;
    line-height:1.02!important
}

 .profile-hero-card .muted {
    font-size:26px!important
}

 .profile-team-link {
    font-size:18px!important;
    padding:10px 18px!important;
    border-width:3px!important;
    margin-top:12px!important
}

 .composer-topic-row {
    display:grid!important;
    grid-template-columns:320px minmax(280px,1fr) 270px!important;
    gap:14px!important;
    align-items:center!important
}

 .composer-topic-row.locked-topic-row {
    grid-template-columns:minmax(260px,1fr) 270px!important
}

 .composer-topic-row .team-tag-row {
    margin:0!important;
    display:none
}

 .composer-topic-row .team-tag-row.is-visible {
    display:block!important
}

 .composer-topic-row .team-tag-row select {
    width:100%!important;
    min-width:0!important;
    height:100%!important
}

 .composer-topic-row .composer-locked-topic {
    height:58px;
    display:flex;
    align-items:center;
    border:1px solid #29374d;
    border-radius:18px;
    background:#0b111c;
    padding:0 20px;
    font-weight:900;
    color:#eaf1ff
}

 @media(max-width:900px) {
       .composer-topic-row,.composer-topic-row.locked-topic-row {
        grid-template-columns:1fr!important
    }

       .profile-hero-card .avatar img,.profile-hero-card .avatar {
        width:96px!important;
        height:96px!important;
        min-width:96px!important
    }

       .profile-hero-card h1 {
        font-size:38px!important
    }

       .profile-hero-card .muted {
        font-size:20px!important
    }

}

/* v45: robust profile/image polish */
.profile-hero-card.has-favorite-team {
       border:3px solid var(--team-secondary)!important;
       box-shadow:inset 9px 0 0 var(--team-primary),0 18px 48px rgba(0,0,0,.32)!important;
       background:linear-gradient(135deg, color-mix(in srgb,var(--team-primary) 14%, transparent), transparent 42%),var(--card,#101827)!important;

}

 .profile-hero-card .post-head {
    align-items:center!important;
    gap:24px!important;
    flex-wrap:nowrap!important
}

 .profile-hero-card .avatar,.profile-hero-card .avatar img {
       width:150px!important;
    height:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    max-height:150px!important;
    border-radius:50%!important;

}

 .profile-hero-card .avatar img {
    object-fit:cover!important;
    border:4px solid rgba(255,255,255,.14)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.38)!important
}

 .profile-hero-card h1 {
    font-size:38px!important;
    line-height:1.06!important;
    margin:0!important;
    letter-spacing:-.03em!important
}

 .profile-hero-card .muted {
    font-size:20px!important;
    line-height:1.2!important
}

 .profile-team-link {
    font-size:15px!important;
    padding:9px 15px!important;
    border-width:2px!important;
    margin-top:10px!important
}

 @media(max-width:900px) {
       .profile-hero-card .post-head {
        gap:16px!important;
        align-items:flex-start!important;
        flex-wrap:wrap!important
    }

       .profile-hero-card .avatar,.profile-hero-card .avatar img {
        width:104px!important;
        height:104px!important;
        min-width:104px!important;
        max-width:104px!important;
        max-height:104px!important
    }

       .profile-hero-card h1 {
        font-size:32px!important
    }

       .profile-hero-card .muted {
        font-size:17px!important
    }

}

/* v46: rebuilt profile hero - clean, stable avatar layout */
.profile-hero-redesign {
       position:relative!important;
       overflow:hidden!important;
       border-radius:28px!important;
       background:linear-gradient(180deg,#151c28 0%,#0e1520 100%)!important;
       border:1px solid rgba(255,255,255,.08)!important;
       box-shadow:0 20px 50px rgba(0,0,0,.32)!important;
       padding:0!important;
       margin-bottom:28px!important;

}

 .profile-hero-redesign.has-favorite-team {
       border:1px solid rgba(255,255,255,.08)!important;
       box-shadow:0 20px 50px rgba(0,0,0,.32)!important;

}

 .profile-team-stripe {
       position:absolute;
       inset:0 auto 0 0;
       width:10px;
       background:var(--team-primary,#ff7a1a);
       border-right:4px solid var(--team-secondary,#fff);
       opacity:1;

}

 .profile-hero-main {
       display:grid;
       grid-template-columns:148px minmax(0,1fr) auto;
       gap:26px;
       align-items:center;
       padding:34px 38px 28px 44px;

}

 .profile-avatar-large {
       width:148px!important;
       height:148px!important;
       min-width:148px!important;
       border-radius:50%!important;
       overflow:hidden!important;
       background:#111925!important;
       border:4px solid rgba(255,255,255,.14)!important;
       box-shadow:0 14px 36px rgba(0,0,0,.42)!important;

}

 .profile-avatar-large img {
       width:100%!important;
       height:100%!important;
       display:block!important;
       object-fit:cover!important;
       border:0!important;
       box-shadow:none!important;

}

 .profile-identity {
    min-width:0!important;

}

 .profile-identity h1 {
       margin:0!important;
       font-size:46px!important;
       line-height:1.02!important;
       letter-spacing:-.045em!important;
       color:#f5f7fb!important;
       max-width:100%!important;
       overflow:hidden!important;
       text-overflow:ellipsis!important;

}

 .profile-meta-row {
       display:flex;
       align-items:center;
       flex-wrap:wrap;
       gap:10px;
       margin-top:8px;
       color:#9aa8bc;
       font-size:22px;
       font-weight:800;

}

 .profile-follows-you {
       color:#c9d3e4;
       font-size:14px;
       font-weight:900;
       text-transform:uppercase;
       letter-spacing:.05em;
       padding:5px 9px;
       border-radius:999px;
       background:rgba(255,255,255,.07);
       border:1px solid rgba(255,255,255,.10);

}

 .profile-hero-redesign .profile-team-link {
       display:inline-flex!important;
       align-items:center!important;
       width:auto!important;
       max-width:max-content!important;
       margin-top:14px!important;
       padding:9px 15px!important;
       border-radius:999px!important;
       background:var(--team-primary,#ff7a1a)!important;
       border:2px solid var(--team-secondary,#fff)!important;
       color:#fff!important;
       font-size:15px!important;
       font-weight:1000!important;
       line-height:1!important;
       text-decoration:none!important;
       box-shadow:0 8px 22px rgba(0,0,0,.24)!important;

}

 .profile-hero-actions {
       align-self:start;
       justify-self:end;
       display:flex;
       align-items:flex-start;
       justify-content:flex-end;
       min-width:160px;

}

 .profile-edit-btn {
       background:linear-gradient(135deg,#ff7a1a,#ffb21a)!important;
       color:#090b12!important;
       border:0!important;
       border-radius:999px!important;
       padding:15px 26px!important;
       font-weight:1000!important;
       box-shadow:0 10px 26px rgba(255,122,26,.20)!important;

}

 .profile-bio-block {
       border-top:1px solid rgba(255,255,255,.08);
       padding:22px 38px 28px 44px;
       color:#eef2fb;
       font-size:20px;
       line-height:1.45;

}

 .profile-hero-redesign .profile-actions {
    margin-top:0;
    justify-content:flex-end;

}

 .profile-hero-redesign .profile-actions button, .profile-hero-redesign .profile-actions .btn {
    border-radius:999px!important;

}

 @media(max-width:820px) {
       .profile-hero-main {
        grid-template-columns:1fr;
        gap:18px;
        text-align:center;
        padding:28px 22px;

    }

       .profile-avatar-large {
        width:124px!important;
        height:124px!important;
        min-width:124px!important;
        margin:0 auto;

    }

       .profile-identity h1 {
        font-size:34px!important;

    }

       .profile-meta-row {
        justify-content:center;
        font-size:18px;

    }

       .profile-hero-actions {
        justify-self:center;
        align-self:center;

    }

       .profile-bio-block {
        padding:20px 22px 24px;
        text-align:center;
        font-size:17px;

    }

       .profile-team-stripe {
        width:100%;
        height:8px;
        inset:0 0 auto 0;
        border-right:0;
        border-bottom:3px solid var(--team-secondary,#fff);

    }

}

/* v47: cleaner feed composer + neutral feed reactions */
.composer-toggle-wrap {
    margin:0 0 14px;
    display:flex;
    justify-content:flex-start;
    align-items:center
}

 .composer-toggle-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px!important;
    background:linear-gradient(135deg,#ff7a1a,#ffb21a)!important;
    color:#080b12!important;
    border:0!important;
    padding:13px 22px!important;
    font-weight:1000!important;
    box-shadow:0 12px 30px rgba(255,122,26,.18)!important;
    min-width:150px
}

 .composer-toggle-btn:before {
    content:'+';
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border-radius:50%;
    margin-right:9px;
    background:rgba(0,0,0,.16);
    font-weight:1000;
    line-height:1
}

 .composer-toggle-btn.is-open:before {
    content:'–'
}

 .composer.composer-collapsed {
    display:none!important
}

 .composer.is-open {
    display:block!important
}

 .composer-topic-row {
    grid-template-columns:170px minmax(210px,1fr) 210px!important;
    gap:12px!important;
    align-items:center!important
}

 .composer-topic-row.locked-topic-row {
    grid-template-columns:minmax(210px,1fr) 210px!important
}

 .composer-topic-row select,.composer-topic-row .composer-locked-topic {
    height:54px!important;
    border-radius:15px!important;
    margin-bottom:0!important
}

 .composer-topic-row .team-tag-row {
    display:none!important
}

 .composer-topic-row .team-tag-row.is-visible {
    display:block!important
}

 .composer-topic-row .team-tag-row select {
    min-width:0!important;
    width:100%!important
}

 .vote-stack {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    gap:2px!important
}

 .vote-btn,.vote-btn.active,.vote-btn:hover {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:2px!important;
    border-radius:0!important
}

 .vote-btn img {
    width:20px!important;
    height:20px!important
}

 .react-selector,.react-selector:hover {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:2px!important;
    border-radius:0!important
}

 .react-selector img {
    width:28px!important;
    height:28px!important;
    opacity:.92!important
}

 .react-picker-wrap .react-dropdown {
    z-index:99999!important
}

 @media(max-width:900px) {
    .composer-topic-row,.composer-topic-row.locked-topic-row {
        grid-template-columns:1fr!important
    }

    .composer-toggle-wrap {
        justify-content:stretch
    }

    .composer-toggle-btn {
        width:100%
    }

}

/* v48 compact feed controls */
.feed-controls-row {
    display:flex;
    align-items:center;
    gap:14px;
    margin:18px 0 18px;
    flex-wrap:wrap
}

 .feed-controls-row .composer-toggle-btn {
    margin:0;
    flex:0 0 auto
}

 .compact-team-filter {
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    display:flex;
    align-items:center;
    min-width:260px;
    max-width:360px;
    flex:1 1 260px
}

 .compact-team-filter select {
    width:100%;
    min-width:0!important;
    height:54px;
    border-radius:18px;
    padding:0 18px;
    font-weight:900;
    background:#0b111c;
    border:1px solid #29374d;
    color:#eef4ff
}

 .feed-team-filter:not(.compact-team-filter) {
    display:none!important
}

 @media(max-width:760px) {
    .feed-controls-row {
        align-items:stretch
    }

    .feed-controls-row .composer-toggle-btn,.compact-team-filter {
        width:100%;
        max-width:none
    }

    .compact-team-filter select {
        width:100%
    }

}

/* 3OT Player Comparison */
/* --------------------------------------------------------------------------
   Player Comparison
-------------------------------------------------------------------------- */
.compare-page {
         margin-bottom: 24px;
         padding: 24px;

}

 .compare-hero {
         display: flex;
         align-items: flex-start;
         justify-content: space-between;
         gap: 18px;
         margin-bottom: 22px;

}

 .compare-hero h1 {
         margin: 0 0 8px;
         font-size: 30px;
         line-height: 1.05;
         letter-spacing: -0.03em;

}

 .compare-provider-note {
         min-width: 190px;
         padding: 12px 14px;
         border: 1px solid rgba(255,255,255,0.08);
         border-radius: 16px;
         background: rgba(255,255,255,0.04);
         color: var(--muted, #9ca3af);
         font-size: 13px;

}

 .compare-provider-note strong {
         color: #fff;

}

 .compare-provider-note code {
         color: #ffb155;

}

 .compare-picker-row {
         display: grid;
         grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
         align-items: end;
         gap: 16px;
         margin-bottom: 14px;

}

 .compare-input-wrap {
         position: relative;

}

 .compare-input-wrap label {
         display: block;
         margin-bottom: 7px;
         color: #fff;
         font-size: 13px;
         font-weight: 800;
         letter-spacing: 0.02em;
         text-transform: uppercase;

}

 .compare-input-wrap input {
         width: 100%;
         box-sizing: border-box;
         padding: 14px 15px;
         border: 1px solid rgba(255,255,255,0.10);
         border-radius: 14px;
         outline: none;
         background: #101827;
         color: #fff;
         font-size: 16px;

}

 .compare-input-wrap input:focus {
         border-color: #ff9f1a;
         box-shadow: 0 0 0 3px rgba(255,159,26,0.12);

}

 .compare-vs {
         margin-bottom: 14px;
         color: #ff9f1a;
         font-weight: 1000;
         letter-spacing: 0.08em;

}

 .compare-actions {
         display: flex;
         gap: 10px;
         margin-bottom: 18px;

}

 .compare-actions button {
         padding: 12px 16px;
         border: 0;
         border-radius: 14px;
         background: #ff9f1a;
         color: #111;
         cursor: pointer;
         font-weight: 900;

}

 .compare-actions .secondary-btn {
         border: 1px solid rgba(255,255,255,0.12);
         background: transparent;
         color: #fff;

}

 .compare-dropdown {
         position: absolute;
         top: calc(100% + 6px);
         right: 0;
         left: 0;
         z-index: 9999;
         display: none;
         padding: 6px;
         border: 1px solid rgba(255,255,255,0.12);
         border-radius: 14px;
         background: #0b1220;
         box-shadow: 0 18px 45px rgba(0,0,0,0.45);

}

 .compare-dropdown div {
         padding: 10px 12px;
         border-radius: 10px;
         color: #fff;
         cursor: pointer;

}

 .compare-dropdown div:hover {
         background: rgba(255,159,26,0.14);

}

 .compare-output {
         min-height: 180px;
         padding: 16px;
         border: 1px solid rgba(255,255,255,0.08);
         border-radius: 18px;
         background: rgba(0,0,0,0.18);

}

 .compare-placeholder {
         display: flex;
         align-items: center;
         justify-content: center;
         min-height: 160px;
         color: var(--muted, #9ca3af);
         font-weight: 800;

}

 .compare-result-head {
         display: grid;
         grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
         align-items: stretch;
         gap: 16px;
         margin-bottom: 18px;

}

 .compare-player-head {
         display: flex;
         flex-direction: column;
         justify-content: center;
         min-height: 118px;
         padding: 18px;
         border: 1px solid rgba(255,255,255,0.08);
         border-radius: 18px;
         background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.025));

}

 .compare-player-right {
         text-align: right;

}

 .compare-player-kicker {
         margin-bottom: 8px;
         color: #ffb155;
         font-size: 11px;
         font-weight: 900;
         letter-spacing: 0.10em;
         text-transform: uppercase;

}

 .compare-player-head h2 {
         margin: 0 0 6px;
         color: #fff;
         font-size: 28px;
         line-height: 1.05;
         letter-spacing: -0.03em;

}

 .compare-player-head p {
         margin: 0;
         color: var(--muted, #9ca3af);
         font-size: 14px;
         font-weight: 700;

}

 .compare-total {
         display: grid;
         grid-template-columns: 88px 96px 88px;
         align-items: center;
         align-self: stretch;
         padding: 14px;
         border: 1px solid rgba(255,255,255,0.08);
         border-radius: 18px;
         background: #0c1322;
         text-align: center;

}

 .compare-total strong {
         color: #fff;
         font-size: 30px;
         font-weight: 1000;

}

 .compare-total strong.winner, .compare-val.winner {
         color: #ffb155;

}

 .compare-total span {
         color: var(--muted, #9ca3af);
         font-size: 11px;
         font-weight: 900;
         letter-spacing: 0.08em;
         text-transform: uppercase;

}

 .compare-stats-table {
         display: grid;
         gap: 7px;

}

 .compare-stat-row {
         display: grid;
         grid-template-columns: 1fr 1.3fr 1fr;
         align-items: center;
         padding: 10px 12px;
         border: 1px solid rgba(255,255,255,0.06);
         border-radius: 12px;
         background: rgba(255,255,255,0.035);

}

 .compare-label {
         color: #d8dee9;
         font-size: 13px;
         font-weight: 800;
         text-align: center;

}

 .compare-val {
         color: #fff;
         font-weight: 900;

}

 .compare-val.right {
         text-align: right;

}

 .compare-footnote {
         margin: 14px 0 0;
         color: var(--muted, #9ca3af);
         font-size: 12px;
         text-align: center;

}

 @media (max-width: 760px) {
         .compare-hero,     .compare-picker-row,     .compare-result-head {
                 display: block;

    }

         .compare-hero {
                 margin-bottom: 18px;

    }

         .compare-provider-note,     .compare-input-wrap,     .compare-player-head {
                 margin-bottom: 12px;

    }

         .compare-vs {
                 margin: 12px 0;
                 text-align: center;

    }

         .compare-actions {
                 flex-wrap: wrap;

    }

         .compare-actions button {
                 flex: 1 1 auto;

    }

         .compare-total {
                 max-width: 280px;
                 margin: 14px auto;

    }

         .compare-player-right {
                 text-align: left;

    }

         .compare-player-head h2 {
                 font-size: 24px;

    }

         .compare-stat-row {
                 grid-template-columns: 0.8fr 1.4fr 0.8fr;

    }

}


/* Player awards admin */
.admin-awards-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.admin-award-form{display:grid;gap:14px}
.admin-award-form label{font-weight:900;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.admin-award-form select,.admin-award-form input{width:100%;height:54px;border-radius:16px;border:1px solid var(--line);background:#0b111c;color:var(--text);padding:0 16px;font-size:16px;font-weight:800}
.award-pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.award-pill{border:1px solid rgba(255,143,31,.35);background:rgba(255,143,31,.08);border-radius:999px;padding:8px 12px;font-weight:900;color:#fff}
.awards-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.awards-table th,.awards-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
.awards-table th{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.admin-award-delete{border:0;background:transparent;color:#ff6b6b;font-weight:900;cursor:pointer}
@media(max-width:900px){.admin-awards-grid{grid-template-columns:1fr}}

/* 3OT Play embedded games */
.threeot-game-shell{
    width:100%;
    max-width:1600px;
    margin:0 auto;
    padding:18px;
}
.threeot-game-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--card);
}
.threeot-game-topbar h1{
    margin:0 0 4px;
    font-size:28px;
    line-height:1.1;
}
.threeot-game-topbar p{margin:0;}
.threeot-game-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.threeot-game-frame-wrap{
    width:100%;
    min-height:520px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#000;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.threeot-game-frame-wrap iframe{
    width:100% !important;
    height:min(74vh, 760px) !important;
    min-height:520px;
    border:0 !important;
    display:block;
    background:#000;
}
.game-embed-form textarea{
    width:100%;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.form-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.inline-form{display:inline-block;margin:2px;}
.btn.danger{background:#7f1d1d;border-color:#ef4444;color:#fff;}
.notice.success{padding:10px 12px;border:1px solid #22c55e;border-radius:12px;background:rgba(34,197,94,.12);color:#bbf7d0;margin-top:10px;}
@media(max-width:800px){
    .threeot-game-shell{padding:10px;}
    .threeot-game-topbar{align-items:flex-start;flex-direction:column;}
    .threeot-game-frame-wrap iframe{height:70vh !important;min-height:420px;}
    .form-grid-2{grid-template-columns:1fr;}
}


/* 3OT Play page cleanup v55 */
.play-page-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
    padding:22px 24px;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg,#151c27,#0f151e);
}
.play-page-head .eyebrow{
    margin:0 0 6px;
    color:var(--orange);
    font-size:12px;
    font-weight:1000;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.play-page-head h1{
    margin:0;
    font-size:34px;
    line-height:1.05;
}
.play-page-head p{margin:8px 0 0;}
.play-games-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:18px;
}
.play-game-tile{
    display:flex;
    flex-direction:column;
    min-height:290px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg,#151c27,#0f151e);
    color:var(--text);
    text-decoration:none;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.play-game-tile:hover{
    transform:translateY(-3px);
    border-color:rgba(255,143,31,.65);
    box-shadow:0 18px 46px rgba(255,143,31,.12);
}
.play-game-thumb{
    position:relative;
    height:155px;
    background:radial-gradient(circle at 20% 20%,rgba(255,143,31,.34),transparent 34%),linear-gradient(135deg,#111827,#050816);
    display:flex;
    align-items:center;
    justify-content:center;
}
.play-game-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.play-game-thumb.no-thumb span{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    border-radius:24px;
    font-size:42px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
}
.play-game-info{
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:9px;
    flex:1;
}
.play-game-provider{
    width:max-content;
    max-width:100%;
    border:1px solid rgba(255,143,31,.34);
    border-radius:999px;
    padding:5px 9px;
    color:#ffb44a;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.play-game-info h2{
    margin:0;
    font-size:24px;
    line-height:1.1;
}
.play-game-info p{
    margin:0;
    color:var(--muted);
    font-weight:700;
    line-height:1.35;
}
.play-game-info strong{
    margin-top:auto;
    color:#fff;
    font-size:14px;
}
.play-empty-state{
    padding:34px;
    text-align:center;
}
.play-empty-state h2{margin:0 0 8px;}

/* Full-width embedded game player v55 */
body.watch-mode.game-play-mode{
    overflow:hidden;
}
body.watch-mode.game-play-mode #watch-main{
    padding:10px 12px;
}
body.watch-mode.game-play-mode .watch-maincontent{
    width:100%;
    height:100%;
}
body.watch-mode.game-play-mode .threeot-game-shell{
    width:100%;
    max-width:none;
    height:100%;
    margin:0;
    padding:0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
}
body.watch-mode.game-play-mode .threeot-game-topbar{
    margin:0;
    padding:12px 16px;
}
body.watch-mode.game-play-mode .threeot-game-topbar h1{
    font-size:24px;
}
body.watch-mode.game-play-mode .threeot-game-frame-wrap{
    height:100%;
    min-height:0;
    border-radius:18px;
}
body.watch-mode.game-play-mode .threeot-game-frame-wrap iframe{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
}
@media(max-width:800px){
    .play-page-head{align-items:flex-start;flex-direction:column;}
    .play-games-grid{grid-template-columns:1fr;}
    body.watch-mode.game-play-mode #watch-main{padding:8px;}
    body.watch-mode.game-play-mode .threeot-game-topbar{align-items:flex-start;flex-direction:column;}
}


/* v57 polls + menu icon polish */
.poll-composer{
    margin:12px 0 0;
}
.poll-toggle-btn,.poll-add-option{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid #334158;
    background:#0d1522;
    color:#dbe6f7;
    font-weight:900;
    padding:10px 16px;
    cursor:pointer;
}
.poll-toggle-btn:hover,.poll-add-option:hover{
    border-color:#ff8a18;
    color:#fff;
}
.poll-builder{
    margin-top:12px;
    border:1px solid #2b3850;
    border-radius:18px;
    background:#0b111c;
    padding:14px;
    display:grid;
    gap:10px;
}
.poll-builder[hidden]{display:none!important;}
.poll-builder-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.poll-builder-head strong{
    color:#fff;
    font-size:15px;
    letter-spacing:.03em;
}
.poll-builder input,.poll-builder select{
    width:100%;
    border:1px solid #29374d;
    background:#070d17;
    color:#edf4ff;
    border-radius:13px;
    padding:12px 14px;
    font-weight:800;
}
.poll-extra-options{
    display:grid;
    gap:10px;
}
.post-poll{
    margin:18px 0 2px;
    border:1px solid #2d3a51;
    border-radius:20px;
    background:linear-gradient(180deg,#101927,#0b111c);
    padding:16px;
}
.poll-question{
    font-size:20px;
    font-weight:1000;
    color:#fff;
    margin:0 0 12px;
}
.poll-options{
    display:grid;
    gap:10px;
}
.poll-vote-form{margin:0;}
.poll-vote-form button,.poll-login-option{
    width:100%;
    text-align:left;
    border:1px solid #334158;
    background:#111b2b;
    color:#f2f6ff;
    border-radius:15px;
    padding:13px 15px;
    font-weight:900;
    cursor:pointer;
    display:block;
    text-decoration:none;
}
.poll-vote-form button:hover,.poll-login-option:hover{
    border-color:#ff8a18;
    background:#172336;
}
.poll-result-option{
    position:relative;
    border:1px solid #334158;
    background:#0d1522;
    border-radius:15px;
    padding:12px;
    overflow:hidden;
}
.poll-result-option.is-my-vote{
    border-color:#ff8a18;
    box-shadow:0 0 0 1px rgba(255,138,24,.2) inset;
}
.poll-result-top{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    font-weight:1000;
    position:relative;
    z-index:2;
}
.poll-result-top strong{color:#ffad2f;}
.poll-bar{
    margin-top:9px;
    height:8px;
    border-radius:999px;
    background:#060b13;
    overflow:hidden;
}
.poll-bar i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#ff7a1a,#ffbd2e);
    border-radius:999px;
}
.poll-result-meta{
    margin-top:7px;
    color:#9ba8bd;
    font-size:12px;
    font-weight:800;
}
.poll-footer{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    align-items:center;
    color:#aeb8c9;
    font-weight:900;
    font-size:13px;
    margin-top:12px;
}
.poll-footer a{color:#ff9a1a;text-decoration:none;}
#leftnavcard .navitem img[src$="pickem_menu.svg"],
#leftnavcard .navitem img[src$="playercomparison_menu.svg"],
#leftnavcard .navitem img[src$="livegames_menu.svg"]{
    width:28px;
    height:28px;
    object-fit:contain;
}
@media(max-width:760px){
    .poll-builder-head{align-items:stretch;flex-direction:column;}
}


/* v58 poll/action row + post reaction cleanup */
.composer-left-actions .poll-composer{
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    position:relative!important;
}
.composer-left-actions .poll-toggle-btn{
    min-height:42px!important;
    padding:10px 16px!important;
    white-space:nowrap!important;
}
.composer-left-actions .poll-builder{
    position:absolute!important;
    left:0!important;
    bottom:calc(100% + 12px)!important;
    width:min(440px, calc(100vw - 40px))!important;
    z-index:999999!important;
    box-shadow:0 22px 60px rgba(0,0,0,.55)!important;
}
.poll-vote-form button,.poll-login-option{
    background:#182232!important;
    border:1px solid #334158!important;
    color:#edf4ff!important;
    box-shadow:none!important;
}
.poll-vote-form button:hover,.poll-login-option:hover{
    background:#202b3d!important;
    border-color:#536176!important;
}
.poll-result-option{
    background:#101927!important;
    border-color:#334158!important;
}
.poll-result-option.is-my-vote{
    border-color:#7e8da6!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important;
}
.poll-bar i{
    background:linear-gradient(90deg,#7d8da5,#c4cad5)!important;
}
.poll-result-top strong,.poll-footer a{
    color:#dbe6f7!important;
}
.react-dropdown{
    background:#090d14!important;
    border:1px solid rgba(255,159,26,.55)!important;
    border-radius:999px!important;
    padding:6px!important;
    gap:4px!important;
    z-index:999999!important;
    box-shadow:0 14px 38px rgba(0,0,0,.55)!important;
}
.react-dropdown button{
    width:36px!important;
    height:36px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.react-dropdown button:hover{
    background:rgba(255,159,26,.12)!important;
    transform:translateY(-2px) scale(1.16)!important;
}
.react-dropdown img{display:none!important;}
.react-emoji-only,.react-emoji-fallback{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:23px!important;
    line-height:1!important;
}
.react-chip{
    background:transparent!important;
    border:1px solid var(--orange2)!important;
    border-radius:999px!important;
    padding:6px 10px!important;
    gap:7px!important;
    display:inline-flex!important;
    align-items:center!important;
}
.react-chip .react-emoji-only{font-size:21px!important;}
.react-chip b{font-size:15px!important;color:#fff!important;}
.react-selector,.react-selector:hover{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
@media(max-width:700px){
    .composer-bottom{align-items:flex-start!important;flex-direction:column!important;}
    .composer-bottom .composer-actions{width:100%!important;justify-content:flex-end!important;}
    .composer-left-actions{flex-wrap:wrap!important;}
}


/* v59 poll question cleanup */
.poll-builder .poll-question-input{
  grid-column:1 / -1;
  width:100%;
  font-size:16px;
  font-weight:800;
}
.poll-builder-head strong::after{
  content:' question + options';
  color:#9aa9bd;
  font-weight:800;
}
.post-poll .poll-question{
  margin-bottom:18px;
}

/* v60 poll popup action cleanup */
.poll-builder-actions{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:2px!important;
}
.poll-builder-action-spacer{
    flex:1 1 auto!important;
}
.poll-builder-actions button{
    min-height:40px!important;
    border-radius:999px!important;
    font-weight:900!important;
    cursor:pointer!important;
    white-space:nowrap!important;
}
.poll-add-option{
    background:#162131!important;
    border:1px solid #3a465c!important;
    color:#dce7f6!important;
    padding:9px 14px!important;
    box-shadow:none!important;
}
.poll-add-option span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:22px!important;
    height:22px!important;
    margin-right:6px!important;
    border-radius:50%!important;
    background:#263348!important;
    color:#fff!important;
    font-size:17px!important;
    line-height:1!important;
}
.poll-add-option:hover{
    background:#1d2a3e!important;
    border-color:#536176!important;
}
.poll-remove-btn{
    background:transparent!important;
    border:1px solid #3a465c!important;
    color:#aebbd0!important;
    padding:9px 14px!important;
}
.poll-remove-btn:hover{
    border-color:#68768c!important;
    color:#fff!important;
}
.poll-insert-btn{
    background:linear-gradient(135deg,#ff7a18,#ffb21c)!important;
    border:0!important;
    color:#0a0d14!important;
    padding:9px 18px!important;
    box-shadow:0 12px 24px rgba(255,138,24,.18)!important;
}
.poll-insert-btn:hover{
    transform:translateY(-1px)!important;
    filter:brightness(1.06)!important;
}
.poll-composer.poll-enabled .poll-toggle-btn{
    background:#172235!important;
    border-color:#47556e!important;
    color:#eef5ff!important;
}
@media(max-width:700px){
    .poll-builder-actions{flex-wrap:wrap!important;}
    .poll-builder-action-spacer{display:none!important;}
    .poll-builder-actions button{flex:1 1 auto!important;}
}

/* 3OT Faves */
.faves-hero .faves-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.faves-actions .btn.active{box-shadow:0 0 0 2px rgba(255,159,26,.35) inset}
.faves-global-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.fave-list-card h2,.fave-edit-card h2{margin:0 0 16px;font-size:24px}
.fave-ranked-list{margin:0;padding-left:0;list-style:none;display:grid;gap:10px;counter-reset:fave-rank}
.fave-ranked-list li{counter-increment:fave-rank;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:12px 14px;color:var(--text, #e5edf8);font-weight:800}
.fave-ranked-list li:before{content:counter(fave-rank);display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:999px;background:rgba(255,159,26,.14);border:1px solid rgba(255,159,26,.5);color:#ffb347;font-weight:900}
.fave-ranked-list li span{flex:1}
.fave-ranked-list li em{font-style:normal;color:var(--muted,#9aa8bd);font-size:14px;font-weight:800}
.faves-edit-wrap{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}
.fave-edit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.fave-edit-head span{color:var(--muted,#9aa8bd);font-weight:800}
.fave-input-list{display:grid;gap:8px}
.fave-input-row{display:grid;grid-template-columns:42px minmax(0,1fr) 42px 42px;gap:8px;align-items:center}
.fave-rank{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.25);font-weight:900;color:#ffb347}
.fave-input-row input{width:100%;height:42px;border-radius:14px;border:1px solid rgba(148,163,184,.25);background:#0d1420;color:#e5edf8;padding:0 14px;font-weight:800}
.fave-move{height:38px;width:38px;min-width:38px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.035);color:#aeb9c9;font-size:0;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.fave-move:hover{border-color:rgba(255,159,26,.55);color:#ff9f1a;background:rgba(255,159,26,.06)}
.fave-save{margin-top:14px}
.profile-faves-btn{margin-right:10px}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.admin-form{display:grid;gap:12px}
.admin-form label{display:grid;gap:6px;font-weight:800;color:#cbd5e1}
.admin-form input,.admin-form select{height:44px;border-radius:14px;border:1px solid rgba(148,163,184,.25);background:#0d1420;color:#e5edf8;padding:0 12px;font-weight:800}
.inline-check{grid-template-columns:auto 1fr!important;align-items:center}
.inline-check input{height:auto}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left}
.smallbtn{border:1px solid rgba(148,163,184,.25);background:#141c29;color:#e5edf8;border-radius:12px;padding:8px 12px;font-weight:800;cursor:pointer}
.success-card{border-color:rgba(34,197,94,.35)!important}.error-card{border-color:rgba(239,68,68,.45)!important;color:#fecaca}
@media(max-width:900px){.faves-global-grid,.admin-grid{grid-template-columns:1fr}.fave-input-row{grid-template-columns:36px minmax(0,1fr) 38px 38px}}

/* 3OT Faves v64: custom autocomplete */
.fave-autocomplete-wrap{position:relative;min-width:0}
.fave-autocomplete-wrap input{width:100%}
.fave-suggestions{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:99999;background:#101722;border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:8px;box-shadow:0 22px 60px rgba(0,0,0,.55);max-height:280px;overflow:auto}
.fave-suggestions.is-open{display:grid;gap:4px}
.fave-suggestion-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#dbe5f2;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer}
.fave-suggestion-item:hover,.fave-suggestion-item.is-active{background:rgba(255,255,255,.055);border-color:rgba(148,163,184,.2);color:#fff}
.fave-input-row{align-items:start}


/* v65: cleaner Faves + activity UI */
.fave-move[data-move=up]::before{content:'▲';font-size:13px;line-height:1;}
.fave-move[data-move=down]::before{content:'▼';font-size:13px;line-height:1;}
.fave-input-row{align-items:center;}
.fave-suggestions::-webkit-scrollbar{width:8px;}
.fave-suggestions::-webkit-scrollbar-thumb{background:rgba(148,163,184,.3);border-radius:999px;}
.rightrow.activity-row{grid-template-columns:auto 1fr!important;gap:14px;}
.rightrow.activity-row em{display:none!important;}
.createpostbutton{display:none!important;}


/* v66: Faves add-one-by-one + calmer profile/activity styling */
.fave-input-row{grid-template-columns:42px minmax(0,1fr) 38px 38px 38px!important;align-items:center!important;}
.fave-remove{height:38px;width:38px;min-width:38px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.035);color:#aeb9c9;font-size:22px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.fave-remove:hover{border-color:rgba(255,99,99,.45);color:#ff8b8b;background:rgba(255,99,99,.06);}
.fave-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;}
.fave-add.btn.subtle{background:rgba(255,255,255,.04)!important;border:1px solid rgba(148,163,184,.26)!important;color:#dbe5f2!important;box-shadow:none!important;}
.fave-add.btn.subtle:hover{border-color:rgba(255,159,26,.45)!important;color:#fff!important;background:rgba(255,159,26,.07)!important;}
.fave-add.btn.subtle:disabled{opacity:.45;cursor:not-allowed;}
.fave-save{margin-top:0!important;}
.fave-move,.fave-remove{background:rgba(255,255,255,.035)!important;}
.fave-move::before{color:#aeb9c9;}
.fave-move:hover::before{color:#ff9f1a;}
.activity-row .tinyavatar,.activity-avatar{background:transparent!important;box-shadow:none!important;}
.activity-row .tinyavatar img,.activity-avatar img{background:transparent!important;border-radius:50%!important;}
@media(max-width:900px){.fave-input-row{grid-template-columns:36px minmax(0,1fr) 34px 34px 34px!important}.fave-editor-actions{flex-direction:column;align-items:stretch}.fave-add,.fave-save{width:100%;}}

/* v67: profile actions/tabs + cleaner search/activity avatars */
.profile-hero-actions .muted.small{display:none!important;}
.profile-hero-actions{gap:12px!important;}
.profile-content-tabs{
    display:flex;
    align-items:center;
    gap:10px;
    margin:18px 0 14px;
}
.profile-tab{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 20px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.22);
    background:rgba(255,255,255,.035);
    color:#cbd6e7;
    font-size:16px;
    font-weight:900;
    text-decoration:none;
}
.profile-tab:hover{border-color:rgba(255,159,26,.45);color:#fff;background:rgba(255,159,26,.07);}
.profile-tab.active{background:rgba(255,159,26,.12);border-color:rgba(255,159,26,.55);color:#fff;}
.leftsearch{
    height:58px!important;
    background:#111824!important;
    border:1px solid rgba(148,163,184,.18)!important;
    border-radius:22px!important;
    padding:0 10px 0 18px!important;
    box-shadow:none!important;
}
.leftsearch:focus-within{border-color:rgba(255,159,26,.55)!important;box-shadow:0 0 0 3px rgba(255,159,26,.08)!important;}
.leftsearch input{height:100%!important;width:100%!important;background:transparent!important;border:0!important;padding:0!important;font-size:15px!important;color:#eef3ff!important;}
.leftsearch button{
    width:40px!important;
    height:40px!important;
    border-radius:14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    color:#ff8a1f!important;
    font-size:25px!important;
    line-height:1!important;
    padding:0!important;
    box-shadow:none!important;
}
.leftsearch button:hover{background:rgba(255,159,26,.08)!important;}
.rightrow.activity-row .tinyavatar,
.rightrow.activity-row .activity-avatar,
.rightcard .tinyavatar,
.rightcard .activity-avatar{
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    outline:0!important;
    padding:0!important;
}
.rightrow.activity-row .tinyavatar img,
.rightrow.activity-row .activity-avatar img,
.rightcard .tinyavatar img,
.rightcard .activity-avatar img{
    display:block!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    border:1px solid rgba(255,255,255,.08)!important;
    object-fit:cover!important;
}

/* 3OT Credits + secure tipping */
.credits-hero b{color:#fff;font-size:1.2em}
.credit-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:18px 0}
.credit-pack-card{display:flex;flex-direction:column;gap:10px}
.credit-pack-card strong{font-size:28px;color:#fff}
.credit-pack-card span{color:var(--muted,#9aa6bb);font-weight:800}
.credit-pack-card button,.tip-form button{background:linear-gradient(135deg,#ff7a1a,#ffb11a);color:#05070c;border:0;border-radius:999px;font-weight:900;cursor:pointer}
.credit-ledger-card{margin-top:18px}.credit-ledger-table td,.credit-ledger-table th{font-size:14px}.credit-plus{color:#35d07f;font-weight:900}.credit-minus{color:#ff6b6b;font-weight:900}
.success-card.compact,.error-card.compact{padding:12px 16px;margin:10px 0}.success-card{border:1px solid rgba(53,208,127,.45)!important}.error-card{border:1px solid rgba(255,88,88,.45)!important}
.tip-form{display:flex;align-items:center;gap:8px;margin-left:auto}
.tip-form select{height:38px;min-width:130px;background:#0c1320;color:#e9eef8;border:1px solid #26364e;border-radius:999px;padding:0 12px;font-weight:800}
.tip-form button{height:38px;padding:0 16px;font-size:13px}.profile-actions .tip-form{margin-left:0}.post-actions .tip-form{margin-left:10px}.post-actions .tip-form select{height:34px;min-width:116px;font-size:12px}.post-actions .tip-form button{height:34px;padding:0 13px;font-size:12px}
@media(max-width:760px){.post-actions .tip-form{order:20;width:100%;margin-left:0;margin-top:8px}.tip-form select{flex:1}.credit-pack-grid{grid-template-columns:1fr}}

/* v75 player comparison source clarity */
.compare-source-strip{
  margin:14px 0 10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:var(--muted,#9aa3b2);
  font-size:13px;
}
.compare-section-title{
  margin:18px 0 8px;
  font-size:14px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--muted,#9aa3b2);
}
