.store-pick-modal[hidden]{display:none}
.store-pick-modal{position:fixed;inset:0;z-index:2800;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.8);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.store-pick-modal__dialog{position:relative;width:min(100%,390px);box-sizing:border-box;padding:20px 25px 18px;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(255,61,127,.08),transparent 35%),linear-gradient(160deg,#09080b,#020203);border:1.5px solid #ff5d94;border-radius:22px;box-shadow:0 0 24px rgba(255,61,127,.22),0 22px 60px rgba(0,0,0,.75);animation:storePickModalIn .2s ease-out}
.store-pick-modal__close{position:absolute;top:10px;right:12px;width:38px;height:38px;padding:0;border:0;outline:0;background:transparent;color:#ff7ba8;font-family:Arial,sans-serif;font-size:36px;font-weight:300;line-height:34px;cursor:pointer}
.store-pick-modal__close:focus-visible{color:#ffa1c1;text-shadow:0 0 10px rgba(255,93,148,.8)}
.store-pick-modal__title{margin:0 28px 8px 0;color:#ff74a4;font-size:25px;font-weight:900;line-height:1.15;text-align:center;letter-spacing:0;white-space:nowrap;text-shadow:0 0 10px rgba(255,61,127,.22)}
.store-pick-modal__ornament{display:flex;align-items:center;gap:0;margin:0 10px 13px;color:#ff679a}
.store-pick-modal__ornament::before,.store-pick-modal__ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#ff5d94)}
.store-pick-modal__ornament::after{background:linear-gradient(90deg,#ff5d94,transparent)}
.store-pick-modal__ornament span{display:none}
.store-pick-modal__body{font-family:"Yu Gothic","Noto Sans JP",sans-serif;font-size:16px;font-weight:600;line-height:1.68;color:#f1eef2}
.store-pick-modal__body p{margin:0 0 12px}
.store-pick-modal__body p:last-child{margin-bottom:0}
.store-pick-modal__body strong{color:#ff5d94;font-weight:900}
.store-pick-modal__body b{color:#f1eef2;font-weight:900}
.store-pick-modal__body .score-multiply{color:#fff;font-weight:900}
.favorite-modal-list{display:grid;gap:9px}
.favorite-modal-swipe{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px;overflow:hidden;border:1px solid rgba(255,93,148,.48);border-radius:13px;background:#241018}
.favorite-modal-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 12px;border:1px solid rgba(255,93,148,.48);border-radius:13px;background:rgba(255,255,255,.035);color:#fff;text-decoration:none}
.favorite-modal-swipe .favorite-modal-item{position:relative;z-index:2;min-width:0;border:0;border-radius:12px;background:#0b090d;transition:transform .18s ease;touch-action:pan-y}
.favorite-modal-delete{position:relative;z-index:1;min-width:72px;padding:0 12px;border:0;border-left:1px solid rgba(255,255,255,.14);background:#c72855;color:#fff;font:900 13px/1 "Yu Gothic","Noto Sans JP",sans-serif;cursor:pointer}
.favorite-modal-delete:hover{background:#e13266}
.favorite-modal-delete:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.favorite-modal-item__heart{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#ff6b9d,#f52d70);color:#fff;font-size:17px;box-shadow:0 0 10px rgba(255,61,127,.3)}
.favorite-modal-item strong{color:#ff74a4;font-size:19px;font-weight:900}
.favorite-modal-item small{color:#d9d6dc;font-size:11px;font-weight:800;white-space:nowrap}
.favorite-modal-empty{padding:10px 0;text-align:center;color:#d9d6dc}
[data-store-pick],[data-score-info],[data-store-rank-info]{pointer-events:auto!important;cursor:pointer}
/* 店イチ推しは対象者データを共通判定し、全セラピストカードで同じ位置・比率にする。 */
.ncard>.store-pick-badge--shared{position:absolute;top:4px;left:2px;z-index:5;display:block;width:min(58%,138px);height:auto;filter:drop-shadow(0 3px 5px rgba(0,0,0,.72));pointer-events:auto}
.ncard>.store-pick-shine--shared{position:absolute;top:4px;left:2px;z-index:6;display:block;width:min(58%,138px);aspect-ratio:232/72;background:linear-gradient(108deg,transparent 40%,rgba(255,255,255,.15) 45%,#fff7c7 50%,rgba(255,255,255,.2) 55%,transparent 60%);background-size:320% 100%;background-position:150% 0;-webkit-mask:url("/assets/store_ichi_oshi_badge_final.webp") center/100% 100% no-repeat;mask:url("/assets/store_ichi_oshi_badge_final.webp") center/100% 100% no-repeat;filter:drop-shadow(0 0 4px rgba(255,234,151,.45));pointer-events:none;animation:storePickCardShine 3.1s ease-in-out infinite}
.favorite-modal-item strong{min-width:0}
.favorite-modal-item__store-pick{display:block;width:78px;max-width:100%;height:auto;margin-top:3px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.65))}
@keyframes storePickCardShine{0%,16%{background-position:150% 0;opacity:0}22%{opacity:1}45%,100%{background-position:-80% 0;opacity:0}}
@keyframes storePickModalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:380px){.store-pick-modal__dialog{padding:18px 20px 16px}.store-pick-modal__title{font-size:22px}.store-pick-modal__body{font-size:15px}}
@media(hover:none),(pointer:coarse){.favorite-modal-swipe{display:block}.favorite-modal-delete{position:absolute;top:0;right:0;bottom:0;width:76px;min-width:76px}.favorite-modal-swipe.is-open .favorite-modal-item{transform:translateX(-76px)!important}}
@media(prefers-reduced-motion:reduce){.store-pick-modal__dialog{animation:none}.store-pick-shine--shared{animation:none;opacity:0}}
