
/* Banner artwork is decorative; identity and existing editing remain above it. */
.mm-widget-room-scene .mm-room-scene{isolation:isolate;min-height:300px!important}
.mm-widget-room-scene .mm-room-scene>.mm-banner-art,.mm-widget-room-scene .mm-room-scene>.mm-banner-weather{position:absolute!important;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mm-banner-art{opacity:.8;transition:opacity .25s ease;background:none}
.mm-room-scene[data-backdrop="brush"] .mm-banner-art{background:linear-gradient(174deg,transparent 18%,#c4b5fd88 19% 36%,transparent 37%),linear-gradient(164deg,transparent 35%,#f9a8d477 36% 56%,transparent 57%),linear-gradient(178deg,transparent 58%,#67e8f977 59% 72%,transparent 73%);background-size:90% 100%,85% 100%,94% 100%;background-repeat:no-repeat;background-position:center}
.mm-room-scene[data-backdrop="watercolour"] .mm-banner-art{background:radial-gradient(ellipse at 15% 38%,#a5b4fccc,transparent 44%),radial-gradient(ellipse at 75% 85%,#f9a8d4bb,transparent 48%),radial-gradient(ellipse at 95% 12%,#99f6e4cc,transparent 38%);filter:blur(12px)}
.mm-room-scene[data-backdrop="clouds"] .mm-banner-art{background:radial-gradient(ellipse at 12% 92%,#fff 0 20%,transparent 21%),radial-gradient(ellipse at 35% 110%,#fff 0 32%,transparent 33%),radial-gradient(ellipse at 88% 98%,#fff 0 25%,transparent 26%),linear-gradient(140deg,#bae6fd99,#ddd6fe99)}
.mm-room-scene[data-backdrop="collage"] .mm-banner-art{background:linear-gradient(14deg,transparent 58%,#fef3c788 58% 82%,transparent 82%),linear-gradient(165deg,transparent 30%,#e9d5ff88 30% 55%,transparent 55%),repeating-linear-gradient(0deg,transparent 0 27px,#64748b18 28px 29px);background-color:#fff7ed55}
.mm-room-scene[data-backdrop="aurora"] .mm-banner-art{background:radial-gradient(ellipse at 10% 0%,#818cf8aa,transparent 62%),radial-gradient(ellipse at 90% 110%,#2dd4bfaa,transparent 66%),linear-gradient(135deg,#c4b5fd44,#f0abfc44)}
.mm-widget-room-scene[data-banner-shape="soft"] .mm-pw{border-radius:36px!important}
.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw{border-radius:85px 130px 75px 110px / 70px 90px 70px 85px!important}
.mm-widget-room-scene[data-banner-shape="organic"] .mm-pw{border-radius:18% 8% 20% 9% / 22% 18% 20% 14%!important}
.mm-widget-room-scene[data-banner-shape="ticket"] .mm-pw::before,.mm-widget-room-scene[data-banner-shape="ticket"] .mm-pw::after,.mm-widget-room-scene[data-banner-shape="ticket"] .mm-pw__body::before,.mm-widget-room-scene[data-banner-shape="ticket"] .mm-banner-art,.mm-widget-room-scene[data-banner-shape="ticket"] .mm-banner-weather{clip-path:none;border-radius:20px!important;border:0!important;--mm-ticket-notch:clamp(12px,3vw,28px);-webkit-mask:radial-gradient(circle at left center,transparent var(--mm-ticket-notch),#000 calc(var(--mm-ticket-notch) + 1px)) left / 51% 100% no-repeat,radial-gradient(circle at right center,transparent var(--mm-ticket-notch),#000 calc(var(--mm-ticket-notch) + 1px)) right / 51% 100% no-repeat;mask:radial-gradient(circle at left center,transparent var(--mm-ticket-notch),#000 calc(var(--mm-ticket-notch) + 1px)) left / 51% 100% no-repeat,radial-gradient(circle at right center,transparent var(--mm-ticket-notch),#000 calc(var(--mm-ticket-notch) + 1px)) right / 51% 100% no-repeat}
.mm-widget-room-scene[data-banner-shape]:not([data-banner-shape="default"]) .mm-pw{overflow:hidden}
.mm-room-scene .mm-avatar-stage{isolation:isolate;flex-shrink:0}
.mm-room-scene[data-frame="tv"] .mm-avatar-stage{padding:13px 28px 13px 12px;background:linear-gradient(145deg,#a16e44,#503829);border-radius:18px;box-shadow:0 10px 22px #0003,inset 0 0 0 3px #d7b18d;box-sizing:content-box}
.mm-room-scene[data-frame="tv"] #avatar-wrapper{border-radius:24%!important;border:5px solid #28262b!important;box-shadow:inset 0 0 12px #0008;transform:scale(.95)}
.mm-room-scene[data-frame="tv"] .mm-avatar-stage:after{content:'●\A●';white-space:pre;position:absolute;right:7px;top:30%;font-size:15px;line-height:2;color:#d7b18d;pointer-events:none}
.mm-room-scene[data-frame="mirror"] .mm-avatar-stage{padding:12px 10px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#a88947 30%,#fff0b5 50%,#7a632d 75%,#fde68a);box-shadow:0 10px 20px #0002,inset 0 0 0 2px #a68a52;box-sizing:content-box}
.mm-room-scene[data-frame="mirror"] #avatar-wrapper{border-radius:50%!important;border:3px solid #eee9d5!important;transform:scaleX(.88)}
.mm-room-scene[data-frame="polaroid"] .mm-avatar-stage{padding:12px 12px 30px;background:#fffdf5;box-shadow:0 10px 20px #0003;transform:rotate(-5deg);box-sizing:content-box}
.mm-room-scene[data-frame="polaroid"] #avatar-wrapper{border-radius:2px!important;border:0!important}
.mm-room-scene[data-frame="arch"] .mm-avatar-stage{padding:9px;background:linear-gradient(150deg,#c4b5fd,#67e8f9);border-radius:50% 50% 12px 12px;box-sizing:content-box;box-shadow:0 10px 20px #0002}
.mm-room-scene[data-frame="arch"] #avatar-wrapper{border-radius:50% 50% 8px 8px!important;border:2px solid #fff8!important}
.mm-room-scene[data-frame]:not([data-frame="default"]) .mm-room-avatar{padding-left:32px;padding-right:32px}
.mm-banner-weather i{position:absolute;pointer-events:none}
.mm-room-scene[data-effect="rain"] .mm-banner-weather{background:linear-gradient(160deg,#cbd5e120,#94a3b818)}
.mm-room-scene[data-effect="rain"] .mm-banner-weather i{width:1px;height:24px;background:linear-gradient(transparent,#64748b66);top:-30px;animation:mm-banner-rain 1.3s linear infinite;transform:rotate(12deg)}
.mm-room-scene[data-effect="snow"] .mm-banner-weather i{width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 4px #94a3b855;top:-10px;animation:mm-banner-snow 7s linear infinite}
.mm-room-scene[data-effect="sun"] .mm-banner-weather{background:radial-gradient(circle at 90% 12%,#fef08acc 0 6%,#fde68a44 10%,transparent 36%);animation:mm-banner-sun 8s ease-in-out infinite alternate}
.mm-room-scene[data-effect="clouds"] .mm-banner-weather{background:radial-gradient(ellipse at 10% 5%,#ffffff70,transparent 35%),radial-gradient(ellipse at 75% 95%,#ffffff70,transparent 40%);animation:mm-banner-cloud 18s ease-in-out infinite alternate}
.mm-room-scene[data-effect="night"] .mm-banner-weather{background:radial-gradient(circle at 90% 15%,#fff8 0 3%,transparent 3.5%),radial-gradient(circle at 75% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 30% 12%,#fff 0 1px,transparent 2px),linear-gradient(145deg,#6366f122,#312e8122)}
@keyframes mm-banner-rain{to{top:110%}}@keyframes mm-banner-snow{to{top:110%;transform:translateX(35px)}}@keyframes mm-banner-sun{to{opacity:.55}}@keyframes mm-banner-cloud{to{transform:translateX(24px)}}
.mm-banner-design-button{position:absolute;top:10px;right:54px;width:36px;height:36px;z-index:55;border-radius:50%;border:1px solid #ffffff40;background:#0006;color:white;font:22px system-ui;cursor:pointer;pointer-events:auto;opacity:0}
.mm-widget-room-scene:hover .mm-banner-design-button,.mm-widget-room-scene:focus-within .mm-banner-design-button,.mm-banner-design-button:focus-visible{opacity:1}
.mm-banner-design-button:focus-visible{outline:2px solid #818cf8;outline-offset:3px}
.mm-banner-design-panel{position:fixed;width:min(440px,calc(100vw - 16px));height:min(540px,calc(100dvh - 16px));margin:0;padding:0;border:1px solid #cbd5e1;border-radius:22px;background:#fff;color:#172033;box-shadow:0 24px 65px #16203b30;z-index:100060;font:14px system-ui;box-sizing:border-box;overflow:hidden}
.mm-banner-design-panel[open]{display:flex;flex-direction:column}.mm-banner-design-panel header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;flex-shrink:0;cursor:grab;touch-action:none}.mm-banner-design-panel h2{font-size:22px;margin:3px 0;font-weight:700}.mm-banner-design-panel header small{font-size:9px;font-weight:700;letter-spacing:.13em;color:#7c3aed}.mm-banner-design-panel button{font:inherit;cursor:pointer}.mm-banner-design-close{width:30px;height:30px;border:0;border-radius:9px;background:#f1f5f9;color:#475569;font-size:23px!important}
.mm-banner-design-tabs{display:flex;margin:0 16px;padding:4px;background:#f1f5f9;border-radius:12px;flex-shrink:0;gap:2px}.mm-banner-design-tabs button{flex:1;padding:9px 3px;border:0;background:transparent;color:#64748b;border-radius:9px;font-size:12px}.mm-banner-design-tabs [aria-selected="true"]{background:#fff;color:#6d28d9;box-shadow:0 2px 6px #0001;font-weight:650}
.mm-banner-design-scroll{overflow:auto;flex:1;min-height:0;padding:16px 20px}.mm-banner-panel-intro{font-size:13px;line-height:1.5;color:#64748b;margin:0 0 16px}.mm-banner-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mm-banner-option-grid button{padding:6px 6px 10px;border:1px solid #e2e8f0;border-radius:14px;background:white;color:#334155;text-align:left;transition:border-color .15s,box-shadow .15s}.mm-banner-option-grid button[aria-pressed="true"]{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf620;background:#faf8ff}.mm-banner-option-grid strong{display:block;font-size:12px;margin:7px 5px 0}.mm-banner-swatch{height:64px;border-radius:9px;display:block;position:relative;overflow:hidden;background:linear-gradient(140deg,#e0e7ff,#e2e8f0)}
.mm-swatch-backdrop-brush{background:linear-gradient(170deg,#e0e7ff 20%,#c4b5fd 21% 43%,#f9a8d4 44% 67%,#a5f3fc 68%)}.mm-swatch-backdrop-watercolour{background:radial-gradient(ellipse at 15% 30%,#a5b4fc,transparent 65%),radial-gradient(ellipse at 90% 90%,#f9a8d4,transparent 65%),#e0f2fe}.mm-swatch-backdrop-clouds{background:radial-gradient(ellipse at 20% 100%,white 0 35%,transparent 36%),radial-gradient(ellipse at 70% 110%,white 0 50%,transparent 51%),#bae6fd}.mm-swatch-backdrop-collage{background:linear-gradient(15deg,#fef3c7 40%,#e9d5ff 41% 72%,#fff7ed 73%)}.mm-swatch-backdrop-aurora{background:linear-gradient(135deg,#a5b4fc,#e9d5ff,#5eead4)}
.mm-swatch-shape-soft{border-radius:22px}.mm-swatch-shape-cloud{border-radius:45% 35% 40% 30%}.mm-swatch-shape-organic{border-radius:40% 20% 45% 25%}.mm-swatch-shape-ticket{border-radius:8px;-webkit-mask:radial-gradient(circle at left center,transparent 7px,#000 8px) left / 51% 100% no-repeat,radial-gradient(circle at right center,transparent 7px,#000 8px) right / 51% 100% no-repeat;mask:radial-gradient(circle at left center,transparent 7px,#000 8px) left / 51% 100% no-repeat,radial-gradient(circle at right center,transparent 7px,#000 8px) right / 51% 100% no-repeat}
.mm-banner-swatch[class*="mm-swatch-frame"]{display:grid;place-items:center;background:#f1f5f9}.mm-banner-swatch[class*="mm-swatch-frame"] i{display:block;width:40px;height:40px;background:linear-gradient(140deg,#a5b4fc,#e9d5ff);border-radius:50%;border:2px solid white}.mm-swatch-frame-tv i{border-radius:10px!important;border:8px solid #875a38!important;width:45px!important;height:32px!important}.mm-swatch-frame-mirror i{border:5px solid #c6a55c!important;border-radius:50%!important;width:30px!important}.mm-swatch-frame-polaroid i{border:6px solid white!important;border-bottom-width:13px!important;border-radius:0!important;transform:rotate(-8deg)}.mm-swatch-frame-arch i{border-radius:50% 50% 4px 4px!important;border-color:#a78bfa!important}
.mm-swatch-weather-off:after{content:'○';position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:#94a3b8}.mm-swatch-weather-auto{background:radial-gradient(circle at 70% 30%,#fde68a 0 14%,transparent 15%),linear-gradient(135deg,#bae6fd,#c4b5fd)}.mm-banner-weather-note{font-size:12px;line-height:1.6;color:#64748b;margin-top:16px}.mm-banner-design-panel footer{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid #e2e8f0;flex-shrink:0}.mm-banner-design-panel footer span{flex:1;font-size:12px;color:#64748b}.mm-banner-design-panel footer button{padding:8px 12px;border:0;border-radius:9px;background:#ede9fe;color:#6d28d9;font-weight:600}.mm-banner-design-panel button:focus-visible,.mm-banner-design-drag:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}
@media(hover:none){.mm-banner-design-button{opacity:1}}@media(max-width:600px){.mm-banner-design-button{opacity:1}.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw{border-radius:36px 50px 30px 45px!important}.mm-room-scene[data-frame="tv"] .mm-avatar-stage{padding:8px 20px 8px 8px}.mm-room-scene[data-frame="mirror"] .mm-avatar-stage{padding:8px}.mm-room-scene[data-frame="polaroid"] .mm-avatar-stage{padding:8px 8px 18px}.mm-room-scene[data-frame]:not([data-frame="default"]) .mm-room-avatar{padding-top:20px}.mm-banner-design-panel header{padding:15px 16px 10px}.mm-banner-design-scroll{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.mm-banner-weather,.mm-banner-weather i,.mm-banner-art{animation:none!important;transition:none!important}.mm-room-scene[data-effect="rain"] .mm-banner-weather i{top:30%}.mm-room-scene[data-effect="snow"] .mm-banner-weather i{top:40%}}

.mm-banner-design-panel [hidden]{display:none!important}
.mm-room-scene[data-frame="tv"] #avatar-wrapper{background:radial-gradient(ellipse at 50% 25%,#334155,#111827)!important}.mm-room-scene[data-frame="tv"] #profile-avatar-fallback{color:#e2e8f0!important;text-shadow:0 0 8px #dbeafe66}
.mm-room-scene[data-frame="tv"] .mm-avatar-stage:after{content:'';width:10px;height:42px;background:radial-gradient(circle at 50% 20%,#d7b18d 0 3px,transparent 4px),radial-gradient(circle at 50% 80%,#d7b18d 0 3px,transparent 4px)}
.mm-swatch-weather-off:after{content:'';background:radial-gradient(circle at center,transparent 0 10px,#94a3b8 11px 12px,transparent 13px)}

.mm-room-scene[data-backdrop="brush"] .mm-banner-art{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20opacity%3D%22.45%22%3E%3Cpath%20fill%3D%22%23a78bfa%22%20d%3D%22M50%2070L918%2028L942%2038L880%2048L939%2054L907%2063L935%2076L56%20150L21%20140L70%20124L28%20114L64%20104L26%2098Z%22/%3E%3Cpath%20fill%3D%22%23f9a8d4%22%20d%3D%22M65%20175L955%20115L919%20133L963%20139L925%20154L945%20170L79%20263L43%20251L84%20236L48%20224L86%20209L53%20196Z%22/%3E%3Cpath%20fill%3D%22%2367e8f9%22%20d%3D%22M25%20287L933%20230L970%20242L924%20254L968%20266L937%20281L39%20341L60%20325L17%20314L51%20301Z%22/%3E%3C/g%3E%3Cg%20opacity%3D%22.25%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%3E%3Cpath%20d%3D%22M78%20103L893%2050M104%20133L841%2080M93%20215L898%20149M81%20308L908%20261%22/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%;background-position:center}

.mm-widget-room-scene>.mm-widget-style-layer{position:absolute!important;z-index:60!important}
.mm-room-scene[data-light-text="true"]:not([data-backdrop="theme"]) .mm-banner-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11182722,#11182777)}

.mm-widget-room-scene .mm-banner-design-button{position:absolute!important;top:10px!important;right:54px!important;z-index:65!important}

.mm-widget-room-scene>.mm-widget-style-btn{position:absolute!important;top:10px!important;right:10px!important;z-index:65!important}

.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw::before,.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw::after,.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw__body::before,.mm-widget-room-scene[data-banner-shape="cloud"] .mm-banner-art,.mm-widget-room-scene[data-banner-shape="cloud"] .mm-banner-weather{clip-path:none;border-radius:0!important;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28.04%20.04%29%20scale%28.92%29%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M.03%20.26C-.015%20.08%20.14%20.02%20.20%20.06C.22%20-.02%20.39%20-.03%20.43%20.03C.49%20-.03%20.69%20-.02%20.73%20.04C.80%20-.005%20.93%20.05%20.96%20.20C1%20.22%201%20.4%20.97%20.46C1%20.52%201%20.73%20.94%20.77C.96%20.94%20.80%201%20.72%20.96C.62%201%20.45%20.99%20.42%20.96C.30%201%20.15%20.95%20.14%20.91C.015%20.96%20-.01%20.70%20.025%20.61C-.01%20.53%20-.005%20.35%20.03%20.26Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28.04%20.04%29%20scale%28.92%29%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M.03%20.26C-.015%20.08%20.14%20.02%20.20%20.06C.22%20-.02%20.39%20-.03%20.43%20.03C.49%20-.03%20.69%20-.02%20.73%20.04C.80%20-.005%20.93%20.05%20.96%20.20C1%20.22%201%20.4%20.97%20.46C1%20.52%201%20.73%20.94%20.77C.96%20.94%20.80%201%20.72%20.96C.62%201%20.45%20.99%20.42%20.96C.30%201%20.15%20.95%20.14%20.91C.015%20.96%20-.01%20.70%20.025%20.61C-.01%20.53%20-.005%20.35%20.03%20.26Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat}

.mm-widget-room-scene:focus-within .mm-widget-style-btn{opacity:1}@media(hover:none),(max-width:600px){.mm-widget-room-scene .mm-widget-style-btn{opacity:1}}

/* The profile banner is its own heading, without a widget drag/title bar. */
.mm-widget-room-scene .mm-pw__bar{display:none!important}

/* The picker uses the same cloud silhouette as the banner. */
.mm-swatch-shape-cloud{border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28.04%20.04%29%20scale%28.92%29%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M.03%20.26C-.015%20.08%20.14%20.02%20.20%20.06C.22%20-.02%20.39%20-.03%20.43%20.03C.49%20-.03%20.69%20-.02%20.73%20.04C.80%20-.005%20.93%20.05%20.96%20.20C1%20.22%201%20.4%20.97%20.46C1%20.52%201%20.73%20.94%20.77C.96%20.94%20.80%201%20.72%20.96C.62%201%20.45%20.99%20.42%20.96C.30%201%20.15%20.95%20.14%20.91C.015%20.96%20-.01%20.70%20.025%20.61C-.01%20.53%20-.005%20.35%20.03%20.26Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20transform%3D%22translate%28.04%20.04%29%20scale%28.92%29%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M.03%20.26C-.015%20.08%20.14%20.02%20.20%20.06C.22%20-.02%20.39%20-.03%20.43%20.03C.49%20-.03%20.69%20-.02%20.73%20.04C.80%20-.005%20.93%20.05%20.96%20.20C1%20.22%201%20.4%20.97%20.46C1%20.52%201%20.73%20.94%20.77C.96%20.94%20.80%201%20.72%20.96C.62%201%20.45%20.99%20.42%20.96C.30%201%20.15%20.95%20.14%20.91C.015%20.96%20-.01%20.70%20.025%20.61C-.01%20.53%20-.005%20.35%20.03%20.26Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat}

/* Shape only the decorative paint, never the identity/editor/control layer. */
.mm-widget-room-scene,.mm-widget-room-scene .mm-pw,.mm-widget-room-scene .mm-pw__body,.mm-widget-room-scene .mm-room-scene{overflow:visible!important}
.mm-widget-room-scene[data-banner-shape="cloud"] .mm-pw,.mm-widget-room-scene[data-banner-shape="ticket"] .mm-pw{mask:none!important;-webkit-mask:none!important;clip-path:none!important;border:0!important;box-shadow:none!important}
.mm-widget-room-scene .mm-pw::before,.mm-widget-room-scene .mm-pw::after,.mm-widget-room-scene .mm-pw__body::before{pointer-events:none}

/* No sheet: backdrop artwork floats directly over the profile background. */
.mm-widget-room-scene[data-banner-shape="none"] .mm-pw,.mm-widget-room-scene[data-banner-shape="none"] .mm-pw__body,.mm-widget-room-scene[data-banner-shape="none"] .mm-room-scene{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;mask:none!important;-webkit-mask:none!important}
.mm-widget-room-scene[data-banner-shape="none"] .mm-pw::before,.mm-widget-room-scene[data-banner-shape="none"] .mm-pw::after,.mm-widget-room-scene[data-banner-shape="none"] .mm-pw__body::before{content:none!important}
.mm-swatch-shape-none{background:repeating-conic-gradient(#e2e8f0 0% 25%,#fff 0% 50%) 0 / 14px 14px;border:1px dashed #cbd5e1}

/* Weather sits above artwork and below identity/owner controls. */
.mm-widget-room-scene .mm-room-scene>.mm-banner-weather{z-index:1!important}
.mm-widget-room-scene .mm-room-scene>.relative{z-index:2!important}

/* Cartoon weather is a decorative sticker, kept away from the identity text. */
.mm-weather-cartoon{position:absolute;right:4%;bottom:5%;width:clamp(100px,22%,200px);height:auto;filter:drop-shadow(0 5px 5px #33415522);animation:mm-weather-bob 6s ease-in-out infinite;pointer-events:none}
.mm-room-scene[data-weather="cartoon"] .mm-banner-weather{background:none!important;animation:none!important}
.mm-room-scene[data-weather="cartoon"] .mm-banner-weather i{opacity:.6}
.mm-swatch-weather-cartoon{background:radial-gradient(circle at 75% 30%,#fde047 0 13%,transparent 14%),radial-gradient(ellipse at 35% 55%,white 0 22%,transparent 23%),radial-gradient(ellipse at 60% 65%,white 0 25%,transparent 26%),#bae6fd}
@keyframes mm-weather-bob{50%{transform:translateY(-7px)}}
@media(max-width:600px){.mm-weather-cartoon{width:90px;right:3%;bottom:2%;opacity:.85}}
@media(prefers-reduced-motion:reduce){.mm-weather-cartoon{animation:none!important}}

/* Contextual editing sits in the centre of each identity field. */
.mm-room-identity .mm-profile-edit-target>.mm-profile-edit-control{left:50%;top:50%;right:auto;transform:translate(-50%,-50%);white-space:nowrap}

/* A slow weather procession across the top, beneath the identity layer. */
.mm-weather-cartoon{top:4%;bottom:auto;left:0;right:auto;width:clamp(100px,22%,200px);animation:mm-weather-drift 45s linear infinite;animation-delay:-12s}
@keyframes mm-weather-drift{from{left:-22%;transform:translateX(-100%)}to{left:100%;transform:translateX(0)}}
@media(max-width:600px){.mm-weather-cartoon{top:3%;bottom:auto;right:auto;width:90px;animation-duration:35s}}
@media(prefers-reduced-motion:reduce){.mm-weather-cartoon{animation:none!important;left:auto;right:6%;transform:none}}

/* Cartoon weather crosses the viewport rather than clipping to the widget. */
.mm-widget-room-scene .mm-room-scene[data-weather="cartoon"]>.mm-banner-weather{left:calc(-1 * var(--mm-banner-viewport-offset,0px))!important;right:auto!important;width:100vw;overflow:hidden!important;mask:none!important;-webkit-mask:none!important;clip-path:none!important}

/* Legacy glass compositor masks must not clip overflowing weather or controls. */
.mm-widget-room-scene .mm-pw{mask:none!important;-webkit-mask:none!important;clip-path:none!important}

.mm-cartoon-controls{margin-top:18px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:9px}.mm-cartoon-controls legend{font-weight:650;font-size:13px}.mm-cartoon-controls label{display:flex;justify-content:space-between;font-size:12px}.mm-cartoon-controls input{width:100%;accent-color:#8b5cf6}.mm-cartoon-controls select{padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:white}.mm-cartoon-controls p{font-size:12px;color:#64748b;margin:0}.mm-weather-cartoon{max-height:28%;object-fit:contain}

/* Size scales artwork without changing its travel path or animation speed. */
.mm-weather-cartoon{width:calc(clamp(100px,22vw,200px) * var(--mm-weather-size,1));max-height:none}
@media(max-width:600px){.mm-weather-cartoon{width:calc(90px * var(--mm-weather-size,1))}}

/* Round every paint layer, without clipping identity controls or viewport weather. */
.mm-widget-room-scene[data-banner-shape="soft"]{--mm-banner-paint-radius:36px}
.mm-widget-room-scene[data-banner-shape="organic"]{--mm-banner-paint-radius:18% 8% 20% 9% / 22% 18% 20% 14%}
.mm-widget-room-scene[data-banner-shape="default"]{--mm-banner-paint-radius:var(--mm-widget-radius,var(--pw-radius,16px))}
.mm-widget-room-scene:is([data-banner-shape="default"],[data-banner-shape="soft"],[data-banner-shape="organic"]) .mm-pw__body::before,
.mm-widget-room-scene:is([data-banner-shape="default"],[data-banner-shape="soft"],[data-banner-shape="organic"]) .mm-banner-art,
.mm-widget-room-scene:is([data-banner-shape="default"],[data-banner-shape="soft"],[data-banner-shape="organic"]) .mm-banner-weather:not(:has(.mm-weather-cartoon)){border-radius:var(--mm-banner-paint-radius);overflow:hidden}

.mm-widget-room-scene .mm-room-scene>.mm-avatar-positioned{position:absolute!important;z-index:3!important;margin:0}
.dashboard-editable .mm-widget-room-scene .mm-avatar-stage{cursor:grab;touch-action:none;user-select:none}
.dashboard-editable .mm-widget-room-scene .mm-avatar-stage:active{cursor:grabbing}

.mm-widget-room-scene .mm-room-scene>.mm-banner-text-positioned{position:absolute!important;z-index:4!important;margin:0!important;overflow:visible;box-sizing:border-box}
.dashboard-editable .mm-widget-room-scene .mm-inline-edit:not(.editing){cursor:grab;touch-action:none;user-select:none}
.mm-banner-text-positioned>.mm-profile-edit-control{left:50%;top:50%;right:auto;transform:translate(-50%,-50%)}

/* Identity moves as one padded block; its child fields keep normal flow. */
.dashboard-editable .mm-widget-room-scene .mm-room-identity{cursor:grab;touch-action:none}
.dashboard-editable .mm-widget-room-scene .mm-room-identity:active{cursor:grabbing}
.mm-widget-room-scene .mm-room-identity.mm-banner-text-positioned{min-width:min(260px,100%);max-width:100%;height:auto}

.mm-room-scene[data-frame="polaroid"][data-polaroid-tilt="straight"] .mm-avatar-stage{transform:rotate(0deg)}
.mm-room-scene[data-frame="polaroid"][data-polaroid-tilt="right"] .mm-avatar-stage{transform:rotate(5deg)}
.mm-polaroid-controls{margin-top:18px;display:grid;gap:8px}.mm-polaroid-controls label{font-size:13px;font-weight:650}.mm-polaroid-controls select{padding:9px;border:1px solid #cbd5e1;border-radius:9px;background:white;color:#172033}.mm-polaroid-controls p{font-size:12px;color:#64748b;margin:0}

.mm-banner-layout-reset{padding:10px 20px;border-top:1px solid #e2e8f0;display:grid;gap:5px;flex-shrink:0}.mm-banner-layout-reset button{padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px}.mm-banner-layout-reset small{font-size:11px;color:#64748b}
@media(max-width:767px){.mm-widget-room-scene .mm-inline-edit{overflow-wrap:anywhere}.mm-widget-room-scene .mm-room-identity{width:100%;box-sizing:border-box}.mm-widget-room-scene .mm-avatar-stage{touch-action:auto!important}.mm-widget-room-scene .mm-room-scene>.relative{min-height:0!important}}

/* Size changes the image box, with existing frame decoration around it. */
.mm-widget-room-scene .mm-avatar-stage{width:calc(160px * var(--mm-avatar-size,1));height:calc(160px * var(--mm-avatar-size,1))}
.mm-polaroid-controls input{width:100%;accent-color:#8b5cf6}.mm-polaroid-controls label:has(output){display:flex;justify-content:space-between}
@media(max-width:767px){.mm-widget-room-scene .mm-avatar-stage{width:calc(64px * var(--mm-avatar-size,1));height:calc(64px * var(--mm-avatar-size,1))}}

.mm-widget-room-scene #room-display-name{font-size:calc(30px * var(--mm-banner-text-size,1));line-height:1.2;overflow-wrap:anywhere}
.mm-widget-room-scene .mm-room-identity [data-field="pronouns"],.mm-widget-room-scene .mm-room-identity [data-field="status_message"]{font-size:calc(14px * var(--mm-banner-text-size,1));line-height:1.5}
.mm-banner-text-size{padding:10px 20px;flex-shrink:0;display:grid;gap:5px}.mm-banner-text-size label{display:flex;justify-content:space-between;font-size:12px;color:#334155}.mm-banner-text-size input{width:100%;accent-color:#8b5cf6}
@media(max-width:767px){.mm-widget-room-scene #room-display-name{font-size:calc(20px * var(--mm-banner-text-size,1))}}

.mm-banner-design-panel .mm-banner-text-size{display:none}
.mm-widget-style-pop .mm-banner-text-size{padding:12px 0}

/* Owner-only text layout controls float above the existing block. */
.mm-room-identity{position:relative;box-sizing:border-box;}
.mm-banner-text-grip,.mm-banner-text-resize{display:none!important;position:absolute;z-index:8;margin:0!important;background:#ffffffed;color:#475569;border:1px solid #cbd5e1;border-radius:6px;font:12px system-ui;user-select:none;touch-action:none;box-shadow:0 2px 5px #0001;}
.dashboard-editable .mm-banner-text-grip,.dashboard-editable .mm-banner-text-resize{display:block!important;}
.mm-banner-text-grip{left:24px;top:0;padding:2px 10px;cursor:grab;}
.mm-banner-text-resize{right:6px;bottom:6px;width:24px;height:24px;text-align:center;line-height:24px;cursor:nwse-resize;}
.dashboard-editable .mm-room-identity{outline:1px dashed #94a3b866;outline-offset:-5px;}
.mm-banner-text-grip:focus-visible,.mm-banner-text-resize:focus-visible{outline:2px solid #7c3aed;outline-offset:2px;}
@media(max-width:767px){.dashboard-editable .mm-banner-text-grip,.dashboard-editable .mm-banner-text-resize{display:none!important}.dashboard-editable .mm-room-identity{outline:none;}}

/* Fade only decorative paint, preserving readable identity and controls. */
.mm-widget-room-scene .mm-pw::before,
.mm-widget-room-scene .mm-pw::after,
.mm-widget-room-scene .mm-pw__body::before{opacity:var(--mm-banner-shape-opacity,1)!important}
.mm-widget-room-scene .mm-banner-art{opacity:calc(.8 * var(--mm-banner-shape-opacity,1))}
