/* NYAAS UI FINAL 2026-08-13
   UI-only layer. V10 JS/data/media/state wiring is untouched.
   Design master: user-approved pink/white/lace/ribbon service UI.
   Main room components are ~80% of the visual-master part sizes while preserving master placement lanes. */
:root{
  --nf-pink:#ee5b8d;
  --nf-pink-deep:#d94176;
  --nf-pink-soft:#ffdce8;
  --nf-line:#f29ab8;
  --nf-line2:#ffd0df;
  --nf-ink:#30242a;
  --nf-muted:#8b6573;
  --nf-paper:rgba(255,251,253,.975);
  --nf-shadow:0 .45vh 1.2vh rgba(105,43,67,.16),0 .18vh 0 rgba(255,255,255,.96) inset;
  --nf-round:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Arial Rounded MT Bold","Yu Gothic",Meiryo,sans-serif;
  --nf-ui:url("assets/ui_final_0813/");
}

/* ---------- ROOM: geometry lock ---------- */
#room,#room button,#room input,#room small,#room b,#room em,#room span{font-family:var(--nf-round)!important;font-style:normal!important}
#room.room-screen{position:fixed!important;inset:0!important;overflow:hidden!important;background:#f6e8ed!important}
#room .room-visual{position:absolute!important;inset:0!important;overflow:hidden!important;z-index:1!important}
#room #castFallback,#room #castVideo,#room .cast-fallback,#room .service-video{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;
  transform:none!important;scale:1!important;filter:none!important;
}
#room .room-vignette{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(255,245,249,.10),transparent 18%,transparent 82%,rgba(255,245,249,.08))!important}

/* detailed four-sided lace perimeter; no cropped screenshot assets */
#room.room-screen::before{
  content:""!important;position:absolute!important;z-index:96!important;inset:.55vh!important;pointer-events:none!important;border:.28vh solid #f46d9e!important;border-radius:2.1vh!important;
  box-shadow:inset 0 0 0 .24vh #fff,inset 0 0 0 .48vh #f7abc5,0 0 0 .12vh rgba(255,255,255,.95)!important;
  background:
    url("assets/ui_final_0813/bow.svg") -1.3vh -.65vh/8.9vh 5.55vh no-repeat,
    url("assets/ui_final_0813/bow.svg") calc(100% + .65vh) -.45vh/7.9vh 4.95vh no-repeat,
    url("assets/ui_final_0813/lace_h.svg") top left/7.7vh 2.18vh repeat-x,
    url("assets/ui_final_0813/lace_h.svg") bottom left/7.7vh 2.18vh repeat-x,
    url("assets/ui_final_0813/lace_v.svg") top left/2.18vh 7.7vh repeat-y,
    url("assets/ui_final_0813/lace_v.svg") top right/2.18vh 7.7vh repeat-y!important;
  filter:drop-shadow(0 .18vh .18vh rgba(155,49,88,.18))!important;
}
#room.room-screen::after{content:""!important;display:block!important;position:absolute!important;z-index:95!important;inset:1.55vh!important;pointer-events:none!important;border:.12vh dashed rgba(239,91,141,.58)!important;border-radius:1.55vh!important}

/* shared paper treatment */
#room .room-name-card,#room .buddy-bubble,#room .music-widget,#room .oshi-float,#room .quick-actions,#room .memory-quick{
  border:.30vh solid #fff!important;outline:.13vh solid var(--nf-line)!important;background:linear-gradient(150deg,rgba(255,255,255,.99),rgba(255,247,250,.97))!important;box-shadow:0 .33vh 0 rgba(243,161,188,.34),var(--nf-shadow)!important;
}

/* ---------- top header ---------- */
#room .room-head{position:absolute!important;z-index:70!important;inset:0!important;height:auto!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;pointer-events:none!important}
#room .room-head>*{pointer-events:auto!important}

#room .room-name-card{position:absolute!important;left:2.25vh!important;top:3.55vh!important;width:19.25vh!important;height:7.45vh!important;padding:1.6vh 2.05vh 1.0vh!important;border-radius:1.8vh 1.8vh 2.05vh 1.8vh!important;overflow:visible!important}
#room .room-name-card::before{content:none!important;display:none!important}
#room .room-name-card::after{content:""!important;position:absolute!important;right:1.12vh!important;top:.72vh!important;width:2.25vh!important;height:2.25vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important;opacity:.82!important}
#room .room-name-card .mini-bow{display:none!important}
#room .room-name-card small{display:block!important;margin:0 0 .62vh!important;color:#df4e7e!important;font-size:.78vh!important;line-height:1!important;letter-spacing:.17em!important;font-weight:900!important}
#room .room-name-card>div{display:flex!important;align-items:flex-end!important;gap:.7vh!important;margin:0!important;position:static!important}
#room .room-name-card b{font-size:2.25vh!important;line-height:1!important;color:var(--nf-ink)!important;font-weight:900!important;white-space:nowrap!important}
#room .room-name-card em{padding-bottom:.16vh!important;color:#0da57b!important;font-size:.72vh!important;font-weight:900!important;white-space:nowrap!important}

#room .room-visit-actions{position:absolute!important;left:22.45vh!important;top:4.45vh!important;display:flex!important;gap:.72vh!important;padding:0!important}
#room .room-visit-actions button{height:4.10vh!important;padding:0 .9vh!important;border:.26vh solid #fff!important;outline:.13vh solid #f1a2be!important;border-radius:1.65vh!important;background:linear-gradient(#fff,#fff6f9)!important;box-shadow:0 .28vh 0 rgba(246,171,196,.33),0 .55vh 1.15vh rgba(102,45,66,.12)!important;font-size:1.0vh!important;font-weight:900!important;white-space:nowrap!important}
#room #changeCastBtn{width:8.35vh!important;min-width:8.35vh!important;color:#df4c7e!important}
#room #leaveShopBtn{width:9.0vh!important;min-width:9.0vh!important;color:#2d2327!important}
#room .room-visit-actions button span{font-size:1.05vh!important;margin-right:.22vh!important}

