.room-screen.play-room{height:100dvh;min-height:690px;display:flex;flex-direction:column;gap:0;padding:0 22px 22px;overflow:hidden;background:radial-gradient(ellipse at top left,#fff8fc,transparent 65%),linear-gradient(135deg,#ffeaf3,#f3dced)}.play-room .play-room-header{position:relative;inset:auto;height:76px;min-height:76px;padding:0 5px;background:transparent;box-shadow:none;border:0;z-index:4}.play-room-header>div{display:flex;align-items:center;gap:12px}.play-room-header .icon-btn{background:#fff8fc;border:1px solid #e1bed1;border-radius:14px;width:42px;height:42px;min-width:42px;color:#96516e}.room-play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(365px,430px);gap:22px;flex:1 1;min-height:0;max-width:1500px;width:100%;margin:0 auto}.room-portrait{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:28px;border:4px solid #fffafc;background:#f9dfec;box-shadow:0 10px 35px #9a4c6d20;container-type:size;isolation:isolate}.room-portrait>.anime-scene{width:100%;height:100%;min-height:0}.room-portrait .illustrated-room>img{filter:none;object-fit:cover;object-position:center}.room-portrait .scene-character{height:auto;min-height:0;max-width:650px;width:min(94cqw,calc(100cqh - 85px),650px);aspect-ratio:1;left:54%;bottom:78px;transform:translateX(-50%);filter:drop-shadow(0 4px 9px #56304522)}.room-portrait .scene-character .hd-portrait{width:100%;max-width:100%;height:auto;aspect-ratio:1;mask-image:none;-webkit-mask-image:none}.room-portrait .scene-gift{right:10%;bottom:100px;pointer-events:none}.room-portrait .scene-gift .prop-art{width:90px}.room-portrait:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#9e57774a);pointer-events:none;z-index:2}.portrait-tools{position:absolute;z-index:4;left:16px;top:18px;display:flex;flex-direction:column;gap:9px}.portrait-tools button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:76px;min-height:63px;padding:9px 4px;border:1px solid #edc5d9;border-radius:17px;background:#fffaf6f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 10px #82455712;color:#965071;transition:background .15s,transform .15s}.portrait-tools button>svg{width:23px;height:23px;stroke-width:1.7}.portrait-tools button>span{font-size:10px;font-weight:800}.portrait-tools button:hover:not(:disabled){transform:translateX(3px);background:#ffeaf5;border-color:#cd82a5}.portrait-tools button:active:not(:disabled){transform:scale(.97)}.portrait-actions{position:absolute;z-index:5;left:50%;bottom:17px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px)}.portrait-action-bar{display:flex;gap:5px;align-items:center;padding:7px;background:#fffaf9f5;border:1px solid #edbfd5;border-radius:21px;box-shadow:0 6px 22px #80405d21;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portrait-action-bar>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:79px;min-height:52px;padding:7px 10px;border-radius:14px;font-size:11px;font-weight:800;color:#9c5376;white-space:nowrap;transition:background .15s}.portrait-action-bar>button>svg{width:21px;height:21px;stroke-width:1.8}.portrait-action-bar>button.active,.portrait-action-bar>button:hover,.portrait-action-bar>button[aria-expanded=true]{background:#fbe1ee;color:#a33f71}.portrait-action-bar>button:focus-visible,.portrait-more>button:focus-visible,.portrait-tools button:focus-visible{outline:3px solid #ad4a7d;outline-offset:3px}.portrait-more{position:absolute;right:0;bottom:calc(100% + 10px);padding:7px;min-width:205px;border:1px solid #e3bad0;border-radius:17px;background:#fffaf9;box-shadow:0 8px 25px #77415b30;display:grid;gap:4px;animation:conversation-in .18s ease-out}.portrait-more>button{display:flex;align-items:center;gap:10px;text-align:left;min-height:45px;padding:10px 12px;color:#935471;font-size:13px;border-radius:11px;font-weight:700}.portrait-more>button svg{width:18px;height:18px}.portrait-more>button:hover{background:#ffe9f4}.play-room .game-dialogue.room-chat{position:relative;inset:auto;width:100%;height:100%;max-height:none;min-height:0;border-radius:25px;box-shadow:0 10px 35px #9a4c6d16;overflow:hidden;background:#fffafcf7;-webkit-backdrop-filter:none;backdrop-filter:none}.game-dialogue .dialogue-heading{display:flex;align-items:center;gap:9px;padding:14px 19px;border-bottom:1px solid #f0d8e4;background:#fff7fb;color:#a05a7b;flex-shrink:0}.dialogue-heading h2{font-family:Baloo\ 2,sans-serif;font-size:23px;line-height:1.2;margin:0;color:#8c4768}.game-dialogue>.heart-meter{margin:13px 14px 0;padding:12px 14px}.game-dialogue .dialogue-scroll{flex:1 1;min-height:0;padding:22px 18px 25px;scrollbar-width:thin;scrollbar-color:#e0abc6 transparent;overscroll-behavior:contain}.game-dialogue .conversation-continuation{padding-top:4px}.game-dialogue .story-choices{margin-bottom:12px}.game-dialogue .story-choices button{font-size:14px;line-height:1.7}.game-dialogue .chat-bubble .speech-balloon p{font-size:15px!important;line-height:1.8!important}.conversation-reward{display:flex;justify-content:center;align-items:center;gap:7px;font-size:12px;padding:8px 13px;line-height:1.6;border-radius:14px}.conversation-reward.lost-affection{color:#a13c54;background:#fff0f1;border-color:#e9b4be;font-weight:800}.lost-affection svg{flex:none}@media(min-width:701px) and (max-width:1050px){.room-screen.play-room{padding:0 14px 16px}.room-play-layout{grid-template-columns:minmax(0,1fr) minmax(330px,360px);gap:14px}.portrait-tools{left:10px;top:12px;gap:7px}.portrait-tools button{width:65px;min-height:58px;border-radius:14px}.portrait-tools button>span{font-size:9px}.room-portrait .scene-character{left:57%;width:min(99cqw,calc(100cqh - 85px))}.portrait-action-bar{gap:1px;padding:6px}.portrait-action-bar>button{min-width:61px;font-size:10px;padding:6px}.game-dialogue .dialogue-scroll{padding:20px 13px}.portrait-more{min-width:190px}}@media(max-width:700px){.room-screen.play-room{height:100dvh;min-height:710px;overflow:hidden;padding:0 10px 14px;display:flex;gap:0}.play-room .play-room-header{position:relative;inset:auto;height:68px;min-height:68px;padding:0 5px}.play-room-header>div{gap:8px}.play-room-header .logo{font-size:25px}.play-room-header .icon-btn{width:37px;min-width:37px;height:37px;border-radius:12px}.room-play-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(285px,.9fr) minmax(320px,1.1fr);gap:12px;flex:1 1;min-height:0;max-width:600px}.room-portrait{height:100%;min-height:0;border-width:3px;border-radius:23px;scroll-margin-top:15px}.room-portrait .scene-character{width:min(98cqw,calc(100cqh - 88px));left:53%;bottom:80px;max-width:470px}.portrait-tools{left:10px;top:10px;gap:5px}.portrait-tools button{min-height:44px;width:56px;padding:4px 2px;gap:3px;border-radius:12px}.portrait-tools button>svg{width:18px;height:18px}.portrait-tools button>span{font-size:8.5px;line-height:1.1}.portrait-actions{bottom:13px;max-width:calc(100% - 18px)}.portrait-action-bar{padding:6px;gap:2px;border-radius:18px}.portrait-action-bar>button{min-width:65px;min-height:51px;font-size:10px;padding:6px 7px}.portrait-action-bar>button>svg{width:21px;height:21px}.portrait-more{min-width:190px;border-radius:15px}.portrait-more>button{min-height:46px;font-size:13px}.room-portrait .scene-gift{bottom:100px;right:5%}.room-portrait .scene-gift .prop-art{width:70px}.play-room .game-dialogue.room-chat{height:100%;min-height:0;max-height:none;width:100%;border-radius:23px;scroll-margin-top:15px}.game-dialogue .dialogue-heading{padding:14px 17px}.game-dialogue>.heart-meter{margin:12px 13px 0;padding:11px 13px}.game-dialogue .dialogue-scroll{padding:20px 14px 25px}.game-dialogue .chat-bubble>.avatar-dot,.game-dialogue .speaker-token{width:30px;height:30px;min-width:30px}.game-dialogue .chat-bubble{gap:10px}.game-dialogue .speech-balloon.manga-bubble{padding:14px}}@media(max-width:360px){.room-portrait{height:100%}.portrait-action-bar>button{min-width:59px;font-size:9px}.room-portrait .scene-character{left:54%}.game-dialogue .speech-balloon.manga-bubble{padding:12px}.game-dialogue .chat-bubble .speech-balloon p{font-size:14px!important}}.reduce-motion .portrait-more{animation:none}.reduce-motion .portrait-action-bar>button,.reduce-motion .portrait-tools button{transition:none}@media(prefers-reduced-motion:reduce){.portrait-more{animation:none}.portrait-action-bar>button,.portrait-tools button{transition:none}}