/* ============================================================================
   YAZME · КОМНАТА — единый профиль                persona/assets/profile_room.css
   ----------------------------------------------------------------------------
   Подключается ПОСЛЕ tokens.css, ui.css, profile.css, author.css и
   profile_studio.css: шторки, награды, «пока вас не было», кнопки — оттуда.
   Здесь — комната (пастельный мир питомца, как в /persona/pet) и лист профиля.
   Все правила под .rm и не задевают док, шапку и модалки сайта.
   Цвета листа — токены темы; цвета комнаты — палитра питомцев (pet.css).
   ========================================================================== */
.rm{ --pink:#3b2a2c; --pink2:#7c6669; --rm-h:clamp(452px, 66svh, 540px); --safe:env(safe-area-inset-top,0px); overflow-x:clip; }
.rm button{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.rm button:focus-visible, .rm a:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.rm .grow{ flex:1; min-width:0; }

/* ═══════════════════════ КОМНАТА ═══════════════════════ */
.rm-room{ position:relative; height:calc(var(--rm-h) + var(--safe)); overflow:hidden; isolation:isolate; color:var(--pink); background:#ffe7da; user-select:none; -webkit-user-select:none; }
.rm-wall{ position:absolute; left:0; right:0; top:0; bottom:37%; background:radial-gradient(circle,#ffcfb9 2.5px,transparent 3px) 0 0/26px 26px,linear-gradient(180deg,#ffe7da,#ffdccb); }
.rm-wall::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:10px; background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35)); box-shadow:0 3px 0 rgba(120,70,40,.08); }
/* обои — из каталога питомцев (persona/assets/pet.css → .wp-*) */
.rm-room.wp-mint .rm-wall{ background:radial-gradient(circle,#b9e8d3 2.5px,transparent 3px) 0 0/26px 26px,linear-gradient(180deg,#e2f7ec,#d2f0e2); }
.rm-room.wp-lilac .rm-wall{ background:repeating-linear-gradient(90deg,#e6dbff 0 18px,#eee6ff 18px 36px); }
.rm-room.wp-sky .rm-wall{ background:radial-gradient(circle at 20% 30%,#fff 0 14px,transparent 15px) 0 0/90px 70px,linear-gradient(180deg,#d6ecff,#c3e2ff); }
.rm-room.wp-night .rm-wall{ background:radial-gradient(circle,rgba(255,255,255,.7) 1.2px,transparent 1.6px) 0 0/34px 30px,radial-gradient(circle,rgba(255,240,180,.8) 1.5px,transparent 2px) 13px 17px/46px 40px,linear-gradient(180deg,#2e2f63,#3d3a7a); }
.rm-room.wp-candy .rm-wall{ background:repeating-linear-gradient(135deg,#ffe3ee 0 16px,#fff2e0 16px 32px); }
.rm-room.wp-forest .rm-wall{ background:radial-gradient(ellipse 22px 34px at 20% 90%,#9ed9a6 60%,transparent 62%) 0 0/70px 80px,radial-gradient(ellipse 18px 28px at 70% 95%,#86cf94 60%,transparent 62%) 0 0/70px 80px,linear-gradient(180deg,#e7f7e2,#d1efcc); }
.rm-room.wp-space .rm-wall{ background:radial-gradient(circle,#fff 1px,transparent 1.6px) 0 0/28px 24px,radial-gradient(circle at 70% 30%,rgba(255,150,220,.45),transparent 40%),radial-gradient(circle at 20% 70%,rgba(120,160,255,.4),transparent 45%),linear-gradient(180deg,#221a4d,#3a2a74); }

.rm-floor{ position:absolute; left:0; right:0; bottom:0; height:37%; }
.rm-floor.fl-wood{ background:linear-gradient(180deg,rgba(120,70,40,.12),transparent 30%),repeating-linear-gradient(90deg,#f6d6b8 0 64px,#efcaa8 64px 66px); }
.rm-floor.fl-pink{ background:linear-gradient(180deg,rgba(120,40,70,.1),transparent 30%),repeating-conic-gradient(#ffd6e4 0 25%,#ffe8f0 0 50%) 0 0/44px 44px; }
.rm-floor.fl-grass{ background:linear-gradient(180deg,rgba(40,90,40,.14),transparent 30%),radial-gradient(circle at 30% 40%,#a8e6a0 2px,transparent 3px) 0 0/22px 18px,linear-gradient(180deg,#8fd98f,#78cf86); }
.rm-floor.fl-carpet{ background:linear-gradient(180deg,rgba(80,60,120,.12),transparent 30%),radial-gradient(circle,#d9cbff 1.5px,transparent 2px) 0 0/10px 10px,linear-gradient(180deg,#c9b8f5,#bba8ee); }

/* окно: небо по времени суток хозяина (Москва) */
.rm-win{ position:absolute; left:8%; top:calc(var(--safe) + 96px); width:25%; max-width:150px; aspect-ratio:3/3.4; border-radius:50% 50% 14px 14px/40% 40% 14px 14px; border:6px solid #fff; overflow:hidden; box-shadow:0 6px 0 rgba(0,0,0,.06); z-index:1; background:linear-gradient(180deg,#8fcbff,#cfe9ff 70%,#fff1d8); }
.rm-win::after{ content:""; position:absolute; left:50%; top:0; bottom:0; width:5px; margin-left:-2.5px; background:#fff; box-shadow:0 0 0 0 #fff; }
.rm-win::before{ content:""; position:absolute; left:0; right:0; top:52%; height:5px; background:#fff; z-index:2; }
.rm-sun{ position:absolute; right:16%; top:18%; width:30%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#fff6c9,#ffd76b 60%,#f7b63a); box-shadow:0 0 18px 6px rgba(255,215,107,.55); }
.rm-cloud{ position:absolute; height:14%; border-radius:99px; background:#fff; opacity:.95; animation:rmCloud 22s linear infinite; }
.rm-cloud.a{ width:46%; top:54%; left:-40%; }
.rm-cloud.b{ width:34%; top:30%; left:-60%; animation-duration:30s; animation-delay:-11s; opacity:.8; }
.rm-stars{ position:absolute; inset:0; opacity:0; background:radial-gradient(circle,#fff 1px,transparent 1.5px) 3px 4px/15px 13px,radial-gradient(circle,#fff5c4 1.2px,transparent 1.8px) 9px 1px/23px 19px; }
@keyframes rmCloud{ to{ transform:translateX(420%); } }
.rm[data-part="morning"] .rm-win{ background:linear-gradient(180deg,#ffc7d6,#ffe1c4 60%,#fff3dc); }
.rm[data-part="morning"] .rm-sun{ top:56%; right:auto; left:14%; }
.rm[data-part="evening"] .rm-win{ background:linear-gradient(180deg,#8d6fd6,#ff9e8a 55%,#ffcf8f); }
.rm[data-part="evening"] .rm-sun{ top:62%; right:22%; background:radial-gradient(circle,#ffe3b8,#ff9d5c 60%,#e8703a); box-shadow:0 0 22px 8px rgba(255,140,80,.5); }
.rm[data-part="night"] .rm-win{ background:linear-gradient(180deg,#1b1f4d,#2d2f6b 70%,#3b3470); }
.rm[data-part="night"] .rm-sun{ top:14%; right:18%; width:24%; background:radial-gradient(circle at 36% 36%,#fffbe6,#f4ecc2 60%,#d9cf9c); box-shadow:0 0 16px 4px rgba(255,248,210,.35); }
.rm[data-part="night"] .rm-cloud{ opacity:.14; }
.rm[data-part="night"] .rm-stars{ opacity:1; }
/* свет комнаты: вечером тёплый, ночью — синий с пятном лампы */
.rm-light{ position:absolute; inset:0; z-index:5; pointer-events:none; transition:background .8s; }
.rm[data-part="evening"] .rm-light{ background:linear-gradient(180deg,rgba(255,140,90,.12),rgba(160,90,200,.08)); }
.rm[data-part="night"] .rm-light{ background:radial-gradient(55% 40% at 50% 70%,rgba(255,214,150,.0),rgba(40,36,96,.0) 30%,transparent 70%),linear-gradient(180deg,rgba(40,36,110,.55),rgba(40,36,110,.38)); mix-blend-mode:multiply; }
.rm[data-part="night"] .rm-f .twinkle{ filter:drop-shadow(0 0 6px rgba(255,220,140,.9)); }

/* мебель и малыш */
.rm-furn{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.rm-f{ position:absolute; transform:translateX(-50%); }
.rm-f.rug{ z-index:-1; }
.rm-f>svg{ width:100%; height:auto; display:block; overflow:visible; }
.rm-pet{ all:unset; position:absolute; left:50%; bottom:106px; z-index:4; width:calc(178px * var(--sz,1)); aspect-ratio:1; transform:translateX(-46%); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.rm-pet:focus-visible{ outline:3px solid #4e8fd6; outline-offset:4px; border-radius:30px; }
.rm-pet.away{ opacity:0; pointer-events:none; }
.rm-shadow{ position:absolute; left:50%; bottom:104px; z-index:3; width:128px; height:18px; margin-left:-60px; border-radius:50%; background:rgba(120,60,30,.16); }
.rm-hearts{ position:absolute; inset:0; pointer-events:none; overflow:visible; }
.rm-hearts i{ position:absolute; width:24px; height:24px; color:#ff6f96; animation:rmHeart 1.2s ease-out forwards; }
.rm-hearts i svg{ width:100%; height:100%; display:block; }
@keyframes rmHeart{ 0%{ opacity:0; transform:translate(0,0) scale(.4); } 20%{ opacity:1; } 100%{ opacity:0; transform:translate(var(--dx),-110px) scale(1.15); } }

/* анимации малыша (как в pet.css, без #pet) */
.rm .petsvg{ width:100%; height:100%; overflow:visible; display:block; animation:rmBob 2.4s ease-in-out infinite; }
.rm .petsvg .eyeH, .rm .petsvg .eyeS, .rm .petsvg .mouthO, .rm .petsvg .zz{ display:none; }
.rm .petsvg .eyeN{ transform-box:fill-box; transform-origin:center; animation:rmBlink 4.4s infinite; }
.rm .petsvg.happy .eyeN, .rm .petsvg.sleep .eyeN{ display:none; }
.rm .petsvg.happy .eyeH{ display:inline; }
.rm .petsvg.happy .mouthO{ display:inline; }
.rm .petsvg.happy .mouthN{ display:none; }
.rm .petsvg.sleep .eyeS, .rm .petsvg.sleep .zz{ display:inline; }
.rm .petsvg.sleep{ animation:rmBreath 3.6s ease-in-out infinite; }
.rm .petsvg .tail{ transform-origin:84px 92px; animation:rmWag 1.8s ease-in-out infinite; }
.rm .petsvg .breath{ animation:rmBreathe 3s ease-in-out infinite; transform-box:fill-box; transform-origin:50% 100%; }
.rm .petsvg .zz text{ animation:rmZz 2s ease-in-out infinite; }
.rm .petsvg .twinkle, .rm .rm-f .twinkle{ animation:rmTwinkle 2.4s ease-in-out infinite; }
.rm .petsvg .dogt{ transform-origin:84px 90px; }
.rm .petsvg .wagt{ animation:rmWagFast .5s ease-in-out infinite; }
.rm .petsvg.hop{ animation:rmHop .6s cubic-bezier(.34,1.56,.5,1); }
@keyframes rmBlink{ 0%,93%,100%{ transform:scaleY(1); } 96%{ transform:scaleY(.08); } }
@keyframes rmWag{ 50%{ transform:rotate(-16deg); } }
@keyframes rmBreathe{ 50%{ transform:scaleY(1.035) scaleX(.99); } }
@keyframes rmBreath{ 50%{ transform:scale(1.02,.98); } }
@keyframes rmBob{ 50%{ transform:translateY(-6px); } }
@keyframes rmZz{ 50%{ transform:translateY(-5px); opacity:.5; } }
@keyframes rmTwinkle{ 50%{ opacity:.35; } }
@keyframes rmHop{ 30%{ transform:translateY(-28px) scale(.95,1.08); } 62%{ transform:translateY(0) scale(1.08,.9); } }
@keyframes rmWagFast{ 0%,100%{ transform:rotate(8deg); } 50%{ transform:rotate(-14deg); } }

/* яйцо */
.rm-egg{ position:absolute; left:50%; bottom:150px; z-index:4; width:118px; margin-left:-59px; display:block; animation:rmEggW 2.6s ease-in-out infinite; transform-origin:50% 90%; }
.rm-egg svg{ width:100%; height:auto; display:block; }
.rm-cushion{ position:absolute; left:50%; bottom:128px; z-index:3; width:168px; height:40px; margin-left:-84px; border-radius:50%; background:radial-gradient(ellipse at 50% 35%,#ffd7e2,#f29bb4); box-shadow:0 8px 0 #d7768f; }
.rm-glow{ position:absolute; left:50%; bottom:150px; z-index:2; width:260px; height:260px; margin-left:-130px; border-radius:50%; background:radial-gradient(circle,rgba(255,220,160,.65),rgba(255,220,160,0) 65%); animation:rmTwinkle 3s ease-in-out infinite; }
@keyframes rmEggW{ 0%,70%,100%{ transform:rotate(0); } 76%{ transform:rotate(-6deg); } 84%{ transform:rotate(5deg); } 92%{ transform:rotate(-2deg); } }

/* портрет главного героя (питомцы ещё не включены) */
.rm-portrait{ position:absolute; left:50%; top:calc(var(--safe) + 88px); z-index:3; width:min(46%, 190px); transform:translateX(-50%) rotate(-2deg); padding:8px 8px 30px; background:#fff; border-radius:6px; box-shadow:0 12px 26px -10px rgba(59,42,44,.5); color:var(--pink); text-decoration:none; }
.rm-portrait img{ display:block; width:100%; aspect-ratio:1; object-fit:cover; object-position:50% 20%; border-radius:3px; }
.rm-portrait span{ position:absolute; left:0; right:0; bottom:6px; text-align:center; font:600 17px/1 var(--f-hand, cursive); }
.rm[data-state="off"] .rm-win{ left:auto; right:8%; }

/* верхняя панель поверх комнаты */
.rm{ position:relative; }
.rm-top{ position:absolute; left:0; right:0; top:0; z-index:20; display:flex; align-items:center; gap:8px; padding:calc(var(--safe) + 12px) 14px 0; }
.rm-gb{ all:unset; box-sizing:border-box; flex:none; width:40px; height:40px; border-radius:999px; display:grid; place-items:center; cursor:pointer; color:var(--pink); background:rgba(255,255,255,.62); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 4px 14px -6px rgba(59,42,44,.35); position:relative; }
.rm-gb .pv-ic, .rm-gb>svg{ width:19px; height:19px; }
.rm-top .pn-bellzone .notif-badge{ border-color:#fff; }
.rm-gb:focus-visible{ outline:2px solid #4e8fd6; outline-offset:2px; }
.rm-fam{ display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:calc(100% - 150px); height:44px; padding:0 12px 0 5px; border-radius:999px; background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 6px 16px -8px rgba(59,42,44,.4); color:var(--pink); text-decoration:none; }
.rm-fam.plain{ padding-left:12px; }
.rm-fam .pv-ic{ width:18px; height:18px; flex:none; }
.rm-fam .pr{ display:flex; flex:none; }
.rm-fam .pr>*{ width:32px; height:32px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px #fff; display:grid; place-items:center; font:700 12px/1 var(--f-display); color:#fff; background:linear-gradient(135deg,#ffb07a,#e0795a); }
.rm-fam .pr>*+*{ margin-left:-10px; }
.rm-fam .t{ display:flex; flex-direction:column; min-width:0; }
.rm-fam .t b{ font:700 12.5px/1.15 var(--f-display); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rm-fam .t i{ font-style:normal; font-size:11.5px; color:var(--pink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }


/* пузырь */
.rm-say{ position:absolute; right:14px; top:calc(var(--safe) + 70px); z-index:7; max-width:min(58%, 250px); margin:0; padding:9px 12px; border-radius:16px 16px 4px 16px; background:#fff; color:var(--pink); font:500 13px/1.35 var(--f-ui); box-shadow:0 10px 22px -10px rgba(59,42,44,.5); }
.rm-say small{ display:block; margin-top:3px; font-size:11px; color:var(--pink2); }
.rm-say.pop{ animation:rmPop .45s cubic-bezier(.34,1.56,.5,1); }
.rm[data-state="off"] .rm-say{ top:auto; bottom:128px; right:auto; left:50%; transform:translateX(-50%); border-radius:16px; text-align:center; max-width:min(80%, 320px); font-style:italic; }
@keyframes rmPop{ 0%{ transform:scale(.85); opacity:.4; } 100%{ transform:scale(1); opacity:1; } }

/* действия внизу комнаты */
.rm-acts{ position:absolute; left:0; right:0; bottom:38px; z-index:8; display:flex; justify-content:center; gap:8px; padding:0 12px; }
.rm-act{ all:unset; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; gap:5px; width:68px; cursor:pointer; text-decoration:none; color:var(--pink); }
.rm-act>span{ position:relative; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:#fff; box-shadow:0 4px 0 #ead9cf,0 10px 18px -10px rgba(59,42,44,.45); transition:transform .1s, box-shadow .1s; }
/* кольцо вокруг кнопки ухода — потребность: сытость, радость, чистота */
.rm-act[data-k]>span::before{ content:""; position:absolute; inset:-5px; border-radius:50%; background:conic-gradient(var(--c,#f2b53b) var(--v,50%), rgba(59,42,44,.14) 0); -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3.5px)); mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3.5px)); transition:--v .6s; }
.rm-act[data-k="mood"]{ --c:#ff8fb1; }
.rm-act[data-k="clean"]{ --c:#86c2ff; }
.rm-act.room>span{ border-radius:18px; }
.rm-act.room .bch{ position:absolute; top:-9px; right:-14px; height:20px; padding:0 7px 0 4px; border-radius:999px; background:#fff; color:#b9731a; font-size:10.5px; gap:3px; box-shadow:0 2px 8px -2px rgba(59,42,44,.35); }
.rm-act.room .bch i{ width:11px; height:11px; }
.rm-act>span .pv-ic{ width:23px; height:23px; }
.rm-act:active>span{ transform:translateY(3px); box-shadow:0 1px 0 #ead9cf; }
.rm-act em{ font-style:normal; font:600 11.5px/1 var(--f-ui); text-shadow:0 1px 0 rgba(255,255,255,.7); }
.rm-act.busy>span{ opacity:.6; }
.rm-act:focus-visible>span{ outline:2px solid #4e8fd6; outline-offset:2px; }
.rm-acts.guest{ bottom:40px; }
.rm-act.wide{ flex-direction:row; width:auto; height:52px; padding:0 18px 0 6px; gap:10px; border-radius:20px; background:#6fcfaa; color:#fff; box-shadow:0 4px 0 #3fa37f,0 12px 22px -10px rgba(63,163,127,.8); }
.rm-act.wide>span{ width:40px; height:40px; border-radius:14px; background:rgba(255,255,255,.25); box-shadow:none; }
.rm-act.wide em{ font:800 15px/1 var(--f-ui); text-shadow:none; }
.rm-act.wide b{ font:700 12px/1 var(--f-display); opacity:.9; }
.rm-act.wide:active{ transform:translateY(3px); box-shadow:0 1px 0 #3fa37f; }
.rm-act.wide.done{ background:#fff; color:var(--pink); box-shadow:0 4px 0 #ead9cf,0 10px 18px -10px rgba(59,42,44,.4); }
.rm-act.wide.done>span{ background:#e9f8f1; color:#3fa37f; }
.rm-act.wide:disabled{ opacity:.7; }

/* пустая комната и яйцо */
.rm-room.is-empty .rm-wall{ filter:saturate(.75) brightness(.96); }
.rm-empty{ position:absolute; left:0; right:0; bottom:40px; z-index:8; display:flex; flex-direction:column; align-items:center; gap:10px; padding:0 22px; text-align:center; color:var(--pink); }
.rm-card{ display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; max-width:360px; padding:16px 16px 14px; border-radius:24px; background:rgba(255,250,246,.86); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 14px 30px -16px rgba(59,42,44,.45); }
.rm-card .rm-pbtn{ margin-top:4px; }
.rm-empty h2{ margin:0; font:700 20px/1.2 var(--f-display); letter-spacing:-.01em; text-wrap:balance; }
.rm-empty p{ margin:0; font-size:13.5px; color:var(--pink2); max-width:32ch; }
.rm-eggs{ display:flex; align-items:flex-end; gap:6px; margin-bottom:2px; }
.rm-eggs>span{ display:block; width:64px; animation:rmEggW 2.6s ease-in-out infinite; transform-origin:50% 90%; }
.rm-eggs>span:nth-child(2){ width:80px; animation-delay:-.9s; }
.rm-eggs>span:nth-child(3){ animation-delay:-1.7s; }
.rm-eggs svg{ width:100%; height:auto; display:block; }
.rm-pbtn{ height:48px; padding:0 22px; }
.rm-empty.egg{ gap:12px; }
.rm-warm{ display:flex; gap:8px; width:100%; max-width:320px; }
.rm-warm span{ flex:1; display:flex; flex-direction:column-reverse; gap:6px; padding:8px 10px; border-radius:14px; background:rgba(255,255,255,.78); text-align:left; }
.rm-warm em{ font-style:normal; font:600 11.5px/1 var(--f-ui); }
.rm-warm i{ display:block; height:6px; border-radius:9px; background:rgba(59,42,44,.12); position:relative; overflow:hidden; }
.rm-warm i::after{ content:""; position:absolute; inset:0 auto 0 0; width:var(--v); background:#ff9f7a; border-radius:inherit; }
.rm-warm span+span i::after{ background:#ff8fb1; }

/* пауза анимаций: кнопка, вне экрана, в фоне, reduce */
.rm-still{ all:unset; position:absolute; right:10px; bottom:112px; z-index:8; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:var(--pink2); background:rgba(255,255,255,.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); }
.rm-still .pv-ic{ width:13px; height:13px; }
.rm-still:focus-visible{ outline:2px solid #4e8fd6; outline-offset:2px; }
.rm.rm-still-on .rm-room *, .rm.rm-off .rm-room *, .rm.rm-hid .rm-room *{ animation-play-state:paused !important; }
@media (prefers-reduced-motion: reduce){
  .rm .rm-room *{ animation:none !important; }
  .rm .rm-still{ display:none; }
}

/* ═══════════════════════ МИНИ-ПОЛОСКА ═══════════════════════ */
.rm-mini{ position:fixed; left:0; right:0; top:0; z-index:70; display:flex; justify-content:center; pointer-events:none; transform:translateY(-110%); transition:transform .28s var(--e-out); }
.rm-mini.on{ transform:none; pointer-events:auto; }
.rm-mini-in{ all:unset; box-sizing:border-box; cursor:pointer; display:flex; align-items:center; gap:10px; width:100%; max-width:var(--col,660px); padding:calc(env(safe-area-inset-top,0px) + 8px) 16px 8px; background:var(--s1); box-shadow:0 1px 0 var(--hair),0 10px 24px -14px rgba(0,0,0,.6); color:var(--t1); }
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){ .rm-mini-in{ background:color-mix(in srgb, var(--s1) 88%, transparent); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); } }
.rm-mini-pet{ flex:none; width:36px; height:36px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:var(--s3); font:600 15px/1 var(--f-serif); }
.rm-mini-pet img{ width:100%; height:100%; object-fit:cover; }
.rm-mini b{ display:block; font:600 14px/1.2 var(--f-ui); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rm-mini i{ display:block; font-style:normal; font-size:12px; color:var(--t3); }
.rm-mini .pv-ic{ color:var(--t3); }
@media (min-width:900px){ .rm-mini{ display:none; } }

/* ═══════════════════════ ЛИСТ ПРОФИЛЯ ═══════════════════════ */
.rm-sheet{ position:relative; z-index:9; margin-top:-26px; border-radius:28px 28px 0 0; background:var(--s0); padding:0 16px calc(128px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; gap:20px; }
.rm-sheet>.pfk-grip{ margin:10px auto 0; }

.rm-id{ display:flex; flex-direction:column; gap:14px; }
.rm-id-row{ display:flex; align-items:flex-start; gap:14px; padding-top:48px; }
.rm-id-row>.grow{ padding-top:6px; }
.rm-ava-w{ position:relative; flex:none; }
.rm .c-ava.rm-ava{ width:84px; height:84px; }
.rm .c-ava.rm-ava .c-ava-l{ font-size:32px; }
.rm .c-ava.rm-ava img{ box-shadow:0 0 0 2px var(--s0),0 0 0 3.5px rgba(250,249,245,.35); }
.rm .c-ava.rm-ava.framed img, .rm .c-ava.rm-ava.framed .c-ava-l{ box-shadow:0 0 0 2.5px var(--s0),0 0 0 5px var(--hero-hi); }
.rm .c-ava.rm-ava .cam{ right:0; bottom:0; width:24px; height:24px; }
.rm .c-ava.rm-ava .cam svg{ width:13px; height:13px; }
/* записка над аватаром (как заметки в инстаграме) */
.rm-note{ all:unset; box-sizing:border-box; position:absolute; left:-4px; bottom:calc(100% + 12px); z-index:2; width:max-content; max-width:min(210px, 62vw); padding:8px 12px; border-radius:18px; background:var(--s3); color:var(--t1); font:500 13px/1.3 var(--f-ui); cursor:pointer; box-shadow:0 10px 22px -12px rgba(0,0,0,.7); overflow-wrap:anywhere; }
.rm-note::before, .rm-note::after{ content:""; position:absolute; border-radius:50%; background:inherit; }
.rm-note::before{ left:18px; bottom:-6px; width:12px; height:12px; }
.rm-note::after{ left:12px; bottom:-13px; width:6px; height:6px; }
.rm-note.empty{ background:transparent; color:var(--t3); box-shadow:inset 0 0 0 1.5px var(--hair2); }
.rm-note.empty::before, .rm-note.empty::after{ background:var(--s0); box-shadow:inset 0 0 0 1.5px var(--hair2); }
.rm-note[data-act="none"]{ cursor:default; }
.rm-note.pop{ animation:rmPop .45s cubic-bezier(.34,1.56,.5,1); }
.rm-name{ margin:0; font:700 clamp(22px, 6.6vw, 28px)/1.05 var(--f-display); letter-spacing:-.02em; overflow-wrap:anywhere; text-wrap:balance; }
.rm-sub{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-top:6px; font-size:13px; color:var(--t3); }
.rm-nick{ all:unset; cursor:pointer; color:var(--t2); }
.rm-rk{ all:unset; cursor:pointer; padding:3px 8px; border-radius:999px; background:var(--hero-lo); color:var(--hero-hi); font:600 11px/1.2 var(--f-ui); }
.rm-seen{ margin-top:4px; font-size:12.5px; color:var(--t3); }
.rm-seen.on{ color:var(--win); }
.rm-about{ margin:0; color:var(--t2); font-size:14.5px; line-height:1.5; }
.rm-cnt{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.rm-cnt>*{ all:unset; box-sizing:border-box; position:relative; display:flex; flex-direction:column; gap:3px; padding:10px 12px; border-radius:16px; background:var(--s1); box-shadow:inset 0 0 0 1px var(--hair); cursor:default; text-decoration:none; color:inherit; }
.rm-cnt>button, .rm-cnt>a{ cursor:pointer; }
.rm-cnt b{ font:700 18px/1.1 var(--f-display); font-variant-numeric:tabular-nums; color:var(--t1); }
.rm-cnt span{ font-size:12px; color:var(--t3); }
.rm-cnt em{ position:absolute; top:8px; right:8px; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--hero); color:var(--on-hero); font:700 10.5px/20px var(--f-display); font-style:normal; text-align:center; }
.rm-btns{ display:flex; gap:8px; }
.rm-btns .pv-btn{ flex:1; min-width:0; }
.rm-btns .pv-btn.ic{ flex:none; width:44px; padding:0; }
.rm-btns .c-soc-b{ height:auto; min-height:44px; }

.rm-today{ display:flex; flex-direction:column; gap:8px; }
.rm-run{ text-decoration:none; }
.rm-run .c-run-l{ display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--t2); }
.rm-run .c-run-go{ margin-left:auto; display:inline-flex; align-items:center; gap:2px; color:var(--t1); font-weight:600; }
.rm-td{ border-radius:18px; background:var(--s1); box-shadow:inset 0 0 0 1px var(--hair); border-top:0 !important; }
.rm-td i{ display:block; font-style:normal; font-size:12.5px; color:var(--t3); margin-top:2px; }
.rm-td em{ font-style:normal; font-size:13px; font-weight:600; color:var(--hero-hi); }

/* герои кольцами */
.rm-h{ display:flex; align-items:baseline; gap:8px; }
.rm-h h2{ margin:0; font:700 17px/1.2 var(--f-display); letter-spacing:-.01em; }
.rm-h .c{ font:600 12px/1 var(--f-display); color:var(--t3); }
.rm-live{ display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--t2); }
.rm-h .a{ all:unset; cursor:pointer; margin-left:auto; display:inline-flex; align-items:center; gap:2px; font-size:13px; color:var(--t2); }
.rm-rings{ display:flex; gap:14px; overflow-x:auto; margin:10px -16px 0; padding:8px 16px 4px; scroll-snap-type:x proximity; scrollbar-width:none; }
.rm-rings::-webkit-scrollbar{ display:none; }
.rm-ring{ all:unset; box-sizing:border-box; flex:none; width:72px; display:flex; flex-direction:column; align-items:center; gap:7px; cursor:pointer; text-decoration:none; scroll-snap-align:start; color:var(--t2); }
.rm-ring .rr{ position:relative; width:72px; height:72px; border-radius:50%; padding:3px; background:var(--hair2); }
.rm-ring .rr.live{ background:conic-gradient(from 200deg,#f7dd9b,#e88a68,#d97757,#b3552e,#f7dd9b); }
.rm-ring .rr.pub{ background:linear-gradient(135deg,var(--hero-line),var(--hero-lo)); }
.rm-ring .rr.review{ background:repeating-conic-gradient(var(--mark) 0 14deg, transparent 14deg 24deg); }
.rm-ring .rr.off{ background:var(--hair); }
.rm-ring .rr>img, .rm-ring .rr>.mono-f{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 20%; display:grid; place-items:center; box-shadow:0 0 0 2.5px var(--s0); background:var(--s3); font:600 22px/1 var(--f-serif); color:var(--t2); }
.rm-ring .crown, .rm-ring .paw{ position:absolute; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 2.5px var(--s0); }
.rm-ring .crown{ left:50%; top:-8px; margin-left:-11px; background:var(--mark); color:#3a2808; }
.rm-ring .paw{ left:-2px; bottom:0; background:#ff8fb1; color:#fff; }
.rm-ring .crown .pv-ic, .rm-ring .paw .pv-ic{ width:12px; height:12px; }
.rm-ring .crown .pv-ic{ fill:currentColor; }
.rm-ring .n{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.rm-ring.add .rr{ background:none; box-shadow:inset 0 0 0 1.5px var(--hair2); display:grid; place-items:center; color:var(--t2); }
.rm-ring.add .rr .pv-ic{ width:24px; height:24px; }
.rm-first{ display:flex; align-items:center; gap:12px; margin-top:10px; padding:12px 14px; border-radius:18px; background:linear-gradient(120deg,var(--hero-lo),transparent),var(--s1); box-shadow:inset 0 0 0 1px var(--hero-line); color:inherit; text-decoration:none; }
.rm-first b{ display:block; font-weight:600; }
.rm-first i{ display:block; font-style:normal; font-size:12.5px; color:var(--t3); }

/* вкладки и записи */
.rm-tabs-w{ display:flex; flex-direction:column; }
.rm-tabs{ position:sticky; top:0; z-index:6; display:flex; gap:4px; margin:0 -16px; padding:8px 16px; background:var(--s0); box-shadow:0 1px 0 var(--hair); }
@media (max-width:899px){ .rm-tabs{ top:calc(env(safe-area-inset-top,0px) + 52px); } }
.rm-tabs button{ all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 14px; border-radius:999px; font:600 14px/1 var(--f-ui); color:var(--t3); }
.rm-tabs button.on{ background:var(--s3); color:var(--t1); }
.rm-tabs button span{ font:600 11px/1 var(--f-display); color:var(--t3); }
.rm-tabs button:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.rm-pane{ padding-top:12px; }
.rm-compose{ all:unset; box-sizing:border-box; cursor:pointer; display:flex; align-items:center; gap:10px; width:100%; padding:7px 7px 7px 7px; border-radius:999px; background:var(--s1); box-shadow:inset 0 0 0 1px var(--hair); color:var(--t3); font-size:14px; margin-bottom:6px; }
.rm-compose>img, .rm-compose>b{ width:32px; height:32px; border-radius:50%; object-fit:cover; flex:none; display:grid; place-items:center; background:var(--s3); color:var(--t1); font:600 14px/1 var(--f-serif); }
.rm-compose .pv-btn{ height:34px; padding:0 12px; }
.rm-feed{ display:flex; flex-direction:column; }
.rm-post{ display:flex; flex-direction:column; gap:10px; padding:16px 0; border-top:1px solid var(--hair); }
.rm-post:first-child{ border-top:0; }
.rm-post-h{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--t3); }
.rm-post-h img{ width:26px; height:26px; border-radius:50%; object-fit:cover; }
.rm-post-h b{ color:var(--t1); font-weight:600; font-size:13.5px; }
.rm-pin{ display:inline-flex; align-items:center; gap:4px; }
.rm-pin .pv-ic{ width:13px; height:13px; }
.rm-when{ margin-left:auto; color:var(--t3); text-decoration:none; }
.rm-post-t{ font-size:15.5px; line-height:1.55; color:var(--t1); overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:9; -webkit-box-orient:vertical; overflow:hidden; }
.rm-post-t p{ margin:0 0 .6em; }
.rm-post-t a{ color:var(--hero-hi); }
.rm-post-m{ position:relative; display:block; border-radius:20px; overflow:hidden; background:var(--s2); }
.rm-post-m img{ display:block; width:100%; max-height:460px; object-fit:cover; }
.rm-post-m span{ position:absolute; right:10px; bottom:10px; padding:4px 9px; border-radius:999px; background:rgba(10,9,8,.7); color:#fff; font:600 12px/1 var(--f-display); }
.rm-post-x{ display:flex; gap:6px; flex-wrap:wrap; text-decoration:none; }
.rm-post-x span{ padding:6px 10px; border-radius:999px; background:var(--s2); color:var(--t2); font-size:12.5px; }
.rm-post-f{ display:flex; align-items:center; gap:20px; color:var(--t3); font-size:13px; }
.rm-post-f>*{ all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:6px; color:inherit; min-height:32px; }
.rm-post-f i{ font-style:normal; font-variant-numeric:tabular-nums; }
.rm-post-f .on{ color:var(--hero-hi); }
.rm-post-f .on .pv-ic{ fill:currentColor; }
.rm-post-f>*:last-child{ margin-left:auto; }
.rm-emptyp{ margin:10px 0; padding:22px 16px; border-radius:18px; background:var(--s1); color:var(--t3); text-align:center; font-size:14px; line-height:1.45; }
.rm-lnk{ all:unset; cursor:pointer; color:var(--hero-hi); text-decoration:underline; }
.rm-more{ margin-top:6px; }
.rm-skel{ display:flex; flex-direction:column; gap:12px; padding:16px 0; }
.rm-skel i{ height:74px; border-radius:18px; background:linear-gradient(90deg,var(--s1),var(--s2),var(--s1)); background-size:200% 100%; animation:rmSk 1.3s linear infinite; }
@keyframes rmSk{ to{ background-position:-200% 0; } }

/* ═══════════════════════ ШТОРКИ КОМНАТЫ ═══════════════════════ */
.rm .pv-sheet.sh-note form, .rm .pv-sheet.sh-cmp form{ display:flex; flex-direction:column; gap:12px; }
.rm-note-in{ display:flex; align-items:center; gap:8px; padding:0 14px; border-radius:16px; background:var(--s2); box-shadow:inset 0 0 0 1px var(--hair2); }
.rm-note-in input{ flex:1; min-width:0; height:50px; border:0; background:none; color:var(--t1); font:500 16px var(--f-ui); outline:none; }
.rm-note-in span{ font:600 12px/1 var(--f-display); color:var(--t3); font-variant-numeric:tabular-nums; }
.rm-note-hints{ display:flex; flex-wrap:wrap; gap:6px; }
.rm-cmp textarea{ width:100%; min-height:130px; resize:vertical; padding:14px; border:0; border-radius:16px; background:var(--s2); box-shadow:inset 0 0 0 1px var(--hair2); color:var(--t1); font:16px/1.5 var(--f-ui); outline:none; }
.rm-cmp textarea:focus, .rm-note-in:focus-within{ box-shadow:inset 0 0 0 2px var(--hero-line); }
.rm-cmp-h>span{ display:block; font-size:12.5px; color:var(--t3); margin-bottom:6px; }
.rm-chips{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
.rm-chips::-webkit-scrollbar{ display:none; }
.rm-chip{ all:unset; box-sizing:border-box; flex:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px; border-radius:999px; background:var(--s2); color:var(--t2); font-size:13px; white-space:nowrap; }
.rm-chip b{ font-weight:700; color:inherit; }
.rm-chip.on{ background:var(--t1); color:var(--s0); }
.rm-chip.face{ padding-left:3px; }
.rm-chip.face img{ width:28px; height:28px; border-radius:50%; object-fit:cover; }
.rm-hrow{ all:unset; box-sizing:border-box; cursor:pointer; display:flex; align-items:center; gap:12px; width:100%; padding:10px 0; border-bottom:1px solid var(--hair); color:var(--t1); text-decoration:none; }
.rm-hrow b{ display:flex; align-items:center; gap:6px; font-weight:600; font-size:15px; }
.rm-hrow i{ display:block; font-style:normal; font-size:12.5px; color:var(--t3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rm-hrow i.st{ color:var(--mark); }
.rm-hrow>.pv-ic{ color:var(--t3); }
.rm-hface{ position:relative; flex:none; width:48px; height:48px; border-radius:50%; overflow:visible; display:grid; place-items:center; background:var(--s3); }
.rm-hface img, .rm-hface .mono-f{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 20%; display:grid; place-items:center; font:600 18px/1 var(--f-serif); color:var(--t2); }
.rm-hface .au-dot{ position:absolute; right:0; bottom:0; box-shadow:0 0 0 2px var(--s1); }
.rm-hface.plus{ background:var(--hero); color:var(--on-hero); }
.rm-star{ color:var(--mark); display:inline-flex; }
.rm-star .pv-ic{ width:14px; height:14px; fill:currentColor; }
.rm .pv-sheet .rm-chips{ margin:4px 0 6px; }

/* большой экран: колонка по центру, комната со скруглением */
@media (min-width:700px){
  .rm-room{ border-radius:0 0 34px 34px; }
}

/* «в сети» — зелёная точка (у author.css .au-dot свой цвет) */
.rm-dot{ display:inline-block; flex:none; width:9px; height:9px; border-radius:50%; background:#5fd17a; box-shadow:0 0 0 2px var(--s0); animation:rmLive 1.8s ease-in-out infinite; }
@keyframes rmLive{ 50%{ box-shadow:0 0 0 2px var(--s0),0 0 0 6px rgba(95,209,122,.22); } }
.rm-ring .rr .rm-dot{ position:absolute; right:3px; bottom:4px; width:12px; height:12px; box-shadow:0 0 0 2.5px var(--s0); }
.rm-hface .rm-dot{ position:absolute; right:0; bottom:0; box-shadow:0 0 0 2px var(--s1); }
@property --v{ syntax:'<percentage>'; inherits:true; initial-value:50%; }

/* ═══════════════════════ ДОМИК ИЗ ИГРЫ (28.09.2026, вторая версия) ═══════════════════════
   Воксельная комната из pet_voxel.js — та же, что во вкладке «Дом» и в «Мире Язми».
   Пока модуль грузится (и без WebGL) видна рисованная комната выше. */
.rm-vx{ position:absolute; inset:0; z-index:2; display:none; }
.rm-room.vx-on .rm-vx{ display:block; }
.rm-vx-img{ position:absolute; inset:0; width:100%; height:100%; display:block; user-select:none; -webkit-user-drag:none; filter:drop-shadow(0 18px 22px rgba(59,42,44,.28)); animation:rmFade .5s ease both; }
.rm-vx-pet{ position:absolute; z-index:3; cursor:pointer; -webkit-tap-highlight-color:transparent; animation:rmFade .5s ease .15s both; }
.rm-vx-pet canvas{ pointer-events:none; }
@keyframes rmFade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
/* рисованные слои уходят, остаётся небо под диорамой */
.rm-room.vx-on .rm-wall, .rm-room.vx-on .rm-floor, .rm-room.vx-on .rm-win, .rm-room.vx-on .rm-furn, .rm-room.vx-on .rm-pet,
.rm-room.vx-on .rm-shadow, .rm-room.vx-on .rm-light, .rm-room.vx-on .rm-egg, .rm-room.vx-on .rm-cushion, .rm-room.vx-on .rm-glow{ display:none; }
.rm-room.vx-on{ background:radial-gradient(120% 70% at 50% 108%, rgba(255,255,255,.55), transparent 60%), linear-gradient(180deg,#bfe3ff 0%,#ffe9dc 62%,#f6e2ff 100%); }
.rm[data-part="morning"] .rm-room.vx-on{ background:radial-gradient(120% 70% at 50% 108%, rgba(255,255,255,.5), transparent 60%), linear-gradient(180deg,#ffd3e2 0%,#ffeede 60%,#fff6e6 100%); }
.rm[data-part="evening"] .rm-room.vx-on{ background:radial-gradient(120% 70% at 50% 108%, rgba(255,220,190,.5), transparent 60%), linear-gradient(180deg,#8f7ad8 0%,#ff9e8a 58%,#ffd0a0 100%); }
.rm[data-part="night"] .rm-room.vx-on{ background:radial-gradient(circle,rgba(255,255,255,.75) 1px,transparent 1.6px) 0 0/46px 40px, radial-gradient(circle,rgba(255,244,190,.8) 1.2px,transparent 1.8px) 19px 23px/64px 58px, linear-gradient(180deg,#1b1f4d 0%,#2f2b62 60%,#4a3a70 100%); }
.rm[data-part="night"] .rm-room.vx-on .rm-vx-img{ filter:drop-shadow(0 18px 26px rgba(0,0,0,.45)) brightness(.86) saturate(1.05); }
.rm-room.vx-on .rm-hearts i{ color:#ff6f96; }

/* кнопки-переходы: домик, мир, игры — как кнопки страницы питомца (ступенька снизу) */
.rm-go{ position:absolute; left:0; right:0; bottom:40px; z-index:9; display:flex; justify-content:center; gap:10px; padding:0 14px; }
.rm-gobtn{ all:unset; box-sizing:border-box; position:relative; flex:1 1 0; max-width:132px; height:54px; padding:0 12px; border-radius:20px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; color:#fff; font:800 15px/1 var(--f-ui); text-decoration:none; white-space:nowrap; -webkit-tap-highlight-color:transparent; transition:transform .1s, box-shadow .1s; }
.rm-gobtn .ic{ width:22px; height:22px; flex:none; }
.rm-gobtn.home{ background:#ff9f7a; box-shadow:0 5px 0 #d9704e, 0 14px 24px -12px rgba(224,121,90,.8); }
.rm-gobtn.world{ background:#6fcfaa; box-shadow:0 5px 0 #3fa37f, 0 14px 24px -12px rgba(63,163,127,.8); }
.rm-gobtn.games{ background:#b69cff; box-shadow:0 5px 0 #8a6fe0, 0 14px 24px -12px rgba(138,111,224,.8); }
.rm-gobtn.pet{ background:#ff8fb1; box-shadow:0 5px 0 #dd5f86, 0 14px 24px -12px rgba(221,95,134,.8); max-width:170px; }
.rm-gobtn.pet.done{ background:#fff; color:var(--pink); box-shadow:0 5px 0 #ead9cf, 0 12px 20px -12px rgba(59,42,44,.4); }
.rm-gobtn b{ min-width:22px; height:22px; padding:0 6px; border-radius:11px; background:rgba(255,255,255,.3); font:700 11px/22px var(--f-display); text-align:center; }
.rm-gobtn b:empty{ display:none; }
.rm-gobtn.done b{ background:#ffe3ec; color:#dd5f86; }
.rm-gobtn:active{ transform:translateY(4px); box-shadow:0 1px 0 rgba(0,0,0,.15); }
.rm-gobtn:focus-visible{ outline:3px solid #4e8fd6; outline-offset:3px; }
.rm-gobtn:disabled{ opacity:.7; }
@media (max-width:360px){ .rm-gobtn{ font-size:14px; padding:0 8px; gap:6px; } .rm-gobtn .ic{ width:19px; height:19px; } }
/* яйцо: полоски тепла над кнопками */
.rm-empty.egg{ bottom:112px; }
.rm-eggs img{ width:100%; height:auto; display:block; }
/* пауза анимации — выше кнопок */
.rm-still{ bottom:118px; }

/* ═══════════════════════ ЖИВАЯ КОМНАТА (третья версия) ═══════════════════════
   profile_scene.js рисует в #rm3d: малыш и люди сами ходят и чем-то заняты.
   Пока грузится — небо и рисованная комната; не поднялась — картинка pet_voxel.js. */
.rm-3d{ position:absolute; inset:0; z-index:3; display:none; }
.rm-room.live-on .rm-3d{ display:block; animation:rmFade .6s ease both; }
.rm-room.live-on .rm-vx{ display:none; }
.rm-3d canvas{ cursor:pointer; filter:drop-shadow(0 18px 24px rgba(59,42,44,.26)); }
.rm[data-part="night"] .rm-3d canvas{ filter:drop-shadow(0 18px 28px rgba(0,0,0,.5)); }
.rm-hearts.at{ inset:auto; width:120px; height:120px; z-index:5; }
/* подпись «чем занят малыш» — одна строка над кнопками */
.rm-now{ position:absolute; left:50%; bottom:106px; z-index:8; transform:translateX(-50%); max-width:calc(100% - 32px); margin:0; padding:6px 12px 6px 10px; display:flex; align-items:center; gap:7px;
  border-radius:999px; background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--pink); font:500 12.5px/1.2 var(--f-ui);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:0 8px 20px -12px rgba(59,42,44,.55); pointer-events:none; }
.rm-now span{ overflow:hidden; text-overflow:ellipsis; }
.rm-now b{ font-weight:700; }
.rm-now .rm-dot{ width:7px; height:7px; box-shadow:none; animation:none; }
.rm-now.pop{ animation:rmNow .35s var(--e-out, ease-out) both; }
@keyframes rmNow{ from{ opacity:0; transform:translate(-50%, 6px); } to{ opacity:1; transform:translate(-50%, 0); } }
.rm[data-part="night"] .rm-now{ background:rgba(40,36,84,.78); color:#f3eaff; }
/* пузырь из разметки уходит, когда комната ожила; say() возвращает его на пару секунд */
.rm-say{ transition:opacity .4s, transform .4s; }
.rm-say.out{ opacity:0; transform:translateY(-6px); pointer-events:none; }
/* кнопка «новая запись»: значки фото и кружка, как у «Пера» */
.rm-cq{ display:flex; gap:6px; padding:0 8px; color:var(--t3); font-size:17px; }
@media (prefers-reduced-motion: reduce){ .rm-now.pop, .rm-room.live-on .rm-3d{ animation:none; } }

/* ═══════════════════════ СТЕНА: движок ленты внутри листа ═══════════════════════ */
/* у .yf-post свой отступ 16px, а лист даёт ещё 16 — снимаем, иначе медиа во всю ширину уедет */
#rmPosts .profile-feed-container{ margin:0 -16px; }
@media (min-width:640px){ #rmPosts .profile-feed-container{ margin:0 auto; max-width:600px; } }
/* старые переменные, которые без запасных значений ждут feed_editor и лента */
.rm-body{ --text-primary:var(--yz-text, var(--t1)); --text-secondary:var(--yz-dim, var(--t3)); --bg-main:var(--yz-bg, var(--s0));
  --bg-panel:var(--yz-surface, var(--s1)); --glass-border:var(--yz-border, var(--hair)); --accent-primary:var(--yz-accent, var(--hero));
  --btn-secondary-bg:var(--yz-surface-2, var(--s2)); --btn-secondary-hover:var(--yz-surface-2, var(--s2)); }
/* модалка поста — как во встроенных стилях profile.php */
#modal-view-post{ z-index:2147483650 !important; }
#modal-view-post .modal-card{ padding:0; display:flex; flex-direction:column; overflow:hidden; max-width:600px; width:100%; height:85vh; margin:auto; }
#modal-view-post-content{ flex-grow:1; overflow-y:auto; display:flex; flex-direction:column; position:relative; }
@media (max-width:768px){ #modal-view-post .modal-card{ width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; } }
/* «Сохранить» в правке записи: .btn-primary живёт в style.css, которого здесь нет */
#modal-edit-post .btn-primary{ height:40px; padding:0 24px; border:0; border-radius:20px; background:var(--yz-grad, #d97757); color:#fff; font-weight:800; }
/* «Перо» само ставит строку «Что нового…» над лентой — у нас своя кнопка выше */
#rmPosts .pero-row{ display:none; }
/* пустая комната ожила (герой ходит сам) — три яйца убираем, остаётся карточка: комнате больше места */
.rm-room.live-on.is-empty .rm-eggs{ display:none; }
/* плавающее «перо» перекрывало цифры профиля — новая запись здесь и так под рукой (кнопка «+» и строка над лентой) */
.rm-body .pero-fab{ display:none !important; }

/* пузырь героя: лицо, имя, фраза — ссылка (хозяину без малыша — «выбрать яйцо», иначе — к герою) */
.rm-say.hero{ display:flex; align-items:flex-start; gap:9px; padding:8px 12px 9px 8px; text-decoration:none; max-width:min(72%, 290px); border-radius:18px 18px 4px 18px; }
.rm-say.hero img, .rm-say.hero .mono-f{ flex:none; width:36px; height:36px; border-radius:50%; object-fit:cover; object-position:50% 20%; background:#ffe3d6; display:grid; place-items:center; font:600 16px/1 var(--f-serif); color:var(--pink); box-shadow:0 0 0 2px #fff, 0 0 0 3.5px #ff9f7a; }
.rm-say.hero span{ min-width:0; }
.rm-say.hero em{ display:block; font:700 12px/1.2 var(--f-ui); font-style:normal; color:#d9704e; margin-bottom:2px; }
.rm-say.hero:active{ transform:scale(.98); }
/* питомцы выключены: комната живая, фото-портрет — только запасной вариант без WebGL */
.rm-room.live-on .rm-portrait{ display:none; }
.rm[data-state="off"] .rm-room.live-on .rm-say{ top:calc(var(--safe) + 70px); bottom:auto; right:14px; left:auto; transform:none; text-align:left; font-style:normal; }
/* пустая комната ожила: зовёт герой (пузырь сверху), карточка снизу — компактнее, комнате больше места */
.rm-room.live-on.is-empty .rm-card{ padding:12px 14px; gap:6px; }
.rm-room.live-on.is-empty .rm-empty h2{ font-size:17px; }
.rm-room.live-on.is-empty.has-say .rm-empty p{ display:none; }
.rm-room.live-on.is-empty .rm-pbtn{ height:44px; }
