[data-nexus-app]{--nx-character-accent:#ff77c8}
.nx-live-scene,.nx-room-photo{position:absolute;inset:0;background-repeat:no-repeat;background-color:#0b1028}
/* v1.90.0: fixed scene/rare-scene entry points are retired in favor of SNS photos. */
.nx-immersion-rail [data-nx-scene-open],.nx-world-next{display:none!important}
.nexus-scene-media .nx-live-scene{filter:saturate(1.03) contrast(1.01)}
.nexus-room-stage .nx-room-photo{z-index:0}
.nexus-room-stage .nexus-room-label{z-index:3;background:rgba(7,10,26,.52);backdrop-filter:blur(10px);padding:7px 10px;border-radius:999px}
.nexus-room-stage .nexus-room-glow{z-index:1;pointer-events:none}
.nexus-chat-avatar{background-color:#171b38;background-repeat:no-repeat;border:2px solid color-mix(in srgb,var(--nx-character-accent) 75%, white 25%);box-shadow:0 0 0 3px rgba(124,92,255,.18)}
[data-nexus-character] .nexus-choice-primary,[data-nexus-character] .nexus-submit,[data-nexus-character] .nexus-chat-input button{background:linear-gradient(135deg,var(--nx-purple),var(--nx-character-accent))}
@media(max-width:520px){.nexus-scene-media .nx-live-scene{background-position:center 24%!important}.nexus-room-stage .nx-room-photo{background-position:center 24%!important}}

/* v1.1.0 standalone [nexus_app] preview */
.nx-app-preview{--nx-bg:#080b1c;--nx-card:#12172e;--nx-purple:#7c5cff;--nx-pink:#ff5fa2;--nx-mint:#57e6b1;background:#060817;color:#f7f8ff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.5}
.nx-app-preview *{box-sizing:border-box}.nx-app-preview button{font:inherit}
.nx-app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;background:radial-gradient(circle at 78% 12%,rgba(255,95,162,.12),transparent 28%),radial-gradient(circle at 8% 28%,rgba(124,92,255,.14),transparent 25%),var(--nx-bg);position:relative;padding-bottom:84px;overflow:hidden}
.nx-app-topbar{height:78px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,7,20,.84);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.nx-app-brand{display:flex;align-items:center;gap:12px}.nx-brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--nx-purple),var(--nx-character-accent));box-shadow:0 10px 28px rgba(124,92,255,.28);font-size:22px}.nx-app-brand strong{display:block;font-size:20px;letter-spacing:.16em}.nx-app-brand small{display:block;color:#959bbd;font-size:9px;letter-spacing:.22em;margin-top:2px}.nx-icon-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#10152b;color:#fff;font-size:18px}
.nx-app-main{padding:16px}.nx-hero-card{min-height:570px;border-radius:30px;overflow:hidden;position:relative;border:1px solid rgba(137,107,255,.35);background:#11162e;box-shadow:0 28px 70px rgba(0,0,0,.35)}.nx-hero-image{position:absolute;inset:0;background-size:cover;background-position:center 24%;background-repeat:no-repeat}.nx-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,18,.08) 30%,rgba(4,6,18,.72) 78%,rgba(4,6,18,.96) 100%)}.nx-hero-meta{position:absolute;left:18px;right:18px;bottom:18px;z-index:3}.nx-scene-chip{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(8,11,28,.62);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.12em;color:#d8d9f2}.nx-instructor-line{display:flex;align-items:center;gap:10px;margin-top:12px}.nx-mini-avatar{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center 16%;border:2px solid var(--nx-character-accent);box-shadow:0 0 0 4px rgba(124,92,255,.16)}.nx-instructor-line small{display:block;color:#aaaec9;font-size:10px}.nx-instructor-line strong{font-size:22px}.nx-online{margin-left:auto;font-size:10px;color:var(--nx-mint);letter-spacing:.08em}.nx-scene-message{margin-top:12px;padding:14px 16px;background:rgba(11,15,39,.76);border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--nx-character-accent);border-radius:18px;backdrop-filter:blur(14px);font-size:15px;font-weight:600}
.nx-hud-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:-20px 12px 0;position:relative;z-index:5;border-radius:22px;overflow:hidden;background:rgba(18,23,46,.96);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.25)}.nx-hud-grid div{padding:15px 8px;text-align:center}.nx-hud-grid div+div{border-left:1px solid rgba(255,255,255,.08)}.nx-hud-grid span{display:block;color:#979dbd;font-size:10px}.nx-hud-grid strong{display:block;font-size:19px;margin-top:3px}.nx-hud-grid .is-mint{color:var(--nx-mint)}
.nx-quick-panel,.nx-chat-card{margin-top:18px;padding:18px;border:1px solid rgba(129,102,238,.28);border-radius:26px;background:linear-gradient(180deg,rgba(18,23,46,.96),rgba(10,14,35,.98));box-shadow:0 20px 50px rgba(0,0,0,.18)}.nx-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.nx-section-head small{color:#9798cc;letter-spacing:.15em;font-weight:700}.nx-section-head h2{font-size:22px;margin:2px 0 0}.nx-section-head>span{font-size:10px;color:#9096b6}.nx-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.nx-action-grid button{min-height:105px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#141a38;color:#fff;padding:12px 8px}.nx-action-grid button>span{display:block;font-size:24px}.nx-action-grid strong{display:block;margin-top:4px}.nx-action-grid small{display:block;color:#949ab9;font-size:10px;margin-top:4px}
.nexus-chat-header{display:flex;align-items:center;gap:10px}.nexus-chat-avatar{width:48px;height:48px;border-radius:50%;flex:0 0 48px}.nexus-chat-header small{display:block;color:#989ec1;font-size:10px;letter-spacing:.13em}.nexus-chat-header strong{font-size:18px}.nexus-chat-bubble{width:min(88%,560px);margin:14px 0 0 0;padding:14px 16px;border-radius:8px 20px 20px 20px;background:#f8f9ff;color:#161a2c;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.15)}.nx-chat-actions{display:flex;gap:8px;overflow:auto;margin-top:14px;padding-bottom:2px}.nx-chat-actions button{white-space:nowrap;border:1px solid rgba(155,129,255,.28);background:#0f1430;color:#daddff;padding:8px 12px;border-radius:999px;font-size:11px}.nx-chat-input{display:flex;align-items:center;gap:10px;margin-top:16px;padding:7px 7px 7px 14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#0d122d;color:#7f86aa}.nx-chat-input span{flex:1}.nx-chat-input button{border:0;width:42px;height:42px;border-radius:15px;color:#fff;font-size:17px}
.nx-bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);height:72px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(6,8,23,.92);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);z-index:30;padding-bottom:max(4px,env(safe-area-inset-bottom))}.nx-bottom-nav button{border:0;background:transparent;color:#777f9d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.nx-bottom-nav button span{font-size:20px}.nx-bottom-nav button small{font-size:8px;letter-spacing:.08em}.nx-bottom-nav button.is-active{color:#fff}.nx-bottom-nav button.is-active span{color:var(--nx-character-accent)}
@media(max-width:520px){.nx-app-main{padding:10px}.nx-app-topbar{height:70px;padding:12px 14px}.nx-app-brand strong{font-size:17px}.nx-app-brand small{font-size:8px}.nx-brand-mark{width:40px;height:40px;border-radius:12px}.nx-hero-card{min-height:560px;border-radius:24px}.nx-hero-image{background-position:center 22%}.nx-hud-grid{margin:-18px 8px 0}.nx-hud-grid strong{font-size:16px}.nx-quick-panel,.nx-chat-card{padding:14px;border-radius:22px}.nx-action-grid{gap:7px}.nx-action-grid button{min-height:94px;padding:10px 5px}.nx-action-grid strong{font-size:12px}.nx-section-head>span{display:none}.nx-scene-message{font-size:14px}.nx-bottom-nav{height:68px}.nexus-chat-bubble{width:92%}}


/* v1.2.0 immersive fullscreen trainer room */
.nx-trainer-fullscreen{position:fixed;inset:0;z-index:999999;width:100%;height:100dvh;background:#050714;color:#fff;display:none;overflow:hidden;overscroll-behavior:none;touch-action:pan-y}
.nx-trainer-fullscreen.is-open{display:block}
body.nx-trainer-open{overflow:hidden!important;overscroll-behavior:none}
.nx-trainer-bg{position:absolute;inset:0;background-size:cover;background-position:center 25%;background-repeat:no-repeat;transform:scale(1.01);filter:saturate(1.02)}
.nx-trainer-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,5,16,.58) 0%,rgba(3,5,16,.05) 22%,rgba(3,5,16,.02) 48%,rgba(3,5,16,.58) 74%,rgba(3,5,16,.96) 100%),linear-gradient(90deg,rgba(5,7,20,.16),transparent 22%,transparent 78%,rgba(5,7,20,.16));pointer-events:none}
.nx-trainer-top{position:absolute;z-index:3;top:0;left:0;right:0;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;background:linear-gradient(180deg,rgba(4,6,18,.78),rgba(4,6,18,.22),transparent);backdrop-filter:blur(1px)}
.nx-trainer-close{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(7,10,29,.52);color:#fff;font-size:38px;line-height:34px;display:grid;place-items:center;backdrop-filter:blur(12px)}
.nx-trainer-profile{display:flex;align-items:center;gap:10px;min-width:0}.nx-trainer-avatar{width:44px;height:44px;border-radius:50%;flex:0 0 44px;background-size:cover;background-position:center 18%;border:2px solid var(--nx-character-accent);box-shadow:0 0 0 3px rgba(124,92,255,.18)}
.nx-trainer-profile strong{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-trainer-profile small{display:block;color:#b8bed6;font-size:10px;margin-top:2px}.nx-trainer-status{padding:7px 10px;border-radius:15px;background:rgba(8,11,28,.58);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px);text-align:right}.nx-trainer-status span{display:block;color:#adb3cd;font-size:8px}.nx-trainer-status strong{display:block;color:var(--nx-mint);font-size:13px}
.nx-trainer-dialogue{position:absolute;z-index:3;left:0;right:0;bottom:calc(142px + env(safe-area-inset-bottom));max-height:42dvh;padding:16px 16px 6px;overflow:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 100%)}.nx-trainer-dialogue::-webkit-scrollbar{display:none}
.nx-fs-bubble{max-width:min(82%,560px);padding:12px 15px;border-radius:20px;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 12px 32px rgba(0,0,0,.18);backdrop-filter:blur(12px)}.nx-fs-bubble-instructor{align-self:flex-start;background:rgba(250,250,255,.90);color:#171b2b;border-bottom-left-radius:6px}.nx-fs-bubble-user{align-self:flex-end;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent));color:#fff;border-bottom-right-radius:6px}.nx-fs-typing{align-self:flex-start;background:rgba(250,250,255,.88);color:#444b65;padding:9px 13px;border-radius:18px;font-size:13px}
.nx-trainer-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(4,6,18,.72) 18%,rgba(4,6,18,.96) 44%,rgba(4,6,18,.99));}
.nx-trainer-choices{display:flex;gap:7px;overflow-x:auto;padding:4px 0 9px;scrollbar-width:none}.nx-trainer-choices::-webkit-scrollbar{display:none}.nx-trainer-choices button{flex:0 0 auto;border:1px solid rgba(255,255,255,.24);background:rgba(9,13,34,.58);color:#fff;padding:9px 12px;border-radius:999px;font-size:11px;font-weight:700;backdrop-filter:blur(10px)}
.nx-trainer-compose{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:9px;align-items:center}.nx-trainer-compose input,.nx-trainer-compose textarea{width:100%;height:50px;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;background:rgba(8,12,31,.78)!important;color:#fff!important;padding:13px 15px!important;font:inherit;font-size:16px!important;line-height:1.4!important;outline:none;box-shadow:none!important;-webkit-appearance:none}.nx-trainer-compose textarea{resize:none;overflow-y:auto}.nx-trainer-compose input::placeholder,.nx-trainer-compose textarea::placeholder{color:#959bb7}.nx-trainer-compose input:focus,.nx-trainer-compose textarea:focus{border-color:var(--nx-character-accent)!important;box-shadow:0 0 0 3px rgba(124,92,255,.18)!important}.nx-trainer-compose button{width:50px;height:50px;border:0;border-radius:18px;color:#fff;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent));font-size:18px;box-shadow:0 10px 28px rgba(124,92,255,.28)}
.nx-trainer-hint{text-align:center;color:#7f86a4;font-size:8px;margin-top:5px;letter-spacing:.06em}
@media(max-width:520px){.nx-trainer-bg{background-position:center 22%}.nx-trainer-top{grid-template-columns:44px minmax(0,1fr) auto;padding-left:10px;padding-right:10px}.nx-trainer-status{padding:6px 8px}.nx-trainer-status span{display:none}.nx-trainer-status strong{font-size:11px}.nx-trainer-dialogue{bottom:calc(136px + env(safe-area-inset-bottom));padding-left:12px;padding-right:12px;max-height:38dvh}.nx-fs-bubble{max-width:88%;font-size:13px}.nx-trainer-controls{padding-left:10px;padding-right:10px}.nx-trainer-compose{grid-template-columns:minmax(0,1fr) 52px}.nx-trainer-compose input,.nx-trainer-compose textarea{min-width:0}.nx-trainer-compose button{width:52px}}
@media(min-width:900px){.nx-trainer-fullscreen{left:50%;right:auto;transform:translateX(-50%);max-width:760px;box-shadow:0 0 0 100vmax rgba(2,3,10,.86);clip-path:inset(0 -100vmax)}}

/* v1.2.1 viewport hardening */
html.nx-trainer-open,
body.nx-trainer-open{overflow:hidden!important;height:100%!important}
body.nx-trainer-open .nx-trainer-fullscreen{display:block!important}
.nx-trainer-fullscreen{
  position:fixed!important;
  inset:0!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  z-index:2147483000!important;
  overflow:hidden!important;
  background:#050714!important;
}
.nx-trainer-fullscreen.is-open{display:block!important}
@supports (-webkit-touch-callout:none){
  .nx-trainer-fullscreen{height:var(--nexus-pwa-height,100dvh)!important;min-height:0!important;bottom:auto!important}
}
@media(min-width:900px){
  .nx-trainer-fullscreen{left:0!important;right:0!important;transform:none!important;max-width:none!important;box-shadow:none!important;clip-path:none!important}
}

/* v1.2.2 global overlay must always be viewport-level */
#nexus-global-trainer-room{display:none!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;margin:0!important;z-index:2147483646!important;transform:none!important;contain:none!important;isolation:isolate!important}
#nexus-global-trainer-room.is-open{display:block!important}
body.nx-trainer-open #nexus-global-trainer-room{display:block!important}


/* v1.2.3 shortcode page edge-to-edge hardening */
body.nexus-shortcode-page{
  margin:0!important;
  padding:0!important;
  background:#060817!important;
  overflow-x:hidden!important;
}
/* NEXUS Base 通常固定ページの白カード/余白を自動解除 */
body.nexus-shortcode-page .nx-site-header,
body.nexus-shortcode-page .nx-site-footer{display:none!important}
body.nexus-shortcode-page .nx-main{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#060817!important;
}
body.nexus-shortcode-page .nx-main>.nx-shell{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.nexus-shortcode-page .nx-main>.nx-shell>.nx-article{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
body.nexus-shortcode-page .nx-main>.nx-shell>.nx-article>h1{display:none!important}
body.nexus-shortcode-page .nx-main>.nx-shell>.nx-article>.nx-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
/* 他テーマ/ブロックテーマのコンテナに入っても、アプリ自身が必ずviewport幅まで抜ける */
body.nexus-shortcode-page .nx-app-preview{
  position:relative!important;
  left:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  overflow-x:clip!important;
}

/* v1.28.0 legal links inside the immersive/PWA layout. */
.nx-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 10px;padding:18px 18px calc(94px + env(safe-area-inset-bottom));background:#070819;color:#777a96;font-size:10px;line-height:1.5;text-align:center}
.nx-legal-footer a{color:#9b9db5;text-decoration:none}.nx-legal-footer a:focus-visible,.nx-legal-footer a:hover{color:#fff;text-decoration:underline}.nx-legal-footer span{opacity:.45}
body.nexus-shortcode-page .nx-app-shell{
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
}
@media(max-width:760px){
  body.nexus-shortcode-page .nx-app-shell{max-width:none!important}
}

/* v1.3.0 immersive daily record */
html.nx-record-open,body.nx-record-open{overflow:hidden!important;height:100%!important}
.nx-record-fullscreen{display:none;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483645!important;color:#f7f8ff;background:#07091b;overflow:hidden}
.nx-record-fullscreen.is-open{display:block!important}
.nx-record-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(124,92,255,.22),transparent 42%),linear-gradient(180deg,#0b0e27,#060817)}
.nx-record-sheet{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(16px + env(safe-area-inset-top)) 14px calc(30px + env(safe-area-inset-bottom));scrollbar-width:none}.nx-record-sheet::-webkit-scrollbar{display:none}
.nx-record-header{display:flex;align-items:center;justify-content:space-between;max-width:720px;margin:0 auto 14px;padding:8px 2px}.nx-record-header small{display:block;color:#989fc0;font-size:9px;letter-spacing:.18em}.nx-record-header h2{margin:4px 0 0;font-size:25px;color:#fff}.nx-record-header button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(16,20,48,.8);color:#fff;font-size:30px;line-height:1}
.nx-record-tabs{max-width:720px;margin:0 auto 14px;padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:rgba(9,12,34,.88);border:1px solid rgba(255,255,255,.08);border-radius:20px;position:sticky;top:0;z-index:3;backdrop-filter:blur(18px)}.nx-record-tabs button{height:48px;border:0;border-radius:16px;background:transparent;color:#959cbb;font-weight:800;font-size:14px}.nx-record-tabs button.is-active{color:#fff;background:linear-gradient(135deg,#6d52ee,var(--nx-character-accent,#ff77c8));box-shadow:0 8px 24px rgba(124,92,255,.25)}
.nx-record-panel{display:none;max-width:720px;margin:0 auto}.nx-record-panel.is-active{display:block}
.nx-record-summary{display:flex;align-items:end;justify-content:space-between;padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(27,33,70,.92),rgba(17,21,49,.92));border:1px solid rgba(255,255,255,.1);margin-bottom:12px}.nx-record-summary span{font-weight:800}.nx-record-summary strong{font-size:23px;color:#57e6b1}
.nx-record-history{margin-bottom:16px}.nx-record-history>p{margin:0;padding:14px 16px;border:1px dashed rgba(255,255,255,.16);border-radius:18px;color:#858da9;text-align:center;font-size:12px}.nx-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;gap:8px;align-items:center;padding:11px 12px;background:rgba(18,23,54,.86);border:1px solid rgba(255,255,255,.08);border-radius:15px;margin:7px 0}.nx-history-row span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-history-row b{font-size:11px;color:#cbd0e2}.nx-history-row button{width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:#9ba3be}
.nx-category-row{display:flex;gap:7px;overflow-x:auto;padding:3px 0 11px;scrollbar-width:none}.nx-category-row::-webkit-scrollbar{display:none}.nx-category-row button{flex:0 0 auto;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#11162f;color:#c5c9da;font-size:11px;font-weight:800}.nx-category-row button.is-active{border-color:transparent;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent,#ff77c8));color:#fff}
.nx-chain-picker{display:grid;gap:6px;margin:1px 0 10px}.nx-chain-picker span{color:#aeb5d1;font-size:11px;font-weight:800;padding-left:4px}.nx-chain-picker select{width:100%;height:50px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:17px!important;background:#111731!important;color:#fff!important;padding:0 42px 0 15px!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important;color-scheme:dark}
.nx-search-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin-bottom:12px}.nx-search-row input{height:50px;border:1px solid rgba(255,255,255,.13)!important;border-radius:17px!important;background:#0d122b!important;color:#fff!important;padding:0 15px!important;font-size:16px!important;box-shadow:none!important}.nx-search-row input::placeholder{color:#777f9e}.nx-search-row button{border:1px solid rgba(255,255,255,.14);border-radius:17px;background:#171d3d;color:#fff;font-weight:800}
.nx-food-list,.nx-exercise-list{display:grid;gap:10px;padding-bottom:20px}.nx-food-card,.nx-exercise-card{padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(145deg,rgba(24,30,66,.94),rgba(14,18,43,.94));box-shadow:0 14px 34px rgba(0,0,0,.12)}.nx-food-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.nx-food-card strong,.nx-exercise-name strong{color:#fff;font-size:14px}.nx-food-card small,.nx-exercise-name small{color:#929ab6;font-size:10px}.nx-portion-row,.nx-duration-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.nx-portion-row button,.nx-duration-row button{height:40px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#101530;color:#c7cbdb;font-size:11px;font-weight:800}.nx-portion-row button.is-primary,.nx-duration-row button.is-primary{color:#57e6b1;background:rgba(87,230,177,.08);border-color:rgba(87,230,177,.18)}
.nx-exercise-name{display:flex;align-items:center;gap:12px;margin-bottom:12px}.nx-exercise-name>span{font-size:25px}.nx-exercise-name div{display:flex;flex-direction:column;gap:3px}.nx-panel-copy{color:#9aa2bd;font-size:12px;line-height:1.7;margin:5px 4px 14px}
.nx-weight-card{margin-top:18px;padding:26px 20px;border-radius:26px;background:linear-gradient(145deg,rgba(27,33,70,.96),rgba(13,17,42,.96));border:1px solid rgba(255,255,255,.1);text-align:center}.nx-weight-card>span{font-size:12px;color:#a6adc6}.nx-weight-input{display:flex;justify-content:center;align-items:end;gap:8px;margin:18px 0}.nx-weight-input input{width:180px!important;max-width:65vw!important;height:70px!important;background:#090d25!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:20px!important;color:#fff!important;text-align:center;font-size:32px!important;font-weight:900!important;box-shadow:none!important}.nx-weight-input b{font-size:18px;padding-bottom:13px}.nx-weight-card>button{width:100%;height:52px;border:0;border-radius:17px;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent,#ff77c8));color:#fff;font-weight:900}.nx-weight-card>small{display:block;margin-top:14px;color:#8f97b1}.nx-empty-search{text-align:center;color:#8d94ae;padding:30px}
.nx-empty-search-character{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:22px 14px}.nx-empty-search-character>div{display:grid;gap:7px;flex:1}.nx-empty-search-character small{font-size:10px;letter-spacing:.12em;color:var(--nx-character-accent,#ff77c8)}.nx-empty-search-character strong{font-size:13px;line-height:1.65;color:#d9dbea;font-weight:650}.nx-empty-search-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.25)}.nx-empty-search-character button{justify-self:start;min-height:38px;padding:8px 14px;border:0;border-radius:12px;color:#fff;font-weight:800;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent,#ff77c8))}
@media(min-width:760px){.nx-record-sheet{padding-left:24px;padding-right:24px}.nx-food-list,.nx-exercise-list{grid-template-columns:repeat(2,1fr)}}


/* ===== v1.4.0 Immersion / Relationship / Memory ===== */
.nx-immersion-rail{position:absolute;z-index:8;right:max(14px,env(safe-area-inset-right));top:28%;display:flex;flex-direction:column;gap:12px}.nx-immersion-rail button{width:54px;min-height:54px;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:rgba(8,10,31,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.2);display:grid;place-items:center;padding:7px}.nx-immersion-rail button span{font-size:28px;line-height:1}.nx-immersion-rail button small{font-size:9px;max-width:48px;overflow:hidden;text-overflow:ellipsis}.nx-relationship-chip{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(7,9,29,.42);backdrop-filter:blur(16px);color:#fff;min-width:124px}.nx-relationship-chip>span{color:#ff79c9;font-size:18px}.nx-relationship-chip div{display:grid;gap:1px;min-width:84px}.nx-relationship-chip small{font-size:9px;color:rgba(255,255,255,.68)}.nx-relationship-chip strong{font-size:12px}.nx-relationship-chip i{display:block;height:3px;background:rgba(255,255,255,.13);border-radius:10px;overflow:hidden}.nx-relationship-chip em{display:block;height:100%;width:0;background:linear-gradient(90deg,#a36cff,#ff68bf);border-radius:inherit;transition:width .45s ease}.nx-heart-burst{position:fixed;z-index:2147483647;right:42px;top:34%;font-size:62px;color:#ff77c8;text-shadow:0 8px 28px rgba(255,91,187,.55);pointer-events:none;animation:nxHeart 1s ease-out forwards}@keyframes nxHeart{0%{opacity:0;transform:scale(.6) translateY(20px)}25%{opacity:1;transform:scale(1.15) translateY(0)}100%{opacity:0;transform:scale(1.4) translateY(-90px)}}.nx-immersion-toast{position:fixed;z-index:2147483647;left:50%;bottom:calc(122px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;background:rgba(8,10,31,.9);color:#fff;border:1px solid rgba(255,255,255,.16);padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:0 14px 40px rgba(0,0,0,.35);transition:.25s;white-space:nowrap}.nx-immersion-toast.show{opacity:1;transform:translate(-50%,0)}
.nx-memory-fullscreen{display:none;position:fixed;inset:0;z-index:2147483646;background:#090b23;color:#fff;overflow:auto;overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.nx-memory-fullscreen.is-open{display:block}.nx-memory-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 80% 10%,rgba(255,91,190,.18),transparent 35%),radial-gradient(circle at 10% 35%,rgba(118,90,255,.22),transparent 38%),linear-gradient(180deg,#111333,#08091d)}.nx-memory-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:13px;padding:calc(12px + env(safe-area-inset-top)) 18px 13px;background:linear-gradient(180deg,rgba(8,9,29,.96),rgba(8,9,29,.72));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nx-memory-head>button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:36px;line-height:1}.nx-memory-head small{font-size:10px;letter-spacing:.2em;color:#b8b5d8}.nx-memory-head h2{font-size:20px;margin:2px 0 0}.nx-memory-level{margin-left:auto;text-align:right}.nx-memory-level strong{display:block;color:#ff87cf}.nx-memory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px}.nx-memory-summary>div{min-width:0;padding:13px 10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.05);text-align:center}.nx-memory-summary span{display:block;font-size:10px;color:#aaa8c9}.nx-memory-summary strong{display:block;margin-top:4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-memory-tabs{display:flex;gap:8px;padding:0 16px 14px;overflow:auto}.nx-memory-tabs button{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);color:#c7c4e3;padding:9px 15px;white-space:nowrap}.nx-memory-tabs button.is-active{background:linear-gradient(135deg,#754cff,#ed5bc2);color:#fff}.nx-memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 16px}.nx-memory-card{min-height:165px;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.055);box-shadow:0 14px 45px rgba(0,0,0,.18)}.nx-memory-card.has-image{grid-column:span 2;display:grid;grid-template-columns:44% 56%;min-height:210px}.nx-memory-image{min-height:210px;background-size:cover;background-position:center}.nx-memory-symbol{height:80px;display:grid;place-items:center;font-size:34px;background:linear-gradient(135deg,rgba(123,83,255,.35),rgba(255,92,190,.22))}.nx-memory-copy{padding:12px}.nx-memory-copy small{color:#9290b3;font-size:9px}.nx-memory-copy strong{display:block;margin:5px 0 6px;font-size:14px}.nx-memory-copy p{margin:0;color:#c7c5db;font-size:11px;line-height:1.55}.nx-memory-empty{grid-column:1/-1;text-align:center;padding:80px 20px;color:#aaa8c9}.nx-memory-empty span{display:block;font-size:48px}.nx-memory-empty strong{display:block;color:#fff;font-size:18px;margin:8px}.nx-memory-empty p{font-size:12px}.nx-memory-open,.nx-memory-open body{overflow:hidden!important}
@media(max-width:460px){.nx-trainer-top{padding-right:10px}.nx-relationship-chip{position:absolute;right:14px;top:78px;min-width:116px}.nx-immersion-rail{top:32%}.nx-immersion-rail button{width:48px;min-height:48px;border-radius:16px}.nx-memory-grid{grid-template-columns:1fr 1fr}.nx-memory-summary{gap:6px;padding-left:12px;padding-right:12px}.nx-memory-summary>div{padding:11px 5px}}

/* v1.5.0 memory expansion */
.nx-memory-next{margin:0 16px 14px;padding:14px 15px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(135deg,rgba(111,76,255,.15),rgba(255,91,194,.1));position:relative;overflow:hidden}.nx-memory-next>div{padding-right:48px}.nx-memory-next small{display:block;font-size:9px;letter-spacing:.18em;color:#a9a5d5}.nx-memory-next strong{display:block;margin:4px 0 3px;font-size:14px}.nx-memory-next span{display:block;color:#bdb9d9;font-size:10px}.nx-memory-next>b{position:absolute;right:14px;top:16px;color:#ff82cd;font-size:13px}.nx-memory-next>i{display:block;height:5px;margin-top:11px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.nx-memory-next>i>em{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7652ff,#ff67c3);transition:width .4s ease}.nx-memory-locked{opacity:.68;border-style:dashed}.nx-memory-locked .nx-memory-symbol{filter:grayscale(1);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.nx-memory-locked .nx-memory-copy strong{color:#d4d1e7}.nx-memory-card{transition:transform .18s ease,border-color .18s ease}.nx-memory-card:active{transform:scale(.985)}
@media(max-width:460px){.nx-memory-next{margin-left:12px;margin-right:12px}.nx-memory-tabs{padding-left:12px;padding-right:12px}.nx-memory-tabs button{padding:9px 14px}.nx-memory-copy strong{font-size:13px}}


/* v1.9.0 profile / name personalization */
.nx-profile-modal{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:20px;font-family:inherit}.nx-profile-modal.is-open{display:flex}.nx-profile-backdrop{position:absolute;inset:0;background:rgba(3,5,18,.72);backdrop-filter:blur(12px)}.nx-profile-card{position:relative;width:min(92vw,430px);border:1px solid rgba(255,255,255,.15);border-radius:28px;padding:30px 24px 22px;background:linear-gradient(160deg,rgba(25,21,61,.98),rgba(8,11,34,.98));box-shadow:0 30px 90px rgba(0,0,0,.55);color:#fff}.nx-profile-card>small{letter-spacing:.22em;color:#bdabff}.nx-profile-card h2{margin:8px 0 10px;font-size:28px}.nx-profile-card p{margin:0 0 22px;color:#c7c4d8;line-height:1.7}.nx-profile-card label{display:block;color:#aaa5c6;font-size:13px}.nx-profile-card input{box-sizing:border-box;width:100%;margin-top:8px;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px 17px;background:#0a0f2a!important;color:#fff!important;font-size:17px;outline:none}.nx-profile-card input:focus{border-color:#d65cff;box-shadow:0 0 0 3px rgba(214,92,255,.13)}.nx-profile-preview{margin:15px 0 18px;border-radius:18px;padding:15px 16px;background:rgba(255,255,255,.07);color:#f1eff9;line-height:1.6}.nx-profile-save{width:100%;border:0;border-radius:18px;padding:16px;background:linear-gradient(135deg,#8254ff,#f05bc9);color:white;font-weight:800;font-size:15px}.nx-profile-later{display:block;margin:13px auto 0;border:0;background:transparent;color:#9691ad}.nx-profile-x{position:absolute;right:16px;top:13px;width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:25px}.nx-profile-toast{position:fixed;z-index:2147483647;left:50%;bottom:110px;transform:translate(-50%,15px);opacity:0;padding:12px 18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(11,12,35,.94);color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.35);transition:.22s ease;white-space:nowrap}.nx-profile-toast.is-show{opacity:1;transform:translate(-50%,0)}


/* ===== v1.11.0 SCENE COLLECTION ===== */
html.nx-scene-open,body.nx-scene-open{overflow:hidden!important;height:100%!important}.nx-scene-fullscreen{display:none;position:fixed;inset:0;width:100vw;height:100dvh;z-index:2147483646;background:radial-gradient(circle at 50% 0,rgba(124,92,255,.25),transparent 38%),#07091b;color:#fff;overflow-y:auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(30px + env(safe-area-inset-bottom));box-sizing:border-box}.nx-scene-fullscreen.is-open{display:block}.nx-scene-head{max-width:720px;margin:auto;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:6px 0 14px}.nx-scene-head>button{width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#11152f;color:#fff;font-size:28px}.nx-scene-head small{font-size:9px;letter-spacing:.16em;color:#a9a4cf}.nx-scene-head h2{margin:3px 0 0;font-size:21px}.nx-scene-head>b{font-size:12px;color:#ff7bc9}.nx-scene-intro{max-width:720px;margin:0 auto 12px;padding:15px 16px;border:1px solid rgba(255,255,255,.1);border-radius:19px;background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(255,95,162,.08))}.nx-scene-intro strong{display:block;font-size:14px}.nx-scene-intro span{display:block;margin-top:4px;color:#aaaeca;font-size:11px}.nx-scene-tabs{max-width:720px;margin:0 auto 13px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border-radius:18px;background:#0c1029;position:sticky;top:0;z-index:3}.nx-scene-tabs button{height:42px;border:0;border-radius:14px;background:transparent;color:#9299b8;font-size:11px;font-weight:900}.nx-scene-tabs button.is-active{background:linear-gradient(135deg,#7555ef,var(--nx-character-accent,#ff77c8));color:#fff}.nx-scene-grid{max-width:720px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-scene-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(145deg,#151a3a,#0c1028)}.nx-scene-card.is-locked{opacity:.76;border-style:dashed}.nx-scene-image,.nx-scene-placeholder{height:150px;background-size:cover;background-position:center 24%}.nx-scene-placeholder{display:grid;place-items:center;font-size:35px;background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(255,95,162,.08))}.nx-scene-card>div:last-child{padding:12px}.nx-scene-card small{font-size:8px;letter-spacing:.13em;color:#9e9abc}.nx-scene-card strong{display:block;margin:4px 0 5px;font-size:14px}.nx-scene-card p{min-height:32px;margin:0 0 8px;color:#b8bad0;font-size:10px;line-height:1.5}.nx-scene-card em{font-style:normal;color:#57e6b1;font-size:9px;font-weight:900}.nx-scene-card i{display:block;height:4px;border-radius:9px;background:rgba(255,255,255,.09);overflow:hidden}.nx-scene-card i u{display:block;height:100%;background:linear-gradient(90deg,#7652ff,#ff67c3);text-decoration:none}.nx-scene-card span{display:block;margin-top:4px;text-align:right;color:#aaa7c7;font-size:9px}.nx-scene-empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:#aaa8c9}@media(max-width:420px){.nx-scene-grid{grid-template-columns:1fr 1fr}.nx-scene-image,.nx-scene-placeholder{height:128px}.nx-scene-card p{min-height:45px}}

/* ===== v1.12.0 manual rare reveal / special dialogue ===== */
.nx-scene-view{width:100%;margin-top:10px;border:0;border-radius:14px;padding:12px 10px;background:linear-gradient(135deg,#7652ff,var(--nx-character-accent,#ff77c8));color:#fff;font-weight:900;font-size:11px;box-shadow:0 10px 28px rgba(118,82,255,.25)}
.nx-scene-save-state{margin-top:7px!important;text-align:left!important;color:#9695b6!important;font-size:8px!important}.nx-scene-image{position:relative}.nx-scene-new{position:absolute;right:9px;top:9px;border-radius:999px;padding:5px 9px;background:linear-gradient(135deg,#ff69c6,#8a59ff);color:#fff;font-size:9px;letter-spacing:.12em;box-shadow:0 8px 25px rgba(255,85,190,.35)}
html.nx-special-open,body.nx-special-open{overflow:hidden!important;height:100%!important}.nx-special-scene{display:none;position:fixed;inset:0;z-index:2147483647;width:100vw;height:100dvh;background:#07091b;color:#fff;overflow:hidden;font-family:inherit}.nx-special-scene.is-open{display:block}.nx-special-bg{position:absolute;inset:0;background-size:cover;background-position:center 28%;transform:scale(1.01);animation:nxSpecialEnter .8s ease both}.nx-special-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,19,.18) 0%,rgba(5,7,19,.06) 38%,rgba(5,7,19,.46) 67%,rgba(5,7,19,.9) 100%),radial-gradient(circle at 50% 15%,transparent 0,rgba(5,7,19,.14) 55%,rgba(5,7,19,.54) 100%)}
.nx-special-head{position:absolute;left:0;right:0;top:0;z-index:4;display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 15px 12px;background:linear-gradient(180deg,rgba(5,7,19,.72),transparent)}.nx-special-head>button{width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(9,12,35,.52);backdrop-filter:blur(12px);color:#fff;font-size:31px;line-height:1}.nx-special-head small{font-size:8px;letter-spacing:.18em;color:#ffc0e7}.nx-special-head h2{margin:3px 0 0;font-size:19px;text-shadow:0 2px 16px rgba(0,0,0,.55)}.nx-special-head>span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;background:rgba(8,10,31,.55);font-size:8px;color:#fff;white-space:nowrap}
.nx-special-dialogue{position:absolute;z-index:4;left:14px;right:14px;bottom:calc(196px + env(safe-area-inset-bottom));max-height:32vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;scrollbar-width:none}.nx-special-dialogue::-webkit-scrollbar{display:none}.nx-special-bubble{max-width:min(84%,520px);padding:12px 14px;border-radius:18px;font-size:13px;line-height:1.65;box-shadow:0 12px 35px rgba(0,0,0,.25);backdrop-filter:blur(14px)}.nx-special-bubble.is-trainer{align-self:flex-start;border:1px solid rgba(255,255,255,.16);border-bottom-left-radius:6px;background:rgba(15,16,44,.76)}.nx-special-bubble.is-user{align-self:flex-end;border-bottom-right-radius:6px;background:linear-gradient(135deg,rgba(115,80,255,.9),rgba(237,91,194,.9))}
.nx-special-controls{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:10px 12px calc(11px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(6,8,25,.78) 15%,rgba(6,8,25,.96) 45%)}.nx-special-choices{display:flex;gap:7px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.nx-special-choices::-webkit-scrollbar{display:none}.nx-special-choices button{flex:0 0 auto;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 12px;background:rgba(16,20,51,.84);color:#fff;font-size:10px}.nx-special-controls form{display:grid;grid-template-columns:1fr 46px;gap:8px}.nx-special-controls input{min-width:0;border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;padding:13px 15px!important;background:rgba(10,13,38,.92)!important;color:#fff!important;outline:0}.nx-special-controls form button{border:0;border-radius:16px;background:linear-gradient(135deg,#7652ff,var(--nx-character-accent,#ff77c8));color:#fff;font-size:18px}.nx-special-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.nx-special-actions button{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px;background:rgba(255,255,255,.06);color:#fff;font-size:9px;font-weight:800}.nx-special-actions button:first-child{background:rgba(255,255,255,.09)}
@keyframes nxSpecialEnter{from{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1.01)}}
@media(max-width:420px){.nx-special-dialogue{bottom:calc(205px + env(safe-area-inset-bottom));max-height:30vh}.nx-special-head h2{font-size:17px}.nx-special-head>span{font-size:7px;padding:6px 8px}.nx-special-bubble{font-size:12px}.nx-special-actions button{font-size:8px}}

/* ===== v1.13.0 World UI finishing pass ===== */
.nx-app-preview{background:radial-gradient(circle at 50% -10%,rgba(124,92,255,.22),transparent 34%),#050716}
.nx-app-shell{background:linear-gradient(180deg,#080a20 0,#060817 38%,#050716 100%)}
.nx-app-topbar{background:linear-gradient(180deg,rgba(5,7,20,.96),rgba(7,9,26,.82));box-shadow:0 12px 38px rgba(0,0,0,.2)}
.nx-hero-card{border-color:rgba(255,119,200,.28);box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 60px rgba(124,92,255,.09)}
.nx-hero-shade{background:linear-gradient(180deg,rgba(4,6,18,.03) 20%,rgba(4,6,18,.20) 53%,rgba(4,6,18,.84) 86%,rgba(4,6,18,.98) 100%)}
.nx-scene-chip{background:rgba(7,9,27,.52);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.nx-scene-message{background:linear-gradient(135deg,rgba(9,12,35,.78),rgba(18,13,42,.76));box-shadow:0 14px 35px rgba(0,0,0,.22)}
.nx-hud-grid{border-color:rgba(153,127,255,.16);background:linear-gradient(180deg,rgba(20,25,54,.98),rgba(12,16,39,.98))}
.nx-quick-panel,.nx-chat-card{border-color:rgba(142,112,255,.25);background:linear-gradient(155deg,rgba(19,24,52,.97),rgba(8,11,30,.99))}
.nx-action-grid button{position:relative;overflow:hidden;background:linear-gradient(145deg,#171d40,#101530);transition:transform .16s ease,border-color .16s ease}.nx-action-grid button:active{transform:scale(.97);border-color:var(--nx-character-accent)}
.nx-action-grid button:after{content:"";position:absolute;inset:auto -30% -60% 30%;height:80%;background:radial-gradient(circle,rgba(255,119,200,.12),transparent 65%);pointer-events:none}
.nx-bottom-nav{background:rgba(5,7,21,.94);box-shadow:0 -18px 50px rgba(0,0,0,.28)}
.nx-bottom-nav button[data-nx-open-trainer] span{width:42px;height:42px;margin-top:-16px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent));color:#fff;box-shadow:0 8px 25px rgba(255,95,162,.28)}
.nx-world-next{margin:18px 0 0;padding:15px 16px;border-radius:22px;border:1px solid rgba(255,119,200,.2);background:linear-gradient(135deg,rgba(28,22,66,.96),rgba(12,16,40,.98));display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.nx-world-next-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#7658f6,var(--nx-character-accent));font-size:20px;box-shadow:0 9px 25px rgba(124,92,255,.25)}
.nx-world-next-copy small{display:block;color:#9ca3c7;font-size:9px;letter-spacing:.14em}.nx-world-next-copy strong{display:block;margin-top:2px;font-size:14px}.nx-world-next-copy span{display:block;color:#9ba2bf;font-size:10px;margin-top:2px}.nx-world-next button{border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#121733;color:#fff;padding:8px 11px;font-size:10px;font-weight:800}
.nx-world-progress{grid-column:2/4;height:4px;border-radius:10px;background:rgba(255,255,255,.08);overflow:hidden}.nx-world-progress i{display:block;height:100%;width:34%;border-radius:inherit;background:linear-gradient(90deg,#7c5cff,var(--nx-character-accent))}
.nx-section-kicker{display:inline-flex;align-items:center;gap:6px;color:#a9afd0;font-size:9px;letter-spacing:.13em}.nx-section-kicker:before{content:"";width:18px;height:1px;background:var(--nx-character-accent)}
@media(max-width:520px){.nx-world-next{margin-left:2px;margin-right:2px;padding:13px 12px;grid-template-columns:38px minmax(0,1fr) auto}.nx-world-next-icon{width:38px;height:38px}.nx-world-next-copy strong{font-size:13px}.nx-world-next-copy span{font-size:9px}}

/* v1.13.1 MEMORY achievements: visual cards without making the grid too heavy */
.nx-memory-card.has-image.is-achievement{grid-column:auto!important;display:block!important;min-height:238px;background:linear-gradient(180deg,rgba(29,31,73,.98),rgba(17,19,51,.98))}
.nx-memory-card.is-achievement .nx-memory-image{position:relative;min-height:112px;height:112px;background-size:cover;background-position:center 35%;overflow:hidden}
.nx-memory-card.is-achievement .nx-memory-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,29,.03) 10%,rgba(13,15,43,.18) 55%,rgba(17,19,51,.92) 100%)}
.nx-memory-type{position:absolute;z-index:1;left:10px;top:9px;padding:5px 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(9,11,35,.52);backdrop-filter:blur(9px);color:#fff;font-size:7px;letter-spacing:.14em;font-weight:800}
.nx-memory-card.is-achievement .nx-memory-copy{padding:11px 12px 14px}
.nx-memory-card.is-achievement .nx-memory-copy strong{font-size:13px;line-height:1.45}
.nx-memory-card.is-achievement .nx-memory-copy p{font-size:10px;line-height:1.55}
.nx-memory-card.is-achievement:active .nx-memory-image{transform:scale(1.01)}
@media(max-width:380px){.nx-memory-card.is-achievement .nx-memory-image{height:100px;min-height:100px}.nx-memory-card.has-image.is-achievement{min-height:224px}}

/* v1.13.2 MEMORY detail / scene replay */
.nx-memory-card[role="button"]{cursor:pointer;position:relative}.nx-memory-openmark{position:absolute;right:9px;top:9px;z-index:2;padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(8,9,29,.46);backdrop-filter:blur(8px);font-size:7px;letter-spacing:.14em;color:#fff}.nx-memory-tap{display:block;margin-top:9px;color:#a9a5d5;font-size:9px;letter-spacing:.02em}.nx-memory-card:focus-visible{outline:2px solid #ff68c3;outline-offset:3px}
.nx-memory-detail{display:none;position:fixed;inset:0;z-index:2147483647;background:#08091d;color:#fff;overflow:hidden}.nx-memory-detail.is-open{display:block}.nx-memory-detail-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.015);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s ease}.nx-memory-detail-bg.is-focus{transform:scale(1.075);filter:saturate(1.08) brightness(1.04)}.nx-memory-detail-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,5,19,.26) 0%,rgba(5,6,22,.13) 38%,rgba(6,7,25,.56) 62%,#08091d 88%)}.nx-memory-detail-head{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:linear-gradient(180deg,rgba(5,6,22,.72),transparent);text-shadow:0 2px 14px rgba(0,0,0,.5)}.nx-memory-detail-head>button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(9,10,31,.42);backdrop-filter:blur(12px);color:#fff;font-size:34px;line-height:1}.nx-memory-detail-head small{display:block;color:#d4d1ed;font-size:9px;letter-spacing:.18em}.nx-memory-detail-head h2{margin:2px 0 0;font-size:20px}.nx-memory-detail-head>span{margin-left:auto;font-size:10px;color:#e7e4f5}.nx-memory-detail-sheet{position:absolute;z-index:3;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(180deg,rgba(17,19,51,.82),rgba(8,9,29,.94));box-shadow:0 26px 80px rgba(0,0,0,.42);backdrop-filter:blur(22px)}.nx-memory-detail-badge{display:inline-flex;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:8px;letter-spacing:.16em;color:#ff9ad8}.nx-memory-detail-copy{margin:11px 0 12px;color:#f3f1fa;font-size:14px;line-height:1.65}.nx-memory-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.nx-memory-detail-stats:empty{display:none}.nx-memory-detail-stats>div{min-width:0;padding:9px 6px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);text-align:center}.nx-memory-detail-stats small{display:block;color:#9d99bd;font-size:8px}.nx-memory-detail-stats strong{display:block;margin-top:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-memory-detail-quote{padding:12px 13px;border-left:3px solid #ff65bd;border-radius:12px;background:rgba(114,78,255,.11)}.nx-memory-detail-quote small{display:block;color:#a9a5d5;font-size:8px;letter-spacing:.12em}.nx-memory-detail-quote strong{display:block;margin-top:5px;font-size:13px;line-height:1.55}.nx-memory-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.nx-memory-detail-actions button{min-height:46px;border-radius:15px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:11px;font-weight:800}.nx-memory-detail-actions button:first-child{background:linear-gradient(135deg,#704cff,#ed5bc2);border-color:transparent}.nx-memory-detail-open,.nx-memory-detail-open body{overflow:hidden!important}
@media(max-width:380px){.nx-memory-detail-sheet{left:10px;right:10px;padding:13px}.nx-memory-detail-stats{grid-template-columns:repeat(2,1fr)}.nx-memory-detail-actions{grid-template-columns:1fr}.nx-memory-detail-copy{font-size:13px}}

/* v1.13.3 memory detail tap fix */
.nx-memory-card[data-nx-memory-detail]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nx-memory-card[data-nx-memory-detail]:active{transform:scale(.985)}

/* v1.13.4 MEMORY photo viewer */
.nx-memory-viewer{display:none;position:fixed;inset:0;z-index:2147483647;background:#050611;color:#fff;overflow:hidden;touch-action:pan-y}.nx-memory-viewer.is-open{display:block}.nx-memory-viewer-image{position:absolute;inset:0;background-repeat:no-repeat;background-size:contain;background-position:center;transition:transform .25s ease}.nx-memory-viewer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(64,39,105,.22),#050611 78%)}.nx-memory-viewer-ui{position:absolute;inset:0;z-index:2;transition:opacity .22s ease}.nx-memory-viewer.is-ui-hidden .nx-memory-viewer-ui{opacity:0;pointer-events:none}.nx-memory-viewer-ui header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 28px;background:linear-gradient(180deg,rgba(2,3,12,.82),transparent)}.nx-memory-viewer-ui header button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(8,9,28,.46);color:#fff;font-size:32px;backdrop-filter:blur(12px)}.nx-memory-viewer-ui header button:last-child{margin-left:auto;font-size:27px}.nx-memory-viewer-ui header button.is-fav{color:#ff70bd}.nx-memory-viewer-ui header small{display:block;font-size:8px;letter-spacing:.18em;color:#c7c3df}.nx-memory-viewer-ui header strong{display:block;margin-top:3px;font-size:16px}.nx-viewer-prev,.nx-viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:58px;border:0;border-radius:18px;background:rgba(5,6,20,.34);color:#fff;font-size:34px;backdrop-filter:blur(8px)}.nx-viewer-prev{left:10px}.nx-viewer-next{right:10px}.nx-memory-viewer-ui footer{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:34px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(2,3,12,.86),transparent)}.nx-memory-viewer-ui footer span{font-size:9px;color:#bbb7d2}.nx-memory-viewer-ui footer button{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(12,13,35,.5);color:#fff;font-weight:800}.nx-memory-viewer-open,.nx-memory-viewer-open body{overflow:hidden!important}

.nx-profile-reset{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.nx-profile-reset strong{display:block;color:#ffb9c8;font-size:14px}.nx-profile-reset p{margin:7px 0 12px;color:#9d99ae;font-size:12px;line-height:1.6}.nx-profile-reset button{width:100%;border:1px solid rgba(255,105,135,.42);border-radius:15px;padding:12px;background:rgba(255,69,105,.08);color:#ff9db2;font-weight:800}.nx-profile-reset button:disabled{opacity:.55}
.nx-profile-card{max-height:min(90dvh,760px);overflow:auto}
.nx-profile-about{margin:18px 0;padding:16px;border:1px solid rgba(169,119,255,.2);border-radius:20px;background:rgba(112,75,210,.08)}.nx-profile-about header{display:flex;align-items:center;justify-content:space-between;gap:10px}.nx-profile-about header small{display:block;color:#a995ff;font-size:9px;font-weight:800;letter-spacing:.16em}.nx-profile-about h3{margin:2px 0;color:#fff;font-size:18px}.nx-profile-about header>span{padding:5px 9px;border-radius:999px;background:rgba(217,93,255,.13);color:#e2b8ff;font-size:10px}.nx-profile-about>p{margin:8px 0 13px!important;color:#a9a5bd!important;font-size:11px;line-height:1.6}.nx-profile-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.nx-profile-about label+label{margin-top:10px}.nx-profile-about-grid label+label{margin-top:0}.nx-profile-card textarea{box-sizing:border-box;width:100%;margin-top:8px;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:13px 14px;background:#0a0f2a;color:#fff;font:inherit;font-size:14px;line-height:1.55;outline:none;resize:vertical}.nx-profile-card textarea:focus{border-color:#d65cff;box-shadow:0 0 0 3px rgba(214,92,255,.13)}
@media(max-width:520px){.nx-profile-about-grid{grid-template-columns:1fr}.nx-profile-about-grid label+label{margin-top:10px}}

/* v1.13.5 home calorie + instructor finish */
.nx-calorie-board{position:relative;z-index:5;margin:14px 12px 0;padding:16px;border:1px solid rgba(153,127,255,.2);border-radius:24px;background:linear-gradient(155deg,rgba(20,25,54,.98),rgba(10,14,35,.99));box-shadow:0 18px 42px rgba(0,0,0,.28)}
.nx-calorie-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.nx-calorie-title small{display:block;color:#999fca;font-size:9px;letter-spacing:.18em;font-weight:800}.nx-calorie-title>div>strong{display:block;font-size:20px;margin-top:2px}.nx-calorie-title>span{font-size:10px;color:#858cab}.nx-calorie-title b{color:#fff}
.nx-calorie-pair{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;margin-top:13px}.nx-calorie-item{padding:14px 10px;border-radius:18px;background:rgba(19,25,55,.86);border:1px solid rgba(255,255,255,.07);text-align:center}.nx-calorie-item>span{display:block;color:#a5abc8;font-size:10px}.nx-calorie-item>strong{display:block;font-size:22px;margin:3px 0}.nx-calorie-item>small{color:#747c9f;font-size:9px}.nx-calorie-item.is-intake>strong{color:#fff}.nx-calorie-item.is-burn>strong{color:var(--nx-mint)}.nx-calorie-vs{text-align:center;color:#727a9d;font-size:22px}.nx-calorie-balance{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 13px;border-radius:15px;background:rgba(7,10,28,.72);color:#9ba2c3;font-size:10px}.nx-calorie-balance strong{color:#fff;font-size:14px}
.nx-instructor-select{margin-top:18px;padding:18px;border:1px solid rgba(142,112,255,.25);border-radius:26px;background:linear-gradient(155deg,rgba(19,24,52,.97),rgba(8,11,30,.99));box-shadow:0 20px 50px rgba(0,0,0,.18)}.nx-instructor-grid{display:grid;gap:10px;margin-top:14px}.nx-instructor-card{width:100%;display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:#111731;color:#fff;text-align:left}.nx-instructor-card.is-active{border-color:color-mix(in srgb,var(--nx-character-accent) 55%, transparent);background:linear-gradient(110deg,rgba(124,92,255,.16),rgba(255,95,162,.08),#111731)}.nx-instructor-photo{width:66px;height:78px;border-radius:16px;background:#171c3a center 18%/cover no-repeat;display:grid;place-items:center;overflow:hidden}.nx-instructor-photo b{font-size:25px;color:#737b9c}.nx-instructor-copy{min-width:0}.nx-instructor-copy small{display:block;color:#8f96b7;font-size:8px;letter-spacing:.13em}.nx-instructor-copy strong{display:block;font-size:17px;margin-top:2px}.nx-instructor-copy em{display:block;color:#9aa1bf;font-size:10px;font-style:normal;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-instructor-state{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.07);color:#b7bdd3;font-size:9px;white-space:nowrap}.nx-instructor-card.is-active .nx-instructor-state{background:linear-gradient(135deg,#7c5cff,var(--nx-character-accent));color:#fff}.nx-instructor-card.is-coming{opacity:.58;cursor:default}.nx-instructor-card.is-coming .nx-instructor-photo{background:linear-gradient(145deg,#202646,#10142c)}
@media(max-width:520px){.nx-calorie-board{margin:12px 8px 0;padding:13px}.nx-calorie-item{padding:12px 6px}.nx-calorie-item>strong{font-size:18px}.nx-instructor-select{padding:14px;border-radius:22px}.nx-instructor-card{grid-template-columns:58px minmax(0,1fr) auto;padding:9px}.nx-instructor-photo{width:58px;height:68px}.nx-instructor-copy strong{font-size:15px}.nx-instructor-state{font-size:8px;padding:6px 7px}}

/* v1.13.6 spacing + scene range labels */
.nx-app-main{padding-bottom:96px}
@media(max-width:520px){.nx-app-main{padding-bottom:92px}}

/* v1.26.6 mobile tap + bottom-anchor safe area */
:root{--nexus-anchor-height:0px}
.nx-bottom-nav{
  bottom:var(--nexus-anchor-height,0px);
  z-index:2147482000;
  transition:bottom .22s ease;
  pointer-events:auto;
}
.nx-bottom-nav button,
.nx-immersion-rail,
.nx-immersion-rail button,
[data-nx-scene-open]{
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(255,255,255,.1);
}
.nx-immersion-rail{z-index:20}
.nx-app-shell{padding-bottom:calc(84px + var(--nexus-anchor-height,0px))}
.nx-app-main{padding-bottom:calc(96px + var(--nexus-anchor-height,0px))}
@media(max-width:520px){.nx-app-main{padding-bottom:calc(92px + var(--nexus-anchor-height,0px))}}
html.nx-trainer-open .nx-immersion-rail,
body.nx-trainer-open .nx-immersion-rail{touch-action:manipulation!important}

/* v1.28.1: keep every bottom interaction above an AdSense Auto Ads anchor. */
html.nexus-auto-anchor-visible .nx-profile-modal,
html.nexus-anchor-visible .nx-profile-modal{bottom:var(--nexus-anchor-height,0px)}
html.nexus-auto-anchor-visible .nx-profile-card,
html.nexus-anchor-visible .nx-profile-card{max-height:calc(100dvh - var(--nexus-anchor-height,0px) - 40px);overflow:auto}
html.nexus-auto-anchor-visible .nx-trainer-controls,
html.nexus-anchor-visible .nx-trainer-controls,
html.nexus-auto-anchor-visible .nx-special-controls,
html.nexus-anchor-visible .nx-special-controls{bottom:var(--nexus-anchor-height,0px)}
html.nexus-auto-anchor-visible .nx-trainer-dialogue,
html.nexus-anchor-visible .nx-trainer-dialogue{bottom:calc(142px + env(safe-area-inset-bottom) + var(--nexus-anchor-height,0px))}
html.nexus-auto-anchor-visible .nx-special-dialogue,
html.nexus-anchor-visible .nx-special-dialogue{bottom:calc(196px + env(safe-area-inset-bottom) + var(--nexus-anchor-height,0px))}
html.nexus-auto-anchor-visible .nx-record-sheet,
html.nexus-anchor-visible .nx-record-sheet,
html.nexus-auto-anchor-visible .nx-scene-fullscreen,
html.nexus-anchor-visible .nx-scene-fullscreen,
html.nexus-auto-anchor-visible .nx-memory-fullscreen,
html.nexus-anchor-visible .nx-memory-fullscreen{padding-bottom:calc(30px + env(safe-area-inset-bottom) + var(--nexus-anchor-height,0px))}
html.nexus-auto-anchor-visible .nx-memory-detail-sheet,
html.nexus-anchor-visible .nx-memory-detail-sheet{bottom:calc(14px + env(safe-area-inset-bottom) + var(--nexus-anchor-height,0px))}
html.nexus-auto-anchor-visible .nx-profile-toast,
html.nexus-anchor-visible .nx-profile-toast{bottom:calc(110px + var(--nexus-anchor-height,0px))}
@media(max-width:520px){
 html.nexus-auto-anchor-visible .nx-trainer-dialogue,
 html.nexus-anchor-visible .nx-trainer-dialogue{bottom:calc(136px + env(safe-area-inset-bottom) + var(--nexus-anchor-height,0px))}
}

/* v1.27.0 living character + record feedback */
.nx-character-alive{transform:translate3d(var(--nx-look-x,0),var(--nx-look-y,0),0) scale(1.025);animation:nxCharacterBreathe 7s ease-in-out infinite;will-change:transform,background-position}
@keyframes nxCharacterBreathe{0%,100%{transform:translate3d(var(--nx-look-x,0),var(--nx-look-y,0),0) scale(1.025)}50%{transform:translate3d(var(--nx-look-x,0),calc(var(--nx-look-y,0px) - 3px),0) scale(1.04)}}
.nx-hero-card.nx-record-react{animation:nxRecordGlow .9s ease-out}
@keyframes nxRecordGlow{0%{box-shadow:0 0 0 rgba(255,105,196,0)}35%{box-shadow:0 0 0 4px rgba(255,105,196,.38),0 0 46px rgba(170,88,255,.38)}100%{box-shadow:0 28px 70px rgba(0,0,0,.35)}}
.nx-record-celebration{position:fixed;z-index:2147483647;left:50%;top:calc(86px + env(safe-area-inset-top));width:min(88vw,520px);transform:translate(-50%,-14px);opacity:0;padding:13px 17px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(135deg,rgba(74,45,155,.96),rgba(177,52,142,.96));color:#fff;font-size:13px;font-weight:800;line-height:1.55;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.38);transition:.25s;pointer-events:none}.nx-record-celebration.is-show{opacity:1;transform:translate(-50%,0)}
.nx-record-candidate.is-official{border-color:rgba(91,230,177,.55);box-shadow:0 12px 36px rgba(46,210,158,.12)}.nx-record-candidate.is-official .nx-record-candidate-head span{color:#63e6b5}
@media(prefers-reduced-motion:reduce){.nx-character-alive{animation:none!important;transform:none!important}.nx-hero-card.nx-record-react{animation:none!important}}

/* v1.27.1 iOS standalone viewport: avoid the stale fill-available gap. */
.nx-trainer-fullscreen,
#nexus-global-trainer-room{
  height:var(--nexus-pwa-height,100dvh)!important;
  min-height:0!important;
  top:var(--nexus-pwa-top,0px)!important;
  bottom:auto!important;
}


/* v1.15.0 Guided questions + heart voice */
.nx-ask-library{display:block;width:fit-content;max-width:100%;margin:0 0 10px;padding:10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,rgba(138,81,255,.5),rgba(255,90,187,.42));color:#fff;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 24px rgba(75,41,170,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nx-ask-library span{color:#ff7fcf;margin-right:3px}.nx-question-open{overflow:hidden!important}
.nx-question-sheet{position:fixed;inset:0;z-index:2147483647;display:none;align-items:flex-end;justify-content:center}.nx-question-sheet.is-open{display:flex}.nx-question-backdrop{position:absolute;inset:0;background:rgba(4,6,19,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nx-question-panel{position:relative;width:min(720px,100%);max-height:min(82dvh,820px);overflow:hidden;background:linear-gradient(180deg,#14142f 0%,#090b20 100%);border:1px solid rgba(174,127,255,.34);border-radius:28px 28px 0 0;box-shadow:0 -24px 80px rgba(0,0,0,.48);padding:20px 18px calc(18px + env(safe-area-inset-bottom));color:#fff}
.nx-question-panel header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.nx-question-panel header small{letter-spacing:.2em;color:#a9a4d5}.nx-question-panel header h3{font-size:24px;margin:4px 0 4px}.nx-question-panel header p{margin:0;color:#aaa8c7;font-size:13px}.nx-question-panel header>button{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:26px}
.nx-question-tabs{display:flex;gap:8px;overflow-x:auto;padding:16px 0 12px;scrollbar-width:none}.nx-question-tabs::-webkit-scrollbar{display:none}.nx-question-tabs button{white-space:nowrap;border:1px solid rgba(187,166,255,.22);background:#11142d;color:#c6c2e8;border-radius:999px;padding:9px 14px}.nx-question-tabs button.is-active{background:linear-gradient(135deg,#954dff,#ef57bd);color:#fff;border-color:transparent}
.nx-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:auto;max-height:58dvh;padding:3px 1px 14px}.nx-question-grid button{text-align:left;min-height:72px;border:1px solid rgba(177,155,255,.17);border-radius:18px;background:rgba(25,27,61,.86);color:#fff;padding:13px 14px;font-size:15px;font-weight:700}.nx-question-grid button b{display:block;width:max-content;font-size:10px;padding:3px 7px;margin-bottom:5px;border-radius:999px;background:linear-gradient(135deg,#8f54ff,#ff68c1);color:#fff}.nx-question-grid button:active{transform:scale(.98)}
.nx-heart-voice{align-self:flex-start;max-width:min(76%,520px);margin:7px 0 13px 62px;padding:9px 13px;border-left:2px solid rgba(255,111,197,.72);border-radius:4px 14px 14px 4px;background:linear-gradient(90deg,rgba(255,108,196,.11),rgba(145,104,255,.06));color:rgba(255,255,255,.78);font-size:13px;line-height:1.65;font-style:italic;animation:nxHeartIn .45s ease both}.nx-heart-voice small{display:block;margin-bottom:2px;font-size:10px;letter-spacing:.12em;color:#ff91d2;font-style:normal}.nx-heart-voice span{display:block}.nx-heart-voice.is-special{margin-left:14px;color:#fff;background:rgba(26,14,48,.54);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@keyframes nxHeartIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:520px){.nx-question-panel{padding-left:14px;padding-right:14px}.nx-question-grid{grid-template-columns:1fr 1fr;gap:8px}.nx-question-grid button{min-height:68px;padding:11px;font-size:14px}.nx-heart-voice{margin-left:50px;max-width:80%}}

/* v1.15.2 guided question UI fix */
.nx-trainer-choices{position:relative;z-index:2}
.nx-trainer-choices .nx-ask-library{display:inline-flex!important;width:auto!important;max-width:none!important;margin:0!important;padding:9px 15px!important;min-height:42px!important;flex:0 0 auto!important;align-items:center;justify-content:center}
.nx-question-sheet{z-index:2147483647!important;pointer-events:auto!important}
.nx-question-sheet.is-open{display:flex!important}
.nx-question-panel{position:relative;z-index:2;pointer-events:auto}
.nx-question-backdrop{z-index:1}


/* v1.15.3 guided-question viewport + quick-row stabilization */
.nx-trainer-choices{scroll-padding-inline:12px}
.nx-trainer-choices .nx-question-launcher{order:-1!important}
.nx-question-panel{
  display:flex!important;
  flex-direction:column!important;
  height:min(76dvh,760px)!important;
  max-height:calc(100dvh - 120px)!important;
  overflow:hidden!important;
}
.nx-question-panel>header{flex:0 0 auto}
.nx-question-tabs{flex:0 0 auto;scroll-padding-inline:18px;padding-left:2px;padding-right:2px}
.nx-question-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(26px + env(safe-area-inset-bottom))!important;
}
@media(max-width:520px){
  .nx-question-panel{
    height:min(74dvh,700px)!important;
    max-height:calc(100dvh - 135px)!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;
  }
  .nx-question-grid{padding-bottom:calc(34px + env(safe-area-inset-bottom))!important}
}

/* v1.16.0 Common record candidate card */
.nx-record-candidate{margin:8px 12px 12px;padding:11px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(17,22,44,.76),rgba(8,11,27,.72));backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);border:1px solid rgba(190,174,255,.28);box-shadow:0 12px 34px rgba(0,0,0,.20),0 0 18px rgba(124,92,255,.08);color:#f7f8ff;max-width:min(86%,470px)}
.nx-record-candidate-head{display:flex;flex-direction:column;gap:2px;margin-bottom:7px}.nx-record-candidate-head span{font-size:10px;letter-spacing:.14em;color:#aeb4d8}.nx-record-candidate-head strong{font-size:14px}.nx-record-candidate ul{list-style:none;margin:0;padding:0}.nx-record-candidate li{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}.nx-record-candidate li span{min-width:0}.nx-record-candidate li b{white-space:nowrap;color:#fff}.nx-record-candidate li.is-sub{font-size:12px;color:#b9bed7}.nx-record-candidate li.is-sub button{border:1px solid rgba(87,230,177,.35);background:rgba(87,230,177,.1);color:#bdf5df;border-radius:999px;padding:5px 8px;font-size:10px}.nx-record-candidate-total{display:flex;justify-content:space-between;padding:7px 0 2px;font-size:12px}.nx-record-candidate-total b{font-size:15px}.nx-record-candidate-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;margin-top:9px}.nx-record-candidate-actions button{min-height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#f7f8ff;font-weight:700}.nx-record-candidate-actions button:first-child{background:linear-gradient(135deg,#7c5cff,#ff5fa2);box-shadow:0 9px 24px rgba(124,92,255,.24)}.nx-record-candidate-actions button:last-child{grid-column:1/-1;min-height:30px;background:transparent;color:#9da4c8;font-weight:500}.nx-record-candidate>small{display:block;margin-top:6px;color:#a7aec9;font-size:9px;line-height:1.5}.nx-record-saved{padding:8px 2px;text-align:center;color:#72efc0;font-weight:800;letter-spacing:.03em}
/* v1.17.0 Calorie core / onboarding / PWA */
.nx-calorie-board-v170{overflow:hidden}.nx-calorie-balance-main{margin:14px 0 16px;padding:16px 18px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:linear-gradient(135deg,rgba(121,72,255,.12),rgba(255,94,190,.08));display:grid;gap:3px}.nx-calorie-balance-main small{font-size:11px;letter-spacing:.12em;color:#aeb0cf}.nx-calorie-balance-main strong{font-size:30px;line-height:1.1;color:#fff}.nx-calorie-balance-main strong.is-minus{color:#66e9bc}.nx-calorie-balance-main strong.is-plus{color:#ffb0cb}.nx-calorie-balance-main span{font-size:12px;color:#b8bad0}.nx-burn-breakdown{display:grid;gap:8px;margin-top:12px}.nx-burn-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.nx-burn-breakdown span,.nx-burn-breakdown small{color:#9da0be;font-size:11px}.nx-burn-breakdown strong{font-size:13px;color:#fff}.nx-burn-breakdown button{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:#d4b8ff;font-size:10px;padding:0;cursor:pointer}
.nx-steps-editor{margin:0 0 18px;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(17,19,48,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nx-steps-editor small{color:#9fa1c2;font-size:11px}.nx-steps-editor strong{display:block;color:#fff;font-size:20px;margin:2px 0}.nx-steps-editor p{color:#b5b6ca;font-size:12px;line-height:1.6;margin:5px 0 12px}.nx-steps-form{display:flex;gap:8px}.nx-steps-form input{min-width:0;flex:1;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(7,9,29,.75);color:#fff;font-size:16px}.nx-steps-form button{padding:0 18px;border:0;border-radius:14px;background:linear-gradient(135deg,#9253ff,#f15abc);color:#fff;font-weight:800}
.nx-onboarding{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:18px}.nx-onboarding-backdrop{position:absolute;inset:0;background:rgba(3,4,16,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nx-onboarding-card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border-radius:30px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(160deg,rgba(24,25,64,.96),rgba(8,9,28,.97));box-shadow:0 30px 80px rgba(0,0,0,.45);color:#fff}.nx-onboarding-brand{font-size:11px;letter-spacing:.25em;color:#b6a8ee}.nx-onboarding-avatar{width:72px;height:72px;border-radius:50%;background-size:cover;background-position:center;border:3px solid rgba(255,112,203,.65);box-shadow:0 0 30px rgba(255,92,188,.25);margin:12px 0}.nx-onboarding-card h2{margin:0 0 6px;font-size:28px}.nx-onboarding-card>p{margin:0 0 18px;color:#c1c2d8;line-height:1.7;font-size:13px}.nx-onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nx-onboarding-grid label{display:grid;gap:6px;font-size:12px;color:#c7c8dc}.nx-onboarding-grid label.is-wide{grid-column:1/-1}.nx-onboarding-grid input,.nx-onboarding-grid select{width:100%;box-sizing:border-box;padding:12px;border-radius:13px;border:1px solid rgba(255,255,255,.14);background:#10122f;color:#fff;font-size:16px}.nx-onboarding-grid small{font-size:10px;color:#8f91b1}.nx-onboarding-instructor{margin:16px 0;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}.nx-onboarding-instructor>small{font-size:10px;letter-spacing:.18em;color:#a9a5cd}.nx-onboarding-instructor>div:not(.nx-onboarding-coming){display:flex;align-items:center;gap:10px;margin-top:8px}.nx-onboarding-instructor span{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center}.nx-onboarding-instructor strong{font-size:18px}.nx-onboarding-instructor em{margin-left:auto;font-style:normal;color:#64e7ba;font-size:11px}.nx-onboarding-coming{margin-top:10px;color:#7e809d;font-size:10px}.nx-onboarding-start{width:100%;padding:14px;border:0;border-radius:16px;background:linear-gradient(135deg,#9555ff,#f15cbd);color:#fff;font-weight:900;font-size:16px}.nx-onboarding-logic{display:block;margin:10px auto 0;border:0;background:transparent;color:#b8a9e8;font-size:11px}.nx-onboarding.is-error .nx-onboarding-card{animation:nxShake .35s}
.nx-calorie-logic-modal{position:fixed;inset:0;z-index:2147483647;display:none;place-items:end center}.nx-calorie-logic-modal.is-open{display:grid}.nx-logic-backdrop{position:absolute;inset:0;background:rgba(1,2,12,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nx-logic-sheet{position:relative;width:min(720px,100%);max-height:88dvh;overflow:auto;padding:24px 22px 34px;border-radius:28px 28px 0 0;background:#0c0e28;color:#fff;border:1px solid rgba(255,255,255,.12)}.nx-logic-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:24px}.nx-logic-sheet>small{color:#b8a9e8;letter-spacing:.18em}.nx-logic-sheet h2{font-size:24px;margin:8px 0}.nx-logic-sheet>p,.nx-logic-sheet article p,.nx-logic-sheet footer{color:#bfc0d3;line-height:1.75;font-size:13px}.nx-logic-sheet article{padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}.nx-logic-sheet code{display:block;padding:10px 12px;border-radius:12px;background:#080a20;color:#d9d8ec;font-size:11px;line-height:1.7;white-space:normal}
.nx-install-invite{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:end center;pointer-events:none;opacity:0;transition:.25s}.nx-install-invite.is-open{pointer-events:auto;opacity:1}.nx-install-shade{position:absolute;inset:0;background:rgba(3,4,15,.54);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nx-install-card{position:relative;width:min(560px,calc(100% - 20px));margin:10px;padding:18px;border-radius:24px;background:linear-gradient(145deg,rgba(24,24,63,.96),rgba(10,11,32,.98));border:1px solid rgba(255,255,255,.15);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.45)}.nx-install-char{display:flex;align-items:center;gap:12px}.nx-install-char span{width:58px;height:58px;border-radius:50%;background-size:cover;background-position:center;border:2px solid #f169c1}.nx-install-char small{display:block;color:#a7a8c2;font-size:10px}.nx-install-char strong{font-size:16px;line-height:1.5}.nx-install-card p{color:#c3c4d7;font-size:12px;line-height:1.6}.nx-install-actions{display:flex;gap:8px}.nx-install-actions button{flex:1;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-weight:800}.nx-install-actions button:first-child{border:0;background:linear-gradient(135deg,#9554ff,#ed5bbb)}
@keyframes nxShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}
@media(max-width:520px){.nx-onboarding-grid{grid-template-columns:1fr}.nx-onboarding-grid label.is-wide{grid-column:auto}.nx-calorie-balance-main strong{font-size:26px}.nx-burn-breakdown>div{grid-template-columns:1fr}.nx-burn-breakdown strong{justify-self:start}.nx-install-actions{flex-direction:column}}
/* v1.17.1 onboarding validation / iOS tap fix */
.nx-onboarding-start{position:relative;z-index:3;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:rgba(255,255,255,.08)}
.nx-onboarding-start:disabled{opacity:.72;cursor:wait}
.nx-onboarding-error{min-height:20px;margin:9px 2px 0;color:#ff9dcb;font-size:12px;font-weight:700;line-height:1.5}
.nx-onboarding-grid input.is-invalid,.nx-onboarding-grid select.is-invalid{border-color:#ff6fbd!important;box-shadow:0 0 0 2px rgba(255,87,185,.17)}
.nx-onboarding.is-complete{opacity:0;transition:opacity .12s ease}

/* v1.18.0 Unknown-food fallback: transparent inline kcal input */
.nx-manual-food-card{margin:8px 12px 12px;padding:12px;border-radius:18px;max-width:min(86%,430px);color:#fff;background:linear-gradient(180deg,rgba(21,22,48,.66),rgba(8,10,28,.62));border:1px solid rgba(216,190,255,.28);box-shadow:0 12px 34px rgba(0,0,0,.18);backdrop-filter:blur(15px) saturate(120%);-webkit-backdrop-filter:blur(15px) saturate(120%)}
.nx-manual-food-card>div:first-child{display:grid;gap:3px}.nx-manual-food-card>div:first-child small{font-size:9px;letter-spacing:.16em;color:#b8b5dc}.nx-manual-food-card>div:first-child strong{font-size:15px}.nx-manual-food-card>div:first-child span{font-size:12px;color:#d9d9e8}
.nx-manual-food-card label{display:flex;align-items:center;gap:8px;margin:10px 0}.nx-manual-food-card input{width:130px;min-height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(6,8,25,.46);color:#fff;padding:8px 12px;font-size:17px;outline:none}.nx-manual-food-card input:focus{border-color:rgba(255,95,190,.72);box-shadow:0 0 0 3px rgba(255,95,190,.10)}.nx-manual-food-card input.is-error{border-color:#ff6b8d}.nx-manual-food-card label b{font-size:12px;color:#c6c9df}
.nx-manual-food-card>div:nth-of-type(2){display:flex;gap:8px}.nx-manual-food-card button{min-height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;padding:7px 11px;font-weight:700}.nx-manual-food-card [data-nx-manual-food-save]{background:linear-gradient(135deg,rgba(124,92,255,.88),rgba(255,95,162,.88));border:0}.nx-manual-food-card>small{display:block;margin-top:8px;font-size:9px;color:#9fa6c8}


/* v1.21.1 ENHANCED TALK β — compact control integrated into the existing hint row. */
.nx-ai-streaming::after{content:'';display:inline-block;width:5px;height:13px;margin-left:3px;vertical-align:-2px;border-radius:2px;background:currentColor;opacity:.55;animation:nxAiCaret .8s steps(1) infinite}@keyframes nxAiCaret{50%{opacity:0}}
.nx-trainer-meta{min-height:18px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;color:#7f86a4;font-size:8px;letter-spacing:.06em;white-space:nowrap}
.nx-trainer-meta-copy{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nx-ai-beta-open{flex:0 0 auto;min-height:18px;margin:0;border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:2px 7px 2px 5px;background:rgba(8,10,25,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#d9dcee;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 4px 14px rgba(0,0,0,.12);font:inherit;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nx-ai-beta-open i{width:5px;height:5px;border-radius:50%;background:#8990aa;box-shadow:0 0 0 2px rgba(137,144,170,.10)}.nx-ai-beta-open span{font-size:8px;font-weight:800;letter-spacing:.04em}.nx-ai-beta-open small{font-size:7px;opacity:.62}.nx-ai-beta-open.is-on{border-color:rgba(255,118,202,.52);color:#fff;background:linear-gradient(135deg,rgba(255,92,185,.25),rgba(92,103,255,.21));box-shadow:0 0 16px rgba(226,92,255,.14)}.nx-ai-beta-open.is-on i{background:#74efbd;box-shadow:0 0 8px rgba(116,239,189,.85)}
.nx-ai-beta-open:focus-visible{outline:2px solid rgba(255,132,210,.82);outline-offset:2px}
.nx-ai-beta-modal{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:18px}.nx-ai-beta-modal.is-open{display:flex}.nx-ai-beta-backdrop{position:absolute;inset:0;background:rgba(2,3,12,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nx-ai-beta-card{position:relative;width:min(430px,100%);max-height:min(760px,92dvh);overflow:auto;border-radius:28px;background:rgba(13,14,31,.94);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 90px rgba(0,0,0,.5)}
.nx-ai-beta-close{position:absolute;right:14px;top:14px;z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:24px}.nx-ai-beta-scene{height:210px;background-size:cover;background-position:center 26%;border-radius:28px 28px 0 0}
.nx-ai-beta-content{padding:20px}.nx-ai-beta-content>small{font-size:10px;letter-spacing:.2em;color:#ff91d1;font-weight:900}.nx-ai-beta-content h2{font-size:25px;margin:5px 0 8px}.nx-ai-beta-lead{font-size:13px;line-height:1.75;opacity:.84;margin:0 0 15px}
.nx-ai-beta-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nx-ai-beta-options button{border:1px solid rgba(255,255,255,.17);border-radius:17px;background:rgba(255,255,255,.07);color:#fff;padding:13px 10px;text-align:left}.nx-ai-beta-options button:last-child{background:linear-gradient(135deg,rgba(255,81,179,.24),rgba(94,84,255,.2));border-color:rgba(255,123,207,.5)}.nx-ai-beta-options b,.nx-ai-beta-options span{display:block}.nx-ai-beta-options b{font-size:12px}.nx-ai-beta-options span{font-size:10px;opacity:.7;margin-top:4px}
.nx-ai-beta-progress{display:none;margin-top:15px;padding:13px;border-radius:16px;background:rgba(255,255,255,.055)}.nx-ai-beta-progress>div{height:6px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.nx-ai-beta-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff76c8,#8a82ff);transition:width .2s}.nx-ai-beta-progress strong{display:block;font-size:12px;margin-top:9px}.nx-ai-beta-progress p{font-size:11px;line-height:1.6;opacity:.72;margin:5px 0 0}.nx-ai-beta-note{font-size:10px;line-height:1.7;opacity:.56;margin:13px 0 0}
@media(max-width:430px){.nx-trainer-meta{justify-content:space-between;gap:5px}.nx-trainer-meta-copy{font-size:7px}.nx-ai-beta-open{padding-right:6px}.nx-ai-beta-modal{padding:10px}.nx-ai-beta-card{border-radius:22px}.nx-ai-beta-scene{height:185px;border-radius:22px 22px 0 0}.nx-ai-beta-content{padding:17px}.nx-ai-beta-options{grid-template-columns:1fr}}

/* v1.23.0 cloud conversation / rewarded gift UI */
.nx-ai-power{display:flex;align-items:center;justify-content:space-between;margin:12px 0;padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11)}.nx-ai-power span{font-size:11px;color:#ffc2e6}.nx-ai-power strong{font-size:13px}.nx-reward-card{overflow:hidden}.nx-reward-character{height:220px;background-size:cover;background-position:center 25%}.nx-reward-odds{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.nx-reward-odds span{padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);font-size:9px}.nx-reward-watch,.nx-reward-standard{width:100%;min-height:48px;border-radius:15px;font-weight:800}.nx-reward-watch{border:0;color:#fff;background:linear-gradient(135deg,#9a64ff,#ff65be);box-shadow:0 12px 28px rgba(213,82,255,.24)}.nx-reward-watch:disabled{opacity:.5;box-shadow:none}.nx-reward-standard{margin-top:8px;border:1px solid rgba(255,255,255,.16);color:#fff;background:rgba(255,255,255,.05)}.nx-reward-modal.is-gift .nx-reward-character{animation:nxGiftGlow .9s ease both}.nx-reward-modal.is-gift .nx-reward-card{box-shadow:0 0 80px rgba(255,110,204,.36)}@keyframes nxGiftGlow{0%{filter:brightness(.7);transform:scale(1.03)}60%{filter:brightness(1.25);transform:scale(1)}100%{filter:brightness(1)}}

/* v1.26.4: rewarded completion returns to AI-enhanced conversation. */
.nx-reward-modal.is-gift .nx-reward-standard.is-powered{min-height:58px;padding:11px 14px;border:0;background:linear-gradient(135deg,#915cff,#f15fc0);box-shadow:0 12px 30px rgba(213,82,255,.28);font-size:14px;line-height:1.35;white-space:normal;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.1)}

/* v1.31.2 iOS/PWA keyboard composer hardening. */
.nx-trainer-fullscreen,
.nx-trainer-fullscreen *{
  box-sizing:border-box;
}
.nx-trainer-compose{
  position:relative;
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(0,1fr) 52px!important;
  gap:9px!important;
}
.nx-trainer-compose input,.nx-trainer-compose textarea{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.nx-trainer-compose button{
  position:relative;
  display:grid;
  place-items:center;
  width:52px!important;
  min-width:52px!important;
  padding:0!important;
  touch-action:manipulation;
}
.nx-immersion-rail{
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
html.nexus-keyboard-open .nx-immersion-rail,
body.nexus-keyboard-open .nx-immersion-rail{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(calc(100% + 28px))!important;
}
@media(max-width:760px){
  html.nexus-keyboard-open .nx-trainer-choices,
  body.nexus-keyboard-open .nx-trainer-choices{
    display:none!important;
  }
  html.nexus-keyboard-open .nx-trainer-controls,
  body.nexus-keyboard-open .nx-trainer-controls{
    padding:8px 10px max(8px,env(safe-area-inset-bottom))!important;
  }
  html.nexus-keyboard-open .nx-trainer-dialogue,
  body.nexus-keyboard-open .nx-trainer-dialogue{
    bottom:calc(96px + env(safe-area-inset-bottom))!important;
    max-height:42dvh!important;
  }
}

/* v1.62.0 LIFE -> CHAT: preserve a character's visible day, then enter a
 * distraction-free conversation without throwing that day away. */
.nx-life-chat-room .nx-trainer-bg{
  transition:opacity .28s ease,filter .28s ease,transform .5s ease;
}
.nx-life-chat-room .nx-life-presence{
  position:absolute;
  z-index:5;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:calc(104px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  pointer-events:none;
}
.nx-life-chat-room .nx-life-now{
  align-self:flex-start;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 12px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(5,7,20,.48);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 8px 28px rgba(0,0,0,.2);
}
.nx-life-chat-room .nx-life-now span{color:#69e9ba;font-size:9px;font-weight:900;letter-spacing:.1em}
.nx-life-chat-room .nx-life-now small{color:#f4f4ff;font-size:10px;letter-spacing:.05em}
.nx-life-chat-room .nx-life-copy{
  width:min(100%,570px);
  padding:19px 19px 17px;
  border:1px solid rgba(255,255,255,.19);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(7,9,25,.72),rgba(14,10,32,.62));
  backdrop-filter:blur(20px) saturate(118%);
  -webkit-backdrop-filter:blur(20px) saturate(118%);
  box-shadow:0 22px 60px rgba(0,0,0,.32);
  pointer-events:auto;
}
.nx-life-chat-room .nx-life-copy>small{display:block;color:#ffc0e7;font-size:9px;font-weight:900;letter-spacing:.22em}
.nx-life-chat-room .nx-life-copy h2{margin:5px 0 7px;color:#fff;font-size:clamp(20px,5vw,29px);line-height:1.3}
.nx-life-chat-room .nx-life-copy p{margin:0;color:rgba(255,255,255,.88);font-size:14px;line-height:1.7}
.nx-life-chat-room .nx-life-copy button{
  width:100%;
  min-height:52px;
  margin:15px 0 0;
  border:0;
  border-radius:17px;
  background:linear-gradient(135deg,#8859ff,var(--nx-character-accent));
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 12px 32px rgba(153,76,255,.3);
  touch-action:manipulation;
}
.nx-life-chat-room .nx-life-copy button span{margin-right:4px;font-size:19px;vertical-align:-1px}
.nx-life-chat-room .nx-life-copy em{display:block;margin-top:9px;color:rgba(255,255,255,.53);font-size:9px;font-style:normal;text-align:center}
.nx-life-chat-room:not(.is-chat) .nx-trainer-dialogue,
.nx-life-chat-room:not(.is-chat) .nx-trainer-controls{display:none!important}
.nx-life-chat-room.is-chat{
  background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--nx-character-accent) 15%,#080b1c),#060817 42%,#040611 100%)!important;
}
.nx-life-chat-room.is-chat .nx-trainer-bg{opacity:0;filter:blur(22px) brightness(.25);transform:scale(1.08);pointer-events:none}
.nx-life-chat-room.is-chat .nx-trainer-vignette{background:radial-gradient(circle at 50% 0,rgba(128,87,255,.13),transparent 45%),linear-gradient(180deg,rgba(4,6,17,.55),rgba(4,6,17,.98))}
.nx-life-chat-room.is-chat .nx-life-presence{display:none!important}
.nx-life-chat-room.is-chat .nx-trainer-top{
  background:rgba(6,8,21,.86);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nx-life-chat-room.is-chat .nx-trainer-status{background:rgba(255,255,255,.055);text-align:center}
.nx-life-chat-room.is-chat .nx-trainer-status strong{color:#dfe2f4}
.nx-life-chat-room.is-chat .nx-trainer-dialogue{
  display:flex!important;
  top:calc(78px + env(safe-area-inset-top));
  bottom:calc(132px + env(safe-area-inset-bottom));
  max-height:none;
  padding:20px max(16px,env(safe-area-inset-right)) 18px max(16px,env(safe-area-inset-left));
  gap:13px;
  -webkit-mask-image:none;
  mask-image:none;
  scroll-padding-bottom:18px;
}
.nx-life-chat-room.is-chat .nx-trainer-dialogue:before{
  content:'';
  flex:1 0 auto;
  min-height:0;
}
.nx-life-chat-room.is-chat .nx-trainer-controls{
  display:block!important;
  padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:linear-gradient(180deg,rgba(5,7,18,0),rgba(5,7,18,.94) 22%,#050712 58%);
}
.nx-life-chat-room.is-chat .nx-fs-bubble-instructor,
.nx-life-chat-room.is-chat .nx-fs-typing{
  position:relative;
  margin-left:40px;
  max-width:min(78%,560px);
  background:#f5f5fb;
  color:#171927;
  backdrop-filter:none;
}
.nx-life-chat-room.is-chat .nx-fs-bubble-instructor:before,
.nx-life-chat-room.is-chat .nx-fs-typing:before{
  content:'';
  position:absolute;
  left:-40px;
  bottom:0;
  width:31px;
  height:31px;
  border:2px solid color-mix(in srgb,var(--nx-character-accent) 72%,white);
  border-radius:50%;
  background-color:#171a35;
  background-image:var(--nx-character-avatar);
  background-size:cover;
  background-position:center 18%;
  box-shadow:0 5px 18px rgba(0,0,0,.28);
}
.nx-life-chat-room.is-chat .nx-fs-bubble-user{max-width:min(78%,560px);box-shadow:0 9px 27px rgba(108,68,255,.18)}
.nx-life-chat-room.is-chat .nx-immersion-rail{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.nx-life-chat-room.is-chat .nx-relationship-chip{display:none!important}
.nx-life-chat-room.is-chat .nx-trainer-choices button{background:rgba(15,18,39,.94);border-color:rgba(255,255,255,.13)}
.nx-life-chat-room.is-chat .nx-trainer-compose input,.nx-life-chat-room.is-chat .nx-trainer-compose textarea{background:#0b0e24!important;border-color:rgba(255,255,255,.14)!important}
.nx-life-chat-room.is-chat .nx-trainer-close{font-size:30px}

@media(max-width:520px){
  .nx-life-chat-room .nx-life-presence{padding-left:14px;padding-right:14px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .nx-life-chat-room .nx-life-copy{padding:16px;border-radius:22px}
  .nx-life-chat-room .nx-life-copy p{font-size:13px}
  .nx-life-chat-room.is-chat .nx-trainer-dialogue{top:calc(74px + env(safe-area-inset-top));bottom:calc(128px + env(safe-area-inset-bottom));max-height:none!important;padding-left:12px;padding-right:12px}
  .nx-life-chat-room.is-chat .nx-fs-bubble-instructor,.nx-life-chat-room.is-chat .nx-fs-typing{margin-left:37px;max-width:80%}
  .nx-life-chat-room.is-chat .nx-fs-bubble-instructor:before,.nx-life-chat-room.is-chat .nx-fs-typing:before{left:-37px;width:29px;height:29px}
  .nx-life-chat-room.is-chat .nx-fs-bubble-user{max-width:84%}
}
@media(max-width:760px){
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-choices,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-choices{display:none!important}
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-controls,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-controls{
    bottom:calc(12px + var(--nx-composer-lift,0px))!important;
    padding:3px 8px 2px!important;
    background:#050712!important;
  }
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-meta,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-meta,
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-hint,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-hint{display:none!important}
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose input,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose input,
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose textarea,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose textarea,
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose button,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-compose button{height:44px!important}
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-dialogue,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-dialogue{
    top:8px!important;
    bottom:63px!important;
    max-height:none!important;
    padding:8px 10px 4px!important;
    scroll-padding-bottom:12px!important;
  }
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-top,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-top{transform:translateY(-110%);pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.nx-life-chat-room .nx-trainer-bg{transition:none}}

/* v1.64.1: keep primary tabs visible on every main page except LIFE/CHAT. */
.nx-record-fullscreen,
.nx-memory-fullscreen,
.nx-scene-fullscreen{z-index:2147481400!important}
.nx-record-sheet{padding-bottom:calc(106px + env(safe-area-inset-bottom))!important}
.nx-memory-fullscreen,
.nx-scene-fullscreen{padding-bottom:calc(106px + env(safe-area-inset-bottom))!important}
.nx-bottom-nav{display:grid!important;visibility:visible!important;opacity:1!important;z-index:2147482000!important}
html.nx-trainer-open .nx-bottom-nav,
body.nx-trainer-open .nx-bottom-nav{display:none!important}

/* v1.65.0 — home is the entrance to a shared day, not a calorie dashboard. */
.nx-app-main>.nx-hero-card{min-height:clamp(430px,62dvh,540px)}
.nx-home-today{margin:14px 0 0;padding:16px;border:1px solid rgba(148,119,255,.25);border-radius:25px;background:linear-gradient(155deg,rgba(21,25,56,.98),rgba(9,12,32,.99));box-shadow:0 20px 48px rgba(0,0,0,.22)}
.nx-home-today-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.nx-home-today-head small{display:block;color:#999fc2;font-size:8px;font-weight:800;letter-spacing:.18em}.nx-home-today-head strong{display:block;margin-top:3px;font-size:19px}.nx-home-today-head>span{flex:0 0 auto;color:#58dfb3;font-size:9px;font-weight:800}
.nx-home-latest{position:relative;width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(120deg,rgba(120,86,255,.12),rgba(255,96,188,.07));color:#fff;text-align:left;touch-action:manipulation}.nx-home-latest:active{transform:scale(.99)}.nx-home-latest-avatar{width:50px;height:50px;border:2px solid var(--nx-character-accent);border-radius:50%;background:#171b38 center 18%/cover no-repeat;box-shadow:0 0 0 3px rgba(124,92,255,.13)}.nx-home-latest-copy{min-width:0}.nx-home-latest-copy small{display:block;color:#9ca2c1;font-size:8px;letter-spacing:.1em}.nx-home-latest-copy strong{display:-webkit-box;overflow:hidden;margin-top:4px;font-size:12px;font-weight:700;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nx-home-latest-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px}.nx-home-latest-side time{color:#858dab;font-size:8px}.nx-home-latest-side b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:linear-gradient(135deg,#7a59ff,#ec5dbb);color:#fff;font-size:8px;line-height:20px;text-align:center}.nx-home-latest-side b[hidden]{display:none}.nx-home-latest-side em{color:#afb4cd;font-size:23px;font-style:normal;line-height:1}
.nx-home-actions{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:8px;margin-top:10px}.nx-home-actions button{position:relative;min-width:0;min-height:72px;padding:9px 7px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.04);color:#fff;text-align:center;touch-action:manipulation}.nx-home-actions button>span{display:block;font-size:19px}.nx-home-actions button>strong{display:block;margin-top:2px;font-size:11px}.nx-home-actions button>small{display:block;overflow:hidden;margin-top:2px;color:#8991b1;font-size:7px;white-space:nowrap;text-overflow:ellipsis}.nx-home-actions .is-talk{border-color:color-mix(in srgb,var(--nx-character-accent) 38%,transparent);background:linear-gradient(135deg,rgba(117,82,242,.24),rgba(232,83,183,.15))}.nx-home-actions .is-talk>b{position:absolute;top:7px;right:8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff477c;font-size:8px;line-height:18px}.nx-home-actions .is-talk>b[hidden]{display:none}
.nx-home-record-summary{margin:14px 0 0;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:23px;background:linear-gradient(155deg,rgba(17,21,47,.98),rgba(9,12,31,.99));box-shadow:0 16px 40px rgba(0,0,0,.18)}.nx-home-record-title{display:flex;align-items:flex-end;justify-content:space-between}.nx-home-record-title small{display:block;color:#8d95b7;font-size:8px;letter-spacing:.17em}.nx-home-record-title strong{display:block;margin-top:2px;font-size:17px}.nx-home-record-title>span{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.055);color:#a7adc8;font-size:9px}.nx-home-record-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.nx-home-record-values>div{min-width:0;padding:10px 8px;border-radius:14px;background:rgba(255,255,255,.035);text-align:center}.nx-home-record-values span{display:block;color:#8e96b6;font-size:8px}.nx-home-record-values strong{display:block;overflow:hidden;margin-top:3px;color:#fff;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.nx-home-record-values strong.is-minus{color:#65e5b7}.nx-home-record-values strong.is-plus{color:#ff9fc7}.nx-home-record-summary>button{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-top:9px;padding:0 13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);color:#d9dcef;font-size:10px;font-weight:800}.nx-home-record-summary>button span{font-size:19px}.nx-home-record-summary>small{display:block;margin-top:7px;color:#727a9c;font-size:8px;text-align:center}
@media(max-width:520px){.nx-app-main>.nx-hero-card{min-height:430px}.nx-home-today{margin-left:2px;margin-right:2px;padding:13px;border-radius:22px}.nx-home-today-head strong{font-size:17px}.nx-home-actions{grid-template-columns:repeat(3,1fr)}.nx-home-actions .is-talk{grid-column:1/-1;display:grid;grid-template-columns:30px auto 1fr;align-items:center;min-height:54px;text-align:left;padding:8px 13px}.nx-home-actions .is-talk>span{grid-row:1/3;font-size:21px}.nx-home-actions .is-talk>strong{font-size:12px}.nx-home-actions .is-talk>small{font-size:8px}.nx-home-actions button:not(.is-talk){min-height:65px}.nx-home-record-summary{margin-left:2px;margin-right:2px;padding:13px}.nx-home-record-values strong{font-size:11px}}
@media(max-height:700px) and (max-width:520px){.nx-app-main>.nx-hero-card{min-height:380px}.nx-home-latest{min-height:68px}.nx-home-latest-avatar{width:44px;height:44px}}

.nx-memory-next[hidden],.nx-memory-detail-quote[hidden]{display:none!important}

/* v2.20.60 — keep HOME inside the viewport on narrow/mobile layouts. */
.nx-app-preview,.nx-app-shell,.nx-app-main{min-width:0;max-width:100%}
.nx-app-main>*{min-width:0;max-width:100%}
.nx-home-today,.nx-home-today-head,.nx-home-latest,.nx-home-actions,.nx-instructor-select,.nx-instructor-grid,.nx-instructor-card{min-width:0;max-width:100%}
.nx-home-today-head>* ,.nx-home-latest>* ,.nx-home-actions>* ,.nx-instructor-card>*{min-width:0}
.nx-home-today-head>div{overflow:hidden}.nx-home-today-head strong{overflow-wrap:anywhere}.nx-home-today-head>span{max-width:42%;white-space:normal;text-align:right;overflow-wrap:anywhere}
.nx-home-latest{grid-template-columns:52px minmax(0,1fr) minmax(0,auto)}.nx-home-latest-side{min-width:0}.nx-home-latest-side time{white-space:nowrap}
.nx-instructor-card{grid-template-columns:66px minmax(0,1fr) minmax(0,auto)}.nx-instructor-state{max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:520px){.nx-home-latest{grid-template-columns:46px minmax(0,1fr) minmax(0,auto);gap:9px;padding-left:9px;padding-right:9px}.nx-home-latest-avatar{width:46px;height:46px}.nx-instructor-card{grid-template-columns:58px minmax(0,1fr) minmax(0,auto)}.nx-home-today-head>span{max-width:38%}}

/* v2.20.63 — iOS/PWA root overflow lock + balanced relationship grid. */
html{max-width:100%;overflow-x:hidden!important}
body.nexus-app-page{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden!important}
body.nexus-app-page .wp-site-blocks,body.nexus-app-page .wp-site-blocks>main,body.nexus-app-page .wp-block-post-content,body.nexus-app-page .entry-content,body.nexus-app-page .nx-main,body.nexus-app-page .nx-shell,body.nexus-app-page .nx-content{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
.nx-app-preview,.nx-app-shell{box-sizing:border-box!important;width:100%!important;overflow-x:hidden!important}
.nx-app-main{box-sizing:border-box!important;width:100%!important;overflow-x:clip!important}
.nx-home-actions .so-met-days-card{position:relative;display:flex;min-width:0;min-height:72px;padding:9px 7px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#101329;color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center}.nx-home-actions .so-met-days-card>span{display:block;color:#ff91cd;font-size:19px}.nx-home-actions .so-met-days-card>strong{display:block;margin-top:2px;color:#fff;font-size:11px;white-space:nowrap}.nx-home-actions .so-met-days-card>small{display:block;margin-top:2px;color:#8991b1;font-size:7px;white-space:nowrap}
@media(min-width:521px){.nx-home-actions-companion{grid-template-columns:1.45fr repeat(4,minmax(0,1fr))!important}}
@media(max-width:520px){.nx-home-actions .so-met-days-card{min-height:65px}}
@supports(overflow:clip){html,body.nexus-app-page,.nx-app-preview,.nx-app-shell{overflow-x:clip!important}}

/* v1.95.0 Reward Memory Gacha rarity / admin test presentation */
.nx-reward-modal .nx-reward-card{position:relative;isolation:isolate}
.nx-reward-modal .nx-reward-character{position:relative;overflow:hidden}
.nx-reward-modal .nx-reward-character::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease}
.nx-reward-modal.rarity-normal .nx-reward-card{box-shadow:0 0 48px rgba(255,255,255,.12)}
.nx-reward-modal.rarity-rare .nx-reward-card{border:1px solid rgba(255,210,107,.78);box-shadow:0 0 34px rgba(255,185,65,.28),0 0 90px rgba(255,85,190,.24);animation:nxRewardRareCard 1.15s cubic-bezier(.2,.8,.2,1) both}
.nx-reward-modal.rarity-rare .nx-reward-character::after{opacity:1;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 78% 18%,rgba(255,222,119,.9) 0 2px,transparent 3px),radial-gradient(circle at 70% 72%,rgba(255,255,255,.8) 0 1.5px,transparent 3px),linear-gradient(180deg,transparent 45%,rgba(255,177,72,.14));background-size:90px 90px,120px 120px,72px 72px,100% 100%;animation:nxRewardSparkle 1.8s ease-in-out infinite alternate}
.nx-reward-modal.rarity-rare [data-reward-title]{text-shadow:0 0 18px rgba(255,214,104,.55)}
.nx-reward-modal.rarity-super-rare .nx-reward-card{border:2px solid transparent;background:linear-gradient(#12101b,#12101b) padding-box,conic-gradient(from 0deg,#ffd76a,#ff78d0,#8e7dff,#6de7ff,#ffd76a) border-box;box-shadow:0 0 42px rgba(255,110,210,.42),0 0 110px rgba(129,111,255,.34);animation:nxRewardSuperCard 1.6s cubic-bezier(.16,1,.3,1) both}
.nx-reward-modal.rarity-super-rare .nx-reward-character::after{opacity:1;background:radial-gradient(circle at 12% 18%,#fff 0 2px,transparent 3px),radial-gradient(circle at 88% 25%,#ffe58b 0 2.5px,transparent 4px),radial-gradient(circle at 24% 72%,#ffd0f0 0 2px,transparent 4px),radial-gradient(circle at 74% 68%,#aeeeff 0 2px,transparent 4px),linear-gradient(135deg,rgba(255,215,106,.08),rgba(255,103,198,.12),rgba(107,191,255,.1));background-size:70px 70px,105px 105px,86px 86px,132px 132px,100% 100%;animation:nxRewardSuperSparkle 1.05s linear infinite}
.nx-reward-modal.rarity-super-rare [data-reward-title]{font-size:clamp(22px,6vw,30px);text-shadow:0 0 12px rgba(255,255,255,.45),0 0 28px rgba(255,106,208,.72);animation:nxRewardTitlePop .9s cubic-bezier(.2,1.6,.3,1) both}
.nx-reward-modal.rarity-super-rare .nx-reward-standard.is-powered{background:linear-gradient(115deg,#f0b746,#ff62b7,#7768ff,#58cfff);background-size:220% 220%;animation:nxRewardButtonShine 2.4s ease infinite;box-shadow:0 12px 38px rgba(255,88,190,.4)}
.nx-reward-modal.is-test-preview .nx-ai-beta-content>small::after{content:" · ADMIN TEST";font-weight:900;letter-spacing:.08em}
@keyframes nxRewardRareCard{0%{transform:scale(.965);filter:brightness(.82)}48%{transform:scale(1.018);filter:brightness(1.18)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes nxRewardSparkle{from{background-position:0 0,20px 0,0 22px,0 0;filter:brightness(.9)}to{background-position:18px -14px,2px 20px,16px 3px,0 0;filter:brightness(1.25)}}
@keyframes nxRewardSuperCard{0%{transform:scale(.94) rotateX(3deg);filter:brightness(.72)}38%{transform:scale(1.035) rotateX(0);filter:brightness(1.28)}70%{transform:scale(.992);filter:brightness(1.08)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes nxRewardSuperSparkle{0%{background-position:0 0,12px 0,0 20px,30px 0,0 0}100%{background-position:40px -30px,-28px 36px,34px -18px,-22px 28px,0 0}}
@keyframes nxRewardTitlePop{0%{transform:scale(.84);opacity:.1}55%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes nxRewardButtonShine{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.nx-reward-test-panel{position:fixed;left:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:2147482500;width:min(310px,calc(100vw - 24px));font-family:inherit;color:#fff;filter:drop-shadow(0 16px 34px rgba(0,0,0,.38))}
.nx-reward-test-toggle{border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(21,17,33,.94);color:#fff;padding:8px 13px;font-size:10px;font-weight:900;letter-spacing:.12em;cursor:pointer}
.nx-reward-test-body{margin-top:7px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(19,16,31,.96);backdrop-filter:blur(16px)}
.nx-reward-test-panel.is-collapsed .nx-reward-test-body{display:none}
.nx-reward-test-body>strong{display:block;font-size:13px}.nx-reward-test-body>small{display:block;margin:2px 0 9px;opacity:.6;font-size:10px}.nx-reward-test-body>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nx-reward-test-body button{min-height:38px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.07);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.nx-reward-test-body button:hover{background:rgba(255,255,255,.13)}.nx-reward-test-body p{margin:8px 0 0;font-size:9px;line-height:1.5;opacity:.55}
@media (prefers-reduced-motion:reduce){.nx-reward-modal.rarity-rare .nx-reward-card,.nx-reward-modal.rarity-rare .nx-reward-character::after,.nx-reward-modal.rarity-super-rare .nx-reward-card,.nx-reward-modal.rarity-super-rare .nx-reward-character::after,.nx-reward-modal.rarity-super-rare [data-reward-title],.nx-reward-modal.rarity-super-rare .nx-reward-standard.is-powered{animation:none!important}}


/* v2.20.9 iOS keyboard: keep the active conversation pinned to the latest message. */
@media(max-width:760px){
  html.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-dialogue,
  body.nexus-keyboard-open .nx-life-chat-room.is-chat .nx-trainer-dialogue{
    overflow-anchor:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:contain!important;
  }
}


/* v2.20.14 HOME future slot */
.nx-home-actions .so-future-card small{white-space:normal;line-height:1.25;max-height:2.5em}.nx-home-actions .so-future-card strong{font-size:10px}.nx-home-actions .so-future-card>span{font-size:18px}