#room .room-hud{position:absolute!important;right:9.5vh!important;top:3.45vh!important;display:flex!important;gap:.70vh!important;padding:0!important}
#room .room-hud span{position:relative!important;height:4.75vh!important;padding:1.65vh .75vh .45vh!important;border:.26vh solid #fff!important;outline:.13vh solid #f1a2be!important;border-radius:1.45vh!important;background:linear-gradient(#fff,#fff8fb)!important;box-shadow:0 .28vh 0 rgba(246,171,196,.30),0 .55vh 1.15vh rgba(102,45,66,.11)!important;text-align:center!important}
#room .room-hud span:nth-child(1){width:12.70vh!important;min-width:12.70vh!important}
#room .room-hud span:nth-child(2){width:9.25vh!important;min-width:9.25vh!important}
#room .room-hud span:nth-child(1)::before{content:""!important;position:absolute!important;left:.45vh!important;top:.22vh!important;width:1.5vh!important;height:1.5vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important}
#room .room-hud small{position:absolute!important;left:0!important;right:0!important;top:.55vh!important;color:#36292f!important;font-size:.58vh!important;line-height:1!important;font-weight:900!important;letter-spacing:.12em!important}
#room .room-hud b{display:block!important;margin:0!important;color:#231b1f!important;font-size:1.55vh!important;line-height:1!important;font-weight:900!important}

#room .room-hamburger{position:absolute!important;right:1.75vh!important;top:2.35vh!important;width:6.65vh!important;height:8.35vh!important;margin:0!important;padding:0!important;border:.34vh solid #fff!important;outline:.15vh solid #ed7ca5!important;border-radius:2.35vh!important;background:linear-gradient(160deg,#ff9cbd 0%,#f36c9c 48%,#df4b82 100%)!important;box-shadow:0 .4vh 0 #f5c1d3,0 .65vh 1.25vh rgba(105,43,67,.18)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:.55vh!important}
#room .room-hamburger::before{content:""!important;display:block!important;position:absolute!important;left:50%!important;top:-1.65vh!important;width:5.2vh!important;height:3.25vh!important;transform:translateX(-50%)!important;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat!important}
#room .room-hamburger::after{content:"メニュー"!important;position:absolute!important;bottom:.55vh!important;left:0!important;right:0!important;color:#fff!important;font-size:.56vh!important;font-weight:900!important;text-align:center!important}
#room .room-hamburger i{display:block!important;width:2.45vh!important;height:.24vh!important;margin:0!important;border-radius:99px!important;background:#fff!important;box-shadow:0 .06vh 0 rgba(171,54,96,.2)!important}

/* ---------- left stack ---------- */
#room .left-ui-stack{position:absolute!important;z-index:48!important;left:3.05vh!important;top:15.55vh!important;width:23.10vh!important;display:flex!important;flex-direction:column!important;gap:6.3vh!important;pointer-events:none!important;transform:none!important}
#room .left-ui-stack>*{pointer-events:auto!important}

#room .buddy-bubble{position:relative!important;width:23.10vh!important;height:13.10vh!important;min-height:13.10vh!important;margin:0!important;padding:4.0vh 1.55vh 1.35vh 1.8vh!important;border-radius:1.9vh!important;display:grid!important;grid-template-columns:4.55vh 1fr!important;gap:1.1vh!important;align-items:center!important;text-align:left!important;overflow:visible!important}
#room .buddy-bubble::before{content:""!important;position:absolute!important;left:.8vh!important;right:.8vh!important;bottom:.75vh!important;border-bottom:.1vh dashed #edacc2!important}
#room .buddy-bubble::after{content:""!important;position:absolute!important;right:.65vh!important;bottom:.35vh!important;width:1.8vh!important;height:1.8vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important;opacity:.72!important}
#room .buddy-ribbon{position:absolute!important;left:-.45vh!important;top:-.72vh!important;width:19.0vh!important;height:2.85vh!important;padding:.65vh 1.6vh .5vh 4.2vh!important;border:.24vh solid #fff!important;outline:.12vh solid #e9749c!important;border-radius:.45vh 1.35vh 1.35vh .45vh!important;background:linear-gradient(90deg,#e84f82,#ff83aa)!important;box-shadow:0 .25vh 0 #f7c4d5,0 .52vh .95vh rgba(105,43,67,.13)!important;color:#fff!important;font-size:.72vh!important;line-height:1!important;font-weight:900!important;text-align:left!important;white-space:nowrap!important}
#room .buddy-ribbon::before{content:""!important;position:absolute!important;left:-1.4vh!important;top:-1.25vh!important;width:6.0vh!important;height:3.75vh!important;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat!important;transform:rotate(-4deg)!important}
#room .buddy-ribbon::after{content:"✿"!important;position:absolute!important;right:.7vh!important;top:.45vh!important;color:#fff!important;font-size:1.1vh!important}
#room .buddy-bubble img{width:4.55vh!important;height:4.55vh!important;border:.26vh solid #fff!important;outline:.13vh solid #f1abc3!important;border-radius:1.05vh!important;object-fit:cover!important;box-shadow:0 .22vh .55vh rgba(82,44,58,.11)!important}
#room .buddy-copy{min-width:0!important;padding:0!important}
#room .buddy-copy b{display:block!important;margin:0 0 .48vh!important;color:#da4a79!important;font-size:1.25vh!important;line-height:1!important;font-weight:900!important}
#room .buddy-copy em{display:block!important;color:#45343b!important;font-size:.78vh!important;line-height:1.35!important;font-weight:800!important;white-space:normal!important}
#room .buddy-meta{display:block!important;margin-top:.55vh!important;color:#d07b9b!important;font-size:.48vh!important;font-weight:800!important}

