/* AnimeLink V39 — visual polish approved from the mobile mockup.
   This file only overrides shell/profile/Nakama presentation; it does not replace core modules. */
:root{--al39-red:#ff173c;--al39-red2:#c90829;--al39-card:#0c1219;--al39-card2:#111820;--al39-line:#26313d;--al39-muted:#8f99a5}

/* Brand: larger and better proportioned without changing identity. */
.brand-home{gap:11px!important}.brand-logo-zero{width:44px!important;height:44px!important;flex-basis:44px!important;border-width:2px!important;box-shadow:0 0 0 1px #ff315122,0 0 20px #ff173c35!important}.brand-logo-zero i{width:28px!important;height:28px!important}.brand-name{font-size:21px!important;letter-spacing:-.75px!important}.brand-name>span{color:var(--al39-red)!important}

/* Profile/login: never pill-shaped. */
.auth-entry{border-radius:12px!important}.auth-entry-avatar{background:linear-gradient(145deg,var(--al39-red),#b50825)!important;color:#fff!important;border:1px solid #ff5a73!important;box-shadow:0 0 0 2px #ff173c16!important}.auth-entry.logged-in .auth-entry-avatar{background-color:#b50825!important}
.auth-box-pro{border-radius:22px!important;border-color:#313b46!important;background:linear-gradient(180deg,#111821,#090d12)!important;box-shadow:0 28px 90px #000c!important}.auth-box-pro .oauth{min-height:46px!important;border-radius:12px!important}.auth-box-pro .oauth.email{background:linear-gradient(135deg,var(--al39-red),var(--al39-red2))!important}.auth-oauth-grid{gap:10px!important}.auth-oauth-grid .oauth.google{background:#111820!important;border:1px solid #303b46!important;color:#fff!important}.auth-oauth-grid .oauth.facebook{border:1px solid #3e8cf2!important}.auth-input{border-radius:11px!important}

/* Drawer shell: fixed full height, stable scroll area, cleaner card treatment. */
.sidebar{border-right:1px solid #2b1b22!important;background:linear-gradient(180deg,#090d13,#06090d 70%)!important}
.sidebar .side-nav{scrollbar-gutter:stable!important}
.sidebar .menu{position:relative!important;border:1px solid transparent!important;background:transparent!important;transition:background .16s,border-color .16s,transform .16s!important}
.sidebar .menu:hover,.sidebar .menu:focus-visible{background:#111820!important;border-color:#2a3540!important}.sidebar .menu.active{background:linear-gradient(90deg,#47131d,#211018)!important;border-color:#7c1b2b!important}.sidebar .menu>span{font-weight:760!important}.sidebar .menu>b{margin-left:auto!important;color:#ff6c82!important;font-size:8px!important;letter-spacing:.08em!important}.sidebar .premium-side{box-shadow:0 -10px 28px #0005!important}

/* Nakama home module: premium card, bubble lives inside character so it follows drag. */
.nk21-home-card{grid-template-columns:minmax(0,1fr) minmax(230px,38%)!important;grid-template-rows:1fr auto!important;gap:12px 18px!important;padding:clamp(25px,4vw,46px)!important;border-color:#7b1d30!important;background:radial-gradient(circle at 88% 22%,#ff173c32,transparent 32%),linear-gradient(135deg,#19080e,#090d13 62%,#1b0810)!important;box-shadow:0 24px 70px #0008!important}.nk21-home-copy h2{letter-spacing:-.04em!important}.nk21-home-copy>button{border-radius:12px!important;background:linear-gradient(135deg,var(--al39-red),var(--al39-red2))!important}.nk21-home-character{grid-column:2!important;grid-row:1 / span 2!important;overflow:visible!important;z-index:10!important}.nk21-home-speech{left:auto!important;right:54%!important;top:4%!important;bottom:auto!important;width:190px!important;max-width:62vw!important;border-radius:17px 17px 4px 17px!important;padding:11px 13px!important;font-size:11px!important;cursor:default!important;pointer-events:none!important;transform:translateY(8px)!important;transform-origin:bottom right!important}.nk21-home-speech:after{content:"";position:absolute;right:-8px;bottom:10px;border-width:7px 0 0 9px;border-style:solid;border-color:transparent transparent transparent #fff}.nk21-home-speech:empty{display:none!important}.nk21-home-speech.show{display:block!important;opacity:1!important}
.nk21-home-tools{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-width:570px!important;position:relative!important;z-index:12!important}.nk21-home-tools>button,.nk21-home-size{min-height:68px!important;border:1px solid #2b3540!important;border-radius:13px!important;background:#10161e!important;color:#fff!important;padding:9px 10px!important;text-align:left!important}.nk21-home-tools>button{display:grid!important;grid-template-columns:28px 1fr!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:7px!important;cursor:pointer!important}.nk21-home-tools>button>span{grid-row:1 / span 2!important;display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:9px!important;background:#291019!important;color:#ff6077!important;font-size:16px!important}.nk21-home-tools b{font-size:10px!important}.nk21-home-tools small{color:#8f99a5!important;font-size:8px!important}.nk21-home-size{display:grid!important;grid-template-columns:28px 1fr!important;grid-template-rows:auto auto!important;column-gap:7px!important;align-items:center!important}.nk21-home-size>span{grid-row:1 / span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#291019;color:#ff6077}.nk21-home-size>div{display:flex;align-items:center;gap:4px!important}.nk21-home-size button{display:grid;place-items:center;width:24px;height:24px;border:1px solid #394550!important;border-radius:7px!important;background:#171f28!important;color:#fff!important;padding:0!important}.nk21-home-size output{min-width:32px;text-align:center;color:#ff6f84;font-size:9px;font-weight:900}

/* Floating companion: bubble is attached and remains readable while the character moves. */
.nk21-buddy-speech{right:62%!important;bottom:82%!important;max-width:190px!important;border-color:#ff5f78!important;background:#0d1118f5!important;box-shadow:0 14px 34px #000b!important}.nk21-buddy-menu{grid-template-columns:1fr 1fr!important;width:205px!important}.nk21-buddy-menu button{border:1px solid transparent!important}.nk21-buddy-menu button:hover{border-color:#5c2330!important}

@media(max-width:720px){
  /* Header mirrors the approved mockup: menu, larger logo, shop, bell, red N. */
  .mobile-topbar-v150{height:62px!important;min-height:62px!important;padding:0 7px!important;gap:5px!important;background:linear-gradient(180deg,#05080c,#06090d)!important;border-bottom:1px solid #651222!important;overflow:visible!important}
  .m15-menu{flex-basis:40px!important;width:40px!important;height:42px!important;border-radius:12px!important;background:#0b1118!important;font-size:27px!important}
  .m15-brand{max-width:190px!important;height:50px!important;gap:7px!important;overflow:visible!important}
  .m15-logo-zero{flex-basis:42px!important;width:42px!important;height:42px!important;border-width:2.5px!important;box-shadow:0 0 14px #ff173c55!important}
  .m15-logo-zero i{width:27px!important;height:27px!important}
  .m15-wordmark{font-size:15px!important;letter-spacing:-.72px!important}.m15-brand-copy small{font-size:6.8px!important;max-width:125px!important;color:#a5adb6!important}
  .m15-action,.m15-profile{flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:40px!important;border-radius:11px!important}.m15-profile{border:0!important;background:transparent!important}.m15-profile>span{width:36px!important;height:36px!important;background:linear-gradient(145deg,var(--al39-red),#b50825)!important;border:1px solid #ff6078!important;box-shadow:0 0 0 2px #ff173c18,0 7px 18px #0007!important;color:#fff!important}
  .sidebar{top:62px!important;height:calc(100dvh - 62px)!important;width:min(330px,88vw)!important;left:min(-330px,-88vw)!important;border-radius:0 18px 18px 0!important;box-shadow:20px 0 55px #000c!important;transition:left .22s ease!important}.mobile-nav-open .sidebar{left:0!important}.mobile-overlay{inset:62px 0 0!important;background:#000b!important;backdrop-filter:blur(2px)!important}
  .mobile-side-account{padding:12px!important;background:linear-gradient(180deg,#0d131b,#090d13)!important;border-bottom:1px solid #26313d!important}.mobile-side-profile{min-height:62px!important;padding:10px!important;border:1px solid #28343f!important;border-radius:15px!important;background:#111820!important}.mobile-side-avatar{width:45px!important;height:45px!important;flex-basis:45px!important;background:linear-gradient(145deg,var(--al39-red),#b50825)!important;border:1px solid #ff617a!important;font-size:17px!important}.mobile-side-profile b{font-size:13px!important}.mobile-side-profile small{max-width:205px!important;font-size:9px!important;line-height:1.35!important}
  .mobile-side-auth{display:grid!important;gap:7px!important;margin-top:8px!important}.mobile-side-signin{width:100%!important;min-height:40px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,var(--al39-red),var(--al39-red2))!important;color:#fff!important;font-size:12px!important;font-weight:900!important}.mobile-side-oauth{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important}.mobile-side-oauth button{display:grid!important;grid-template-columns:auto 1fr!important;place-items:center!important;gap:4px!important;min-height:37px!important;border:1px solid #2a3540!important;border-radius:10px!important;background:#0d141b!important;color:#eef2f6!important;padding:6px!important;font-size:9px!important}.mobile-side-oauth b{font-size:14px!important}.mobile-side-oauth button[data-auth-provider="facebook"] b{color:#4c9aff!important}.mobile-side-oauth button[data-auth-provider="google"] b{color:#fff!important}.mobile-side-auth.is-hidden{display:none!important}
  .mobile-side-quick{margin-top:8px!important}.mobile-side-quick button{border-radius:10px!important;background:#0b1117!important}
  .sidebar .side-nav{padding:8px 9px 20px!important}.sidebar .menu{min-height:44px!important;margin:2px 0!important;padding:9px 11px!important;border-radius:11px!important;font-size:14px!important}.sidebar .side-nav>.menu:first-child{position:relative!important;top:auto!important;margin:0 0 5px!important;width:100%!important;border-radius:11px!important;border:1px solid #7b1b2d!important;background:linear-gradient(90deg,#43121c,#251018)!important}.sidebar .premium-side{margin:7px 9px 9px!important;border-radius:12px!important}
  body.mobile-nav-open{overflow:hidden!important}.sidebar{touch-action:pan-y!important}.sidebar .side-nav{touch-action:pan-y!important}
  /* Home Nakama like approved concept. */
  .nk21-home-card{grid-template-columns:minmax(0,56%) minmax(132px,44%)!important;grid-template-rows:1fr auto!important;min-height:380px!important;margin:16px 0!important;padding:22px 15px 14px!important;gap:8px!important;border-radius:24px!important;overflow:hidden!important}.nk21-home-copy{align-self:start!important;padding-top:8px!important}.nk21-home-copy h2{max-width:210px!important;font-size:clamp(29px,8.5vw,37px)!important}.nk21-home-copy p{max-width:220px!important;margin-bottom:12px!important;font-size:11px!important}.nk21-home-copy>button{padding:11px 14px!important;font-size:10px!important}.nk21-home-character{min-height:245px!important;margin-right:-18px!important;align-self:stretch!important;overflow:visible!important}.nk21-home-character .nk21-avatar{min-height:230px!important}.nk21-home-speech{right:54%!important;top:7%!important;width:150px!important;max-width:55vw!important;padding:9px 10px!important;font-size:9.5px!important}.nk21-home-tools{grid-column:1 / -1!important;grid-row:2!important;grid-template-columns:1fr 1fr 1.05fr!important;gap:6px!important;max-width:none!important}.nk21-home-tools>button,.nk21-home-size{min-height:58px!important;padding:7px!important;border-radius:11px!important}.nk21-home-tools>button{grid-template-columns:24px 1fr!important;column-gap:5px!important}.nk21-home-tools>button>span,.nk21-home-size>span{width:24px!important;height:24px!important}.nk21-home-tools b{font-size:8.5px!important}.nk21-home-tools small{font-size:7px!important}.nk21-home-size{grid-template-columns:23px 1fr!important;column-gap:4px!important}.nk21-home-size button{width:21px!important;height:21px!important}.nk21-home-size output{min-width:27px!important;font-size:8px!important}
  .nk21-buddy{width:96px!important;height:120px!important}.nk21-buddy-speech{right:52%!important;min-width:120px!important;max-width:165px!important;font-size:9px!important}
  .auth-box-pro{width:min(430px,94vw)!important;padding:22px 17px!important}.auth-oauth-grid{grid-template-columns:1fr 1fr!important}.auth-box-pro .oauth{border-radius:11px!important}
}

@media(max-width:390px){
  .mobile-topbar-v150{padding-inline:5px!important;gap:3px!important}.m15-menu{flex-basis:37px!important;width:37px!important}.m15-brand{max-width:168px!important;gap:5px!important}.m15-logo-zero{flex-basis:38px!important;width:38px!important;height:38px!important}.m15-logo-zero i{width:24px!important;height:24px!important}.m15-wordmark{font-size:13px!important}.m15-brand-copy small{display:none!important}.m15-action,.m15-profile{flex-basis:35px!important;width:35px!important;min-width:35px!important;max-width:35px!important}.m15-profile>span{width:34px!important;height:34px!important}.nk21-home-card{grid-template-columns:minmax(0,54%) minmax(128px,46%)!important;padding-inline:12px!important}.nk21-home-copy h2{font-size:28px!important}.nk21-home-tools b{font-size:8px!important}.nk21-home-tools small{display:none!important}.nk21-home-tools>button,.nk21-home-size{min-height:49px!important}.mobile-side-oauth span{display:none!important}.mobile-side-oauth button{grid-template-columns:1fr!important}.mobile-side-oauth b{font-size:15px!important}
}

@media(max-height:700px) and (max-width:720px){.mobile-side-profile{min-height:54px!important;padding:7px!important}.mobile-side-auth{margin-top:5px!important}.mobile-side-signin{min-height:34px!important}.mobile-side-oauth button{min-height:31px!important}.mobile-side-quick{display:none!important}.sidebar .menu{min-height:38px!important;padding:6px 10px!important;font-size:12px!important}.sidebar .premium-side{padding:6px 8px!important}}

/* Expressions remain visibly functional even on full-sprite Nakamas that do not yet have facial art. */
@keyframes al39Happy{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-4px) rotate(-1.5deg)}70%{transform:translateY(-1px) rotate(1deg)}}
@keyframes al39Excited{0%,100%{transform:scale(1)}45%{transform:scale(1.045)}70%{transform:scale(.99)}}
@keyframes al39Surprised{0%,100%{transform:scale(1)}25%{transform:scale(1.06)}55%{transform:scale(.985)}}
@keyframes al39Sleepy{0%,100%{transform:rotate(-1deg) translateY(1px)}50%{transform:rotate(1.5deg) translateY(4px)}}
@keyframes al39Angry{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}50%{transform:translateX(2px)}75%{transform:translateX(-1px)}}
@keyframes al39Sad{0%,100%{transform:translateY(2px) rotate(1.5deg)}50%{transform:translateY(5px) rotate(-1deg)}}
@keyframes al39Shy{0%,100%{transform:rotate(1deg)}50%{transform:rotate(-2deg) translateX(-2px)}}
.nk21-avatar[data-expression="happy"] .nk21-avatar-motion{animation:al39Happy 2.8s ease-in-out infinite!important}.nk21-avatar[data-expression="excited"] .nk21-avatar-motion{animation:al39Excited 1.75s ease-in-out infinite!important;filter:drop-shadow(0 0 9px #ff31514d)}.nk21-avatar[data-expression="surprised"] .nk21-avatar-motion{animation:al39Surprised 2.2s ease-in-out infinite!important}.nk21-avatar[data-expression="sleepy"] .nk21-avatar-motion{animation:al39Sleepy 4.8s ease-in-out infinite!important;filter:saturate(.9) brightness(.94)}.nk21-avatar[data-expression="angry"] .nk21-avatar-motion{animation:al39Angry .7s ease-in-out 2!important;filter:drop-shadow(0 0 10px #ff173c66)}.nk21-avatar[data-expression="sad"] .nk21-avatar-motion{animation:al39Sad 4s ease-in-out infinite!important;filter:saturate(.8) brightness(.93)}.nk21-avatar[data-expression="shy"] .nk21-avatar-motion{animation:al39Shy 3.5s ease-in-out infinite!important;filter:drop-shadow(0 0 7px #ff89a044)}
@media(prefers-reduced-motion:reduce){.nk21-avatar[data-expression] .nk21-avatar-motion{animation:none!important}}


/* V39 profile modal: the account actions previously depended on an unloaded legacy stylesheet. */
.al-core-modal:has(.al-profile-actions){padding:16px!important;align-items:center!important;justify-content:center!important}
.al-core-dialog:has(.al-profile-actions){width:min(480px,100%)!important;max-height:min(88dvh,760px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:34px 28px 26px!important;border-radius:24px!important;background:linear-gradient(160deg,#171719,#0d0e10 72%)!important;border:1px solid #35353a!important;box-shadow:0 28px 90px #000c!important;color:#f5f5f7!important}
.al-profile-head{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;gap:14px!important;text-align:center!important;padding:4px 30px 0!important}
.al-profile-head>div:last-child{min-width:0!important;width:100%!important}
.al-profile-avatar{width:96px!important;height:96px!important;flex:0 0 96px!important;margin:0!important;border-radius:18px!important;border:1px solid #45454a!important;font-size:38px!important}
.al-profile-head .core-kicker{display:block!important;margin:0 0 10px!important;color:#ff526a!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.4!important}
.al-profile-head h2{margin:0!important;color:#f6f6f8!important;font-size:clamp(23px,6vw,30px)!important;line-height:1.2!important;overflow-wrap:anywhere!important}
.al-profile-head .core-muted{margin:12px 0 0!important;color:#a8a8ad!important;font-size:clamp(13px,3.8vw,17px)!important;line-height:1.45!important;overflow-wrap:anywhere!important}
.al-profile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:24px 0 18px!important}
.al-profile-actions button{box-sizing:border-box!important;min-width:0!important;min-height:66px!important;display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-content:center!important;align-items:center!important;column-gap:9px!important;row-gap:3px!important;padding:11px 12px!important;border:1px solid #30333a!important;border-radius:14px!important;background:linear-gradient(145deg,#171a20,#111318)!important;color:#f4f5f7!important;text-align:left!important;font:inherit!important;line-height:1.25!important;cursor:pointer!important;box-shadow:none!important;white-space:normal!important}
.al-profile-actions button:hover,.al-profile-actions button:focus-visible{border-color:#a02a3c!important;background:#21141a!important;outline:none!important}
.al-profile-actions button>b,.al-profile-actions button>small{grid-column:2!important;display:block!important;min-width:0!important;margin:0!important;overflow-wrap:anywhere!important}
.al-profile-actions button>b{grid-row:1!important;font-size:14px!important;font-weight:800!important;color:#f6f6f8!important}
.al-profile-actions button>small{grid-row:2!important;font-size:11px!important;line-height:1.3!important;color:#a1a5ad!important}
.al-core-dialog:has(.al-profile-actions)>.core-danger{min-height:54px!important;border-radius:14px!important;font-size:15px!important}
@media(max-width:560px){
 .al-core-modal:has(.al-profile-actions){padding:12px!important}
 .al-core-dialog:has(.al-profile-actions){width:100%!important;max-height:calc(100dvh - 24px)!important;padding:30px 18px 18px!important;border-radius:22px!important}
 .al-profile-head{gap:12px!important;padding-inline:25px!important}
 .al-profile-avatar{width:82px!important;height:82px!important;flex-basis:82px!important;font-size:34px!important}
 .al-profile-actions{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin:20px 0 14px!important}
 .al-profile-actions button{min-height:58px!important;padding:9px 12px!important}
}


/* Mobile shell hardening: pin the menu control, isolate drawer scrolling, and keep the page behind opaque. */
@media(max-width:720px){
  .mobile-topbar-v150{position:fixed!important;inset:0 0 auto!important;width:100%!important;height:62px!important;min-height:62px!important;z-index:12020!important;overflow:visible!important}
  body{padding-top:62px!important;max-width:100vw!important;overflow-x:hidden!important}
  .m15-brand-copy small{display:block!important;max-width:122px!important;margin-top:3px!important;overflow:visible!important;color:#aab1bb!important;font-size:6.5px!important;line-height:1.2!important;letter-spacing:.02em!important;white-space:nowrap!important}
  .mobile-overlay{position:fixed!important;inset:62px 0 0!important;z-index:11980!important;display:none!important;background:rgba(0,0,0,.78)!important;backdrop-filter:blur(3px)!important}
  body.mobile-nav-open .mobile-overlay{display:block!important}
  .sidebar{position:fixed!important;top:62px!important;bottom:0!important;left:0!important;right:auto!important;width:min(330px,88vw)!important;height:auto!important;max-height:none!important;z-index:11990!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;overscroll-behavior:contain!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;background:#080c12!important;isolation:isolate!important;contain:layout paint!important}
  body.mobile-nav-open .sidebar{left:0!important;transform:translateX(0)!important}
  .mobile-side-account{position:relative!important;z-index:2!important;flex:0 0 auto!important;background:#0a0e14!important}
  .sidebar .side-nav{position:relative!important;z-index:1!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;scrollbar-color:#ff3151 #10141a!important;background:#080c12!important}
  .sidebar .side-nav::-webkit-scrollbar{display:block!important;width:5px!important}.sidebar .side-nav::-webkit-scrollbar-thumb{background:#ff3151!important;border-radius:99px!important}
  .sidebar .premium-side{position:relative!important;z-index:2!important;flex:0 0 auto!important;margin:6px 9px 9px!important;background:#100d13!important}
  body.mobile-nav-open{overflow:hidden!important;overscroll-behavior:none!important}
}
@media(max-width:390px){.m15-brand{max-width:158px!important}.m15-brand-copy small{font-size:6px!important;max-width:112px!important}}
