.naraku-market { padding: 0; overflow: hidden; }
.naraku-heading { display:flex; gap:12px; align-items:center; padding:16px; background:linear-gradient(90deg,rgb(8 12 20 / 94%),rgb(8 12 20 / 60%)),url('/images/shops-v1-20261107/naraku-scene.webp') center/cover; color:#f3e5c4; }
.naraku-heading h2,.naraku-heading p,.naraku-card h3,.naraku-dialog h2 { margin:0; }
.naraku-heading p { margin-top:4px; font-size:var(--ga-font-note); }
.naraku-market > p,.naraku-market > button { margin:12px 16px; }
.naraku-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 16px; }
.naraku-card { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:var(--ga-radius-panel); background:var(--surface-2); }
.naraku-card > img { width:72px; height:72px; object-fit:contain; }
.naraku-card-copy { min-width:0; overflow-wrap:anywhere; }
.naraku-card-copy p { margin:5px 0; }
.naraku-card-copy small { display:block; margin-top:4px; }
.naraku-card > button { grid-column:1/-1; width:100%; min-height:44px; white-space:normal; }
.naraku-price { font-weight:700; font-variant-numeric:tabular-nums; }
.naraku-day,.naraku-note { font-size:var(--ga-font-note); }
body.naraku-modal-open { overflow:hidden; }
.naraku-backdrop { position:fixed; inset:0; z-index:1300; background:rgb(0 0 0 / 72%); display:flex; align-items:center; justify-content:center; padding:12px; }
.naraku-dialog { color:var(--text); background:var(--dialog); border:1px solid var(--line); border-radius:var(--ga-radius-panel); width:min(620px,100%); max-height:calc(100dvh - 24px); display:flex; flex-direction:column; min-width:0; box-shadow:0 18px 70px #0008; }
.naraku-dialog > header { display:flex; gap:12px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line); flex-shrink:0; }
.naraku-dialog > header img { object-fit:contain; flex-shrink:0; }
.naraku-dialog > header p { margin:4px 0 0; }
.naraku-dialog-scroll { overflow:auto; overscroll-behavior:contain; padding:0 16px 12px; min-height:0; overflow-wrap:anywhere; }
.naraku-dialog footer { flex-shrink:0; padding:12px 16px; border-top:1px solid var(--line); }
.naraku-dialog footer p { margin:0 0 10px; font-size:var(--ga-font-note); }
.naraku-actions { display:flex; gap:8px; }
.naraku-actions button { flex:1; min-width:0; min-height:48px; white-space:normal; }
.naraku-hold { position:relative; isolation:isolate; touch-action:none; user-select:none; }
.naraku-hold::before { content:''; position:absolute; inset:0; width:var(--naraku-progress,0%); background:rgb(255 214 120 / 28%); z-index:-1; pointer-events:none; }
.naraku-candidates summary { cursor:pointer; min-height:44px; display:flex; align-items:center; text-decoration:underline; }
.naraku-candidates ul { margin:0; padding:0; list-style:none; }
.naraku-candidates li { padding:10px 0; border-bottom:1px solid var(--line); }
.naraku-candidates li div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.naraku-candidates li p { margin:5px 0 0; }
.naraku-result { text-align:center; }
.naraku-result > img { max-width:100%; object-fit:contain; }
@media(max-width:600px) { .naraku-grid { grid-template-columns:1fr; } }
@media(max-width:360px) { .naraku-backdrop { padding:6px; } .naraku-dialog { max-height:calc(100dvh - 12px); } .naraku-dialog > header,.naraku-dialog footer { padding:10px; } .naraku-dialog-scroll { padding:0 10px 10px; } }
