/* Image-first selection, with persistent apply/cancel and honest source labels. */
.style-picker{width:min(1280px,calc(100vw - 48px));max-width:calc(100vw - 48px);height:min(860px,92dvh);max-height:92dvh;padding:0;border:1px solid var(--border-strong);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog);overflow:hidden}
.style-picker[open]{display:flex;flex-direction:column}.style-picker::backdrop{background:#090909c9}
.style-picker button,.style-picker input{font:inherit}.style-picker button,.style-picker a,.style-picker input{outline-offset:4px}
.style-picker-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:14px 20px 8px;gap:16px}.style-picker-header h2{margin:0;font-size:18px;font-weight:600}.style-picker-close{width:44px;height:44px;flex:0 0 auto;border:0;border-radius:50%;background:none;color:var(--muted);font-size:24px!important;cursor:pointer}.style-picker-close:hover{background:var(--surface-raised);color:var(--text)}
.style-picker-body{flex:1;min-height:0;overflow:auto;padding:0 20px 16px;scroll-padding:12px;overscroll-behavior:contain}.style-picker-body>p{font-size:12px;line-height:1.6}
.style-picker-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px}
.style-picker-scopes{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:thin}.style-picker-scopes button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);cursor:pointer;white-space:nowrap}.style-picker-scopes button[aria-selected=true]{border-bottom-color:var(--accent-text);color:var(--text);font-weight:600}
.style-picker-tools{flex:0 1 260px;min-width:180px}.style-picker-tools>label{display:block}.style-picker-tools input[type=search]{width:100%;box-sizing:border-box;min-height:44px;background:var(--surface-raised);border:1px solid transparent;border-radius:var(--radius-pill);padding:10px 16px;color:var(--text)}.style-picker-tools input::placeholder{color:var(--muted)}
.style-picker-categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:10px 0 4px}.style-picker-categories button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.style-picker-categories button[aria-pressed=true]{color:var(--text);background:var(--surface-raised);border-color:var(--border-strong);font-weight:600}
.style-picker-sync{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0 0 8px;font-size:12px;color:var(--muted)}.style-picker-sync p{margin:0;flex:1}.style-picker-sync button,.style-picker-sync a{background:none;color:var(--muted);border:0;min-height:44px;padding:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;flex-shrink:0}
.style-picker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.style-picker-card{min-width:0;border:1px solid transparent;border-radius:12px;overflow:hidden;background:transparent}.style-picker-card.is-selected{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text)}.style-picker-card>[data-style-choose]{display:flex;flex-direction:column;gap:8px;width:100%;padding:6px;text-align:left;cursor:pointer;color:inherit;background:none;border:0}.style-picker-card>[data-style-choose]:hover{background:var(--surface-raised)}.style-picker-card strong{font-size:14px}.style-picker-card [data-style-choose]>span:last-child{font-size:12px;line-height:1.65;color:var(--muted);min-height:40px}.style-picker-swatch{display:block;position:relative;width:100%;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:var(--surface-raised)}.style-picker-swatch>svg{display:block;width:100%;height:100%}.style-picker-selected{position:absolute;right:8px;top:8px;padding:5px 8px;border-radius:8px;background:#080808df;color:#fff;font-size:12px;line-height:1.5}
.style-picker-artwork{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0}.style-picker-artwork.is-ready{opacity:1}
.style-picker-favorite{width:100%;min-height:44px;border:0;border-top:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;font-size:13px!important}.style-picker-favorite[aria-pressed=true]{color:var(--accent-text);background:var(--surface-raised)}.style-picker button:disabled{opacity:.45;cursor:not-allowed}.style-picker-empty{grid-column:1/-1;padding:28px 14px;line-height:1.8;text-align:center;color:var(--muted)}.style-picker-count{margin-bottom:0!important;text-align:right;font-size:12px!important}
.style-picker-footer{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:16px;padding:12px 20px;border-top:1px solid var(--border);font-size:13px}.style-picker-selection{min-width:0;line-height:1.6;overflow-wrap:anywhere}.style-picker-selection small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.style-picker-footer button{flex-shrink:0;min-height:44px;padding:10px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--black);border-radius:var(--radius-pill);font-weight:600;cursor:pointer}
.style-picker-launch{display:block;min-height:44px;margin-top:6px;padding:7px 0;color:var(--accent-text);border:0;background:none;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-align:left}.style-picker-field{display:flex;flex-direction:column;min-width:0}.style-picker-field>label{margin-bottom:0}
.style-picker-availability{margin:4px 0;padding:4px 0;color:var(--warning-text,#f0cf8b);font-size:12px;line-height:1.6}.style-picker-availability[hidden]{display:none}.style-picker-card.is-unavailable>[data-style-choose]:disabled{opacity:1;cursor:not-allowed}.style-picker-card.is-unavailable .style-picker-swatch{filter:grayscale(.8)}.style-picker-unavailable{margin:0;padding:0 10px 12px;font-size:12px;line-height:1.65;color:var(--warning-text,#f0cf8b);overflow-wrap:anywhere}
@media(max-width:1100px){.style-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.style-picker{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:94dvh;max-height:94dvh;border-radius:16px}.style-picker-header{padding:10px 12px 4px}.style-picker-header h2{font-size:18px}.style-picker-body{padding:0 12px 12px}.style-picker-navigation{display:block}.style-picker-tools{margin-top:8px;min-width:0}.style-picker-scopes button{padding-inline:10px}.style-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.style-picker-sync{gap:6px;flex-wrap:wrap}.style-picker-footer{padding:10px 12px;gap:8px}.style-picker-footer button{padding:10px 14px}.style-picker-card>[data-style-choose]{padding:5px}}
@media(prefers-reduced-motion:reduce){.style-picker *{scroll-behavior:auto}}

.user-style-panel>p{font-size:13px;line-height:1.7;color:var(--muted,#aaa)}.user-style-upload{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.user-style-upload label,.user-style-card label{display:grid;gap:7px;min-width:0;flex:1;font-size:13px}.user-style-upload input,.user-style-card input{min-height:44px;box-sizing:border-box;width:100%;max-width:100%;padding:10px 12px;background:var(--input-bg,#151515);color:var(--text,#f6f6f6);border:1px solid var(--border-strong,#ffffff24);border-radius:10px}.user-style-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.user-style-tools label{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px}.user-style-tools button,.user-style-card details button{min-height:44px;padding:8px 12px;border:1px solid var(--border-strong,#ffffff24);background:var(--input-bg,#151515);color:var(--text,#f6f6f6);border-radius:8px;cursor:pointer}.user-style-card>[data-user-style-choose]{display:flex;flex-direction:column;gap:8px;width:100%;padding:10px;background:none;color:inherit;border:0;text-align:left;cursor:pointer}.user-style-card .style-picker-swatch img{width:100%;height:100%;object-fit:contain}.user-style-card details{padding:0 10px 10px}.user-style-card summary{min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--accent-text,#ff6cc2);cursor:pointer}.user-style-card strong{overflow-wrap:anywhere}.user-style-card label{margin:8px 0}.user-style-panel[hidden],.style-picker-grid[hidden],.style-picker-categories[hidden],.style-picker-tools[hidden],.style-picker-sync[hidden]{display:none}@media(max-width:620px){.user-style-upload{align-items:stretch;flex-direction:column}.user-style-upload label{flex:none}}

@media(max-width:620px){.style-picker-scopes button{padding-inline:10px}}
