*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --msg-font-size:14px;
  --accent:#4c9aff;
  --accent2:#3fb950;
  --bg:#201f1e;
  --surface:#292827;
  --surface2:#323130;
  --surface3:#3b3a39;
  --text:#f3f2f1;
  --muted:#a19f9d;
  --danger:#f1707b;
  --font-mono:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  --font-display:'Segoe UI Semibold','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  --radius:6px;
  --speed:0.25s;
}
body{
  background:var(--bg);
  height:100vh;
  height:100dvh;
  display:flex;
  justify-content:center;
  align-items:center;
  color:var(--text);
  font-family:var(--font-mono);
  overflow:hidden;
  margin:0;padding:0;
}
body::before{
  content:'';
  position:fixed;inset:0;
  background:radial-gradient(ellipse 60% 40% at 20% 20%, rgba(43,87,154,.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 80% 80%, rgba(33,115,70,.07) 0%, transparent 60%);
  pointer-events:none;
}
#welcome{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:var(--bg);
  display:flex;justify-content:center;align-items:center;
  z-index:999999;
  transition:opacity .7s ease;
}
.wlc-inner{text-align:center;animation:wlcReveal 1s ease forwards;}
.wlc-line{font-family:var(--font-mono);font-size:1rem;letter-spacing:.35em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;opacity:0;animation:wlcFadeIn .8s ease .3s forwards;}
.wlc-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:700;color:var(--accent);text-shadow:0 1px 3px var(--accent),0 1px 4px rgba(43,87,154,.3);letter-spacing:.2em;opacity:0;animation:wlcFadeIn .9s ease .6s forwards, wlcPulse 2s ease 1.5s infinite;}
.wlc-by{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.25em;color:var(--muted);margin-top:18px;opacity:0;animation:wlcFadeIn .8s ease 1s forwards;}
@keyframes wlcFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes wlcReveal{from{opacity:0}to{opacity:1}}
@keyframes wlcPulse{0%,100%{text-shadow:0 1px 3px var(--accent),0 1px 4px rgba(43,87,154,.3);}50%{text-shadow:0 1px 3px var(--accent),0 2px 6px rgba(43,87,154,.5),0 2px 6px rgba(43,87,154,.2);}}
#splash{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:var(--bg);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  z-index:99999;
  transition:.6s ease;
  opacity:0;
}
#splash h1{font-family:var(--font-display);color:var(--accent);font-size:2.5rem;text-shadow:0 1px 2px var(--accent),0 1px 3px rgba(43,87,154,.3);margin-bottom:10px;letter-spacing:.2em;}
#splash .tagline{color:var(--muted);font-size:.85rem;margin-bottom:30px;letter-spacing:.15em;}
.bar{width:320px;height:4px;background:var(--surface3);border-radius:20px;overflow:hidden;}
.bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent2));animation:loadBar 4s linear forwards;box-shadow:0 1px 1px var(--accent);}
@keyframes loadBar{from{width:0%}to{width:100%}}
#loadingText{color:var(--accent);font-size:.8rem;margin-bottom:12px;letter-spacing:.1em;}
.app{
  width:100%;max-width:1400px;height:92vh;
  background:var(--surface2);
  border-radius:20px;
  display:flex;overflow:hidden;
  box-shadow:0 0 0 1px rgba(43,87,154,.12),0 1px 3px rgba(43,87,154,.08);
  position:relative;
}

@media screen and (min-width: 901px){
  body{
    display:block !important;
    height:100vh !important;
    overflow:hidden !important;
  }
  .app{
    width:100vw !important;
    max-width:100vw !important;
    height:100vh !important;
    border-radius:0 !important;
    box-shadow:none !important;
    position:fixed !important;
    top:0 !important;left:0 !important;
  }
  .sidebar{ 
    width: 280px; 
    flex-shrink: 0; 
    position: relative; 
    left: 0 !important; 
    transform: none !important;
  }
  .chat-area{ 
    flex: 1; 
    width: auto !important; 
  }
  .messages .ai, 
  .messages .user{ 
    max-width: 85%; 
  }
  #mobileMenuBtn{ 
    display: none !important; 
  }
}

