:root{
--bg:#070817;--panel:#0d1024;--panel2:#11152c;--text:#f7f7ff;--muted:#9aa1bd;
--purple:#7c3cff;--pink:#ef3f9d;--blue:#3587ff;--border:rgba(255,255,255,.08);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
body{background:radial-gradient(circle at 15% 10%,rgba(124,60,255,.18),transparent 35%),radial-gradient(circle at 90% 0,rgba(239,63,157,.12),transparent 30%),#070817}
a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:14px;font-size:34px;font-weight:900}.brand.small{font-size:20px}.logo{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--purple),var(--blue));box-shadow:0 0 30px rgba(124,60,255,.45)}.brand.small .logo{width:38px;height:38px;border-radius:13px}
.landing{overflow-x:hidden}.hero{max-width:1180px;margin:auto;min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;padding:40px}
.hero-copy h1{font-size:64px;line-height:1.03;margin:38px 0 20px}.hero-copy h1 span{background:linear-gradient(90deg,#b789ff,#ff73b8);-webkit-background-clip:text;color:transparent}.hero-copy p{font-size:20px;color:var(--muted);max-width:660px;line-height:1.7}.hero-actions{display:flex;gap:14px;margin:32px 0}.btn{border:0;border-radius:14px;padding:15px 22px;font-weight:800;font-size:16px;cursor:pointer;display:inline-flex;justify-content:center}.btn.primary{background:linear-gradient(135deg,var(--purple),#9a43ff);box-shadow:0 12px 30px rgba(124,60,255,.35)}.btn.ghost{background:rgba(255,255,255,.06);border:1px solid var(--border)}.btn.full{width:100%}.feature-row{display:flex;gap:12px;flex-wrap:wrap}.feature-row div{padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035);color:#d9dcf0}
.phone-card{background:linear-gradient(180deg,#10132a,#0b0d1d);border:1px solid rgba(165,112,255,.25);border-radius:34px;padding:26px;box-shadow:0 35px 100px rgba(0,0,0,.4)}.phone-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.phone-card h3{font-size:25px}.choice{padding:16px;border-radius:14px;margin:11px 0;font-weight:800}.purple{background:#241451}.pink{background:#42142e}.blue{background:#102b52}.orange{background:#402717}.mini-chat{margin-top:24px;display:grid;gap:12px}.mini-chat div{background:#151a35;padding:14px;border-radius:15px}.mini-chat span{display:block;color:var(--muted);margin-top:5px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:rgba(14,17,38,.95);padding:32px;border-radius:24px;border:1px solid var(--border);box-shadow:0 30px 90px rgba(0,0,0,.45)}.auth-card h1{margin:28px 0 7px}.auth-card>p{color:var(--muted);margin:0 0 24px}.auth-card label{display:block;color:#dfe2f5;font-weight:700;margin:16px 0 7px}.auth-card input{display:block;width:100%;margin-top:8px;background:#0a0d1e;border:1px solid var(--border);border-radius:13px;color:#fff;padding:14px;font-size:16px;outline:none}.auth-card input:focus{border-color:#7c3cff}.auth-link{display:block;text-align:center;color:#b794ff;margin-top:18px}.alert{padding:12px;border-radius:12px;background:#45182b;color:#ffb0cf;margin-bottom:15px}
.app-page{height:100vh;overflow:hidden}.app-shell{height:100vh;display:grid;grid-template-columns:300px 1fr 280px;max-width:1600px;margin:auto;background:rgba(4,5,15,.65)}
.sidebar,.online-panel{background:rgba(10,12,28,.96);border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column}.rooms{display:grid;gap:7px;margin-top:28px;overflow:auto}.rooms a{display:flex;gap:12px;padding:13px;border-radius:14px;color:#d5d9ee}.rooms a:hover,.rooms a.active{background:linear-gradient(90deg,rgba(124,60,255,.2),rgba(124,60,255,.06));color:#fff}.room-icon{font-size:22px}.rooms b,.rooms small{display:block}.rooms small{color:var(--muted);font-size:11px;margin-top:3px}.profile-mini{margin-top:auto;border-top:1px solid var(--border);padding-top:17px;display:flex;align-items:center;gap:10px}.profile-mini div{min-width:0;flex:1}.profile-mini small{display:block;color:var(--muted)}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#22284e;font-size:20px}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-header{height:82px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 22px;background:rgba(10,12,28,.72);backdrop-filter:blur(18px)}.chat-header h2{font-size:18px;margin:0}.chat-header p{font-size:12px;color:#6ce7a4;margin:5px 0 0}.icon-btn,.mobile-menu{margin-left:auto;background:#171b38;color:#fff;border:1px solid var(--border);border-radius:12px;width:42px;height:42px;cursor:pointer}.mobile-menu{display:none;margin-left:0;margin-right:12px}.messages{flex:1;overflow-y:auto;padding:26px;scroll-behavior:smooth}.message{display:flex;gap:10px;margin:0 0 18px;max-width:78%}.message.mine{margin-left:auto;flex-direction:row-reverse}.msg-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#22284e;flex:0 0 auto}.bubble{background:#141936;border:1px solid var(--border);padding:11px 14px;border-radius:8px 18px 18px 18px;min-width:120px}.mine .bubble{background:linear-gradient(135deg,#6b2fe4,#8538ed);border-radius:18px 8px 18px 18px}.msg-meta{display:flex;gap:15px;justify-content:space-between;font-size:12px}.msg-meta span{color:#9ba1bc}.msg-body{margin-top:7px;line-height:1.45;word-break:break-word}.composer{display:flex;align-items:flex-end;gap:10px;border-top:1px solid var(--border);padding:15px 20px;background:#0b0e20}.composer textarea{resize:none;flex:1;max-height:120px;background:#151a35;color:#fff;border:1px solid var(--border);border-radius:16px;padding:13px 15px;font:inherit;outline:none}.composer textarea:focus{border-color:#7240d9}.send-btn,.emoji-btn{width:46px;height:46px;border-radius:14px;border:0;color:#fff;cursor:pointer}.send-btn{background:linear-gradient(135deg,var(--purple),#9b45ff);font-size:19px}.emoji-btn{background:#171b38;font-size:20px}.online-panel{border-right:0;border-left:1px solid var(--border)}.online-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.online-title button{display:none;background:none;color:white;border:0;font-size:26px}.online-user{display:flex;align-items:center;gap:10px;padding:10px 0}.online-user div{flex:1}.online-user small{display:block;color:var(--muted)}.online-user i{width:9px;height:9px;background:#42df8c;border-radius:50%;box-shadow:0 0 10px #42df8c}
@media(max-width:980px){.app-shell{grid-template-columns:260px 1fr}.online-panel{position:fixed;right:-310px;top:0;bottom:0;width:280px;z-index:10;transition:.25s}.online-panel.open{right:0}.online-title button{display:block}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:24px}.phone-card{display:none}.hero-copy h1{font-size:45px}.feature-row{display:grid}.app-shell{display:block}.sidebar{position:fixed;left:-290px;top:0;bottom:0;width:280px;z-index:20;transition:.25s}.sidebar.open{left:0}.mobile-menu{display:block}.chat-panel{height:100vh}.messages{padding:17px 12px}.message{max-width:92%}.chat-header{height:70px;padding:0 12px}.composer{padding:10px}.emoji-btn{display:none}}
/* v3 social hub */
.hub-page{min-height:100vh;padding-bottom:86px}.hub-shell{width:min(1120px,100%);margin:auto;padding:22px}.hub-shell.narrow{width:min(760px,100%)}.hub-head{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.hub-head>a{color:#c7cbe2}.hub-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#20264d;font-size:22px}.welcome-card{margin-top:18px;padding:30px;border-radius:28px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#171a3b,#241346 60%,#421536);border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 70px rgba(0,0,0,.28)}.eyebrow{color:#be98ff;font-weight:800}.welcome-card h1{font-size:34px;margin:8px 0}.welcome-card p{color:var(--muted);margin:0;max-width:600px}.welcome-badge{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;align-content:center;background:rgba(124,60,255,.18);border:1px solid rgba(185,135,255,.25)}.welcome-badge b{font-size:34px}.welcome-badge span{color:#66e9a0}.section-title{font-size:21px;margin:30px 0 14px}.section-row{display:flex;justify-content:space-between;align-items:center}.section-row span{color:var(--muted);font-size:13px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{min-height:150px;border-radius:22px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--border);transition:.2s}.quick-card:hover{transform:translateY(-3px)}.quick-card>span{font-size:34px;margin-bottom:auto}.quick-card b{font-size:18px}.quick-card small{color:#c9cce0;margin-top:5px}.violet{background:linear-gradient(145deg,#26175c,#171a36)}.pinkish{background:linear-gradient(145deg,#4a1636,#21152f)}.blueish{background:linear-gradient(145deg,#123e62,#151d38)}.amber{background:linear-gradient(145deg,#4b2d18,#211a2f)}.room-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.room-cards a,.menu-list a{display:flex;align-items:center;gap:14px;padding:17px;border-radius:17px;background:#11152c;border:1px solid var(--border)}.room-cards a>span{font-size:24px}.room-cards div,.menu-list a{flex:1}.room-cards b,.room-cards small{display:block}.room-cards small{color:var(--muted);margin-top:4px}.room-cards i,.menu-list i{margin-left:auto;font-size:25px;color:#7d84a5}.profile-card{text-align:center;background:linear-gradient(180deg,#151a39,#0f1228);padding:30px;border:1px solid var(--border);border-radius:26px}.profile-avatar-big{width:100px;height:100px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#242b58;font-size:48px;border:4px solid #7d42ff}.profile-card h1{margin:14px 0 5px}.online-label{color:#5ce598}.xp-bar{height:8px;background:#262b49;border-radius:10px;overflow:hidden;margin:18px auto 7px;max-width:420px}.xp-bar i{display:block;height:100%;background:linear-gradient(90deg,#7c3cff,#ef3f9d)}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.profile-stats div{padding:14px;background:#171b36;border-radius:16px}.profile-stats b,.profile-stats span{display:block}.profile-stats span{font-size:12px;color:var(--muted);margin-top:5px}.menu-list{display:grid;gap:10px;margin-top:18px}.page-title{font-size:32px;margin:25px 0 5px}.page-sub{color:var(--muted);margin:0 0 20px}.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.people-grid article{text-align:center;background:#11152c;border:1px solid var(--border);border-radius:20px;padding:20px}.person-avatar{position:relative;width:72px;height:72px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#242a53;font-size:35px}.person-avatar i{position:absolute;right:3px;bottom:3px;width:14px;height:14px;border-radius:50%;background:#43df8c;border:3px solid #11152c}.people-grid b,.people-grid small{display:block}.people-grid b{margin-top:10px}.people-grid small{color:var(--muted);margin:5px}.people-grid a{display:block;margin-top:12px;padding:10px;background:#6d32dc;border-radius:12px}.empty-card{grid-column:1/-1;padding:30px;text-align:center;background:#11152c;border-radius:20px}.game-list{display:grid;gap:12px}.game-list button{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:18px;border:1px solid var(--border);background:#11152c;color:#fff;border-radius:18px}.game-list button>span{font-size:30px}.game-list div{flex:1}.game-list b,.game-list small{display:block}.game-list small{color:var(--muted);margin-top:4px}.game-list i{font-size:28px}.game-modal{position:fixed;inset:0;background:rgba(0,0,0,.68);display:none;place-items:center;padding:20px;z-index:50}.game-modal.open{display:grid}.game-modal>div{position:relative;width:min(420px,100%);text-align:center;background:#14182f;border:1px solid var(--border);padding:30px;border-radius:25px}.game-modal>div>button:first-child{position:absolute;right:15px;top:10px;background:none;border:0;color:#fff;font-size:28px}.game-modal span{font-size:55px}.game-modal p{font-size:20px;line-height:1.5;min-height:60px}.mobile-bottom-nav{display:none}
@media(max-width:760px){.hub-shell{padding:14px}.welcome-card{padding:22px}.welcome-card h1{font-size:27px}.welcome-badge{width:82px;height:82px}.welcome-badge b{font-size:25px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-card{min-height:135px;padding:16px}.room-cards{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr 1fr}.mobile-bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:72px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(11,14,32,.97);border-top:1px solid var(--border);backdrop-filter:blur(15px)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#aeb4ce}.mobile-bottom-nav span{font-size:20px}.mobile-bottom-nav small{font-size:10px}.app-page .mobile-bottom-nav{display:grid}.app-page .composer{bottom:72px}.app-page .chat-panel{height:calc(100vh - 72px)}}
@media(max-width:430px){.welcome-card{align-items:flex-start}.welcome-badge{width:70px;height:70px;flex:0 0 auto}.welcome-badge span{font-size:11px}.quick-card b{font-size:16px}.people-grid{grid-template-columns:1fr}.profile-stats b{font-size:14px}}


/* v4: принудительное исправление главной страницы на телефонах */
@media screen and (max-width: 1000px) {
  html, body { width:100% !important; max-width:100% !important; overflow-x:hidden !important; }
  body.landing { min-height:100dvh !important; }
  .landing .hero {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:auto !important;
    margin:0 !important;
    padding:24px 18px 40px !important;
  }
  .landing .hero-copy { width:100% !important; max-width:620px !important; margin:0 auto !important; }
  .landing .phone-card { display:none !important; width:0 !important; height:0 !important; overflow:hidden !important; }
  .landing .brand { font-size:27px !important; gap:10px !important; }
  .landing .brand .logo { width:44px !important; height:44px !important; border-radius:15px !important; }
  .landing .hero-copy h1 {
    font-size:clamp(40px, 11vw, 58px) !important;
    line-height:1.05 !important;
    margin:34px 0 18px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .landing .hero-copy p { font-size:18px !important; line-height:1.55 !important; max-width:none !important; }
  .landing .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap:12px !important; margin:28px 0 22px !important; }
  .landing .hero-actions .btn { width:100% !important; min-height:56px !important; align-items:center !important; }
  .landing .feature-row { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
  .landing .feature-row div { width:100% !important; }
}

@media screen and (max-width: 420px) {
  .landing .hero { padding-left:16px !important; padding-right:16px !important; }
  .landing .hero-copy h1 { font-size:39px !important; }
  .landing .hero-copy p { font-size:17px !important; }
}

/* v5 exact neon mobile app look */
.app-modern{background:radial-gradient(circle at 80% 0,rgba(109,36,210,.16),transparent 28%),#070916;color:#f7f7ff}.modern-shell{padding-top:10px}.topbar-modern{height:68px;display:flex;align-items:center;justify-content:space-between}.top-actions{display:flex;align-items:center;gap:10px}.coin-pill{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:14px;background:#151a32;border:1px solid rgba(255,255,255,.07);font-size:13px}.hub-avatar{position:relative}.hub-avatar i{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#42df8c;border:2px solid #0b0e20}.hero-dashboard{display:grid;grid-template-columns:1fr 190px;gap:24px;align-items:center;padding:28px;border:1px solid rgba(173,107,255,.18);border-radius:30px;background:linear-gradient(135deg,#131832 0%,#1b1640 55%,#32152f 100%);box-shadow:0 24px 80px rgba(0,0,0,.3)}.hero-dashboard h1{font-size:34px;margin:8px 0 8px}.hero-dashboard p{color:#b9bfd3;line-height:1.55;margin:0}.hero-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.hero-stats span{padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.055);font-size:12px;color:#b9bfd3}.hero-stats b{color:#fff}.level-orb{height:155px;border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(124,60,255,.12);border:1px solid rgba(255,255,255,.07)}.level-orb>span{font-size:42px}.level-orb b{margin-top:7px}.level-orb small{color:#9da4bd;margin:4px}.level-orb>i{width:75%;height:6px;background:#272d4a;border-radius:10px;overflow:hidden}.level-orb em{display:block;height:100%;background:linear-gradient(90deg,#7d3fff,#f13f9e)}.modern-title{margin:27px 0 13px}.action-grid-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.action-modern{position:relative;min-height:108px;padding:17px;border-radius:22px;border:1px solid rgba(255,255,255,.075);display:flex;align-items:center;gap:15px;overflow:hidden}.action-modern>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:rgba(255,255,255,.08)}.action-modern div{min-width:0}.action-modern b,.action-modern small{display:block}.action-modern b{font-size:17px}.action-modern small{color:#c1c5d6;margin-top:5px}.action-modern>i{margin-left:auto;font-size:27px;color:#d4c7f8}.purple-card{background:linear-gradient(145deg,#29165f,#14182e)}.pink-card{background:linear-gradient(145deg,#4a1734,#1d1428)}.blue-card{background:linear-gradient(145deg,#123c5e,#131a31)}.night-card{background:linear-gradient(145deg,#3e2918,#1a172a)}.section-row>a{color:#ae83ff;font-size:13px}.rooms-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.rooms-modern>a{display:flex;align-items:center;gap:12px;padding:15px;border-radius:18px;background:#10142a;border:1px solid rgba(255,255,255,.07)}.room-round{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#20264a;font-size:21px}.rooms-modern div{flex:1;min-width:0}.rooms-modern b,.rooms-modern small{display:block}.rooms-modern small{color:#8f96b0;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rooms-modern i{font-size:24px;color:#7f86a7}.live-dot{width:8px;height:8px;border-radius:50%;background:#42df8c}.daily-card{margin-top:18px;padding:20px;border-radius:22px;display:flex;align-items:center;gap:16px;justify-content:space-between;background:linear-gradient(135deg,#181437,#2d1743);border:1px solid rgba(185,113,255,.17)}.daily-card span{font-size:11px;color:#b58cff;font-weight:800}.daily-card h3{margin:7px 0 4px}.daily-card p{color:#9ea5bc;margin:0}.daily-card>a{padding:12px 15px;border-radius:13px;background:linear-gradient(135deg,#7b3cff,#a044ff);font-weight:800;white-space:nowrap}.daily-progress{width:210px;max-width:100%;height:6px;background:#292c47;border-radius:10px;overflow:hidden;margin-top:12px}.daily-progress i{display:block;height:100%;background:linear-gradient(90deg,#7b3cff,#ef3f9d)}.page-head-modern{height:62px;display:grid;grid-template-columns:45px 1fr 45px;align-items:center;text-align:center}.page-head-modern>a,.page-head-modern>span{font-size:23px;color:#d8dbed}.page-head-modern>b{font-size:17px}.profile-modern{text-align:center;padding:28px 24px;border-radius:28px;background:linear-gradient(180deg,#151a37,#0e1125);border:1px solid rgba(255,255,255,.07)}.profile-avatar-ring{position:relative;width:106px;height:106px;margin:auto;border-radius:50%;padding:4px;background:linear-gradient(135deg,#7c3cff,#ef3f9d)}.profile-avatar-ring span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#20264b;font-size:50px}.profile-avatar-ring i{position:absolute;right:5px;bottom:8px;width:17px;height:17px;border-radius:50%;background:#626a80;border:4px solid #151a37;box-shadow:none}.profile-avatar-ring i.is-online{background:#43df8c;box-shadow:0 0 12px rgba(67,223,140,.8)}.profile-modern h1{margin:13px 0 4px}.profile-modern>p{color:#5ee79a;margin:0 0 20px}.level-line{display:flex;justify-content:space-between;font-size:12px;color:#9ca3bb}.xp-bar.modern{max-width:none;margin:8px 0 0}.profile-stats.modern{margin-top:22px}.settings-list{display:grid;gap:10px}.settings-list>a{display:flex;align-items:center;gap:13px;padding:15px;border-radius:18px;background:#10142a;border:1px solid rgba(255,255,255,.07)}.settings-list>a>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#20264a;font-size:20px}.settings-list div{flex:1;text-align:left}.settings-list b,.settings-list small{display:block}.settings-list small{color:#9098b0;margin-top:3px}.settings-list i{font-size:24px;color:#7e85a6}.search-box{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#11152c;border:1px solid rgba(255,255,255,.07);border-radius:16px}.search-box input{flex:1;background:none;border:0;outline:0;color:#fff;font-size:15px}.filter-pills{display:flex;gap:8px;overflow:auto;margin:15px 0}.filter-pills button{border:0;color:#aab1c9;background:#14182f;padding:9px 14px;border-radius:12px;white-space:nowrap}.filter-pills button.active{background:#6f32df;color:#fff}.modern-page-title{margin-top:22px}.people-modern{display:grid;gap:11px}.people-modern article{display:flex;align-items:center;gap:13px;padding:15px;border-radius:19px;background:#10142a;border:1px solid rgba(255,255,255,.07)}.person-photo{position:relative;width:58px;height:58px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;background:#242a51;font-size:31px}.person-photo i{position:absolute;right:2px;bottom:2px;width:13px;height:13px;border-radius:50%;background:#43df8c;border:3px solid #10142a}.people-modern article>div:nth-child(2){flex:1;min-width:0}.people-modern b,.people-modern small{display:block}.people-modern small{color:#939bb2;margin-top:3px}.people-modern p{margin:7px 0 0;color:#c5cad9;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.people-modern article>a{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#6f32df}.games-hero{display:flex;align-items:center;gap:17px;padding:22px;border-radius:23px;background:linear-gradient(135deg,#1b1642,#351644);border:1px solid rgba(255,255,255,.07)}.games-hero>span{width:70px;height:70px;border-radius:21px;display:grid;place-items:center;background:rgba(124,60,255,.18);font-size:34px}.games-hero h1{margin:0 0 6px}.games-hero p{margin:0;color:#b2b8cd}.games-modern{display:grid;gap:11px}.games-modern button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:15px;border-radius:19px;border:1px solid rgba(255,255,255,.07);background:#10142a;color:#fff}.game-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:27px}.game-icon.g1{background:#4a1740}.game-icon.g2{background:#13385c}.game-icon.g3{background:#47341b}.games-modern div{flex:1}.games-modern b,.games-modern small,.games-modern em{display:block}.games-modern small{color:#a4abc1;margin-top:3px}.games-modern em{font-size:11px;color:#7f87a2;margin-top:7px;font-style:normal}.games-modern i{font-size:26px;color:#7e85a7}.game-daily>b{color:#b58cff}.mobile-bottom-nav a.active{color:#9b62ff}.mobile-bottom-nav a.active span{filter:drop-shadow(0 0 10px rgba(139,80,255,.75))}.mobile-bottom-nav .nav-game{width:40px;height:40px;margin-top:-18px;border-radius:14px;background:linear-gradient(135deg,#7c3cff,#ef3f9d);display:grid;place-items:center;color:white;box-shadow:0 8px 24px rgba(124,60,255,.45)}
@media(max-width:760px){.modern-shell{padding:8px 14px 92px}.hero-dashboard{display:block;padding:21px;border-radius:24px}.hero-dashboard h1{font-size:28px}.level-orb{height:auto;margin-top:17px;padding:15px;display:grid;grid-template-columns:48px 1fr;column-gap:12px;text-align:left}.level-orb>span{grid-row:1/4;font-size:36px}.level-orb b,.level-orb small{margin:0}.level-orb>i{width:100%;margin-top:7px}.action-grid-modern{grid-template-columns:1fr 1fr}.action-modern{min-height:125px;display:block;padding:15px}.action-modern>span{margin-bottom:15px}.action-modern>i{position:absolute;right:14px;bottom:13px}.rooms-modern{grid-template-columns:1fr}.daily-card{align-items:flex-end}.daily-card>a{font-size:13px}.topbar-modern .brand.small{font-size:19px}.topbar-modern .brand.small .logo{width:36px;height:36px}.profile-stats.modern{grid-template-columns:repeat(3,1fr)}.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(72px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.action-grid-modern{grid-template-columns:1fr}.hero-stats span{font-size:11px}.daily-card{display:block}.daily-card>a{display:block;text-align:center;margin-top:15px}.profile-stats.modern div{padding:10px 5px}}
.dating-stack{display:grid;gap:18px;padding-bottom:95px}.dating-card{background:linear-gradient(180deg,#151832,#0f1227);border:1px solid var(--border);border-radius:24px;padding:22px;text-align:center}.dating-avatar{width:108px;height:108px;margin:auto;border-radius:32px;display:grid;place-items:center;font-size:58px;background:linear-gradient(135deg,#262c58,#151932);position:relative}.dating-avatar i{position:absolute;right:5px;bottom:5px;width:16px;height:16px;background:#43e58c;border:3px solid #151832;border-radius:50%}.dating-info h2{margin:14px 0 3px}.dating-info span,.dating-info p{color:var(--muted)}.dating-info p{line-height:1.5}.dating-actions{display:flex;justify-content:center;gap:16px;margin-top:18px}.dating-actions button,.dating-actions a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:#1a1f40;color:white;font-size:24px}.dating-actions .like-btn{background:linear-gradient(135deg,#8a2fff,#f13f9f)}.dating-actions .like-btn.liked{box-shadow:0 0 24px rgba(239,63,157,.55)}.dialogs-list{display:grid;gap:8px;padding-bottom:95px}.dialogs-list>a{position:relative;display:flex;align-items:center;gap:12px;padding:14px;background:#12162f;border:1px solid var(--border);border-radius:16px}.dialogs-list div{min-width:0;flex:1}.dialogs-list b,.dialogs-list small{display:block}.dialogs-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.dialogs-list time{font-size:11px;color:var(--muted)}.dialogs-list i{position:absolute;right:12px;bottom:10px;background:#823cff;border-radius:20px;padding:2px 7px;font-style:normal;font-size:11px}.private-shell{height:100vh;max-width:850px;margin:auto;display:flex;flex-direction:column;background:rgba(5,7,18,.85)}.private-head{height:72px;display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:#0c0f22}.private-head>a{font-size:32px}.private-head div{display:flex;flex-direction:column}.private-head small{color:#55dc93;margin-top:3px}.private-messages{padding-bottom:18px}

/* v7 — polished dating cards and reliable like feedback */
.dating-page{background:radial-gradient(circle at 50% -10%,rgba(124,60,255,.22),transparent 34%),#070817}
.dating-shell{max-width:720px;padding-top:8px}.dating-head{position:sticky;top:0;z-index:8;background:rgba(7,8,23,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.05)}
.dating-intro{text-align:center;padding:22px 16px 18px}.dating-kicker{font-size:11px;letter-spacing:.16em;color:#b38cff;font-weight:900}.dating-intro h1{margin:8px 0;font-size:34px;line-height:1.08;background:linear-gradient(90deg,#fff,#d9c7ff 55%,#ffb4dc);-webkit-background-clip:text;color:transparent}.dating-intro p{max-width:520px;margin:0 auto;color:#9ea5bd;line-height:1.55}
.dating-stack{gap:22px;padding:0 0 105px}.dating-card{padding:0;text-align:left;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#151936,#0e1126);border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 70px rgba(0,0,0,.32);transition:transform .22s,opacity .22s}.dating-card:hover{transform:translateY(-2px)}.dating-card.leaving{transform:translateX(-35px) rotate(-2deg);opacity:0}.dating-card.matched{box-shadow:0 0 0 1px rgba(242,63,159,.45),0 24px 80px rgba(124,60,255,.3)}
.dating-cover{height:214px;position:relative;display:grid;place-items:center;overflow:hidden}.cover-1{background:radial-gradient(circle at 25% 20%,#934cff,transparent 35%),linear-gradient(135deg,#371b6d,#171c42 60%,#18365d)}.cover-2{background:radial-gradient(circle at 75% 20%,#ff4ea8,transparent 34%),linear-gradient(135deg,#4b183c,#1a193b 56%,#3a1b61)}.cover-3{background:radial-gradient(circle at 20% 80%,#33a9ff,transparent 35%),linear-gradient(135deg,#123d61,#171a3e 58%,#3c1d64)}.cover-4{background:radial-gradient(circle at 78% 22%,#ff9a3d,transparent 34%),linear-gradient(135deg,#4b2b16,#211a38 58%,#511f4c)}.dating-cover:before,.dating-cover:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.08)}.dating-cover:before{width:190px;height:190px;left:-65px;bottom:-90px}.dating-cover:after{width:150px;height:150px;right:-60px;top:-60px}.cover-spark{position:absolute;color:rgba(255,255,255,.65);font-size:24px}.spark-one{left:16%;top:25%}.spark-two{right:18%;bottom:23%;font-size:18px}
.dating-cover .dating-avatar{width:122px;height:122px;margin:0;border-radius:38px;font-size:66px;background:rgba(17,20,46,.7);border:3px solid rgba(255,255,255,.24);box-shadow:0 18px 50px rgba(0,0,0,.34);backdrop-filter:blur(8px);z-index:2}.dating-cover .dating-avatar i{right:7px;bottom:7px;width:18px;height:18px;border-width:4px}.status-pill{position:absolute;right:16px;top:16px;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(8,10,25,.62);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);font-size:11px;color:#dfe4f5}.status-pill i{width:8px;height:8px;border-radius:50%}.status-pill.online i{background:#43df8c;box-shadow:0 0 12px #43df8c}.status-pill.recent i{background:#9aa2be}
.dating-content{padding:21px}.dating-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dating-name-row h2{margin:0;font-size:25px}.dating-name-row>div>span{display:block;color:#9ba2ba;font-size:12px;margin-top:4px}.verified-badge{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7b3cff,#b753ff);font-weight:900;box-shadow:0 8px 20px rgba(124,60,255,.35)}.dating-bio{color:#c3c8d9!important;margin:15px 0 14px!important;line-height:1.55!important}.interest-chips{display:flex;flex-wrap:wrap;gap:8px}.interest-chips span{padding:7px 10px;border-radius:999px;background:#1b2042;border:1px solid rgba(255,255,255,.07);color:#cbd0e2;font-size:12px}
.dating-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;margin-top:20px}.dating-actions button,.dating-actions a{width:auto;height:58px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.08);font-size:20px}.dating-actions small{font-size:12px;font-weight:800}.dating-actions .skip-btn{background:#181c37;color:#c7ccdd}.dating-actions .like-btn{background:linear-gradient(135deg,#732ee3,#ec3d9a);box-shadow:0 10px 28px rgba(124,60,255,.28)}.dating-actions .like-btn.liked{background:linear-gradient(135deg,#ef3f9d,#ff6caf);box-shadow:0 0 26px rgba(239,63,157,.48)}.dating-actions .like-btn.loading{opacity:.65;pointer-events:none}.dating-actions .message-btn{background:#182b4c;color:#e5f0ff}.dating-empty{display:grid;place-items:center;gap:8px;padding:48px 24px}.dating-empty>span{font-size:50px}.dating-empty>b{font-size:20px}.dating-empty p{margin:0;color:#999fb6}
.social-toast{position:fixed;z-index:100;left:50%;bottom:94px;transform:translate(-50%,18px);max-width:calc(100% - 28px);padding:12px 17px;border-radius:14px;background:#1a203f;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 45px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.22s;color:#fff;font-weight:800;text-align:center}.social-toast.show{opacity:1;transform:translate(-50%,0)}.social-toast.match{background:linear-gradient(135deg,#6f2fdb,#d93692)}.social-toast.error{background:#4d1a2d;color:#ffc3d7}
@media(max-width:760px){.dating-shell{padding:0 12px 96px}.dating-intro{padding:18px 10px 16px}.dating-intro h1{font-size:29px}.dating-intro p{font-size:14px}.dating-cover{height:195px}.dating-cover .dating-avatar{width:112px;height:112px;font-size:60px}.dating-content{padding:18px 16px}.dating-actions{grid-template-columns:1fr 1.15fr 1fr;gap:8px}.dating-actions button,.dating-actions a{height:54px;border-radius:15px;gap:5px}.dating-actions small{font-size:10px}.dating-card{border-radius:24px}}
@media(max-width:370px){.dating-actions small{display:none}.dating-actions{grid-template-columns:repeat(3,1fr)}.dating-actions button,.dating-actions a{font-size:23px}.dating-intro h1{font-size:26px}}
.private-error{margin:0 12px 8px;padding:10px 12px;border-radius:12px;background:rgba(239,63,157,.16);border:1px solid rgba(239,63,157,.35);color:#ffd1e6;font-size:13px;text-align:center}.private-error[hidden]{display:none}.composer button:disabled,.composer textarea:disabled{opacity:.55}
.nav-icon-wrap{position:relative;display:inline-grid!important}.nav-unread{position:absolute;right:-11px;top:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#ff3e89;color:#fff;font:800 10px/18px system-ui;font-style:normal;box-shadow:0 0 0 2px #0b0d1c}.sound-toggle{position:fixed;right:16px;bottom:92px;z-index:40;width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(18,21,43,.94);color:#fff;font-size:19px;box-shadow:0 12px 35px rgba(0,0,0,.38);cursor:pointer}.sound-toggle.in-chat{position:static;margin-left:auto;flex:0 0 auto}.profile-edit-card{margin:18px 0 110px;padding:20px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#11152d,#0d1023)}.profile-edit-card>label{display:block;margin:17px 0 7px;font-weight:800}.profile-edit-card input,.profile-edit-card textarea{width:100%;margin-top:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#090c1c;color:#fff;font:inherit;outline:none}.profile-edit-card input:focus,.profile-edit-card textarea:focus{border-color:#7c3cff}.avatar-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:12px}.avatar-picker label{cursor:pointer}.avatar-picker input{position:absolute;opacity:0;pointer-events:none}.avatar-picker span{display:grid;place-items:center;aspect-ratio:1;border-radius:16px;background:#171b38;border:2px solid transparent;font-size:25px}.avatar-picker input:checked+span{border-color:#a461ff;background:#26204f;box-shadow:0 0 20px rgba(124,60,255,.35)}.edit-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}.edit-grid label{font-weight:800}.profile-about{max-width:520px;margin:10px auto 18px;color:#cdd2e8;line-height:1.55}.saved-banner{margin:14px 0;padding:12px 15px;border-radius:14px;background:rgba(54,211,137,.12);color:#78e7ae;border:1px solid rgba(54,211,137,.22)}
@media(max-width:480px){.avatar-picker{grid-template-columns:repeat(4,1fr)}.edit-grid{grid-template-columns:1fr}.sound-toggle{bottom:88px}}

/* v10 — presence, read receipts and typing */
.private-user-avatar{position:relative;overflow:visible}.online-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#666d84;border:3px solid #0c0f22;transition:.2s}.online-dot.is-online{background:#43df8c;box-shadow:0 0 12px rgba(67,223,140,.8)}.private-user-info{min-width:0}.private-user-info small{color:#9ba2ba}.private-user-info small:first-of-type:not([hidden]){display:block}.typing-text{font-size:12px;color:#b88cff;margin-top:3px;animation:typingPulse 1.2s infinite}@keyframes typingPulse{0%,100%{opacity:.55}50%{opacity:1}}
.message-receipt{margin-top:6px;text-align:right;font-size:10px;color:rgba(255,255,255,.62);font-weight:700}.message-receipt.read{color:#76ddff}.mine .bubble{padding-bottom:8px}
.dialog-avatar{position:relative;overflow:visible}.dialog-online{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#596078;border:3px solid #12162f}.dialog-online.is-online{background:#43df8c;box-shadow:0 0 9px rgba(67,223,140,.75)}.online-label{display:inline-block;margin-left:6px;font-size:9px;padding:2px 6px;border-radius:999px;background:rgba(67,223,140,.12);color:#69e3a2;vertical-align:2px}.dialog-check{color:#9aa1bd;font-weight:900}.dialog-check.read{color:#65d8ff}
@media(max-width:480px){.private-head{height:68px;padding:8px 10px}.private-head .avatar{width:38px;height:38px}.private-head>a{font-size:29px}.message-receipt{font-size:9px}}

/* v11 — fixed composer, mobile keyboard support and cleaner dialog */
.private-chat-page{height:100%;overflow:hidden;background:#060714}
.private-shell{height:var(--chat-vh,100dvh);min-height:0;position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 50% 0,rgba(124,60,255,.08),transparent 32%),#070817}
.private-head{position:relative;z-index:12;height:auto;min-height:72px;flex-shrink:0;box-shadow:0 5px 24px rgba(0,0,0,.2)}
.private-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px 22px;scrollbar-width:thin;scrollbar-color:#34385d transparent}
.private-composer{position:relative;z-index:15;flex-shrink:0;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(10,12,28,.96);backdrop-filter:blur(18px);box-shadow:0 -8px 28px rgba(0,0,0,.28)}
.private-composer textarea{min-height:46px;line-height:1.35;padding:12px 14px;border-radius:17px;background:#151a35}
.private-composer .send-btn,.private-composer .private-emoji{flex:0 0 46px}
.private-emoji{display:grid!important}
.date-separator{position:sticky;top:4px;z-index:3;width:max-content;margin:4px auto 18px;padding:6px 11px;border-radius:999px;background:rgba(24,28,55,.88);border:1px solid rgba(255,255,255,.07);color:#aeb5ce;font-size:11px;font-weight:800;backdrop-filter:blur(10px)}
.scroll-bottom{position:absolute;right:16px;bottom:82px;z-index:18;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#171b38;color:#fff;font-size:21px;box-shadow:0 12px 30px rgba(0,0,0,.4);cursor:pointer}
.scroll-bottom[hidden]{display:none}.scroll-bottom span{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef3f9d;color:#fff;font:800 10px/19px system-ui}
.private-messages .message{max-width:86%;margin-bottom:13px}.private-messages .bubble{box-shadow:0 8px 22px rgba(0,0,0,.14)}
@media(max-width:760px){
  .private-chat-page{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
  .private-shell{width:100%;max-width:none;height:var(--chat-vh,100dvh)}
  .private-head{min-height:68px;padding-top:max(8px,env(safe-area-inset-top))}
  .private-messages{padding:16px 12px 18px}
  .private-messages .message{max-width:94%}
  .private-composer{bottom:auto!important}
  .scroll-bottom{right:12px;bottom:78px}
}
@media(max-width:390px){.private-composer{gap:7px;padding-left:8px;padding-right:8px}.private-composer .send-btn,.private-composer .private-emoji{width:42px;height:42px;flex-basis:42px}.private-composer textarea{min-height:42px;padding:10px 12px}}


/* v12 — emoji picker and reply to message */
.emoji-picker{position:absolute;left:12px;bottom:74px;z-index:30;width:min(360px,calc(100% - 24px));padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(16,19,40,.98);box-shadow:0 20px 60px rgba(0,0,0,.48);backdrop-filter:blur(20px)}
.emoji-picker[hidden]{display:none}.emoji-tabs{display:flex;gap:5px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.07)}
.emoji-tabs button{flex:1;height:36px;border:0;border-radius:10px;background:transparent;color:#fff;font-size:18px}.emoji-tabs button.active{background:#292050}
.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-height:220px;overflow:auto;padding-top:9px}
.emoji-grid button{height:40px;border:0;border-radius:10px;background:transparent;font-size:23px;cursor:pointer}.emoji-grid button:hover,.emoji-grid button:active{background:#252a4d}
.reply-preview{position:relative;z-index:16;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#10142c;border-top:1px solid rgba(255,255,255,.08);border-left:3px solid #9b52ff}
.reply-preview[hidden]{display:none}.reply-preview>div{min-width:0;flex:1}.reply-preview small,.reply-preview b,.reply-preview span{display:block}
.reply-preview small{color:#9a72e9;font-size:10px;font-weight:800}.reply-preview b{font-size:12px;margin:2px 0}.reply-preview span{color:#aeb4c9;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-preview button{width:34px;height:34px;border:0;border-radius:50%;background:#202541;color:#fff;font-size:22px}
.reply-message-btn{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#cfd3e4;opacity:0;transition:.18s}
.bubble{position:relative}.message:hover .reply-message-btn,.message:focus-within .reply-message-btn{opacity:1}
.quoted-message{margin:-2px 24px 8px 0;padding:7px 9px;border-left:3px solid #a45cff;border-radius:8px;background:rgba(3,5,16,.22);overflow:hidden}
.quoted-message b,.quoted-message span{display:block}.quoted-message b{font-size:10px;color:#c8aaff}.quoted-message span{font-size:11px;color:#d3d6e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.reply-message-btn{opacity:.72}.emoji-picker{bottom:70px}.emoji-grid{grid-template-columns:repeat(7,1fr)}}
@media(max-width:390px){.emoji-grid{grid-template-columns:repeat(6,1fr)}.emoji-grid button{height:38px}.emoji-picker{left:8px;width:calc(100% - 16px)}}


/* v13 — voice messages and message actions */
.voice-btn{width:46px;height:46px;border:0;border-radius:14px;background:#171b38;color:#fff;font-size:20px;flex:0 0 auto}
.voice-panel{position:relative;z-index:18;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#10142c;border-top:1px solid rgba(255,255,255,.08)}
.voice-panel[hidden]{display:none}.voice-cancel{width:34px;height:34px;border:0;border-radius:50%;background:#292e4e;color:#fff;font-size:22px}
.voice-recording-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.voice-recording-info span{width:10px;height:10px;border-radius:50%;background:#ff477e;box-shadow:0 0 12px #ff477e;animation:voicePulse 1s infinite}
.voice-recording-info b{font-size:12px;white-space:nowrap}.voice-recording-info time{margin-left:auto;color:#b8bdd2;font-variant-numeric:tabular-nums}
.voice-panel audio{height:36px;max-width:210px}.voice-send{border:0;border-radius:12px;padding:10px 13px;background:linear-gradient(135deg,#7b3cff,#a33cff);color:#fff;font-weight:800}
@keyframes voicePulse{50%{opacity:.35;transform:scale(.75)}}
.voice-message{display:flex;align-items:center;gap:9px;min-width:220px;margin-top:8px}.voice-play{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff}
.voice-wave{display:flex;align-items:center;gap:3px;flex:1;height:30px}.voice-wave i{display:block;width:3px;border-radius:3px;background:currentColor;opacity:.7}.voice-wave i:nth-child(1),.voice-wave i:nth-child(8){height:8px}.voice-wave i:nth-child(2),.voice-wave i:nth-child(6){height:17px}.voice-wave i:nth-child(3),.voice-wave i:nth-child(7){height:24px}.voice-wave i:nth-child(4){height:13px}.voice-wave i:nth-child(5){height:27px}
.voice-message time{font-size:11px;color:#c5cada}
.message-menu-btn{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#d3d6e7;font-size:18px}
.message-actions{position:absolute;right:8px;top:38px;z-index:25;width:174px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#151931;box-shadow:0 15px 40px rgba(0,0,0,.4)}
.message-actions[hidden]{display:none}.message-actions button{display:block;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left}.message-actions button:active{background:#292e50}
.msg-meta{padding-right:30px}
@media(max-width:760px){.voice-panel{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.voice-panel audio{max-width:150px}.voice-message{min-width:190px}.private-composer .send-btn{display:none}.private-composer textarea:not(:placeholder-shown)~.send-btn{display:block}.private-composer textarea:not(:placeholder-shown)~.voice-btn{display:none}}


/* v14 — polished voice UI and reactions */
.private-error.success{background:rgba(67,223,140,.12);color:#85efb4;border-color:rgba(67,223,140,.25)}
.voice-sheet{position:relative;z-index:18;padding:10px 12px;background:rgba(12,15,33,.96);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}
.voice-sheet[hidden]{display:none}
.voice-state{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;background:linear-gradient(180deg,#141a38,#10142b);border:1px solid rgba(255,255,255,.07);box-shadow:0 12px 30px rgba(0,0,0,.22)}
.voice-state[hidden]{display:none}
.voice-cancel,.voice-stop{width:38px;height:38px;border:0;border-radius:14px;background:#24294a;color:#fff;flex:0 0 auto;font-size:20px}
.voice-stop{background:linear-gradient(135deg,#7c3cff,#b24cff)}
.voice-state-body{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.voice-led{width:10px;height:10px;border-radius:50%;background:#ff4d80;box-shadow:0 0 16px rgba(255,77,128,.95);animation:voicePulse 1s infinite}
.voice-state-body b{display:block;font-size:13px}.voice-state-body small{display:block;color:#aeb5ce;font-size:11px;margin-top:2px}
.voice-livewave,.voice-preview-player .voice-wave{display:flex;align-items:center;gap:3px;flex:1;min-width:72px;height:26px}
.voice-livewave i,.voice-preview-player .voice-wave i,.voice-message .voice-wave i{display:block;width:4px;border-radius:999px;background:currentColor;opacity:.84}
.voice-livewave i:nth-child(1),.voice-preview-player .voice-wave i:nth-child(1),.voice-message .voice-wave i:nth-child(1){height:8px}
.voice-livewave i:nth-child(2),.voice-preview-player .voice-wave i:nth-child(2),.voice-message .voice-wave i:nth-child(2){height:16px}
.voice-livewave i:nth-child(3),.voice-preview-player .voice-wave i:nth-child(3),.voice-message .voice-wave i:nth-child(3){height:24px}
.voice-livewave i:nth-child(4),.voice-preview-player .voice-wave i:nth-child(4),.voice-message .voice-wave i:nth-child(4){height:13px}
.voice-livewave i:nth-child(5),.voice-preview-player .voice-wave i:nth-child(5),.voice-message .voice-wave i:nth-child(5){height:26px}
.voice-livewave i:nth-child(6),.voice-preview-player .voice-wave i:nth-child(6),.voice-message .voice-wave i:nth-child(6){height:19px}
.voice-livewave i:nth-child(7),.voice-preview-player .voice-wave i:nth-child(7),.voice-message .voice-wave i:nth-child(7){height:12px}
.voice-livewave i:nth-child(8),.voice-preview-player .voice-wave i:nth-child(8),.voice-message .voice-wave i:nth-child(8){height:21px}
.voice-state time,.voice-message time,.voice-preview-duration{font-variant-numeric:tabular-nums;color:#d0d4e6;font-size:12px;font-weight:700}
.voice-preview-player{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.voice-play.big{width:42px;height:42px;flex:0 0 auto}
.voice-send{border:0;border-radius:14px;padding:12px 14px;background:linear-gradient(135deg,#7c3cff,#ef3f9d);color:#fff;font-weight:800;white-space:nowrap}
.voice-btn{background:linear-gradient(135deg,#1b2040,#22274e);border:1px solid rgba(255,255,255,.06)}
.voice-message{display:flex;align-items:center;gap:10px;min-width:210px;margin-top:8px;padding:8px 10px;border-radius:16px;background:rgba(8,11,24,.18)}
.mine .voice-message{background:rgba(255,255,255,.10)}
.voice-play{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;flex:0 0 auto}
.voice-wave{display:flex;align-items:center;gap:3px;flex:1;height:26px;color:#d7dcf1}
.message-actions{width:190px;padding:8px;border-radius:16px;background:#151932;box-shadow:0 18px 40px rgba(0,0,0,.42)}
.quick-reactions{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}
.quick-reactions button{height:34px;border:0;border-radius:10px;background:#202546;font-size:17px}
.quick-reactions button:active{transform:scale(.96);background:#2d3460}
.message-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.message-reactions[hidden]{display:none}
.reaction-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:12px}
.reaction-chip.mine{background:rgba(124,60,255,.26);border-color:rgba(181,123,255,.42)}
.reaction-chip b{font-size:11px;color:#cfd4e7}
@media(max-width:760px){
  .voice-sheet{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
  .voice-state{padding:9px 10px;gap:8px}
  .voice-state-body small{font-size:10px}
  .voice-message{min-width:185px}
  .quick-reactions{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:420px){
  .voice-send{padding:11px 12px;font-size:13px}
  .voice-state time,.voice-message time{font-size:11px}
  .message-actions{width:182px;right:0}
}


/* v15 — image messages */
.image-btn{width:46px;height:46px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:linear-gradient(135deg,#1b2040,#22274e);color:#fff;font-size:19px;flex:0 0 auto}
.image-preview-panel{position:relative;z-index:18;display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;background:rgba(12,15,33,.97);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}
.image-preview-panel[hidden]{display:none}
.image-preview-panel>img{width:56px;height:56px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.image-preview-info{min-width:0}.image-preview-info b,.image-preview-info small{display:block}.image-preview-info b{font-size:13px}.image-preview-info small{margin-top:3px;color:#aeb5ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.image-preview-cancel{width:36px;height:36px;border:0;border-radius:13px;background:#24294a;color:#fff;font-size:22px}
.image-preview-send{border:0;border-radius:14px;padding:11px 14px;background:linear-gradient(135deg,#7c3cff,#ef3f9d);color:#fff;font-weight:800}
.chat-image-button{display:block;width:min(290px,68vw);max-width:100%;margin-top:8px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#10142b;cursor:pointer}
.chat-image-button img{display:block;width:100%;max-height:360px;object-fit:cover}
.mine .chat-image-button{box-shadow:0 8px 22px rgba(0,0,0,.16)}
.image-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(2,3,10,.94);backdrop-filter:blur(14px)}
.image-lightbox[hidden]{display:none}
.image-lightbox img{display:block;max-width:100%;max-height:92vh;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.image-lightbox button{position:fixed;right:18px;top:max(18px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(24,28,55,.9);color:#fff;font-size:27px}
body.lightbox-open{overflow:hidden}
@media(max-width:760px){
  .image-preview-panel{grid-template-columns:50px minmax(0,1fr) auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
  .image-preview-panel>img{width:50px;height:50px}
  .image-preview-cancel{grid-column:3;grid-row:1}
  .image-preview-send{grid-column:1/-1;width:100%;padding:10px}
  .chat-image-button{width:min(270px,72vw)}
}
@media(max-width:420px){
  .private-composer{gap:6px}
  .private-composer .image-btn,.private-composer .voice-btn,.private-composer .private-emoji{width:40px;height:40px;flex-basis:40px;font-size:18px}
  .chat-image-button{width:min(250px,74vw)}
}


/* v16 — blocking and reports */
.chat-safety-button{margin-left:auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#171b38;color:#fff;font-size:22px}
.private-head .sound-toggle.in-chat{margin-left:8px}
.safety-menu{position:absolute;right:62px;top:62px;z-index:50;width:210px;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#151932;box-shadow:0 20px 55px rgba(0,0,0,.45)}
.safety-menu[hidden]{display:none}.safety-menu button{display:block;width:100%;padding:12px;border:0;border-radius:10px;background:transparent;color:#fff;text-align:left;font-weight:700}.safety-menu button:active{background:#282e52}.safety-menu button.danger{color:#ff83a8}
.report-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(2,3,10,.78);backdrop-filter:blur(10px)}
.report-modal[hidden]{display:none}
.report-card{position:relative;width:min(430px,100%);max-height:88vh;overflow:auto;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(180deg,#151932,#0f1228);box-shadow:0 30px 90px rgba(0,0,0,.55)}
.report-card h3{margin:0 0 7px;font-size:23px}.report-card>p{margin:0 0 18px;color:#aeb5ce}
.report-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#252a4a;color:#fff;font-size:23px}
.report-reasons{display:grid;gap:8px}.report-reasons label{display:block}.report-reasons input{position:absolute;opacity:0}.report-reasons span{display:block;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#171b38;color:#dfe3f4}.report-reasons input:checked+span{border-color:#955cff;background:rgba(124,60,255,.18);color:#fff}
.report-card textarea{width:100%;min-height:95px;margin-top:14px;resize:vertical;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#0b0e20;color:#fff;font:inherit}
.report-send{width:100%;margin-top:14px;padding:13px;border:0;border-radius:14px;background:linear-gradient(135deg,#7c3cff,#ef3f9d);color:#fff;font-weight:900}
.composer-disabled{opacity:.58}.composer-disabled textarea{cursor:not-allowed}
@media(max-width:760px){.safety-menu{right:54px;top:58px}.chat-safety-button{width:38px;height:38px}.private-head .sound-toggle.in-chat{width:38px;height:38px}}


/* v17 — room chat notification button no longer overlaps composer */
.room-chat-page .chat-header .sound-toggle.in-chat{position:static;right:auto;bottom:auto;z-index:auto;width:42px;height:42px;border-radius:12px;margin-left:auto;flex:0 0 auto;background:#171b38;box-shadow:none}
.room-chat-page .chat-header .icon-btn{margin-left:8px;flex:0 0 auto}
.room-chat-page .chat-header .sound-toggle.in-chat + .icon-btn{margin-left:8px}
@media(max-width:760px){
  .room-chat-page .chat-header .sound-toggle.in-chat{width:38px;height:38px}
  .room-chat-page .composer{padding-right:max(10px,env(safe-area-inset-right));}
}


/* v18 — fixed mobile room composer and new-messages button */
.room-chat-page .room-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px;scrollbar-width:thin;scrollbar-color:#34385d transparent}
.room-chat-page .room-composer{position:relative;z-index:15;flex-shrink:0;padding:10px 20px;background:rgba(10,12,28,.96);backdrop-filter:blur(18px);box-shadow:0 -8px 28px rgba(0,0,0,.28)}
.room-chat-page .room-composer textarea{min-height:46px;line-height:1.35;padding:12px 14px;border-radius:17px;background:#151a35}
.room-chat-page .room-scroll-bottom{right:16px;bottom:88px}
@media(max-width:760px){
  .room-chat-page{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
  .room-chat-page .app-shell{height:var(--room-vh,100dvh)}
  .room-chat-page .chat-panel{position:relative;height:var(--room-vh,100dvh);padding-bottom:0}
  .room-chat-page .chat-header{min-height:70px;padding-top:max(0px,env(safe-area-inset-top))}
  .room-chat-page .room-messages{padding:16px 12px calc(118px + env(safe-area-inset-bottom))}
  .room-chat-page .room-composer{position:fixed;left:0;right:0;bottom:72px;padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.08)}
  .room-chat-page .room-scroll-bottom{right:12px;bottom:146px;z-index:28}
}
@media(max-width:390px){
  .room-chat-page .room-composer{gap:7px;padding-left:8px;padding-right:8px}
  .room-chat-page .room-composer .send-btn,.room-chat-page .room-composer .emoji-btn{width:42px;height:42px;flex-basis:42px}
  .room-chat-page .room-composer textarea{min-height:42px;padding:10px 12px}
}


/* v19 — moderation admin panel */
.banned-card{text-align:center}.ban-icon{width:78px;height:78px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;background:rgba(239,63,157,.14);font-size:38px}
.admin-shell{max-width:1050px;padding-bottom:50px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.admin-stats div{padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#141831,#0f1228)}.admin-stats b,.admin-stats span{display:block}.admin-stats b{font-size:25px}.admin-stats span{margin-top:5px;color:#aeb5ce;font-size:12px}
.admin-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin:14px 0}.admin-tabs a{padding:10px 14px;border-radius:12px;background:#151932;color:#b9bfd4;white-space:nowrap}.admin-tabs a.active{background:linear-gradient(135deg,#6d34db,#913df1);color:#fff}
.admin-reports{display:grid;gap:12px}.admin-report-card{padding:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#141831,#0e1125)}.admin-report-head{display:flex;align-items:center;gap:11px}.admin-report-head>div{min-width:0;flex:1}.admin-report-head b,.admin-report-head small{display:block}.admin-report-head small{margin-top:4px;color:#9fa6bf}.report-status{padding:5px 8px;border-radius:999px;font-size:10px;text-transform:uppercase;background:#252a49}.report-status.new{background:rgba(239,63,157,.16);color:#ff92bd}.report-status.resolved{background:rgba(67,223,140,.15);color:#79e8ad}.report-status.dismissed{color:#adb3c8}
.admin-report-card>p{color:#cdd2e4}.report-details{padding:12px;border-radius:13px;background:#0a0d1e;color:#e5e7f2;line-height:1.5}.ban-note{margin-top:10px;padding:10px;border-radius:12px;background:rgba(239,63,157,.1);color:#ff9cbe}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.admin-actions button,.admin-banned-list button{padding:9px 12px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#202543;color:#fff;font-weight:700}.admin-actions button.danger{background:rgba(239,63,157,.15);color:#ff9abd}
.admin-banned-list{display:grid;gap:9px}.admin-banned-list>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--border);border-radius:16px;background:#12162d}.admin-banned-list section{min-width:0;flex:1}.admin-banned-list b,.admin-banned-list small{display:block}.admin-banned-list small{margin-top:3px;color:#9ea5bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-report-card{padding:14px}.admin-actions button{flex:1}.admin-report-head{align-items:flex-start}.report-status{margin-left:auto}.admin-banned-list button{font-size:11px}}


/* v20 — admin visibility and settings */
.admin-home-card{display:flex;align-items:center;gap:12px;margin:18px 0 100px;padding:16px;border:1px solid rgba(164,97,255,.28);border-radius:18px;background:linear-gradient(135deg,rgba(124,60,255,.18),rgba(239,63,157,.10));box-shadow:0 12px 35px rgba(0,0,0,.18)}
.admin-home-card>span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#24204a;font-size:23px}.admin-home-card>div{min-width:0;flex:1}.admin-home-card b,.admin-home-card small{display:block}.admin-home-card small{margin-top:4px;color:#b3b8ce}.admin-home-card i{font-style:normal;font-size:24px;color:#b98cff}
.settings-shell{padding-bottom:105px}.settings-card-modern{margin:16px 0;padding:18px;border:1px solid var(--border);border-radius:21px;background:linear-gradient(180deg,#141831,#0f1228)}.settings-card-modern h2{margin:0 0 10px;font-size:18px}
.setting-toggle-row{position:relative;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.setting-toggle-row:last-of-type{border-bottom:0}.setting-toggle-row>div{min-width:0;flex:1}.setting-toggle-row b,.setting-toggle-row small{display:block}.setting-toggle-row small{margin-top:4px;color:#9fa6bd}.setting-toggle-row input{position:absolute;opacity:0;pointer-events:none}
.toggle-ui{position:relative;width:50px;height:29px;flex:0 0 auto;border-radius:999px;background:#292e4d;transition:.2s}.toggle-ui:after{content:"";position:absolute;left:4px;top:4px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.setting-toggle-row input:checked+.toggle-ui{background:linear-gradient(135deg,#7c3cff,#ef3f9d)}.setting-toggle-row input:checked+.toggle-ui:after{transform:translateX(21px)}
.settings-action-button{width:100%;margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#202543;color:#fff;font-weight:800}


/* v21 — fully server-side admin controls */
.admin-flash{margin:14px 0;padding:13px 15px;border-radius:14px;border:1px solid rgba(67,223,140,.25);background:rgba(67,223,140,.12);color:#8af0b8;font-weight:800}.admin-flash.error{border-color:rgba(239,63,157,.3);background:rgba(239,63,157,.13);color:#ff9dc1}
.admin-main-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.admin-main-tabs a{padding:12px 8px;text-align:center;border-radius:13px;background:#151932;color:#b9bfd4;font-weight:800}.admin-main-tabs a.active{background:linear-gradient(135deg,#7135df,#a03ef1);color:#fff}
.server-actions form{display:flex;gap:7px;align-items:center;margin:0}.server-actions .ban-form{flex:1;min-width:240px}.server-actions input,.admin-search input,.mini-ban input{min-width:0;padding:9px 11px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#0a0d1e;color:#fff}.danger-ghost{color:#ff92b8!important;background:rgba(239,63,157,.08)!important}
.admin-search{display:flex;gap:8px;margin:14px 0}.admin-search input{flex:1;padding:12px}.admin-search button{padding:0 16px;border:0;border-radius:12px;background:#7537e4;color:#fff;font-weight:800}
.admin-users-list{display:grid;gap:9px}.admin-users-list>article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--border);border-radius:17px;background:#12162d}.admin-user-info{min-width:0;flex:1}.admin-user-info b,.admin-user-info small,.admin-user-info span{display:block}.admin-user-info small{margin-top:4px;color:#9ea5bd}.admin-user-info span{margin-top:5px;color:#ff96bb}.admin-user-info em{margin-left:7px;padding:2px 6px;border-radius:7px;background:#6e35dc;color:#fff;font-size:9px;font-style:normal}.admin-user-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-user-actions form{display:flex;gap:5px}.admin-user-actions button{padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#202543;color:#fff;font-size:11px}.mini-ban input{width:105px;font-size:11px}
@media(max-width:760px){.admin-main-tabs{grid-template-columns:1fr}.server-actions,.admin-user-actions{display:grid;grid-template-columns:1fr;width:100%}.server-actions form,.server-actions .ban-form,.admin-user-actions form{width:100%;min-width:0}.server-actions button,.server-actions input,.admin-user-actions button,.admin-user-actions input{width:100%}.admin-users-list>article{align-items:flex-start;flex-wrap:wrap}.admin-user-info{width:calc(100% - 55px)}.admin-user-actions{flex-basis:100%}.admin-report-card .admin-actions{display:grid;grid-template-columns:1fr}.admin-search{position:sticky;top:0;z-index:4;padding:8px 0;background:#070817}}


/* v22 — room replies, reactions and message actions */
.room-reply-preview{position:relative;z-index:16}
.room-chat-page .message-menu-btn{opacity:.72}
.room-chat-page .message:hover .message-menu-btn{opacity:1}
.room-chat-page .message-actions{right:8px;top:38px}
.room-chat-page .quoted-message{margin-right:24px}
.room-chat-page .message-reactions{margin-top:8px}
@media(max-width:760px){
  .room-chat-page .room-reply-preview{position:fixed;left:0;right:0;bottom:138px;z-index:29}
  .room-chat-page .room-reply-preview:not([hidden]) + .room-composer{bottom:72px}
  .room-chat-page .room-reply-preview:not([hidden]) ~ .room-scroll-bottom{bottom:195px}
}


/* v23 — reliable room actions and public profiles */
.msg-profile-link{color:inherit;text-decoration:none;cursor:pointer}.msg-author-link{color:#fff;font-weight:800;text-decoration:none}.msg-author-link:active{opacity:.75}
.room-message-actions-inline{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:7px;border-top:1px solid rgba(255,255,255,.07)}
.room-message-actions-inline button{padding:5px 8px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#dce0ef;font-size:10px;font-weight:700}
.room-message-actions-inline button.danger{margin-left:auto;color:#ff9cba;background:rgba(239,63,157,.12)}
.public-profile-shell{padding-bottom:100px}.profile-avatar-ring i.is-online{background:#43df8c;box-shadow:0 0 12px rgba(67,223,140,.8)}
.profile-interests{margin:15px auto;padding:12px 14px;max-width:520px;border-radius:15px;background:#141831;text-align:left}.profile-interests b,.profile-interests span{display:block}.profile-interests span{margin-top:5px;color:#aeb5ce}
.public-profile-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.public-profile-actions .btn{min-width:135px}
@media(max-width:760px){.room-message-actions-inline{opacity:1}.room-message-actions-inline button{padding:6px 8px}.public-profile-actions{display:grid}.public-profile-actions .btn{width:100%}}


/* v24 — multiple reactions and editing */
.msg-edited{margin-left:auto;color:#aab0c5;font-size:9px;font-weight:600}
.room-chat-page .room-message-actions-inline button[data-inline-action="edit"]{color:#cbb4ff}


/* v26 — chat statuses and people ready to talk */
.status-select{width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#0d1024;color:#fff;font:inherit}.field-hint{display:block;margin-top:6px;color:#9299b3;font-size:11px;line-height:1.4}
.profile-chat-status{display:inline-flex;align-items:center;margin:8px auto 2px;padding:7px 11px;border-radius:999px;background:#202542;color:#dce0f1;font-size:12px;font-weight:800}.profile-chat-status.ready,.status-text.ready{background:rgba(67,223,140,.14);color:#7ee9b0}.profile-chat-status.company,.status-text.company{background:rgba(124,60,255,.16);color:#c3a5ff}.profile-chat-status.bored,.status-text.bored{background:rgba(239,63,157,.13);color:#ff9bc3}.profile-chat-status.dnd,.status-text.dnd{background:rgba(150,157,184,.13);color:#adb4c9}
.ready-people-row{display:flex;gap:10px;overflow-x:auto;padding:4px 1px 12px;scrollbar-width:none}.ready-people-row::-webkit-scrollbar{display:none}.ready-person-card{flex:0 0 122px;padding:14px 10px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#151932,#101329);text-align:center}.ready-avatar{position:relative;width:56px;height:56px;margin:0 auto 9px;display:grid;place-items:center;border-radius:18px;background:#24294a;font-size:29px}.ready-avatar i,.ready-list-avatar i{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border:3px solid #12152d;border-radius:50%;background:#43df8c;box-shadow:0 0 10px rgba(67,223,140,.6)}.ready-person-card b,.ready-person-card small,.ready-person-card em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ready-person-card b{font-size:13px}.ready-person-card small{margin-top:5px;color:#b8bfd5;font-size:9px}.ready-person-card em{margin-top:4px;color:#777f9d;font-size:9px;font-style:normal}.ready-empty{min-width:100%;display:flex;align-items:center;gap:12px;padding:15px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;background:#101329}.ready-empty>span{font-size:28px}.ready-empty>div{min-width:0;flex:1}.ready-empty b,.ready-empty small{display:block}.ready-empty small{margin-top:4px;color:#9ea5bd}.ready-empty>a{padding:8px 10px;border-radius:10px;background:#7137df;color:#fff;font-size:10px;font-weight:800}
.ready-page{padding-bottom:105px}.ready-intro{margin:16px 0 18px;padding:20px;border:1px solid rgba(124,60,255,.2);border-radius:22px;background:radial-gradient(circle at top right,rgba(239,63,157,.16),transparent 42%),linear-gradient(145deg,#171a37,#0e1127)}.ready-intro>span{color:#b78cff;font-size:10px;font-weight:900;letter-spacing:.14em}.ready-intro h1{margin:7px 0 6px;font-size:27px}.ready-intro p{margin:0;color:#aeb5ca;line-height:1.5}.ready-list{display:grid;gap:10px}.ready-list article{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--border);border-radius:18px;background:#12162d}.ready-list-profile{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.ready-list-avatar{position:relative;width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:16px;background:#24294a;font-size:27px}.ready-list-profile>div{min-width:0}.ready-list-profile b,.ready-list-profile small{display:block}.ready-list-profile small{margin-top:3px;font-size:10px;font-weight:800}.ready-list-profile p{margin:5px 0 0;color:#aeb5c9;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ready-write{padding:9px 11px;border-radius:11px;background:linear-gradient(135deg,#7137df,#e6429a);color:#fff;font-size:11px;font-weight:900}
.mobile-bottom-nav{grid-template-columns:repeat(4,1fr)}
@media(max-width:420px){.ready-person-card{flex-basis:112px}.ready-list article{align-items:flex-start;flex-wrap:wrap}.ready-list-profile{width:100%}.ready-write{width:100%;text-align:center}}


/* v27: понятная навигация без выездной панели */
.mobile-room-tabs{display:none}
@media(max-width:760px){
  .sidebar{display:none!important}
  .app-shell{display:block}
  .chat-panel{width:100%;height:calc(100vh - 72px);padding-top:0}
  .chat-header{position:sticky;top:0;z-index:12;background:rgba(9,12,28,.98)}
  .mobile-room-tabs{display:flex;gap:8px;overflow-x:auto;padding:9px 10px;background:#0b0e20;border-bottom:1px solid var(--border);scrollbar-width:none}
  .mobile-room-tabs::-webkit-scrollbar{display:none}
  .mobile-room-tabs a{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:9px 12px;border-radius:12px;background:#151a34;color:#aeb4ce;font-size:12px;white-space:nowrap;border:1px solid rgba(255,255,255,.06)}
  .mobile-room-tabs a.active{background:linear-gradient(135deg,#6e34df,#9e45ef);color:#fff}
  .room-messages{padding-top:12px}
  .mobile-bottom-nav{grid-template-columns:repeat(5,1fr)!important}
  .mobile-bottom-nav small{font-size:9px}
}

.user-avatar-img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.user-avatar-emoji{display:grid;place-items:center;width:100%;height:100%}.hub-avatar,.avatar,.msg-avatar,.profile-avatar-ring>span,.dating-avatar,.ready-avatar,.ready-list-avatar,.level-orb>span{overflow:hidden}.avatar-upload-box{display:flex;align-items:center;gap:14px;margin:10px 0 18px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#0d1125}.avatar-upload-preview{width:76px;height:76px;flex:0 0 76px;border-radius:22px;display:grid;place-items:center;background:#24294a;font-size:38px;overflow:hidden}.avatar-upload-box input[type=file]{margin:0;padding:10px}.action-grid-modern:has(>a:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}@media(max-width:760px){.action-grid-modern:has(>a:nth-child(3):last-child){grid-template-columns:1fr}.avatar-upload-box{align-items:flex-start;flex-direction:column}}
/* v34 — современная мобильная админка */
.admin-v34{background:#070817;color:#f7f7ff;min-height:100vh}.admin34-shell{width:min(1120px,100%);margin:auto;padding:18px 18px 60px}.admin34-head{display:flex;align-items:center;gap:15px;padding:14px 4px 20px}.admin34-head>a,.admin34-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#11152c}.admin34-head div{flex:1}.admin34-head small{display:block;color:#9aa1bd}.admin34-head b{font-size:21px}.admin34-flash{padding:14px 16px;border-radius:14px;margin-bottom:14px;background:#153425}.admin34-flash.error{background:#42172a}.admin34-nav{display:flex;gap:8px;overflow:auto;padding-bottom:12px}.admin34-nav a{white-space:nowrap;padding:11px 14px;border-radius:12px;background:#11152c;color:#aeb4cb}.admin34-nav a.active{background:linear-gradient(135deg,#7c3cff,#ef3f9d);color:white}.admin34-hero{padding:28px;border:1px solid rgba(124,60,255,.35);border-radius:26px;background:linear-gradient(135deg,rgba(124,60,255,.22),rgba(239,63,157,.12));margin:12px 0 18px}.admin34-hero small{color:#c091ff;font-weight:900;letter-spacing:.12em}.admin34-hero h1{font-size:34px;margin:12px 0 8px}.admin34-hero p{color:#aeb4cb;margin:0}.admin34-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin34-stats article{background:#11152c;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:18px;display:grid;gap:5px}.admin34-stats span{font-size:22px}.admin34-stats b{font-size:28px}.admin34-stats small{color:#9aa1bd}.admin34-title{font-size:19px;margin:24px 0 12px}.admin34-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin34-person{display:flex;align-items:center;gap:12px;background:#11152c;padding:14px;border-radius:16px}.admin34-person .avatar,.admin34-users .avatar{width:46px;height:46px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#202543}.admin34-person small,.admin34-users small{display:block;color:#949bb7;margin-top:3px}.admin34-search{display:grid;grid-template-columns:1fr 180px auto;gap:10px;margin:15px 0}.admin34-search input,.admin34-search select,.admin34-search button,.admin34-edit input,.admin34-edit select,.admin34-edit textarea,.admin34-edit button,.admin34-roomnew input,.admin34-roomnew button,.admin34-clean input,.admin34-clean button{background:#11152c;border:1px solid rgba(255,255,255,.09);color:#fff;padding:13px;border-radius:12px}.admin34-search button,.admin34-edit button,.admin34-roomnew button{background:#7439e8;font-weight:800}.admin34-users{display:grid;gap:10px}.admin34-users details{background:#0f1329;border:1px solid rgba(255,255,255,.07);border-radius:18px;overflow:hidden}.admin34-users summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}.admin34-users summary div{flex:1}.admin34-users summary i{font-style:normal}.admin34-userbody{padding:0 14px 15px;border-top:1px solid rgba(255,255,255,.06)}.admin34-edit{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:14px}.admin34-edit label{font-size:12px;color:#9aa1bd}.admin34-edit input,.admin34-edit select,.admin34-edit textarea{width:100%;display:block;margin-top:5px}.admin34-edit .wide{grid-column:span 4}.admin34-edit button{grid-column:span 4}.admin34-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.admin34-actions form{display:flex;gap:6px}.admin34-actions button,.admin34-actions a{border:0;border-radius:10px;background:#202543;color:#fff;padding:10px 12px;font-size:12px}.admin34-actions .danger{background:#6b2033}.admin34-actions .banline{flex:1}.admin34-actions .banline input{min-width:100px;flex:1;background:#11152c;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:10px}.roomicon{width:46px;height:46px;border-radius:15px;background:#202543;display:grid;place-items:center;font-size:24px}.admin34-roomnew,.admin34-clean{background:#0f1329;padding:18px;border-radius:20px;margin:15px 0}.admin34-roomnew form{display:grid;grid-template-columns:2fr 1fr 80px 2fr 100px auto;gap:8px}.admin34-log{display:grid;gap:9px;margin-top:15px}.admin34-log article{background:#11152c;padding:14px;border-radius:14px}.admin34-log p{color:#aeb4cb;margin:6px 0}.admin34-log small{color:#727a99}.admin34-clean form{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid rgba(255,255,255,.06)}.admin34-clean form b{flex:1}
@media(max-width:760px){.admin34-shell{padding:10px 12px 40px}.admin34-stats{grid-template-columns:repeat(2,1fr)}.admin34-grid{grid-template-columns:1fr}.admin34-search{grid-template-columns:1fr}.admin34-edit{grid-template-columns:1fr 1fr}.admin34-edit .wide,.admin34-edit button{grid-column:span 2}.admin34-roomnew form{grid-template-columns:1fr 1fr}.admin34-roomnew form input:nth-of-type(4){grid-column:span 2}.admin34-actions,.admin34-actions form{width:100%}.admin34-actions button,.admin34-actions a{flex:1;text-align:center}.admin34-actions .banline{display:grid;grid-template-columns:1fr 1fr auto}.admin34-clean form{flex-wrap:wrap}.admin34-hero h1{font-size:28px}}
/* v35: кликабельная статистика и просмотр сообщений */
.admin34-stats a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;background:#12172d;border:1px solid rgba(255,255,255,.09);border-radius:28px;padding:28px 22px;min-height:178px;box-sizing:border-box;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.admin34-stats a:active{transform:scale(.98)}
.admin34-stats a:hover{border-color:rgba(160,92,255,.55);background:#171d38}
.admin34-stats a span{font-size:34px}.admin34-stats a b{font-size:48px;line-height:1}.admin34-stats a small{font-size:20px;color:#9aa1bb}.admin34-stats a em{margin-top:auto;font-size:13px;font-style:normal;color:#a96cff}
.admin34-msgintro{background:linear-gradient(135deg,#21133f,#10152d);border:1px solid rgba(151,77,255,.35);border-radius:28px;padding:24px;margin:18px 0}.admin34-msgintro h2{margin:0 0 8px}.admin34-msgintro p{margin:0;color:#aeb4cc}.admin34-messages article p{white-space:pre-wrap;word-break:break-word}.admin34-messages article b a{color:#b47cff;text-decoration:none}


/* v36 — clickable progress and compact mobile admin */
.level-orb-link{color:inherit;text-decoration:none;position:relative;cursor:pointer;transition:transform .16s ease,border-color .16s ease}
.level-orb-link:active{transform:scale(.985)}
.level-orb-link strong{margin-top:9px;font-size:11px;color:#bd92ff;font-weight:800}
.simple-head{height:66px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}.simple-head>a,.simple-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#11152c;color:#fff;font-size:28px}.simple-head div{text-align:center}.simple-head b,.simple-head small{display:block}.simple-head small{color:#969db7;margin-top:2px;font-size:12px}
.progress-page{padding-bottom:110px}.progress-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:24px;border-radius:26px;background:linear-gradient(135deg,#211545,#35183e);border:1px solid rgba(169,96,255,.28)}.progress-avatar{width:78px;height:78px;border-radius:24px;overflow:hidden;display:grid;place-items:center;background:#24294e;font-size:38px}.progress-hero small{color:#bd8cff;font-weight:900;letter-spacing:.08em}.progress-hero h1{margin:5px 0;font-size:30px}.progress-hero p{margin:0;color:#b6bbcf}.progress-ring{--p:0;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#9b49ff calc(var(--p)*1%),#222740 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#14172e}.progress-ring b{position:relative;font-size:15px}.progress-bar-card{margin-top:14px;padding:18px;border-radius:20px;background:#11152c;border:1px solid rgba(255,255,255,.07)}.progress-bar-card>div{display:flex;justify-content:space-between;gap:10px}.progress-bar-card span{color:#949bb4}.progress-bar-card>i{display:block;height:8px;background:#262b49;border-radius:20px;overflow:hidden;margin-top:13px}.progress-bar-card em{display:block;height:100%;background:linear-gradient(90deg,#7c3cff,#ef3f9d)}.xp-actions,.level-rewards{display:grid;gap:10px}.xp-actions a,.level-rewards article{display:flex;align-items:center;gap:13px;padding:15px;border-radius:17px;background:#11152c;border:1px solid rgba(255,255,255,.07)}.xp-actions a>span,.level-rewards article>span{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#202543;font-size:23px}.xp-actions div,.level-rewards div{min-width:0;flex:1}.xp-actions b,.xp-actions small,.level-rewards b,.level-rewards small{display:block}.xp-actions small,.level-rewards small{color:#979eb7;margin-top:3px}.xp-actions i{font-size:25px;color:#8f96b4}.level-rewards em{font-style:normal;font-size:11px;color:#8d94ad}.level-rewards article.done{border-color:rgba(69,223,142,.27)}.level-rewards article.done em{color:#56e399}
@media(max-width:760px){
 .admin34-shell{padding:8px 10px 110px}
 .admin34-head{padding:8px 2px 12px}.admin34-head b{font-size:18px}
 .admin34-nav{gap:6px;margin:0 -2px}.admin34-nav a{padding:9px 11px;font-size:12px}
 .admin34-hero{padding:18px;border-radius:20px;margin:8px 0 12px}.admin34-hero h1{font-size:23px;margin:8px 0 5px}.admin34-hero p{font-size:13px;line-height:1.4}
 .admin34-stats{grid-template-columns:1fr!important;gap:8px}
 .admin34-stats a{min-height:0!important;padding:13px 14px!important;border-radius:17px!important;display:grid!important;grid-template-columns:48px 64px 1fr auto;align-items:center;gap:9px}
 .admin34-stats a span{font-size:27px!important;width:42px;height:42px;display:grid;place-items:center}
 .admin34-stats a b{font-size:29px!important;line-height:1!important}
 .admin34-stats a small{font-size:15px!important;line-height:1.2!important}
 .admin34-stats a em{margin:0!important;font-size:0!important}.admin34-stats a em:after{content:"Открыть ›";font-size:11px;color:#ad79ff;white-space:nowrap}
 .admin34-title{font-size:18px;margin:18px 0 9px}
 .admin34-grid{gap:8px}.admin34-person{padding:11px;border-radius:14px}
 .admin34-search{position:static!important;padding:0!important;background:transparent!important;gap:7px}.admin34-search input,.admin34-search select,.admin34-search button{padding:11px;font-size:14px}
 .admin34-users summary{padding:11px}.admin34-userbody{padding:0 10px 12px}
 .admin34-edit{grid-template-columns:1fr!important;gap:8px}.admin34-edit .wide,.admin34-edit button{grid-column:auto!important}
 .admin34-actions .banline{grid-template-columns:1fr!important}.admin34-actions,.admin34-actions form{gap:6px}
 .admin34-roomnew,.admin34-clean{padding:13px;border-radius:16px}.admin34-roomnew form{grid-template-columns:1fr!important}.admin34-roomnew form input:nth-of-type(4){grid-column:auto!important}
 .admin34-log article{padding:12px}.admin34-clean form{display:grid;grid-template-columns:1fr 80px auto;gap:7px}
 .progress-hero{grid-template-columns:62px 1fr;padding:18px}.progress-avatar{width:62px;height:62px;border-radius:20px}.progress-ring{grid-column:1/-1;width:100%;height:10px;border-radius:20px;background:#242944;display:block}.progress-ring:before{display:none}.progress-ring:after{content:"";display:block;width:calc(var(--p)*1%);height:100%;border-radius:20px;background:linear-gradient(90deg,#7c3cff,#ef3f9d)}.progress-ring b{display:none}.progress-hero h1{font-size:25px}
}

.wallet-page{padding-bottom:70px}.wallet-balance{padding:25px;border-radius:26px;background:linear-gradient(135deg,#21164a,#3b163d);border:1px solid rgba(190,115,255,.22)}.wallet-balance small{color:#bf8cff;font-weight:800}.wallet-balance strong{display:block;font-size:42px;margin:10px 0}.wallet-balance p{color:#b8bdd0;margin:0}.wallet-section{margin-top:22px}.pay-details,.wallet-empty{padding:17px;border-radius:18px;background:#11152c;border:1px solid rgba(255,255,255,.08)}.pay-details>*{display:block}.pay-details strong{font-size:20px;margin:8px 0;word-break:break-all}.pay-details span,.pay-details p{color:#aeb4c8}.wallet-form{display:grid;gap:13px;margin-top:13px}.wallet-form label{display:grid;gap:7px;color:#b8bdd0}.wallet-form input{width:100%;box-sizing:border-box;padding:13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#11152c;color:#fff}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.package-grid label input{position:absolute;opacity:0}.package-grid label span{display:flex;align-items:center;justify-content:space-between;padding:15px;border-radius:17px;background:#11152c;border:1px solid rgba(255,255,255,.08)}.package-grid label input:checked+span{border-color:#9c5cff;background:#20184a}.package-grid b,.package-grid small{display:block}.primary-btn{padding:14px;border:0;border-radius:15px;background:linear-gradient(135deg,#7c3cff,#ef3f9d);color:#fff;font-weight:800}.wallet-order,.wallet-tx{margin-top:9px;padding:14px;border-radius:16px;background:#11152c;border:1px solid rgba(255,255,255,.07)}.wallet-order{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wallet-order>div{flex:1}.wallet-order small,.wallet-tx small{display:block;color:#8f96ac;margin-top:4px}.wallet-order>span{padding:7px 9px;border-radius:10px;font-size:12px}.status-pending{background:#3b3214;color:#ffd86b}.status-approved{background:#143728;color:#66e7a0}.status-rejected{background:#431b28;color:#ff879f}.wallet-order p{width:100%;margin:4px 0;color:#b5bbcc}.wallet-tx{display:flex;gap:12px;align-items:center}.wallet-tx>b{font-size:18px}.wallet-tx .plus{color:#5ee79a}.wallet-tx .minus{color:#ff7d93}.form-error,.form-success{padding:13px;margin-top:12px;border-radius:13px}.form-error{background:#421b29;color:#ff9bad}.form-success{background:#15392b;color:#6aeba6}.payment-review{display:grid;gap:10px;margin-top:12px}.payment-review form{display:grid;grid-template-columns:1fr auto;gap:8px}.payment-review input{min-width:0;padding:11px;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:#0d1125;color:#fff}.receipt-link{display:inline-block;padding:10px 12px;border-radius:12px;background:#6f32df;margin:6px 0}@media(max-width:600px){.package-grid{grid-template-columns:1fr 1fr}.pay-details strong{font-size:17px}.payment-review form{grid-template-columns:1fr}.wallet-balance strong{font-size:36px}}


/* v38 wallet/payment reliability and mobile polish */
.wallet-page{width:min(720px,100%);margin:0 auto;padding:14px 16px 120px!important;color:#f7f7ff}
.wallet-page .page-head-modern{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:58px;margin-bottom:14px}
.wallet-page .page-head-modern>a{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#11152c;font-size:30px}
.wallet-page .page-head-modern>b{text-align:center;font-size:21px}
.wallet-section h2{font-size:23px;margin:0 0 12px}.wallet-empty{color:#c0c5d5;line-height:1.45}
.wallet-admin-link,.admin-payment-setup{display:flex;align-items:center;gap:13px;padding:16px;border-radius:19px;background:linear-gradient(135deg,rgba(124,60,255,.24),rgba(239,63,157,.13));border:1px solid rgba(166,92,255,.38);margin:18px 0;color:#fff}
.wallet-admin-link>span,.admin-payment-setup>span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#202543;font-size:24px}.wallet-admin-link>div,.admin-payment-setup>div{flex:1}.wallet-admin-link b,.admin-payment-setup b{display:block}.wallet-admin-link small,.admin-payment-setup small{display:block;color:#b7bdd1;margin-top:4px}.wallet-admin-link i,.admin-payment-setup i{font-style:normal;font-size:26px;color:#bd87ff}
.payment-settings-card{border:1px solid rgba(145,83,255,.3)}.payment-state{display:inline-flex;padding:9px 12px;border-radius:12px;margin:10px 0 4px;font-weight:800}.payment-state.on{background:#153b2c;color:#68e7a2}.payment-state.off{background:#43202c;color:#ff8ca2}
.payment-settings-card .admin34-edit label.wide:first-of-type{padding:13px;border-radius:14px;background:#171b35;color:#fff;font-size:15px;display:flex;align-items:center;gap:10px}.payment-settings-card input[type=checkbox]{width:22px;height:22px;margin:0}
.admin34-nav{position:sticky;top:0;z-index:30;background:rgba(7,8,23,.96);backdrop-filter:blur(12px);padding-top:6px}
@media(max-width:600px){.wallet-page{padding-left:12px!important;padding-right:12px!important}.wallet-balance{padding:20px;border-radius:22px}.wallet-balance strong{font-size:34px}.wallet-balance p{font-size:15px}.wallet-section h2{font-size:21px}.package-grid{grid-template-columns:1fr}.admin-payment-setup{margin:10px 0 14px}.payment-settings-card .admin34-edit{grid-template-columns:1fr!important}.payment-settings-card .admin34-edit .wide,.payment-settings-card .admin34-edit button{grid-column:auto!important}.admin34-nav a[href="?tab=payment_settings"]{background:#2a1e4c;color:#d7b8ff}}


/* v39 */
.supporter-name{font-weight:900!important;background:linear-gradient(90deg,#ffd45e,#ff79d7,#8b7cff,#ffd45e);background-size:260% auto;color:transparent!important;-webkit-background-clip:text;background-clip:text;animation:supporterGlow 2.4s linear infinite;text-shadow:0 0 18px rgba(255,112,210,.32)}
@keyframes supporterGlow{to{background-position:260% center}}
.supporter-message .bubble{border:1px solid rgba(255,190,80,.48);background:linear-gradient(145deg,rgba(62,36,91,.96),rgba(23,31,57,.96));box-shadow:0 0 24px rgba(255,122,210,.12)}
.supporter-message .msg-body{font-weight:600;letter-spacing:.01em;color:#fff6dc}.gift-btn{background:linear-gradient(135deg,#ff5cc8,#7d5cff)!important;color:#fff!important}
.profile-gifts{margin-top:20px}.profile-gifts h2{margin:0 0 12px}.profile-gifts>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-gifts article{background:#12182e;border:1px solid #272f50;border-radius:16px;padding:10px 5px;text-align:center}.profile-gifts article span{font-size:30px;display:block}.profile-gifts article small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aeb5cc}
.gifts-page{padding-bottom:110px}.gift-recipient{display:flex;gap:12px;align-items:center;background:#12182e;border:1px solid #283050;border-radius:20px;padding:14px;margin:14px 0}.gift-recipient .avatar{width:54px;height:54px}.gift-recipient b,.gift-recipient small{display:block}.gift-recipient small{color:#aeb5cc;margin-top:4px}.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-grid input{position:absolute;opacity:0}.gift-card{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;background:#12182e;border:2px solid transparent;border-radius:22px;padding:16px 10px;gap:6px}.gift-grid input:checked+.gift-card{border-color:#a85cff;background:linear-gradient(145deg,#251544,#141a33);box-shadow:0 0 22px rgba(168,92,255,.24)}.gift-card i{font-style:normal;font-size:48px}.gift-card b{font-size:17px}.gift-card small{color:#aeb5cc;min-height:36px}.gift-card strong{color:#ffd45e}.gift-message{display:block;margin:16px 0}.gift-message textarea{width:100%;min-height:90px}.coin-adjust-form{display:grid;gap:10px}.coin-adjust-form label{display:grid;gap:6px}.coin-adjust-form input{width:100%}@media(min-width:600px){.gift-grid{grid-template-columns:repeat(4,1fr)}}

/* v40: заметное управление монетами в админке */
.admin-coin-shortcut{max-width:1100px;margin:12px auto;padding:0 16px}.admin-coin-shortcut a{display:block;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;text-decoration:none;font-weight:800;text-align:center;box-shadow:0 10px 30px rgba(124,58,237,.25)}
.user-inline-coins{margin:14px 0;padding:14px;border:1px solid rgba(168,85,247,.35);border-radius:16px;background:rgba(124,58,237,.08);display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.user-inline-coins label{display:grid;gap:6px}.user-inline-coins input{width:100%}.user-inline-coins button{white-space:nowrap}
@media(max-width:700px){.admin-coin-shortcut{padding:0 12px}.user-inline-coins{grid-template-columns:1fr}.user-inline-coins button{width:100%}}


/* v41: package VIP bonuses */
.wallet-vip-promo{margin:14px 0;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(255,196,0,.18),rgba(184,90,255,.18));border:1px solid rgba(255,215,92,.35);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.wallet-vip-promo strong{display:block;font-size:18px;margin-bottom:5px}.wallet-vip-promo p{margin:0;line-height:1.45;opacity:.86}
.package-grid label span em{display:block;margin-top:7px;font-size:12px;font-style:normal;font-weight:800;color:#ffd86b}
.wallet-order em{display:block;margin-top:3px;font-size:12px;font-style:normal;color:#ffd86b}

/* v42: единое отображение присутствия */
.profile-modern>p.presence-status.online{color:#5ee79a}.profile-modern>p.presence-status.offline{color:#9299ad}.profile-avatar-ring i:not(.is-online){background:#626a80;box-shadow:none}
/* v48: единый набор интерфейсных SVG-иконок */
.ui-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.logo-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;box-shadow:0 8px 22px rgba(139,92,246,.26)}
.logo-mark .ui-icon{width:19px;height:19px}
.feature-row div,.choice,.action-modern>span,.admin-home-card>span{display:flex;align-items:center;gap:9px}
.mobile-bottom-nav a>span{display:grid;place-items:center}.mobile-bottom-nav .ui-icon{width:22px;height:22px}
.coin-pill{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap}
.icon-btn,.sound-toggle,.emoji-btn,.send-btn{display:grid;place-items:center}.icon-btn .ui-icon,.sound-toggle .ui-icon,.send-btn .ui-icon{width:21px;height:21px}
.sound-toggle.sound-off{opacity:.55}.sound-toggle.sound-off::after{content:"";position:absolute;width:24px;height:2px;background:currentColor;transform:rotate(-45deg);border-radius:2px}

/* v50: stable neutral avatar placeholder and chat notices */
.avatar-fallback{display:inline-block;width:100%;height:100%;min-width:32px;min-height:32px;border-radius:inherit;background:linear-gradient(145deg,rgba(125,98,255,.42),rgba(42,196,199,.22));position:relative;overflow:hidden}
.avatar-fallback::before{content:"";position:absolute;width:34%;height:34%;border-radius:50%;background:rgba(255,255,255,.78);left:33%;top:18%}
.avatar-fallback::after{content:"";position:absolute;width:62%;height:38%;border-radius:50% 50% 22% 22%;background:rgba(255,255,255,.72);left:19%;bottom:8%}
#chatNotice{z-index:10000}

/* v53: reliable local inline icons and polished private-chat controls */
.private-back-button,.chat-safety-button,.sound-toggle.in-chat{display:grid;place-items:center;color:#f4f5ff}
.private-back-button{width:38px;height:38px;border-radius:12px;text-decoration:none;flex:0 0 38px}
.private-back-button:active,.chat-safety-button:active,.sound-toggle.in-chat:active{background:rgba(255,255,255,.08);transform:scale(.96)}
.private-head .ui-icon,.private-composer .ui-icon,.scroll-bottom .ui-icon{width:22px;height:22px}
.chat-safety-button,.sound-toggle.in-chat{position:relative;overflow:hidden}
.safety-menu button{display:flex;align-items:center;gap:10px}.safety-menu button .ui-icon{width:19px;height:19px}
.reply-preview button,.voice-cancel,.image-preview-cancel,.report-close,#closeLightbox{display:grid;place-items:center}
.reply-preview button .ui-icon,.voice-cancel .ui-icon,.image-preview-cancel .ui-icon,.report-close .ui-icon,#closeLightbox .ui-icon{width:20px;height:20px}
.private-composer button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:420px){.private-head{gap:8px}.private-user-info{min-width:0}.private-user-info b,.private-user-info small,.typing-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* v54: единые SVG и точный онлайн */
.ui-icon{width:1.35em;height:1.35em;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.status-svg{width:16px;height:16px;margin-right:5px;vertical-align:-3px}
.room-svg{width:26px;height:26px}
.empty-svg{width:34px;height:34px;margin-bottom:8px}
.ready-write{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}
.ready-list-avatar>i{display:none}.ready-list-avatar>i.is-online{display:block;background:#38d996}
.page-head-modern>a{display:grid;place-items:center}.page-head-modern>a .ui-icon{width:24px;height:24px}
.dating-actions button .ui-icon,.dating-actions a .ui-icon{width:25px;height:25px}
.verified-badge .ui-icon{width:16px;height:16px}
.profile-chat-status{display:inline-flex;align-items:center}
.public-profile-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.gifts-page header a{display:inline-flex;align-items:center;gap:6px}
.gift-card strong{display:inline-flex;align-items:center;gap:4px}
@media(max-width:480px){.ready-intro h1,.dating-intro h1{font-size:32px;line-height:1.08}.ready-intro,.dating-intro{padding:24px 20px}.ready-list article{padding:16px}.ready-write{min-height:48px}}

/* v55 unified SVG audit */
.logo .ui-icon,.ban-icon .ui-icon,.saved-banner .ui-icon,.wallet-vip-promo .ui-icon,.level-rewards .ui-icon,.gift-card .ui-icon,.profile-gifts .ui-icon{width:1.35em;height:1.35em;vertical-align:-.25em}
.message-actions button .ui-icon,.msg-menu button .ui-icon{width:17px;height:17px;margin-right:6px}
.supporter-mark{width:17px;height:17px;vertical-align:-3px}

/* v58: единый индикатор присутствия в собственном профиле */
.profile-avatar-ring>.profile-presence-dot{position:absolute;right:5px;bottom:8px;width:17px;height:17px;border-radius:50%;border:4px solid #151a37;box-sizing:content-box;z-index:5;display:block}
.profile-avatar-ring>.profile-presence-dot--online{background:#43df8c!important;box-shadow:0 0 12px rgba(67,223,140,.8)!important}

/* v59: avatar progress ring and presence are separate UI elements */
.profile-avatar-wrap{position:relative;width:106px;height:106px;margin:0 auto}
.profile-avatar-wrap .profile-avatar-ring{margin:0}
.profile-avatar-wrap .profile-avatar-ring>i,
.profile-avatar-wrap .profile-avatar-ring>.profile-presence-dot{display:none!important}
.profile-online-indicator{position:absolute;right:2px;bottom:7px;width:18px;height:18px;border-radius:50%;border:4px solid #151a37;box-sizing:content-box;z-index:8;background:#626a80;box-shadow:none}
.profile-online-indicator.is-online{background:#43df8c;box-shadow:0 0 12px rgba(67,223,140,.75)}
.profile-online-indicator.is-offline{background:#626a80;box-shadow:none}


/* v60: authoritative avatar presence indicator; all legacy dots disabled */
.profile-avatar-ring>i,
.profile-avatar-ring>.profile-presence-dot,
.profile-avatar-ring::before,
.profile-avatar-ring::after{display:none!important;content:none!important}
.profile-avatar-wrap{position:relative!important;width:106px!important;height:106px!important;margin:0 auto!important}
.profile-online-indicator{display:block!important;position:absolute!important;right:-1px!important;bottom:5px!important;width:18px!important;height:18px!important;border-radius:50%!important;border:4px solid #151a37!important;box-sizing:content-box!important;z-index:50!important}
.profile-online-indicator.is-online{background:#43df8c!important;box-shadow:0 0 12px rgba(67,223,140,.8)!important}
.profile-online-indicator.is-offline{background:#626a80!important;box-shadow:none!important}


/* v62 — notifications */
.notification-top-link{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#11152c;border:1px solid var(--border);color:#f4f5ff}.notification-top-link .ui-icon{width:21px;height:21px}.notification-top-link>i,.nav-notification{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:#8b5cf6;color:#fff;font:700 10px/1 system-ui;border:2px solid #0d1023;font-style:normal}.notification-top-link>i[hidden],.nav-notification[hidden]{display:none!important}.notifications-head{grid-template-columns:44px 1fr auto}.notifications-head>button{border:0;border-radius:12px;padding:10px 12px;background:#171b38;color:#d9dcf1;font:700 12px/1 system-ui}.notifications-head>button:disabled{opacity:.45}.notification-list{display:grid;gap:10px;margin:14px 0 105px}.notification-item{display:grid;grid-template-columns:48px 1fr 38px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:18px;background:#11152c;cursor:pointer}.notification-item.unread{background:linear-gradient(135deg,rgba(124,60,255,.16),#11152c 55%);border-color:rgba(164,97,255,.35)}.notification-avatar{width:48px;height:48px;border-radius:15px;background:#1a2040;display:grid;place-items:center;overflow:hidden}.notification-avatar img{width:100%;height:100%;object-fit:cover}.notification-avatar .ui-icon{width:22px;height:22px}.notification-title{display:flex;align-items:center;gap:8px}.notification-title b{font-size:15px}.notification-title i{width:8px;height:8px;border-radius:50%;background:#a461ff;box-shadow:0 0 12px rgba(164,97,255,.75)}.notification-item p{margin:4px 0;color:#cbd0e6;font-size:13px;line-height:1.35}.notification-item small{color:var(--muted);font-size:11px}.notification-open{width:36px;height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:#cdd2e8;display:grid;place-items:center}.notification-open .ui-icon{width:18px;height:18px}.notification-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:38px 20px}.notification-empty>.ui-icon{width:30px;height:30px}.notification-empty small{color:var(--muted)}
@media(max-width:520px){.notification-item{grid-template-columns:42px 1fr 34px;padding:12px;gap:10px}.notification-avatar{width:42px;height:42px}.notifications-head>button{padding:9px 8px;font-size:11px}}

/* v63: own profile avatar has no presence dot; status is shown by text below */
.profile-modern .profile-online-indicator,
.profile-modern .profile-avatar-ring>i,
.profile-modern .profile-avatar-ring>.profile-presence-dot,
.profile-modern .profile-avatar-ring::before,
.profile-modern .profile-avatar-ring::after{display:none!important;content:none!important}


/* v64: remove all profile avatar presence dots permanently */
.profile-online-indicator,.profile-presence-dot,.profile-avatar-ring>i,.profile-avatar-ring::before,.profile-avatar-ring::after{display:none!important;content:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;border:0!important;box-shadow:none!important}

/* v65 — чат-викторина */
.chat-quiz-panel{padding:10px 14px 0;flex:0 0 auto}.quiz-card{border:1px solid rgba(139,92,246,.22);background:linear-gradient(135deg,rgba(139,92,246,.10),rgba(59,130,246,.06));border-radius:16px;padding:12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.quiz-idle{display:flex;align-items:center;justify-content:space-between;gap:12px}.quiz-idle>div{display:grid;gap:3px}.quiz-idle small,.quiz-foot small{opacity:.72;font-size:12px}.quiz-card button{font:inherit}.quiz-idle>button,.quiz-foot>button{border:0;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer;background:#7c3aed;color:#fff}.quiz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quiz-head>div{display:grid;gap:3px}.quiz-head span{font-size:12px;font-weight:800;color:#7c3aed}.quiz-head b{font-size:15px;line-height:1.3}.quiz-head em{font-style:normal;font-size:12px;font-weight:800;white-space:nowrap}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.quiz-option{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid rgba(100,116,139,.24);background:rgba(255,255,255,.7);border-radius:11px;padding:9px;color:inherit;cursor:pointer}.quiz-option span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:7px;background:rgba(124,58,237,.12);font-weight:800}.quiz-option:hover:not(:disabled){border-color:#7c3aed}.quiz-option:disabled{cursor:default;opacity:.8}.quiz-option.selected{border-color:#7c3aed;background:rgba(124,58,237,.09)}.quiz-option.correct{border-color:#16a34a;background:rgba(22,163,74,.10)}.quiz-option.wrong{border-color:#dc2626;background:rgba(220,38,38,.08)}.quiz-result{margin-top:9px;padding:8px 10px;border-radius:10px;background:rgba(100,116,139,.09);font-size:13px}.quiz-result.good{background:rgba(22,163,74,.10)}.quiz-result.bad{background:rgba(245,158,11,.10)}.quiz-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}@media(max-width:560px){.chat-quiz-panel{padding:7px 8px 0}.quiz-card{padding:10px;border-radius:13px}.quiz-options{grid-template-columns:1fr}.quiz-head b{font-size:14px}.quiz-idle{align-items:flex-start}.quiz-idle>button{white-space:nowrap}}

/* v66: polished room chat + clearly visible VIP admin controls */
.room-chat-page{background:radial-gradient(circle at 50% -10%,rgba(108,58,200,.10),transparent 34%),#070918}
.room-chat-page .chat-panel{background:linear-gradient(180deg,rgba(8,10,27,.98),rgba(6,8,22,.99))}
.room-chat-page .chat-header{height:76px;padding:0 18px;background:rgba(8,10,26,.9);border-bottom:1px solid rgba(255,255,255,.055);backdrop-filter:blur(20px)}
.room-chat-page .chat-header h2{font-size:20px;font-weight:850;letter-spacing:-.02em}
.room-chat-page .chat-header p{font-size:13px;font-weight:650;margin-top:4px}
.room-chat-page .chat-header .icon-btn,.room-chat-page .chat-header .sound-toggle.in-chat{width:44px;height:44px;border-radius:14px;background:#11162f;border:1px solid rgba(255,255,255,.075);box-shadow:none}
.room-chat-page .mobile-room-tabs{gap:9px;padding:12px 14px;background:rgba(8,10,26,.94);border-bottom:1px solid rgba(255,255,255,.05);scrollbar-width:none}
.room-chat-page .mobile-room-tabs::-webkit-scrollbar{display:none}
.room-chat-page .mobile-room-tabs a{min-height:46px;padding:0 15px;border-radius:14px;background:#11162d;border:1px solid rgba(255,255,255,.07);color:#aeb4c8;font-weight:650;box-shadow:none}
.room-chat-page .mobile-room-tabs a.active{background:linear-gradient(135deg,#7132dd,#9338ec);border-color:rgba(190,125,255,.34);color:#fff;box-shadow:0 8px 24px rgba(111,49,216,.18)}
.room-chat-page .messages{padding:22px 18px 24px}
.room-chat-page .message{gap:10px;max-width:82%;margin-bottom:16px;align-items:flex-end}
.room-chat-page .message.mine{margin-left:auto}
.room-chat-page .msg-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:#1b2140;box-shadow:0 5px 16px rgba(0,0,0,.2)}
.room-chat-page .bubble{position:relative;min-width:150px;padding:14px 15px 12px;border-radius:20px 20px 20px 7px;background:#12172f;border:1px solid rgba(255,255,255,.075);box-shadow:0 9px 30px rgba(0,0,0,.18)}
.room-chat-page .mine .bubble{border-radius:20px 20px 7px 20px;background:linear-gradient(145deg,#211641,#171a35 72%);border-color:rgba(154,92,255,.25);box-shadow:0 9px 28px rgba(0,0,0,.2),inset 3px 0 0 rgba(143,73,247,.75)}
.room-chat-page .supporter-message .bubble{background:linear-gradient(145deg,#211b34,#171a31);border-color:rgba(255,202,91,.22);box-shadow:0 9px 28px rgba(0,0,0,.2)}
.room-chat-page .msg-meta{padding-right:30px;gap:10px;align-items:center;font-size:12px}
.room-chat-page .msg-meta a{font-size:14px;font-weight:850;color:#f6f6ff;text-decoration:none}
.room-chat-page .mine .msg-meta a{color:#b786ff}
.room-chat-page .msg-meta>span{margin-left:auto;color:#737b96;font-size:11px}
.room-chat-page .msg-body{font-size:16px;line-height:1.42;margin-top:8px;color:#f0f1fa;font-weight:450}
.room-chat-page .message-menu-btn{top:8px!important;right:8px!important;width:30px!important;height:30px!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;color:#8e95ad!important;font-size:19px!important}
.room-chat-page .quoted-message{margin:-2px 0 10px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.045);border-left:3px solid #8b5cf6}
.room-chat-page .quoted-message b{display:block;color:#b887ff;font-size:12px;margin-bottom:2px}
.room-chat-page .quoted-message span{display:block;color:#9ca3bb;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-chat-page .room-message-actions-inline{display:flex;gap:6px;align-items:center;margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055);flex-wrap:wrap}
.room-chat-page .room-message-actions-inline button{min-height:32px;padding:0 10px;border-radius:10px;background:#181e39;border:1px solid rgba(255,255,255,.055);color:#aeb4c7;font-size:12px;font-weight:700;box-shadow:none}
.room-chat-page .room-message-actions-inline button[data-inline-react]{width:34px;padding:0;display:grid;place-items:center}
.room-chat-page .room-message-actions-inline button.danger{color:#ff8293;background:rgba(123,32,52,.16);border-color:rgba(255,92,115,.12)}
.room-chat-page .message-actions{right:8px!important;top:42px!important;border-radius:14px!important;background:#11162f!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 15px 40px rgba(0,0,0,.4)!important;padding:7px!important}
.room-chat-page .message-actions button{border-radius:9px!important;background:transparent!important}
.room-chat-page .reaction-bar{margin-top:7px!important;gap:5px!important}
.room-chat-page .reaction-chip{min-height:29px!important;border-radius:10px!important;background:#181d38!important;border:1px solid rgba(139,92,246,.26)!important;color:#e7e9f5!important;padding:3px 9px!important}
.room-chat-page .room-reply-preview{margin:0 14px 8px;border-radius:14px;background:#11162d;border:1px solid rgba(139,92,246,.2);padding:10px 12px}
.room-chat-page .composer{margin:0;padding:10px 14px 12px;gap:9px;background:rgba(7,9,23,.97);border-top:1px solid rgba(255,255,255,.055)}
.room-chat-page .composer textarea{min-height:48px;max-height:108px;border-radius:17px;background:#11162d;border:1px solid rgba(255,255,255,.075);padding:13px 16px;color:#f5f5fc;box-shadow:none}
.room-chat-page .composer textarea:focus{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 3px rgba(139,92,246,.08)}
.room-chat-page .emoji-btn,.room-chat-page .send-btn{width:48px;height:48px;border-radius:15px}
.room-chat-page .emoji-btn{background:#11162d;border:1px solid rgba(255,255,255,.075)}
.room-chat-page .send-btn{background:linear-gradient(135deg,#7436e4,#9a3cf0);box-shadow:0 8px 20px rgba(116,54,228,.24)}
.room-chat-page .chat-quiz-panel{padding:10px 14px 2px}
.room-chat-page .quiz-card{background:#10152c;border-color:rgba(139,92,246,.18);box-shadow:none;border-radius:15px}
.room-chat-page .quiz-option{background:#161b34;color:#e8eaf5;border-color:rgba(255,255,255,.07)}
.room-chat-page .quiz-option.selected{background:#241a47;border-color:#8b5cf6}
.room-chat-page .quiz-idle>button,.room-chat-page .quiz-foot>button{background:#7436e4}

.admin-quick-shortcuts{max-width:1100px;margin:12px auto 16px;padding:0 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-quick-shortcuts>a{display:flex;align-items:center;gap:11px;min-height:66px;padding:12px 14px;border-radius:17px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.08)}
.admin-quick-shortcuts>a>.ui-icon{width:25px;height:25px}
.admin-quick-shortcuts span{display:grid;gap:2px}.admin-quick-shortcuts b{font-size:15px}.admin-quick-shortcuts small{color:#c6c9d8;font-size:11px}
.admin-quick-shortcuts .coins{background:linear-gradient(135deg,#6e31dd,#962f9d)}
.admin-quick-shortcuts .vip{background:linear-gradient(135deg,#6b451c,#42215f);border-color:rgba(255,207,99,.25)}
.vip-admin-intro{border-color:rgba(255,208,94,.25);background:linear-gradient(135deg,#281d21,#16142d)}
.vip-admin-search{grid-template-columns:1fr auto auto}
.vip-admin-search a{display:grid;place-items:center;padding:0 14px;border-radius:12px;background:#202543;color:#fff;text-decoration:none;font-size:13px}
.admin34-nav a[href="?tab=vip"]{color:#ffd66b}
.admin34-nav a[href="?tab=vip"].active{background:rgba(255,200,77,.14);color:#ffe28d;border-color:rgba(255,204,88,.24)}

@media(max-width:760px){
 .room-chat-page .chat-panel{height:100dvh;padding-bottom:76px}
 .room-chat-page .chat-header{height:72px;padding:0 14px}
 .room-chat-page .mobile-room-tabs{padding:10px 12px}
 .room-chat-page .messages{padding:18px 12px 22px}
 .room-chat-page .message{max-width:94%;gap:8px}
 .room-chat-page .msg-avatar{width:38px;height:38px}
 .room-chat-page .bubble{min-width:0;padding:12px 13px 10px;border-radius:18px 18px 18px 7px}
 .room-chat-page .mine .bubble{border-radius:18px 18px 7px 18px}
 .room-chat-page .msg-body{font-size:15.5px}
 .room-chat-page .emoji-btn{display:grid}
 .room-chat-page .composer{padding:9px 11px 10px}
 .room-chat-page .composer textarea{min-height:46px;padding:12px 14px}
 .room-chat-page .emoji-btn,.room-chat-page .send-btn{width:46px;height:46px}
 .admin-quick-shortcuts{padding:0 12px;grid-template-columns:1fr 1fr}
 .admin-quick-shortcuts>a{min-width:0;padding:10px}.admin-quick-shortcuts small{display:none}
 .vip-admin-search{grid-template-columns:1fr auto}.vip-admin-search a{grid-column:1/-1;min-height:42px}
}


/* v68 — ensure last room messages are not hidden behind fixed composer/mobile nav */
@media(max-width:760px){
  .room-chat-page .room-messages,
  .room-chat-page .messages{
    padding-bottom:calc(172px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(172px + env(safe-area-inset-bottom)) !important;
  }
  .room-chat-page .room-reply-preview:not([hidden]) ~ .room-scroll-bottom{bottom:210px !important;}
}


/* v69 — real server-driven VIP visuals */
.vip-name,.supporter-name{display:inline-flex!important;align-items:center;gap:6px;font-weight:950!important;background:linear-gradient(90deg,#ffe88a 0%,#ff9bd8 30%,#b497ff 58%,#73ddff 78%,#ffe88a 100%)!important;background-size:240% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:vipNameFlow 3.2s linear infinite!important;text-shadow:0 0 18px rgba(205,134,255,.22)!important}
@keyframes vipNameFlow{to{background-position:240% 0}}
.vip-mini-badge,.vip-profile-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;background:linear-gradient(135deg,#ffcf55,#ff7fc8 58%,#9b75ff)!important;color:#1a1025!important;-webkit-text-fill-color:#1a1025!important;background-clip:border-box!important;-webkit-background-clip:border-box!important;border:1px solid rgba(255,255,255,.4)!important;box-shadow:0 0 14px rgba(255,162,218,.35)!important;font-style:normal!important;font-weight:950!important;letter-spacing:.08em!important;text-shadow:none!important}
.vip-mini-badge{font-size:8px!important;line-height:16px!important;height:16px!important;padding:0 6px!important;border-radius:999px!important;margin-left:2px!important}
.vip-profile-badge{font-size:10px!important;line-height:20px!important;height:20px!important;padding:0 8px!important;border-radius:999px!important;margin-left:7px!important;vertical-align:middle!important}
.room-chat-page .vip-message .bubble,.private-shell .vip-message .bubble{position:relative!important;background:linear-gradient(145deg,#241a38 0%,#151a33 70%)!important;border:1px solid rgba(255,205,107,.46)!important;box-shadow:0 0 0 1px rgba(194,116,255,.12),0 10px 32px rgba(0,0,0,.26),0 0 25px rgba(196,112,255,.10)!important;overflow:visible!important}
.room-chat-page .vip-message .bubble:before,.private-shell .vip-message .bubble:before{content:"VIP"!important;position:absolute!important;top:-9px!important;right:12px!important;height:18px!important;line-height:18px!important;padding:0 7px!important;border-radius:999px!important;background:linear-gradient(135deg,#ffd75d,#ff87ce,#9d78ff)!important;color:#1b1025!important;font-size:8px!important;font-weight:950!important;letter-spacing:.08em!important;box-shadow:0 4px 14px rgba(255,132,207,.24)!important}
.room-chat-page .vip-message .msg-body,.private-shell .vip-message .msg-body{color:#fff7dc!important;font-weight:600!important;text-shadow:0 0 12px rgba(255,225,156,.08)!important}
.room-chat-page .vip-message.mine .bubble,.private-shell .vip-message.mine .bubble{background:linear-gradient(145deg,#2c1b49,#181a36 76%)!important;box-shadow:inset -3px 0 0 #d291ff,0 10px 32px rgba(0,0,0,.26),0 0 28px rgba(184,112,255,.12)!important}
.vip-profile-card{position:relative!important;border-color:rgba(255,211,105,.34)!important;box-shadow:0 14px 40px rgba(0,0,0,.2),0 0 34px rgba(177,103,255,.10)!important;background:radial-gradient(circle at 50% 0,rgba(149,85,255,.13),transparent 42%),linear-gradient(180deg,#151831,#0f1228)!important}
.vip-profile-card:before{content:"VIP STATUS";position:absolute;top:14px;right:14px;padding:5px 9px;border-radius:999px;background:linear-gradient(135deg,#ffd85f,#ff8bcf,#a078ff);color:#1a1023;font-size:8px;font-weight:950;letter-spacing:.12em;box-shadow:0 5px 16px rgba(255,151,217,.2)}
.vip-profile-card .profile-avatar-ring{box-shadow:0 0 0 3px rgba(255,210,103,.22),0 0 26px rgba(183,103,255,.24)!important}
.vip-user-card{border-color:rgba(255,210,105,.28)!important;box-shadow:0 12px 30px rgba(0,0,0,.18),0 0 22px rgba(178,104,255,.08)!important}
.ready-list article:has(.vip-name){border-color:rgba(255,210,105,.24)!important}


/* v71 — compact mobile quiz: do not let the game swallow the chat */
@media(max-width:760px){
  .room-chat-page .chat-quiz-panel{padding:7px 10px 3px!important}
  .room-chat-page .quiz-card{padding:10px!important;border-radius:14px!important}
  .room-chat-page .quiz-head{gap:7px!important;align-items:flex-start!important}
  .room-chat-page .quiz-head>div{gap:1px!important;min-width:0!important}
  .room-chat-page .quiz-head span{font-size:11px!important;line-height:1.15!important}
  .room-chat-page .quiz-head b{font-size:14px!important;line-height:1.25!important}
  .room-chat-page .quiz-head em{font-size:11px!important;padding-top:1px!important}
  .room-chat-page .quiz-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}
  .room-chat-page .quiz-option{min-height:47px!important;padding:7px 8px!important;border-radius:10px!important;gap:6px!important;font-size:13px!important;line-height:1.15!important;overflow:hidden!important}
  .room-chat-page .quiz-option span{min-width:23px!important;width:23px!important;height:23px!important;border-radius:7px!important;font-size:12px!important;flex:0 0 23px!important}
  .room-chat-page .quiz-result{margin-top:7px!important;padding:7px 9px!important;border-radius:9px!important;font-size:11.5px!important;line-height:1.25!important}
  .room-chat-page .quiz-foot{margin-top:6px!important;gap:6px!important}
  .room-chat-page .quiz-foot small{font-size:10.5px!important;line-height:1.15!important}
  .room-chat-page .quiz-foot>button{padding:7px 9px!important;border-radius:9px!important;font-size:11px!important}
  .room-chat-page .quiz-idle{gap:8px!important}
  .room-chat-page .quiz-idle>div{gap:1px!important}
  .room-chat-page .quiz-idle b{font-size:13px!important}
  .room-chat-page .quiz-idle small{font-size:10.5px!important;line-height:1.2!important}
  .room-chat-page .quiz-idle>button{padding:8px 10px!important;font-size:12px!important}
}
@media(max-width:360px){
  .room-chat-page .quiz-option{font-size:12px!important;padding:6px!important}
  .room-chat-page .quiz-head b{font-size:13px!important}
}

/* v73 — автоматическая и сворачиваемая чат-викторина */
.quiz-head-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.quiz-collapse-btn{border:1px solid rgba(139,92,246,.25)!important;background:rgba(139,92,246,.10)!important;color:inherit!important;border-radius:9px!important;padding:6px 8px!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
.quiz-collapsed{width:100%;border:1px solid rgba(139,92,246,.18);background:#10152c;color:#e8eaf5;border-radius:12px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.quiz-collapsed span{font-size:10.5px;color:#a78bfa}
.quiz-result small{display:block;margin-top:4px;opacity:.72}
.quiz-admin-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px;border-radius:14px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.16)}
.quiz-admin-control form{margin:0}.quiz-admin-control button{border:0;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer;background:#7436e4;color:#fff}.quiz-admin-control button.danger{background:#b91c1c}
@media(max-width:560px){.quiz-head-actions{flex-direction:column;align-items:flex-end;gap:4px}.quiz-collapse-btn{padding:5px 7px!important}.quiz-admin-control{align-items:flex-start;flex-direction:column}}

/* v74 — VIP perks */
.vip-perks-card{margin:14px auto;max-width:760px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(255,212,92,.10),rgba(161,121,255,.10));border:1px solid rgba(255,210,105,.28);box-shadow:0 10px 30px rgba(80,40,120,.10)}
.vip-perks-card h2{margin:0 0 7px;font-size:17px;color:#ffe08a}.vip-perks-card p{margin:0;color:inherit;line-height:1.5}.vip-perks-card small{display:block;margin-top:8px;opacity:.72}

/* v80: знакомства показывают только одну анкету за раз */
.dating-card.dating-card-queued{display:none!important}
.dating-card.dating-card-active{display:block}
.dating-card.dating-card-active.entering{opacity:0;transform:translateX(28px) scale(.985)}

/* v81: all chat reactions are visible directly under each message */
.room-visible-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.room-visible-reactions button{min-width:34px;height:32px;padding:0 7px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#171d36;color:#fff;font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer}
.room-visible-reactions button:active{transform:scale(.95)}
.vip-message .room-visible-reactions button{background:rgba(255,255,255,.045)}
@media(max-width:520px){.room-visible-reactions{gap:5px}.room-visible-reactions button{min-width:31px;height:30px;padding:0 5px;font-size:17px}}

/* v82 role text colors */
.role-admin .msg-body{color:#ff8f9f!important;font-weight:650!important}.role-mod .msg-body{color:#69dfff!important;font-weight:600!important}.role-vip.vip-color-gold .msg-body{color:#ffe08a!important}.role-vip.vip-color-pink .msg-body{color:#ff9fd0!important}.role-vip.vip-color-violet .msg-body{color:#c7a5ff!important}.role-vip.vip-color-mint .msg-body{color:#86edc5!important}.role-vip.vip-color-sky .msg-body{color:#88ccff!important}.role-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:8px;line-height:14px;font-style:normal;font-weight:900;letter-spacing:.4px;vertical-align:middle}.role-badge.admin{background:rgba(255,80,100,.16);border:1px solid rgba(255,100,120,.55);color:#ff91a0}.role-badge.mod{background:rgba(70,200,255,.14);border:1px solid rgba(90,220,255,.5);color:#72e3ff}.role-admin .msg-meta a,.role-admin .msg-meta b{color:#ff91a0!important}.role-mod .msg-meta a,.role-mod .msg-meta b{color:#72e3ff!important}
/* v83 multiple manual payment methods */
.payment-method-picker{display:grid;gap:9px}.payment-method-picker h3,.wallet-form>h3{margin:5px 0;color:#fff;font-size:16px}.payment-method-choice{display:block!important}.payment-method-choice>input{position:absolute;opacity:0;pointer-events:none}.payment-method-choice>span{display:block;padding:14px 15px;border-radius:17px;background:#11152c;border:1px solid rgba(255,255,255,.09)}.payment-method-choice>input:checked+span{border-color:#9c5cff;box-shadow:0 0 0 2px rgba(156,92,255,.14) inset;background:#20184a}.payment-method-choice b,.payment-method-choice strong,.payment-method-choice small,.payment-method-choice em{display:block}.payment-method-choice strong{font-size:18px;margin:7px 0;word-break:break-all;color:#fff}.payment-method-choice small,.payment-method-choice em{color:#aeb4c8;font-style:normal;margin-top:4px}.payment-method-admin{margin-top:16px}.payment-method-actions{display:flex;gap:8px;flex-wrap:wrap}.payment-method-actions form{margin:0}.payment-method-actions button{padding:10px 13px}.payment-settings-card select{width:100%;box-sizing:border-box;padding:13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#11152c;color:#fff}

/* v87 — redesigned home dashboard */
.home-v87{background:radial-gradient(circle at 50% -10%,rgba(119,60,255,.22),transparent 30%),radial-gradient(circle at 100% 22%,rgba(239,63,157,.10),transparent 24%),#070916}
.home87-shell{width:min(980px,100%);padding-bottom:110px}
.home87-topbar{margin-bottom:10px}
.home87-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:stretch;padding:30px;border:1px solid rgba(171,105,255,.24);border-radius:32px;background:linear-gradient(135deg,rgba(26,28,64,.98),rgba(36,21,70,.97) 58%,rgba(64,22,55,.94));box-shadow:0 28px 70px rgba(0,0,0,.30)}
.home87-hero-glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none}.home87-hero-glow.one{width:240px;height:240px;right:-95px;top:-110px;background:rgba(190,78,255,.22)}.home87-hero-glow.two{width:170px;height:170px;left:28%;bottom:-125px;background:rgba(255,70,155,.12)}
.home87-hero-copy,.home87-profile-card{position:relative;z-index:1}
.home87-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(64,225,143,.09);border:1px solid rgba(64,225,143,.15);color:#7cebad;font-size:12px;font-weight:800}.home87-kicker i{width:8px;height:8px;border-radius:50%;background:#43df8c;box-shadow:0 0 12px rgba(67,223,140,.8)}
.home87-hero h1{margin:14px 0 8px;font-size:36px;line-height:1.05}.home87-hero-copy>p{max-width:570px;margin:0;color:#b8bfd4;font-size:15px;line-height:1.55}
.home87-main-actions{display:flex;gap:10px;margin-top:22px}.home87-btn{min-height:50px;padding:0 17px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;border:1px solid rgba(255,255,255,.08)}.home87-btn span{display:grid;place-items:center}.home87-btn.primary{background:linear-gradient(135deg,#7c3cff,#9d45ff);box-shadow:0 12px 28px rgba(124,60,255,.28)}.home87-btn.secondary{background:rgba(255,255,255,.065)}
.home87-profile-card{padding:18px;border-radius:24px;background:rgba(8,10,27,.38);border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:58px 1fr;gap:12px;align-content:center;color:#fff;backdrop-filter:blur(12px)}.home87-profile-avatar{position:relative;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#23294d;overflow:hidden}.home87-profile-avatar i{position:absolute;right:3px;bottom:3px;width:11px;height:11px;border-radius:50%;background:#43df8c;border:2px solid #202342}.home87-profile-card div{display:grid;gap:3px;align-content:center}.home87-profile-card small{color:#a98aff;font-size:10px;font-weight:900;letter-spacing:.06em}.home87-profile-card b{font-size:17px}.home87-profile-card em{font-style:normal;color:#9fa6be;font-size:11px}.home87-progress{grid-column:1/-1;height:7px;border-radius:999px;background:#282c4a;overflow:hidden}.home87-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3cff,#ef3f9d)}
.home87-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0 3px}.home87-mini-stats article,.home87-mini-stats>a{min-height:72px;padding:13px 15px;display:flex;align-items:center;gap:12px;border-radius:19px;background:rgba(17,21,44,.86);border:1px solid rgba(255,255,255,.065)}.home87-mini-stats>*>span{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;background:#202648}.home87-mini-stats div{min-width:0;flex:1}.home87-mini-stats b,.home87-mini-stats small{display:block}.home87-mini-stats b{font-size:18px}.home87-mini-stats small{color:#8f97b0;margin-top:2px}.home87-mini-stats>a>i{font-style:normal;color:#8c93ad}
.home87-section-head{margin-top:27px;margin-bottom:12px}.home87-section-head h2{margin:0;font-size:21px}.home87-section-head>span{color:#777f9c;font-size:12px}.home87-section-head>a{color:#ae83ff;font-size:12px;font-weight:800}
.home87-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:11px}.home87-feature{position:relative;min-height:145px;display:flex;align-items:flex-end;gap:14px;padding:19px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.home87-feature.quiz{background:radial-gradient(circle at 88% 5%,rgba(90,209,255,.22),transparent 30%),linear-gradient(145deg,#17285a,#15182f)}.home87-feature.rooms{background:radial-gradient(circle at 90% 4%,rgba(255,166,76,.18),transparent 30%),linear-gradient(145deg,#3d2718,#1c182c)}.home87-feature-icon{width:54px;height:54px;flex:0 0 54px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.08)}.home87-feature>div{min-width:0}.home87-feature small{color:#aeb8d1;font-size:10px;font-weight:900;letter-spacing:.08em}.home87-feature b{display:block;margin:4px 0 5px;font-size:20px}.home87-feature p{margin:0;color:#b6bdd0;font-size:12px;line-height:1.45}.home87-feature>i{position:absolute;right:16px;top:16px;font-style:normal;color:#b9c1d7}
.home87-people{padding-top:1px}.home87-people .ready-person-card{flex-basis:126px;background:linear-gradient(180deg,#151a35,#101329);transition:transform .15s ease,border-color .15s ease}.home87-people .ready-person-card:active{transform:scale(.98);border-color:rgba(155,98,255,.35)}
.home87-callout{margin-top:8px;display:flex;align-items:center;gap:14px;padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(124,60,255,.13),rgba(239,63,157,.08));border:1px solid rgba(164,97,255,.18)}.home87-callout>span{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:#202445}.home87-callout>div{min-width:0;flex:1}.home87-callout small,.home87-callout b,.home87-callout p{display:block}.home87-callout small{color:#ae85ff;font-size:9px;font-weight:900;letter-spacing:.08em}.home87-callout b{margin-top:4px}.home87-callout p{margin:4px 0 0;color:#969eb7;font-size:12px}.home87-callout>a{padding:10px 13px;border-radius:12px;background:#7137df;font-size:12px;font-weight:900;white-space:nowrap}.home87-admin{margin-bottom:0}
@media(max-width:760px){
 .home87-shell{padding:8px 12px 96px}.home87-topbar{margin-bottom:7px}.home87-hero{grid-template-columns:1fr;padding:20px;border-radius:25px;gap:15px}.home87-hero h1{font-size:28px}.home87-hero-copy>p{font-size:14px}.home87-main-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:17px}.home87-btn{min-height:48px;padding:0 11px;font-size:13px}.home87-profile-card{grid-template-columns:48px 1fr;padding:13px;border-radius:18px}.home87-profile-avatar{width:48px;height:48px;border-radius:15px}.home87-mini-stats{gap:7px}.home87-mini-stats article,.home87-mini-stats>a{min-height:64px;padding:9px;gap:8px;border-radius:16px}.home87-mini-stats>*>span{width:36px;height:36px;border-radius:11px}.home87-mini-stats b{font-size:15px}.home87-mini-stats small{font-size:10px}.home87-feature-grid{grid-template-columns:1fr}.home87-feature{min-height:112px;padding:16px}.home87-feature b{font-size:18px}.home87-feature p{font-size:11px;max-width:80%}.home87-section-head{margin-top:22px}.home87-callout{align-items:flex-start;padding:15px}.home87-callout>a{align-self:center}.home87-people .ready-person-card{flex-basis:116px}
}
@media(max-width:390px){.home87-main-actions{grid-template-columns:1fr}.home87-mini-stats{grid-template-columns:1fr 1fr}.home87-mini-stats>a{grid-column:1/-1}.home87-callout{display:grid;grid-template-columns:46px 1fr}.home87-callout>a{grid-column:1/-1;text-align:center}.home87-feature p{max-width:88%}}


/* v91 — reliable role text colors + mobile keyboard layout */
.room-chat-page .message[style*="--message-role-color"] .msg-body,
.private-shell .message[style*="--message-role-color"] .msg-body{color:var(--message-role-color)!important;-webkit-text-fill-color:var(--message-role-color)!important}
@media(max-width:760px){
 html.room-keyboard-open .mobile-bottom-nav{display:none!important}
 html.room-keyboard-open .room-chat-page .room-composer,html.room-keyboard-open .room-chat-page .composer{bottom:0!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
 html.room-keyboard-open .room-chat-page .chat-panel,html.room-keyboard-open .room-chat-page .app-shell{height:var(--room-vh,100dvh)!important;min-height:0!important}
 html.room-keyboard-open .room-chat-page .room-messages,html.room-keyboard-open .room-chat-page .messages{padding-bottom:86px!important;scroll-padding-bottom:86px!important}
}


/* v92 — keyboard mode: give the message list the screen instead of leaving a cropped strip */
@media(max-width:760px){
  html.room-keyboard-open .room-chat-page .chat-header,
  html.room-keyboard-open .room-chat-page .mobile-room-tabs{
    display:none!important;
  }
  html.room-keyboard-open .room-chat-page .app-shell,
  html.room-keyboard-open .room-chat-page .chat-panel{
    height:var(--room-vh,100dvh)!important;
    min-height:0!important;
    padding-bottom:0!important;
  }
  html.room-keyboard-open .room-chat-page .room-messages,
  html.room-keyboard-open .room-chat-page .messages{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:8px 10px 84px!important;
    scroll-padding-top:8px!important;
    scroll-padding-bottom:84px!important;
  }
  html.room-keyboard-open .room-chat-page .room-composer,
  html.room-keyboard-open .room-chat-page .composer{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:80!important;
    padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
  }
  html.room-keyboard-open .room-chat-page .room-scroll-bottom{
    bottom:82px!important;
  }
}


/* v93 — compact reply preview on mobile, especially with keyboard open */
.reply-preview{display:flex;align-items:center;gap:10px}
.reply-preview>div{min-width:0;flex:1;display:grid;gap:2px}
.reply-preview small{display:block;font-size:11px;line-height:1.1;color:#b98cff;font-weight:800}
.reply-preview b{display:block;font-size:14px;line-height:1.15;color:#f6f7ff;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-preview span{display:block;font-size:13px;line-height:1.2;color:#aeb6d1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-preview button{flex:0 0 auto;width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#202646;color:#f0f2fb;font-size:28px;line-height:1;display:grid;place-items:center}
.room-chat-page .room-reply-preview{margin:0 14px 8px!important;padding:8px 10px!important;border-radius:16px!important;min-height:0!important;box-shadow:0 10px 26px rgba(0,0,0,.18)}
@media(max-width:760px){
  .room-chat-page .room-reply-preview{left:10px!important;right:10px!important;bottom:72px!important;z-index:79!important;margin:0!important;padding:8px 10px!important;border-radius:16px!important}
  .room-chat-page .room-reply-preview button{width:40px!important;height:40px!important;border-radius:13px!important;font-size:26px!important}
  .room-chat-page .room-reply-preview:not([hidden]) + .room-composer{bottom:0!important}
  .room-chat-page .room-reply-preview:not([hidden]) ~ .room-scroll-bottom{bottom:130px!important}
  .room-chat-page .room-reply-preview:not([hidden]) ~ .room-messages,
  .room-chat-page .room-reply-preview:not([hidden]) + .room-composer + .room-messages,
  .room-chat-page .room-reply-preview:not([hidden]) ~ .messages{padding-bottom:132px!important;scroll-padding-bottom:132px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview{bottom:68px!important;left:8px!important;right:8px!important;padding:7px 9px!important;z-index:81!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview small{font-size:10px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview b{font-size:13px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview span{font-size:12px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview button{width:38px!important;height:38px!important;font-size:24px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview:not([hidden]) ~ .room-scroll-bottom{bottom:126px!important}
  html.room-keyboard-open .room-chat-page .room-reply-preview:not([hidden]) ~ .room-messages,
  html.room-keyboard-open .room-chat-page .room-reply-preview:not([hidden]) + .room-composer + .room-messages,
  html.room-keyboard-open .room-chat-page .room-reply-preview:not([hidden]) ~ .messages{padding-bottom:128px!important;scroll-padding-bottom:128px!important}
}


/* v94 — optional rainbow text for admin and purchased 30-day VIP */
@keyframes rainbowTextShift{0%{background-position:0% 50%;filter:drop-shadow(0 0 4px rgba(255,80,170,.18))}50%{background-position:100% 50%;filter:drop-shadow(0 0 7px rgba(80,200,255,.25))}100%{background-position:0% 50%;filter:drop-shadow(0 0 4px rgba(255,210,80,.18))}}
.room-chat-page .rainbow-message .msg-body,.private-shell .rainbow-message .msg-body{background:linear-gradient(90deg,#ff5d8f,#ffb84d,#ffe45c,#55e6a5,#62c7ff,#9d7cff,#ff72d2,#ff5d8f);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;animation:rainbowTextShift 2.8s linear infinite!important;font-weight:750!important;text-shadow:none!important}
.rainbow-profile-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 7px;border-radius:999px;background:linear-gradient(90deg,#ff6b9b,#ffd65c,#64e8aa,#65c9ff,#aa7dff,#ff75cf);background-size:240% 100%;animation:rainbowTextShift 3s linear infinite;color:#111425;font-size:11px;font-weight:950;vertical-align:middle;box-shadow:0 0 14px rgba(170,110,255,.22)}
.profile-edit-card option[value="rainbow"]{font-weight:800}


/* v95 — premium nickname styles for ADMIN / MOD / 30-day VIP */
@keyframes nickNeonPulse{0%,100%{text-shadow:0 0 5px rgba(77,227,255,.55),0 0 14px rgba(116,94,255,.35)}50%{text-shadow:0 0 9px rgba(77,227,255,.9),0 0 22px rgba(116,94,255,.65)}}
@keyframes nickRoyalShine{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@keyframes nickGlowPulse{0%,100%{filter:drop-shadow(0 0 3px rgba(255,204,102,.25))}50%{filter:drop-shadow(0 0 10px rgba(255,204,102,.7))}}
.nick-style-neon{color:#82efff!important;-webkit-text-fill-color:#82efff!important;font-weight:950!important;letter-spacing:.015em;animation:nickNeonPulse 1.8s ease-in-out infinite!important}
.nick-style-royal{background:linear-gradient(90deg,#fff1a6,#ffcb54,#ff8ed8,#b98cff,#fff1a6)!important;background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;font-weight:1000!important;letter-spacing:.02em;animation:nickRoyalShine 3s linear infinite!important;text-shadow:none!important}
.nick-style-glow{color:#ffe6a3!important;-webkit-text-fill-color:#ffe6a3!important;font-weight:950!important;animation:nickGlowPulse 1.7s ease-in-out infinite!important}
.nick-style-rainbow{background:linear-gradient(90deg,#ff668f,#ffcc5c,#72e4a4,#66c9ff,#a884ff,#ff7bd2,#ff668f)!important;background-size:260% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;font-weight:1000!important;animation:rainbowTextShift 2.7s linear infinite!important;text-shadow:none!important}
.msg-author-link.nick-style-neon,.msg-author-link.nick-style-royal,.msg-author-link.nick-style-glow,.msg-author-link.nick-style-rainbow{font-size:15px!important}

/* v97 — clear current room directly from chat (admin only) */
.room-chat-page .room-clear-btn{color:#ff8293!important;background:rgba(123,32,52,.15)!important;border-color:rgba(255,92,115,.18)!important}
.room-chat-page .room-clear-btn:hover{background:rgba(148,38,60,.26)!important;color:#ffb0bc!important}
.room-chat-page .room-clear-btn:disabled{opacity:.45;pointer-events:none}


/* v98 — random one-to-one chat from home */
.random-chat-empty{margin:28px 14px 110px;padding:28px 18px;text-align:center;display:grid;justify-items:center;gap:10px}
.random-chat-empty>span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(126,72,239,.16);color:#b58cff}
.random-chat-empty>span svg{width:28px;height:28px}
.random-chat-empty b{font-size:19px}
.random-chat-empty p{margin:0;max-width:320px;color:#9da4bc;line-height:1.45}
.random-chat-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.random-chat-actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.random-chat-feature .home87-feature-icon{background:rgba(133,82,255,.17)}

/* v99 — anonymous random chat */
.anonymous-page{background:#07091a;color:#f5f6ff;min-height:100dvh}
.anonymous-shell{min-height:100dvh;max-width:760px;margin:0 auto;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b0e25,#07091a 45%)}
.anonymous-head{min-height:78px;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:5;background:rgba(8,10,27,.96);backdrop-filter:blur(12px)}
.anonymous-head>a{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#151a37;color:#fff}.anonymous-head>a svg{width:22px}
.anonymous-head>div{min-width:0;display:grid;gap:3px}.anonymous-head b{font-size:17px}.anonymous-head small{font-size:12px;color:#72dca6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anonymous-head>button{border:1px solid rgba(255,255,255,.08);background:#171d3c;color:#d7cbff;border-radius:13px;min-height:42px;padding:0 11px;display:flex;gap:6px;align-items:center;font-weight:800}.anonymous-head>button svg{width:18px}
.anonymous-privacy{margin:12px 14px 6px;padding:12px;border:1px solid rgba(139,92,246,.22);border-radius:16px;background:rgba(87,49,148,.13);display:flex;gap:11px;align-items:flex-start}.anonymous-privacy>span{width:39px;height:39px;border-radius:12px;background:rgba(139,92,246,.16);display:grid;place-items:center;color:#b897ff;flex:0 0 auto}.anonymous-privacy svg{width:20px}.anonymous-privacy b{font-size:13px}.anonymous-privacy p{margin:3px 0 0;color:#9fa6bf;font-size:11.5px;line-height:1.4}
.anonymous-waiting{flex:1;display:grid;place-items:center;align-content:center;text-align:center;padding:30px 22px;gap:9px}.anonymous-waiting b{font-size:20px}.anonymous-waiting p{margin:0;color:#9da5be;max-width:340px;line-height:1.5}.anonymous-loader{width:48px;height:48px;border:4px solid rgba(139,92,246,.18);border-top-color:#8b5cf6;border-radius:50%;animation:anonSpin .8s linear infinite;margin-bottom:6px}@keyframes anonSpin{to{transform:rotate(360deg)}}
.anonymous-messages{flex:1;min-height:0;overflow:auto;padding:12px 14px 100px;display:flex;flex-direction:column;gap:10px}.anonymous-message{max-width:82%;padding:10px 12px;border-radius:17px;background:#151a35;border:1px solid rgba(255,255,255,.07);display:grid;gap:4px}.anonymous-message.mine{align-self:flex-end;background:linear-gradient(145deg,#5022a2,#342063);border-bottom-right-radius:5px}.anonymous-message.other{align-self:flex-start;border-bottom-left-radius:5px}.anonymous-message small{font-size:10px;font-weight:900;color:#b69cff;text-transform:uppercase;letter-spacing:.05em}.anonymous-message div{font-size:15.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.anonymous-message time{justify-self:end;color:#777f99;font-size:10px}
.anonymous-composer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 50px;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(7,9,25,.97);border-top:1px solid rgba(255,255,255,.06)}.anonymous-composer textarea{resize:none;min-height:48px;max-height:110px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:#131831;color:#fff;padding:13px 15px;font:inherit;outline:none}.anonymous-composer textarea:focus{border-color:rgba(139,92,246,.55)}.anonymous-composer button{border:0;border-radius:16px;background:linear-gradient(135deg,#7237df,#9d3df1);color:#fff;display:grid;place-items:center}.anonymous-composer button svg{width:24px}
@media(max-width:420px){.anonymous-head>button span{display:none}.anonymous-head>button{width:42px;padding:0;justify-content:center}.anonymous-privacy{margin-top:8px}.anonymous-message{max-width:90%}}

/* v99 — nickname search in dating */
.nickname-search-card{margin:0 0 16px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:#11152d}.nickname-search-card form{display:grid;grid-template-columns:1fr auto;gap:8px}.nickname-search-card input{min-width:0;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#090d21;color:#fff;padding:0 14px;font:inherit}.nickname-search-card button{height:46px;padding:0 15px;border:0;border-radius:14px;background:#7738e4;color:#fff;font-weight:850}.nickname-search-card small{display:block;margin-top:8px;color:#929ab4}.nickname-search-results{display:grid;gap:8px;margin-top:10px}.nickname-search-result{display:flex;gap:10px;align-items:center;padding:10px;border-radius:13px;background:#171c38;color:#fff;text-decoration:none}.nickname-search-result .avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:#222947}.nickname-search-result>div{min-width:0;display:grid;gap:2px}.nickname-search-result b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nickname-search-result span{font-size:11px;color:#9ba3bd}


/* v100 — full-screen avatar viewer from profile */
.profile-avatar-clickable{cursor:zoom-in;touch-action:manipulation}
.profile-avatar-clickable:focus-visible{outline:2px solid #9b72ff;outline-offset:6px;border-radius:50%}
.avatar-lightbox[hidden]{display:none!important}
.avatar-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(3,4,12,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.avatar-lightbox img{display:block;max-width:min(94vw,900px);max-height:88dvh;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.avatar-lightbox-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2;width:48px;height:48px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(20,24,48,.9);color:#fff;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer}
html.avatar-lightbox-open,html.avatar-lightbox-open body{overflow:hidden!important}
@media(max-width:760px){.avatar-lightbox{padding:14px}.avatar-lightbox img{max-width:96vw;max-height:86dvh;border-radius:14px}.avatar-lightbox-close{width:44px;height:44px;border-radius:14px;font-size:29px}}


/* v101 — avatar replace/delete controls */
.avatar-upload-controls{display:grid;gap:9px;min-width:0;flex:1}
.avatar-remove-btn{width:max-content;max-width:100%;padding:9px 12px;border-radius:11px;border:1px solid rgba(255,92,115,.22);background:rgba(123,32,52,.18);color:#ff91a2;font-weight:800;font-size:12px}
.avatar-remove-btn:active{transform:scale(.98)}
@media(max-width:760px){.avatar-remove-btn{width:100%;min-height:42px}}


/* v102 — clickable online counters + dedicated online users page */
.home87-online-link{text-decoration:none;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.home87-online-link:active{transform:scale(.98)}
.home87-online-stat{text-decoration:none;color:inherit;cursor:pointer}
.home87-online-stat>i{margin-left:auto;color:#8c93ad}
.online-person-actions{display:flex;gap:8px;align-items:center;margin-top:8px}
.online-profile-btn,.online-empty-chat{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:11px;background:#171c37;border:1px solid rgba(255,255,255,.07);color:#d9dcef;text-decoration:none;font-size:12px;font-weight:800}
.online-person-actions .ready-write{margin-left:auto}
.online-people-page .ready-list>article{display:block}
@media(max-width:760px){.online-person-actions{padding-left:54px}.online-profile-btn{min-width:82px}}

/* v103 — current user is included in the online list */
.online-person-me{border-color:rgba(113,229,164,.24)!important;box-shadow:0 0 0 1px rgba(113,229,164,.05) inset}
.online-me-badge{display:inline-flex!important;align-items:center!important;margin-left:7px!important;padding:2px 7px!important;border-radius:999px!important;background:rgba(80,225,150,.12)!important;color:#74e8aa!important;font-size:9px!important;font-style:normal!important;font-weight:900!important;vertical-align:middle!important}


/* v105 — top online is display only; the lower card opens the online list */
.home87-online-display{cursor:default;pointer-events:none;text-decoration:none}
.home87-online-stat>div b{font-size:15px;line-height:1.15}
.home87-online-stat>div small{margin-top:3px}
