/* SOEMIRU TALK beta v1.65.0 */
:root{--nx-talk-nav-height:76px}
.nx-memory-fullscreen.is-open{z-index:2147483647!important}
.nx-talk-hub,.nx-talk-shop{display:none;position:fixed;z-index:2147481500;top:0;bottom:0;left:50%;width:min(100%,760px);transform:translateX(-50%);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(circle at 85% -5%,rgba(255,96,190,.15),transparent 32%),radial-gradient(circle at 10% 12%,rgba(107,83,255,.16),transparent 32%),#060817;color:#fff;padding:0 0 calc(var(--nx-talk-nav-height) + var(--nexus-anchor-height,0px) + env(safe-area-inset-bottom));box-sizing:border-box;-webkit-overflow-scrolling:touch}
.nx-talk-hub.is-open,.nx-talk-shop.is-open{display:block;animation:nxTalkEnter .2s ease-out}
html.nx-talk-open,html.nx-talk-open body,html.nx-shop-open,html.nx-shop-open body{overflow:hidden!important}
@keyframes nxTalkEnter{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

.nx-talk-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:11px;min-height:76px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:linear-gradient(180deg,rgba(6,8,23,.98) 72%,rgba(6,8,23,.86));border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px);box-sizing:content-box}
.nx-talk-head>button{width:46px;height:46px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.055);color:#fff;font-size:32px;line-height:1;display:grid;place-items:center}
.nx-talk-head>button:active{transform:scale(.96)}
.nx-talk-head>div small{display:block;color:#858caf;font-size:8px;letter-spacing:.18em;font-weight:800}.nx-talk-head h2{margin:2px 0 0;font-size:25px;line-height:1.1}
.nx-talk-head .nx-talk-notice{font-size:20px}.nx-shop-beta{justify-self:end;padding:7px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#abaed0;font-size:8px;white-space:nowrap}

.nx-talk-intro{margin:15px 16px 12px;padding:15px 16px;border:1px solid rgba(143,116,255,.2);border-radius:20px;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(255,100,190,.06));box-shadow:0 16px 44px rgba(0,0,0,.16)}
.nx-talk-intro strong{display:block;font-size:14px}.nx-talk-intro span{display:block;margin-top:5px;color:#9299ba;font-size:10px;line-height:1.55}
.nx-talk-search{display:grid;grid-template-columns:28px 1fr;align-items:center;margin:0 16px 10px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#10142c;color:#777f9f}
.nx-talk-search span{font-size:25px;transform:rotate(-18deg)}.nx-talk-search input{width:100%;height:48px;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;font-size:14px;padding:0!important}.nx-talk-search input::placeholder{color:#666e8d}
.nx-talk-sort{display:flex;align-items:center;gap:6px;margin:0 16px 10px;overflow-x:auto;scrollbar-width:none}.nx-talk-sort::-webkit-scrollbar{display:none}.nx-talk-sort button{flex:0 0 auto;padding:7px 11px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);color:#8f96b3;font-size:9px;font-weight:800}.nx-talk-sort button.is-active{border-color:rgba(230,105,190,.38);background:linear-gradient(135deg,rgba(116,83,255,.18),rgba(233,92,184,.14));color:#f3d9ed}.nx-talk-sort small{flex:0 0 auto;margin-left:2px;color:#6f7593;font-size:8px}
.nx-talk-list{padding:2px 10px 12px}.nx-talk-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:#8d94b3;font-size:11px}.nx-talk-loading i{width:18px;height:18px;border:2px solid rgba(255,255,255,.12);border-top-color:#ff70c3;border-radius:50%;animation:nxTalkSpin .8s linear infinite}@keyframes nxTalkSpin{to{transform:rotate(360deg)}}
.nx-talk-empty{padding:55px 18px;text-align:center;color:#8b92b1}.nx-talk-empty strong{display:block;color:#fff;font-size:16px}.nx-talk-empty span{display:block;margin-top:7px;font-size:11px}
.nx-talk-row{position:relative;width:100%;display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:10px 9px;border:0;border-bottom:1px solid rgba(255,255,255,.055);border-radius:16px;background:transparent;color:#fff;text-align:left;touch-action:manipulation}
.nx-talk-row:active,.nx-talk-row:focus-visible{background:rgba(255,255,255,.055);outline:0}.nx-talk-avatar{position:relative;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#252b57,#11162f) center/cover no-repeat;display:grid;place-items:center;font-size:20px;font-weight:900;color:#fff;border:2px solid color-mix(in srgb,var(--nx-row-accent,#ff77c8) 62%,white 18%);box-shadow:0 0 0 3px color-mix(in srgb,var(--nx-row-accent,#ff77c8) 13%,transparent)}
.nx-talk-row.is-favorite{background:linear-gradient(90deg,rgba(255,190,84,.045),transparent 44%)}.nx-talk-favorite{display:grid;place-items:center;width:26px;height:26px;margin:-5px -2px -2px 0;border-radius:50%;color:#8c91a9;font-size:16px;line-height:1;touch-action:manipulation}.nx-talk-favorite[aria-pressed="true"]{color:#ffc85e;text-shadow:0 0 14px rgba(255,196,75,.35)}
.nx-talk-avatar i{position:absolute;right:0;bottom:2px;width:11px;height:11px;border:2px solid #060817;border-radius:50%;background:#49d9ae}.nx-talk-avatar.is-away i{background:#8790aa}.nx-talk-copy{min-width:0}.nx-talk-name-line{display:flex;align-items:center;gap:7px}.nx-talk-name-line strong{font-size:15px}.nx-talk-sample{padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.07);color:#8f96b7;font-size:7px;letter-spacing:.06em}.nx-talk-preview{display:flex;align-items:center;gap:5px;min-width:0;margin-top:5px;color:#9299b5;font-size:11px}.nx-talk-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-talk-preview b{flex:0 0 auto;color:#e5a5d1;font-size:9px}.nx-talk-presence{display:block;margin-top:4px;color:color-mix(in srgb,var(--nx-row-accent,#ff77c8) 76%,white 24%);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-talk-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;min-width:44px}.nx-talk-time{color:#737a98;font-size:9px}.nx-talk-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:linear-gradient(135deg,#845dff,#f05ab8);display:grid;place-items:center;color:#fff;font-size:9px;font-weight:900}.nx-talk-thumb{width:40px;height:34px;border-radius:9px;background:#171b39 center/cover no-repeat;border:1px solid rgba(255,255,255,.12)}
.nx-marriage-gauge{display:block;margin-top:6px;max-width:250px}.nx-marriage-gauge-label{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:4px}.nx-marriage-gauge-label b{overflow:hidden;color:#eaa6cf;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.nx-marriage-gauge-label em{flex:0 0 auto;color:#b7acc5;font-size:8px;font-style:normal;font-weight:800}.nx-marriage-gauge-track{display:block;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.nx-marriage-gauge-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#805dff,#f06dbb,#ffbc78);box-shadow:0 0 8px rgba(237,103,188,.3)}.nx-marriage-status{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900}.nx-marriage-status.is-spouse{border:1px solid rgba(255,204,105,.32);background:rgba(255,194,76,.08);color:#ffd783}.nx-marriage-status.is-advisor{background:rgba(255,255,255,.055);color:#969cb5}.nx-chat-marriage-gauge .nx-marriage-gauge{min-width:170px;margin-top:5px}
.nx-talk-beta-note{margin:8px 22px 20px;color:#676e8d;font-size:8px;line-height:1.65;text-align:center}

.nx-bottom-nav button[data-nx-open-talk]{position:relative}.nx-bottom-nav button[data-nx-open-talk]>span{width:46px;height:46px;margin-top:-17px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7656ff,var(--nx-character-accent,#ff77c8));color:#fff!important;box-shadow:0 9px 28px rgba(228,82,192,.32);font-size:19px}.nx-bottom-nav button[data-nx-open-talk]>b{position:absolute;top:3px;left:calc(50% + 12px);min-width:18px;height:18px;padding:0 5px;border:2px solid #080a1d;border-radius:999px;background:#ff427b;color:#fff;font-size:8px;line-height:14px;font-style:normal}.nx-bottom-nav button[data-nx-open-talk]>b[hidden]{display:none}.nx-bottom-nav button small{white-space:nowrap}

.nx-shop-hero{margin:18px 16px;padding:19px;border:1px solid rgba(255,119,200,.2);border-radius:24px;background:linear-gradient(135deg,rgba(118,82,255,.18),rgba(240,89,185,.11));display:flex;align-items:center;gap:14px}.nx-shop-hero>span{width:58px;height:58px;border-radius:19px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:27px}.nx-shop-hero strong{display:block;font-size:16px}.nx-shop-hero p{margin:5px 0 0;color:#9aa0be;font-size:10px;line-height:1.55}
.nx-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px}.nx-shop-grid article{min-width:0;padding:16px 13px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(160deg,#151936,#0c1028);box-shadow:0 16px 36px rgba(0,0,0,.18)}.nx-shop-grid article>span{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;background:rgba(255,255,255,.06);font-size:25px}.nx-shop-grid small{display:block;margin-top:13px;color:#898fb0;font-size:7px;letter-spacing:.16em}.nx-shop-grid strong{display:block;margin-top:3px;font-size:14px}.nx-shop-grid p{min-height:34px;margin:6px 0 12px;color:#8289a9;font-size:9px;line-height:1.55}.nx-shop-grid button{width:100%;min-height:39px;border:0;border-radius:13px;background:linear-gradient(135deg,#7252ef,#db57b9);color:#fff;font-size:10px;font-weight:900}.nx-shop-grid button:disabled{opacity:.55}.nx-shop-future{margin:16px;padding:16px;border:1px dashed rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.025)}.nx-shop-future strong{display:block;font-size:11px}.nx-shop-future span{display:block;margin-top:5px;color:#7f86a6;font-size:9px;line-height:1.6}

.nx-chat-photo-message.nx-fs-bubble{display:block;width:auto;max-width:min(72%,420px);margin:9px auto 10px 52px;padding:5px;border-radius:20px;background:#f7f6fc;color:#25283b;box-shadow:0 10px 28px rgba(0,0,0,.18)}.nx-chat-photo-message img{display:block;width:100%;max-height:44vh;object-fit:cover;border-radius:16px}.nx-chat-photo-message figcaption{padding:8px 8px 5px;color:#25283b;font-size:10px;line-height:1.45}.nx-fs-bubble[data-nx-talk-restored="1"]{animation:none!important}
.nx-chat-photo-tools{padding:2px 5px 5px}.nx-chat-photo-save{width:100%;min-height:36px;border:1px solid rgba(70,71,100,.13);border-radius:12px;background:#ececf5;color:#42455c;font-size:10px;font-weight:800;touch-action:manipulation}.nx-chat-photo-save:active{transform:scale(.985)}
.nx-talk-date-separator{align-self:center;margin:8px auto 3px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.07);color:#969db9;font-size:8px;line-height:1}.nx-talk-load-older{align-self:center;min-height:34px;margin:5px auto 9px;padding:0 14px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.055);color:#b4bad3;font-size:9px;font-weight:800;touch-action:manipulation}
.nx-chat-gift-reaction{display:flex!important;align-items:flex-start;gap:9px;border:1px solid color-mix(in srgb,var(--nx-character-accent,#ff77c8) 24%,transparent);background:linear-gradient(145deg,#fff,#f7effb)!important}.nx-chat-gift-reaction>b{flex:0 0 auto;display:grid;width:32px;height:32px;place-items:center;border-radius:11px;background:linear-gradient(145deg,rgba(121,81,255,.13),rgba(240,85,183,.14));font-size:18px}.nx-chat-gift-reaction>span{align-self:center;line-height:1.65}
.nx-life-chat-room.is-chat .nx-trainer-status{cursor:pointer;touch-action:manipulation;text-align:center}.nx-life-chat-room.is-chat .nx-trainer-status span,.nx-life-chat-room.is-chat .nx-trainer-status strong{display:none!important}.nx-life-chat-room.is-chat .nx-trainer-status:after{content:'壁紙を全画面で見る';display:block;margin:0;color:#9da4c3;font-size:8px;font-weight:800;line-height:1.25;white-space:nowrap}.nx-life-chat-room.is-chat .nx-trainer-status:focus-visible{outline:2px solid var(--nx-character-accent,#ff77c8);outline-offset:2px}.nx-life-chat-room.is-chat .nx-trainer-avatar{cursor:pointer}.nx-life-chat-room:not(.is-chat) .nx-trainer-bg{pointer-events:auto!important;touch-action:manipulation}.nx-life-chat-room:not(.is-chat) .nx-immersion-rail{z-index:7!important;pointer-events:auto!important;visibility:visible!important}.nx-life-chat-room:not(.is-chat) .nx-immersion-rail [data-nx-like]{position:relative;z-index:2;pointer-events:auto!important;touch-action:manipulation!important}
.nx-talk-toast{position:fixed;z-index:2147483647;left:50%;bottom:calc(98px + env(safe-area-inset-bottom));transform:translate(-50%,14px);max-width:min(88vw,420px);padding:11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(13,16,42,.95);box-shadow:0 16px 50px rgba(0,0,0,.38);color:#fff;font-size:11px;opacity:0;transition:.22s ease;pointer-events:none;text-align:center}.nx-talk-toast.is-show{opacity:1;transform:translate(-50%,0)}

.nx-memory-viewer-ui footer{gap:8px}.nx-memory-viewer-ui footer [data-nx-viewer-save]{background:linear-gradient(135deg,#704cff,#ed5bc2);border-color:transparent}

/* Conversation finish: time, delivery/read state and a quieter reply indicator. */
.nx-chat-message-copy{display:block;min-width:0;white-space:pre-wrap}.nx-chat-message-meta{display:block;margin-top:5px;color:#777d98;font-size:7px;font-weight:700;line-height:1;text-align:right;letter-spacing:.02em}.nx-fs-bubble-user .nx-chat-message-meta{color:rgba(255,255,255,.7)}.nx-chat-photo-message>.nx-chat-message-meta{padding:0 8px 7px;color:#7e8198}.nx-chat-gift-reaction{display:grid!important;grid-template-columns:32px minmax(0,1fr);column-gap:9px;align-items:start}.nx-chat-gift-reaction>b{grid-row:1/3}.nx-chat-gift-reaction>.nx-chat-message-meta{grid-column:2}.nx-fs-bubble-user.nx-chat-gift-reaction{border-color:rgba(255,255,255,.18);background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent,#ff77c8))!important;color:#fff}.nx-fs-typing{display:flex;align-items:center;gap:7px}.nx-fs-typing:after{content:'•••';display:inline-block;width:22px;overflow:hidden;color:var(--nx-character-accent,#ff77c8);letter-spacing:2px;animation:nxTalkTyping 1.15s steps(4,end) infinite}@keyframes nxTalkTyping{0%{width:0}100%{width:22px}}
@media(prefers-reduced-motion:reduce){.nx-fs-typing:after{animation:none}}

@media(max-width:560px){:root{--nx-talk-nav-height:70px}.nx-talk-head{grid-template-columns:44px minmax(0,1fr) 44px;padding-left:12px;padding-right:12px}.nx-talk-head>button{width:42px;height:42px}.nx-talk-intro{margin-left:12px;margin-right:12px}.nx-talk-search{margin-left:12px;margin-right:12px}.nx-talk-list{padding-left:5px;padding-right:5px}.nx-talk-row{grid-template-columns:56px minmax(0,1fr) auto;gap:10px;min-height:78px;padding:9px 8px}.nx-talk-avatar{width:54px;height:54px}.nx-shop-grid{grid-template-columns:1fr;padding:0 12px}.nx-shop-grid article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;column-gap:11px;align-items:center}.nx-shop-grid article>span{grid-row:1/5}.nx-shop-grid small,.nx-shop-grid strong,.nx-shop-grid p{grid-column:2}.nx-shop-grid small{margin-top:0}.nx-shop-grid p{min-height:0;margin:4px 0}.nx-shop-grid button{grid-column:3;grid-row:1/5;width:86px;padding:0 8px}.nx-chat-photo-message{margin-left:45px;max-width:76%}}
@media(max-width:370px){.nx-talk-intro{display:none}.nx-talk-row{grid-template-columns:50px minmax(0,1fr) auto}.nx-talk-avatar{width:48px;height:48px}.nx-talk-presence{max-width:190px}.nx-shop-grid article{grid-template-columns:48px minmax(0,1fr)}.nx-shop-grid button{grid-column:2;grid-row:auto;width:100%;margin-top:5px}}
/* v2.03.0 conversation fresh-start control */
.nx-conversation-reset{display:none;align-items:center;gap:4px;min-width:64px;height:34px;padding:0 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(15,13,30,.52);color:#efe9f6;font:700 10px/1 system-ui;cursor:pointer;backdrop-filter:blur(10px)}
.nx-conversation-reset span{font-size:16px;line-height:1}.nx-conversation-reset small{font-size:9px;font-weight:800}.nx-conversation-reset:active{transform:scale(.97)}
.nx-conversation-reset-modal{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;padding:20px}.nx-conversation-reset-backdrop{position:absolute;inset:0;background:rgba(2,3,12,.76);backdrop-filter:blur(6px)}
.nx-conversation-reset-card{position:relative;width:min(92vw,390px);box-sizing:border-box;padding:24px;border:1px solid rgba(211,181,255,.2);border-radius:24px;background:linear-gradient(155deg,#1c1830,#0d1020);box-shadow:0 28px 80px rgba(0,0,0,.42);color:#fff}
.nx-conversation-reset-card>small{display:block;color:#c6a2df;font-size:9px;letter-spacing:.16em;font-weight:800}.nx-conversation-reset-card h2{margin:8px 0 10px;font-size:19px}.nx-conversation-reset-card p{margin:0;color:#cfc8d8;font-size:13px;line-height:1.75}.nx-conversation-reset-card p strong{color:#fff}.nx-conversation-reset-card>div{display:grid;gap:8px;margin-top:18px}.nx-conversation-reset-card button{height:44px;border:0;border-radius:14px;font-weight:800;cursor:pointer}.nx-reset-confirm{background:linear-gradient(135deg,#a764d8,#e06aaf);color:#fff}.nx-reset-cancel{background:rgba(255,255,255,.07);color:#ddd4e4}
@media(max-width:520px){.nx-conversation-reset{min-width:38px;width:38px;padding:0;justify-content:center}.nx-conversation-reset small{display:none}.nx-life-chat-room.is-chat .nx-trainer-top{grid-template-columns:44px minmax(0,1fr) 38px auto!important;gap:7px!important}}

.nx-life-chat-room.is-chat .nx-conversation-reset{display:flex}
.nx-life-chat-room.is-chat .nx-trainer-top{grid-template-columns:48px minmax(0,1fr) auto auto!important}

/* v2.20.11: marriage progress is visible only for romance relationships. */
.nx-chat-marriage-gauge{display:block}.nx-marriage-gauge.is-compact{max-width:220px}.nx-chat-marriage-gauge .nx-marriage-gauge{margin-top:3px;max-width:190px}.nx-chat-marriage-gauge .nx-marriage-gauge-label b,.nx-chat-marriage-gauge .nx-marriage-gauge-label em{font-size:7px}.nx-chat-marriage-gauge .nx-marriage-gauge-track{height:3px}
@media(max-width:560px){.nx-marriage-gauge-label b,.nx-marriage-gauge-label em{font-size:7px}.nx-talk-sort{margin-left:12px;margin-right:12px}}
