/* Isolated copy of the roulette partner-chat surface. */
body.dm-open #dmWindow{background:#101010;color:#f5f5f5}
body.dm-open #dmMessages{background:#101010}
body.dm-open #dmTop{background:#141414;border-bottom-color:#303030;box-shadow:none}
body.dm-open #dmPartner{background:#262626;border-color:#414141;box-shadow:none}
body.dm-open #dmPartner small{color:#aaa}
body.dm-open #dmWindow #dmTop>button{background:#292929!important;border-color:#414141;box-shadow:none}
body.dm-open #dmForm{background:#171717;border-top-color:#333;box-shadow:none}
#dmNotice.dm-limit-card{box-sizing:border-box;flex-shrink:0;width:calc(100% - 28px);max-width:480px;margin:16px auto 8px;padding:20px;border:1px solid #393939;border-radius:22px;background:#1a1a1a;box-shadow:0 10px 26px #0004}
.dm-limit-title{display:block;font-size:20px;line-height:1.25;letter-spacing:-.3px;color:#f5f5f5}
.dm-limit-description{margin:10px 0 16px;font-size:14px;line-height:1.55;color:#b8b8b8}
.dm-limit-hint{margin:-6px 0 16px;font-size:14px;line-height:1.5;color:#e5e5e5}
.dm-limit-actions{display:flex;gap:10px}
.dm-limit-actions button:hover,.dm-limit-actions button:active,.dm-limit-actions button:focus{box-shadow:none!important;transform:none!important;filter:none!important;background-image:none!important}
.dm-limit-actions button::before,.dm-limit-actions button::after{display:none!important}
.dm-limit-actions button{transition:background-color .18s ease,transform .12s ease!important}
#dmWindow .dm-limit-actions button:hover{background-color:#484848!important}
#dmWindow .dm-limit-actions button:active{transform:scale(.98)!important;background-color:#303030!important}
@media(prefers-reduced-motion:reduce){.dm-limit-actions button{transition:none!important}}
.dm-limit-actions>button{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;min-height:46px}
#dmWindow button.dm-limit-verify{margin:0;padding:13px 10px;border-radius:14px;font-size:14px;font-weight:600;background:#242424!important;color:#eee!important;border:1px solid #494949;box-shadow:none!important}
@media(max-width:360px){.dm-limit-actions{flex-direction:column}}
@media(max-width:480px){#dmNotice.dm-limit-card{padding:16px;border-radius:18px}.dm-limit-title{font-size:18px}.dm-limit-reset{flex-wrap:wrap;gap:6px}}
.dm-limit-reset{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;margin-bottom:16px;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;font-size:12px}
.dm-limit-reset span{color:#999}.dm-limit-reset strong{color:#e5e5e5;font-weight:600;text-align:right}
#dmWindow button.dm-limit-upgrade{width:100%;margin:0;padding:13px 16px;border-radius:14px;font-size:14px;font-weight:700;background:#3b3b3b!important;color:#f5f5f5!important;border:0;box-shadow:none!important}
#dmWindow{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#0b1220;color:#f3f5ff;height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
#dmWindow[hidden]{display:none}body.dm-open{overflow:hidden}
.back-icon{width:28px;height:28px;display:block;object-fit:contain}
#dmBack .back-icon{transform:translateX(4px)}
#dmWindow button{color:#eef2ff!important;background:linear-gradient(145deg,#303c50,#222c3e)!important;border:1px solid #3b4963;box-shadow:inset 0 1px #ffffff14,0 5px 14px #0006}
#dmTop{display:flex;align-items:center;gap:7px;justify-content:center;min-height:58px;padding:4px 10px;border-bottom:1px solid #202c42;box-shadow:0 8px 24px #0008}
#dmTop>button{width:42px;height:42px;flex:0 0 42px;padding:0;margin:0;border-radius:50%;font-size:23px}
#dmPartner{display:flex;align-items:center;gap:9px;min-width:0;flex:0 1 280px;border-radius:24px;padding:4px 10px;background:linear-gradient(145deg,#303c50,#222c3e);border:1px solid #3b4963;box-shadow:inset 0 1px #ffffff14,0 5px 14px #0006}
#dmPartner .avatar{width:38px;height:38px;min-width:38px;border-radius:50%;margin:0}
#dmPartner strong{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#dmPartner .dm-person{min-width:0}#dmPartner small{color:#aeb8c9;font-size:13px}#dmPartner i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#89919d}#dmPartner i.online{background:#53d889}
#dmMessages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding:10px 10px;background:radial-gradient(ellipse at 50% -15%,#16243a,#0b1220 55%)}
#dmMessages .dm-bubble{display:flex;align-items:flex-end;gap:7px;align-self:flex-start;max-width:82%;padding:5px 9px;font-size:16px;line-height:1.2;border:1px solid #3b4b68;border-radius:12px 12px 12px 4px;background:linear-gradient(145deg,#263650,#1d2a41);box-shadow:0 3px 8px #0005,inset 0 1px #ffffff0a;overflow-wrap:anywhere;touch-action:pan-y}
#dmMessages .dm-bubble.mine{align-self:flex-end;border-color:#8867ed;border-radius:12px 12px 4px 12px;background:linear-gradient(145deg,#7953df,#5635ae)}.dm-text{min-width:0;white-space:pre-wrap}.dm-meta{flex:0 0 auto;display:block;text-align:right;font-size:10px;line-height:1;color:#ccd1df;margin:0 0 0 auto;white-space:nowrap;order:0}
#dmForm{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;background:#101827;border-top:1px solid #34435d;box-shadow:0 -8px 22px #0006}
#dmForm input{flex:1;min-width:0;margin:0;background:transparent!important;border:0;color:#fff!important;font-size:16px;height:44px}#dmForm button{width:46px;height:46px;margin:0;border-radius:50%;padding:0;background:linear-gradient(145deg,#8966f6,#603dd0)!important}#dmForm svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2}
#dmNotice,#dmEditBar{padding:7px 14px;font-size:13px;background:#202c43;color:#eef2ff}#dmEditBar button{width:auto;margin:0 0 0 8px;padding:3px 8px}
#dmActions{z-index:300;width:min(90vw,340px);border-radius:18px;background:var(--surface);color:var(--text);border:1px solid var(--border)}#dmActions::backdrop{background:#0008}#dmActions button{display:block;width:100%;margin:8px 0}
#dmActions.dm-confirm{padding:20px;background:rgba(42,56,70,.92);border:1px solid #ffffff30;border-radius:18px;box-shadow:0 18px 50px #0009;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f3f5ff;text-align:center}#dmActions.dm-confirm h3{margin:0 0 18px;font-size:17px}#dmActions.dm-confirm p{margin:0 0 18px;line-height:1.5}#dmActions.dm-confirm .dm-confirm-actions{display:flex;flex-direction:column;gap:10px}#dmActions.dm-confirm button{flex:1;margin:0;background:rgba(70,88,105,.58)!important;border:1px solid #ffffff40;color:#fff;border-radius:12px;padding:11px}#dmActions.dm-confirm button:last-child{background:#52677d!important}
.dm-row{display:flex;align-items:center;gap:10px;width:100%;padding:12px;text-align:left;background:var(--surface-2)!important;color:var(--text)!important;border:1px solid var(--border);border-radius:14px;box-shadow:inset 0 1px #ffffff18,0 4px 10px #0003}.dm-row .avatar,.dm-avatar{width:48px;height:48px;min-width:48px;border-radius:50%;margin:0;object-fit:cover}.dm-row-copy{min-width:0;flex:1}.dm-row-copy strong,.dm-row-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-row-copy small{margin-top:5px}.dm-row-meta{font-size:11px;text-align:right}.dm-unread{display:block;border-radius:15px;background:#52677d;color:#fff;padding:3px 7px;margin-top:5px}.dm-search-hit{cursor:pointer}.direct-result.dm-search-hit{background:linear-gradient(145deg,#334252,#273541)!important;border-color:#536579!important;color:#f1f5f8!important}.direct-result.dm-search-hit:hover{background:linear-gradient(145deg,#3a4b5d,#2d3d4a)!important}#dmListTools{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}#dmListTools button{width:100%;margin:0;padding:9px 4px;border:0;border-radius:10px;background:transparent!important;color:var(--muted)!important;font-size:12px}.nav-unread-badge{position:absolute;top:3px;right:18px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#e6506f;color:#fff;font-size:10px;line-height:18px;text-align:center;font-weight:700;pointer-events:none}
#userSearchForm{box-shadow:none!important;background:transparent!important;border:0!important;padding:0!important;margin:0 0 10px!important}
#userSearchForm .direct-search-field{height:38px;border:1px solid #333!important;border-radius:20px;background:#050505!important;box-shadow:none!important;padding:3px 12px!important}
#userSearchForm .direct-search-field input{height:30px;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;font-size:16px!important}
html,body{touch-action:manipulation}
body.keyboard-open nav#nav{display:flex!important;position:absolute!important;top:var(--keyboard-nav-top)!important;bottom:auto!important}
