/* =======================
   Base / Reset
   ======================= */
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background:url('/botroyale/images/bg1.png') center/cover fixed no-repeat;
  min-height:100vh;color:#333
}
.container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}

/* =======================
   Branding / Header (Landing)
   ======================= */
.header{display:none}
.brand{text-align:center;margin-bottom:10px}
.logo{max-width:260px;height:auto;margin-bottom:12px}

/* =======================
   Main Card
   ======================= */
.main-content{
  background:rgba(255,255,255,.95);border-radius:18px;padding:28px;
  box-shadow:0 12px 40px rgba(0,0,0,.12);backdrop-filter:blur(10px);
  max-width:860px;margin:40px auto
}
.welcome-section{text-align:center;margin-bottom:40px}
.welcome-section h2{color:#689281;font-size:1.8rem;margin-bottom:15px}
.welcome-section p{color:#666;font-size:1.1rem;line-height:1.6}

/* =======================
   Action Buttons
   ======================= */
.action-buttons{display:flex;gap:20px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}
.btn{padding:15px 30px;border:0;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;gap:10px;min-width:200px;justify-content:center;text-decoration:none}
.btn-small{padding:8px 16px;font-size:.9rem;min-width:auto}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-icon{font-size:1.2rem}
.btn-primary{background:linear-gradient(135deg,#92C2D5,#689281);color:#fff}
.btn-secondary{background:linear-gradient(135deg,#F19C46,#e88a2e);color:#fff}
.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff}
.btn-success{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff}
.btn-info{background:linear-gradient(135deg,#5aa8c9,#44726E);color:#fff}
.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.btn-success:hover{
  transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)
}

/* =======================
   Forms
   ======================= */
.form-section{
  background:rgba(255,255,255,.8);padding:30px;border-radius:15px;margin-bottom:20px;border:2px solid #689281
}
.form-section h3{color:#689281;font-size:1.5rem;margin-bottom:25px;text-align:center}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}
.form-group input,.form-group textarea{
  width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease
}
.form-group input:focus,.form-group textarea:focus{
  outline:none;border-color:#689281;box-shadow:0 0 0 3px rgba(104,146,129,.1)
}
.form-group textarea{resize:vertical;min-height:100px}
.form-actions{display:flex;gap:15px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.room-info{
  background:rgba(104,146,129,.1);padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #689281
}
.room-info h4{color:#689281;margin-bottom:8px}
.room-info p{color:#666;line-height:1.5}

/* =======================
   Chat Room (Base)
   ======================= */
.chat-room{background:transparent;border-radius:12px;overflow:hidden;box-shadow:none;min-height:0;display:flex;flex-direction:column}

/* Standard-Header (Landing / nicht in Session): Verlauf */
.chat-header{
  background:linear-gradient(135deg,#689281,#92C2D5);color:#fff;padding:15px 20px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;flex-shrink:0
}
.chat-title-section h3{font-size:1.3rem;margin:0 0 5px 0}
.chat-topic{font-size:.9rem;margin:0;opacity:.9;font-style:italic}

.chat-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chat-container{display:flex;flex:1;min-height:0}

.chat-sidebar{
  width:200px;background:rgba(104,146,129,.05);padding:15px;border-right:2px solid #689281;flex-shrink:0
}
.chat-sidebar h4{color:#689281;margin-bottom:10px;font-size:1rem}
.user-list{display:flex;flex-direction:column;gap:6px}
.user-item{background:rgba(255,255,255,.8);padding:8px;border-radius:6px;border-left:3px solid #92C2D5;font-size:.85rem}

/* Mood Panel */
.mood-panel{margin-top:16px;background:#fff;border:2px solid #689281;border-radius:10px;padding:10px}
.mood-title{font-weight:700;color:#689281;margin-bottom:8px}
.mood-options{display:flex;flex-direction:column;gap:8px}
.mood-option{width:100%;text-align:left;border:2px solid #ddd;border-radius:8px;background:#fafafa;padding:8px;font-size:.9rem;cursor:pointer;transition:.2s}
.mood-option:hover{border-color:#92C2D5}
.mood-option.active{background:#F19C46;color:#fff;border-color:#F19C46}
.mood-panel.disabled .mood-option{opacity:.6;cursor:not-allowed}

.chat-main{flex:1;display:flex;flex-direction:column;min-height:0}
.chat-messages{flex:1;padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:0}

.message{
  background:rgba(255,255,255,.9);padding:15px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);border-left:4px solid #92C2D5
}
.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.message-author{font-weight:600;color:#689281}
.message-time{font-size:.8rem;color:#999}
.message-content{color:#333;line-height:1.5}
.message.moderator{border-left-color:#F19C46}
.message.moderator .message-author{color:#F19C46}
.message.typing{opacity:.7;border-left-color:#92C2D5}
.typing-indicator{display:flex;align-items:center;gap:8px;color:#666;font-style:italic}
.typing-dots{display:flex;gap:3px}
.typing-dot{width:6px;height:6px;background:#92C2D5;border-radius:50%;animation:typing 1.4s infinite ease-in-out}
.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}
@keyframes typing{0%,80%,100%{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}

.chat-input{padding:10px 15px;background:rgba(104,146,129,.05);display:flex;gap:8px;align-items:center;flex-shrink:0}
.chat-input input{flex:1;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem}
.chat-input input:focus{outline:none;border-color:#689281}

/* =======================
   Overlays / Utils
   ======================= */
.loading-overlay,.message-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000
}
.loading-spinner{
  width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #689281;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px
}
@keyframes spin{to{transform:rotate(360deg)}}
.message-box{background:#fff;padding:30px;border-radius:15px;text-align:center;max-width:400px;margin:20px}
.message-box p{margin-bottom:20px;font-size:1.1rem;color:#333}
.message-box .form-actions{display:flex;justify-content:center}
.message-box .btn{margin-left:auto;margin-right:auto}
.hidden{display:none !important}

/* =======================
   Responsive (general)
   ======================= */
@media (max-width:768px){
  .container{padding:10px}
  .main-content{padding:20px}
  .action-buttons{flex-direction:column;align-items:center}
  .btn{min-width:100%;max-width:300px}
  .form-actions{flex-direction:column}
  .chat-container{flex-direction:column}
  .chat-sidebar{width:100%;border-right:none;border-bottom:2px solid #689281}
  .chat-header{flex-direction:column;text-align:center}
  .chat-controls{justify-content:center}
  .chat-input{flex-direction:column;gap:15px}
  .chat-input input{width:100%}
}
@media (max-width:480px){
  .welcome-section h2{font-size:1.5rem}
  .btn{padding:12px 20px;font-size:1rem}
}

/* =================================================================
   SESSION-MODUS: kompakter Kopf + eigener Scrollbereich
   ================================================================= */
body.in-session .brand,
body.in-session .welcome-section,
body.in-session .action-buttons{display:none !important}

body.in-session .main-content{margin:12px auto;padding-top:8px}

/* Header in Session: transparent; Linie wird an der Titelzeile gezeichnet */
body.in-session #chatRoomSection .chat-header{
  background:transparent !important;color:#333;padding:8px 12px !important;
  display:flex;flex-direction:column;gap:8px
}

/* Titelzeile: Titel links, Logo rechts, beide untenbündig; Linie darunter */
#chatRoomSection .chat-title-row{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:6px 0 8px 0;border-bottom:1px solid #d9dee5;margin:0 0 8px 0;
  position:relative;min-height:170px;padding-right:220px;width:100%
}
#chatRoomSection .chat-title-row .app-title{
  margin:0;font-size:2rem;font-weight:700;line-height:1.1;text-align:left;color:#44726E;
  align-self:flex-end;margin-bottom:6px
}
#chatRoomSection .chat-title-row .header-logo{
  height:200px;width:auto;display:block;margin-left:auto;align-self:flex-start;
  position:absolute;top:0;right:0
}

/* Themen-Banner (Verlauf) direkt unter der Linie */
#roomBanner.room-banner{
  margin:0 0 12px 0;background:linear-gradient(135deg,#92C2D5,#689281);
  color:#fff;border-radius:8px;padding:12px 14px;box-shadow:0 6px 18px rgba(0,0,0,.10)
}
#roomBanner .rb-title{font-weight:700;margin:0 0 4px;font-size:1rem}
#roomBanner .rb-desc{margin:0;font-style:italic;font-size:.95rem;line-height:1.35;opacity:.95}

/* Buttons unter dem Banner */
body.in-session #chatRoomSection .chat-controls{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 8px}

/* Nachrichten: eigener Scrollbereich */
body.in-session #chatRoomSection .chat-container{margin-top:8px;display:flex;gap:16px}
body.in-session #chatRoomSection .chat-main{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:360px}
body.in-session #chatRoomSection .chat-messages{flex:1;overflow-y:auto;padding-right:6px}

/* Session – Mobile kompakter */
@media (max-width:768px){
  body.in-session .main-content{margin:8px auto;padding-top:0}
  #chatRoomSection .chat-title-row .app-title{font-size:1.3rem}
  #chatRoomSection .chat-title-row .header-logo{height:200px}
  #roomBanner.room-banner{padding:10px 12px}
  body.in-session #chatRoomSection .chat-main{height:calc(100vh - 160px)}
}

/* Zusätzliche Absicherung: Logo im Session-Modus immer absolut oben rechts */
body.in-session .header-logo{position:absolute;top:0;right:12px;height:200px;width:auto}
