/* ============================================================
   CheekMes v7.2 Stable — interface
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden}
html{color-scheme:dark}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--t);font-size:var(--fs,15px);display:grid;place-items:center;padding:18px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;user-select:none}
input,textarea,select{width:100%;outline:none}
button:disabled{cursor:not-allowed;opacity:.55}

:root{
  --ac:#7c5cff;--ac2:#ff5c93;--r:18px;--fs:15px;--blur:24px;
  --bg:#080913;--bg2:#10111d;--bg3:#151725;
  --card:rgba(17,18,31,.78);--card-solid:#151725;--card2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.10);--border2:rgba(255,255,255,.16);
  --t:#f5f6ff;--muted:#a0a6bd;--weak:#686f86;
  --own:linear-gradient(135deg,var(--ac),var(--ac2));--other:rgba(255,255,255,.075);
  --ok:#2dd4bf;--warn:#fbbf24;--err:#fb7185;
  --shadow:0 28px 90px rgba(0,0,0,.46);--shadow-soft:0 16px 46px rgba(0,0,0,.30)
}
[data-theme=terminal]{--bg:#05080b;--bg2:#07100e;--bg3:#0b1715;--card:rgba(4,15,18,.82);--card-solid:#07100e;--card2:rgba(0,255,194,.06);--border:rgba(0,255,194,.13);--border2:rgba(0,255,194,.20);--t:#eafff9;--muted:#8ab4ad;--weak:#526e68;--own:linear-gradient(135deg,#00d4ff,#24f0b6);--other:rgba(0,255,194,.07);--ac:#00d4ff;--ac2:#24f0b6;--shadow:0 28px 100px rgba(0,0,0,.58)}
[data-theme=dark]{--bg:#090a13;--bg2:#111220;--bg3:#17182a;--card:rgba(19,20,34,.84);--card-solid:#17182a;--card2:rgba(255,255,255,.058);--border:rgba(255,255,255,.09);--t:#f4f4fb;--muted:#9699ad;--weak:#62677f}
[data-theme=amoled]{--bg:#000;--bg2:#050508;--bg3:#0c0c12;--card:rgba(8,8,14,.88);--card-solid:#0c0c12;--card2:rgba(255,255,255,.045);--border:rgba(255,255,255,.065);--t:#f1f1f6;--muted:#85889b;--weak:#53576b;--shadow:0 26px 90px rgba(0,0,0,.72)}
[data-theme=light]{color-scheme:light;--bg:#eef1f7;--bg2:#f7f9fc;--bg3:#fff;--card:rgba(255,255,255,.82);--card-solid:#fff;--card2:rgba(22,28,45,.055);--border:rgba(14,20,35,.10);--border2:rgba(14,20,35,.16);--t:#101320;--muted:#5d6478;--weak:#8a93a8;--other:#fff;--shadow:0 24px 80px rgba(33,42,70,.16);--shadow-soft:0 12px 34px rgba(33,42,70,.12)}
[data-theme=nord]{--bg:#202632;--bg2:#2e3440;--bg3:#333b49;--card:rgba(46,52,64,.84);--card-solid:#333b49;--card2:rgba(255,255,255,.066);--border:rgba(216,222,233,.10);--t:#eceff4;--muted:#a7b3c7;--weak:#718096;--ac:#88c0d0;--ac2:#5e81ac;--own:linear-gradient(135deg,#5e81ac,#88c0d0)}
[data-theme=midnight]{--bg:#070912;--bg2:#0d1220;--bg3:#131a2b;--card:rgba(13,18,32,.84);--card-solid:#131a2b;--card2:rgba(88,166,255,.07);--border:rgba(139,148,158,.13);--border2:rgba(139,148,158,.20);--t:#dfeaff;--muted:#96a3b8;--weak:#647084;--ac:#58a6ff;--ac2:#bc8cff;--own:linear-gradient(135deg,#3b82f6,#a855f7)}
[data-theme=sunset]{--bg:#12090f;--bg2:#1d1017;--bg3:#2a1722;--card:rgba(35,18,27,.84);--card-solid:#2a1722;--card2:rgba(255,255,255,.058);--border:rgba(255,255,255,.10);--t:#fff6f7;--muted:#d4a7b2;--weak:#8a6671;--ac:#fb7185;--ac2:#f97316;--own:linear-gradient(135deg,#fb7185,#f97316)}
[data-blur=off]{--blur:0px}.hidden{display:none!important}.muted{color:var(--muted)}
[data-motion=off] *,[data-motion=off] *::before,[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

body::before{content:"";position:fixed;inset:-24%;z-index:-3;background:radial-gradient(circle at 14% 14%,color-mix(in srgb,var(--ac) 22%,transparent),transparent 27%),radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--ac2) 18%,transparent),transparent 29%),radial-gradient(circle at 58% 92%,rgba(45,212,191,.12),transparent 31%);filter:blur(22px);pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.018),transparent 26%,transparent 74%,rgba(255,255,255,.015));pointer-events:none}.noise,.scanline{position:fixed;inset:0;pointer-events:none}.noise{background-image:radial-gradient(rgba(255,255,255,.07) .65px,transparent .65px);background-size:24px 24px;opacity:.10;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}.scanline{background:linear-gradient(to bottom,transparent 0 50%,rgba(255,255,255,.018) 50% 100%);background-size:100% 4px;opacity:.22}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.026)),var(--card);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}

.screen{display:none;width:100%;height:100%;position:relative}.screen.active{display:flex}
.auth-screen{align-items:center;justify-content:center}.auth-shell{width:min(430px,100%);padding:28px;border-radius:30px;display:grid;gap:18px;animation:panelIn .28s ease}.auth-head{display:flex;align-items:center;gap:14px}.brand-logo{width:58px;height:58px;border-radius:19px;box-shadow:0 16px 42px color-mix(in srgb,var(--ac) 28%,transparent)}.brand-copy{min-width:0;flex:1}.brand-copy h1{font-size:32px;line-height:1;font-weight:950;letter-spacing:-.045em;background:linear-gradient(135deg,var(--t),color-mix(in srgb,var(--ac2) 82%,var(--t)));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-copy p{color:var(--muted);margin-top:7px;font-size:13px}.admin-entry{border:1px solid var(--border);background:var(--card2);border-radius:13px;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:900;transition:.18s}.admin-entry:hover{color:var(--t);border-color:var(--border2);transform:translateY(-1px)}
.node-status{padding:11px 13px;border-radius:16px;background:var(--card2);border:1px solid var(--border);color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-status.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.node-status.error{color:#fecaca;border-color:color-mix(in srgb,var(--err) 42%,transparent)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:rgba(0,0,0,.18);border:1px solid var(--border);border-radius:18px}.tab{border:0;background:transparent;border-radius:13px;padding:12px;color:var(--muted);font-weight:900;transition:.18s}.tab.active{background:var(--own);color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--ac) 24%,transparent)}.auth-form{display:none;gap:14px}.auth-form.active{display:grid}
.field{display:grid;gap:8px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.field input,.field textarea,.field select{border:1px solid var(--border);background:var(--card2);border-radius:15px;padding:13px 14px;color:var(--t);transition:border-color .18s,box-shadow .18s,background .18s}.field input::placeholder,.field textarea::placeholder{color:var(--weak)}.field input:focus,.field textarea:focus,.field select:focus{border-color:color-mix(in srgb,var(--ac) 62%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac) 15%,transparent);background:color-mix(in srgb,var(--ac) 6%,var(--card2))}
.primary,.ghost{border-radius:15px;padding:11px 16px;font-weight:900;border:0;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.primary{background:var(--own);color:white;box-shadow:0 12px 34px color-mix(in srgb,var(--ac) 24%,transparent)}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 42px color-mix(in srgb,var(--ac) 30%,transparent)}.primary.big{padding:15px 18px}.ghost{background:var(--card2);border:1px solid var(--border);color:var(--t)}.ghost:hover{border-color:var(--border2);transform:translateY(-1px)}.danger-text{color:#ff9ca3!important}.danger:hover{color:var(--err)!important}

.app-screen{width:min(1380px,100%);height:min(900px,calc(100dvh - 36px));gap:14px}.sidebar{width:376px;min-width:330px;border-radius:30px;display:flex;flex-direction:column;overflow:hidden}.chat-pane{flex:1;border-radius:30px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar,.chat-header{height:74px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 14px;flex-shrink:0}.me{display:flex;align-items:center;gap:12px;background:transparent;border:0;text-align:left;min-width:0;flex:1;border-radius:20px;padding:6px;transition:.16s}.me:hover,.icon-btn:hover{background:var(--card2)}.avatar,.chat-avatar{width:44px;height:44px;border-radius:17px;display:grid;place-items:center;background:var(--own);color:#fff;font-weight:950;box-shadow:0 12px 26px color-mix(in srgb,var(--ac) 24%,transparent);flex-shrink:0}.chat-avatar.group{border-radius:18px;background:linear-gradient(135deg,var(--ac2),var(--ac))}.me-text,.chat-title,.chat-info{min-width:0}.me-text b,.chat-title b,.chat-info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-text span,.chat-title span{display:block;margin-top:3px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;gap:5px}.icon-btn{width:42px;height:42px;border:0;border-radius:15px;background:transparent;color:var(--muted);display:grid;place-items:center;font-weight:950;transition:.16s}.search-row{padding:12px 14px;border-bottom:1px solid var(--border)}.search-row input{border:1px solid var(--border);background:var(--card2);border-radius:16px;padding:12px 14px}.actions-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px 12px;border-bottom:1px solid var(--border)}.actions-row button{border:1px solid var(--border);background:var(--card2);border-radius:15px;padding:10px;color:var(--t);font-weight:900;transition:.16s}.actions-row button:hover{border-color:color-mix(in srgb,var(--ac) 45%,transparent);transform:translateY(-1px)}.chat-list{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:5px}.chat-item{width:100%;border:0;background:transparent;color:var(--t);display:flex;gap:12px;align-items:center;padding:11px;border-radius:20px;text-align:left;transition:background .16s,outline-color .16s,transform .16s}.chat-item:hover{background:var(--card2);transform:translateY(-1px)}.chat-item.active{background:color-mix(in srgb,var(--ac) 13%,var(--card2));outline:1px solid color-mix(in srgb,var(--ac) 36%,transparent)}.chat-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.chat-row span{font-size:11px;color:var(--weak);flex-shrink:0}.chat-info{flex:1}.chat-info p{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.empty-list{padding:34px 18px;text-align:center;color:var(--weak)}.mobile-only{display:none}
.messages{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.messages.empty{align-items:center;justify-content:center}.empty-state{text-align:center;max-width:410px;color:var(--muted)}.empty-state img{width:94px;height:94px;border-radius:29px;margin-bottom:18px;box-shadow:0 18px 48px color-mix(in srgb,var(--ac) 24%,transparent)}.empty-state h2{color:var(--t);font-size:30px;margin-bottom:8px;letter-spacing:-.04em}.msg{display:flex;animation:msgIn .18s ease}.msg.own{justify-content:flex-end}@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes panelIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.msg-bubble{max-width:min(690px,78%);padding:10px 12px;border-radius:20px;background:var(--other);border:1px solid var(--border);box-shadow:0 4px 18px rgba(0,0,0,.12)}.msg.own .msg-bubble{background:var(--own);border-color:transparent;color:#fff}.msg-top{display:flex;gap:8px;align-items:center;margin-bottom:6px;font-size:12px}.msg-top span{opacity:.72}.sig{font-size:10px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.13)}.sig.bad{background:rgba(239,68,68,.22);color:#fecaca}.msg-body{white-space:pre-wrap;word-break:break-word;line-height:1.48}.error-text{color:#fecaca}.file-card{margin-top:8px;width:100%;display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);text-align:left}.file-card span:last-child{min-width:0}.file-card b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card small{display:block;opacity:.75;margin-top:2px}.file-ico{font-size:24px}.file-badge{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:var(--card2);border-top:1px solid var(--border);color:var(--muted)}.file-badge button{border:0;background:transparent;color:var(--err);font-size:20px}.composer{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0}.composer textarea{resize:none;min-height:42px;max-height:160px;padding:12px 14px;background:var(--card2);border:1px solid var(--border);border-radius:17px;line-height:1.35}.send-btn{width:46px;height:42px;border:0;border-radius:16px;background:var(--own);color:white;font-weight:950;box-shadow:0 10px 26px color-mix(in srgb,var(--ac) 22%,transparent)}

.modal{border:0;background:transparent;color:var(--t);margin:0;padding:20px;width:100vw;height:100dvh;max-width:none;max-height:none}.modal:not([open]){display:none}.modal[open]{display:grid;place-items:center}.modal::backdrop{background:rgba(0,0,0,.64);backdrop-filter:blur(8px)}.modal-card{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border-radius:30px;padding:18px;display:grid;gap:14px;animation:panelIn .22s ease}.modal-card header,.modal-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-card header h3{font-size:20px;letter-spacing:-.02em}.modal-card header button{border:0;background:var(--card2);width:36px;height:36px;border-radius:13px;color:var(--muted);font-size:22px}.modal-card footer{justify-content:flex-end}.settings-card{width:min(760px,calc(100vw - 32px))}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.accent-grid{display:flex;gap:10px;flex-wrap:wrap}.accent-pick{width:42px;height:42px;border-radius:15px;border:2px solid transparent;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:var(--shadow-soft)}.accent-pick.active{border-color:var(--t);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac) 20%,transparent)}.check{display:flex;align-items:center;gap:9px;color:var(--muted);font-weight:800}.check input{width:auto}.backup-row{display:flex;gap:10px;flex-wrap:wrap}.admin-modal .modal-card,.admin-card{width:min(1060px,calc(100vw - 32px));max-height:min(88dvh,840px);overflow:hidden}.admin-login{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.admin-toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.stat{padding:13px;border-radius:17px;background:var(--card2);border:1px solid var(--border)}.stat b{display:block;font-size:20px;overflow:hidden;text-overflow:ellipsis}.stat span{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.admin-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.admin-tab{border:1px solid var(--border);background:var(--card2);border-radius:14px;padding:9px 13px;color:var(--muted);font-weight:900}.admin-tab.active{background:var(--own);color:#fff;border-color:transparent}.admin-content{max-height:470px;overflow:auto;display:grid;gap:8px;padding-right:2px}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:17px;background:var(--card2);border:1px solid var(--border)}.admin-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.admin-row-head{background:color-mix(in srgb,var(--ac) 9%,var(--card2));border-color:color-mix(in srgb,var(--ac) 28%,transparent)}.muted-row{opacity:.72}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.mini{border:1px solid var(--border);background:rgba(255,255,255,.065);border-radius:12px;padding:7px 9px;font-size:12px;font-weight:900}.mini:hover{border-color:var(--border2)}.mini.danger{color:#ffb3b8}.pill{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.11);padding:2px 7px;font-size:11px;margin-left:6px;color:var(--muted)}.pill.warn{color:#ffd5d8;background:rgba(251,113,133,.16)}
.loader{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.48);backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;gap:12px}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:white;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-root{position:fixed;top:18px;right:18px;z-index:100;display:grid;gap:10px;width:min(380px,calc(100vw - 36px))}.toast{padding:12px 14px;border-radius:17px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(var(--blur));animation:toastIn .22s ease}.toast.ok{border-color:rgba(45,212,191,.35)}.toast.warn{border-color:rgba(251,191,36,.35)}.toast.err{border-color:rgba(251,113,133,.42);color:#fecaca}.toast.hide{opacity:0;transform:translateX(18px)}@keyframes toastIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
[data-density=compact] .chat-item{padding:7px}[data-density=compact] .messages{gap:6px;padding:14px}[data-density=compact] .msg-bubble{padding:8px 10px}[data-density=roomy] .chat-item{padding:14px}[data-density=roomy] .messages{gap:14px;padding:28px}[data-density=roomy] .msg-bubble{padding:13px 15px}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ac) 28%,transparent);border-radius:9px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ac) 28%,transparent) transparent}

@media(max-width:1020px){body{padding:0}.app-screen{width:100%;height:100dvh;max-width:none;max-height:none;gap:0}.sidebar,.chat-pane{border-radius:0;border-left:0;border-right:0}.sidebar{width:100%;min-width:0}.chat-pane{position:absolute;inset:0;transform:translateX(100%);transition:.22s ease;z-index:4}.chat-open .chat-pane{transform:translateX(0)}.mobile-only{display:grid}.msg-bubble{max-width:88%}.settings-grid{grid-template-columns:1fr}.admin-login{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.toast-root{top:calc(12px + env(safe-area-inset-top));right:12px}.topbar,.chat-header{height:66px;padding-top:calc(10px + env(safe-area-inset-top))}.composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal{padding:14px}.modal-card,.settings-card,.admin-modal .modal-card,.admin-card{width:calc(100vw - 28px)}}
@media(min-width:1021px){.app-screen{display:none}.app-screen.active{display:flex}}
@media(max-width:560px){.auth-shell{padding:22px;border-radius:0;min-height:100%;width:100%;display:flex;flex-direction:column;justify-content:center}.brand-copy h1{font-size:30px}.brand-logo{width:54px;height:54px}.msg-bubble{max-width:94%}.modal{align-items:end;padding:0}.modal[open]{place-items:end center}.modal-card,.settings-card,.admin-modal .modal-card,.admin-card{width:100vw;max-height:92dvh;border-radius:26px 26px 0 0;padding:16px}.admin-stats{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}.toast-root{width:calc(100vw - 24px)}}
