/* Radio Viva Nova 2040 - additive CodyChat 11 theme layer */
:root{
  --rvn-left:240px;
  --rvn-radius:16px;
  --rvn-gap:10px;
  --rvn-glass:rgba(12,18,29,.90);
  --rvn-glass-soft:rgba(20,29,44,.78);
  --rvn-line:rgba(255,255,255,.09);
  --rvn-text:#f4f7fb;
  --rvn-muted:#9ba9bd;
  --rvn-accent:#d7aa52;
}
body.rvn2040{background:#080d16;color:var(--rvn-text);}
body.rvn2040 #chat_head{backdrop-filter:blur(16px);border-bottom:1px solid var(--rvn-line);box-shadow:0 8px 30px rgba(0,0,0,.22);}
body.rvn2040 #global_chat{transition:margin-left .2s ease,width .2s ease;}
body.rvn2040.rvn-desktop #global_chat{margin-left:var(--rvn-left);width:calc(100% - var(--rvn-left));}
body.rvn2040 #chat_center{background:linear-gradient(145deg,rgba(8,13,22,.96),rgba(15,23,36,.94));}
body.rvn2040 #show_chat{padding:8px 12px;scrollbar-width:thin;}
body.rvn2040 #top_chat_container{padding:5px 8px;background:rgba(9,14,23,.96);border-top:1px solid var(--rvn-line);box-shadow:0 -10px 30px rgba(0,0,0,.18);}
body.rvn2040 #main_input{border:1px solid var(--rvn-line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.055);}
body.rvn2040 #content{background:transparent!important;color:var(--rvn-text)!important;padding:0 12px!important;}
body.rvn2040 #content::placeholder{color:var(--rvn-muted);}
body.rvn2040 .input_item,body.rvn2040 .send_btn{transition:background .15s ease,transform .15s ease;}
body.rvn2040 .input_item:hover,body.rvn2040 .send_btn:hover{background:rgba(215,170,82,.13)!important;}
body.rvn2040 #submit_button{color:var(--rvn-accent)!important;}
body.rvn2040 #chat_right,body.rvn2040 #chat_left{background:var(--rvn-glass);border-color:var(--rvn-line)!important;}
body.rvn2040 #right_panel_bar,body.rvn2040 #left_panel_bar{background:rgba(255,255,255,.035);border-color:var(--rvn-line)!important;}
body.rvn2040 .user_item{margin:3px 6px;border-radius:12px;transition:background .15s ease,transform .15s ease;}
body.rvn2040 .user_item:hover{background:rgba(255,255,255,.055)!important;transform:translateX(-2px);}

/* Existing CodyChat 11 float menu becomes the RVN desktop sidebar. */
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar{
  display:block!important;position:fixed!important;left:0!important;right:auto!important;
  width:var(--rvn-left)!important;margin:0!important;max-width:none!important;max-height:none!important;
  border-radius:0!important;background:var(--rvn-glass)!important;border-right:1px solid var(--rvn-line)!important;
  box-shadow:12px 0 35px rgba(0,0,0,.25)!important;overflow:hidden!important;z-index:80!important;
  transform:none!important;text-align:initial!important;
}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .float_ctop{height:62px;padding:8px 10px;border-bottom:1px solid var(--rvn-line);cursor:default;}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .roomcv img{width:42px;height:42px;border-radius:12px;object-fit:cover;}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .mroom_text{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--rvn-muted);}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .mroom_name{font-size:14px;font-weight:700;color:var(--rvn-text);}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .float_content{padding:10px 8px!important;overflow-y:auto!important;height:calc(100% - 62px);}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .fmenu_item{min-height:44px;margin:3px 0;border-radius:12px;padding:4px 6px;color:var(--rvn-text);}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .fmenu_item:hover{background:rgba(215,170,82,.10)!important;}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .fmenu_icon{width:38px;color:var(--rvn-accent);font-size:17px;}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .fmenu_text{font-size:13px;font-weight:600;}
body.rvn2040.rvn-desktop #chat_left_menu.rvn-sidebar .fmenu_arrow{opacity:.45;}
body.rvn2040.rvn-desktop #head_burger{display:none!important;}

/* Keep CodyChat's original mobile/float behavior below desktop breakpoint. */
@media(max-width:1199px){
  body.rvn2040 #global_chat{margin-left:0!important;width:100%!important;}
  body.rvn2040 #head_burger{display:table-cell!important;}
  body.rvn2040 #chat_left_menu.rvn-sidebar{position:absolute!important;width:300px!important;margin:5px!important;border-radius:14px!important;z-index:202!important;}
}

/* RVN 2040 v2 - left sidebar X / bottom hamburger controls */
body.rvn2040.rvn-desktop #global_chat{transition:margin-left .2s ease,width .2s ease;}
body.rvn2040.rvn-desktop.rvn-left-closed #global_chat{margin-left:0!important;width:100%!important;}
body.rvn2040.rvn-desktop.rvn-left-closed #chat_left_menu.rvn-sidebar{display:none!important;}
.rvn-left-control{border:0;outline:0;color:var(--rvn-text);background:rgba(255,255,255,.055);cursor:pointer;align-items:center;justify-content:center;font-size:18px;transition:background .15s ease,transform .15s ease;}
.rvn-left-control:hover{background:rgba(215,170,82,.18);}
body.rvn2040.rvn-desktop .rvn-left-close{display:flex;position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:11px;z-index:5;}
body.rvn2040.rvn-desktop .rvn-left-open{display:none;position:fixed;left:10px;bottom:10px;width:46px;height:46px;border-radius:13px;z-index:210;background:var(--rvn-glass);border:1px solid var(--rvn-line);box-shadow:0 8px 25px rgba(0,0,0,.3);}
body.rvn2040.rvn-desktop.rvn-left-closed .rvn-left-open{display:flex;}
body.rvn2040.rvn-desktop:not(.rvn-left-closed) .rvn-left-open{display:none;}
@media(max-width:1199px){.rvn-left-close,.rvn-left-open{display:none!important;}}

