#sheet .sheet-card:has(.room-play){width:min(780px,100%)!important;max-height:96dvh!important;padding:0!important;background:#faf8f0;border-radius:24px 24px 0 0;overflow:hidden}
#sheet .sheet-card:has(.room-play)>.sheet-body{padding:0!important;overflow-y:auto;overscroll-behavior:contain;max-height:96dvh}
.room-play{--rp-green:#325f50;--rp-line:#deded0;color:#2f4239;padding:18px 24px calc(16px + env(safe-area-inset-bottom,0px));font-size:14px}
.rp-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rp-heading small{font-size:11px;letter-spacing:3px;color:#758375}
.rp-heading h3{font-size:22px;margin:3px 0;font-weight:800;letter-spacing:1px}
.rp-heading p{font-size:12px;color:#7b8174;margin:4px 0}
.rp-heading>button{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--rp-line);border-radius:50%;font-size:24px;background:#eeecdf;color:#526752}
.rp-stage{position:relative;margin:12px -8px 0;background:radial-gradient(ellipse at 50% 70%,#e1e3d8,#f8f6ed 70%);border-radius:20px;overflow:hidden}
.rp-scene{width:100%;height:auto;display:block;max-height:385px;overflow:visible}
.rp-caption{position:absolute;left:12px;bottom:7px;font-size:10px;letter-spacing:1px;color:#748275;background:#fcfaf0d9;padding:4px 8px;border-radius:12px;pointer-events:none}
.rp-hotspot{cursor:pointer;outline:none}.rp-hotspot ellipse{fill:#fffdf2b8;stroke:#b5bdaa;stroke-width:1.5}.rp-hotspot text{font:11px sans-serif;fill:#5c6d5e}.rp-hotspot.selected ellipse,.rp-hotspot:focus ellipse{fill:#dce8cc;stroke:#52765c;stroke-width:3}.rp-hotspot:hover ellipse{fill:#fefae0}
.rp-person{pointer-events:none;transition:transform .26s ease-in-out}.rp-sofa{transition:transform .3s}.rp-measure{cursor:pointer;outline:none}.rp-measure circle{fill:#bd6843;stroke:#fff9e8;stroke-width:3}.rp-measure text{font:bold 17px sans-serif;fill:white}.rp-measure:focus circle{stroke:#244f3e;stroke-width:5}
.rp-locations{display:flex;gap:5px;margin:10px 0}.room-play button{font:inherit;cursor:pointer;touch-action:manipulation}.rp-locations button{flex:1;min-width:0;min-height:40px;border:1px solid var(--rp-line);border-radius:12px;background:#fffdf6;color:#52664f;font-size:13px}.rp-locations button.on{background:var(--rp-green);color:#fff;border-color:var(--rp-green)}
.room-play button:disabled{opacity:.48;cursor:default}.room-play button:focus-visible,.room-play summary:focus-visible{outline:3px solid #c18c47;outline-offset:2px}
.rp-response{border-left:3px solid #af885a;padding:10px 14px;background:#f0eddf;border-radius:0 12px 12px 0;min-height:65px}.rp-response b{font-size:11px;color:#877052;letter-spacing:1px}.rp-response p{line-height:1.65;margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}
.rp-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.rp-actions button,.rp-finish button{border:1px solid #b7c6b1;border-radius:12px;background:#e5ecdb;color:#345844;padding:11px 13px;min-height:44px;font-size:13px}.rp-actions button:hover{background:#d7e2ca}
.rp-tools,.rp-photo,.rp-records{margin:10px 0;border:1px solid var(--rp-line);border-radius:13px;padding:0 12px;background:#fffdf6}.room-play summary{padding:12px 0;min-height:44px;box-sizing:border-box;font-weight:700;cursor:pointer;font-size:13px}.rp-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:12px}.rp-tool-grid>button{display:flex;align-items:center;text-align:left;gap:7px;border:1px solid #e3e2d5;border-radius:12px;padding:10px;background:#f5f4eb;color:#3b5b49;min-height:52px;font-size:12px}.rp-tool-grid svg{width:23px;height:23px;flex:0 0 23px}.rp-tool-grid small{display:block;font-size:10px;color:#829078;margin-top:3px}.rp-tool-grid p{grid-column:1/-1;line-height:1.5;font-size:12px}
.rp-photo-preview{margin:8px auto 14px;width:min(320px,100%);border:7px solid #fff;box-shadow:0 4px 16px #4b513014;border-radius:6px;background:#e2e1d5;overflow:hidden}.rp-photo-preview>div{height:175px;overflow:hidden}.rp-photo-preview .rp-scene{height:220px;width:100%;transform:translateY(-13px)}.rp-photo-preview[data-angle=window] .rp-scene{transform:translateY(-13px) scale(1.12);filter:brightness(1.22)}.rp-photo-preview[data-angle=detail] .rp-scene{transform:translate(-20px,-35px) scale(1.55)}.rp-photo-preview p{font-size:11px;text-align:center;margin:0;padding:10px;background:#fff}.rp-records p{font-size:12px;line-height:1.5}
.rp-finish{padding-top:12px;display:grid;gap:8px}.rp-finish span{font-size:11px;color:#7a8677}.rp-finish button{background:#35654f;color:#fff;border:0}.rp-finish button+button{background:#f2ebda;color:#6e6849}.rp-save{font-size:10px;text-align:center;color:#87937e;margin:15px 0 0;letter-spacing:1px}.rp-resume{padding:12px;background:#edf0df;border-radius:12px;margin-bottom:14px;display:grid;gap:8px}
@media(max-width:520px){.sheet-card:has(.room-play){max-height:98dvh;border-radius:20px 20px 0 0}.sheet-card:has(.room-play)>.sheet-body{max-height:98dvh}.room-play{padding:14px 13px calc(15px + env(safe-area-inset-bottom,0px))}.rp-heading h3{font-size:18px}.rp-heading p{font-size:10px}.rp-stage{margin:8px -8px 0}.rp-scene{max-height:300px}.rp-locations{gap:4px;margin-top:6px}.rp-locations button{font-size:12px;padding:3px}.rp-response p{font-size:13px}.rp-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-actions button{flex-grow:1;padding:10px;font-size:12px}.rp-response{padding:9px 11px;min-height:58px}}
@media(prefers-reduced-motion:reduce){.rp-person,.rp-sofa{transition:none}}