@media screen and (max-width:900px){
  body{display:block !important;height:100dvh !important;overflow:hidden !important;}
  .app{width:100vw !important;max-width:100vw !important;height:100dvh !important;border-radius:0 !important;position:fixed !important;top:0;left:0;}
  .sidebar{position:fixed !important;left:-280px !important;top:0 !important;bottom:0 !important;width:260px !important;height:100dvh !important;z-index:500 !important;transition:left .3s ease !important;background:var(--surface) !important;}
  .chat-area{width:100vw !important;max-width:100vw !important;flex:1 !important;}
  .settings-panel,.admin-panel{width:100vw !important;}
  .chat-header{padding-left:56px !important;}
  .input-area{padding:10px 8px !important;gap:6px !important;}
  .input-wrap{padding:4px 4px 4px 10px !important;gap:2px !important;}
  .ai{margin-left:34px !important;max-width:82% !important;}
  .ai::before{left:-34px !important;width:26px !important;height:26px !important;font-size:.65rem !important;}
  .user{margin-right:34px !important;}
  .user::after{right:-34px !important;width:26px !important;height:26px !important;font-size:.65rem !important;}
  .user{max-width:82% !important;}
  #mobileMenuBtn{ display: flex !important; }
}
.sidebar{
  width:240px;background:var(--surface);
  padding:20px 16px;
  border-right:1px solid rgba(43,87,154,.12);
  display:flex;flex-direction:column;gap:0;
}
.logo{font-family:var(--font-display);color:var(--accent);font-size:1.4rem;font-weight:700;text-shadow:0 1px 2px var(--accent);letter-spacing:.15em;margin-bottom:6px;}
.logo-sub{color:var(--muted);font-size:.65rem;letter-spacing:.2em;margin-bottom:20px;}
.new-chat{width:100%;height:42px;margin-bottom:14px;background:transparent;border:1px solid rgba(43,87,154,.35);border-radius:10px;color:var(--accent);font-family:var(--font-mono);font-size:.8rem;cursor:pointer;letter-spacing:.1em;transition:var(--speed);}
.new-chat:hover{background:rgba(43,87,154,.1);box-shadow:0 1px 2px rgba(43,87,154,.15);}
#history{flex:1;overflow-y:auto;}
.chat-item{padding:9px 12px;background:var(--surface3);border-radius:10px;margin-bottom:8px;cursor:pointer;font-size:.78rem;color:var(--muted);border:1px solid transparent;transition:var(--speed);display:flex;align-items:center;justify-content:space-between;}
.chat-item:hover{border-color:rgba(43,87,154,.25);color:var(--text);}
.active-chat{border-color:rgba(43,87,154,.4) !important;color:var(--accent) !important;background:rgba(43,87,154,.08) !important;}
.chat-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;}
.chat-del-btn{flex-shrink:0;background:transparent;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:2px 4px;border-radius:6px;opacity:.55;transition:opacity .2s, color .2s, background .2s;line-height:1;display:flex;align-items:center;justify-content:center;}
.chat-item:hover .chat-del-btn{opacity:.85;}
.chat-del-btn:hover{color:var(--danger);background:rgba(164,38,44,.12);opacity:1;}
.sidebar-nav{margin-top:16px;padding-top:16px;border-top:1px solid rgba(43,87,154,.1);display:flex;flex-direction:column;gap:6px;}
.nav-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:transparent;border:none;color:var(--muted);font-family:var(--font-mono);font-size:.8rem;cursor:pointer;letter-spacing:.05em;transition:var(--speed);text-align:left;}
.nav-btn:hover{background:rgba(43,87,154,.07);color:var(--text);}
.nav-btn svg{flex-shrink:0;opacity:.7;}
.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;}
.chat-header{padding:16px 20px;border-bottom:1px solid rgba(43,87,154,.1);display:flex;align-items:center;justify-content:space-between;}
.chat-title{font-family:var(--font-display);font-size:.9rem;color:var(--accent);letter-spacing:.1em;}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.messages{flex:1;padding:24px 20px;overflow-y:auto;scroll-behavior:smooth;display:flex;flex-direction:column;gap:2px;}
.messages::-webkit-scrollbar{width:4px;}
.messages::-webkit-scrollbar-thumb{background:rgba(43,87,154,.2);border-radius:4px;}
.ai{position:relative;background:var(--surface3);border:1px solid rgba(43,87,154,.08);padding:12px 16px;border-radius:4px 16px 16px 16px;margin:6px 0 6px 40px;line-height:1.7;max-width:78%;font-size:var(--msg-font-size);font-weight:400;box-shadow:0 1px 2px rgba(0,0,0,.12);animation:msgIn .28s cubic-bezier(.2,.8,.2,1);transition:box-shadow .2s;}
.ai::before{content:"";position:absolute;left:-40px;top:0;width:30px;height:30px;border-radius:50%;background-image:url(favicon.png);background-color:#1a1a24;background-size:60%;background-repeat:no-repeat;background-position:center;box-shadow:0 1px 2px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);}
.ai:hover{box-shadow:0 2px 6px rgba(0,0,0,.18);}
.user{position:relative;background:linear-gradient(135deg,var(--accent) 0%,rgba(0,150,255,.85) 100%);color:#fff;border:none;padding:12px 16px;border-radius:16px 4px 16px 16px;margin:6px 40px 6px 0;text-align:left;line-height:1.7;max-width:78%;margin-left:auto;font-size:var(--msg-font-size);font-weight:400;box-shadow:0 1px 3px rgba(43,87,154,.35);animation:msgIn .28s cubic-bezier(.2,.8,.2,1);}
.msg-wrap{width:100%;}
.msg-actions{display:flex;gap:2px;opacity:.65;transition:opacity .15s;margin-top:-2px;}
.msg-wrap:hover .msg-actions{opacity:1;}
.user-wrap .msg-actions{margin:0 40px 8px 0;justify-content:flex-end;}
.ai-wrap .msg-actions{margin:0 0 8px 40px;justify-content:flex-start;}
.msg-action-btn{background:transparent;border:none;color:var(--muted);width:24px;height:24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--speed);padding:0;}
.msg-action-btn:hover{background:rgba(43,87,154,.14);color:var(--accent);}
.msg-action-btn.active{color:var(--accent);}
.msg-action-btn.dislike-btn.active{color:var(--danger);}
.edit-textarea{width:100%;min-height:60px;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 10px;color:#fff;font-family:inherit;font-size:inherit;line-height:1.6;resize:vertical;outline:none;}
.edit-cancel-btn,.edit-save-btn{height:30px;padding:0 12px;border-radius:8px;font-family:var(--font-mono);font-size:.7rem;cursor:pointer;border:none;}
.edit-cancel-btn{background:rgba(255,255,255,.12);color:#fff;}
.edit-save-btn{background:#fff;color:var(--accent);font-weight:700;}
.user::after{content:"";position:absolute;right:-40px;top:0;width:30px;height:30px;border-radius:50%;background:var(--ua-img,linear-gradient(135deg,var(--accent),rgba(0,150,255,.7))) center/cover;box-shadow:0 1px 2px rgba(0,0,0,.2);}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.typing-dots{display:inline-flex;gap:5px;align-items:center;height:14px;padding:2px 4px;}
.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5;animation:typingBounce 1.1s infinite ease-in-out;}
.typing-dots span:nth-child(2){animation-delay:.15s;}
.typing-dots span:nth-child(3){animation-delay:.3s;}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}
.loading{display:flex;align-items:center;}
.input-area{padding:12px 14px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(43,87,154,.08);background:var(--surface);}
.input-wrap{flex:1;min-width:0;display:flex;align-items:center;background:var(--surface3);border:1px solid rgba(43,87,154,.15);border-radius:26px;padding:4px 6px 4px 14px;gap:4px;transition:var(--speed);min-height:48px;}
.input-wrap:focus-within{border-color:rgba(43,87,154,.4);box-shadow:0 0 0 3px rgba(43,87,154,.06);}
input#prompt{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:.9rem;font-family:var(--font-mono);padding:6px 0;min-width:0;}
input#prompt::placeholder{color:var(--muted);}
.input-icon-btn{width:34px;height:34px;background:transparent;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--speed);}
.input-icon-btn:hover{color:var(--accent);background:rgba(43,87,154,.08);}
.input-icon-btn:active{transform:scale(.88);}
.send-btn{width:48px;height:48px;min-width:48px;border:none;background:linear-gradient(135deg,var(--accent) 0%,rgba(0,200,180,1) 100%);border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--speed);box-shadow:0 4px 16px rgba(43,87,154,.4),0 1px 4px rgba(0,0,0,.3);position:relative;overflow:hidden;}
.send-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,transparent 60%);border-radius:inherit;pointer-events:none;}
.send-btn:hover{transform:scale(1.07) translateY(-1px);box-shadow:0 8px 24px rgba(43,87,154,.55),0 2px 8px rgba(0,0,0,.4);}
.send-btn:active{transform:scale(.93) translateY(1px);box-shadow:0 2px 8px rgba(43,87,154,.3);}
.send-btn svg{width:20px;height:20px;stroke:#ffffff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));}

.settings-overlay{position:absolute;inset:0;background:rgba(5,5,12,.7);backdrop-filter:blur(8px);z-index:900;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity var(--speed);}
.settings-overlay.open{opacity:1;pointer-events:all;}
@media(max-width:900px){.settings-overlay{background:transparent !important;backdrop-filter:none !important;}.settings-overlay.open .settings-panel{width:100% !important;transform:translateX(0) !important;}.admin-overlay{background:transparent !important;backdrop-filter:none !important;}.admin-overlay.open .admin-panel{width:100% !important;transform:translateX(0) !important;}}
.settings-panel{width:360px;height:100%;background:var(--surface);border-left:1px solid rgba(43,87,154,.15);padding:28px 24px;overflow-y:auto;transform:translateX(100%);transition:transform var(--speed) cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:0;}
.settings-panel::-webkit-scrollbar{width:4px;}
.settings-panel::-webkit-scrollbar-thumb{background:rgba(43,87,154,.15);}
.settings-overlay.open .settings-panel{transform:translateX(0);}
.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.settings-title{font-family:var(--font-display);font-size:1rem;color:var(--accent);letter-spacing:.15em;}
.close-btn{width:32px;height:32px;border:none;background:rgba(255,255,255,.05);border-radius:8px;color:var(--muted);cursor:pointer;font-size:1.1rem;transition:var(--speed);display:flex;align-items:center;justify-content:center;}
.close-btn:hover{background:rgba(164,38,44,.15);color:var(--danger);}
.settings-section{margin-bottom:26px;}
.section-label{font-size:.65rem;letter-spacing:.2em;color:var(--muted);margin-bottom:12px;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid rgba(43,87,154,.08);}
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.setting-row:last-child{border-bottom:none;}
.setting-info{display:flex;flex-direction:column;gap:3px;}
.setting-name{font-size:.82rem;color:var(--text);}
.setting-desc{font-size:.7rem;color:var(--muted);}
.toggle{position:relative;width:42px;height:24px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-track{position:absolute;inset:0;background:#c8c6c4;border-radius:24px;cursor:pointer;transition:var(--speed);border:1px solid rgba(43,87,154,.2);}
.toggle input:checked ~ .toggle-track{background:rgba(43,87,154,.25);border-color:var(--accent);box-shadow:0 1px 1px rgba(43,87,154,.3);}
.toggle-track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:var(--speed);}
.toggle input:checked ~ .toggle-track::after{transform:translateX(18px);background:var(--accent);}
.setting-select{background:var(--surface3);border:1px solid rgba(43,87,154,.2);color:var(--text);font-family:var(--font-mono);font-size:.78rem;padding:7px 10px;border-radius:8px;outline:none;cursor:pointer;transition:var(--speed);max-width:140px;}
.setting-select:focus{border-color:var(--accent);}
.setting-select option{background:var(--surface3);}
.slider-wrap{display:flex;align-items:center;gap:10px;}
.slider-val{font-size:.78rem;color:var(--accent);min-width:28px;text-align:right;}
input[type=range]{-webkit-appearance:none;width:110px;height:4px;background:rgba(43,87,154,.2);border-radius:4px;outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(43,87,154,.6);transition:var(--speed);}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);}
.color-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.color-chip{width:28px;height:28px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:var(--speed);position:relative;}
.color-chip:hover{transform:scale(1.15);}
.color-chip.active{border-color:#fff;box-shadow:0 1px 1px rgba(255,255,255,.4);}
.setting-input{width:100%;height:38px;background:var(--surface3);border:1px solid rgba(43,87,154,.15);color:var(--text);font-family:var(--font-mono);font-size:.78rem;padding:0 12px;border-radius:8px;outline:none;transition:var(--speed);margin-top:8px;}
.setting-input:focus{border-color:var(--accent);}
.settings-footer{margin-top:20px;display:flex;gap:10px;}
.btn-reset{flex:1;height:40px;background:transparent;border:1px solid rgba(164,38,44,.3);color:var(--danger);border-radius:10px;font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:var(--speed);letter-spacing:.08em;}
.btn-reset:hover{background:rgba(164,38,44,.1);}
.btn-save{flex:2;height:40px;background:var(--accent);border:none;color:#000;border-radius:10px;font-family:var(--font-display);font-size:.72rem;cursor:pointer;transition:var(--speed);letter-spacing:.1em;font-weight:700;}
.btn-save:hover{box-shadow:0 0 14px rgba(43,87,154,.4);transform:scale(1.02);}
.sidebar-drawer{position:fixed !important;left:-280px;top:0;bottom:0;width:260px !important;z-index:500;transition:left .3s cubic-bezier(.4,0,.2,1);padding:16px !important;display:flex !important;flex-direction:column;}
.sidebar-drawer.open{left:0 !important;box-shadow:6px 0 30px rgba(0,0,0,.7);}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:499;}
.sidebar-overlay.show{display:block;}
.team-toggle-btn{width:100%;height:44px;background:var(--surface3);border:1px solid rgba(43,87,154,.15);border-radius:10px;color:var(--text);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 14px;transition:var(--speed);}
.team-toggle-btn:hover{border-color:rgba(43,87,154,.4);background:rgba(43,87,154,.07);color:var(--accent);}
.team-chevron{transition:transform .35s cubic-bezier(.4,0,.2,1);color:var(--accent);flex-shrink:0;}
.team-toggle-btn.open .team-chevron{transform:rotate(180deg);}
.team-list{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.team-list.open{grid-template-rows:1fr;}
.team-list > *{min-height:0;}
.team-member{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.04);opacity:0;transform:translateX(-16px);transition:opacity .3s ease calc(var(--i) * 80ms + .1s),transform .35s cubic-bezier(.4,0,.2,1) calc(var(--i) * 80ms + .1s);}
.team-list.open .team-member{opacity:1;transform:translateX(0);}
.team-member:last-child{border-bottom:none;}
.member-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(43,87,154,.25),rgba(33,115,70,.25));border:1px solid rgba(43,87,154,.25);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);flex-shrink:0;box-shadow:0 1px 1px rgba(43,87,154,.1);position:relative;overflow:visible;}
.member-info{display:flex;flex-direction:column;gap:2px;}
.member-name{font-size:.83rem;color:var(--text);font-weight:700;letter-spacing:.05em;}
.member-role{font-size:.68rem;color:var(--muted);letter-spacing:.1em;}
.team-member.chief{background:linear-gradient(90deg,rgba(43,87,154,.06),transparent);border-radius:10px;padding:10px 8px;border-bottom:1px solid rgba(43,87,154,.12) !important;}
.chief-avatar{background:linear-gradient(135deg,rgba(255,214,0,.3),rgba(43,87,154,.2)) !important;border-color:rgba(255,214,0,.5) !important;box-shadow:0 1px 2px rgba(255,214,0,.25) !important;position:relative;}
.crown{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:.9rem;animation:crownFloat 2.5s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,214,0,.8));}
@keyframes crownFloat{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-3px);}}
.chief-badge{font-size:.55rem;letter-spacing:.15em;background:linear-gradient(90deg,#ffd60a,#ffaa00);color:#000;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:5px;vertical-align:middle;font-family:var(--font-display);}
.save-toast{position:fixed;bottom:24px;right:24px;background:var(--surface3);border:1px solid rgba(43,87,154,.3);color:var(--accent);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;padding:8px 16px;border-radius:10px;box-shadow:0 0 14px rgba(43,87,154,.15);z-index:9999;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none;}
.save-toast.show{opacity:1;transform:translateY(0);}
.ai h1,.ai h2,.ai h3{font-family:var(--font-display);color:var(--accent);margin:10px 0 6px;letter-spacing:.05em;}
.ai h1{font-size:1.1rem;}
.ai h2{font-size:1rem;}
.ai h3{font-size:.9rem;}
.ai p{margin:6px 0;line-height:1.8;}
.ai ul,.ai ol{padding-left:20px;margin:6px 0;}
.ai ul li,.ai ol li{margin:4px 0;line-height:1.7;}
.ai ul li::marker{color:var(--accent);}
.ai ol li::marker{color:var(--accent);font-weight:700;}
.ai strong{color:var(--accent);font-weight:700;}
.ai em{color:var(--muted);font-style:italic;}
.ai code{background:rgba(43,87,154,.1);border:1px solid rgba(43,87,154,.2);padding:1px 6px;border-radius:5px;font-family:var(--font-mono);font-size:.82rem;color:var(--accent);}
.ai pre{background:#0a0a15;border:1px solid rgba(43,87,154,.15);border-radius:10px;padding:12px;overflow-x:auto;margin:0;}
.ai pre code{background:none;border:none;padding:0;color:#e0e0f0;font-size:.8rem;white-space:pre;}
.code-block{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(43,87,154,.15);}
.code-block .code-block-header{display:flex;align-items:center;justify-content:space-between;background:#14141f;padding:8px 14px;border-bottom:1px solid rgba(43,87,154,.15);}
.code-block .code-lang{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted);}
.code-block .code-copy-btn{background:transparent;border:none;color:var(--muted);font-family:var(--font-mono);font-size:.65rem;padding:4px;border-radius:6px;cursor:pointer;transition:var(--speed);display:flex;align-items:center;justify-content:center;}
.code-block .code-copy-btn:hover{color:var(--accent);background:rgba(43,87,154,.1);}
.code-block pre{border:none;border-radius:0;margin:0;}
.ai blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--muted);margin:8px 0;}
.ai hr{border:none;border-top:1px solid rgba(43,87,154,.15);margin:10px 0;}
.ai a{color:var(--accent);text-decoration:underline;}
.ai table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.8rem;}
.ai th{background:rgba(43,87,154,.1);color:var(--accent);padding:6px 10px;text-align:left;border:1px solid rgba(43,87,154,.2);}
.ai td{padding:6px 10px;border:1px solid rgba(255,255,255,.06);}
.ai tr:nth-child(even){background:rgba(255,255,255,.02);}

.img-preview{position:relative;display:none;padding:8px 20px 0;}
.img-preview.show{display:flex;align-items:center;gap:10px;}
.img-preview img{width:60px;height:60px;object-fit:cover;border-radius:8px;border:1px solid rgba(43,87,154,.3);}
.img-preview-remove{width:24px;height:24px;background:rgba(164,38,44,.2);border:none;border-radius:6px;color:var(--danger);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;}
.img-preview-label{font-size:.72rem;color:var(--muted);}
.file-preview{position:relative;display:none;padding:8px 20px 0;align-items:center;gap:10px;}
.file-preview.show{display:flex;}
.file-preview-icon{width:36px;height:36px;border-radius:8px;background:rgba(43,87,154,.12);border:1px solid rgba(43,87,154,.3);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;}
.file-preview-name{font-size:.72rem;color:var(--text);font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-preview-label{font-size:.65rem;color:var(--muted);}
.error-msg{background:#fde7e9 !important;color:#a4262c !important;border:1px solid var(--danger) !important;box-shadow:0 1px 2px rgba(164,38,44,.15);animation:fadeUp .3s ease !important;}
.err-header{font-family:var(--font-display);font-size:.65rem;letter-spacing:.25em;color:var(--danger);margin-bottom:8px;opacity:.8;}
.err-body{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#fff;text-shadow:0 1px 1px var(--danger),0 1px 2px rgba(164,38,44,.5);letter-spacing:.1em;animation:errGlitch 2s infinite 1.5s;margin-bottom:6px;}
.err-sub{font-family:var(--font-mono);font-size:.68rem;color:var(--danger);opacity:.6;letter-spacing:.12em;}
@keyframes glitchIn{0%{clip-path:inset(40% 0 40% 0);transform:skewX(-5deg);}25%{clip-path:inset(10% 0 70% 0);transform:skewX(3deg);}50%{clip-path:inset(60% 0 10% 0);transform:skewX(-2deg);}100%{clip-path:none;transform:skewX(0);}}
@keyframes errFlicker{0%,96%,100%{opacity:1;}97%{opacity:.6;}98%{opacity:1;}99%{opacity:.4;}}
@keyframes errGlitch{0%,90%,100%{text-shadow:0 1px 1px var(--danger),0 1px 2px rgba(164,38,44,.5);}91%{text-shadow:-2px 0 #0ff,2px 0 var(--danger);}93%{text-shadow:2px 0 #0ff,-2px 0 var(--danger);}95%{text-shadow:-1px 0 #0ff,1px 0 var(--danger);}}
#authScreen{position:fixed;inset:0;background:var(--bg);display:flex;justify-content:center;align-items:center;z-index:99998;transition:opacity .5s ease;}
#authScreen.hide{opacity:0;pointer-events:none;}
.auth-box{width:360px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid rgba(43,87,154,.15);border-radius:20px;padding:36px 32px;box-shadow:0 1px 3px rgba(43,87,154,.08);animation:fadeUp .4s ease;}
@media(max-width:768px){.auth-box{width:calc(100vw - 32px) !important;padding:28px 20px !important;border-radius:16px !important;}#authScreen{padding:16px !important;align-items:center !important;}#splash,#welcome{padding:20px !important;}#splash h1{font-size:2rem !important;}.wlc-title{font-size:2.5rem !important;}.bar{width:80vw !important;}}
.auth-logo{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--accent);text-shadow:0 1px 2px var(--accent);text-align:center;letter-spacing:.2em;margin-bottom:4px;}
.auth-sub{text-align:center;font-size:.72rem;color:var(--muted);letter-spacing:.2em;margin-bottom:28px;}
.auth-tabs{display:flex;gap:8px;margin-bottom:24px;}
.auth-tab{flex:1;height:38px;background:transparent;border:1px solid rgba(43,87,154,.15);border-radius:10px;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;cursor:pointer;transition:var(--speed);}
.auth-tab.active{background:rgba(43,87,154,.12);border-color:var(--accent);color:var(--accent);box-shadow:0 1px 1px rgba(43,87,154,.15);}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:.68rem;color:var(--muted);letter-spacing:.15em;margin-bottom:6px;}
.auth-input{width:100%;height:44px;background:var(--surface3);border:1px solid rgba(43,87,154,.15);border-radius:10px;color:var(--text);font-family:var(--font-mono);font-size:.85rem;padding:0 14px;outline:none;transition:var(--speed);}
.auth-input:focus{border-color:var(--accent);box-shadow:0 1px 1px rgba(43,87,154,.1);}
.auth-btn{width:100%;height:46px;background:var(--accent);border:none;border-radius:12px;color:#000;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:var(--speed);margin-top:6px;}
.auth-btn:hover{box-shadow:0 0 18px rgba(43,87,154,.4);transform:scale(1.02);}
.auth-msg{text-align:center;font-size:.75rem;margin-top:12px;min-height:18px;transition:var(--speed);}
.auth-msg.err{color:var(--danger);}
.auth-msg.ok{color:var(--accent);}
.user-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(43,87,154,.06);border:1px solid rgba(43,87,154,.1);border-radius:10px;margin-bottom:12px;}
.user-avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,rgba(43,87,154,.3),rgba(33,115,70,.3));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.8rem;color:var(--accent);font-weight:700;}
.user-name{font-size:.78rem;color:var(--text);font-weight:700;}
.user-role{font-size:.62rem;color:var(--muted);letter-spacing:.1em;}
.logout-btn{margin-left:auto;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;transition:var(--speed);padding:4px;border-radius:6px;}
.logout-btn:hover{color:var(--danger);background:rgba(164,38,44,.1);}
.admin-overlay{position:absolute;inset:0;background:rgba(5,5,12,.8);backdrop-filter:blur(8px);z-index:901;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity var(--speed);}
.admin-overlay.open{opacity:1;pointer-events:all;}
.admin-panel{width:380px;height:100%;background:var(--surface);border-left:1px solid rgba(43,87,154,.15);padding:28px 24px;overflow-y:auto;transform:translateX(100%);transition:transform var(--speed) cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:16px;}
.admin-overlay.open .admin-panel{transform:translateX(0);}
@media(max-width:900px){.admin-overlay{background:none !important;backdrop-filter:none !important;}.admin-panel{width:100% !important;transform:none !important;}.admin-overlay.open .admin-panel{transform:none !important;}.settings-overlay{background:none !important;backdrop-filter:none !important;}.settings-panel{width:100% !important;transform:none !important;}.settings-overlay.open .settings-panel{transform:none !important;}}
.admin-title{font-family:var(--font-display);font-size:1rem;color:#ffd60a;letter-spacing:.15em;display:flex;align-items:center;gap:8px;}
.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stat-card{background:var(--surface3);border-radius:12px;padding:14px;border:1px solid rgba(43,87,154,.08);text-align:center;}
.stat-num{font-family:var(--font-display);font-size:1.6rem;color:var(--accent);font-weight:700;}
.stat-label{font-size:.65rem;color:var(--muted);letter-spacing:.1em;margin-top:2px;}
.user-list{display:flex;flex-direction:column;gap:8px;}
.user-item{display:flex;align-items:center;gap:10px;background:var(--surface3);border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.04);animation:fadeUp .3s ease;}
.user-item-avatar{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,rgba(43,87,154,.2),rgba(33,115,70,.2));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.8rem;color:var(--accent);font-weight:700;flex-shrink:0;}
.user-item-info{flex:1;min-width:0;}
.user-item-name{font-size:.82rem;color:var(--text);font-weight:700;}
.user-item-meta{font-size:.65rem;color:var(--muted);}
.user-del-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:4px 6px;border-radius:6px;transition:var(--speed);}
.user-del-btn:hover{color:var(--danger);background:rgba(164,38,44,.12);}
.admin-refresh{width:100%;height:40px;background:transparent;border:1px solid rgba(43,87,154,.2);border-radius:10px;color:var(--accent);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;letter-spacing:.1em;transition:var(--speed);}
.admin-refresh:hover{background:rgba(43,87,154,.08);}
.role-modal-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:4px auto 14px;}
.role-badge{display:inline-block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;padding:4px 12px;border-radius:20px;font-weight:700;}
.role-contact-card{border-radius:14px;padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px;}
.role-contact-name{font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.02em;}
.role-contact-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:.78rem;background:rgba(0,0,0,.2);border-radius:10px;padding:9px 12px;transition:var(--speed);}
.role-contact-link:hover{background:rgba(0,0,0,.35);}
.role-contact-link svg{flex-shrink:0;}
.role-buy-btn{width:100%;height:46px;border:none;border-radius:12px;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:var(--speed);display:flex;align-items:center;justify-content:center;gap:8px;}
.role-buy-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}
.auth-lang-btn{flex:1;height:36px;background:var(--surface3);border:1px solid rgba(43,87,154,.2);border-radius:8px;color:var(--muted);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;transition:var(--speed);}
.auth-lang-btn.active{background:rgba(43,87,154,.15);border-color:var(--accent);color:var(--accent);font-weight:700;}
#installPromptOverlay{position:fixed;inset:0;background:rgba(5,5,12,.75);backdrop-filter:blur(6px);z-index:99997;display:flex;justify-content:center;align-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;}
#installPromptOverlay.show{opacity:1;pointer-events:all;}
.install-card{width:100%;max-width:340px;background:var(--surface);border:1px solid rgba(43,87,154,.35);border-radius:20px;padding:24px 22px;text-align:center;box-shadow:0 0 24px rgba(43,87,154,.15);animation:fadeUp .35s ease;}
.install-card-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgba(43,87,154,.3),rgba(33,115,70,.3));display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--accent);}
.install-card-title{font-family:var(--font-display);font-size:1.05rem;color:var(--accent);letter-spacing:.03em;margin-bottom:8px;}
.install-card-text{font-size:.82rem;color:var(--text);line-height:1.6;margin-bottom:18px;}
.install-card-btn{width:100%;height:44px;background:var(--accent);border:none;border-radius:12px;color:#000;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:var(--speed);margin-bottom:10px;}
.install-card-btn:hover{box-shadow:0 0 18px rgba(43,87,154,.4);}
.install-card-later{width:100%;height:38px;background:transparent;border:1px solid rgba(43,87,154,.2);border-radius:12px;color:var(--muted);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;margin-bottom:14px;}
.install-card-dontshow{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.7rem;color:var(--muted);cursor:pointer;user-select:none;}
.install-card-dontshow input{accent-color:var(--accent);cursor:pointer;}