#room .music-widget{position:relative!important;width:23.10vh!important;height:13.50vh!important;min-height:13.50vh!important;margin:0!important;padding:1.25vh 1.25vh .85vh!important;border-radius:1.9vh!important;overflow:visible!important}
#room .music-widget::before{content:""!important;position:absolute!important;left:-1.0vh!important;top:-1.3vh!important;width:3.5vh!important;height:3.2vh!important;background:url("assets/ui_final_0813/heart.svg") center/contain no-repeat!important;transform:rotate(-12deg)!important}
#room .music-widget::after{content:"♫"!important;position:absolute!important;right:1.25vh!important;top:1.05vh!important;color:#ee73a0!important;font-size:1.35vh!important;transform:rotate(10deg)!important}
#room .music-now{position:relative!important;width:100%!important;height:7.55vh!important;min-height:0!important;padding:.65vh 0 0 5.3vh!important;border:0!important;background:transparent!important;text-align:left!important;display:block!important}
#room .music-now::before{content:""!important;position:absolute!important;left:.15vh!important;top:.48vh!important;width:4.65vh!important;height:4.65vh!important;border-radius:50%!important;background:radial-gradient(circle,#f05b8d 0 .42vh,#202020 .45vh .9vh,#111 .95vh 1.25vh,#1d1d1d 1.3vh 2.0vh,#050505 2.05vh 2.32vh)!important;border:.30vh solid #fff!important;outline:.12vh solid #f1a8c0!important;box-shadow:0 .25vh .55vh rgba(75,42,55,.14)!important}
#room .music-note-icon{display:none!important}
#room .music-copy small{display:block!important;color:#8753b7!important;font-size:.62vh!important;letter-spacing:.12em!important;font-weight:900!important}
#room .music-copy b{display:block!important;margin-top:.52vh!important;max-width:15.0vh!important;color:#30262a!important;font-size:1.05vh!important;line-height:1.08!important;font-weight:900!important;white-space:normal!important;overflow:hidden!important}
#room .music-copy em{display:block!important;margin-top:.5vh!important;color:#e64e80!important;font-size:.58vh!important;font-weight:900!important}
#room .music-room-controls{display:grid!important;grid-template-columns:2.75vh 2.75vh 2.75vh 4.7vh 1fr!important;gap:.38vh!important;margin:.15vh 0 0!important;padding:0!important}
#room .music-room-controls button{height:2.45vh!important;min-width:0!important;padding:0!important;border:.18vh solid #fff!important;outline:.09vh solid #f0adc3!important;border-radius:99px!important;background:linear-gradient(#fff,#fff6f9)!important;box-shadow:0 .13vh 0 #f4c8d7!important;color:#d84a7c!important;font-size:.58vh!important;font-weight:900!important}
#room .music-room-controls .room-track-play{background:linear-gradient(#ff91b5,#ee5b8d)!important;color:#fff!important}
#room .music-room-controls .music-toggle{color:#7655b6!important}
#room .music-room-controls .random-btn{font-size:.46vh!important}

/* ---------- rank panel ---------- */
#room .oshi-float{position:absolute!important;z-index:48!important;right:4.65vh!important;top:14.65vh!important;width:20.55vh!important;height:29.50vh!important;min-height:29.50vh!important;padding:3.0vh 1.55vh 1.2vh!important;border-radius:2.15vh!important;overflow:visible!important;transform:none!important}
#room .oshi-float::before{content:""!important;position:absolute!important;z-index:-1!important;inset:-.65vh!important;border:.52vh double #fff!important;outline:.13vh solid #f197b5!important;border-radius:2.65vh!important;box-shadow:0 0 0 .30vh rgba(250,202,218,.34)!important;background:repeating-radial-gradient(circle at 50% 0,#fff 0 .20vh,transparent .22vh .48vh) 0 0/1.4vh .8vh repeat-x!important}
#room .oshi-float::after{content:""!important;position:absolute!important;left:-1.35vh!important;top:-1.7vh!important;width:4.5vh!important;height:4.5vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important}
#room .oshi-ribbon{display:block!important;margin:0 0 1.05vh!important;color:#dc4779!important;font-size:1.05vh!important;font-weight:900!important;letter-spacing:.04em!important}
#room .rank-guide-mini{position:absolute!important;right:.8vh!important;top:.8vh!important;width:1.75vh!important;height:1.75vh!important;padding:0!important;border:.15vh solid #f18bad!important;border-radius:50%!important;background:#fff!important;color:#e45585!important;font-size:.9vh!important;font-weight:900!important}
#room .oshi-float>b{display:block!important;margin:0!important;color:#d94377!important;font-size:2.0vh!important;line-height:1!important;font-weight:900!important;text-align:center!important}
#room .oshi-float>em{display:block!important;margin:.85vh 0 0!important;color:#49373f!important;font-size:.68vh!important;line-height:1.2!important;font-weight:800!important;text-align:center!important;white-space:nowrap!important}
#room .meter{position:relative!important;height:1.05vh!important;margin:1.35vh .15vh 1.25vh!important;border:.14vh solid #ef78a0!important;border-radius:99px!important;background:#fff!important;overflow:visible!important}
#room .meter i{display:block!important;height:100%!important;min-width:.9vh!important;border-radius:99px!important;background:linear-gradient(90deg,#ff86ad,#ed4d83)!important}
#room .meter::after{content:"♡"!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:1.25vh!important;height:1.25vh!important;display:grid!important;place-items:center!important;border:.12vh solid #ef7ca4!important;border-radius:50%!important;background:#fff!important;color:#ee5e90!important;font-size:.65vh!important;font-weight:900!important}
#room .mini-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:.55vh!important;margin:0!important}
#room .mini-stats button{height:7.25vh!important;padding:.55vh .15vh .35vh!important;border:.16vh solid #f3b2c7!important;border-radius:1.35vh!important;background:linear-gradient(#fff,#fff8fa)!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:.22vh!important}
#room .mini-stats button span{display:block!important;width:2.0vh!important;height:2.0vh!important;font-size:0!important;background:center/contain no-repeat!important}
#room .mini-stats button:nth-child(1) span{background-image:url("assets/ui_final_0813/heart.svg")!important}
#room .mini-stats button:nth-child(2) span{background-image:url("assets/ui_final_0813/icon_star.svg")!important}
#room .mini-stats button:nth-child(3) span{background-image:url("assets/ui_final_0813/icon_bow.svg")!important}
#room .mini-stats button:nth-child(4) span{background-image:url("assets/ui_final_0813/paw.svg")!important}
#room .mini-stats button small{display:block!important;color:#de4e7d!important;font-size:.55vh!important;line-height:1!important;font-weight:900!important}
#room .mini-stats button:nth-child(2) small{color:#e38d22!important}
#room .mini-stats button:nth-child(4) small{color:#7355b8!important}
#room .mini-stats button b{display:block!important;margin:.12vh 0 0!important;color:#2d2228!important;font-size:1.45vh!important;line-height:1!important;font-weight:900!important}
#room .mission-chip{display:block!important;width:100%!important;height:4.55vh!important;margin:1.05vh 0 0!important;padding:.7vh .85vh!important;border:.13vh solid #f0aec4!important;border-radius:1.05vh!important;background:linear-gradient(145deg,#fffdfd,#fff5f8)!important;text-align:left!important;box-shadow:none!important}
#room .mission-chip small{display:block!important;color:#e44f7f!important;font-size:.52vh!important;font-weight:900!important;letter-spacing:.08em!important}
#room .mission-chip b{display:block!important;margin-top:.42vh!important;color:#3d2e35!important;font-size:.72vh!important;line-height:1.2!important;font-weight:900!important}

