@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#070912;
  --glass:rgba(18,22,38,.55);
  --glass-strong:rgba(22,27,46,.72);
  --border:rgba(255,255,255,.12);
  --text:#f7f8ff;
  --muted:#9da4bb;
  --accent:#8b7cff;
  --accent2:#54b7ff;
  --danger:#ff5f7a;
  --success:#55e6a5;
  --shadow:0 24px 80px rgba(0,0,0,.45);
  --blur:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--text);
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 10% 10%,rgba(139,124,255,.25),transparent 32%),
    radial-gradient(circle at 90% 15%,rgba(84,183,255,.18),transparent 30%),
    radial-gradient(circle at 50% 100%,rgba(139,124,255,.15),transparent 38%),
    var(--bg);
  background-attachment:fixed;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
  -webkit-mask-image:linear-gradient(to bottom,black,transparent 90%);
}
button,input,textarea,select{font:inherit}
button{cursor:pointer;transition:transform .18s,background .25s,box-shadow .25s,border-color .25s,filter .25s}
button:active{transform:scale(.97)}

/* ==== ICONS ==== */
svg.lucide{width:16px;height:16px;flex-shrink:0;display:inline-block;vertical-align:-3px;stroke-width:2}
.sheet-icon svg.lucide{width:36px;height:36px}
i[data-lucide]{display:inline-flex;width:16px;height:16px}

/* ==== ЛОГО-КАРТИНКА ==== */
.logo-img{
  width:32px;height:32px;flex-shrink:0;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(139,124,255,.6));
}

