/* r7 · 山雀在场 — lead companion, not garnish */
body.tit-on .sanctuary-home-scene .sh-bird-place{
  left:auto; right:10%; bottom:14%;
  width:280px; z-index:6;
  display:flex; flex-direction:column; align-items:center;
  pointer-events:none;
  filter:none;
}
body.tit-on .sanctuary-home-scene .sh-room-bird{
  position:relative; pointer-events:auto;
  width:248px; height:188px;
  margin:0; padding:0; border:0; background:none;
  filter:drop-shadow(0 18px 16px #0a1a1240);
  transform-origin:55% 85%;
}
body.tit-on .sanctuary-home-scene .sh-room-bird img{
  width:100%; height:100%; object-fit:contain;
  object-position:center bottom;
  user-select:none; -webkit-user-drag:none;
}
/* Stone perch — she lives here */
body.tit-on .sanctuary-home-scene .sh-bird-place .tit-perch{
  position:absolute; left:50%; bottom:-6px;
  width:168px; height:28px;
  transform:translateX(-52%);
  background:
    radial-gradient(ellipse 70% 55% at 50% 35%, #d9d0bc 0%, #b6ab94 55%, #8f8774 100%);
  border-radius:40% 42% 38% 36% / 55% 50% 48% 52%;
  box-shadow:
    0 10px 18px #0a140f55,
    inset 0 1px 0 #efe8d8aa,
    inset 0 -3px 6px #6d655855;
  pointer-events:none; z-index:0;
}
body.tit-on .sanctuary-home-scene .sh-bird-place .tit-perch:after{
  content:''; position:absolute; inset:35% 18% auto; height:2px;
  background:linear-gradient(90deg, transparent, #ffffff55, transparent);
  border-radius:2px;
}
body.tit-on .sanctuary-home-scene .sh-room-bird{ z-index:1; }

/* Host line — always readable on entry, not hover-only */
body.tit-on .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
  position:relative; bottom:auto; right:auto;
  order:-1; margin:0 0 10px;
  width:max-content; max-width:260px;
  padding:11px 16px;
  color:#f6f1df;
  background:#1a2f26f0;
  border:1px solid #e8d6a040;
  border-radius:14px 14px 14px 4px;
  font:500 13px/1.65 "Noto Serif SC",serif;
  letter-spacing:.02em;
  opacity:1; visibility:visible; transform:none;
  box-shadow:0 12px 28px #07140f55;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}
body.tit-on .sanctuary-home-scene .sh-bird-place>p#sh-bird-line:after{
  content:''; position:absolute; left:28px; bottom:-7px;
  border:7px solid transparent; border-top-color:#1a2f26f0; border-bottom:0;
}
body.tit-on .sanctuary-home-scene .sh-bird-place.is-quiet>p#sh-bird-line{
  opacity:.55; transform:translateY(2px);
}
body.tit-on .sanctuary-home-scene .sh-bird-place>[data-home=memories]{
  display:inline-flex; margin-top:8px; pointer-events:auto;
  min-height:34px; padding:0; background:none; border:0;
  color:#efe6c8; font-size:12px; text-decoration:underline;
  text-underline-offset:4px; opacity:.88;
}
body.tit-on .sanctuary-home-scene .sh-bird-place>[data-home=memories]:hover{ opacity:1; color:#fff6df; }

/* Micro-motions */
body.tit-on:not([data-calm=true]) .sanctuary-home-scene[data-live=false] .sh-room-bird img{
  animation:tit-breathe 4.8s ease-in-out infinite;
}
body.tit-on:not([data-calm=true]) .sanctuary-home-scene .sh-room-bird.is-glance img{
  animation:tit-glance .9s cubic-bezier(.16,1,.3,1) both;
}
body.tit-on:not([data-calm=true]) .sanctuary-home-scene .sh-room-bird.is-nuzzle img{
  animation:tit-nuzzle 1s cubic-bezier(.16,1,.3,1) both;
}
@keyframes tit-breathe{
  0%,100%{ transform:translateY(0) rotate(0); }
  50%{ transform:translateY(-4px) rotate(-1.2deg); }
}
@keyframes tit-glance{
  0%{ transform:translateY(0) rotate(0) scale(1); }
  35%{ transform:translateY(-8px) rotate(-6deg) scale(1.03); }
  70%{ transform:translateY(-2px) rotate(3deg) scale(1.01); }
  100%{ transform:none; }
}
@keyframes tit-nuzzle{
  0%{ transform:translateY(0) rotate(0); }
  40%{ transform:translateY(-10px) rotate(-8deg); }
  100%{ transform:none; }
}

/* Free: present host, quieter props */
body.tit-on[data-tit-tier=free] .sanctuary-home-scene .sh-bird-place{
  width:240px; right:11%; bottom:15%;
}
body.tit-on[data-tit-tier=free] .sanctuary-home-scene .sh-room-bird{
  width:228px; height:172px;
  filter:drop-shadow(0 14px 12px #0a1a1235);
}
body.tit-on[data-tit-tier=free] .sanctuary-home-scene .sh-bird-place .tit-perch{
  width:132px; height:22px; opacity:.85;
}
body.tit-on[data-tit-tier=free] .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
  font-size:12px; max-width:220px; padding:9px 13px;
  border-color:#d8d6b428; background:#1c2d24ed;
}
body.tit-on[data-tit-tier=free] .tit-scarf,
body.tit-on[data-tit-tier=free] .tit-feather-growth,
body.tit-on[data-tit-tier=free] .tit-second-perch{ display:none!important; }

/* Pro: richer presence */
body.tit-on[data-tit-tier=pro] .sanctuary-home-scene .sh-bird-place{
  width:300px; right:8%; bottom:12%;
}
body.tit-on[data-tit-tier=pro] .sanctuary-home-scene .sh-room-bird{
  width:268px; height:204px;
  filter:drop-shadow(0 20px 18px #0a1a1248) drop-shadow(0 0 24px #e8d6a018);
}
body.tit-on[data-tit-tier=pro] .sanctuary-home-scene .sh-bird-place .tit-perch{
  width:188px; height:32px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 35%, #e4d8c0 0%, #c4b49a 50%, #9a8c74 100%);
}
body.tit-on[data-tit-tier=pro] .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
  border-color:#e8d6a055;
  background:linear-gradient(160deg,#243830f5,#1a2c24f0);
  box-shadow:0 14px 32px #07140f66, 0 0 0 1px #e8d6a018;
}
/* Yellow CSS props near bird removed per user 2026-10-22 */
body.tit-on .tit-scarf,
body.tit-on .tit-feather-growth,
body.tit-on .tit-second-perch{ display:none!important; }

/* Focus / settle state shifts */
body.tit-on[data-tit-phase=focus] .sanctuary-home-scene .sh-bird-place{
  right:14%; bottom:18%; width:220px;
}
body.tit-on[data-tit-phase=focus] .sanctuary-home-scene .sh-room-bird{
  width:188px; height:142px;
  filter:brightness(.93) drop-shadow(0 12px 10px #0a1a1238);
}
body.tit-on[data-tit-phase=focus] .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
  opacity:.7; font-size:12px;
}
body.tit-on[data-tit-phase=settle] .sanctuary-home-scene .sh-room-bird{
  filter:brightness(.9) drop-shadow(0 14px 14px #0a1a1244);
}
body.tit-on[data-tit-phase=settle] .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
  border-color:#e8d6a066;
}

/* Studio companion button also larger when immersive */
body.tit-on .sophia-studio .companion-button{
  width:210px; right:3%; bottom:110px;
}
body.tit-on .sophia-studio .companion-button img{
  filter:drop-shadow(0 14px 12px #0a1a1240);
}

/* Soft invite — bird as host */
.windowsill-pay-card .tit-host-portrait{
  display:flex; align-items:center; gap:14px;
  margin:0 0 14px; padding:12px 14px;
  background:linear-gradient(120deg,#1e322af0,#24362cf5);
  border:1px solid #e8d6a033; border-radius:14px;
}
.windowsill-pay-card .tit-host-portrait img{
  width:72px; height:72px; object-fit:contain;
  filter:drop-shadow(0 6px 8px #0005);
}
.windowsill-pay-card .tit-host-portrait strong{
  display:block; font:600 14px/1.35 "Noto Serif SC",serif; color:#f5ecd8;
}
.windowsill-pay-card .tit-host-portrait span{
  display:block; margin-top:4px; font-size:12px; line-height:1.5; color:#c9bba6;
}

/* Arrival host flash — first 3 seconds */
.tit-arrival-host{
  position:fixed; inset:0; z-index:95;
  display:grid; place-items:center;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%, #1a2a2299 0%, #0d1814ee 70%);
  animation:tit-arrival-fade 2.6s ease both;
}
.tit-arrival-host>div{
  text-align:center; color:#f5ecd8;
  animation:tit-arrival-in .7s cubic-bezier(.16,1,.3,1) both;
}
.tit-arrival-host img{
  width:160px; height:120px; object-fit:contain;
  display:block; margin:0 auto 18px;
  filter:drop-shadow(0 16px 20px #0006);
}
.tit-arrival-host strong{
  display:block; font:600 28px/1.3 "Noto Serif SC",serif; letter-spacing:.04em;
}
.tit-arrival-host p{
  margin:10px 0 0; font-size:13px; color:#d8cbb0; letter-spacing:.06em;
}
@keyframes tit-arrival-fade{
  0%,55%{ opacity:1; } 100%{ opacity:0; visibility:hidden; }
}
@keyframes tit-arrival-in{
  from{ opacity:0; transform:translateY(10px) scale(.96); }
  to{ opacity:1; transform:none; }
}

@media(max-width:760px){
  body.tit-on .sanctuary-home-scene .sh-bird-place{
    width:168px; right:6%; bottom:18%;
  }
  body.tit-on .sanctuary-home-scene .sh-room-bird{ width:148px; height:112px; }
  body.tit-on[data-tit-tier=pro] .sanctuary-home-scene .sh-room-bird{ width:162px; height:122px; }
  body.tit-on .sanctuary-home-scene .sh-bird-place>p#sh-bird-line{
    font-size:11px; max-width:170px; padding:8px 10px;
  }
  body.tit-on .sanctuary-home-scene .sh-bird-place .tit-perch{ width:100px; height:16px; }
  .tit-arrival-host img{ width:120px; height:90px; }
  .tit-arrival-host strong{ font-size:22px; }
}
@media(prefers-reduced-motion:reduce){
  body.tit-on .sanctuary-home-scene .sh-room-bird img,
  .tit-arrival-host, .tit-arrival-host>div{ animation:none!important; }
}

/* Beat retreat/stay size locks — tit-on wins */
body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-bird-place{
  left:auto!important; top:auto!important;
  right:10%!important; bottom:14%!important;
  width:280px!important; padding:0!important; pointer-events:none!important; z-index:6!important;
}
body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-room-bird{
  width:248px!important; height:188px!important; margin:auto!important; pointer-events:auto!important;
}
body.tit-on[data-tit-tier=pro].retreat-designed #sophia-home .sanctuary-home-scene .sh-bird-place{
  right:8%!important; bottom:12%!important; width:300px!important;
}
body.tit-on[data-tit-tier=pro].retreat-designed #sophia-home .sanctuary-home-scene .sh-room-bird{
  width:268px!important; height:204px!important;
}
body.tit-on[data-tit-tier=free].retreat-designed #sophia-home .sanctuary-home-scene .sh-room-bird{
  width:228px!important; height:172px!important;
}
body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-bird-place>p{
  opacity:1!important; visibility:visible!important; transform:none!important;
  position:relative!important; bottom:auto!important; right:auto!important;
  width:max-content!important; max-width:260px!important;
}
body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-bird-place:after{ display:none!important; }
body.tit-on.stay-designed.home-visible .sanctuary-home-scene .sh-bird-place{
  right:10%!important; bottom:14%!important; width:280px!important;
}
body.tit-on.stay-designed.home-visible .sanctuary-home-scene .sh-room-bird{
  width:248px!important; height:188px!important;
}
@media(max-width:760px){
  body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-bird-place{
    width:168px!important; right:6%!important; bottom:18%!important; top:auto!important;
  }
  body.tit-on.retreat-designed #sophia-home .sanctuary-home-scene .sh-room-bird{
    width:148px!important; height:112px!important;
  }
}