/* ---------- notebook + memory ---------- */
#room .right-bottom-tools{position:absolute!important;z-index:49!important;right:3.85vh!important;top:53.85vh!important;width:18.55vh!important;height:41.8vh!important;pointer-events:none!important;transform:none!important}
#room .right-bottom-tools>*{pointer-events:auto!important}
#room .oshi-life{display:none!important}
#room .memory-quick{position:absolute!important;right:0!important;top:0!important;width:17.95vh!important;height:20.85vh!important;padding:3.15vh 1.35vh 1.05vh 3.0vh!important;border-radius:1.2vh 1.5vh 1.3vh 1.05vh!important;text-align:left!important;overflow:visible!important;color:#49323c!important;background:repeating-linear-gradient(0deg,rgba(236,91,141,.07) 0 .08vh,transparent .08vh 1.48vh),linear-gradient(145deg,#fff9fb,#fff)!important}
#room .memory-quick::before{content:""!important;position:absolute!important;left:-1.05vh!important;top:1.5vh!important;bottom:1.2vh!important;width:2.05vh!important;border-left:.25vh solid #b5a0a8!important;border-right:.25vh solid #b5a0a8!important;background:repeating-linear-gradient(0deg,transparent 0 1.0vh,#d6bdc7 1.0vh 1.22vh,transparent 1.22vh 1.75vh)!important;border-radius:.55vh!important;box-shadow:-.45vh 0 .4vh rgba(75,44,55,.08)!important}
#room .memory-quick::after{content:""!important;position:absolute!important;right:-.85vh!important;top:-1.6vh!important;width:5.65vh!important;height:3.55vh!important;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat!important;transform:rotate(2deg)!important}
#room .memory-book-label{display:block!important;color:#dc4f7f!important;font-size:1.15vh!important;line-height:1!important;font-weight:900!important;text-align:center!important}
#room .memory-today{display:block!important;margin:.5vh 0 1.25vh!important;color:#dc708f!important;font-size:.48vh!important;text-align:center!important;font-weight:900!important}
#room .memory-quick b{display:block!important;margin:0!important;color:#d94377!important;font-size:1.05vh!important;line-height:1.2!important;font-weight:900!important}
#room .memory-quick small,#room .memory-quick em{display:block!important;color:#765462!important;font-size:.55vh!important;line-height:1.35!important;font-style:normal!important}
#room .memory-quick #memoryLoveMini{margin-top:.55vh!important;color:#35252d!important;font-size:.78vh!important}
#room .memory-quick #memoryNextMini{margin:.25vh 0 .85vh!important}
#room .memory-reward-mini{display:grid!important;gap:.32vh!important}
#room .memory-reward-mini i{display:block!important;height:1.0vh!important;padding:.15vh .42vh!important;border:.08vh solid #f0b3c7!important;border-radius:99px!important;background:#fff!important;color:#755563!important;font-size:.42vh!important;line-height:.68vh!important;font-style:normal!important;white-space:nowrap!important;overflow:hidden!important}
#room .right-bottom-tools::before{content:""!important;position:absolute!important;right:-.55vh!important;top:4.6vh!important;width:1.05vh!important;height:11.9vh!important;border:.20vh solid #fff!important;outline:.10vh solid #dd477b!important;border-radius:.55vh!important;background:linear-gradient(90deg,#dc477c 0 24%,#ffafc9 25% 49%,#ee6190 50% 73%,#c83c70 74%)!important;box-shadow:0 .3vh .5vh rgba(85,40,56,.17)!important;transform:rotate(5deg)!important}
#room .right-bottom-tools::after{content:""!important;position:absolute!important;right:-.78vh!important;top:3.45vh!important;width:1.55vh!important;height:1.55vh!important;border:.22vh solid #fff!important;border-radius:50%!important;background:linear-gradient(#ff9dbc,#e94e82)!important;box-shadow:0 .15vh .25vh rgba(85,40,56,.15)!important}
#room .memory-ribbon{position:absolute!important;right:-.15vh!important;bottom:0!important;width:12.2vh!important;height:5.75vh!important;padding:.9vh .8vh .55vh!important;border:.28vh solid #fff!important;outline:.12vh solid #6540cc!important;border-radius:1.0vh!important;background:linear-gradient(180deg,#8b5cf1,#6743d8 58%,#5c35c7)!important;box-shadow:0 .33vh 0 rgba(79,48,162,.28),0 .65vh 1.1vh rgba(72,39,137,.18)!important;color:#fff!important;text-align:center!important;overflow:visible!important}
#room .memory-ribbon::before,#room .memory-ribbon::after{content:""!important;position:absolute!important;top:50%!important;width:2.5vh!important;height:2.3vh!important;background:#7350df!important;border:.22vh solid #fff!important;z-index:-1!important}
#room .memory-ribbon::before{left:-1.8vh!important;transform:translateY(-50%) skewX(18deg)!important}
#room .memory-ribbon::after{right:-1.8vh!important;transform:translateY(-50%) skewX(-18deg)!important}
#room .memory-ribbon b{display:block!important;margin:0!important;color:#fff!important;font-size:1.18vh!important;line-height:1!important;font-weight:800!important;letter-spacing:.05em!important}
#room .memory-ribbon small{display:block!important;margin-top:.4vh!important;color:#fff!important;font-size:.47vh!important;font-weight:700!important}