/* ==== BOOT LOADER ==== */
.boot-loader{
  position:fixed;inset:0;z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:
    radial-gradient(circle at 10% 10%,rgba(139,124,255,.25),transparent 32%),
    radial-gradient(circle at 90% 15%,rgba(84,183,255,.18),transparent 30%),
    radial-gradient(circle at 50% 100%,rgba(139,124,255,.15),transparent 38%),
    var(--bg);
  transition:opacity .35s ease,visibility .35s;
}
.boot-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.boot-logo{
  width:72px;height:72px;object-fit:contain;
  filter:drop-shadow(0 0 22px rgba(139,124,255,.75));
  animation:bootFloat 2.4s ease-in-out infinite alternate;
}
@keyframes bootFloat{from{transform:translateY(0)}to{transform:translateY(-6px)}}
.boot-spinner{
  width:40px;height:40px;border-radius:50%;
  border:3px solid rgba(139,124,255,.2);
  border-top-color:#8b7cff;
  animation:bootSpin .8s linear infinite;
  box-shadow:0 0 40px rgba(139,124,255,.4);
}
@keyframes bootSpin{to{transform:rotate(360deg)}}
.boot-text{
  font-size:22px;font-weight:800;letter-spacing:-.5px;
  background:linear-gradient(90deg,#c8beff,#7fd2ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}

/* ==== AUTH ==== */
.auth-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;position:relative;z-index:1;
}
.auth-container,.profile-card,.edit-panel,.card,.table-box,.db-card,.modal{
  background:var(--glass);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  backdrop-filter:blur(var(--blur)) saturate(140%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(140%);
}
.auth-container{
  width:410px;max-width:100%;padding:38px;border-radius:28px;
  position:relative;overflow:hidden;
}
.auth-container:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 40%);
}
.auth-container:after{
  content:"";position:absolute;top:-40%;right:-30%;width:80%;height:80%;
  background:radial-gradient(circle,rgba(139,124,255,.35),transparent 65%);
  filter:blur(40px);pointer-events:none;
}
.logo{font-size:30px;font-weight:800;letter-spacing:-1px}
.logo.logo-icon{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:26px;font-weight:800;letter-spacing:-.6px;
}
.logo.logo-icon span{
  background:linear-gradient(90deg,#c8beff,#7fd2ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.logo.logo-icon em{
  font-style:normal;
  background:linear-gradient(90deg,#a99cff,#61c5ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.auth-container .logo.logo-icon{width:100%;margin-bottom:8px}
.subtitle{text-align:center;color:var(--muted);margin-bottom:30px}
.step{display:none}.step.active{display:block}
h2{margin:0 0 20px;font-size:24px}
label{display:block;margin:0 0 8px;color:#c5c9d8;font-size:13px;font-weight:600}
input,textarea{
  width:100%;padding:14px 15px;margin-bottom:17px;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;outline:none;
  background:rgba(0,0,0,.25);color:#fff;font-size:15px;transition:.25s;
}
input:focus,textarea:focus{
  border-color:rgba(139,124,255,.8);
  box-shadow:0 0 0 4px rgba(139,124,255,.15);
  background:rgba(0,0,0,.35);
}
input[type=file]{display:none}
textarea{resize:vertical;min-height:100px}
.main-button,.save-button{
  width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;
  background:linear-gradient(135deg,var(--accent),#6b62e9);
  color:#fff;font-weight:700;box-shadow:0 12px 34px rgba(139,124,255,.35);
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.main-button:hover,.save-button:hover{transform:translateY(-2px);filter:brightness(1.1)}
.cancel-button,.logout-button{
  width:100%;margin-top:10px;padding:13px;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(255,255,255,.04);color:#b8bed0;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.cancel-button:hover,.logout-button:hover{background:rgba(255,255,255,.09);color:#fff}
.error{
  display:none;color:#ff8093;font-size:13px;margin-bottom:12px;padding:10px 12px;
  border-radius:10px;background:rgba(255,95,122,.08);border:1px solid rgba(255,95,122,.2);
}
.error:empty{display:none}
.success{
  display:none;color:#71edb0;font-size:13px;margin-bottom:12px;padding:10px 12px;
  border-radius:10px;background:rgba(85,230,165,.08);border:1px solid rgba(85,230,165,.2);
}
.switch{margin-top:18px;text-align:center;color:var(--muted);font-size:14px}
.switch span{color:#a79dff;cursor:pointer}
.switch span:hover{color:#c8beff}
.hint{font-size:12px;color:#777f96;margin-top:-8px;margin-bottom:15px}
.number-select{
  width:100%;margin-bottom:14px;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;
  outline:none;font-size:14px;appearance:none;
}
.number-select:focus{border-color:rgba(139,124,255,.42);box-shadow:0 0 0 3px rgba(139,124,255,.14)}

/* ==== FEED / HOME ==== */
.feed-page{display:none;min-height:100vh;padding:40px 20px;position:relative;z-index:1}
.feed-page.active{display:block}
.feed-wrapper{width:760px;max-width:100%;margin:0 auto}
.feed-card{
  background:var(--glass);border:1px solid var(--border);
  border-radius:28px;padding:36px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(var(--blur)) saturate(140%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(140%);
  position:relative;overflow:hidden;
}
.feed-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 40%);
}
.feed-logo{
  display:inline-flex;align-items:center;gap:10px;
  font-size:22px;font-weight:800;letter-spacing:-.5px;margin-bottom:14px;
}
.feed-logo .logo-img{width:28px;height:28px}
.feed-logo span{
  background:linear-gradient(90deg,#c8beff,#7fd2ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.feed-title{font-size:28px;font-weight:800;margin-bottom:8px}
.feed-subtitle{color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:22px}
.feed-actions{display:flex;gap:12px;flex-wrap:wrap}
.feed-actions .main-button{width:auto;max-width:220px}
.feed-actions .logout-button{width:auto;max-width:220px;margin-top:0}

/* ==== TOP SEARCH ==== */
.top-search-wrap{
  width:760px;max-width:100%;
  margin:0 auto 16px;
  position:relative;
  z-index:10;
}
.top-search{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:16px;
  backdrop-filter:blur(var(--blur)) saturate(140%);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(140%);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  transition:border-color .2s, box-shadow .2s;
}
.top-search:focus-within{
  border-color:rgba(139,124,255,.5);
  box-shadow:0 12px 40px rgba(139,124,255,.2);
}
.top-search svg.lucide{width:16px;height:16px;flex-shrink:0;color:#9da4bb}
.top-search input{
  flex:1;background:transparent;border:0;outline:none;
  color:#fff;font-size:15px;margin:0;padding:0;
}
.top-search input::placeholder{color:#6e768f}
.top-search-clear{
  background:transparent;border:0;padding:2px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#9da4bb;
}
.top-search-clear:hover{background:rgba(255,255,255,.08);color:#fff}
.top-search-clear svg.lucide{width:14px;height:14px}
.top-search-clear.hidden{display:none}

.search-results{
  position:absolute;top:calc(100% + 6px);left:0;right:0;
  background:var(--glass-strong);
  border:1px solid var(--border);
  border-radius:16px;
  padding:6px;
  max-height:380px;overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  z-index:50;
}
.search-results.hidden{display:none}
.search-item{
  display:flex;align-items:center;gap:10px;
  width:100%;text-align:left;
  padding:9px 10px;border-radius:12px;
  background:transparent;border:0;color:#fff;cursor:pointer;
  transition:.15s;
}
.search-item:hover{background:rgba(139,124,255,.14)}
.search-item img{
  width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;
  background:#202438;
}
.search-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.search-item-name{
  font-size:14px;font-weight:600;color:#fff;
  display:flex;align-items:center;gap:5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-item-verified{display:inline-flex;width:14px;height:14px;flex-shrink:0;filter:drop-shadow(0 0 5px currentColor)}
.search-item-verified svg.lucide{width:14px;height:14px}
.search-item-username{
  font-size:12.5px;color:#aab1c7;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-empty{padding:22px;text-align:center;color:#9da4bb;font-size:13.5px}

/* ==== PROFILE ==== */
.profile-page{display:none;min-height:100vh;padding:40px 20px;position:relative;z-index:1}
.profile-page.active{display:block}
.profile-wrapper{width:760px;max-width:100%;margin:auto}
.profile-card,.edit-panel{border-radius:28px;overflow:hidden;position:relative}
.profile-card:before,.edit-panel:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 40%);
}
.profile-cover{
  height:250px;background:linear-gradient(135deg,#25255c,#11111a);
  position:relative;background-size:cover;background-position:center;
  transition:background .3s;
}
.profile-cover.has-image{background-color:#0d1020}
.profile-cover.has-image:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(7,9,18,.1) 0%,rgba(7,9,18,.5) 65%,rgba(7,9,18,.9) 100%);
}
.profile-content{padding:0 32px 30px;position:relative;z-index:2}
.avatar-wrapper{margin-top:-55px;position:relative;z-index:2}
.avatar{
  width:110px;height:110px;border-radius:50%;object-fit:cover;
  border:4px solid rgba(10,12,22,.92);background:#202438;
  box-shadow:0 14px 40px rgba(0,0,0,.5);
}
.profile-name{font-size:28px;font-weight:800;word-break:break-word}
.profile-name-line{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.username-line{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
.profile-username{
  color:#aab1c7;font-size:15px;display:inline-block;
  background:transparent;border:0;padding:0;cursor:default;
}
.hidden{display:none!important}

/* ==== Галочка: картинка logo.png ==== */
.verified-icon{
  background:transparent;border:0;padding:0;
  width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:transform .2s;
}
.verified-icon:hover{transform:scale(1.1)}
.verified-icon img{
  width:20px;height:20px;border-radius:50%;object-fit:cover;display:block;
}

.profile-bio{margin-top:17px;color:#c7ccda;line-height:1.65;word-break:break-word;white-space:pre-wrap}

/* ==== Telegram-style meta ==== */
.profile-meta{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14.5px;color:#aab1c7;line-height:1.55}
.meta-label{color:#8e97ad}
.meta-value{
  background:transparent;border:0;padding:0;
  color:#c8beff;font-weight:600;font-size:14.5px;
  cursor:pointer;transition:.2s;font-family:inherit;
}
.meta-value:hover{
  color:#e0d6ff;
  text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;
}
.meta-number{color:#7fd2ff;font-variant-numeric:tabular-nums;letter-spacing:.3px}
.meta-number:hover{color:#a5e1ff}

.profile-badge-line{
  display:flex;align-items:center;gap:8px;margin-top:12px;
  font-size:13.5px;line-height:1.5;
}
.profile-badge-line.hidden{display:none}
.badge-icon-img{
  width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0;
  filter:drop-shadow(0 0 6px rgba(139,124,255,.55));
}

.profile-buttons{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.profile-buttons .logout-button{margin-top:0;width:auto}
.edit-button,.admin-button{
  border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:11px 16px;
  background:rgba(255,255,255,.06);color:#fff;
  display:inline-flex;align-items:center;gap:7px;
}
.edit-button:hover,.admin-button:hover{
  background:rgba(139,124,255,.16);border-color:rgba(139,124,255,.3);
  transform:translateY(-1px);
}
.profile-page.readonly .profile-buttons .edit-button,
.profile-page.readonly .profile-buttons .logout-button,
.profile-page.readonly .profile-buttons .admin-button{display:none!important}

.edit-panel{margin-top:16px;padding:25px;display:none}
.edit-panel.active{display:block}
.edit-title{font-size:20px;font-weight:700;margin-bottom:18px}
.avatar-preview{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.avatar-preview img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#202438}

.cover-preview{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.cover-preview-img{
  width:180px;height:80px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,#25255c,#11111a);
  background-size:cover;background-position:center;
  border:1px solid rgba(255,255,255,.1);
}
.cover-preview .file-label{margin-bottom:0}

.color-row{display:flex;gap:10px;margin:5px 0 20px}
.color{width:38px;height:38px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s}
.color:hover{transform:scale(1.1)}
.color-1{background:linear-gradient(135deg,#25255c,#11111a)}
.color-2{background:linear-gradient(135deg,#5c2525,#11111a)}
.color-3{background:linear-gradient(135deg,#255c3c,#11111a)}
.color-4{background:linear-gradient(135deg,#5c4c25,#11111a)}
.color-5{background:linear-gradient(135deg,#54255c,#11111a)}
.color.selected{border-color:#fff;box-shadow:0 0 0 3px rgba(139,124,255,.35)}

.file-label{
  display:inline-flex;align-items:center;gap:7px;padding:11px 14px;border-radius:12px;
  background:rgba(255,255,255,.07);cursor:pointer;margin-bottom:14px;
  color:#fff;font-size:14px;transition:.2s;
}
.file-label:hover{background:rgba(139,124,255,.16)}

/* ==== ADMIN ==== */
.layout{min-height:100vh;display:flex;position:relative;z-index:1}
.sidebar{
  width:260px;flex-shrink:0;
  background:rgba(10,13,24,.72);
  border-right:1px solid var(--border);
  padding:24px 15px;
  display:flex;flex-direction:column;
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  position:sticky;top:0;height:100vh;
}
.sidebar .logo.logo-icon{
  display:flex;align-items:center;gap:10px;
  font-size:22px;padding:0 12px 28px;
}
.sidebar .logo .logo-img{width:26px;height:26px}
.sidebar .logo.logo-icon span{
  background:linear-gradient(90deg,#c8beff,#7fd2ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.sidebar .logo.logo-icon em{
  font-style:normal;
  background:linear-gradient(90deg,#a99cff,#61c5ff);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.nav{display:flex;flex-direction:column;gap:7px}
.nav button{
  display:flex;align-items:center;gap:10px;
  border:1px solid transparent;background:transparent;
  color:#969db2;text-align:left;padding:13px 14px;border-radius:13px;font-size:14px;
}
.nav button:hover,.nav button.active{
  background:rgba(139,124,255,.13);
  border-color:rgba(139,124,255,.2);
  color:#fff;transform:translateX(2px);
}
.main{flex:1;padding:36px;min-width:0}
.page-title{font-size:30px;font-weight:800;letter-spacing:-.8px}
.page-subtitle{color:var(--muted);margin-top:7px;margin-bottom:25px}
.section{display:none}.section.active{display:block}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{border-radius:20px;padding:22px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(139,124,255,.2)}
.card-title{color:#969db2;font-size:13px}
.card-value{
  font-size:30px;font-weight:800;margin-top:10px;
  background:linear-gradient(90deg,#fff,#c8beff);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.card-icon{
  position:absolute;top:18px;right:18px;width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;border-radius:12px;
  background:rgba(139,124,255,.14);border:1px solid rgba(139,124,255,.22);color:#b8aaff;
}
.table-box{border-radius:22px;overflow:auto;margin-top:18px;position:relative}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}
th{color:#969db2;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:rgba(139,124,255,.05)}
tr:last-child td{border-bottom:0}
.db-card{border-radius:18px;padding:20px 20px 20px 60px;position:relative;transition:transform .25s,box-shadow .25s}
.db-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(139,124,255,.18)}
.db-card p{margin:0 0 12px;color:var(--muted);font-size:14px}
.db-card button{border:1px solid rgba(139,124,255,.25);border-radius:10px;padding:8px 12px;background:rgba(139,124,255,.16);color:#fff;display:inline-flex;align-items:center;gap:6px}
.db-icon{
  position:absolute;left:20px;top:20px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;border-radius:10px;
  background:rgba(139,124,255,.14);border:1px solid rgba(139,124,255,.22);color:#b8aaff;
}
.db-list{display:flex;flex-direction:column;gap:10px}
.username{color:#b7bdd0}
.badge{
  display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;
  font-size:11px;font-weight:700;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);white-space:nowrap;
}
.role-admin{color:#b8aaff;background:rgba(139,124,255,.13);border-color:rgba(139,124,255,.22)}
.role-member{color:#aab2c5}
.verified-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;background:transparent;border:0;padding:0;
  filter:drop-shadow(0 0 6px currentColor);
}
.badge-verified{color:#68c6ff;background:rgba(84,183,255,.1);border-color:rgba(84,183,255,.2)}
.badge-unverified{color:#aab2c5}
.action-btn{
  border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 11px;
  background:rgba(255,255,255,.05);color:#fff;margin:2px;
  display:inline-flex;align-items:center;gap:6px;
}
.action-btn:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
.action-btn.primary{background:rgba(139,124,255,.16);border-color:rgba(139,124,255,.28)}
.action-btn.danger{background:rgba(255,95,122,.1);border-color:rgba(255,95,122,.22);color:#ff9bad}
.action-btn.small{padding:4px 6px}
.action-btn[disabled]{opacity:.5;cursor:not-allowed;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.search{width:100%;max-width:380px;margin-bottom:15px}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.search-wrapper{position:relative;flex:1;min-width:220px;max-width:420px}
.search-wrapper svg.lucide{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:#777f96;pointer-events:none;width:16px;height:16px;
}
.search-wrapper .search{padding-left:36px;margin:0;width:100%}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  border:1px solid rgba(255,255,255,.1);border-radius:999px;
  padding:8px 14px;background:rgba(255,255,255,.04);color:#b8bed0;
  font-size:13px;display:inline-flex;align-items:center;gap:6px;
}
.chip.active{background:rgba(139,124,255,.2);border-color:rgba(139,124,255,.35);color:#fff}
.mini-input{width:150px;padding:9px 11px;margin:4px 4px 0 0;border-radius:10px}
.profile-button{
  border:0;background:transparent;color:#fff;text-align:left;
  padding:10px 12px;display:flex;align-items:center;gap:10px;border-radius:12px;
}
.profile-button:hover{background:rgba(139,124,255,.14)}
.loading,.placeholder{color:var(--muted);padding:30px;text-align:center}
.bottom{margin-top:auto;padding-top:20px}
.extra{display:inline-flex;align-items:center;gap:4px;margin:2px 6px 2px 0}
#error.error{
  padding:12px 14px;border-radius:12px;
  background:rgba(255,95,122,.1);border:1px solid rgba(255,95,122,.22);
  margin-bottom:16px;
}
.muted-small{color:#8e97ad;font-size:11px;margin-top:4px;display:block}
.name-line{display:inline-flex;align-items:center;gap:6px}
.tag-number{
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;
  background:rgba(84,183,255,.12);border:1px solid rgba(84,183,255,.25);
  color:#7fd2ff;font-size:12px;font-weight:600;letter-spacing:.5px;
  font-variant-numeric:tabular-nums;
}
.editable{
  cursor:pointer;border-bottom:1px dashed transparent;padding:1px 2px;border-radius:4px;
  transition:.15s;
}
.editable:hover{
  background:rgba(139,124,255,.14);border-bottom-color:rgba(139,124,255,.5);color:#fff;
}
.inline-edit{
  width:130px;padding:6px 9px;margin:0;border-radius:8px;
  border:1px solid rgba(139,124,255,.6);background:rgba(0,0,0,.4);color:#fff;font-size:13px;
  outline:none;box-shadow:0 0 0 3px rgba(139,124,255,.2);
}
.field{
  flex:1;min-width:200px;padding:14px 15px;margin-bottom:0;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;outline:none;
  background:rgba(0,0,0,.25);color:#fff;font-size:15px;transition:.25s;
}
.field::placeholder{color:#5f6780}
.field:focus{border-color:rgba(139,124,255,.7);box-shadow:0 0 0 4px rgba(139,124,255,.13)}

.number-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.number-input-wrap{position:relative;flex:1;min-width:220px;max-width:340px}
.number-field{
  width:100%;padding:14px 60px 14px 15px!important;margin-bottom:0!important;
  border:1px solid rgba(84,183,255,.28)!important;border-radius:14px!important;
  background:rgba(84,183,255,.07)!important;color:#7fd2ff!important;
  font-size:16px!important;font-weight:600!important;letter-spacing:1.5px;
  font-variant-numeric:tabular-nums;
}
.number-field:focus{
  border-color:rgba(84,183,255,.65)!important;
  box-shadow:0 0 0 4px rgba(84,183,255,.13)!important;
}
.number-counter{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-size:12px;font-weight:600;color:#777f96;
  font-variant-numeric:tabular-nums;pointer-events:none;
}
.number-counter.ok{color:#55e6a5}

/* ==== MODAL ==== */
.modal-backdrop{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:1000;padding:20px;
}
.modal-backdrop.active{display:flex}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal{
  width:460px;max-width:100%;padding:28px;border-radius:24px;
  background:var(--glass-strong);border:1px solid var(--border);
  box-shadow:var(--shadow);text-align:center;position:relative;
  animation:popIn .3s cubic-bezier(.2,1.2,.4,1) both;
  max-height:90vh;overflow-y:auto;
}
.modal-icon{
  width:52px;height:52px;margin:0 auto 14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(139,124,255,.14);border:1px solid rgba(139,124,255,.25);color:#b8aaff;
}
.modal-icon svg.lucide{width:24px;height:24px}
.modal-title{font-size:19px;font-weight:700;margin-bottom:8px}
.modal-text{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:20px}
.modal-label{
  display:block;text-align:left;margin:12px 0 6px;
  font-size:12px;font-weight:600;color:#c5c9d8;
  text-transform:uppercase;letter-spacing:.4px;
}
.modal .field{width:100%;min-width:0;margin-bottom:0;font-size:14px}
.modal textarea.field{min-height:60px;resize:vertical;font-family:Inter,Arial,sans-serif}
.modal select.field{
  appearance:none;-webkit-appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#9da4bb 50%),
    linear-gradient(135deg,#9da4bb 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  padding-right:36px;
}
.modal select.field option{background:#12162a;color:#fff}
.color-picker-row{display:flex;gap:8px;align-items:center}
.color-picker-row input[type=color]{
  width:52px;height:46px;padding:0;margin:0;
  border:1px solid rgba(255,255,255,.15);border-radius:12px;
  background:transparent;cursor:pointer;flex-shrink:0;
}
.color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:3px}
.color-picker-row input[type=color]::-webkit-color-swatch{border:0;border-radius:9px}
.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.modal-actions .action-btn{padding:10px 18px;font-size:14px}

/* badge-icon-row для админки */
.badge-icon-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.badge-icon-preview{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:#b8aaff;overflow:hidden;
}
.badge-icon-preview svg.lucide{width:22px;height:22px}
.badge-icon-preview img{width:100%;height:100%;object-fit:cover}
.badge-icon-row .file-label{margin-bottom:0}

/* ==== TOAST ==== */
.toast{
  position:fixed;top:20px;right:20px;padding:12px 18px;border-radius:14px;
  background:rgba(85,230,165,.16);border:1px solid rgba(85,230,165,.35);
  color:#71edb0;font-size:14px;font-weight:600;z-index:1100;
  opacity:0;transform:translateY(-12px);transition:.3s;
  pointer-events:none;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{background:rgba(255,95,122,.16);border-color:rgba(255,95,122,.35);color:#ff9bad}

/* ==== BOTTOM SHEET ==== */
.sheet-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:none;align-items:flex-end;justify-content:center;
  z-index:2000;
}
.sheet-backdrop.active{display:flex}
.sheet{
  width:100%;max-width:520px;
  background:var(--glass-strong);border:1px solid var(--border);
  border-radius:28px 28px 0 0;
  padding:14px 22px 28px;
  box-shadow:0 -20px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(28px) saturate(150%);
  -webkit-backdrop-filter:blur(28px) saturate(150%);
  animation:sheetUp .35s cubic-bezier(.2,1,.3,1) both;
  position:relative;
}
@keyframes sheetUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.sheet-handle{width:44px;height:4px;background:rgba(255,255,255,.25);border-radius:99px;margin:0 auto 14px}
.sheet-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.sheet-icon{
  width:78px;height:78px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(139,124,255,.15);border:1px solid rgba(139,124,255,.3);
  color:#c8beff;margin:6px 0 4px;overflow:hidden;
}
.sheet-icon svg.lucide{width:38px;height:38px;stroke-width:2}
.sheet-icon-img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sheet-icon-user.rarity-bg-legendary{background:rgba(255,181,71,.16);border-color:rgba(255,181,71,.5);color:#ffd28a}
.sheet-icon-user.rarity-bg-epic{background:rgba(200,107,255,.16);border-color:rgba(200,107,255,.5);color:#e5b8ff}
.sheet-icon-user.rarity-bg-rare{background:rgba(84,183,255,.16);border-color:rgba(84,183,255,.5);color:#9ed4ff}
.sheet-icon-user.rarity-bg-common{background:rgba(157,164,187,.12);border-color:rgba(157,164,187,.3);color:#c6cbd8}
.sheet-icon-number.rarity-bg-legendary{background:rgba(255,181,71,.16);border-color:rgba(255,181,71,.5);color:#ffd28a}
.sheet-icon-number.rarity-bg-epic{background:rgba(200,107,255,.16);border-color:rgba(200,107,255,.5);color:#e5b8ff}
.sheet-icon-number.rarity-bg-rare{background:rgba(84,183,255,.16);border-color:rgba(84,183,255,.5);color:#9ed4ff}
.sheet-icon-number.rarity-bg-common{background:rgba(157,164,187,.12);border-color:rgba(157,164,187,.3);color:#c6cbd8}
.sheet-title{font-size:17px;font-weight:600;line-height:1.4;color:#fff}
.sheet-title b{color:#c8beff}
.sheet-owner{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 14px 7px 7px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  margin:6px 0;
}
.sheet-owner img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.sheet-owner span{font-weight:600;color:#fff;font-size:14px}
.sheet-text{color:#b0b6c8;font-size:13.5px;line-height:1.5;max-width:380px}
.sheet-block{
  width:100%;margin-top:8px;display:flex;flex-direction:column;gap:10px;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06);
  border-radius:16px;padding:14px;
}
.sheet-block-row{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13.5px;color:#c7ccda;line-height:1.45;text-align:left;
}
.sheet-block-row i.lucide{color:#a99cff;margin-top:2px;flex-shrink:0}
.sheet-block-row b{color:#fff}
.rarity-pill{
  display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.4px;margin:8px 0;
}
.rarity-pill.rarity-legendary{background:rgba(255,181,71,.16);border:1px solid rgba(255,181,71,.5);color:#ffd28a}
.rarity-pill.rarity-epic{background:rgba(200,107,255,.16);border:1px solid rgba(200,107,255,.5);color:#e5b8ff}
.rarity-pill.rarity-rare{background:rgba(84,183,255,.16);border:1px solid rgba(84,183,255,.5);color:#9ed4ff}
.rarity-pill.rarity-common{background:rgba(157,164,187,.14);border:1px solid rgba(157,164,187,.35);color:#c6cbd8}
.sheet-btn{
  width:100%;padding:14px 18px;margin-top:6px;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(255,255,255,.05);color:#fff;font-weight:600;font-size:15px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:.2s;
}
.sheet-btn:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
.sheet-btn.primary{
  background:linear-gradient(135deg,var(--accent),#6b62e9);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 12px 34px rgba(139,124,255,.35);
}
.sheet-loading{padding:40px 20px;color:var(--muted);text-align:center}

/* ==== SCROLLBAR ==== */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  background:rgba(139,124,255,.25);border-radius:10px;
  border:2px solid transparent;background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{background:rgba(139,124,255,.45);background-clip:padding-box}

/* ==== RESPONSIVE ==== */
@media(max-width:800px){
  .sidebar{width:78px;padding:20px 10px}
  .sidebar .logo.logo-icon{font-size:0;text-align:center;padding:0 0 20px;justify-content:center;gap:0}
  .sidebar .logo.logo-icon span,.sidebar .logo.logo-icon em{display:none}
  .sidebar .logo .logo-img{width:28px;height:28px}
  .nav button{font-size:0;text-align:center;padding:13px 8px;justify-content:center}
  .nav button span{display:none}
  .profile-button{font-size:0;text-align:center;justify-content:center}
  .profile-button span{display:none}
  .main{padding:22px 16px}
  .cards{grid-template-columns:1fr}
  .profile-content{padding:0 20px 24px}
  .profile-cover{height:190px}
  .auth-container{padding:28px}
}
@media(max-width:520px){
  .main{padding:18px 12px}
  .page-title{font-size:25px}
  .profile-page{padding:20px 10px}
  .profile-name{font-size:24px}
  .profile-buttons{flex-direction:column}
  .profile-buttons button,.profile-buttons .logout-button{width:100%}
  .sheet{max-width:100%}
  .sheet-icon{width:70px;height:70px}
  .sheet-icon svg.lucide{width:34px;height:34px}
}
/* ==== POSTS / FEED ==== */
.composer{margin:20px 0 26px;padding:16px;border:1px solid var(--border);background:rgba(0,0,0,.18);border-radius:18px}
.composer textarea{margin:0;min-height:90px;background:rgba(0,0,0,.18)}
.composer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.icon-button,.emoji-button{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.05);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.icon-button input{display:none}.icon-button:hover,.emoji-button:hover{background:rgba(139,124,255,.18)}
.post-send{width:auto;margin-left:auto}.recording{background:rgba(255,95,122,.25)!important}
.composer-media{margin-top:10px}.media-preview{position:relative;display:inline-block}.media-preview img{max-width:240px;max-height:180px;border-radius:14px;display:block}.media-preview button,.voice-ready button{position:absolute;right:6px;top:6px;border:0;border-radius:8px;background:rgba(0,0,0,.65);color:#fff;padding:6px}.voice-ready{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(85,230,165,.1);border:1px solid rgba(85,230,165,.2)}
.posts-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.post-card{padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);box-shadow:0 14px 40px rgba(0,0,0,.2)}
.post-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.post-author{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:10px;padding:0;text-align:left}.post-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}.post-author span{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.post-author small{width:100%;color:var(--muted)}.post-head time{font-size:11px;color:var(--muted)}.post-text{font-size:15px;line-height:1.6;margin:14px 0;overflow-wrap:anywhere}.post-media{margin-top:12px}.post-media-image{display:block;max-width:100%;max-height:620px;border-radius:14px;object-fit:contain}.post-audio{width:100%;max-width:420px}.post-footer{display:flex;justify-content:space-between;margin-top:12px}.post-like,.post-delete{border:0;background:transparent;color:#9da4bb;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px}.post-like:hover{background:rgba(255,255,255,.06);color:#fff}.post-like.liked{color:#ff6d8a}.post-delete:hover{background:rgba(255,95,122,.1);color:#ff7d93}.post-verified{width:15px;height:15px}.posts-empty,.posts-loading{text-align:center;color:var(--muted);padding:25px 10px}.deleted-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;color:#9da4bb;font-size:20px;font-weight:700}.deleted-profile svg{width:46px;height:46px}.hidden{display:none!important}.deleted-view .profile-cover,.deleted-view .avatar-wrapper{opacity:.25;filter:grayscale(1)}
.deleted-admin-list{display:flex;flex-direction:column;gap:12px}.deleted-admin-card{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035)}
.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,95,122,.12);color:#ff8a9b;font-size:11px}.muted-small{color:var(--muted);font-size:12px;margin-top:5px}

.verified-text{display:flex;align-items:center;gap:7px;margin-top:8px;color:#9fb0c8;font-size:12px}.verified-text svg{width:15px;height:15px;color:#65b8ff}.username-line{display:flex;align-items:center;gap:6px}.deleted-view .profile-content>*:not(.avatar-wrapper):not(.deleted-profile){display:none}.deleted-view .avatar-wrapper{display:none}.deleted-view .profile-content{min-height:260px;display:flex;align-items:center;justify-content:center}.deleted-view .deleted-profile{display:flex}.deleted-view .profile-card{overflow:hidden}
/* ==== APP NAV / SEARCH ==== */
.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;z-index:20;padding:28px 16px;background:rgba(10,13,24,.72);border-right:1px solid var(--border);backdrop-filter:blur(24px) saturate(140%);display:none}
.app-sidebar.active{display:block}
.app-brand{display:flex;align-items:center;gap:10px;padding:0 10px 30px;font-size:21px;font-weight:800}
.app-brand .logo-img{width:28px;height:28px}
.app-nav{display:flex;flex-direction:column;gap:8px}
.app-nav button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid transparent;border-radius:14px;background:transparent;color:#969db2;font-size:14px;text-align:left;cursor:pointer;transition:.2s}
.app-nav button:hover,.app-nav button.active{background:rgba(139,124,255,.13);border-color:rgba(139,124,255,.2);color:#fff;transform:translateX(2px)}
.feed-page,.profile-page{padding-left:230px}
.search-page{display:none;min-height:100vh;padding-left:230px;position:relative;z-index:1}
.search-page.active{display:block}
.app-page-inner{width:760px;max-width:calc(100% - 40px);margin:0 auto;padding:70px 0}
.page-heading{font-size:32px;font-weight:800}.page-subheading{color:var(--muted);margin:7px 0 25px}
.big-search{display:flex;align-items:center;gap:10px;padding:15px 17px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.045);box-shadow:var(--shadow)}
.big-search input{flex:1;border:0;background:transparent;outline:0;color:#fff;font-size:16px}.big-search button{border:0;background:transparent;color:var(--muted);cursor:pointer}
.search-page-results{display:flex;flex-direction:column;gap:10px;margin-top:18px}.search-page-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer}.search-page-item:hover{background:rgba(139,124,255,.1)}.search-page-item img{width:46px;height:46px;border-radius:50%;object-fit:cover}.search-page-item div{display:flex;flex-direction:column;gap:4px}.search-page-item small{color:var(--muted)}
.profile-tabs{display:flex;gap:5px;margin-top:22px;border-bottom:1px solid var(--border);padding-bottom:4px}.profile-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 17px;border-radius:10px;cursor:pointer;font-weight:700}.profile-tabs button.active{background:rgba(139,124,255,.14);color:#fff}
.post-footer{justify-content:flex-start;gap:3px}.post-action{border:0;background:transparent;color:#9da4bb;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;cursor:pointer}.post-action:hover,.post-action.reposted{background:rgba(139,124,255,.1);color:#b9afff}.comments-box{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.comments-list{display:flex;flex-direction:column;gap:10px}.comment{display:flex;gap:9px}.comment>img{width:32px;height:32px;border-radius:50%;object-fit:cover}.comment>div{min-width:0}.comment b{font-size:13px}.comment small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.comment p{margin:4px 0 0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.comments-empty{color:var(--muted);font-size:12px;padding:5px}.comment-form{display:flex;gap:8px;margin-top:12px}.comment-form input{flex:1;min-width:0;margin:0;padding:10px 12px;border-radius:11px}.comment-form button{width:40px;border:0;border-radius:11px;background:var(--accent);color:#fff;cursor:pointer}
@media(max-width:800px){.app-sidebar{width:72px;padding:20px 9px}.app-brand{justify-content:center;padding:0 0 25px}.app-brand span,.app-nav button span{display:none}.app-nav button{justify-content:center;padding:13px 8px}.feed-page,.profile-page,.search-page{padding-left:72px}.app-page-inner{padding:45px 18px;max-width:100%}.feed-wrapper,.profile-wrapper{width:calc(100% - 28px)}}
@media(max-width:520px){.feed-page,.profile-page,.search-page{padding-left:0;padding-bottom:78px}.app-sidebar{left:0;right:0;top:auto;bottom:0;width:100%;height:68px;padding:7px 14px;border-right:0;border-top:1px solid var(--border)}.app-brand{display:none}.app-nav{height:100%;flex-direction:row;justify-content:space-around}.app-nav button{height:54px;flex:1}.app-page-inner{padding:30px 14px}.feed-wrapper,.profile-wrapper{width:calc(100% - 20px)}}

.feed-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-button{position:relative}.notification-dot{position:absolute;right:7px;top:6px;width:7px;height:7px;border-radius:50%;background:#ff5f7a;box-shadow:0 0 10px #ff5f7a}.post-head-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.pinned-post{display:inline-flex;align-items:center;gap:5px;margin:0;padding:6px 10px;border-radius:999px;background:rgba(139,124,255,.12);border:1px solid rgba(139,124,255,.22);color:#b9afff;font-size:12px;font-weight:700}.pinned-post svg{width:13px;height:13px}.pinned-post span{white-space:nowrap}.audio-status{color:#ff8a9b;font-size:10px;margin-left:8px}.post-head-right time{white-space:nowrap}.notification-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding:80px 20px}.notification-modal.hidden{display:none}.notification-modal-card{width:min(560px,100%);max-height:70vh;overflow:auto;border:1px solid var(--border);background:rgba(15,18,31,.96);border-radius:22px;box-shadow:0 25px 80px rgba(0,0,0,.45);padding:18px}.notification-modal-head{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:10px}.notification-list{display:flex;flex-direction:column;gap:10px}.notification-item{display:flex;gap:12px;padding:14px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid var(--border)}.notification-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(139,124,255,.13);color:#b9afff;flex:none}.notification-item p{margin:5px 0;color:var(--muted);line-height:1.45}.notification-item small{color:#737b92}

/* ==== LUNARGRAM VOICE PLAYER ==== */
.post-audio-player{display:flex;align-items:center;gap:13px;width:min(100%,520px);padding:12px 14px;border:1px solid rgba(164,150,255,.18);border-radius:18px;background:linear-gradient(135deg,rgba(139,124,255,.12),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.18)}
.post-audio-player audio{display:none}.audio-play,.audio-volume{width:42px;height:42px;flex:none;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.06);color:#ddd7ff;display:grid;place-items:center;cursor:pointer;transition:.2s}.audio-play{background:linear-gradient(135deg,#8f7cff,#6f61e8);color:white;border-color:transparent;box-shadow:0 7px 20px rgba(125,105,255,.24)}.audio-play:hover,.audio-volume:hover{transform:translateY(-1px);background:rgba(139,124,255,.2)}.audio-play svg,.audio-volume svg{width:18px;height:18px}.audio-main{min-width:0;flex:1}.audio-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.audio-label{font-size:12px;font-weight:700;color:#e7e3ff}.audio-time{font-size:11px;color:#9298ae;font-variant-numeric:tabular-nums}.audio-seek{display:block;width:100%;height:4px;margin:0;accent-color:#8b7cff;cursor:pointer}.audio-bottom{display:flex;align-items:center;gap:6px;margin-top:8px;color:#777f97;font-size:10px}.audio-bottom svg{width:13px;height:13px;color:#8f82ff}.post-audio-player.playing{border-color:rgba(139,124,255,.38);box-shadow:0 0 0 1px rgba(139,124,255,.05),0 14px 34px rgba(87,70,190,.18)}.post-audio-player.audio-error{border-color:rgba(255,95,122,.35);background:rgba(255,95,122,.06)}.post-audio-player.audio-error .audio-main{opacity:.72}.post-audio-player.audio-error .audio-play{background:rgba(255,95,122,.14);color:#ff9aaa;border-color:rgba(255,95,122,.25);box-shadow:none}
@media(max-width:520px){.post-audio-player{gap:9px;padding:10px}.audio-play,.audio-volume{width:38px;height:38px}.audio-bottom{display:none}.audio-label{font-size:11px}}

@media(max-width:520px){.post-head-right{gap:5px}.pinned-post span{display:none}.pinned-post{width:28px;height:28px;justify-content:center;padding:0}.post-head-right time{font-size:10px}.audio-status{display:none}}

/* Profile-only publisher */
.profile-composer-wrap{margin-top:18px;display:none}
.profile-composer-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 9px;padding:0 4px;color:#a9abc0}
.profile-composer-title>div{display:flex;flex-direction:column;gap:2px}
.profile-composer-title b{color:#f1efff;font-size:14px}
.profile-composer-title span{font-size:11px;color:#777b91}
.profile-composer-title>svg{width:17px;height:17px;color:#8b7cff}
.profile-composer{margin:0 0 18px;padding:14px;border-radius:18px;background:linear-gradient(145deg,rgba(139,124,255,.07),rgba(255,255,255,.025));border-color:rgba(139,124,255,.18);box-shadow:0 12px 35px rgba(0,0,0,.14)}
.profile-composer textarea{min-height:88px}
/* ==== Lunargram v11: notifications / market / channels ==== */
.side-notify-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#8b7cff;color:#fff;font-size:10px}.side-notify-count.hidden{display:none}
.notification-click{width:100%;text-align:left;border:1px solid var(--border);cursor:pointer;color:inherit}
.market-page,.channels-page{display:none;min-height:100vh;padding-left:230px;position:relative;z-index:1}.market-page.active,.channels-page.active{display:block}
.market-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.stars-balance{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid rgba(255,213,91,.2);background:rgba(255,213,91,.06);border-radius:14px;color:#f7d76b}.stars-balance svg{width:18px}.stars-balance span{font-size:11px;color:#9d9bad}.market-create{display:grid;grid-template-columns:180px 1fr 150px auto;gap:9px;margin-bottom:18px;padding:14px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.035)}.market-create input,.market-create select,.channel-create input,.channel-create textarea{margin:0}.market-list{display:flex;flex-direction:column;gap:10px}.market-card{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(135deg,rgba(139,124,255,.055),rgba(255,255,255,.025));box-shadow:var(--shadow)}.market-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(139,124,255,.12);color:#b8adff}.market-info{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}.market-info b{font-size:16px}.market-info span{font-size:11px;color:#a79fbf}.market-info small{font-size:10px;color:#6f758b}.market-buy{display:flex;align-items:center;gap:12px}.market-buy strong{color:#f4d66b;white-space:nowrap}.market-buy .main-button{padding:9px 13px}.channel-create{display:grid;gap:9px;padding:15px;margin-bottom:15px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.035)}.channel-list{display:flex;flex-direction:column;gap:9px}.channel-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035);color:#fff;cursor:pointer}.channel-card:hover{background:rgba(139,124,255,.08)}.channel-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#8b7cff,#5f55d8)}.channel-card>div:last-child{display:flex;flex-direction:column;gap:3px}.channel-card span,.channel-card small{color:var(--muted);font-size:11px}.channel-view{margin-top:12px}.channel-head{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);margin-bottom:12px}.channel-head h2{margin:0}.channel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.channel-post-box{padding:14px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.035);margin-bottom:12px}.channel-post-box textarea{min-height:90px}.channel-usernames{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;margin-bottom:12px;border:1px solid var(--border);border-radius:15px}.channel-usernames span{padding:5px 8px;border-radius:999px;background:rgba(139,124,255,.1);color:#bcb3ff;font-size:11px}.channel-usernames button{border:0;background:transparent;color:#a99cff;cursor:pointer}
.stars-profile{display:inline-flex!important;align-items:center;gap:5px;color:#e5c961!important}.stars-profile svg{width:13px!important;height:13px!important}
@media(max-width:800px){.market-page,.channels-page{padding-left:72px}.market-create{grid-template-columns:1fr 1fr}.market-create .main-button{grid-column:1/-1}.market-head{align-items:flex-start}}
@media(max-width:520px){.market-page,.channels-page{padding-left:0;padding-bottom:78px}.market-create{grid-template-columns:1fr}.market-create .main-button{grid-column:auto}.market-head{flex-direction:column}.market-card{align-items:flex-start}.market-buy{margin-left:auto;flex-direction:column;align-items:flex-end}.stars-balance{align-self:stretch;justify-content:center}}
.channel-owner-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.channel-owner-tools .icon-button{width:auto;padding:9px 12px}

/* v18 marketplace/profile management */
.profile-market-box,.my-market-panel{width:100%;box-sizing:border-box;margin:16px 0;padding:14px 16px;border:1px solid var(--border,rgba(255,255,255,.09));border-radius:18px;background:rgba(255,255,255,.035)}
.profile-market-title{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 10px;box-sizing:border-box}.profile-market-title b{font-size:15px}.profile-market-title span{margin-left:auto;opacity:.55;font-size:12px}.profile-market-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 10px;width:100%}.profile-market-assets,.my-market-list{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box}.profile-market-assets .market-owned-row,.my-market-list .market-owned-row{width:100%;box-sizing:border-box}.profile-asset-row,.my-market-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.035)}.profile-asset-row span,.my-market-row b{overflow:hidden;text-overflow:ellipsis}.my-market-row small{display:block;opacity:.58;margin-top:3px}.muted-small{opacity:.58;font-size:12px}

/* ==== Lunargram Market Glass 2026 ==== */
.market-page{background:radial-gradient(circle at 72% 8%,rgba(139,124,255,.10),transparent 32%),radial-gradient(circle at 15% 75%,rgba(82,174,255,.06),transparent 30%)}
.glass-panel{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.10);box-shadow:0 24px 70px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.market-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px;border-radius:26px;margin-bottom:16px;position:relative;overflow:hidden}
.market-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-130px;background:rgba(139,124,255,.16);filter:blur(45px);pointer-events:none}
.eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#aaa1ff;margin-bottom:7px}.eyebrow svg{width:13px;height:13px}
.market-section{padding:18px;border-radius:22px;margin-bottom:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h3{margin:0;font-size:16px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.market-filter-pills{display:flex;gap:5px;flex-wrap:wrap}.market-filter{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#9b9fb4;border-radius:999px;padding:7px 10px;font-size:10px;cursor:pointer;transition:.2s}.market-filter:hover,.market-filter.active{background:rgba(139,124,255,.15);border-color:rgba(139,124,255,.30);color:#d4ceff}
.market-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.market-asset-card{display:flex;align-items:center;gap:11px;padding:12px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.2s}.market-asset-card:hover{transform:translateY(-1px);border-color:rgba(139,124,255,.25);background:rgba(139,124,255,.065)}.market-asset-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,rgba(139,124,255,.20),rgba(139,124,255,.06));color:#b9b0ff;flex:none}.market-asset-icon svg{width:17px}.market-asset-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.market-asset-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-asset-main span{font-size:10px;color:#777d93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-sell-btn{padding:8px 11px!important;font-size:11px!important;white-space:nowrap}.market-listed-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:145px}.market-listed-state span{display:inline-flex;align-items:center;gap:4px;color:#b7afff;font-size:10px;font-weight:700}.market-listed-state span svg{width:12px}.market-listed-state small{color:#8f94aa;font-size:9px}.market-listed-state .small-button{padding:6px 8px;font-size:9px}@media(max-width:850px){.market-assets-grid{grid-template-columns:1fr}.market-listed-state{min-width:0}}.market-empty{min-height:115px;border:1px dashed rgba(255,255,255,.10);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#8c91a6;text-align:center;grid-column:1/-1}.market-empty svg{width:22px;color:#8d82ff}.market-empty b{color:#c6c9d7;font-size:12px}.market-empty span{font-size:10px}.market-empty.compact{min-height:75px;flex-direction:row;grid-column:auto}.glass-row{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.07)!important}.listing-main{display:flex;align-items:center;gap:9px;min-width:0}.listing-main b{font-size:13px}.listing-main small{color:#777d93;font-size:10px}.listing-type{font-size:8px;letter-spacing:.09em;padding:4px 6px;border-radius:6px;background:rgba(139,124,255,.11);color:#aaa1ff;font-weight:800}.danger-soft{color:#ff9aa9!important;border-color:rgba(255,95,122,.15)!important;background:rgba(255,95,122,.055)!important}.official-market-card{border-color:rgba(139,124,255,.24);background:linear-gradient(135deg,rgba(139,124,255,.10),rgba(255,255,255,.025))}.market-name-line{display:flex;align-items:center;gap:8px;min-width:0}.official-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:rgba(139,124,255,.14);border:1px solid rgba(139,124,255,.25);color:#c5bdff;font-size:9px;font-weight:800;white-space:nowrap}.official-badge svg{width:11px;height:11px}.stars-balance{background:linear-gradient(145deg,rgba(255,215,100,.12),rgba(255,255,255,.035));border-color:rgba(255,215,100,.20);box-shadow:0 10px 35px rgba(255,190,60,.06)}.stars-balance>div{display:flex;flex-direction:column;gap:1px}.stars-balance span{font-size:9px}
@media(max-width:700px){.market-hero{align-items:flex-start;flex-direction:column}.market-assets-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.market-filter-pills{width:100%}.market-filter{flex:1}.market-buy{margin-left:auto}.market-card{padding:12px}}

/* Admin official market glass cards */
#adminMarketAssets .deleted-admin-card{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border-color:rgba(255,255,255,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 35px rgba(0,0,0,.12)}
.admin-market-official{display:inline-flex;align-items:center;gap:5px;margin-left:7px;padding:4px 7px;border-radius:999px;background:rgba(139,124,255,.13);border:1px solid rgba(139,124,255,.23);color:#c5bdff;font-size:9px;font-weight:800}.admin-market-official svg{width:11px;height:11px}

/* ===== Lunargram unified glass market/admin v23 ===== */
.market-inline-sell{display:flex;align-items:center;gap:7px;flex:none}.market-price-input{width:92px!important;height:34px!important;padding:0 9px!important;margin:0!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;font-size:11px!important;outline:none}.market-price-input:focus{border-color:rgba(139,124,255,.45)!important;box-shadow:0 0 0 3px rgba(139,124,255,.08)}
.admin-market-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 18px 60px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.045)}.admin-market-panel:before{content:"";position:absolute;right:-120px;top:-150px;width:330px;height:330px;border-radius:50%;background:rgba(139,124,255,.12);filter:blur(50px);pointer-events:none}.admin-market-toolbar{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.admin-market-rows{position:relative;display:flex;flex-direction:column;gap:8px}.admin-market-create-row{display:grid;grid-template-columns:34px 130px minmax(180px,1fr) 130px auto auto;align-items:center;gap:8px;padding:9px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.admin-market-create-row .field{margin:0;min-width:0}.admin-row-index{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(139,124,255,.12);color:#c5bdff;font-size:11px;font-weight:800}.admin-row-invalid{border-color:rgba(255,95,122,.55)!important;background:rgba(255,95,122,.055)!important}.admin-market-hint{position:relative;display:flex;gap:9px;margin-top:11px;padding:11px 12px;border-radius:13px;background:rgba(139,124,255,.055);border:1px solid rgba(139,124,255,.10);color:#8f94aa;font-size:10px;line-height:1.45}.admin-market-hint svg{width:15px;flex:none;color:#a99fff}.admin-market-list{position:relative}.admin-market-card{align-items:center!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02))!important;border-color:rgba(255,255,255,.075)!important;transition:.2s}.admin-market-card:hover{transform:translateY(-1px);border-color:rgba(139,124,255,.25)!important}.admin-market-card.is-listed{border-color:rgba(139,124,255,.18)!important}.admin-market-card-main{min-width:0;flex:1}.admin-market-name{display:flex;align-items:center;gap:8px;min-width:0}.admin-market-name>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-market-owner{display:flex;align-items:center;gap:5px;color:#777d93;font-size:9px;margin-top:5px}.admin-market-owner svg{width:12px}.admin-market-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.admin-market-official{display:inline-flex!important;align-items:center;gap:4px;margin-left:0!important}.admin-market-official svg{width:11px;height:11px}
@media(max-width:850px){.admin-market-create-row{grid-template-columns:30px 1fr 1fr}.admin-market-create-row .admin-row-value{grid-column:2/4}.admin-market-create-row .admin-row-price{grid-column:2}.admin-market-create-row .action-btn{grid-column:auto}.market-inline-sell{flex-wrap:wrap;justify-content:flex-end}.market-price-input{width:82px!important}}
@media(max-width:560px){.admin-market-create-row{grid-template-columns:30px 1fr}.admin-market-create-row .admin-row-value,.admin-market-create-row .admin-row-price{grid-column:2}.admin-market-create-row .action-btn{grid-column:2}.admin-market-actions{width:100%;justify-content:flex-start;margin-top:8px}.admin-market-card{align-items:flex-start!important;flex-direction:column}.market-inline-sell{width:100%;margin-top:5px}.market-price-input{flex:1;width:auto!important}}

/* v23: unified glass surfaces across admin */
body{background:radial-gradient(circle at 12% 8%,rgba(139,124,255,.08),transparent 28%),radial-gradient(circle at 88% 85%,rgba(82,174,255,.055),transparent 28%),#0c0e18}.sidebar,.main,.topbar,.card,.panel-box,.table-box,.toolbar,.modal,.deleted-admin-card,.section .page-title,.section .page-subtitle{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.table-box{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.075);box-shadow:0 15px 50px rgba(0,0,0,.12)}.table-box table tr{border-color:rgba(255,255,255,.055)}.toolbar{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:10px}.card{background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-color:rgba(255,255,255,.075);box-shadow:0 15px 50px rgba(0,0,0,.12)}

/* ==== PROFILE REDESIGN v24 ==== */
.profile-page{padding:18px 14px 60px;background:radial-gradient(circle at 50% 0%,rgba(121,96,255,.10),transparent 42%)}
.profile-wrapper{width:780px}
.profile-card{background:rgba(7,9,15,.84);border:1px solid rgba(255,255,255,.10);box-shadow:0 28px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.profile-cover{height:300px;border-radius:0;background-position:center;background-size:cover}
.profile-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(0,0,0,.42) 70%,rgba(5,7,12,.96) 100%);z-index:1;pointer-events:none}
.profile-content{padding:0 28px 30px}
.avatar-wrapper{margin-top:-78px;margin-left:0;position:relative;z-index:4;width:max-content}
.avatar{width:138px;height:138px;border:5px solid #f5f5f7;box-shadow:0 10px 34px rgba(0,0,0,.58),0 0 0 2px rgba(255,255,255,.16)}

.profile-name-line{margin-top:12px;align-items:center}
.profile-name{font-size:31px;letter-spacing:-.6px;line-height:1.15}
.username-line{margin-top:7px}
.profile-username{font-size:16px;color:#858da4}
.profile-meta{margin-top:11px}
.profile-meta .meta-line{font-size:13px}
.profile-stats{display:flex;gap:30px;margin:18px 0 4px}
.profile-stat{border:0;background:none;padding:0;display:flex;align-items:baseline;gap:7px;color:#8e95a8;cursor:pointer;font:inherit}
.profile-stat strong{font-size:18px;color:#fff;font-weight:800}
.profile-stat span{font-size:14px}
.profile-stat:hover span{text-decoration:underline;text-underline-offset:3px}
.profile-actions-top{display:flex;gap:9px;margin:17px 0 14px}
.profile-actions-top button{height:42px;border-radius:14px;padding:0 18px;font-weight:750;font-family:inherit;cursor:pointer}
.profile-primary-action{border:1px solid rgba(255,255,255,.1);background:#f4f4f5;color:#0c0d12;display:inline-flex;align-items:center;gap:7px}
.profile-primary-action:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(255,255,255,.10)}
.profile-message-button{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.07);color:#fff;display:inline-flex;align-items:center;gap:7px}
.profile-message-button:hover{background:rgba(255,255,255,.11)}
.profile-bio{font-size:15px;color:#e7e8ed;margin-top:15px;line-height:1.55}
.profile-extra{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 9px}
.profile-extra .meta-line{font-size:14px}
.profile-tabs{margin-top:25px;padding:4px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);display:flex;gap:4px}
.profile-tabs button{border:0;background:transparent;color:#8f96a8;padding:10px 16px;border-radius:11px;font-family:inherit;font-weight:700;cursor:pointer}
.profile-tabs button.active{background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.profile-buttons{margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07)}
.profile-card,.edit-panel{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(11,14,22,.56)!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 28px 90px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.12)!important;backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%)}
.profile-card:before,.edit-panel:before{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.015) 42%,transparent 72%)}
.profile-stats{width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.profile-actions-top button,.profile-buttons button{border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.profile-primary-action{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 24px rgba(0,0,0,.20)}
.profile-primary-action:hover{background:rgba(255,255,255,.94)}
.profile-message-button{background:rgba(255,255,255,.065)}
.profile-message-button:hover{background:rgba(255,255,255,.12)}
.profile-tabs{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}
.profile-tabs button.active{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 20px rgba(0,0,0,.14)}
.profile-composer{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 38px rgba(0,0,0,.16);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.profile-page .post-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 42px rgba(0,0,0,.20);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}
.profile-meta .meta-line{color:#d1d5df}
.profile-bio{color:#eef0f5}
.follow-list{display:flex;flex-direction:column;gap:5px;margin-top:14px;max-height:58vh;overflow:auto}
.comment-item{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:9px 0}
.comment-item>img{width:32px;height:32px;flex:none;border-radius:50%;object-fit:cover}
.comment-body{min-width:0;flex:1;color:#f0f1f5;font-size:12px}
.comment-body small{display:inline;color:#858da4;font-size:10px}
.comment-body p{margin:4px 0 2px;line-height:1.5;overflow-wrap:anywhere;color:#d2d4dd}
.comment-reply{border:0;background:transparent;padding:3px 0;color:#a9a0ff;font:inherit;font-size:10px;cursor:pointer}
.comment-reply:hover{color:#fff}
.comment-replies{margin:7px 0 0 3px;padding-left:12px;border-left:1px solid rgba(255,255,255,.12)}
.follow-user-row{width:100%;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.045);color:#fff;border-radius:14px;padding:9px 11px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;font-family:inherit}
.follow-user-row:hover{background:rgba(139,124,255,.11);border-color:rgba(139,124,255,.22)}
.follow-user-row img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.follow-user-row span{display:flex;flex-direction:column;min-width:0;flex:1}
.follow-user-row b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.follow-user-row small{color:#8f96aa;margin-top:2px}
.follow-verified{width:17px;height:17px;color:#65b8ff}
.sheet-count{font-size:12px;color:#858ca0;background:rgba(255,255,255,.07);border-radius:999px;padding:3px 8px;margin-left:5px}
.accent-picker{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:5px 0 20px;padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04);color:#aab1c7;font-size:12px;font-variant-numeric:tabular-nums}
.accent-picker input[type="color"]{width:34px;height:30px;padding:2px;border:0;border-radius:8px;background:transparent;cursor:pointer}
.profile-status,.profile-website{display:inline-flex;align-items:center;gap:6px;max-width:100%;color:#b8bfd0;font-size:13px;line-height:1.5}
.profile-status svg,.profile-website svg{width:14px;height:14px;color:var(--profile-accent,#a99cff)}
.profile-website{color:#b8b0ff;text-decoration:none;overflow-wrap:anywhere}
.profile-website:hover{color:#d7d1ff;text-decoration:underline;text-underline-offset:3px}
.follow-list-loading{padding:22px 12px;text-align:center;color:var(--muted);font-size:13px}
.listing-owned-row{width:100%;box-sizing:border-box}
.market-last-sale{display:block;margin-top:5px;color:#9d92e8!important;font-size:10px!important;line-height:1.4}
.market-table-row .market-last-sale{color:#aaa0ea!important;font-size:9px!important}
.market-listing-switch{display:inline-flex;gap:3px;margin:0 0 14px;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.035)}
.market-listing-switch button{min-width:104px;height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#858b9f;font-size:11px;font-weight:700;cursor:pointer}
.market-listing-switch button.active{background:rgba(139,124,255,.17);color:#e4dfff;box-shadow:inset 0 0 0 1px rgba(139,124,255,.20)}
.market-sold-badge{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:4px 7px;border:1px solid rgba(85,230,165,.16);border-radius:7px;background:rgba(85,230,165,.08);color:#8cddb7;font-size:9px;font-weight:700}
.sold-listing-row .market-owned-actions{min-width:84px;justify-content:flex-end}
.sold-listing-row .market-owned-actions button{min-width:78px;justify-content:center}
.sold-listing-row .market-owned-actions button:disabled{opacity:.45;cursor:not-allowed}
.market-sort .market-filter-menu{display:none;position:static;width:min(260px,calc(100vw - 26px));margin-top:6px;padding:7px;flex-direction:column;gap:5px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#15161d;box-shadow:0 16px 38px rgba(0,0,0,.24)}
.market-sort .market-filter-menu.open{display:flex}
.market-sort.open{width:260px}
.market-sort.open .market-sort-button{width:100%;justify-content:space-between}
.market-section-head.market-filter-open{align-items:flex-start}
.market-filter-section{display:grid;gap:3px}
.market-filter-section>small{padding:5px 8px;color:#71778a;font-size:9px;font-weight:800;text-transform:uppercase}
.market-sort .market-filter-menu button{width:100%;min-height:32px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:#a3a7b6;font-size:11px;text-align:left}
.market-sort .market-filter-menu button.active,.market-sort .market-filter-menu button:hover{border-color:rgba(135,116,255,.2);background:rgba(119,100,216,.13);color:#fff}
.market-sort .market-filter-menu .market-status-filter{font-weight:700}
.market-filter-separator{height:1px;margin:3px 5px;background:rgba(255,255,255,.08)}
.market-buyer-line{color:#9f94e7!important}
.stars-page{display:none;min-height:100vh;padding:0 0 50px 230px;color:#f4f5fa;background:radial-gradient(circle at 78% 4%,rgba(250,202,91,.10),transparent 27%),radial-gradient(circle at 18% 65%,rgba(123,107,255,.10),transparent 34%)}
.stars-page.active{display:block}
.stars-shell{width:min(100%,1020px);margin:0 auto;padding:54px 32px 70px}
.stars-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}
.stars-heading h1{margin:4px 0 0;font-size:30px;line-height:1.1}
.stars-heading p{margin:7px 0 0;color:#9399aa;font-size:13px}
.stars-eyebrow{display:flex;align-items:center;gap:6px;color:#c8ad65;font-size:9px;font-weight:800;letter-spacing:.12em}
.stars-eyebrow svg{width:13px;height:13px}
.stars-refresh{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.055);color:#c7cbd5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.stars-overview{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(120px,1fr));gap:10px;margin-bottom:14px}
.stars-balance-card,.stars-stat-card,.stars-history,.stars-gift-form{border:1px solid rgba(255,255,255,.105);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(12,14,22,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 46px rgba(0,0,0,.20);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}
.stars-balance-card{min-height:135px;padding:17px;border-radius:15px}
.stars-card-label{display:flex;align-items:center;gap:7px;color:#9da3b3;font-size:11px}
.stars-card-label svg{width:15px;color:#e9c460}
.stars-balance-value{display:flex;align-items:center;gap:9px;margin-top:15px;color:#f4d26e}
.stars-balance-value>svg{width:22px;height:22px;fill:rgba(244,210,110,.18)}
.stars-balance-value strong{font-size:29px;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.stars-balance-caption{display:block;margin:8px 0 0 31px;color:#9298a7;font-size:10px}
.stars-stat-card{min-height:135px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:15px;border-radius:15px}
.stars-stat-card>span{color:#a0a5b3;font-size:10px;line-height:1.4}
.stars-stat-card>strong{font-size:21px;font-variant-numeric:tabular-nums;color:#f3f4f7}
.stars-stat-card>small{color:#787e8e;font-size:9px}
.stars-positive{color:#82deb0!important}.stars-negative{color:#e6a3ab!important}
.stars-history{padding:18px;border-radius:15px}
.stars-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.075)}
.stars-history-head h2,.stars-gift-form h2{margin:0;font-size:15px}
.stars-history-head p,.stars-gift-form p{margin:4px 0 0;color:#858b9b;font-size:10px}
.stars-history-range{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#aeb2bd;font-size:9px;white-space:nowrap}
.stars-history-range svg{width:13px;height:13px;color:#c7ad67}
.stars-transaction-list{display:flex;flex-direction:column}
.stars-transaction{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:64px;border-bottom:1px solid rgba(255,255,255,.055)}
.stars-transaction:last-child{border-bottom:0}
.stars-transaction-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.045);color:#b8abff}
.stars-transaction.incoming .stars-transaction-icon{color:#87dcb0;background:rgba(87,218,153,.08)}
.stars-transaction.outgoing .stars-transaction-icon{color:#e0a3ab;background:rgba(238,124,142,.07)}
.stars-transaction-icon svg{width:16px;height:16px}
.stars-transaction-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.stars-transaction-copy b{font-size:11px;font-weight:650;color:#e6e8ee}
.stars-transaction-copy small{overflow:hidden;color:#858b9b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.stars-transaction-amount{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-variant-numeric:tabular-nums;color:#e5a3ab;white-space:nowrap}
.stars-transaction.incoming .stars-transaction-amount{color:#86d9ae}
.stars-transaction-amount svg{width:13px;height:13px;color:#d9bc68;fill:rgba(217,188,104,.18)}
.stars-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#858b9b;text-align:center}
.stars-empty>svg{width:23px;height:23px;color:#c7ad67}
.stars-empty b{font-size:12px;color:#d8dbe3}
.stars-empty span{font-size:10px}
.stars-load-more{width:100%;height:36px;margin-top:10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.04);color:#c6c9d3;font-size:10px;font-weight:700}
.stars-load-more:hover{background:rgba(255,255,255,.08)}
.stars-gift-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.8fr) minmax(120px,.6fr) auto;align-items:end;gap:10px;margin-top:14px;padding:16px;border-radius:15px}
.stars-gift-form>div:first-child{align-self:center}
.stars-gift-form label{display:flex;flex-direction:column;gap:5px;color:#949aaa;font-size:9px}
.stars-gift-form input{width:100%;height:36px;margin:0;padding:0 10px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:rgba(0,0,0,.16);color:#f4f5f8;font-size:11px;outline:none}
.stars-gift-form input:focus{border-color:rgba(201,177,100,.48);box-shadow:0 0 0 3px rgba(201,177,100,.10)}
.stars-gift-button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgba(218,190,104,.3);border-radius:8px;background:rgba(202,172,83,.13);color:#ebd58e;font-size:10px;font-weight:750;white-space:nowrap}
.stars-gift-button svg{width:14px;height:14px}
.stars-gift-message{grid-column:1/-1;min-height:0;color:#8dd9b0;font-size:10px}
@media(max-width:900px){.stars-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.stars-balance-card{grid-column:1/-1;min-height:112px}.stars-gift-form{grid-template-columns:1fr 1fr}.stars-gift-form>div:first-child{grid-column:1/-1}}
@media(max-width:800px){.stars-page{padding-left:72px}.stars-shell{padding:40px 22px 60px}}
@media(max-width:520px){.stars-page{padding:0 0 82px}.stars-shell{padding:30px 14px 35px}.stars-heading{margin-bottom:18px}.stars-heading h1{font-size:26px}.stars-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stars-balance-card{grid-column:1/-1;min-height:105px}.stars-stat-card{min-height:100px;padding:12px}.stars-stat-card>strong{font-size:19px}.stars-history{padding:13px}.stars-transaction{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;min-height:60px}.stars-transaction-icon{width:30px;height:30px}.stars-transaction-copy b{font-size:10px}.stars-transaction-copy small{font-size:8px}.stars-transaction-amount{font-size:10px}.stars-gift-form{grid-template-columns:1fr 1fr;padding:13px}.stars-gift-form>div:first-child{grid-column:1/-1}.stars-gift-button{grid-column:1/-1}}
@media(max-width:700px){.market-sort.open{width:100%}.market-sort .market-filter-menu{width:100%}}
.post-content{min-width:0;color:#e7e8ed;line-height:1.55;overflow-wrap:anywhere}
.post-content p{margin:0 0 10px}
.post-content .post-media-image{margin-top:10px}
.channel-usernames{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:stretch;gap:8px;margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);color:#aab1c7;font-size:12px}
.channel-usernames>b{grid-column:1/-1;width:100%;color:#e5e6ed;font-size:13px}
.channel-username-row{display:grid;grid-template-columns:minmax(0,1fr) 78px 78px;align-items:center;gap:6px;width:100%;min-width:0;padding:6px 8px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.035);color:#c8beff;font-size:12px;overflow-wrap:anywhere}
.channel-username-row .small-button{width:78px;min-height:30px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.channel-usernames>button:last-child{grid-column:1/-1;justify-self:start;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.045);color:#c8beff;font-size:11px;font-weight:700}
.channel-usernames>button:last-child:hover{background:rgba(139,124,255,.14);border-color:rgba(139,124,255,.25);color:#fff}
@media(max-width:520px){.market-listing-switch{display:flex;width:100%}.market-listing-switch button{flex:1;min-width:0}.channel-usernames{grid-template-columns:minmax(0,1fr)}.channel-username-row{grid-template-columns:minmax(0,1fr) 72px 72px}.channel-username-row .small-button{width:72px}}
.error{white-space:pre-line;line-height:1.6}
.verified-icon{color:#65b8ff}
.verified-icon svg.lucide{width:22px;height:22px;stroke-width:2.2}
.sheet-block-row svg.lucide{flex-shrink:0;margin-top:2px;color:#a99cff}
.post-tag,.post-mention{color:#a894ff;text-decoration:none;font-weight:700}
.post-tag:hover,.post-mention:hover{text-decoration:underline}
.post-views{display:inline-flex;align-items:center;gap:4px;margin-left:4px;color:#6f748b;font-size:12px}
.post-views svg{width:15px;height:15px}
.post-audio-attachment{display:block;width:min(100%,420px);max-height:300px;margin-top:10px;border:1px solid rgba(139,124,255,.2);border-radius:14px;object-fit:cover}
.profile-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.gallery-photo{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:14px}
.comment-item{border-bottom:1px solid rgba(255,255,255,.05)}
.comment-item p{color:#c9ccda}
.comment-item small{color:#858da4}
.follow-button{display:inline-flex;align-items:center;gap:7px}
.audio-photo-preview{display:flex;align-items:center;gap:8px}
.audio-photo-preview img{max-width:100px!important;max-height:70px!important}
.profile-tabs{overflow-x:auto}
.profile-tabs button{white-space:nowrap}
@media(max-width:520px){.profile-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.profile-page{padding:0 0 50px}.profile-card{border-radius:0;border-left:0;border-right:0}.profile-cover{height:230px}.profile-content{padding:0 16px 25px}.avatar{width:116px;height:116px}.avatar-wrapper{margin-top:-64px}.profile-name{font-size:25px}.profile-stats{gap:20px}.profile-tabs{overflow:auto}.profile-tabs button{padding:9px 13px}.profile-actions-top{flex-wrap:wrap}.profile-actions-top button{flex:1;justify-content:center}.profile-buttons{flex-direction:row}.profile-buttons button{width:auto!important}}

/* Lunargram Market — dedicated marketplace skin */
.market-page{padding-left:230px;background:#08090d;min-height:100vh;color:#f3f4fb}
.market-shell{max-width:1180px;margin:0 auto;padding:18px 28px 50px}
.market-topbar{min-height:58px;display:flex;align-items:center;gap:22px;padding:8px 12px;border-radius:16px;background:rgba(12,13,18,.78)!important;border-color:rgba(255,255,255,.08)!important;position:sticky;top:12px;z-index:20}
.market-brand{display:flex;align-items:center;gap:9px;min-width:180px;cursor:pointer}.market-brand-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#9a8cff,#6555dd);color:#fff;box-shadow:0 8px 24px rgba(115,96,255,.3)}.market-brand-mark svg{width:17px}.market-brand>div{display:flex;flex-direction:column;line-height:1.05}.market-brand b{font-size:14px}.market-brand span{font-size:9px;color:#777d91;letter-spacing:.08em;text-transform:uppercase}
.market-search-wrap{height:40px;max-width:460px;flex:1;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.035)}.market-search-wrap svg{width:16px;color:#73798c}.market-search-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;margin:0!important;padding:0!important;height:100%;font-size:12px}.market-search-wrap button{border:0;background:transparent;color:#777d90;cursor:pointer}.market-top-actions{display:flex;align-items:center;gap:13px;margin-left:auto}.market-top-link{border:0;background:none;color:#858a9d;font-size:11px;cursor:pointer;padding:8px 0}.market-top-link:hover,.market-top-link.active{color:#fff}.market-stars{padding:7px 10px!important;border-radius:10px!important}.market-stars b{font-size:11px}.market-stars span{font-size:8px!important}
.market-landing{margin-top:22px;padding:44px 28px 36px;border-radius:20px;text-align:center;background:radial-gradient(circle at 50% -80%,rgba(132,115,255,.20),transparent 48%),rgba(15,16,22,.76)!important;border-color:rgba(255,255,255,.07)!important}.market-landing-copy{max-width:720px;margin:0 auto}.market-landing h1{margin:9px 0 6px;font-size:34px;letter-spacing:-.04em}.market-landing p{margin:0;color:#858b9f;font-size:14px;line-height:1.55}.market-landing-search{height:48px;max-width:620px;margin:28px auto 0;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#101116;box-shadow:0 18px 50px rgba(0,0,0,.22)}.market-landing-search svg{width:18px;color:#73798d}.market-landing-search input{height:100%;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.market-landing-search span{margin-left:auto;color:#5d6273;font-size:10px;border:1px solid rgba(255,255,255,.07);border-radius:5px;padding:3px 6px}
.market-view{margin-top:34px}.market-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 13px}.market-section-head h2{margin:0;font-size:17px;letter-spacing:-.02em}.market-section-head p{margin:5px 0 0;color:#777d91;font-size:11px}.market-sort{position:relative}.market-sort-button{display:flex;align-items:center;gap:7px;padding:9px 12px;border:0;border-radius:8px;background:#7865d8;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.market-sort-button svg{width:13px}.market-filter-menu{display:flex;position:absolute;right:0;top:42px;gap:5px;z-index:5}.market-filter-menu button{border:1px solid rgba(255,255,255,.08);background:#14151c;color:#8f95a8;padding:6px 9px;border-radius:7px;font-size:9px;cursor:pointer}.market-filter-menu button.active,.market-filter-menu button:hover{color:#fff;border-color:rgba(135,116,255,.3);background:rgba(119,100,216,.13)}
.market-table{overflow:hidden;border-radius:13px;background:#101116!important;border-color:rgba(255,255,255,.08)!important}.market-table-head,.market-table-row{display:grid;grid-template-columns:minmax(320px,1.7fr) minmax(170px,.8fr) minmax(150px,.7fr) 110px;align-items:center}.market-table-head{padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.07);color:#606679;font-size:9px;letter-spacing:.08em}.market-table-body{display:flex;flex-direction:column}.market-table-row{width:100%;padding:14px 18px;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.065);background:transparent;color:#fff;cursor:pointer;transition:.16s}.market-table-row:last-child{border-bottom:0}.market-table-row:hover{background:rgba(124,105,228,.06)}.market-table-row.is-official{background:linear-gradient(90deg,rgba(123,104,226,.045),transparent)}.market-nick-cell{display:flex;align-items:center;gap:12px;min-width:0}.market-item-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);color:#aaa0ff;flex:none}.market-item-icon svg{width:15px}.market-nick-title{display:flex;align-items:center;gap:7px;min-width:0}.market-nick-title>b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-nick-cell small{display:block;color:#5f6577;font-size:9px;margin-top:3px}.market-price-cell{display:flex;align-items:center;gap:7px}.market-price-cell svg{width:15px;color:#ffb73f;fill:#ffb73f}.market-price-cell b{font-size:14px}.market-date-cell{color:#747a8e;font-size:10px}.market-row-action{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#898fa2;font-size:10px}.market-row-action svg{width:13px}.market-row-muted{font-size:9px;color:#62687a}.official-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;background:rgba(121,103,224,.12);border:1px solid rgba(121,103,224,.25);color:#bcb1ff;font-size:8px;font-weight:800}.official-badge svg{width:10px}.own-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:rgba(76,201,168,.08);border:1px solid rgba(76,201,168,.15);color:#6dd7b9;font-size:8px;font-weight:700}.market-empty-row{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#73798d;text-align:center}.market-empty-row svg{width:22px;color:#8b7cff}.market-empty-row b{color:#c8cad5;font-size:12px}.market-empty-row span{font-size:10px}.market-loading{padding:40px;text-align:center;color:#72788a;font-size:11px}
.market-owned-list{display:flex;flex-direction:column;gap:8px}.market-owned-row{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:#101116;transition:.16s}.market-owned-row:hover{border-color:rgba(130,111,235,.25);background:#12131a}.market-owned-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);color:#aaa0ff}.market-owned-icon svg{width:15px}.market-owned-main{min-width:0;flex:1}.market-owned-main>div{display:flex;align-items:center;gap:7px}.market-owned-main b{font-size:13px}.market-owned-main small{display:block;margin-top:4px;color:#696f82;font-size:9px}.market-owned-actions{display:flex;align-items:center;gap:8px}.market-owned-price{display:flex;align-items:center;gap:5px;color:#f5ca62;font-size:11px;font-weight:700}.market-owned-price svg{width:13px;fill:#f5ca62}.market-primary-button,.market-outline-button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer;transition:.16s}.market-primary-button{border:1px solid rgba(133,113,235,.45);background:#7460cf;color:#fff;box-shadow:0 8px 22px rgba(103,83,205,.17)}.market-primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.market-primary-button svg,.market-outline-button svg{width:13px}.market-outline-button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:#9ca1b2}.market-outline-button:hover{color:#fff;background:rgba(255,255,255,.055)}.danger-market{color:#e3a2ac}.compact-market{height:32px;padding:0 11px}.market-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.market-info-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:12px;background:#0e0f14!important}.market-info-card>svg{width:17px;color:#9788ff;flex:none}.market-info-card div{display:flex;flex-direction:column;gap:3px}.market-info-card b{font-size:10px}.market-info-card span{font-size:9px;color:#696f82;line-height:1.45}
.market-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.market-modal.hidden{display:none}.market-modal-backdrop{position:absolute;inset:0;background:rgba(3,4,7,.74);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.market-modal-card{position:relative;width:min(500px,100%);padding:25px;border-radius:16px;background:linear-gradient(145deg,rgba(27,28,36,.97),rgba(14,15,20,.97))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 100px rgba(0,0,0,.5)}.market-modal-close{position:absolute;right:17px;top:17px;width:32px;height:32px;border:0;background:transparent;color:#7e8393;cursor:pointer}.market-modal-close svg{width:18px}.market-modal-title{display:flex;align-items:center;gap:11px;margin-bottom:21px}.market-modal-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(124,104,224,.12);color:#afa3ff}.market-modal-title h3{margin:0;font-size:18px}.market-modal-title p{margin:5px 0 0;color:#777d8f;font-size:10px}.market-sale-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.market-sale-type{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#101116;color:#9da2b2;text-align:left}.market-sale-type.active{border-color:#7561d2;background:rgba(113,94,208,.13);color:#bcb1ff}.market-sale-type.disabled{opacity:.5}.market-sale-type b{font-size:11px}.market-sale-type span{font-size:9px;color:#747a8d}.market-field-label{display:block;color:#7e8495;font-size:10px;margin-bottom:8px}.market-price-field{height:48px;display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:#101116}.market-price-field:focus-within{border-color:rgba(129,108,233,.5);box-shadow:0 0 0 3px rgba(129,108,233,.08)}.market-price-field input{height:100%;flex:1;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;margin:0!important;padding:0!important;font-size:14px}.market-price-field span{color:#ffbd48}.market-payout{height:45px;display:flex;align-items:center;justify-content:space-between;margin:12px 0 18px;padding:0 13px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(255,255,255,.025);color:#747a8d;font-size:10px}.market-payout b{color:#d8dae4;font-size:12px}.market-modal-card>.market-primary-button{width:100%;height:49px;font-size:12px}.market-detail-card{width:min(980px,100%)}.market-back-link{border:0;background:none;color:#858b9d;font-size:11px;display:flex;align-items:center;gap:6px;padding:0;margin:0 0 25px;cursor:pointer}.market-back-link svg{width:14px}.market-detail-title{display:flex;align-items:center;gap:11px;margin-bottom:20px}.market-detail-title h2{margin:0;font-size:28px;letter-spacing:-.04em}.market-status-badge{padding:5px 9px;border-radius:999px;background:rgba(118,99,218,.12);border:1px solid rgba(118,99,218,.25);color:#b8acff;font-size:9px}.market-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.market-price-card,.market-detail-facts{border:1px solid rgba(255,255,255,.075);border-radius:12px;background:#101116}.market-price-card{padding:20px}.market-price-card>span{color:#7d8395;font-size:10px}.market-price-card strong{display:flex;align-items:center;gap:7px;margin-top:17px}.market-price-card strong svg{width:25px;color:#ff9b20;fill:#ff9b20}.market-price-card strong b{font-size:30px;letter-spacing:-.03em}.market-price-card p{margin:16px 0 0;color:#6e7487;font-size:10px;line-height:1.5}.market-detail-facts>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;border-bottom:1px solid rgba(255,255,255,.06)}.market-detail-facts>div:last-child{border-bottom:0}.market-detail-facts span{color:#777d8f;font-size:10px}.market-detail-facts b{color:#e3e5ee;font-size:10px;text-align:right}.market-buy-box{margin-top:13px;padding:16px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:#101116;display:flex;align-items:center;justify-content:space-between;gap:15px}.market-buy-box>span{color:#858b9e;font-size:10px}.market-buy-box .market-primary-button{width:auto;padding:0 22px}.market-primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:950px){.market-top-actions .market-top-link{display:none}.market-brand{min-width:auto}.market-table-head,.market-table-row{grid-template-columns:minmax(240px,1.4fr) 130px 120px 80px}.market-info-grid{grid-template-columns:1fr}.market-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.market-page{padding-left:72px}.market-shell{padding:12px 13px 35px}.market-topbar{top:6px}.market-search-wrap{max-width:none}.market-stars{display:none}.market-landing{padding:30px 17px}.market-landing h1{font-size:26px}.market-section-head{align-items:flex-start;flex-direction:column}.market-sort{width:100%}.market-sort-button{width:100%;justify-content:space-between}.market-filter-menu{position:static;margin-top:5px;display:flex}.market-table-head{display:none}.market-table-row{grid-template-columns:1fr auto;padding:13px}.market-price-cell{grid-column:2;grid-row:1}.market-date-cell{grid-column:1}.market-row-action{grid-column:2;grid-row:2}.market-owned-row{align-items:flex-start;flex-wrap:wrap}.market-owned-actions{width:100%;justify-content:flex-end}.market-detail-title h2{font-size:22px}}
@media(max-width:520px){.market-page{padding-left:0;padding-bottom:78px}.market-topbar{gap:10px}.market-brand b{font-size:12px}.market-search-wrap{height:36px}.market-landing-search{margin-top:20px}.market-modal{padding:8px}.market-modal-card{padding:20px}.market-detail-card{max-height:92vh;overflow:auto}}

/* ==== Profile: compact account details ==== */
.profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;max-width:620px;}
.profile-meta .profile-info-chip{position:relative;display:flex;align-items:center;gap:12px;min-width:0;width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:linear-gradient(145deg,rgba(24,25,35,.88),rgba(15,16,23,.72));color:#e8eaf3;box-shadow:0 7px 24px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden;}
.profile-meta .profile-info-chip:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,#a99aff,rgba(139,124,255,.05));opacity:.85;}
.profile-info-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:rgba(139,124,255,.11);border:1px solid rgba(139,124,255,.12);color:#b9adff;}
.profile-info-icon svg{width:17px;height:17px;stroke-width:1.9;}
.profile-info-copy{display:flex;flex-direction:column;gap:5px;min-width:0;}
.profile-info-label{font-size:10px;line-height:1.2;letter-spacing:.025em;color:#858ba0;}
.profile-info-copy strong{font-size:12px;line-height:1.45;font-weight:700;color:#f0f1fa;overflow-wrap:anywhere;}
.profile-info-icon.presence-dot.is-online{background:rgba(53,211,139,.09);border-color:rgba(53,211,139,.15);color:#49e19b;}
.profile-online-pill{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto;padding:5px 8px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.025);color:#9298ab;font-size:9px;font-weight:750;white-space:nowrap;}
.profile-online-pill>span{width:6px;height:6px;border-radius:50%;background:#72798c;}
.profile-online-pill.is-online{border-color:rgba(53,211,139,.18);background:rgba(53,211,139,.07);color:#67e9ac;}
.profile-online-pill.is-online>span{background:#49e19b;box-shadow:0 0 8px rgba(73,225,155,.55);}
@media(max-width:700px){.profile-meta{max-width:none;gap:8px}.profile-meta .profile-info-chip{padding:11px 10px;gap:9px}.profile-info-icon{width:33px;height:33px;flex-basis:33px;border-radius:10px}.profile-info-copy strong{font-size:11px}.profile-online-pill{padding:4px 6px;font-size:8px}}
@media(max-width:480px){.profile-meta{grid-template-columns:1fr;gap:7px;margin-top:13px}.profile-meta .profile-info-chip{padding:10px 12px}.profile-info-icon{width:35px;height:35px;flex-basis:35px}.profile-info-copy strong{font-size:12px}.profile-online-pill{font-size:9px}}


/* ==== CHATS ==== */
.chats-page{display:none;min-height:100vh;padding-left:230px;position:relative;z-index:1}
.chats-page.active{display:block}
.chats-shell{display:grid;grid-template-columns:320px minmax(0,1fr);height:100vh;max-width:1100px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}
.chats-list-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:rgba(10,13,24,.45)}
.chats-list-head{padding:22px 18px 14px;font-size:20px}
.chats-list{flex:1;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:4px}
.chat-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px;border:1px solid transparent;border-radius:14px;background:transparent;color:#fff;text-align:left}
.chat-item:hover,.chat-item.active{background:rgba(139,124,255,.13);border-color:rgba(139,124,255,.2)}
.chat-item img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.chat-item-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.chat-item-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item-main small{color:#8e95a8;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-unread{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#8b7cff;font-size:11px;font-weight:700}
.chat-pane{display:flex;flex-direction:column;min-height:0;min-width:0}
.chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8e95a8;text-align:center;padding:20px}
.chat-empty svg{width:40px;height:40px;color:#8b7cff}
.chat-empty b{color:#e5e6ed;font-size:16px}
.chat-conversation{display:flex;flex-direction:column;height:100%;min-height:0}
.chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:rgba(10,13,24,.55)}
.chat-header img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.chat-header>div{display:flex;flex-direction:column;gap:2px}
.chat-header b{cursor:pointer}
.chat-header small{color:#8e95a8}
.chat-back{display:none}
.chat-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:7px}
.chat-msg{max-width:min(520px,78%);padding:9px 13px 6px;border-radius:16px;display:flex;flex-direction:column;gap:3px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-msg small{align-self:flex-end;font-size:10px;opacity:.6}
.chat-msg.mine{align-self:flex-end;background:linear-gradient(135deg,#8b7cff,#6b62e9);border-bottom-right-radius:5px}
.chat-msg.theirs{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:5px}
.chat-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:rgba(10,13,24,.55)}
.chat-form input{margin:0;flex:1}
.chat-form .main-button{width:52px;padding:0}
@media(max-width:800px){.chats-page{padding-left:72px}}
@media(max-width:700px){
  .chats-shell{grid-template-columns:1fr}
  .chats-shell .chat-pane{display:none}
  .chats-shell.chat-open .chat-pane{display:flex}
  .chats-shell.chat-open .chats-list-pane{display:none}
  .chat-back{display:inline-flex}
}
@media(max-width:520px){.chats-page{padding-left:0}.chats-shell{height:calc(100vh - 68px)}}

/* ==== UI DIALOGS ==== */
.ui-dialog-backdrop{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ui-dialog-backdrop.open{display:flex}
.ui-dialog{width:min(400px,100%);padding:24px;border-radius:22px;background:var(--glass-strong);border:1px solid var(--border);box-shadow:var(--shadow);animation:popIn .25s cubic-bezier(.2,1.2,.4,1) both}
.ui-dialog-text{font-size:15px;line-height:1.5;white-space:pre-line;margin-bottom:16px}
.ui-dialog-input{margin-bottom:16px!important}
.ui-dialog-actions{display:flex;gap:10px;justify-content:flex-end}
.ui-btn{padding:10px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:600}
.ui-btn.primary{background:linear-gradient(135deg,var(--accent),#6b62e9);border-color:transparent}
/* ==== Lunargram: colourful notifications ==== */
.notification-modal-card{background:linear-gradient(160deg,rgba(26,22,52,.97),rgba(12,16,32,.97));border:1px solid rgba(139,124,255,.35);box-shadow:0 25px 80px rgba(80,60,200,.35)}
.notification-modal-head b{background:linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.notification-item{--nc:#8b7cff;position:relative;align-items:flex-start;border-left:3px solid var(--nc);background:linear-gradient(100deg,color-mix(in srgb,var(--nc) 14%,transparent),rgba(255,255,255,.03));transition:transform .15s,box-shadow .15s}
.notification-item:hover{transform:translateY(-1px);box-shadow:0 6px 22px color-mix(in srgb,var(--nc) 30%,transparent)}
.notification-item .notification-icon{background:color-mix(in srgb,var(--nc) 22%,transparent);color:var(--nc)}
.notification-item .n-body{min-width:0}.notification-item p{margin:3px 0;opacity:.85}.notification-item small{opacity:.55}
.notification-item.unread::after{content:"";position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--nc);box-shadow:0 0 10px var(--nc)}
.n-like{--nc:#ff5f7a}.n-comment{--nc:#35b8ff}.n-repost{--nc:#37d67a}.n-follow{--nc:#a78bfa}.n-mention{--nc:#ffb547}.n-market{--nc:#ffd54a}.n-gift{--nc:#ff7ad9}
.notification-item.n-admin{border:1px solid transparent;background:linear-gradient(#141831,#141831) padding-box,linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff) border-box;box-shadow:0 0 26px rgba(139,124,255,.28)}
.n-admin .notification-icon{background:linear-gradient(135deg,#ff5f9e,#8b7cff,#35d3ff);color:#fff}
.n-admin b{background:linear-gradient(120deg,#ff8ac0,#b9afff,#7be3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.n-admin-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 10px 2px 7px;border-radius:999px;margin-bottom:5px;color:#fff;background:linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff);background-size:200% 100%;animation:ngrad 4s linear infinite}
.n-admin-tag i,.n-admin-tag svg{width:13px;height:13px}
@keyframes ngrad{to{background-position:200% 0}}
.side-notify-count{background:linear-gradient(135deg,#ff5f9e,#8b7cff)!important;color:#fff!important}
.tx-peer{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(120deg,#8b7cff,#35b8ff);width:fit-content}
.tx-peer svg,.tx-peer i{width:13px;height:13px}.tx-peer:hover{filter:brightness(1.15)}
.stars-transaction-copy{display:flex;flex-direction:column}

/* ==== Lunargram service chat ==== */
.svc-badge{width:15px;height:15px;margin-left:5px;vertical-align:-2px;color:#35b8ff;fill:color-mix(in srgb,currentColor 18%,transparent);flex:none}
.chat-item.chat-service{background:linear-gradient(100deg,rgba(255,95,158,.13),rgba(139,124,255,.13),rgba(53,211,255,.1));border:1px solid rgba(139,124,255,.35)}
.chat-item.chat-service img{box-shadow:0 0 14px rgba(139,124,255,.6)}
.chat-msg.svc{max-width:min(86%,460px);display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid transparent;background:linear-gradient(#171b33,#171b33) padding-box,linear-gradient(120deg,#8b7cff,#35b8ff) border-box;border-radius:16px}
.chat-msg.svc>b{font-size:14px;background:linear-gradient(120deg,#b9afff,#7be3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.chat-msg.svc>span{line-height:1.45}
.chat-msg.svc-admin_message,.chat-msg.svc-admin_action{background:linear-gradient(#141831,#141831) padding-box,linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff) border-box;box-shadow:0 0 22px rgba(139,124,255,.25)}
.chat-msg.svc-admin_message>b,.chat-msg.svc-admin_action>b{background:linear-gradient(120deg,#ff8ac0,#b9afff,#7be3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.chat-msg.svc-market_sale,.chat-msg.svc-market_purchase{background:linear-gradient(#1b1a2a,#1b1a2a) padding-box,linear-gradient(120deg,#ffd54a,#ff9d3d) border-box}
.chat-msg.svc-market_sale>b,.chat-msg.svc-market_purchase>b{background:linear-gradient(120deg,#ffe27a,#ffab4a);-webkit-background-clip:text;background-clip:text;color:transparent}
.chat-msg.svc-login{background:linear-gradient(#142026,#142026) padding-box,linear-gradient(120deg,#37d67a,#35b8ff) border-box}
.chat-msg.svc-login>b{background:linear-gradient(120deg,#7bf0a8,#7be3ff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ==== chat ticks / replies / forwards / actors ==== */
.ticks{display:inline-flex;margin-left:4px;vertical-align:-2px;opacity:.65}
.ticks svg{width:14px;height:14px}.ticks .t2{display:none}
.ticks.read{opacity:1;color:#7be3ff}.ticks.read .t1{display:none}.ticks.read .t2{display:inline}
.chat-item-main small .ticks{margin:0 2px 0 0}
.chat-msg{cursor:pointer}
.msg-reply{border-left:3px solid #7be3ff;padding:3px 8px;margin-bottom:3px;border-radius:5px;background:rgba(0,0,0,.22);display:flex;flex-direction:column;font-size:12px;white-space:normal}
.msg-reply b{color:#7be3ff}.msg-reply span{opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.msg-fwd{font-size:12px;opacity:.9;display:flex;align-items:center;gap:4px;white-space:normal}
.msg-fwd svg{width:13px;height:13px}.msg-fwd b{color:#ffd1ea}
.msg-actions{display:none;gap:6px;margin-top:4px;white-space:normal}
.chat-msg.show-actions .msg-actions{display:flex}
.msg-actions button{border:0;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;background:rgba(255,255,255,.18)}
.msg-actions button:hover{background:linear-gradient(120deg,#8b7cff,#35b8ff)}
.chat-msg.flash{animation:cflash 1.3s}
@keyframes cflash{0%,70%{box-shadow:0 0 0 3px #7be3ff}100%{box-shadow:0 0 0 0 transparent}}
.chat-reply-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--border);border-left:3px solid #8b7cff;background:rgba(139,124,255,.1)}
.chat-reply-bar.hidden{display:none}
.reply-main{display:flex;flex-direction:column;min-width:0;flex:1;font-size:12px}
.reply-main b{color:#b9afff}.reply-main span{opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-actor{display:inline-flex;align-items:center;gap:6px;margin:4px 0;padding:2px 10px 2px 3px;border-radius:999px;background:rgba(255,255,255,.08);cursor:pointer;font-size:13px}
.n-actor img{width:20px;height:20px;border-radius:50%;object-fit:cover}
.n-actor em{opacity:.6;font-style:normal;font-size:12px}.n-actor:hover{background:rgba(139,124,255,.28)}
.chat-header b .svc-badge,.n-actor .svc-badge{margin-left:3px}

/* ==== notifications page + colour fixes ==== */
.notif-page{display:none;min-height:100vh;padding-left:230px;position:relative;z-index:1}
.notif-page.active{display:block}
.notif-wrap{max-width:720px;margin:0 auto;padding:30px 20px 90px}
.notif-head{margin-bottom:16px}
.notif-head h1{margin:0 0 4px;font-size:28px;background:linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.notif-head span{color:#8e95a8;font-size:13px}
.notif-svc{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:12px 14px;border-radius:16px;border:1px solid transparent;color:#fff;text-align:left;cursor:pointer;background:linear-gradient(#141831,#141831) padding-box,linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff) border-box;box-shadow:0 0 22px rgba(139,124,255,.22)}
.notif-svc img{width:40px;height:40px;border-radius:12px;object-fit:contain;padding:5px;background:#1d1a45}
.notif-svc span{display:flex;flex-direction:column;flex:1;font-size:12px;color:#9aa3ba}.notif-svc b{font-size:15px;color:#fff}
@media(max-width:800px){.notif-page{padding-left:72px}}
@media(max-width:520px){.notif-page{padding-left:0}}
.n-admin-tag{display:flex!important;width:fit-content;margin-bottom:6px!important}
.n-admin-tag img{width:15px;height:15px;object-fit:contain;border-radius:4px;background:rgba(255,255,255,.9);padding:1px}
.n-admin .notification-icon{padding:0;overflow:hidden;background:#1d1a45!important;border:1px solid rgba(139,124,255,.5)}
.n-admin .notification-icon img{width:100%;height:100%;object-fit:contain;padding:5px}
.n-admin .n-body>b{display:block;font-size:15px;margin-bottom:2px}
.n-admin p{color:#d9dcec;opacity:1}
.chat-item.chat-service img,#chatPeerAvatar[src="/logo.png"]{object-fit:contain!important;padding:6px;background:#1d1a45;box-sizing:border-box}
.chat-msg.svc-announcement,.chat-msg.svc-post_pinned{background:linear-gradient(#141831,#141831) padding-box,linear-gradient(120deg,#ff5f9e,#8b7cff,#35d3ff) border-box;box-shadow:0 0 22px rgba(139,124,255,.25)}
.chat-msg.svc-announcement>b,.chat-msg.svc-post_pinned>b{background:linear-gradient(120deg,#ff8ac0,#b9afff,#7be3ff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ==== subtle peer links ==== */
.tx-peer{background:rgba(255,255,255,.07)!important;color:#aeb6cc!important;font-weight:500!important;font-size:12px!important;padding:2px 9px!important;border:1px solid rgba(255,255,255,.08);margin-top:4px!important}
.tx-peer:hover{color:#fff!important;background:rgba(139,124,255,.22)!important;filter:none!important}
.tx-peer .svc-badge{width:13px;height:13px;margin-left:3px}
#profileTabs.hidden,#profilePosts.hidden,#svcInfo.hidden{display:none!important}

/* окошко канала */
.chf{display:flex;flex-direction:column;gap:0;width:min(420px,100%)}
.chf input,.chf textarea{margin-bottom:12px}
.chf textarea{min-height:80px}
.chf-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.chf-avatar{width:84px;height:84px;margin:0 auto 16px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;background:rgba(139,124,255,.12);border:1px dashed rgba(139,124,255,.5);color:#cfc9ff}
.chf-avatar img,.channel-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.chf-avatar svg{width:26px;height:26px}
.chf-err{min-height:18px;color:#ff7a8a;font-size:13px;margin-bottom:8px}
.chf-av-sm{width:44px;height:44px;border-radius:50%;object-fit:cover}
.channel-avatar{overflow:hidden}
/* селекты (в т.ч. админка) */
select{width:100%;padding:11px 36px 11px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;outline:none;background:rgba(0,0,0,.25) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%239aa3ba' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 13px center;color:#fff;font-size:14px;appearance:none;-webkit-appearance:none;cursor:pointer;transition:.2s}
select:focus{border-color:rgba(139,124,255,.8);box-shadow:0 0 0 4px rgba(139,124,255,.15)}
select option{background:#15161d;color:#fff}
.mini-input{width:auto}
.admin-row-type{min-width:130px}

/* меню «+» в чатах */
.chat-plus-menu{position:absolute;right:8px;top:100%;z-index:30;background:#1a1b26;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:6px;min-width:200px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.chat-plus-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#fff;font-weight:600;text-align:left;cursor:pointer}
.chat-plus-item:hover{background:rgba(139,124,255,.16)}
.chat-plus-item svg{width:17px;height:17px;color:#a99dff}
/* окно информации о канале */
.chf-clickable{cursor:pointer}.chf-clickable:hover h2{color:#cfc9ff}
.chi{width:min(440px,100%);max-height:86vh;overflow-y:auto}
.chi-top{text-align:center;margin-bottom:14px}
.chi-big{width:92px;height:92px;border-radius:50%;object-fit:cover;margin:0 auto 10px;display:block}
.chi-ph{display:flex;align-items:center;justify-content:center;background:rgba(139,124,255,.14);color:#cfc9ff}
.chi-ph svg{width:34px;height:34px}
.chi-top h3{margin:0 0 2px;font-size:19px}
.chi-user{color:#a99dff;font-size:14px}
.chi-tag{display:inline-block;margin:6px 3px 0;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.07);font-size:12px;color:#c4cbe0}
.chi-bio{margin:12px 0 0;color:#b4bbd0;font-size:14px;line-height:1.5;white-space:pre-line}
.chi-sec{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8f96a8;margin:6px 0 8px}
.chi-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:12px}
.chi-row:hover{background:rgba(255,255,255,.04)}
.chi-av{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}
.chi-main{flex:1;min-width:0;display:flex;flex-direction:column;cursor:pointer}
.chi-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chi-main small{color:#8f96a8;font-size:12px}
.chi-role{font-size:11px;font-weight:700;color:#a99dff}.chi-role.owner{color:#ffb547}
.chi-btn{padding:6px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.chi-btn.danger{color:#ff8a98}.chi-btn.primary{background:linear-gradient(135deg,var(--accent),#6b62e9);border-color:transparent}
.chi-perms{margin:2px 0 8px 48px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.07)}
.chi-check{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13px;cursor:pointer}
.chi-check input{width:auto;margin:0}
.chi-perm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
.chi-id{font-size:12px;color:#9aa0b5;margin-top:4px}
.chi-invite{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:10px;background:rgba(139,124,255,.15);color:#cfc9ff;font-size:12px;cursor:pointer}

.ch-bar{padding:12px 16px;text-align:center;border-top:1px solid rgba(255,255,255,.08)}
.ch-bar .ui-btn{width:100%}
.ch-post{max-width:min(560px,92%)}

/* --- удаление сообщений, лимит чатов --- */
.ch-post{position:relative}
.ch-post .msg-del{position:absolute;top:6px;right:6px;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:8px;background:rgba(255,95,122,.14);color:#ff9bad;cursor:pointer;opacity:0;transition:opacity .15s}
.ch-post:hover .msg-del,.ch-post .msg-del:focus-visible{opacity:1}
@media (hover:none){.ch-post .msg-del{opacity:.85}}
.msg-del svg{width:14px;height:14px}
.msg-actions .danger{color:#ff9bad}
.chat-limit{margin:6px 12px;padding:6px 10px;border-radius:10px;font-size:12px;text-align:center;color:#9da4bb;background:rgba(255,255,255,.04)}
.ch-author{display:block;font-size:12px;color:#c9c2ff;margin-bottom:3px;cursor:pointer}
.chat-msg.mine .ch-author{display:none}