.wallpaper-backdrop { position: fixed; inset: 0; z-index: 160; display: grid; place-items: center; padding: 16px; background: #10234366; }
:root[data-theme="dark"] [data-room-wallpaper] { --room-wallpaper-tone: var(--room-wallpaper-dark-tone); --room-wallpaper-pattern: var(--room-wallpaper-dark-pattern); }
:root[data-theme="dark"] .wallpaper-sample { color: var(--ink); background: var(--panel); }
:root[data-theme="dark"] .wallpaper-sample.mine { background: #264466; }
.wallpaper-dialog { width: min(100%, 490px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 20px; border-radius: 20px; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.wallpaper-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wallpaper-dialog h2 { margin: 0; font-size: 21px; }
.wallpaper-close { font-size: 28px; background: transparent; color: var(--muted); padding: 4px 10px; }
.wallpaper-scopes { display: flex; gap: 8px; margin-top: 18px; }
.wallpaper-button { padding: 11px 16px; border-radius: 10px; background: var(--panel-soft); color: var(--ink); }
.wallpaper-button[aria-pressed=true] { background: var(--accent-soft); color: var(--accent-strong); }
.wallpaper-button.primary { background: var(--accent); color: white; }
.wallpaper-button:disabled, .wallpaper-preset:disabled { opacity: .55; }
.wallpaper-note, .wallpaper-status { font-size: 13px; line-height: 1.5; color: var(--muted); }
.wallpaper-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wallpaper-preset { padding: 3px; background: var(--panel-soft); border: 2px solid transparent; border-radius: 12px; color: var(--ink); min-width: 0; }
.wallpaper-preset[aria-pressed=true] { border-color: var(--accent); }
.wallpaper-swatch { display: flex; flex-direction: column; justify-content: center; gap: 10px; min-height: 116px; border-radius: 8px; padding: 9px; }
.wallpaper-sample { color: #173357; background: white; padding: 7px 8px; border-radius: 8px 8px 8px 2px; font-size: 10px; text-align: left; align-self: flex-start; }
.wallpaper-sample.mine { background: #cfe2ff; align-self: flex-end; border-radius: 8px 8px 2px 8px; }
.wallpaper-label { display: block; font-size: 12px; margin: 8px 0 5px; }
.wallpaper-color { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 20px 0 12px; font-size: 14px; }
.wallpaper-color input { width: 44px; height: 36px; padding: 2px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
.wallpaper-color select { padding: 9px; color: var(--ink); background: var(--panel-soft); border-radius: 8px; border: 1px solid var(--line); }
.wallpaper-custom-preview { height: 65px; border-radius: 10px; }
.wallpaper-custom-preview[hidden] { display: none; }
.wallpaper-dialog footer { display: flex; justify-content: flex-end; }
@media (max-width: 370px) { .wallpaper-dialog { padding: 14px; } .wallpaper-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