/* ---------- bottom dock ---------- */
#room .quick-actions{position:absolute!important;z-index:52!important;left:50%!important;bottom:5.30vh!important;transform:translateX(-50%)!important;width:53.55vh!important;height:10.95vh!important;padding:1.45vh 2.3vh 1.1vh!important;border-radius:2.15vh!important;display:flex!important;align-items:stretch!important;justify-content:center!important;gap:.45vh!important;overflow:visible!important;zoom:1!important}
#room .quick-actions::before{content:""!important;position:absolute!important;left:50%!important;top:-1.8vh!important;width:5.3vh!important;height:3.3vh!important;transform:translateX(-50%)!important;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat!important}
#room .quick-actions::after{content:""!important;position:absolute!important;left:-2.8vh!important;bottom:-2.15vh!important;width:5.4vh!important;height:5.4vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important}
#room .qa{width:6.55vh!important;min-width:6.55vh!important;height:8.35vh!important;padding:.65vh .25vh .4vh!important;border:.16vh solid #efc5d3!important;border-radius:1.35vh!important;background:#fff!important;box-shadow:0 .22vh 0 rgba(200,154,171,.18)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:.15vh!important;font-weight:900!important;transform:none!important}
#room .qa:nth-child(1){background:linear-gradient(#fff,#ffeaf1)!important}
#room .qa:nth-child(2){background:linear-gradient(#fff,#fff0e8)!important}
#room .qa:nth-child(3){background:linear-gradient(#fff,#e9f8f5)!important}
#room .qa:nth-child(4){background:linear-gradient(#fff,#fff4d8)!important}
#room .qa:nth-child(5){background:linear-gradient(#fff,#eaf1ff)!important}
#room .qa:nth-child(6){background:linear-gradient(#fff,#f1eaff)!important}
#room .qa:nth-child(7){background:linear-gradient(#fff,#fff0f4)!important}
#room .qa span{display:block!important;width:2.8vh!important;height:2.8vh!important;margin:.05vh 0 .32vh!important;font-size:0!important;background:center/contain no-repeat!important}
#room .qa.talk span{background-image:url("assets/ui_final_0813/icon_talk.svg")!important}
#room .qa.private span{background-image:url("assets/ui_final_0813/icon_lock.svg")!important}
#room .qa.menu span{background-image:url("assets/ui_final_0813/icon_drink.svg")!important}
#room .qa.cheers span{background-image:url("assets/ui_final_0813/icon_cheers.svg")!important}
#room .qa.cheer span{background-image:url("assets/ui_final_0813/icon_cheer.svg")!important}
#room .qa.gift span{background-image:url("assets/ui_final_0813/icon_gift.svg")!important}
#room .qa.idol span{background-image:url("assets/ui_final_0813/icon_star.svg")!important}
#room .qa b{display:block!important;color:#2e2529!important;font-size:.72vh!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important}
#room .qa small{display:block!important;color:#e34f80!important;font-size:.45vh!important;line-height:1!important;font-weight:900!important;letter-spacing:.03em!important}
#room .qa.private small{color:#9c695d!important}#room .qa.menu small{color:#358c87!important}#room .qa.cheers small{color:#c58323!important}#room .qa.cheer small{color:#4167aa!important}#room .qa.gift small{color:#6b4cac!important}#room .qa.idol small{color:#e14072!important}
#room .quick-collapse-toggle{position:absolute!important;z-index:53!important;left:50%!important;bottom:15.45vh!important;transform:translateX(-50%)!important;width:2.1vh!important;height:1.25vh!important;padding:0!important;border:.13vh solid #fff!important;outline:.08vh solid #ef91b1!important;border-radius:99px!important;background:#ef6a98!important;color:#fff!important;font-size:.65vh!important;line-height:1!important;box-shadow:0 .15vh .35vh rgba(82,40,55,.14)!important}
#room .quick-actions.collapsed{width:4.5vh!important;height:3.5vh!important;padding:.4vh!important;border-radius:1.45vh!important}
#room .quick-actions.collapsed .qa{display:none!important}
#room .quick-actions.collapsed::before,#room .quick-actions.collapsed::after{display:none!important}
#room .quick-actions.collapsed + .quick-collapse-toggle{bottom:6.05vh!important}
#room .heart-action-hidden{display:none!important}
#room #pawMenu{display:none!important}

