:root { --dlc-accent:#ffa500; }
.dlc { width:100%; font-family:'moxmox', sans-serif; }
.dlc * { border-radius:0!important; font-family:'moxmox', sans-serif; }

.dlc--dark {
  --dlc-bg:#282828;
  --dlc-elev:#040404;
  --dlc-elev-2:#1b1b1b;
  --dlc-border:#393939;
  --dlc-text:#eaeaea;
  --dlc-subtle:#bbbbbc;
  --dlc-bubble:#2a2a2a;
  --dlc-bubble-me:#202020;
  --dlc-focus:rgba(255,165,0,0.28);
}

.dlc-card { background:var(--dlc-elev); border:1px solid var(--dlc-border); }
.dlc-header { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:var(--dlc-elev-2); border-bottom:1px solid var(--dlc-border); color:var(--dlc-text); }
.dlc-title { font-weight:700; letter-spacing:.2px; }
.dlc-status-wrap { display:flex; align-items:center; gap:10px; }
.dlc-btn--small { padding:6px 10px; font-size:12px; line-height:1.2; }

.dlc-login, .dlc-chat { padding: 12px; color: var(--dlc-text); }
.dlc-input { padding: 11px 12px; border:1px solid var(--dlc-border); background:var(--dlc-bg); color:var(--dlc-text); outline:none; }
.dlc-input:focus { border-color: var(--dlc-accent); box-shadow: 0 0 0 3px var(--dlc-focus); }

.dlc-btn {
  padding: 8px 12px;
  background: var(--dlc-accent);
  border: 1px solid var(--dlc-accent);
  cursor: pointer;
  color: #141414 !important;
  font-weight: 700;
  font-family: 'moxmox', sans-serif;
}

/* Messages */
.dlc-messages { list-style:none; margin:0; padding:0; height:min(56vh,560px); min-height:260px; overflow:auto; display:flex; flex-direction:column; gap:10px; background:var(--dlc-bg); border:1px solid var(--dlc-border); }
.dlc-msg { display:flex; align-items:flex-start; gap:10px; padding:4px 8px; }
.dlc-msg--me { justify-content:flex-end; }
.dlc-msg--me .dlc-avatar { order:2; margin-left:10px; margin-right:0; }
.dlc-msg--me .dlc-bubble { background:var(--dlc-bubble-me); border-color: var(--dlc-accent); box-shadow: inset 3px 0 0 0 var(--dlc-accent); }

.dlc-avatar { width:56px; height:56px; border-radius:50%; overflow:hidden; flex:0 0 56px; border:1px solid var(--dlc-border); background:#222; margin-right:10px; }
.dlc-avatar img { width:100%; height:100%; object-fit:cover; display:block; }

.dlc-bubble { background:var(--dlc-bubble); border:1px solid var(--dlc-border); color:var(--dlc-text); max-width:80%; padding:8px 12px; }
.dlc-meta { font-size:12px; color:var(--dlc-subtle); margin-bottom:4px; display:flex; align-items:center; gap:8px; }
.dlc-emptystate { color:#8d95a7; font-size:14px; text-align:center; padding:16px 6px; }

.dlc-form { display:flex; gap:10px; margin-top:10px; }
.dlc-grow { flex:1; min-width:120px; }


/* --- Custom Overrides --- */
.dlc-label-login, .dlc-label-guest {
    font-size: 22px !important;
    display: block;
    margin-bottom: 14px;
    margin-top: 20px;
}
.dlc-login .dlc-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}
.dlc-login .dlc-input {
    flex: 1;
}
.dlc-login .dlc-btn {
    flex: 0 0 auto;
}
.dlc-guest-logout {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 6px 10px;
    font-size: 13px;
}

/* DLC PATCH: neutralize floating guest logout */
.dlc-guest-logout{ position:static !important; float:none !important; right:auto !important; top:auto !important; }
