.bj-heart-choice{margin-top:12px;min-width:0}.bj-heart-choice__colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bj-heart-choice__colors button{display:grid;justify-items:center;gap:7px;background:#fff;color:#222;border:1px solid #bbb;padding:10px 4px;min-height:84px;cursor:pointer;font:inherit;font-size:13px}.bj-heart-choice__colors button[aria-pressed=true]{border:2px solid #7e6438;padding:9px 3px;background:#faf6ee}.bj-heart-choice__colors svg{width:42px;height:40px}.bj-heart-choice__size{display:flex;align-items:center;justify-content:center;gap:24px;padding:14px 0}.bj-heart-choice__size>button{width:48px;height:48px;border:1px solid #999;background:white;color:#222;font-size:28px;cursor:pointer;touch-action:manipulation}.bj-heart-choice__size>button:disabled{opacity:.3;cursor:default}.bj-heart-choice__dial{position:relative;width:156px;height:156px;border-radius:50%;border:10px solid #e6e1d9;box-shadow:0 0 0 1px #baa889,inset 0 0 0 1px #baa889;background:radial-gradient(circle,#fff 35%,#f4f1eb);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#222;touch-action:none;user-select:none;cursor:grab}.bj-heart-choice__dial:active{cursor:grabbing}.bj-heart-choice__dial strong{font-size:36px;line-height:1.1}.bj-heart-choice__dial small{font-size:12px;margin-top:5px}.bj-heart-choice__marker{position:absolute;inset:-8px;border-radius:50%;transform:rotate(var(--heart-angle,-130deg));pointer-events:none}.bj-heart-choice__marker:before{content:'';position:absolute;width:16px;height:16px;background:var(--heart-color,#e98fb5);border:2px solid white;box-shadow:0 0 0 1px #777;border-radius:50%;top:-3px;left:calc(50% - 8px)}.bj-heart-choice__quality{text-align:center;font-size:14px;line-height:1.5;min-height:42px}.bj-heart-choice__hint{font-size:12px;text-align:center;opacity:.8}.bj-heart-choice :focus-visible{outline:3px solid #8a6a32;outline-offset:4px}@media(max-width:400px){.bj-heart-choice__colors{gap:5px}.bj-heart-choice__size{gap:16px}.bj-heart-choice__colors button{font-size:12px}}
.bj-heart-choice__explain{font-size:15px;line-height:1.6;margin-top:16px}.bj-heart-choice__explain summary{cursor:pointer;font-weight:600;padding:12px 0}.bj-heart-choice__explain p{margin:12px 0}