/* ---------- talk dock ---------- */
#room .talk-dock{position:absolute!important;z-index:58!important;left:50%!important;bottom:17.1vh!important;transform:translateX(-50%)!important;width:min(46vh,70vw)!important;border:.28vh solid #fff!important;outline:.12vh solid #f1a5bf!important;border-radius:1.55vh!important;background:rgba(255,251,253,.98)!important;box-shadow:0 .55vh 1.4vh rgba(86,40,57,.16)!important;overflow:hidden!important}
#room .talk-dock>header{height:3.8vh!important;padding:0 1.0vh!important;background:linear-gradient(90deg,#f06090,#fb91b4)!important;color:#fff!important}
#room .talk-dock>header small,#room .talk-dock>header b{color:#fff!important}
#room .talk-dock .talk-content{max-height:19vh!important;overflow:auto!important}

/* ---------- effects: never overlap UI lanes ---------- */
#room .heart-burst{position:absolute!important;z-index:86!important;left:14%!important;top:55%!important;width:28vh!important;height:20vh!important;pointer-events:none!important;opacity:0!important}
#room .heart-burst.play{opacity:1!important}
#room .heart-score{position:absolute!important;left:0!important;top:2.6vh!important;width:25vh!important;transform:rotate(-7deg)!important;text-align:center!important;color:#ef4e84!important}
#room .heart-score strong{display:block!important;font-size:3.0vh!important;line-height:.95!important;font-weight:900!important;-webkit-text-stroke:.5vh #fff!important;paint-order:stroke fill!important;text-shadow:0 .28vh 0 #efb0c5!important}
#room .heart-score b{display:block!important;margin-top:.6vh!important;font-size:5.0vh!important;line-height:.9!important;font-weight:900!important;-webkit-text-stroke:.65vh #fff!important;paint-order:stroke fill!important;text-shadow:0 .35vh 0 #efb0c5!important}
#room .oshiup-heart{position:absolute!important;display:block!important;width:4.6vh!important;height:4.2vh!important;background:url("assets/ui_final_0813/heart.svg") center/contain no-repeat!important}
#room .oshiup-heart-a{left:1vh!important;top:-1vh!important;transform:rotate(-12deg)!important}
#room .oshiup-heart-b{right:1vh!important;top:0!important;transform:rotate(12deg) scale(.8)!important}
#room .oshiup-paw{position:absolute!important;right:1.5vh!important;bottom:-.2vh!important;width:3.8vh!important;height:3.8vh!important;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat!important}
#room .heart-burst i{color:#ff6e9d!important;text-shadow:0 .2vh 0 #fff!important}
#room .first-text-burst{position:absolute!important;z-index:87!important;left:50%!important;top:52%!important;transform:translate(-50%,-50%)!important;max-width:55vw!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important;opacity:0!important;color:#ef5689!important;font-size:3.6vh!important;line-height:1.08!important;font-weight:900!important;text-align:center!important;-webkit-text-stroke:.45vh #fff!important;paint-order:stroke fill!important;text-shadow:0 .3vh 0 #efb0c5!important}
#room .first-text-burst.show{animation:nfFirst 2.8s ease both!important}
@keyframes nfFirst{0%{opacity:0;transform:translate(-50%,-43%) scale(.88)}14%,74%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-57%) scale(1.03)}}
#room .action-banner{position:absolute!important;z-index:85!important;left:50%!important;bottom:18.2vh!important;top:auto!important;transform:translateX(-50%)!important;min-width:0!important;max-width:55vw!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important;pointer-events:none!important}
#room .action-banner b{display:block!important;color:#ef5689!important;font-size:2.6vh!important;line-height:1.05!important;font-weight:900!important;-webkit-text-stroke:.38vh #fff!important;paint-order:stroke fill!important;text-shadow:0 .26vh 0 #efb1c6!important}
#room .action-banner span{display:block!important;margin-top:.45vh!important;color:#fff!important;font-size:1.0vh!important;font-weight:900!important;text-shadow:0 .2vh .65vh rgba(65,28,42,.58)!important}
#room .action-banner small{display:none!important}

/* tiny logical windows: preserve all controls without collisions; never resize/zoom cast */
@media(max-height:700px){
  #room .room-name-card b{font-size:2.0vh!important}
  #room .room-visit-actions button{font-size:.9vh!important}
  #room .left-ui-stack{gap:5.2vh!important}
  #room .buddy-copy b{font-size:1.15vh!important}
  #room .buddy-copy em{font-size:.72vh!important}
  #room .music-copy b{font-size:.98vh!important}
  #room .oshi-float{top:14.2vh!important}
  #room .right-bottom-tools{top:53.0vh!important}
}

