*{box-sizing:border-box}
:root{
  --bg:#edf4f2;
  --panel:#fbfdfc;
  --panel2:#f1f7f5;
  --panel3:#e7f1ee;
  --line:rgba(29,74,69,.18);
  --line2:rgba(29,74,69,.10);
  --text:#202b2d;
  --soft:#344245;
  --muted:#667578;
  --muted2:#7d8a8c;
  --accent:#197d72;
  --accentSoft:rgba(25,125,114,.10);
  --live:#c84d5c;
}
html,body,#root{margin:0;min-height:100%;height:100%;background:var(--bg);color:var(--text);font-family:var(--uiFont,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);transition:background .22s ease,color .22s ease}
body{
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 10%,rgba(92,190,175,.22),transparent 30%),
    radial-gradient(circle at 10% 88%,rgba(151,196,188,.20),transparent 34%),
    #edf4f2;
}
button,input,select{font:inherit}
button{color:inherit}
*::selection{background:var(--accentSoft);color:var(--text)}
*{scrollbar-width:thin;scrollbar-color:#aebcba #edf2f1}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:#edf2f1}
*::-webkit-scrollbar-thumb{background:#aebcba;border-radius:10px;border:2px solid #edf2f1}
*::-webkit-scrollbar-thumb:hover{background:#8ea19e}

.entry{
  position:fixed;
  inset:0;
  z-index:20;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(rgba(6,7,8,.90),rgba(6,7,8,.90)),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
  backdrop-filter:blur(10px);
}
.entry-card{
  width:min(740px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:56px 56px 42px;
  background:rgba(10,14,15,.97);
  border:1px solid var(--line);
  box-shadow:0 42px 130px rgba(0,0,0,.48);
}
.kicker,.section-label,.chat-kicker,.tiny-label{
  font-size:10px;
  letter-spacing:.25em;
  color:var(--muted);
  font-weight:650;
}
.entry-brand{margin-top:14px}
.entry-axionis{font-size:clamp(48px,9vw,78px);font-weight:780;letter-spacing:.15em;line-height:.98;transform:translateX(.075em)}
.entry-room{margin-top:10px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.55em;transform:translateX(.27em)}
.entry-mode{margin:34px 0;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.23em}
.field-label{display:block;margin-bottom:9px;font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--accent)}
.entry-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.text-input,.message-input,select{min-width:0;border:1px solid var(--line);background:#070a0b;color:var(--text);outline:none}
.text-input{padding:14px 15px;font-size:14px}
.text-input:focus,.message-input:focus,select:focus{border-color:rgba(103,234,217,.6);box-shadow:0 0 0 2px rgba(103,234,217,.05)}
.text-input[aria-invalid="true"]{border-color:rgba(255,91,102,.75)}
.primary,.room-link,.icon-btn,.send-btn,.top-btn,.emoji-item,.emoji-tab{
  border:1px solid var(--line);
  background:transparent;
  cursor:pointer;
}
.primary{padding:0 20px;border-color:rgba(103,234,217,.55);color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:750}
.primary:hover{background:var(--accent);color:#06100f}
.field-help{margin:10px 0 0;color:var(--muted2);font-size:11px;line-height:1.55}
.entry-foot{margin-top:34px;text-align:center;color:#707b80;font-size:9px;font-weight:650;letter-spacing:.18em}

.app{height:100vh;display:grid;grid-template-rows:92px 1fr 32px}
.topbar{
  display:grid;
  grid-template-columns:260px minmax(320px,1fr) auto;
  align-items:center;
  padding:0 18px 0 22px;
  background:rgba(7,10,11,.97);
  border-bottom:1px solid var(--line);
  gap:22px;
}
.brand-axionis{font-size:27px;letter-spacing:.20em;font-weight:780;line-height:1;transform:translateX(.10em)}
.brand-room{margin-top:6px;color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.47em;transform:translateX(.23em)}
.radio-inline{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center}
.radio-state{display:flex;align-items:center;gap:7px;color:#a2acae;font-size:9px;font-weight:650;letter-spacing:.16em}
.live-dot{width:6px;height:6px;border-radius:50%;background:#667175}
.live-dot.on{background:var(--live);box-shadow:0 0 9px rgba(255,91,102,.65);animation:blink 1.25s infinite}
@keyframes blink{50%{opacity:.3}}
.radio-meta{min-width:0}
.radio-track{margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#e4e9ea;font-weight:520}
.radio-artist{color:var(--accent)}
.radio-controls{display:flex;align-items:center;gap:9px;justify-self:end}
.top-btn{height:34px;padding:0 11px;color:#a1abad;font-size:9px;font-weight:700;letter-spacing:.12em}
.top-btn:hover{color:var(--accent);border-color:rgba(103,234,217,.4)}
.play-small{width:34px;padding:0;color:var(--accent);font-size:13px}
.vol{width:72px;accent-color:var(--accent)}

.layout{min-height:0;display:grid;grid-template-columns:268px minmax(390px,1fr) 276px}
.view-tabs{display:none}
.rooms,.people{background:rgba(10,14,15,.94);padding:20px 15px;overflow:auto}
.rooms{border-right:1px solid var(--line)}
.people{border-left:1px solid var(--line)}
.room-group{margin-bottom:24px}
.group-title{padding:0 10px 8px;color:#849095;font-size:9px;font-weight:750;letter-spacing:.20em}
.room-list{display:grid;gap:2px}
.room-link{width:100%;text-align:left;padding:10px 11px;border-color:transparent;color:#aeb7ba;border-radius:2px}
.room-link:hover{background:#0e1416;color:#f1f4f4}
.room-link.active{color:var(--accent);background:rgba(103,234,217,.065);border-left:2px solid var(--accent)}
.room-en{display:block;font-size:12px;font-weight:620;letter-spacing:.02em}
.room-tr{display:block;margin-top:3px;color:#7c898e;font-size:10px;font-weight:520}
.room-link.active .room-tr{color:#82b9b2}
.note{margin-top:16px;padding:14px;border:1px dashed rgba(255,255,255,.10);color:#839095;font-size:11px;line-height:1.6}

.chat{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr auto;background:rgba(7,10,11,.74)}
.chat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(12,16,17,.80)}
.chat-head h2{margin:6px 0 0;font-size:19px;font-weight:680;letter-spacing:.035em}
.room-mood{color:#7d898e;font-size:9px;font-weight:650;letter-spacing:.18em}
.messages{overflow-y:auto;padding:22px;min-height:0}
.message{display:grid;grid-template-columns:34px 52px 120px 1fr;gap:9px;align-items:start;margin-bottom:16px;line-height:1.58;font-size:14px}
.msg-avatar{width:30px;height:30px;border:1px solid rgba(103,234,217,.22);background-position:center;background-size:cover}
.message-time{color:#7f8a8f;font-size:10px;font-weight:650;padding-top:4px}
.message-author{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.035em;overflow:hidden;text-overflow:ellipsis;padding-top:2px}
.message-text{color:var(--text);overflow-wrap:anywhere}
.system-line{margin:0 0 16px;color:#89959a;font-size:11px;font-weight:540;letter-spacing:.035em}
.system-line::before{content:"// ";color:var(--accent);font-weight:800}

.composer{padding:12px 14px 14px;border-top:1px solid var(--line);background:#0b1011}
.composer-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px;color:#879398;font-size:10px;font-weight:600;letter-spacing:.06em}
.meta-left{display:flex;align-items:center;gap:10px}
.active-nick{color:var(--accent);font-weight:700}
.lang-select{height:27px;padding:0 7px;color:#c2c9cb;font-size:10px}
.composer-row{display:grid;grid-template-columns:42px 1fr auto;gap:8px}
.icon-btn{font-size:17px;color:#aeb7ba}
.icon-btn:hover{border-color:rgba(103,234,217,.4);color:var(--accent)}
.message-input{padding:12px 14px;font-size:14px}
.message-input::placeholder,.text-input::placeholder{color:#69767b}
.send-btn{padding:0 18px;background:var(--accent);border-color:var(--accent);color:#06100f;font-size:10px;letter-spacing:.14em;font-weight:800}

.emoji-panel{display:none;margin-top:9px;background:#080b0c;border:1px solid var(--line)}
.emoji-panel.open{display:block}
.emoji-tabs{display:flex;gap:5px;padding:8px;border-bottom:1px solid var(--line);overflow-x:auto}
.emoji-tab{white-space:nowrap;padding:7px 9px;color:#8f9a9e;font-size:9px;font-weight:700;letter-spacing:.07em}
.emoji-tab.active{color:var(--accent);border-color:rgba(103,234,217,.3);background:rgba(103,234,217,.05)}
.emoji-grid{display:grid;grid-template-columns:repeat(10,minmax(30px,1fr));gap:4px;max-height:190px;overflow:auto;padding:9px}
.emoji-item{height:34px;font-size:18px}
.emoji-item:hover{background:#12191b;border-color:rgba(103,234,217,.3);transform:translateY(-1px)}

.presence-card{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;margin-top:12px;padding:10px;background:rgba(255,255,255,.024);border:1px solid rgba(255,255,255,.055)}
.avatar{width:40px;height:40px;border:1px solid rgba(103,234,217,.22);background-position:center;background-size:cover}
.pname{font-size:12px;font-weight:650;color:#e3e8e9}
.prole{margin-top:3px;font-size:9px;font-weight:650;letter-spacing:.10em;color:#7f8b90}
.pstate{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px rgba(103,234,217,.55)}
.pstate.offline{background:#4b5559;box-shadow:none}
.panel-divider{height:1px;background:var(--line);margin:25px 0}
.profile-mini{margin-top:12px;color:#879398;font-size:11px;line-height:1.7}
.profile-mini strong{color:#b4bec1;font-weight:650}
.footer{display:flex;justify-content:space-between;align-items:center;padding:0 18px;border-top:1px solid var(--line);background:#070a0b;color:#748086;font-size:9px;font-weight:650;letter-spacing:.14em}

@media(max-width:1250px) and (min-width:981px){
  .topbar{
    grid-template-columns:220px minmax(260px,1fr) auto;
    gap:14px;
    padding-left:16px;
  }
  .brand-axionis{font-size:24px}
  .layout{grid-template-columns:224px minmax(340px,1fr) 238px}
  .rooms,.people{padding:16px 12px}
  .room-link{padding:9px}
  .presence-card{grid-template-columns:34px 1fr auto;padding:8px;gap:8px}
  .avatar{width:34px;height:34px}
  .message{grid-template-columns:30px 44px 105px 1fr}
  .vol{width:58px}
  .top-btn{padding:0 8px}
}

@media(max-width:980px){
  html,body,#root{height:100%;min-height:100%;overflow:hidden}
  body{overflow:hidden}

  .app{
    height:100dvh;
    min-height:0;
    grid-template-rows:auto minmax(0,1fr) 28px;
  }

  .topbar{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    align-items:center;
    gap:9px;
    padding:10px 12px;
  }

  .brand-block{
    display:flex;
    align-items:baseline;
    gap:10px;
    min-width:0;
  }
  .brand-axionis{
    font-size:22px;
    letter-spacing:.16em;
  }
  .brand-room{
    margin-top:0;
    letter-spacing:.34em;
  }

  .radio-inline{
    grid-column:1;
    grid-row:2;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    width:100%;
    gap:10px;
  }
  .radio-track{font-size:12px}

  .radio-controls{
    grid-column:1;
    grid-row:3;
    width:100%;
    min-width:0;
    justify-self:stretch;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .radio-controls::-webkit-scrollbar{display:none}
  .radio-controls .top-btn{
    display:block;
    flex:0 0 auto;
    min-width:max-content;
  }
  .radio-controls .vol{
    display:block;
    flex:0 0 82px;
    min-width:82px;
  }

  .layout{
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden;
  }

  .view-tabs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-column:1;
    grid-row:1;
    position:relative;
    z-index:6;
    background:#080c0d;
    border-bottom:1px solid var(--line);
  }
  .view-tab{
    min-width:0;
    min-height:52px;
    padding:7px 6px 6px;
    border:0;
    border-right:1px solid var(--line2);
    border-bottom:2px solid transparent;
    background:transparent;
    color:#89969a;
    cursor:pointer;
  }
  .view-tab:last-child{border-right:0}
  .view-tab span{
    display:block;
    font-size:10px;
    font-weight:800;
    letter-spacing:.11em;
  }
  .view-tab small{
    display:block;
    margin-top:4px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#6f7d82;
    font-size:8px;
    font-weight:650;
    letter-spacing:.035em;
  }
  .view-tab.active{
    color:var(--accent);
    border-bottom-color:var(--accent);
    background:rgba(103,234,217,.045);
  }
  .view-tab.active small{color:#9acbc5}

  .mobile-pane{
    grid-column:1;
    grid-row:2;
    display:none !important;
    width:100%;
    height:100%;
    min-height:0;
    overflow:auto;
  }
  .mobile-pane.mobile-active{display:block !important}
  .chat.mobile-pane.mobile-active{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
  }

  .rooms,.people{
    border:0;
    padding:16px 14px 24px;
  }
  .rooms{border-right:0}
  .people{border-left:0}
  .room-group{margin-bottom:18px}
  .room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .room-link{
    min-height:54px;
    padding:10px;
    border:1px solid rgba(255,255,255,.055);
    background:rgba(255,255,255,.015);
  }
  .room-link.active{border-color:rgba(103,234,217,.28)}
  .presence-card{
    grid-template-columns:40px minmax(0,1fr) auto;
    padding:11px;
  }

  .chat-head{padding:13px 14px}
  .chat-head h2{font-size:16px}
  .room-mood{display:none}
  .messages{padding:15px 12px}
  .message{
    grid-template-columns:30px 42px 96px minmax(0,1fr);
    gap:7px;
    font-size:13px;
  }
  .msg-avatar{width:27px;height:27px}
  .composer{padding:10px 10px 12px}
  .composer-row{grid-template-columns:40px minmax(0,1fr) auto}
  .send-btn{padding:0 13px}
  .emoji-grid{grid-template-columns:repeat(8,minmax(30px,1fr))}

  .footer{
    padding:0 10px;
    gap:8px;
    font-size:8px;
    letter-spacing:.08em;
    white-space:nowrap;
    overflow:hidden;
  }
  .footer span{overflow:hidden;text-overflow:ellipsis}

  .entry{
    overflow:auto;
    align-items:start;
  }
  .entry-card{
    margin:auto 0;
    padding:36px 24px 28px;
  }
  .entry-row{grid-template-columns:1fr}
  .primary{padding:14px 16px}
}

@media(max-width:600px){
  .topbar{padding:9px 10px}
  .brand-axionis{font-size:20px}
  .brand-room{font-size:8px}

  .room-list{grid-template-columns:1fr}
  .view-tab{min-height:50px}
  .view-tab span{font-size:9px}
  .view-tab small{font-size:7px}

  .message{
    grid-template-columns:30px minmax(0,1fr) auto;
    align-items:start;
    row-gap:3px;
  }
  .msg-avatar{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .message-author{
    grid-column:2;
    grid-row:1;
    padding-top:1px;
  }
  .message-time{
    grid-column:3;
    grid-row:1;
    padding-top:2px;
    text-align:right;
  }
  .message-text{
    grid-column:2 / -1;
    grid-row:2;
    min-width:0;
  }

  .chat-head{
    align-items:center;
    gap:8px;
  }
  .chat-kicker{font-size:8px}
  .chat-head h2{font-size:14px}
  .chat-head-actions{gap:5px}
  .chat-head-actions .mini-danger{
    min-height:28px;
    padding:0 7px;
    font-size:8px;
  }

  .composer-meta{font-size:9px}
  .emoji-grid{grid-template-columns:repeat(6,minmax(30px,1fr))}
  .presence-admin-actions{gap:6px}
  .presence-action{min-height:28px;font-size:8px}

  .admin-console{
    width:100vw;
    max-width:none;
  }
}


.admin-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(rgba(6,7,8,.94),rgba(6,7,8,.94)),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
}
.admin-shell{
  width:min(760px,100%);
  padding:48px;
  background:rgba(10,14,15,.98);
  border:1px solid var(--line);
  box-shadow:0 42px 130px rgba(0,0,0,.48);
}
.admin-title{
  margin-top:12px;
  font-size:clamp(36px,6vw,58px);
  font-weight:780;
  letter-spacing:.12em;
  line-height:1;
}
.admin-sub{
  margin-top:10px;
  color:var(--accent);
  font-size:10px;
  font-weight:700;
  letter-spacing:.26em;
}
.admin-login,.admin-controls{margin-top:34px}
.admin-select{
  width:100%;
  min-height:44px;
  margin-top:8px;
  padding:0 12px;
  background:#070a0b;
  color:var(--text);
}
.admin-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.admin-danger{
  min-height:46px;
  border:1px solid rgba(255,91,102,.45);
  background:rgba(255,91,102,.045);
  color:#ff8b93;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  cursor:pointer;
}
.admin-danger:hover:not(:disabled){
  background:rgba(255,91,102,.12);
  border-color:rgba(255,91,102,.72);
}
.admin-danger.all{
  border-color:rgba(255,91,102,.72);
}
.admin-danger:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}
.admin-status-good{
  margin-bottom:18px;
  padding:10px 12px;
  border:1px solid rgba(103,234,217,.22);
  background:rgba(103,234,217,.05);
  color:var(--accent);
  font-size:10px;
  font-weight:750;
  letter-spacing:.15em;
}
.admin-note{
  margin-top:18px;
  padding:13px 14px;
  border:1px dashed rgba(255,255,255,.10);
  color:#9aa5aa;
  font-size:11px;
  line-height:1.65;
}
.admin-status{
  margin-top:24px;
  color:#aab4b7;
  font-size:10px;
  font-weight:700;
  letter-spacing:.10em;
}
.admin-back{
  margin-top:20px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent);
  font-size:10px;
  font-weight:750;
  letter-spacing:.11em;
  cursor:pointer;
}
.admin-back:hover{text-decoration:underline}

@media(max-width:780px){
  .admin-shell{padding:34px 22px}
  .admin-actions{grid-template-columns:1fr}
}


/* Auth, roles, admin and moderator workflow */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 22px}
.auth-tab{
  min-height:38px;
  border:1px solid var(--line);
  background:#090d0e;
  color:#8d999d;
  font-size:10px;
  font-weight:750;
  letter-spacing:.10em;
  cursor:pointer;
}
.auth-tab.active{color:var(--accent);border-color:rgba(103,234,217,.42);background:rgba(103,234,217,.055)}
.text-input.full{width:100%;display:block}
.pin-label{margin-top:16px}
.pin-input{letter-spacing:.30em;font-variant-numeric:tabular-nums}
.auth-submit{width:100%;min-height:46px;margin-top:18px}
.ui-status{
  margin-top:16px;
  padding:12px 13px;
  border:1px solid var(--line);
  font-size:11px;
  line-height:1.55;
}
.ui-status.ok{color:var(--accent);border-color:rgba(103,234,217,.25);background:rgba(103,234,217,.045)}
.ui-status.error,.chat-error{color:#ff9aa1;border-color:rgba(255,91,102,.30);background:rgba(255,91,102,.055)}
.chat-error{margin:0 0 16px;padding:10px 12px;border:1px solid rgba(255,91,102,.30);font-size:11px;line-height:1.5}
.role-badge{
  display:inline-flex;
  align-items:center;
  margin-left:7px;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.12);
  font-size:8px;
  line-height:1.1;
  letter-spacing:.10em;
  vertical-align:middle;
}
.role-badge.admin{color:#ffd66b;border-color:rgba(255,214,107,.30);background:rgba(255,214,107,.06)}
.role-badge.moderator{color:#9fc6ff;border-color:rgba(159,198,255,.28);background:rgba(159,198,255,.05)}
.admin-shell.wide{width:min(1040px,100%)}
.top-actions{grid-template-columns:minmax(280px,1fr) auto}
.admin-enter{min-height:46px}
.control-section{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.admin-empty{
  margin-top:12px;
  padding:12px;
  color:#7f8b90;
  background:rgba(255,255,255,.02);
  font-size:11px;
}
.admin-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:8px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);
  background:rgba(255,255,255,.018);
}
.admin-row strong{color:#eef2f2;font-size:12px}
.admin-row-meta{display:block;margin-top:3px;color:#79858a;font-size:9px;letter-spacing:.11em}
.admin-row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mini-good,.mini-danger,.mini-neutral{
  min-height:30px;
  padding:0 9px;
  border:1px solid var(--line);
  background:transparent;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  cursor:pointer;
}
.mini-good{color:var(--accent);border-color:rgba(103,234,217,.28)}
.mini-danger{color:#ff8b93;border-color:rgba(255,91,102,.32)}
.mini-neutral{color:#b5c0c3}
.mini-good:disabled,.mini-danger:disabled,.mini-neutral:disabled{opacity:.45;cursor:not-allowed}
.recommendation-card{
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(255,255,255,.07);
  background:#090d0e;
}
.recommendation-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.recommendation-head strong{font-size:12px;color:#eef2f2}
.recommendation-head span{font-size:9px;color:var(--accent);letter-spacing:.08em}
.recommendation-meta{margin-top:5px;color:#7c888d;font-size:9px;letter-spacing:.08em}
.recommendation-reason{margin:10px 0 12px;color:#c8d0d2;font-size:11px;line-height:1.55}
.mod-title{font-size:clamp(32px,5vw,50px)}
.moderator-reason{
  width:100%;
  min-height:120px;
  resize:vertical;
  margin-top:8px;
  padding:12px;
  border:1px solid var(--line);
  background:#070a0b;
  color:var(--text);
  outline:none;
  font:inherit;
  font-size:12px;
  line-height:1.55;
}
.moderator-reason:focus{border-color:rgba(103,234,217,.55);box-shadow:0 0 0 2px rgba(103,234,217,.05)}

@media(max-width:780px){
  .admin-row{grid-template-columns:1fr}
  .admin-row-actions{justify-content:flex-start}
  .top-actions{grid-template-columns:1fr}
}


.credential-card{
  margin-top:12px;
  padding:14px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
}
.credential-card strong{
  display:block;
  color:#eef2f2;
  font-size:11px;
  letter-spacing:.08em;
}
.credential-action{
  width:100%;
  margin-top:14px;
}
input[readonly]{
  color:#cfd6d7;
  background:#090c0d;
  cursor:default;
}


.field-error{
  margin-top:7px;
  color:#ff7f89;
  font-size:10px;
  font-weight:700;
  line-height:1.45;
}
.field-hint{
  margin-top:7px;
  color:#819095;
  font-size:9px;
  line-height:1.45;
}


.chat-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-live-notice{
  margin:0 0 16px;
  padding:10px 12px;
  border:1px solid rgba(103,234,217,.25);
  background:rgba(103,234,217,.045);
  color:var(--accent);
  font-size:11px;
  line-height:1.45;
}
.presence-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}
.presence-action{
  min-height:24px;
  padding:0 6px;
  border:1px solid rgba(103,234,217,.25);
  background:transparent;
  color:#9fded6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
}
.presence-action.danger{
  border-color:rgba(255,91,102,.28);
  color:#ff949b;
}
.presence-action:hover{
  background:rgba(255,255,255,.035);
}
.moderation-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr .8fr;
  gap:9px;
  margin-top:12px;
  align-items:end;
}
.moderation-grid .text-input{
  grid-column:1 / -1;
}
.moderation-grid .admin-danger{
  grid-column:1 / -1;
}
.blocked-list{
  margin-top:22px;
}
.recommendations-link{
  margin-top:10px;
}
.recommendation-card.prominent{
  border-color:rgba(103,234,217,.20);
  background:rgba(103,234,217,.025);
}
@media(max-width:780px){
  .moderation-grid{grid-template-columns:1fr}
  .moderation-grid .text-input,
  .moderation-grid .admin-danger{grid-column:auto}
}


/* Unified in-Lounge admin console */
.admin-control-toggle{
  border-color:rgba(255,214,107,.34);
  color:#ffd66b;
}
.admin-console-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(0,0,0,.46);
  backdrop-filter:blur(3px);
  display:flex;
  justify-content:flex-end;
}
.admin-console{
  width:min(480px,94vw);
  height:100dvh;
  overflow-y:auto;
  padding:22px 18px 28px;
  background:#090d0e;
  border-left:1px solid rgba(103,234,217,.20);
  box-shadow:-28px 0 80px rgba(0,0,0,.48);
}
.admin-console-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  position:sticky;
  top:-22px;
  z-index:2;
  margin:-22px -18px 0;
  padding:22px 18px 16px;
  background:rgba(9,13,14,.98);
  border-bottom:1px solid var(--line);
}
.admin-console-title{
  margin-top:6px;
  color:#f4f7f7;
  font-size:28px;
  font-weight:800;
  letter-spacing:.16em;
}
.admin-console-sub{
  margin-top:5px;
  color:var(--accent);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}
.admin-console-close{
  width:36px;
  height:36px;
  border:1px solid var(--line);
  background:transparent;
  color:#9ba6aa;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.admin-console-close:hover{
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
.admin-console-tools{
  display:grid;
  grid-template-columns:1fr 1fr 90px;
  gap:7px;
  margin-top:18px;
}
.console-tool{
  min-height:36px;
  border:1px solid rgba(103,234,217,.24);
  background:rgba(103,234,217,.035);
  color:var(--accent);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  cursor:pointer;
}
.console-tool.danger{
  color:#ff9198;
  border-color:rgba(255,91,102,.28);
  background:rgba(255,91,102,.035);
}
.console-tool:disabled{opacity:.45;cursor:not-allowed}
.console-section{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.console-user{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-top:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.018);
}
.console-user.stacked{
  display:block;
}
.console-user strong{
  display:block;
  color:#edf2f2;
  font-size:12px;
}
.console-user span{
  display:block;
  margin-top:3px;
  color:#78858a;
  font-size:8px;
  font-weight:700;
  letter-spacing:.10em;
}
.console-user-main{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.console-user-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.console-user-actions.moderation{
  justify-content:flex-start;
  margin-top:10px;
}
.admin-console-status{
  position:sticky;
  bottom:-28px;
  margin:24px -18px -28px;
  padding:12px 18px;
  background:rgba(9,13,14,.98);
  border-top:1px solid var(--line);
  color:#aab4b7;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}
@media(max-width:780px){
  .admin-console{
    width:100vw;
  }
  .admin-console-tools{
    grid-template-columns:1fr;
  }
}


.listener-entry{
  margin-top:18px;
  padding:13px;
  border:1px solid rgba(103,234,217,.16);
  background:rgba(103,234,217,.025);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.listener-entry strong{
  display:block;
  color:#e9eeee;
  font-size:10px;
  letter-spacing:.08em;
}
.listener-entry span{
  display:block;
  margin-top:4px;
  color:#879398;
  font-size:10px;
  line-height:1.45;
}
.listener-btn{white-space:nowrap}
.listener-readonly{
  padding:14px 16px;
  border-top:1px solid var(--line);
  background:#0b1011;
}
.listener-readonly strong{
  display:block;
  color:var(--accent);
  font-size:10px;
  letter-spacing:.10em;
}
.listener-readonly span{
  display:block;
  margin-top:5px;
  color:#9aa5aa;
  font-size:11px;
}
.listener-count{
  margin:7px 0 13px;
  color:#7f8c91;
  font-size:9px;
  font-weight:650;
  letter-spacing:.08em;
}
.role-badge.listener{
  color:#a8b2b5;
  border-color:rgba(168,178,181,.22);
  background:rgba(168,178,181,.04);
}
.presence-action.ip{
  border-color:rgba(255,170,76,.36);
  color:#ffbd76;
}
.online-target{
  border-color:rgba(103,234,217,.12);
}
@media(max-width:780px){
  .listener-entry{
    align-items:stretch;
    flex-direction:column;
  }
  .listener-btn{width:100%}
}


.moderator-control-toggle{
  border-color:rgba(159,198,255,.34);
  color:#9fc6ff;
}
.moderator-console .admin-console-title{
  color:#dbe9ff;
}
.moderator-console .admin-console-sub{
  color:#9fc6ff;
}
.moderator-target{
  width:100%;
  margin-top:7px;
  padding:10px 11px;
  text-align:left;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
  color:#e6ecee;
  cursor:pointer;
}
.moderator-target span{
  display:block;
  font-size:11px;
  font-weight:750;
}
.moderator-target small{
  display:block;
  margin-top:3px;
  color:#7e8b90;
  font-size:8px;
  letter-spacing:.08em;
}
.moderator-target.active{
  border-color:rgba(159,198,255,.38);
  background:rgba(159,198,255,.055);
}
.moderator-target.active span{color:#9fc6ff}


/* AI Agenda */
.agenda-toggle{
  border-color:rgba(202,176,255,.30);
  color:var(--accent);
}
.agenda-tab{color:#b9a2eb}
.agenda-console{
  width:min(640px,96vw);
}
.agenda-topic-list{
  padding:18px 0 0;
}
.agenda-topic-card{
  width:100%;
  display:block;
  margin-top:10px;
  padding:15px;
  text-align:left;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
  color:var(--text);
  cursor:pointer;
}
.agenda-topic-card:hover{
  border-color:rgba(202,176,255,.34);
  background:rgba(202,176,255,.035);
}
.agenda-topic-card strong{
  display:block;
  margin-top:7px;
  font-size:14px;
  line-height:1.35;
}
.agenda-topic-card p,
.agenda-selected p,
.agenda-comment p{
  margin:8px 0 0;
  color:#bcc6c8;
  font-size:11px;
  line-height:1.65;
}
.agenda-agent{
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.agenda-agent span{
  margin-left:6px;
  padding:2px 5px;
  border:1px solid rgba(202,176,255,.25);
  color:var(--accent);
  font-size:7px;
  letter-spacing:.08em;
}
.agenda-meta{
  margin-top:12px;
  color:#748187;
  font-size:8px;
  font-weight:700;
  letter-spacing:.07em;
}
.agenda-back{
  margin:16px 0 0;
}
.agenda-selected{
  margin-top:12px;
  padding:16px;
  border:1px solid rgba(202,176,255,.18);
  background:rgba(202,176,255,.025);
}
.agenda-selected h3{
  margin:9px 0 0;
  font-size:18px;
  line-height:1.35;
}
.agenda-comments{
  margin-top:22px;
}
.agenda-comment{
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(255,255,255,.065);
  background:#090d0e;
}
.agenda-comment-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.agenda-comment-head strong{
  color:#eef2f2;
  font-size:11px;
}
.agenda-comment-head>span{
  color:var(--accent);
  font-size:9px;
  font-weight:750;
}
.agenda-rating{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}
.agenda-rating span{
  color:#7d898e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}
.agenda-rating select{
  min-width:72px;
  height:30px;
  padding:0 7px;
}
.agenda-compose{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.ai-moderator-list{
  margin-top:10px;
}
.ai-moderator-card{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:8px;
  padding:10px;
  border:1px solid rgba(202,176,255,.12);
  background:rgba(202,176,255,.025);
}
.candidate-card{
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(255,214,107,.18);
  background:rgba(255,214,107,.025);
}
.candidate-stats{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0 12px;
}
.candidate-stats span{
  padding:4px 6px;
  border:1px solid rgba(255,255,255,.075);
  color:#9ba7ab;
  font-size:8px;
  font-weight:700;
  letter-spacing:.05em;
}

@media(max-width:600px){
  .agenda-console{
    width:100vw;
    max-width:none;
  }
  .agenda-comment-head{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* Reports, reputation, pulses */
.message-report{
  margin-top:6px;
  padding:0;
  border:0;
  background:transparent;
  color:#7f8b90;
  font-size:8px;
  font-weight:750;
  letter-spacing:.08em;
  cursor:pointer;
}
.message-report:hover{color:#ff9aa1}
.visitor-title{
  color:var(--accent);
  font-size:8px;
  font-weight:750;
  letter-spacing:.06em;
}
.presence-title{
  margin-top:4px;
  color:#9fa9ad;
  font-size:8px;
  line-height:1.35;
  letter-spacing:.05em;
}
.report-card{
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(255,91,102,.16);
  background:rgba(255,91,102,.025);
}
.report-snapshot{
  margin-top:10px;
  padding:10px;
  border-left:2px solid rgba(255,91,102,.32);
  background:rgba(255,255,255,.018);
  color:#d6dddf;
  font-size:11px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.report-suggestion{
  margin:8px 0 12px;
  color:#ffbd76;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}
.report-actions{
  justify-content:flex-start;
}
.agenda-comment-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
}
.report-btn{
  min-height:30px;
  padding:0 8px;
  border:1px solid rgba(255,91,102,.26);
  background:transparent;
  color:#ff9299;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  cursor:pointer;
}
.reputation-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 18px;
  padding:13px;
  border:1px solid rgba(202,176,255,.20);
  background:rgba(202,176,255,.035);
}
.reputation-card span{
  display:block;
  color:#8d79b8;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
}
.reputation-card strong{
  display:block;
  margin-top:4px;
  color:#d7c6ff;
  font-size:12px;
}
.reputation-stats{
  color:#9ba7ab;
  font-size:9px;
  font-weight:750;
  text-align:right;
}
.pulse-stack{
  margin:0 0 22px;
}
.pulse-card{
  margin-top:10px;
  padding:13px;
  border:1px solid rgba(103,234,217,.15);
  background:rgba(103,234,217,.025);
}
.pulse-card>strong{
  display:block;
  margin-top:7px;
  color:#eef2f2;
  font-size:13px;
}
.pulse-question{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:10px;
  align-items:center;
  margin-top:11px;
}
.pulse-question span{
  color:#b7c0c3;
  font-size:10px;
  line-height:1.45;
}
.pulse-question select{
  min-height:32px;
  padding:0 6px;
}
.pulse-submit{
  margin-top:12px;
}
.pulse-done{
  margin-top:10px;
  color:var(--accent);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
}

@media(max-width:600px){
  .agenda-comment-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .agenda-rating{
    justify-content:flex-start;
  }
  .report-btn{width:100%}
  .reputation-card{
    align-items:flex-start;
    flex-direction:column;
  }
  .reputation-stats{text-align:left}
  .pulse-question{
    grid-template-columns:1fr;
  }
}


/* Dynamic three-day AI rooms + voting */
.room-link{
  min-height:62px;
}
.room-tr{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.35;
}
.current-topic-link{
  display:block;
  max-width:min(720px,72vw);
  margin-top:7px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent);
  text-align:left;
  font-size:10px;
  font-weight:650;
  line-height:1.45;
  cursor:pointer;
}
.current-topic-link::before{
  content:"3-DAY TOPIC · ";
  color:#7d6aa7;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
}
.current-topic-link:hover{color:#e0d4ff}
.message-actions{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:6px;
}
.message-negative,
.negative-vote-btn{
  padding:0;
  border:0;
  background:transparent;
  color:#ffbd76;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  cursor:pointer;
}
.message-negative:hover,
.negative-vote-btn:hover{color:#ffd19b}
.agenda-comment-actions .negative-vote-btn{
  min-height:30px;
  padding:0 8px;
  border:1px solid rgba(255,189,118,.24);
}
.mini-danger.perm{
  border-color:rgba(255,63,74,.55);
  color:#ff5b66;
  box-shadow:inset 0 0 0 1px rgba(255,63,74,.08);
}
.presence-title{
  overflow-wrap:anywhere;
}
@media(max-width:600px){
  .current-topic-link{
    max-width:90vw;
  }
  .message-actions{
    flex-wrap:wrap;
  }
}


.room-en{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.35;
}


/* Live room AI moderators */
.ai-chat-badge{
  display:inline-block;
  margin-left:6px;
  padding:1px 5px;
  border:1px solid rgba(202,176,255,.30);
  color:var(--accent);
  font-size:7px;
  font-weight:850;
  letter-spacing:.09em;
  vertical-align:1px;
}
.presence-card:has(.prole){
  position:relative;
}


/* Minimal Lounge navigation + live weather tool */
.utility-group{margin-top:24px}
.weather-link{border-color:rgba(103,234,217,.10)}
.weather-link:hover{border-color:rgba(103,234,217,.28)}
.lounge-idea{margin-top:10px;max-width:720px;display:grid;gap:4px}
.lounge-idea span{color:#6f7d82;font-size:8px;font-weight:800;letter-spacing:.18em}
.lounge-idea strong{color:#d8e2e1;font-size:12px;font-weight:560;line-height:1.5}
.weather-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(2,5,6,.82);
  backdrop-filter:blur(8px);
}
.weather-panel{
  width:min(720px,96vw);
  max-height:90vh;
  overflow:auto;
  border:1px solid rgba(103,234,217,.24);
  background:#080d0e;
  box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.weather-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}
.weather-head h2{margin:5px 0 0;font-size:20px;letter-spacing:.08em}
.weather-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}
.weather-search .primary{min-height:44px}
.weather-error{margin:16px 20px 0;padding:12px;border:1px solid rgba(255,91,102,.25);color:#ff8f97;font-size:11px}
.weather-empty{padding:28px 20px 34px;color:#819095;font-size:12px;line-height:1.7}
.weather-result{padding:22px 20px 24px}
.weather-place{display:grid;gap:3px}
.weather-place strong{font-size:17px;letter-spacing:.02em}
.weather-place span{color:#7f8c91;font-size:10px}
.weather-current{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  margin-top:20px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.weather-temp{font-size:48px;font-weight:650;letter-spacing:-.04em;color:var(--accent)}
.weather-current>div:last-child{display:grid;gap:6px}
.weather-current strong{font-size:14px}
.weather-current span{color:#829096;font-size:10px}
.weather-days{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.weather-day{
  min-width:0;
  display:grid;
  gap:6px;
  padding:12px 10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.015);
}
.weather-day>span:first-child{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}
.weather-day strong{font-size:10px;line-height:1.35}
.weather-day>span{color:#bcc5c7;font-size:10px}
.weather-day small{color:#758288;font-size:8px}
.weather-source{margin-top:14px;color:#667479;font-size:8px;font-weight:750;letter-spacing:.16em;text-align:right}

@media(max-width:700px){
  .weather-overlay{padding:8px}
  .weather-panel{width:100%;max-height:96vh}
  .weather-search{grid-template-columns:1fr}
  .weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}
  .weather-temp{font-size:40px}
}


/* Account recovery */
.recovery-link{
  width:100%;
  margin-top:10px;
  min-height:36px;
}
.recovery-box{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(103,234,217,.16);
  background:rgba(103,234,217,.025);
}
.recovery-box h3{
  margin:7px 0 6px;
  color:#eef4f3;
  font-size:15px;
  letter-spacing:.08em;
}
.recovery-box p{
  margin:0 0 13px;
  color:#879398;
  font-size:10px;
  line-height:1.55;
}
.recovery-confirm{
  margin-top:9px;
}


/* AXIONIS theme system */
:root[data-theme="signal"]{
  --uiFont:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --displayFont:"Arial Narrow","Segoe UI",sans-serif;
  --bg:#060708;
  --panel:#0a0e0f;
  --panel2:#0d1214;
  --panel3:#101719;
  --line:rgba(255,255,255,.11);
  --line2:rgba(255,255,255,.07);
  --text:#f3f6f6;
  --soft:#d7dede;
  --muted:#9aa5aa;
  --muted2:#78858a;
  --accent:#67ead9;
  --accentSoft:rgba(103,234,217,.10);
  --live:#ff5b66;
}
:root[data-theme="ocean"]{
  --uiFont:"Segoe UI",Tahoma,Arial,sans-serif;
  --displayFont:"Trebuchet MS","Segoe UI",sans-serif;
  --bg:#05090d;
  --panel:#071018;
  --panel2:#0a1620;
  --panel3:#0d1c27;
  --line:rgba(156,210,255,.13);
  --line2:rgba(156,210,255,.075);
  --text:#eef7ff;
  --soft:#d3e6f5;
  --muted:#91aabd;
  --muted2:#6f8799;
  --accent:#65c9ff;
  --accentSoft:rgba(101,201,255,.10);
  --live:#ff6b76;
}
:root[data-theme="violet"]{
  --uiFont:"Aptos","Segoe UI",Arial,sans-serif;
  --displayFont:Georgia,"Times New Roman",serif;
  --bg:#08060d;
  --panel:#100b18;
  --panel2:#151020;
  --panel3:#1b1429;
  --line:rgba(208,185,255,.14);
  --line2:rgba(208,185,255,.075);
  --text:#f8f3ff;
  --soft:#e4daf2;
  --muted:#ac9dbd;
  --muted2:#827491;
  --accent:#c9a8ff;
  --accentSoft:rgba(201,168,255,.10);
  --live:#ff6f8f;
}
:root[data-theme="amber"]{
  --uiFont:"Trebuchet MS","Segoe UI",Arial,sans-serif;
  --displayFont:"Palatino Linotype",Palatino,Georgia,serif;
  --bg:#0b0905;
  --panel:#121008;
  --panel2:#18140b;
  --panel3:#201a0d;
  --line:rgba(255,218,138,.14);
  --line2:rgba(255,218,138,.075);
  --text:#fff8e9;
  --soft:#eadfc8;
  --muted:#b3a58c;
  --muted2:#887a64;
  --accent:#ffd36a;
  --accentSoft:rgba(255,211,106,.10);
  --live:#ff6f61;
}
:root[data-theme="mono"]{
  --uiFont:"Courier New",ui-monospace,monospace;
  --displayFont:"Courier New",ui-monospace,monospace;
  --bg:#070707;
  --panel:#0d0d0e;
  --panel2:#121214;
  --panel3:#18181a;
  --line:rgba(255,255,255,.13);
  --line2:rgba(255,255,255,.075);
  --text:#f4f4f4;
  --soft:#d7d7d7;
  --muted:#9a9a9f;
  --muted2:#74747a;
  --accent:#d9e0e3;
  --accentSoft:rgba(217,224,227,.09);
  --live:#ff646d;
}

:root[data-theme="signal"] body{
  background:
    radial-gradient(circle at 72% 12%,rgba(49,92,88,.15),transparent 30%),
    radial-gradient(circle at 10% 82%,rgba(31,48,54,.15),transparent 32%),
    #060708;
}
:root[data-theme="ocean"] body{
  background:
    radial-gradient(circle at 78% 10%,rgba(24,103,151,.22),transparent 32%),
    radial-gradient(circle at 12% 88%,rgba(19,80,97,.18),transparent 35%),
    #05090d;
}
:root[data-theme="violet"] body{
  background:
    radial-gradient(circle at 76% 14%,rgba(103,67,157,.24),transparent 34%),
    radial-gradient(circle at 14% 84%,rgba(74,45,103,.19),transparent 36%),
    #08060d;
}
:root[data-theme="amber"] body{
  background:
    radial-gradient(circle at 76% 12%,rgba(142,91,25,.20),transparent 32%),
    radial-gradient(circle at 12% 86%,rgba(95,61,21,.18),transparent 36%),
    #0b0905;
}
:root[data-theme="mono"] body{
  background:
    radial-gradient(circle at 74% 12%,rgba(255,255,255,.065),transparent 28%),
    radial-gradient(circle at 12% 88%,rgba(255,255,255,.035),transparent 34%),
    #070707;
}

:root[data-theme] .topbar,
:root[data-theme] .rooms,
:root[data-theme] .people,
:root[data-theme] .composer,
:root[data-theme] .chat-head{
  background:color-mix(in srgb,var(--panel) 94%,transparent);
}
:root[data-theme] .chat{
  background:color-mix(in srgb,var(--panel) 76%,transparent);
}
:root[data-theme] .room-link.active{
  border-color:color-mix(in srgb,var(--accent) 38%,transparent);
  background:var(--accentSoft);
}
:root[data-theme] .msg-avatar,
:root[data-theme] .avatar{
  border-color:color-mix(in srgb,var(--accent) 30%,transparent);
}

.theme-control{
  display:grid;
  gap:3px;
  min-width:150px;
}
.theme-control>span{
  color:var(--muted2);
  font-size:8px;
  font-weight:850;
  letter-spacing:.18em;
}
.theme-select{
  height:34px;
  max-width:178px;
  padding:0 9px;
  border:1px solid var(--line);
  background:var(--panel2);
  color:var(--soft);
  font-size:9px;
  font-weight:750;
  letter-spacing:.05em;
}
.theme-select:focus{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}

.chat-style-controls{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.chat-style-controls label{
  display:flex;
  align-items:center;
  gap:5px;
}
.chat-style-controls label>span{
  color:var(--muted2);
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}
.chat-style-controls select{
  height:27px;
  padding:0 7px;
  color:var(--soft);
  background:var(--panel2);
  font-size:9px;
}
.message-text>div:first-child{
  transition:color .15s ease,font-size .15s ease;
}

@media(max-width:980px){
  .theme-select{width:100%;max-width:none}
  .chat-style-controls{
    width:100%;
    margin-top:6px;
  }
  .composer-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .meta-left{
    flex-wrap:wrap;
  }
}


.agenda-topic-survey{
  margin:0 18px 18px;
  padding:16px;
  border:1px solid var(--line);
  background:var(--accentSoft);
}
.topic-survey-question{
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px;
  gap:12px;
  align-items:center;
  margin-top:10px;
  color:var(--soft);
  font-size:11px;
  line-height:1.45;
}
.topic-survey-question select{
  height:30px;
  background:var(--panel2);
  color:var(--text);
}
.topic-survey-summary{
  margin-top:12px;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
  letter-spacing:.035em;
}

.brand-axionis,
.entry-axionis,
.admin-console-title,
.chat-head h2,
.weather-head h2{
  font-family:var(--displayFont,var(--uiFont));
}


/* Full-viewport themed surfaces */
:root[data-theme="signal"]{--pageBackdrop:radial-gradient(circle at 78% 8%,rgba(58,171,158,.18),transparent 30%),radial-gradient(circle at 8% 88%,rgba(34,71,77,.22),transparent 35%),linear-gradient(145deg,#030606 0%,#07100f 48%,#030505 100%);--surfaceStrong:rgba(5,12,12,.91);--surfaceMid:rgba(7,16,16,.82);--surfaceSoft:rgba(8,20,19,.66)}
:root[data-theme="ocean"]{--pageBackdrop:radial-gradient(circle at 82% 10%,rgba(57,151,218,.25),transparent 31%),radial-gradient(circle at 10% 88%,rgba(22,92,123,.24),transparent 37%),linear-gradient(150deg,#02070b 0%,#071827 48%,#03101a 100%);--surfaceStrong:rgba(4,13,21,.91);--surfaceMid:rgba(7,23,35,.82);--surfaceSoft:rgba(9,31,46,.65)}
:root[data-theme="violet"]{--pageBackdrop:radial-gradient(circle at 80% 10%,rgba(143,93,218,.28),transparent 32%),radial-gradient(circle at 12% 86%,rgba(84,49,119,.27),transparent 38%),linear-gradient(150deg,#08050b 0%,#160b21 50%,#090611 100%);--surfaceStrong:rgba(14,8,20,.91);--surfaceMid:rgba(24,13,35,.82);--surfaceSoft:rgba(31,17,45,.66)}
:root[data-theme="amber"]{--pageBackdrop:radial-gradient(circle at 80% 9%,rgba(211,142,47,.25),transparent 31%),radial-gradient(circle at 11% 87%,rgba(118,77,23,.25),transparent 38%),linear-gradient(150deg,#090703 0%,#1b1206 50%,#0d0903 100%);--surfaceStrong:rgba(17,12,5,.92);--surfaceMid:rgba(27,19,8,.83);--surfaceSoft:rgba(38,27,10,.65)}
:root[data-theme="mono"]{--pageBackdrop:radial-gradient(circle at 78% 8%,rgba(255,255,255,.09),transparent 29%),radial-gradient(circle at 9% 88%,rgba(255,255,255,.055),transparent 36%),linear-gradient(150deg,#050505 0%,#111113 50%,#070708 100%);--surfaceStrong:rgba(9,9,10,.93);--surfaceMid:rgba(16,16,18,.84);--surfaceSoft:rgba(23,23,26,.66)}

:root[data-theme],:root[data-theme] body,:root[data-theme] #root,:root[data-theme] .app{background:var(--pageBackdrop)}
:root[data-theme] #root{background:transparent}
:root[data-theme] .app,:root[data-theme] .layout{background:transparent}
:root[data-theme] .topbar,:root[data-theme] .rooms,:root[data-theme] .people,:root[data-theme] .composer,:root[data-theme] .footer{background:var(--surfaceStrong);backdrop-filter:blur(16px) saturate(115%)}
:root[data-theme] .chat,:root[data-theme] .messages{background:var(--surfaceSoft)}
:root[data-theme] .chat-head{background:var(--surfaceMid);backdrop-filter:blur(14px)}
:root[data-theme] .entry{background:var(--pageBackdrop)}
:root[data-theme] .entry-card,:root[data-theme] .admin-console,:root[data-theme] .weather-card{background:var(--surfaceStrong);backdrop-filter:blur(22px) saturate(120%)}


/* Mandatory entry policies */
.entry-policy{margin:18px 0 14px;padding:14px;max-height:300px;overflow:auto;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 86%,transparent)}
.entry-policy-title{margin-bottom:10px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.18em}
.policy-detail{border-top:1px solid var(--line2);padding:9px 0}
.policy-detail:first-of-type{border-top:0}
.policy-detail summary{cursor:pointer;color:var(--soft);font-size:9px;font-weight:800;letter-spacing:.08em}
.policy-copy{margin-top:8px;color:var(--muted);font-size:10px;line-height:1.62}
.policy-check{display:flex;gap:9px;align-items:flex-start;margin:9px 0 5px;color:var(--soft);font-size:10px;line-height:1.45}
.policy-check input{margin-top:2px;accent-color:var(--accent)}
.policy-version{margin-top:10px;color:var(--muted2);font-size:8px;letter-spacing:.12em}


.mod-policy-checks{margin:14px 0;padding:10px 12px;border:1px solid var(--line);background:var(--accentSoft)}


/* Light AXIONIS theme overrides */
:root[data-theme="signal"]{
  --bg:#edf4f2;--panel:#fbfdfc;--panel2:#f1f7f5;--panel3:#e7f1ee;
  --line:rgba(29,74,69,.18);--line2:rgba(29,74,69,.10);
  --text:#202b2d;--soft:#344245;--muted:#667578;--muted2:#7d8a8c;
  --accent:#197d72;--accentSoft:rgba(25,125,114,.10);--live:#c84d5c;
  --pageBackdrop:radial-gradient(circle at 78% 10%,rgba(92,190,175,.22),transparent 30%),radial-gradient(circle at 10% 88%,rgba(151,196,188,.20),transparent 34%),linear-gradient(145deg,#f8fbfa 0%,#eaf4f1 50%,#f4f8f7 100%);
  --surfaceStrong:rgba(252,254,253,.92);--surfaceMid:rgba(245,250,248,.88);--surfaceSoft:rgba(237,246,243,.78);
}
:root[data-theme="ocean"]{
  --bg:#edf4f8;--panel:#fbfdff;--panel2:#f0f6fa;--panel3:#e7f0f6;
  --line:rgba(32,91,126,.18);--line2:rgba(32,91,126,.10);
  --text:#20303a;--soft:#344753;--muted:#687b86;--muted2:#80909a;
  --accent:#2b78a3;--accentSoft:rgba(43,120,163,.10);--live:#c95564;
  --pageBackdrop:radial-gradient(circle at 80% 8%,rgba(115,190,230,.25),transparent 31%),radial-gradient(circle at 10% 90%,rgba(164,204,224,.22),transparent 36%),linear-gradient(145deg,#f9fcfe 0%,#e9f3f9 52%,#f3f8fb 100%);
  --surfaceStrong:rgba(252,254,255,.93);--surfaceMid:rgba(243,249,252,.89);--surfaceSoft:rgba(235,245,250,.80);
}
:root[data-theme="violet"]{
  --bg:#f4f0f7;--panel:#fdfbfe;--panel2:#f6f1f9;--panel3:#eee7f3;
  --line:rgba(94,65,118,.18);--line2:rgba(94,65,118,.10);
  --text:#302936;--soft:#493f51;--muted:#786d80;--muted2:#8e8395;
  --accent:#76558f;--accentSoft:rgba(118,85,143,.10);--live:#c8576b;
  --pageBackdrop:radial-gradient(circle at 80% 10%,rgba(193,166,216,.30),transparent 32%),radial-gradient(circle at 12% 88%,rgba(216,199,227,.28),transparent 36%),linear-gradient(145deg,#fdfbfe 0%,#f0e9f5 52%,#f8f4fa 100%);
  --surfaceStrong:rgba(254,252,255,.93);--surfaceMid:rgba(248,244,250,.89);--surfaceSoft:rgba(241,234,246,.80);
}
:root[data-theme="amber"]{
  --bg:#f6f1e8;--panel:#fffdf9;--panel2:#f9f3e8;--panel3:#f1e8d8;
  --line:rgba(112,82,35,.19);--line2:rgba(112,82,35,.10);
  --text:#352f26;--soft:#504739;--muted:#7e7464;--muted2:#928777;
  --accent:#8a671d;--accentSoft:rgba(138,103,29,.10);--live:#c65755;
  --pageBackdrop:radial-gradient(circle at 80% 9%,rgba(231,195,125,.28),transparent 31%),radial-gradient(circle at 11% 88%,rgba(226,207,167,.28),transparent 37%),linear-gradient(145deg,#fffdf9 0%,#f3eadb 52%,#faf6ee 100%);
  --surfaceStrong:rgba(255,254,250,.94);--surfaceMid:rgba(250,246,237,.90);--surfaceSoft:rgba(244,237,224,.82);
}
:root[data-theme="mono"]{
  --bg:#f1f2f2;--panel:#fdfdfd;--panel2:#f5f5f5;--panel3:#e9ebeb;
  --line:rgba(39,48,51,.17);--line2:rgba(39,48,51,.09);
  --text:#25292a;--soft:#3d4446;--muted:#6f7779;--muted2:#858b8d;
  --accent:#566267;--accentSoft:rgba(86,98,103,.09);--live:#c55560;
  --pageBackdrop:radial-gradient(circle at 80% 9%,rgba(184,191,193,.28),transparent 30%),radial-gradient(circle at 10% 89%,rgba(214,218,219,.30),transparent 36%),linear-gradient(145deg,#fdfdfd 0%,#eceeee 52%,#f7f7f7 100%);
  --surfaceStrong:rgba(254,254,254,.94);--surfaceMid:rgba(248,249,249,.90);--surfaceSoft:rgba(240,242,242,.82);
}
:root[data-theme] .text-input,
:root[data-theme] textarea,
:root[data-theme] select,
:root[data-theme] input[type="text"],
:root[data-theme] input[type="password"],
:root[data-theme] input[type="email"]{background:rgba(255,255,255,.72);color:var(--text)}
:root[data-theme] .message{border-bottom-color:var(--line2)}
:root[data-theme] .message-time,
:root[data-theme] .tiny-label,
:root[data-theme] .section-label{color:var(--muted2)}
:root[data-theme] .entry-card,
:root[data-theme] .admin-console,
:root[data-theme] .weather-card{box-shadow:0 22px 70px rgba(31,49,54,.12)}


/* HIZIR temporary help */
.hizir-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(38,49,52,.22);backdrop-filter:blur(8px)}
.hizir-panel{width:min(680px,100%);max-height:min(760px,92vh);display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surfaceStrong);box-shadow:0 24px 80px rgba(31,49,54,.18)}
.hizir-head{display:flex;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--line)}
.hizir-head h2{margin:4px 0 2px;font-family:var(--displayFont,var(--uiFont));font-size:24px;letter-spacing:.08em}
.hizir-head p{margin:0;color:var(--muted);font-size:10px}
.hizir-note{padding:10px 18px;border-bottom:1px solid var(--line2);color:var(--muted);font-size:9px;line-height:1.5}
.hizir-messages{min-height:260px;overflow:auto;padding:16px;display:grid;gap:10px}
.hizir-empty{color:var(--muted);font-size:11px;line-height:1.55}
.hizir-message{max-width:88%;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line2);background:var(--surfaceSoft)}
.hizir-message.user{justify-self:end;background:var(--accentSoft)}
.hizir-message.assistant{justify-self:start}
.hizir-message strong{font-size:8px;letter-spacing:.12em;color:var(--accent)}
.hizir-message span{font-size:11px;line-height:1.55;color:var(--text)}
.hizir-thinking{color:var(--muted);font-size:9px}
.hizir-compose{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px;border-top:1px solid var(--line)}
.hizir-compose textarea{min-height:70px;resize:vertical;padding:10px;border:1px solid var(--line)}
.hizir-compose .primary{align-self:stretch}
@media(max-width:700px){.hizir-overlay{padding:0}.hizir-panel{width:100%;height:100%;max-height:none}.hizir-message{max-width:94%}.hizir-compose{grid-template-columns:1fr}}


/* Light-surface legacy overrides */
:root[data-theme] .text-input,
:root[data-theme] .message-input,
:root[data-theme] .composer,
:root[data-theme] .emoji-panel,
:root[data-theme] .footer,
:root[data-theme] .auth-tabs,
:root[data-theme] .admin-console,
:root[data-theme] .moderator-console,
:root[data-theme] .agenda-panel,
:root[data-theme] .weather-panel{
  background:var(--surfaceStrong);
  color:var(--text);
}
:root[data-theme] .room-link:hover{background:var(--accentSoft);color:var(--text)}
:root[data-theme] .presence-card,
:root[data-theme] .message,
:root[data-theme] .profile-mini,
:root[data-theme] .listener-entry,
:root[data-theme] .entry-policy,
:root[data-theme] .agenda-topic-survey{background:rgba(255,255,255,.42)}
:root[data-theme] .role-badge.moderator{color:var(--accent);border-color:var(--line);background:var(--accentSoft)}
:root[data-theme] .role-badge.admin{color:#7b5b18;border-color:rgba(123,91,24,.24);background:rgba(123,91,24,.08)}