/* RVN 2040 v3 - hamburger stays permanently in the bottom-left corner, like right menu control */
body.rvn2040.rvn-desktop .rvn-left-open{
  display:flex!important;
  left:0!important;
  bottom:0!important;
  width:50px!important;
  height:50px!important;
  border-radius:0!important;
  margin:0!important;
  z-index:210!important;
  background:var(--rvn-glass)!important;
  border:0!important;
  border-top:1px solid var(--rvn-line)!important;
  border-right:1px solid var(--rvn-line)!important;
  box-shadow:none!important;
}
body.rvn2040.rvn-desktop.rvn-left-closed .rvn-left-open,
body.rvn2040.rvn-desktop:not(.rvn-left-closed) .rvn-left-open{display:flex!important;}
@media(max-width:1199px){body.rvn2040 .rvn-left-open{display:none!important;}}

/* RVN 2040 v4 - transparent permanent left hamburger */
body.rvn2040.rvn-desktop #rvn_left_open,
body.rvn2040.rvn-desktop #rvn_left_open:hover,
body.rvn2040.rvn-desktop #rvn_left_open:focus,
body.rvn2040.rvn-desktop #rvn_left_open:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
}

/* RVN 2040 v4 - modern center chat, additive only */
body.rvn2040 #show_chat{
  background:
    radial-gradient(circle at 18% 0%,rgba(215,170,82,.055),transparent 28%),
    linear-gradient(180deg,rgba(8,13,22,.96),rgba(10,16,27,.98));
  padding:10px 14px 14px!important;
}
body.rvn2040 #show_chat ul{padding:8px 6px 18px!important;}
body.rvn2040 #show_chat .ch_logs{
  margin:4px 0!important;
  padding:9px 10px!important;
  border:1px solid transparent;
  border-radius:14px;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
body.rvn2040 #show_chat .ch_logs:hover{
  background:rgba(255,255,255,.028)!important;
  border-color:rgba(255,255,255,.055);
}
body.rvn2040 #show_chat .chat_avatar{width:46px!important;padding-top:1px;}
body.rvn2040 #show_chat .cavatar{
  width:42px!important;height:42px!important;
  border-radius:13px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}
body.rvn2040 #show_chat .my_text{padding-left:9px!important;}
body.rvn2040 #show_chat .username{font-weight:700;letter-spacing:.01em;}
body.rvn2040 #show_chat .cdate{color:var(--rvn-muted)!important;opacity:.8;}
body.rvn2040 #show_chat .cclear{opacity:.5;transition:opacity .15s ease,color .15s ease;}
body.rvn2040 #show_chat .ch_logs:hover .cclear{opacity:1;color:var(--rvn-accent);}
body.rvn2040 #show_chat .chat_tmessage{line-height:1.55;padding-top:2px;}
body.rvn2040 #show_chat .bubble{
  border-radius:14px!important;
  box-shadow:0 5px 16px rgba(0,0,0,.13);
  line-height:1.45;
}
body.rvn2040 #show_chat .chat_image{border-radius:14px!important;box-shadow:0 7px 20px rgba(0,0,0,.22);}
body.rvn2040 #show_chat .emo_chat{vertical-align:middle;}

/* RVN 2040 v4 - composer / writing bar */
body.rvn2040 #top_chat_container{
  padding:7px 10px!important;
  background:rgba(8,13,22,.965)!important;
  backdrop-filter:blur(18px);
}
body.rvn2040 #container_input{padding:0!important;}
body.rvn2040 #main_input{
  height:44px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.05)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 5px 18px rgba(0,0,0,.12);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
body.rvn2040 #main_input:focus-within{
  border-color:rgba(215,170,82,.42)!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:0 0 0 3px rgba(215,170,82,.07),0 6px 20px rgba(0,0,0,.15);
}
body.rvn2040 #content{
  font-size:15px!important;
  padding:0 14px!important;
}
body.rvn2040 #main_input .main_item{
  width:44px!important;
  border-radius:11px;
  color:var(--rvn-muted);
}
body.rvn2040 #main_input .main_item:hover{color:var(--rvn-accent);background:rgba(215,170,82,.10)!important;}
body.rvn2040 #submit_button{
  border-radius:11px!important;
  color:var(--rvn-accent)!important;
  background:rgba(215,170,82,.10)!important;
  transition:background .15s ease,transform .15s ease;
}
body.rvn2040 #submit_button:hover{background:rgba(215,170,82,.18)!important;}
body.rvn2040 #submit_button:active{transform:scale(.96);}

@media(max-width:1199px){
  body.rvn2040 #show_chat{padding:6px 6px 10px!important;}
  body.rvn2040 #show_chat .ch_logs{padding:7px 6px!important;}
  body.rvn2040 #top_chat_container{padding:5px 6px!important;}
}
