*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f4f5f7;color:#202124}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;background:#202124;color:white}.secondary{background:#e8eaed;color:#202124}.danger{background:#b3261e}.entry{min-height:100vh;display:grid;place-items:center;padding:20px}.card{width:min(600px,100%);background:white;padding:28px;border-radius:20px;box-shadow:0 8px 35px #0001}.card label{display:grid;gap:6px;margin:14px 0}.card input,.card select,.card textarea,#sendForm textarea{width:100%;border:1px solid #ccd0d5;border-radius:10px;padding:12px;background:white}.muted,small{color:#687078}.error{color:#b3261e;margin-top:12px}.emoji-row{display:flex;flex-wrap:wrap;gap:8px}.emoji input{display:none}.emoji span{display:grid;place-items:center;width:46px;height:46px;font-size:25px;border:2px solid transparent;border-radius:12px;background:#f1f3f4}.emoji input:checked+span{border-color:#202124}fieldset{border:0;padding:0;margin:15px 0}header{height:64px;background:white;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:3}.header-actions{display:flex;gap:8px}.inbox{position:relative}.inbox b{background:#b3261e;border-radius:20px;padding:2px 6px;font-size:12px}.flash{animation:flash .8s infinite alternate}@keyframes flash{to{transform:scale(1.08);box-shadow:0 0 18px #b3261e88}}.layout{display:grid;grid-template-columns:290px 1fr;height:calc(100vh - 64px)}aside{background:white;border-right:1px solid #ddd;padding:16px;overflow:auto}aside h2{font-size:16px}.user{width:100%;background:transparent;color:#202124;display:flex;align-items:center;text-align:left;gap:10px;padding:10px}.user:hover{background:#f1f3f4}.user small,#threadPerson small{display:block}.avatar,.bigAvatar{display:grid;place-items:center;overflow:hidden;background:#eee;border-radius:50%}.avatar{width:45px;height:45px;font-size:24px;flex:0 0 auto}.avatar img,.bigAvatar img{width:100%;height:100%;object-fit:cover}.dot{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#34a853}.dot.on{background:#b3261e;box-shadow:0 0 8px #b3261e}#main{overflow:hidden;padding:20px}#welcome,#profile{max-width:700px;margin:auto}.profileCard{background:white;border-radius:18px;padding:25px}.bigAvatar{width:110px;height:110px;font-size:60px}.thread-head{display:flex;align-items:center;gap:12px;background:white;padding:10px;border-radius:14px 14px 0 0}.thread-actions{margin-left:auto;display:flex;gap:7px}#thread{height:100%;display:grid;grid-template-rows:auto 1fr auto;max-width:900px;margin:auto}#messages{overflow:auto;background:#eef0f3;padding:18px}.msg{width:fit-content;max-width:75%;padding:10px 13px;margin:8px 0;border-radius:15px;background:white}.msg.mine{margin-left:auto;background:#dce8ff}.msg small{font-size:10px}.chatImage{display:block;max-width:min(420px,100%);max-height:420px;border-radius:10px;margin-top:7px}#sendForm{display:grid;grid-template-columns:1fr auto auto;gap:8px;background:white;padding:10px;border-radius:0 0 14px 14px}.photoBtn{display:grid;place-items:center;font-size:25px;cursor:pointer}@media(max-width:700px){.layout{grid-template-columns:110px 1fr}aside{padding:8px}.user span:nth-child(2) small{display:none}.user{padding:7px}.thread-actions button{font-size:12px;padding:8px}#main{padding:7px}.msg{max-width:88%}}
[hidden]{display:none!important}
body{background:var(--page-bg);font-size:var(--base-font)}button{background:var(--primary)}header,aside,.thread-head,#sendForm,.profileCard{background:var(--panel-bg)}
.layout{grid-template-columns:var(--sidebar) 1fr}#thread{max-width:var(--chat-width)}
.online-head{display:flex;align-items:center;justify-content:space-between}.online-head h2 span{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:20px;background:#e8eaed;font-size:12px}
.pagination{display:flex;flex-wrap:wrap;gap:5px;padding:12px 0}.pagination button{padding:7px 10px;background:#e8eaed;color:#202124}.pagination button.active{background:var(--primary);color:white}
.ad{margin:12px 0;padding:10px;overflow:hidden}.ad-top{max-width:1100px;margin:10px auto}

.user.me{background:#fff34d;color:#202124;box-shadow:inset 0 0 0 2px #ffd400;border-radius:12px;font-weight:700}
.user.me:hover{background:#fff000}
.user.me .avatar{background:#fff9a8}
.user.me .dot{background:#202124}
.site-logo{display:block;height:50px;width:auto;max-width:min(58vw,360px);object-fit:contain}
.chat-type-badge{position:absolute;left:50%;transform:translateX(-50%);display:grid;place-items:center;min-width:150px;height:42px;padding:0 18px;border-radius:999px;font-weight:900;letter-spacing:.3px;text-transform:uppercase;color:#fff;border:2px solid #fff8;box-shadow:0 0 18px #0006}
.type-gay{background:linear-gradient(90deg,#e40303,#ff8c00,#ffed00,#008026,#24408e,#732982)}
.type-hetero{background:linear-gradient(135deg,#0d2f63,#e5093f)}
.type-lesbienne{background:linear-gradient(90deg,#d52d00,#ef7627,#ff9a56,#fff,#d162a4,#b55690,#a30262);color:#111827}
.icon-btn{width:42px;height:42px;padding:0!important;display:inline-grid;place-items:center;border-radius:50%;font-size:24px;line-height:1}
.sound-btn.muted{opacity:.55}
.block-icon{position:relative;background:#d4002f!important}
.block-icon span{display:block;width:24px;height:6px;border-radius:10px;background:#fff}
#sendForm textarea::placeholder{color:#fff34d;font-size:30px;font-weight:700;opacity:1}

/* Correction: bouton d'entrée toujours clairement visible sur la fiche d'entrée */
.join-submit{display:block;width:100%;margin-top:22px}
.enter-btn{display:block!important;width:100%;min-height:52px;padding:14px 20px!important;
font-weight:700;font-size:17px;border-radius:12px;background:var(--primary,#202124)!important;
color:#fff!important;opacity:1!important;visibility:visible!important}
.enter-btn:disabled{opacity:.65!important;cursor:wait}
.entry .card{width:min(600px,100%)}
.rules-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#000d;backdrop-filter:blur(5px)}
.rules-window{width:min(1420px,100%);max-height:94vh;overflow:auto;padding:22px 30px 28px;border-radius:26px;background:#103555;color:#f2f7ff;box-shadow:0 24px 80px #000d}
.rules-logo{display:block;width:min(470px,72vw);height:auto;margin:0 auto 34px;object-fit:contain}
.rules-logo-row{display:grid;grid-template-columns:minmax(145px,190px) minmax(300px,470px) minmax(145px,190px);align-items:center;justify-content:center;gap:38px;margin:0 auto 34px}
.rules-logo-row .rules-logo{width:100%;max-width:470px;margin:0}
.minor-warning{position:relative;isolation:isolate;display:grid;place-items:center;align-content:center;min-width:145px;aspect-ratio:1;border-radius:50%;padding:14px;text-align:center;color:#fff;background:radial-gradient(circle at 35% 25%,#ff4d4d 0,#ed0040 42%,#740015 100%);border:8px solid #ffea00;box-shadow:0 0 0 5px #080b13,0 0 24px #ffea00,0 0 42px #ed0040;overflow:hidden}
.minor-warning::before{content:"";position:absolute;left:-16%;right:-16%;top:50%;height:18px;transform:rotate(-34deg);background:#ffea00;box-shadow:0 0 0 5px #ed0040,0 0 18px #ffea00;z-index:0}
.minor-warning span,.minor-warning b,.minor-warning small{position:relative;z-index:1;text-shadow:0 2px 0 #000,0 0 10px #000}
.minor-warning span{font-size:49px;line-height:.86;font-weight:1000;letter-spacing:0;color:#fff}
.minor-warning b{font-size:22px;line-height:1;font-weight:1000;letter-spacing:0;color:#ffea00}
.minor-warning small{margin-top:4px;font-size:15px;line-height:1;font-weight:1000;color:#fff}
.minor-warning-en b{font-size:19px}
.minor-warning-en small{font-size:16px}
.minor-warning-mobile{display:none}
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 28px}
.rules-box{min-height:430px;padding:22px 24px;border-radius:20px;background:#143d5f;box-shadow:inset 0 0 0 2px #2877ad}
.rules-box h1{text-align:center;font-size:30px;line-height:1.1;margin:0 0 24px;font-weight:900}
.rules-box p{margin:12px 0;line-height:1.35;font-size:22px;font-weight:800}
#rulesOk{background:#ed0040!important;color:#fff!important}
.gender-window{width:min(920px,100%);padding:30px 38px 42px;border-radius:26px;background:#103555;color:#f2f7ff;box-shadow:0 24px 80px #000d}
.gender-window .rules-logo{width:min(560px,82vw);margin-bottom:52px}
.gender-window h1{text-align:center;margin:0 0 32px;font-size:44px;line-height:1.05;font-weight:1000}
.gender-window h1 span{display:inline-block}
.gender-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.gender-choice{appearance:none;position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:250px;margin:0!important;padding:26px!important;border-radius:20px;border:3px solid #fff;color:#fff;font-size:26px;font-weight:1000;cursor:pointer;user-select:none;box-shadow:inset 0 0 0 3px #05101f,0 0 22px #0008;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.gender-choice:hover,.gender-choice:focus-visible{transform:translateY(-3px);filter:saturate(1.12);outline:0;box-shadow:inset 0 0 0 3px #05101f,0 0 30px #fff6,0 20px 45px #0008}
.gender-person-icon{display:grid;place-items:center;width:min(260px,76%);height:150px}
.gender-person-icon svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 8px 10px #0008) drop-shadow(0 0 5px #fff)}
.gender-choice b{display:block;font-size:30px;line-height:1;font-weight:1000;letter-spacing:0;text-shadow:0 2px 0 #000,0 0 10px #000}
.female-choice{background:linear-gradient(135deg,#ffb6cf 0,#e5093f 72%,#8b0023 100%);border-color:#ffb6cf}
.male-choice{background:linear-gradient(135deg,#22c4ff 0,#2094ff 55%,#004baf 100%);border-color:#8be5ff}
body.theme-light .rules-window{background:#fff;color:#202124}
body.theme-light .rules-box{background:#f7f9fc;box-shadow:inset 0 0 0 1px #d9dee8}
body.theme-light .gender-window{background:#fff;color:#202124}
body.theme-light .gender-choice{color:#fff}
body.theme-light .female-choice{background:linear-gradient(135deg,#ffb6cf 0,#e5093f 72%,#8b0023 100%);border-color:#ffb6cf}
body.theme-light .male-choice{background:linear-gradient(135deg,#22c4ff 0,#2094ff 55%,#004baf 100%);border-color:#8be5ff}
body.theme-blue .rules-window{background:#0d2745;color:#eef7ff}
body.theme-blue .rules-box{background:#123655;box-shadow:inset 0 0 0 1px #2f71a7}
body.theme-blue .gender-window{background:#0d2745;color:#eef7ff}
body.theme-blue .gender-choice{color:#fff}
body.theme-blue .female-choice{background:linear-gradient(135deg,#ffb6cf 0,#e5093f 72%,#8b0023 100%);border-color:#ffb6cf}
body.theme-blue .male-choice{background:linear-gradient(135deg,#22c4ff 0,#2094ff 55%,#004baf 100%);border-color:#8be5ff}
@media(max-width:1060px) and (min-width:761px){.rules-logo-row{grid-template-columns:130px minmax(260px,390px) 130px;gap:22px}.minor-warning{min-width:130px;border-width:6px}.minor-warning span{font-size:42px}.minor-warning b{font-size:18px}.minor-warning small{font-size:13px}}
@media(max-width:760px){.rules-grid,.gender-choice-grid{grid-template-columns:1fr}.rules-box{min-height:0;padding:16px 17px}.rules-box h1{font-size:18px;margin-bottom:14px}.rules-box p{margin:8px 0;font-size:16px;line-height:1.28}.gender-window{padding:20px}.gender-window .rules-logo{width:min(360px,82vw);margin-bottom:34px}.gender-window h1{font-size:32px}.gender-choice{min-height:165px;font-size:20px;padding:18px!important}.gender-person-icon{height:105px}.gender-choice b{font-size:22px}}
@media(max-width:760px){.rules-logo-row{grid-template-columns:1fr;gap:12px}.rules-logo-row .rules-logo{width:min(360px,82vw);justify-self:center}.rules-logo-row .minor-warning{display:none}.minor-warning-mobile{position:relative;isolation:isolate;display:grid;place-items:center;justify-self:center;width:126px;aspect-ratio:1;border-radius:50%;padding:12px;text-align:center;color:#fff;background:radial-gradient(circle at 35% 25%,#ff4d4d 0,#ed0040 46%,#740015 100%);border:7px solid #ffea00;box-shadow:0 0 0 4px #080b13,0 0 20px #ffea00,0 0 34px #ed0040;overflow:hidden}.minor-warning-mobile::before{content:"";position:absolute;left:-17%;right:-17%;top:50%;height:18px;transform:rotate(-34deg);background:#ffea00;box-shadow:0 0 0 5px #ed0040,0 0 16px #ffea00;z-index:0}.minor-warning-mobile span{position:relative;z-index:1;font-size:48px;line-height:1;font-weight:1000;letter-spacing:0;color:#fff;text-shadow:0 3px 0 #000,0 0 10px #000}}

/* Ambiance sombre / underground */
:root{
 --primary:#e5093f;
 --page-bg:#07090f;
 --panel-bg:#101522;
}
body{background:#07090f;color:#f2f5ff}
body.entry{background:
 radial-gradient(circle at 20% 10%,#28385f 0,#07090f 32%),
 linear-gradient(135deg,#07090f,#111827 45%,#050608)}
.card,.profileCard,header,aside,.thread-head,#sendForm{background:#101522;color:#f2f5ff;border-color:#263149;box-shadow:0 18px 45px #0008}
header{border-bottom:1px solid #263149}
header.message-alert{border-bottom-width:2px;animation:headerLineAlert .7s infinite}
@keyframes headerLineAlert{0%,100%{border-bottom-color:#e5093f;box-shadow:0 4px 0 #e5093f}50%{border-bottom-color:#fff;box-shadow:0 4px 0 #fff}}
aside{border-right:1px solid #263149}
.card input,.card select,.card textarea,#sendForm textarea{background:#080b13;color:#f2f5ff;border-color:#32405f}
.card input:focus,.card select:focus,.card textarea:focus,#sendForm textarea:focus{outline:2px solid #e5093f;border-color:#e5093f}
.muted,small{color:#a8b2c7}
.secondary{background:#263149;color:#f2f5ff}
.danger{background:#b0002c}
.emoji span{background:#182033;border-color:#263149}
.emoji input:checked+span{border-color:#e5093f;box-shadow:0 0 18px #e5093f66}
.user{color:#f2f5ff;border-radius:12px}
.user:hover{background:#1a2336}
.avatar,.bigAvatar{background:#1f293d}
#messages{background:#07090f;border-left:1px solid #263149;border-right:1px solid #263149}
.msg{background:#182033;color:#f2f5ff;box-shadow:0 8px 24px #0004}
.msg.mine{background:#2a0f21;border:1px solid #e5093f55}
.online-head h2 span,.pagination button{background:#263149;color:#f2f5ff}
.pagination button.active{background:#e5093f;color:#fff}
.inbox b{background:#6b7280;color:#fff;font-size:16px;min-width:24px;min-height:24px;display:inline-grid;place-items:center}
.inbox.has-unread b{background:#e5093f;animation:messageBadgeAlert .7s infinite}
@keyframes messageBadgeAlert{0%,100%{background:#e5093f;color:#fff;box-shadow:0 0 12px #e5093faa}50%{background:#fff;color:#e5093f;box-shadow:0 0 12px #fff}}
.flash{animation:flash .8s infinite alternate}
@keyframes flash{to{transform:scale(1.08);box-shadow:0 0 20px #e5093faa}}
.user.me{background:#fff34d;color:#111827;box-shadow:inset 0 0 0 2px #ffdd00,0 0 18px #fff34d66}
.user.me small{color:#343a40}

.theme-control{display:flex!important;align-items:center;gap:7px;margin:0!important;color:inherit;font-size:13px;font-weight:700}
.theme-control select{width:auto!important;min-width:94px;padding:8px 28px 8px 10px!important;border-radius:10px;background:#080b13;color:#f2f5ff;border:1px solid #32405f}
.user:not(.me){background:#172033;border-radius:12px;box-shadow:inset 0 0 0 1px #2a3650}
.user:not(.me):hover{background:#202b42}
.user{position:relative;min-height:68px;border-radius:18px!important;padding:9px 62px 9px 12px!important;margin:0 0 8px;overflow:hidden}
.user .avatar{width:52px;height:52px;font-size:28px}
.user-info{display:block;min-width:0}
.user-info b{display:block;font-size:20px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-info small{font-size:15px;line-height:1.1}
.user-info em{display:block;margin-top:4px;font-style:normal;font-size:11px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}
.age-badge{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#17bf4d;color:#020712;border:4px solid #030712;font-size:23px;font-weight:900}
.user.gender-male .age-badge{background:#2094ff;color:#fff}
.user.gender-female .age-badge{background:#e5093f;color:#fff}
.user.gender-male:not(.me){box-shadow:inset 0 0 0 2px #2094ff88}
.user.gender-female:not(.me){box-shadow:inset 0 0 0 2px #e5093f88}
.profileCard.gender-male,.thread-person-card.gender-male{border-left:5px solid #2094ff;padding-left:10px}
.profileCard.gender-female,.thread-person-card.gender-female{border-left:5px solid #e5093f;padding-left:10px}
.user.me .age-badge{display:none}
.user.me{padding-right:18px!important}
.dot{position:absolute;right:8px;top:8px;margin:0;width:12px;height:12px;opacity:0}
.dot.on{opacity:1}

body.theme-light{background:#f4f5f7;color:#202124}
body.theme-light.entry{background:#f4f5f7}
body.theme-light .card,body.theme-light .profileCard,body.theme-light header,body.theme-light aside,body.theme-light .thread-head,body.theme-light #sendForm{background:#fff;color:#202124;border-color:#ddd;box-shadow:0 8px 35px #0001}
body.theme-light header{border-bottom:1px solid #ddd}
body.theme-light aside{border-right:1px solid #ddd}
body.theme-light .card input,body.theme-light .card select,body.theme-light .card textarea,body.theme-light #sendForm textarea,body.theme-light .theme-control select{background:#fff;color:#202124;border-color:#ccd0d5}
body.theme-light .card input:focus,body.theme-light .card select:focus,body.theme-light .card textarea:focus,body.theme-light #sendForm textarea:focus{outline:2px solid #202124;border-color:#202124}
body.theme-light .muted,body.theme-light small{color:#687078}
body.theme-light .secondary{background:#e8eaed;color:#202124}
body.theme-light .danger{background:#b3261e;color:#fff}
body.theme-light .emoji span{background:#f1f3f4;border-color:transparent}
body.theme-light .emoji input:checked+span{border-color:#202124;box-shadow:none}
body.theme-light .user{color:#202124}
body.theme-light .user:not(.me){background:#f7f9fc;box-shadow:inset 0 0 0 1px #d9dee8}
body.theme-light .user:not(.me):hover{background:#eef3fb}
body.theme-light .age-badge{border-color:#fff;background:#16b84d;color:#111827}
body.theme-light .avatar,body.theme-light .bigAvatar{background:#eee}
body.theme-light #messages{background:#eef0f3;border:0}
body.theme-light .msg{background:#fff;color:#202124;box-shadow:none}
body.theme-light .msg.mine{background:#dce8ff;border:0}
body.theme-light .online-head h2 span,body.theme-light .pagination button{background:#e8eaed;color:#202124}
body.theme-light .pagination button.active{background:var(--primary);color:#fff}
body.theme-light .inbox b{background:#9ca3af}
body.theme-light .inbox.has-unread b{background:#b3261e}
body.theme-light .user.me{background:#fff34d;color:#202124;box-shadow:inset 0 0 0 2px #ffd400}
body.theme-light .user.me small{color:#343a40}

body.theme-blue{background:#06182d;color:#eef7ff}
body.theme-blue.entry{background:
 radial-gradient(circle at 18% 12%,#174b88 0,#06182d 34%),
 linear-gradient(135deg,#06182d,#0b2747 52%,#03101f)}
body.theme-blue .card,body.theme-blue .profileCard,body.theme-blue header,body.theme-blue aside,body.theme-blue .thread-head,body.theme-blue #sendForm{background:#0d2745;color:#eef7ff;border-color:#1f5789;box-shadow:0 18px 45px #00152c99}
body.theme-blue header{border-bottom:1px solid #1f5789}
body.theme-blue aside{border-right:1px solid #1f5789}
body.theme-blue .card input,body.theme-blue .card select,body.theme-blue .card textarea,body.theme-blue #sendForm textarea,body.theme-blue .theme-control select{background:#06182d;color:#eef7ff;border-color:#2f71a7}
body.theme-blue .card input:focus,body.theme-blue .card select:focus,body.theme-blue .card textarea:focus,body.theme-blue #sendForm textarea:focus{outline:2px solid #39b7ff;border-color:#39b7ff}
body.theme-blue .muted,body.theme-blue small{color:#a9c6dc}
body.theme-blue .secondary{background:#173d63;color:#eef7ff}
body.theme-blue .danger{background:#c01845;color:#fff}
body.theme-blue .emoji span{background:#143858;border-color:#1f5789}
body.theme-blue .emoji input:checked+span{border-color:#39b7ff;box-shadow:0 0 18px #39b7ff66}
body.theme-blue .user{color:#eef7ff}
body.theme-blue .user:not(.me){background:#123655;box-shadow:inset 0 0 0 1px #2f71a7}
body.theme-blue .user:not(.me):hover{background:#18466f}
body.theme-blue .age-badge{border-color:#06182d;background:#28d96b;color:#03101f}
body.theme-blue .avatar,body.theme-blue .bigAvatar{background:#153a5e}
body.theme-blue #messages{background:#06182d;border-left:1px solid #1f5789;border-right:1px solid #1f5789}
body.theme-blue .msg{background:#123655;color:#eef7ff;box-shadow:0 8px 24px #00152c66}
body.theme-blue .msg.mine{background:#073b67;border:1px solid #39b7ff55}
body.theme-blue .online-head h2 span,body.theme-blue .pagination button{background:#173d63;color:#eef7ff}
body.theme-blue .pagination button.active{background:#39b7ff;color:#06182d}
body.theme-blue .inbox b{background:#6b7f95;color:#fff}
body.theme-blue .inbox.has-unread b{background:#e5093f;color:#fff}
body.theme-blue .user.me{background:#fff34d;color:#111827;box-shadow:inset 0 0 0 2px #ffdd00,0 0 18px #fff34d66}
body.theme-blue .user.me small{color:#343a40}
@media(max-width:820px){.chat-type-badge{position:static;transform:none;min-width:0;height:36px;padding:0 12px;font-size:12px}.header-actions{gap:6px}.site-logo{max-width:34vw}}

@media(max-width:700px){
 header{height:auto;min-height:64px;gap:8px;flex-wrap:wrap;padding:8px 10px}
 .site-logo{height:42px;max-width:48vw}
 .header-actions{margin-left:auto;align-items:center;flex-wrap:wrap;justify-content:flex-end}
 .theme-control{font-size:12px}
 .theme-control select{min-width:84px;padding:7px 24px 7px 8px!important}
 .icon-btn{width:38px;height:38px;font-size:22px}
 .layout{display:flex;flex-direction:column;height:auto;min-height:calc(100vh - 64px)}
 aside{width:100%;max-height:42vh;border-right:0;border-bottom:1px solid #263149;padding:10px}
 body.theme-light aside{border-bottom:1px solid #ddd}
 body.theme-blue aside{border-bottom:1px solid #1f5789}
 #users{display:grid;grid-template-columns:1fr;gap:7px}
 .user{min-height:62px;padding:8px 50px 8px 8px!important}
 .user .avatar{width:46px;height:46px;font-size:24px}
 .user-info b{font-size:18px}
 .user-info small{font-size:13px}
 .user-info em{font-size:10px;margin-top:3px}
 .age-badge{width:40px;height:40px;font-size:19px;border-width:3px;right:6px}
 .user.me{padding-right:10px!important}
 .user span:nth-child(2) small{display:block}
 #main{display:none;position:fixed;inset:0;z-index:20;min-height:0;padding:14px;background:#000a;backdrop-filter:blur(4px);overflow:auto}
 body.panel-open #main{display:grid;place-items:center}
 #welcome{display:none}
 #profile{width:min(96vw,520px)}
 #thread{min-height:0;height:min(82vh,680px);width:min(96vw,560px);box-shadow:0 24px 70px #000c;border-radius:14px}
 .thread-head{border-radius:12px 12px 0 0}
 .thread-actions{gap:6px}
 #messages{padding:12px}
 .msg{max-width:90%}
 #sendForm{grid-template-columns:1fr 42px auto;gap:6px;padding:8px}
 #sendForm textarea{min-height:48px}
 .photoBtn{font-size:22px}
 .pagination{padding:8px 0}
 .pagination button{min-width:34px}
}

@media(max-width:900px){
 body.chat{overflow-x:hidden}
 .layout{width:100vw;display:flex;flex-direction:column;height:auto;min-height:calc(100dvh - 64px)}
 aside{width:100vw;max-width:100vw;max-height:none;min-height:calc(100dvh - 64px);border-right:0;border-bottom:0;padding:10px 10px 18px;overflow:visible}
 #users{display:grid;grid-template-columns:1fr;gap:8px}
 .user{width:100%;margin:0}
 .pagination{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:10px;padding:16px 0 24px}
 .pagination button{min-height:54px;border-radius:14px;font-size:24px;font-weight:900}
 #main{display:none;position:fixed;inset:0;z-index:20;min-height:0;padding:0;background:#000c;backdrop-filter:blur(4px);overflow:hidden}
 body.panel-open #main{display:block}
 #thread{width:100vw;height:100dvh;max-width:none;min-height:0;border-radius:0;box-shadow:none}
 .thread-head{border-radius:0}
 #messages{min-height:0}
 #profile{width:100vw;min-height:100dvh;padding:14px;display:grid;place-items:center}
}

body.entry{place-items:start center;padding:22px;background:#05070c}
body.entry .card{width:min(1280px,100%);padding:20px 52px 88px;border-radius:22px;box-shadow:0 18px 45px #0008}
.entry-logo{display:block;width:min(390px,46vw);height:auto;margin:0 auto 22px;object-fit:contain}
.entry-seo-title{margin:0 0 8px;text-align:center;font-size:clamp(28px,4.2vw,54px);line-height:1.05;font-weight:1000;letter-spacing:0;color:#fff;text-shadow:0 3px 0 #05070d,0 0 24px #00b7ff}
.entry-seo-copy{max-width:760px;margin:0 auto 28px;text-align:center;font-size:clamp(16px,2vw,24px);line-height:1.28;font-weight:800;color:#bfeaff}
.entry-top{display:grid;grid-template-columns:minmax(310px,420px) 1fr;align-items:center;gap:54px;margin-bottom:54px}
.entry-hero{display:grid;gap:10px;margin:0;font-size:33px;line-height:1.18;font-weight:900;color:#fff}
.entry-hero span{display:block}
#joinForm{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,280px);gap:26px 28px;align-items:stretch}
#joinForm label{margin:0;font-size:26px;gap:0}
#joinForm fieldset,#joinForm .join-submit,#joinForm .error{grid-column:1/-1}
#joinForm input,#joinForm select,#joinForm textarea{width:100%;min-height:68px;border-radius:18px;padding:12px 24px;font-size:25px}
#joinForm textarea{min-height:170px;padding-top:22px}
#joinForm fieldset{font-size:22px;margin-top:16px}
.robot-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.captcha-box{grid-column:1/-1!important;margin:6px 0 0!important;padding:18px 20px 20px!important;border:1px solid #2877ad!important;border-radius:18px;background:#06111f;color:#f2f5ff;box-shadow:inset 0 0 0 1px #0c2b48}
.captcha-box legend{padding:0 10px;color:#39b7ff;font-size:20px;font-weight:1000;text-transform:uppercase}
.captcha-box p{margin:4px 0 14px;font-size:22px;font-weight:900;line-height:1.2}
.captcha-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.captcha-choices label{display:flex!important;align-items:center;gap:10px;min-height:54px;margin:0!important;padding:10px 12px;border:1px solid #2877ad;border-radius:14px;background:#0b1b31;color:#f2f5ff;font-size:18px;font-weight:900;cursor:pointer}
.captcha-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#39b7ff;color:#06111f;font-weight:1000}
.captcha-choices input[type=radio]{width:20px!important;min-height:20px!important;accent-color:#18b957;flex:0 0 auto}
.captcha-answer{line-height:1.1}
.captcha-code-row{display:grid!important;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;margin:14px 0 0!important;font-size:18px;font-weight:800}
#joinForm .captcha-code-row input{min-height:54px!important;border:1px solid #2877ad!important;border-radius:14px!important;background:#0b1b31!important;color:#fff!important;padding:8px 14px!important;text-align:center;font-size:24px;font-weight:1000}
.icon-field{display:grid!important;grid-template-columns:110px minmax(0,1fr);align-items:stretch;gap:0!important;border:1px solid #2877ad;border-radius:22px;background:#06111f;box-shadow:inset 0 0 0 1px #0c2b48;overflow:hidden}
.icon-field:focus-within{border-color:#39b7ff;box-shadow:0 0 0 2px #39b7ff44,inset 0 0 0 1px #39b7ff}
.icon-field .field-icon{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;height:100%;min-height:84px;border-right:1px solid #2877ad;border-radius:20px 0 0 20px;font-size:30px;background:#123a60;color:#fff;overflow:hidden}
.icon-field .field-icon::before{content:"";position:absolute;inset:-8px;background:center/cover no-repeat;filter:blur(8px);opacity:.62;z-index:0}
.pseudo-field .field-icon::before{background-image:url("pseudo-icon.png?v=20260907c")}
.age-field .field-icon::before{background-image:url("age-icon.png?v=20260907c")}
.region-field .field-icon::before{background-image:url("gps-icon.png?v=20260907c")}
.description-field .field-icon::before{background-image:url("description-icon.png?v=20260907c")}
.photo-field .field-icon::before{background-image:url("photo-icon.png?v=20260907c")}
.icon-field .field-icon img{position:relative;z-index:1;width:88%;height:88%;object-fit:contain;display:block;transform:none!important}
.pseudo-field .field-icon img{width:96%;height:96%}
.age-field .field-icon img{width:106%;height:106%;object-fit:cover}
.region-field .field-icon img{width:96%;height:96%}
.description-field .field-icon img{width:100%;height:100%;object-fit:cover}
.photo-field .field-icon img{width:98%;height:98%}
#joinForm .icon-field>input,#joinForm .icon-field>select,#joinForm .icon-field>textarea{min-width:0;width:100%;min-height:84px;border:0!important;border-radius:0!important;background:#06111f!important;color:#f2f5ff!important;box-shadow:none!important;font-size:26px;padding:0 28px!important}
#joinForm .icon-field>textarea{min-height:230px;padding:30px 28px!important;resize:vertical}
#joinForm .icon-field>input:focus,#joinForm .icon-field>select:focus,#joinForm .icon-field>textarea:focus{outline:0!important}
.pseudo-field{grid-column:1}
.age-field{grid-column:2;grid-template-columns:92px minmax(0,1fr)}
.gender-field,.region-field,.description-field,.photo-field{grid-column:1/-1}
.gender-field{grid-template-columns:1fr}
.gender-options{display:flex;flex-wrap:wrap;align-items:center;gap:34px;min-height:84px;padding:0 28px;background:#06111f}
.gender-options label{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;min-height:0;margin:0!important;border:0;border-radius:0;background:transparent;color:#f2f5ff;font-size:25px;font-weight:900;cursor:pointer;user-select:none;box-shadow:none}
.gender-options input{position:absolute;opacity:0;pointer-events:none;width:auto!important;min-height:0!important;padding:0!important;margin:0!important}
.checkmark{width:24px;height:24px;border:3px solid #7ca8d8;border-radius:6px;background:#030914;box-shadow:inset 0 0 0 2px #06111f;order:2}
.gender-options input:checked+.checkmark{background:#18b957;border-color:#18b957;box-shadow:inset 0 0 0 4px #030914,0 0 14px #18b95788}
.gender-options input:focus-visible+.checkmark{outline:2px solid #fff;outline-offset:3px}
.gender-symbol{font-size:34px;line-height:1;order:1}
.gender-options b{order:3}
.male-symbol{color:#2094ff;text-shadow:0 0 10px #2094ff99}
.female-symbol{color:#e5093f;text-shadow:0 0 10px #e5093f99}
.description-field .field-icon{align-self:stretch;margin-top:0}
.photo-field input[type=file]{display:flex;align-items:center;padding-top:23px!important}
.photo-field input[type=file]::file-selector-button{margin-right:16px;border:0;border-radius:4px;background:#f8fafc;color:#05070c;font-weight:700;font-size:22px;padding:8px 14px;cursor:pointer}
body.theme-light .icon-field{background:#fff;border-color:#ccd0d5;box-shadow:none}
body.theme-light .icon-field .field-icon{background:#e8eaed;color:#202124;border-right-color:#ccd0d5}
body.theme-light #joinForm .icon-field>input,body.theme-light #joinForm .icon-field>select,body.theme-light #joinForm .icon-field>textarea{background:#fff!important;color:#202124!important}
body.theme-light .gender-options{background:#fff}
body.theme-light .gender-options label{background:transparent;color:#202124;border-color:transparent}
body.theme-light .checkmark{background:#fff;border-color:#8a94a6;box-shadow:inset 0 0 0 2px #fff}
body.theme-blue .icon-field{background:#06182d;border-color:#2f71a7;box-shadow:inset 0 0 0 1px #123f69}
body.theme-blue .icon-field .field-icon{background:#173d63;color:#eef7ff;border-right-color:#2f71a7}
body.theme-blue #joinForm .icon-field>input,body.theme-blue #joinForm .icon-field>select,body.theme-blue #joinForm .icon-field>textarea{background:#06182d!important;color:#eef7ff!important}
body.theme-blue .gender-options{background:#06182d}
body.theme-blue .gender-options label{background:transparent;border-color:transparent;color:#eef7ff}
body.entry .theme-control{justify-content:flex-start;font-size:24px;gap:18px}
body.entry .theme-control select{min-width:230px!important;border-radius:18px;padding:14px 44px 14px 24px!important;font-size:24px;font-weight:800}
.emoji-row{gap:12px}.emoji span{width:58px;height:58px;font-size:32px;border-radius:14px;background:#fff!important;color:#111827!important}
.emoji input:checked+span{background:#fff!important}
.emoji span img{max-width:36px;max-height:36px;object-fit:contain;display:block}
.inline-emoji{display:inline-grid;place-items:center;width:28px;height:28px;vertical-align:middle}
.inline-emoji img{max-width:100%;max-height:100%;object-fit:contain}
.enter-btn{min-height:66px;border-radius:18px;font-size:20px}
#enterBtn{background:#18b957!important;color:#06120a!important}
#enterBtn:hover{background:#22d567!important}
@media(max-width:900px){
 body.entry{padding:16px}
 body.entry .card{padding:18px 16px 40px}
 .entry-logo{width:min(320px,82vw);margin-bottom:20px}
 .entry-seo-title{font-size:clamp(26px,9vw,42px)}
 .entry-seo-copy{font-size:17px;margin-bottom:22px}
 .entry-top{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
 .entry-hero{font-size:24px;line-height:1.18}
 #joinForm{grid-template-columns:1fr;gap:16px}
 #joinForm label{font-size:18px}
 #joinForm input,#joinForm select,#joinForm textarea{min-height:52px;border-radius:14px;font-size:17px;padding:10px 14px}
 #joinForm textarea{min-height:120px}
 .captcha-box{padding:15px!important}
 .captcha-box legend{font-size:16px}
 .captcha-box p{font-size:18px}
 .captcha-choices{grid-template-columns:1fr 1fr;gap:8px}
 .captcha-choices label{min-height:46px;font-size:16px;padding:8px 10px}
 .captcha-code-row{grid-template-columns:1fr;gap:8px;font-size:16px}
 #joinForm .captcha-code-row input{min-height:48px!important;font-size:20px}
 .icon-field,.age-field{grid-column:1/-1;grid-template-columns:70px minmax(0,1fr);border-radius:16px}
 .gender-field{grid-template-columns:1fr}
 .icon-field .field-icon{min-height:60px;border-radius:14px 0 0 14px}
 #joinForm .icon-field>input,#joinForm .icon-field>select,#joinForm .icon-field>textarea{min-height:60px;font-size:18px;padding:0 16px!important}
 #joinForm .icon-field>textarea{min-height:130px;padding:16px!important}
 .gender-options{gap:18px;min-height:60px;padding:10px 16px}
 .gender-options label{min-height:0;font-size:18px}
 .checkmark{width:20px;height:20px;border-width:2px}
 .gender-symbol{font-size:25px}
 .photo-field input[type=file]{padding-top:15px!important}
 .photo-field input[type=file]::file-selector-button{font-size:16px;padding:6px 10px;margin-right:10px}
 body.entry .theme-control{font-size:17px}
 body.entry .theme-control select{min-width:150px!important;border-radius:14px;padding:10px 34px 10px 14px!important;font-size:17px}
}
@media(max-width:520px){
 .entry-hero{font-size:21px}
 #joinForm label{font-size:17px}
 body.entry .theme-control{font-size:16px;gap:10px}
 body.entry .theme-control select{min-width:140px!important;font-size:16px}
}

.thread-person-card{display:flex;align-items:center;gap:12px;min-width:0}
.thread-photo{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:0;border-radius:7px;background:#1d263a;color:inherit;padding:0;overflow:visible;position:relative;z-index:5}
.thread-photo img{width:36px;height:36px;max-width:36px;max-height:36px;object-fit:cover;border-radius:7px;display:block;transition:transform .18s ease,box-shadow .18s ease}
.thread-emoji{overflow:hidden;font-size:32px}
.thread-emoji img{max-width:42px;max-height:42px;object-fit:contain}
.thread-person-text{min-width:0}
.thread-person-text b{display:block;font-size:18px;line-height:1.1}
.thread-person-text small{display:block;margin-top:2px}
.thread-person-text em{display:block;max-width:min(48vw,520px);margin-top:3px;font-style:normal;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a8b2c7}
.photo-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#000c}
.photo-modal-box{position:relative;width:min(92vw,620px)}
.photo-modal-box img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain;border-radius:14px;box-shadow:0 22px 70px #000}
.photo-modal-close{position:absolute;right:10px;top:10px;background:#e5093f!important;color:#fff!important;z-index:2}
@media(hover:hover) and (pointer:fine){.photo-zoom-trigger:hover img{transform:scale(4);transform-origin:left top;box-shadow:0 18px 55px #000d}}
@media(max-width:900px){
 .thread-head{align-items:flex-start}
 .thread-person-text em{max-width:58vw;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .photo-modal:not([hidden]){display:grid}
}

body.chat header:not(.message-alert){border-bottom:4px solid #fff!important;box-shadow:0 4px 0 #fff}
header.message-alert{border-bottom-width:4px!important;animation:headerLineAlert .7s infinite}
.inbox{position:relative;width:46px;height:40px;padding:0!important;display:grid!important;place-items:center;border-radius:10px!important;background:#6b7280!important;color:#fff!important;box-shadow:inset 0 0 0 2px #d1d5db!important;overflow:hidden}
.inbox::before{content:none}
.inbox b{position:relative;z-index:1;background:transparent!important;color:#fff!important;min-width:0!important;min-height:0!important;padding:0!important;border-radius:0!important;font-size:22px!important;font-weight:1000;line-height:1;text-shadow:0 2px 4px #000}
.inbox.flash{animation:none}
.inbox.has-unread{background:#e5093f!important;box-shadow:0 0 20px #e5093faa,inset 0 0 0 2px #fff!important;animation:inboxEnvelopeAlert .7s infinite}
.inbox.has-unread::before{color:#fff}
.inbox.has-unread b{color:#fff!important;text-shadow:0 2px 4px #000}
@keyframes inboxEnvelopeAlert{0%,100%{background:#e5093f;box-shadow:0 0 22px #e5093fcc,inset 0 0 0 2px #fff}50%{background:#6b7280;box-shadow:0 0 10px #fff,inset 0 0 0 2px #fff}}

.user.gender-male .age-badge{background:#2094ff!important;color:#fff!important}
.user.gender-female .age-badge{background:#e5093f!important;color:#fff!important}
.user.gender-male:not(.me){box-shadow:inset 0 0 0 2px #2094ff88!important}
.user.gender-female:not(.me){box-shadow:inset 0 0 0 2px #e5093f88!important}
.profileCard.gender-male,.thread-person-card.gender-male{border-left:5px solid #2094ff!important;padding-left:10px}
.profileCard.gender-female,.thread-person-card.gender-female{border-left:5px solid #e5093f!important;padding-left:10px}

.gender-choice{flex-direction:row!important;gap:0!important;min-height:285px!important;font-size:0!important}
.gender-person-icon{width:min(340px,86%)!important;height:210px!important}
.gender-choice b{display:none!important}

.thread-head{justify-content:space-between}
.thread-actions{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important}
.thread-action-btn{min-width:52px;height:42px;padding:0 12px!important;display:inline-grid!important;place-items:center!important;border-radius:12px!important;font-size:16px!important;line-height:1!important;font-weight:1000!important}
.block-action{min-width:62px;background:#d4002f!important;color:#fff!important;box-shadow:inset 0 0 0 2px #fff!important}
.close-action{min-width:42px;font-size:28px!important;background:#d4002f!important;color:#fff!important;box-shadow:0 0 18px #d4002f88,inset 0 0 0 2px #fff!important}
.confirm-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:#000d;backdrop-filter:blur(5px)}
.confirm-dialog{width:min(680px,100%);padding:26px;border-radius:22px;background:#103555;color:#f2f7ff;box-shadow:0 24px 80px #000d,inset 0 0 0 2px #2877ad}
.confirm-dialog h2{margin:0 0 18px;text-align:center;font-size:30px;line-height:1.1;font-weight:1000;color:#fff}
.confirm-copy{display:grid;gap:14px;margin:0 0 22px}
.confirm-copy p{margin:0;padding:16px;border-radius:16px;background:#06111f;box-shadow:inset 0 0 0 1px #2f71a7}
.confirm-copy b,.confirm-copy span{display:block}
.confirm-copy b{margin-bottom:7px;color:#fff34d;font-size:16px;text-transform:uppercase}
.confirm-copy span{font-size:20px;line-height:1.25;font-weight:800}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.confirm-actions button{min-height:62px;border-radius:16px;font-size:18px;font-weight:1000;line-height:1.15}
.confirm-actions button span{display:block;margin-top:4px;font:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;opacity:1}
.block-cancel{background:#263149!important;color:#f2f5ff!important;box-shadow:inset 0 0 0 1px #5a6780!important}
.block-confirm{background:#d4002f!important;color:#fff!important;box-shadow:inset 0 0 0 2px #fff!important}

@media(max-width:760px){
 .gender-choice{min-height:175px!important}
 .gender-person-icon{height:128px!important}
 .thread-action-btn{min-width:46px;height:38px;padding:0 9px!important;font-size:14px!important}
 .block-action{min-width:54px}
 .close-action{min-width:38px;font-size:25px!important}
 .confirm-dialog{padding:20px;border-radius:18px}
 .confirm-dialog h2{font-size:24px}
 .confirm-copy span{font-size:17px}
 .confirm-actions{grid-template-columns:1fr}
}

@media(min-width:901px){
 body.chat header#chatHeader{height:128px;min-height:128px;padding:0 26px}
 body.chat .site-logo{height:100px;max-width:min(46vw,620px)}
 body.chat .chat-type-badge{height:54px;min-width:190px;padding:0 24px;font-size:18px}
 body.chat .header-actions{align-items:center;gap:10px}
 body.chat .icon-btn{width:52px;height:52px;font-size:28px}
 body.chat .inbox{width:58px;height:52px}
 body.chat .inbox b{font-size:25px!important}
 body.chat .layout{height:calc(100vh - 128px)}
}