/* ---------- internal menus: same design language, original V10 DOM/logic ---------- */
#navDrawer,#sheet,#menuOverlay,#eventOverlay,.tutorial-card,.time-card,.moment-card{
  font-family:var(--nf-round)!important;color:var(--nf-ink)!important;
}
#navDrawer{background:linear-gradient(145deg,#fffafd,#fff2f7)!important;border-left:4px solid #fff!important;outline:2px solid #f29ab8!important;box-shadow:-20px 0 55px rgba(84,40,57,.20)!important;padding:20px!important}
#navDrawer::before{content:"";position:sticky;display:block;top:-20px;height:28px;margin:-20px -20px 12px;background:url("assets/ui_final_0813/lace_h.svg") top left/96px 27px repeat-x;z-index:2}
#navDrawer>header{padding:5px 2px 10px;border-bottom:1px dashed #efb0c5!important}
#navDrawer>header img{width:72px!important;filter:drop-shadow(0 2px 4px rgba(94,44,63,.12))}
#navDrawer>header small{color:#e05282!important;letter-spacing:.12em!important;font-weight:900!important}
#navDrawer>header b{font-family:var(--nf-round)!important;font-size:20px!important}
#navDrawer>header>button,#sheet>header>button,#menuOverlay>header>button,#eventOverlay>header>button{border:3px solid #fff!important;outline:1px solid #f0a2bb!important;background:linear-gradient(#fff,#fff1f6)!important;color:#d94b7a!important;box-shadow:0 3px 0 #f7cad8!important}
#navDrawer .nav-profile{background:linear-gradient(#fff,#fff0f5)!important;border:2px solid #f5b8cc!important;border-radius:22px!important;box-shadow:0 5px 14px rgba(86,40,57,.08)!important}
#navDrawer nav{gap:10px!important}
#navDrawer nav button{position:relative!important;border:2px solid #f5c6d6!important;border-radius:18px!important;background:linear-gradient(#fff,#fff8fb)!important;box-shadow:0 4px 0 rgba(241,183,202,.24)!important;padding:13px!important;overflow:hidden!important}
#navDrawer nav button::after{content:"";position:absolute;right:7px;top:7px;width:15px;height:15px;background:url("assets/ui_final_0813/paw.svg") center/contain no-repeat;opacity:.32}
#navDrawer nav button b{font-size:12px!important}#navDrawer nav button small{font-size:8px!important;color:#8b6976!important}

#sheet{background:linear-gradient(150deg,#fffafd,#fff4f8)!important;border-left:5px solid #fff!important;outline:2px solid #f09ab7!important;box-shadow:-22px 0 60px rgba(84,40,57,.20)!important}
#sheet>header{position:relative!important;border-bottom:1px dashed #efb0c5!important;background:linear-gradient(90deg,#fff,#fff1f6)!important}
#sheet>header::before{content:"";position:absolute;left:12px;top:-12px;width:70px;height:44px;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat}
#sheet>header>div{padding-left:60px!important}
#sheet #sheetEyebrow{color:#e45785!important;font-weight:900!important;letter-spacing:.14em!important}
#sheet #sheetTitle{font-family:var(--nf-round)!important;color:#d94377!important}
#sheetBody button,#sheetBody .sheet-card,#sheetBody .memory-card{border:2px solid #f4c2d3!important;border-radius:18px!important;background:linear-gradient(#fff,#fff8fb)!important;box-shadow:0 4px 12px rgba(82,40,55,.07)!important}

#menuOverlay{background:linear-gradient(145deg,rgba(255,249,252,.995),rgba(255,239,246,.99))!important;padding:30px!important;overflow:auto!important}
#menuOverlay::before{content:"";position:fixed;z-index:0;inset:8px;pointer-events:none;border:3px solid #ee6b99;border-radius:28px;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 7px #f8b4ca;background:url("assets/ui_final_0813/lace_h.svg") top left/96px 27px repeat-x,url("assets/ui_final_0813/lace_h.svg") bottom left/96px 27px repeat-x}
#menuOverlay .order-window-head{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 auto 16px!important;max-width:1100px!important;padding:18px 24px!important;border:3px solid #fff!important;outline:2px solid #ef9ab7!important;border-radius:26px!important;background:linear-gradient(90deg,#ffecf3,#fff)!important;box-shadow:0 6px 0 rgba(246,184,205,.30)!important}
#menuOverlay .order-window-head>div{display:block!important}
#menuOverlay .order-window-head small{color:#de4f7e!important;font-weight:900!important;letter-spacing:.12em!important}
#menuOverlay .order-window-head h2{font-family:var(--nf-round)!important;color:#d94377!important;margin:4px 0 0!important}
#menuOverlay #menuClose{display:grid!important;place-items:center!important;position:static!important;width:48px!important;height:48px!important;border-radius:50%!important;font-size:27px!important}
#menuOverlay .menu-book-body{position:relative!important;z-index:1!important;max-width:1100px!important;margin:0 auto!important}
#menuOverlay .menu-book-body button,#menuOverlay .order-card,#menuOverlay .menu-item{border-color:#f3bfd0!important;border-radius:18px!important;box-shadow:0 5px 14px rgba(82,40,55,.07)!important}

#eventOverlay{background:linear-gradient(145deg,#fffafd,#fff0f6)!important}
#eventOverlay>header{background:linear-gradient(90deg,#fff,#ffeaf2)!important;border-bottom:2px solid #f4bad0!important}
#eventOverlay>header h2{font-family:var(--nf-round)!important;color:#d94377!important}
#eventOverlay>nav{background:#fff8fb!important;border-bottom:1px solid #f5c3d4!important}
#eventOverlay>nav button{border-radius:999px!important;border:2px solid #f3bfd0!important;background:#fff!important;color:#a85d78!important;font-weight:900!important}
#eventOverlay>nav button.active{background:linear-gradient(#ff8fb4,#ee5b8d)!important;color:#fff!important;border-color:#fff!important;outline:1px solid #e95d8a!important}
#eventOverlay .event-body{background:transparent!important}

