.taste-vibe-button { margin-top: 16px; padding: 11px 16px; border: 1px solid #a99ff161; border-radius: 30px; background: #a99ff10e; color: #d5cdff; cursor: pointer; min-height: 44px; font-size: 14px; }
.taste-dialog { width: min(700px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: clamp(22px, 5vw, 38px); background: #18151e; color: #f5f1fb; border: 1px solid #a298bc55; border-radius: 24px; overflow-y: auto; }
.taste-dialog::backdrop { background: #06040be0; backdrop-filter: blur(6px); }
.taste-dialog h2 { margin: 4px 0 18px; font-size: clamp(27px, 5vw, 38px); letter-spacing: -.045em; }
.taste-dialog h3 { margin: 12px 0; }
.taste-dialog p { color: #bbb2c9; line-height: 1.6; }
.taste-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.taste-top small { color: #c2b1f6; text-transform: uppercase; letter-spacing: .14em; }
.taste-close { background: #ffffff0c; border: 1px solid #ffffff20; border-radius: 50%; color: white; font-size: 24px; width: 44px; height: 44px; cursor: pointer; }
.taste-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.taste-dialog button { font: inherit; cursor: pointer; min-height: 44px; }
.taste-dialog button:disabled { opacity: .5; cursor: default; }
.taste-dialog .taste-primary { background: #c4b3f4; color: #1a122b; border: 0; border-radius: 10px; font-weight: 650; padding: 12px 20px; }
.taste-dialog .taste-secondary { background: transparent; color: #e9e0f7; border: 1px solid #ffffff33; border-radius: 10px; padding: 12px 17px; }
.taste-dialog label { display: grid; gap: 8px; margin: 16px 0; color: #eee7f7; font-size: 14px; }
.taste-dialog input,.taste-dialog select,.taste-dialog textarea { font: inherit; width: 100%; min-width: 0; min-height: 46px; border: 1px solid #ffffff30; border-radius: 9px; padding: 12px; background: #25202f; color: #fff; }
.taste-dialog textarea { min-height: 110px; overflow-wrap: anywhere; resize: vertical; }
.taste-dialog :focus-visible { outline: 3px solid #d0b7ff; outline-offset: 3px; }
.taste-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.taste-panel { padding: 18px; border: 1px solid #ffffff18; border-radius: 14px; background: #ffffff04; }
.taste-panel span { display: block; font-size: 13px; color: #baaaca; margin-top: 9px; text-transform: capitalize; line-height: 1.6; }
.taste-note { font-size: 13px; }
.taste-error { color: #ffb2bd !important; }
.taste-pick { border: 1px solid #ffffff20; border-radius: 18px; padding: 24px; background: linear-gradient(150deg, #30243c, #19151f); touch-action: pan-y; }
.taste-pick h3 { font-size: 28px; letter-spacing: -.04em; overflow-wrap: anywhere; }
.taste-pick img { max-height: 280px; width: 100%; object-fit: contain; border-radius: 12px; }
.taste-pick .taste-actions button { flex: 1; }
.taste-select-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.topbar-actions { flex-wrap: wrap; }
@media(max-width: 560px) { .taste-panels,.taste-select-row { grid-template-columns: 1fr; } .topbar { flex-wrap: wrap; gap: 14px; } .topbar-actions { gap: 8px; } .topbar-actions .home-button { padding: 9px 12px; } }