.tutorial-overlay,.time-overlay,.moment-overlay{background:rgba(73,37,51,.32)!important;backdrop-filter:blur(4px)!important}
.tutorial-card,.time-card,.moment-card{position:relative!important;border:5px solid #fff!important;outline:2px solid #f08eaf!important;border-radius:32px!important;background:linear-gradient(145deg,#fffafd,#fff3f8)!important;box-shadow:0 14px 48px rgba(67,31,46,.25)!important}
.tutorial-card::before,.time-card::before,.moment-card::before{content:"";position:absolute;left:-18px;top:-25px;width:92px;height:58px;background:url("assets/ui_final_0813/bow.svg") center/contain no-repeat;pointer-events:none}
.tutorial-card h2,.time-card h2,.moment-card h2{font-family:var(--nf-round)!important;color:#d94377!important}
.primary-button{background:linear-gradient(#ff8fb4,#ec5a8c)!important;color:#fff!important;border-color:#fff!important;outline-color:#e95c8b!important}
.secondary-button{background:linear-gradient(#fff,#fff1f6)!important;color:#d64b79!important;border-color:#fff!important;outline-color:#efacc2!important}

/* preserve z-order: overlays above room ornaments */
#navBackdrop,#sheetBackdrop{z-index:90!important}#navDrawer{z-index:100!important}#sheet{z-index:105!important}#menuOverlay,#eventOverlay,.tutorial-overlay,.time-overlay,.moment-overlay{z-index:110!important}

/* master-like scalloped panel edging; decorative only */
#room .room-name-card,#room .buddy-bubble,#room .music-widget,#room .oshi-float,#room .quick-actions{
  background:
    url("assets/ui_final_0813/scallop_h.svg") top left/3.1vh .78vh repeat-x,
    url("assets/ui_final_0813/scallop_h.svg") bottom left/3.1vh .78vh repeat-x,
    url("assets/ui_final_0813/scallop_v.svg") top left/.78vh 3.1vh repeat-y,
    url("assets/ui_final_0813/scallop_v.svg") top right/.78vh 3.1vh repeat-y,
    linear-gradient(150deg,rgba(255,255,255,.99),rgba(255,247,250,.97))!important;
}
#room .memory-quick{
  background:
    url("assets/ui_final_0813/scallop_h.svg") top left/3.0vh .72vh repeat-x,
    url("assets/ui_final_0813/scallop_h.svg") bottom left/3.0vh .72vh repeat-x,
    repeating-linear-gradient(0deg,rgba(236,91,141,.07) 0 .08vh,transparent .08vh 1.48vh),
    linear-gradient(145deg,#fff9fb,#fff)!important;
}
#room .oshi-float::before{
  background:
    url("assets/ui_final_0813/scallop_h.svg") top left/3.0vh .72vh repeat-x,
    url("assets/ui_final_0813/scallop_h.svg") bottom left/3.0vh .72vh repeat-x,
    url("assets/ui_final_0813/scallop_v.svg") top left/.72vh 3.0vh repeat-y,
    url("assets/ui_final_0813/scallop_v.svg") top right/.72vh 3.0vh repeat-y,
    rgba(255,249,252,.72)!important;
}
/* explicitly preserve V10 drawer/sheet open-close mechanics */
#navDrawer{transform:translateX(104%)!important;transition:transform .24s ease!important}
#navDrawer.open{transform:translateX(0)!important}
#sheet{transform:translateX(104%)!important;transition:transform .24s ease!important}
#sheet.open{transform:translateX(0)!important}

/* final-asset substitution: no legacy ui_pop artwork may surface in the rebuilt UI */
#menuBookBody::after,.order-main>header::after,#eventOverlay.calendar-mode .nyaas-calendar::after,.start-card::after{
  background-image:url("assets/ui_final_0813/bow.svg")!important;
}
#eventOverlay.calendar-mode .nyaas-calendar::before,.start-card::before{
  border-image-source:none!important;
  border-image:none!important;
  border-style:solid!important;
  border-color:transparent!important;
  background:
    url("assets/ui_final_0813/lace_h.svg") top left/96px 27px repeat-x,
    url("assets/ui_final_0813/lace_h.svg") bottom left/96px 27px repeat-x,
    url("assets/ui_final_0813/lace_v.svg") top left/27px 96px repeat-y,
    url("assets/ui_final_0813/lace_v.svg") top right/27px 96px repeat-y!important;
}
.start-card{border:5px solid #fff!important;outline:2px solid #ee8faf!important;border-radius:34px!important;background:linear-gradient(145deg,#fffafd,#fff3f8)!important;box-shadow:0 18px 55px rgba(73,34,49,.22)!important}
.start-card>h2,.start-kicker{font-family:var(--nf-round)!important;color:#d94377!important}
.start-choice-buttons>button,.new-game-panel button{font-family:var(--nf-round)!important;border-radius:22px!important;border:3px solid #fff!important;outline:1px solid #efadc3!important;box-shadow:0 5px 0 #f5c9d7!important}
#eventOverlay.calendar-mode .nyaas-calendar{border:5px solid #fff!important;outline:2px solid #ee8faf!important;border-radius:34px!important;background:linear-gradient(145deg,#fffafd,#fff5f9)!important}
#eventOverlay.calendar-mode .calendar-title h2,#eventOverlay.calendar-mode .calendar-month h3,#eventOverlay.calendar-mode .cal-cell>b{font-family:var(--nf-round)!important;color:#d94377!important}
#eventOverlay.calendar-mode .cal-cell{border-color:#f4c4d4!important;background:linear-gradient(#fff,#fff9fb)!important;border-radius:16px!important}
#eventOverlay.calendar-mode .calendar-close{border:3px solid #fff!important;outline:1px solid #ee9bb8!important;background:linear-gradient(#fff,#fff1f6)!important;color:#d94b7a!important;box-shadow:0 4px 0 #f6cad8!important}
