/* v0.9：お店ページ（表＝お店／裏＝はたらく）、地図のカード、商品、マンガ本棚、リーダー。
   色：紺 #103e5a・文字 #103d59・オレンジ #ef9658・生成り #fffefa・背景 #f6f5f0 */
:root { --sp-navy:#103e5a; --sp-ink:#103d59; --sp-orange:#ef9658; --sp-cream:#fffefa; --sp-bg:#f6f5f0; --sp-muted:#66737e; --sp-line:#e6e2d8; }

/* 目的の切替を3つに */
.purpose-switch.three button { font-size:clamp(10px,2.9vw,13px);padding:4px 3px; }
.purpose-bar { width:min(60%,360px); }
body[data-purpose=work] .purpose-switch button[aria-pressed=true] { background:#fde3d2;color:#7d4220; }

/* ── 地図のカード ── */
.shop-sheet { padding:14px; }
.card-top { display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center; }
.card-thumb { width:84px;height:84px;border-radius:16px;overflow:hidden;background:#eef0ee; }
.card-thumb img { width:100%;height:100%;object-fit:cover;display:block; }
.card-copy h2 { font-size:clamp(17px,4.8vw,21px);line-height:1.35;color:var(--sp-ink);margin:4px 0 2px;overflow-wrap:anywhere; }
.card-intro { font-size:12px;line-height:1.6;color:#4f5d68;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.open-store { display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:12px;border-radius:999px;background:var(--sp-navy);color:#fff;font-size:17px;font-weight:800; }
.open-store span { font-size:20px; }
.card-actions { display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px; }
.card-actions:has(> :only-child) { grid-template-columns:1fr; }
.cta-button.small { min-height:44px;font-size:14px;box-shadow:0 2px 0 #c9733d; }
.read-manga.small { min-height:44px;padding:6px 14px;font-size:13px; }
.badges .place-kind-badge { font-size:10px; }

/* ── お店ページ ── */
.experience:has(.sp) { background:var(--sp-bg); }
.sp { padding-bottom:12px;color:var(--sp-ink); }
.sp-hero { position:relative;margin:0;background:#dfe3e0; }
.sp-hero-img { display:block;width:100%;height:auto;aspect-ratio:16/10;max-height:52vh;object-fit:cover; }
.sp-hero-shade { position:absolute;inset:0;background:linear-gradient(180deg,#0000 35%,#0b1d29b8 100%); }
.sp-hero-body { position:absolute;left:16px;right:16px;bottom:30px;display:flex;align-items:flex-end;gap:12px;color:#fff; }
.sp-logo { flex:0 0 64px;height:64px;border-radius:50%;background:#fffefa;display:grid;place-items:center;box-shadow:0 4px 14px #0004;overflow:hidden; }
.sp-logo img { width:86%;height:86%;object-fit:contain; }
.sp-hero-copy { min-width:0; }
.sp-hero-copy h1 { font-size:clamp(22px,6.4vw,30px);line-height:1.25;margin:6px 0 2px;text-shadow:0 2px 10px #0007;overflow-wrap:anywhere; }
.sp-tagline { font-size:13px;line-height:1.5;opacity:.95;text-shadow:0 1px 6px #0008; }
.sp-hero-copy .badges { gap:5px; }
.sp-face { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:min(320px,calc(100% - 48px));margin:-22px auto 0;padding:4px;border-radius:999px;background:#fff;box-shadow:0 6px 20px #103e5a26; }
.sp-face button { min-height:40px;border-radius:999px;background:transparent;font-size:14px;font-weight:750;color:var(--sp-ink); }
.sp-face button[aria-pressed=true] { background:var(--sp-navy);color:#fff; }
.sp[data-face=work] .sp-face button[aria-pressed=true] { background:#b5592b; }
.sp-section { padding:18px 16px 4px; }
.sp-section h2 { font-size:17px;line-height:1.4;color:var(--sp-ink);margin:0 0 10px; }
.sp-head { display:flex;align-items:baseline;justify-content:space-between;gap:8px; }
.sp-count { font-size:12px;color:var(--sp-muted); }
.sp-intro { padding-top:22px; }
.sp-lead { font-size:15px;line-height:1.85;color:#24394a; }
.sp-text { font-size:14px;line-height:1.85;color:#2f4352; }
.sp-more { margin-top:10px;border-top:1px solid var(--sp-line);padding-top:8px; }
.sp-more summary { cursor:pointer;font-size:13px;font-weight:700;color:var(--sp-navy);min-height:36px;display:flex;align-items:center; }
.sp-more p { font-size:14px;line-height:1.85;color:#2f4352;margin-top:6px; }
.sp .spot-themes { margin-top:10px; }

/* 横に流す棚（お店の商品・マンガ・本棚で共通） */
.rail { --tile:42%;display:grid;grid-auto-flow:column;grid-auto-columns:var(--tile);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:16px;padding:4px 16px 14px;margin:0 -16px;scrollbar-width:none;-webkit-overflow-scrolling:touch; }
.rail::-webkit-scrollbar { display:none; }
.rail > * { scroll-snap-align:start; }
.rail-products { --tile:clamp(150px,44vw,210px); }
.rail-covers { --tile:clamp(118px,34vw,168px); }
.rail-covers.small { --tile:clamp(92px,26vw,120px); }

.product-card { display:flex;flex-direction:column;gap:6px;text-align:left;background:#fff;border-radius:18px;padding:8px 8px 12px;box-shadow:0 3px 14px #103e5a14;color:var(--sp-ink); }
.product-art { position:relative;display:block;aspect-ratio:1/1;border-radius:12px;background:#f3f2ee;overflow:hidden; }
.product-img { width:100%;height:100%;object-fit:contain;display:block; }
.product-placeholder { display:grid;place-items:center;height:100%;font-size:36px;color:#b9c0c5; }
.product-note { position:absolute;left:6px;top:6px;max-width:calc(100% - 12px);font-size:10px;font-weight:750;line-height:1.3;color:#7d4220;background:#fde3d2f2;border-radius:6px;padding:3px 6px; }
.product-note.inline { position:static;display:inline-block;margin-left:8px; }
.product-title { font-size:13px;font-weight:750;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 2px; }
.product-price { font-size:13px;font-weight:800;color:#b5592b;padding:0 2px; }

.cover { display:flex;flex-direction:column;gap:6px;text-align:left;background:transparent;padding:0;color:var(--sp-ink); }
.cover-art { position:relative;display:block;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:#e8e6df;box-shadow:0 6px 16px #103e5a24,0 1px 0 #0000000f;transition:transform .18s ease; }
.cover:active .cover-art { transform:scale(.97); }
.cover-img { width:100%;height:100%;object-fit:cover;object-position:top;display:block; }
.cover-pr,.cover-pr.inline { position:absolute;right:6px;top:6px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#7d4220;background:#fde3d2;border-radius:5px;padding:2px 6px; }
.cover-pr.inline { position:static;display:inline-block; }
.cover-title { font-size:13px;font-weight:750;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.cover-sub { font-size:11px;color:var(--sp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-3px; }
@media (hover:hover) { .cover:hover .cover-art { transform:translateY(-3px); } }

.sp-story { display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:start; }
.sp-story:not(:has(.sp-story-art)) { grid-template-columns:1fr; }
.sp-story-art img { width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:14px;display:block; }
.sp-story h2 { margin-bottom:6px; }
.sp-story p { font-size:14px;line-height:1.8;color:#2f4352; }
.sp-photo img { width:100%;height:auto;border-radius:16px;display:block; }
.sp-info dl { margin:0;background:#fff;border-radius:16px;padding:4px 14px; }
.sp-info dl > div { display:grid;grid-template-columns:76px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #eeebe3; }
.sp-info dl > div:last-child { border-bottom:0; }
.sp-info dt { font-size:12px;color:var(--sp-muted); }
.sp-info dd { margin:0;font-size:14px;line-height:1.6; }
.sp-links { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.chip-link { display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid #d9dfe3;color:var(--sp-navy);font-size:13px;font-weight:700;text-decoration:none; }
.sp-info .mini-note { margin-top:12px; }
.job-card { background:#fff;border-radius:16px;padding:14px;margin-bottom:10px; }
.job-card h3 { font-size:15px;margin:6px 0; }
.job-card p { font-size:13px;line-height:1.7; }
.job-status { display:inline-block;font-size:11px;font-weight:750;border-radius:6px;padding:2px 8px;background:#e7ecef;color:#3e5260; }
.job-status.open { background:#dff3e6;color:#1f5e3a; }
.sp-actionbar { position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:18px;padding:10px 16px calc(10px + var(--safe-bottom));background:#fffefaf2;border-top:1px solid var(--sp-line);backdrop-filter:blur(8px); }
.sp-actionbar:has(> :only-child) { grid-template-columns:1fr; }
.share-button.compact { margin:0;min-height:48px;padding:6px 16px; }

/* ── 商品の詳細 ── */
.product-dialog { padding:0;width:min(520px,calc(100vw - 24px));max-height:88dvh;border:0;border-radius:22px;overflow:auto;overscroll-behavior:contain; }
.product-dialog .dialog-close { position:sticky;float:right;margin:10px 10px -54px 0; }
.product-dialog::backdrop { background:#0b1d2999; }
.dialog-close { position:absolute;right:10px;top:10px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fffefaee;font-size:22px;box-shadow:var(--shadow); }
.pd-art { background:#f3f2ee; }
.pd-art img { display:block;width:100%;height:auto;max-height:48vh;object-fit:contain; }
.pd-body { padding:16px 18px 20px;color:var(--sp-ink); }
.pd-store { font-size:12px;color:var(--sp-muted); }
.pd-body h2 { font-size:19px;line-height:1.45;margin:4px 0 6px; }
.pd-meta strong { font-size:16px;color:#b5592b; }
.pd-text { font-size:14px;line-height:1.85;margin-top:10px;color:#2f4352; }
.pd-actions { display:grid;gap:8px;margin-top:16px; }

/* ── マンガ本棚 ── */
.shelf { padding-bottom:28px; }
.shelf-intro { padding:20px 16px 2px; }
.shelf-intro h1 { font-size:26px;color:var(--sp-ink);margin:2px 0 6px; }
.shelf-intro p { font-size:13px;line-height:1.75;color:#4f5d68; }
.shelf-row { margin-top:20px; }
.shelf-head { display:flex;align-items:baseline;justify-content:space-between;padding:0 16px;margin-bottom:6px; }
.shelf-head h2 { font-size:17px;color:var(--sp-ink);margin:0; }
.shelf-head span { font-size:12px;color:var(--sp-muted); }
.shelf-note { font-size:11px;color:var(--sp-muted);padding:0 16px;margin:-2px 0 4px; }
.shelf .rail { margin:0;padding:6px 16px 16px; }

/* ── リーダー（横にめくる） ── */
.experience.is-reader { background:#121417;overflow:hidden; }
.reader { position:fixed;inset:0;display:flex;flex-direction:column;color:#f3f4f5;background:#121417; }
.experience.is-reader .reader { position:absolute; }
.reader-top { display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:calc(6px + var(--safe-top)) 10px 6px; }
.reader-close { width:44px;height:44px;border-radius:50%;background:#ffffff1a;color:#fff;font-size:20px; }
.reader-title strong { display:block;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.reader-title small { display:block;font-size:11px;color:#b9c2c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.reader-count { font-size:12px;color:#d6dbdf;min-width:52px;text-align:right; }
.reader-pr { font-size:11px;line-height:1.5;color:#ffd9c2;background:#4a2a1a;padding:5px 12px;text-align:center; }
.reader-track { flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;outline:none; }
.reader-track::-webkit-scrollbar { display:none; }
.reader-page { flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;padding:8px;margin:0;min-width:0; }
.reader-page img { width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;border-radius:4px;background:#fff; }
.reader-end { overflow-y:auto;align-items:start;padding:16px; }
.reader-end-card { width:min(460px,100%);margin:auto;background:var(--sp-cream);color:var(--sp-ink);border-radius:22px;padding:20px 18px;text-align:center; }
.reader-end-card h2 { font-size:19px;margin:4px 0 14px; }
.reader-product { display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:8px;margin-bottom:10px; }
.reader-product img { width:64px;height:64px;object-fit:contain;border-radius:10px;background:#f3f2ee; }
.reader-product strong { display:block;font-size:13px;line-height:1.4; }
.reader-product small { font-size:12px;color:#b5592b;font-weight:800; }
.reader-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.reader-actions > :first-child { grid-column:1/-1; }
.reader-actions .secondary { min-height:44px;border-radius:14px; }
.reader-next { margin-top:18px;text-align:left; }
.reader-next h3 { font-size:14px;margin-bottom:4px; }
.reader-next .rail { margin:0 -18px;padding:4px 18px 10px; }
.reader-nav { position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border-radius:12px;background:#ffffff14;color:#fff;font-size:30px; }
.reader-nav.prev { left:8px; } .reader-nav.next { right:8px; }
.reader-nav:disabled { opacity:0; }
@media (hover:none) { .reader-nav { display:none; } }
.reader-progress { height:3px;background:#ffffff1f;margin-bottom:var(--safe-bottom); }
.reader-progress i { display:block;height:100%;width:0;background:var(--sp-orange);transition:width .25s ease; }

/* 一覧（ダイアログ）のお店 */
.store-choice { display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;text-align:left; }
.store-choice-art img { width:64px;height:64px;border-radius:12px;object-fit:cover;display:block; }
.store-choice-copy { display:flex;flex-direction:column;gap:3px;min-width:0; }
.store-choice-copy > span:not(.badges) { font-size:12px;color:#4f5d68;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }

@media (min-width:700px) {
  .sp-hero-img { aspect-ratio:16/8; }
  .rail-products { --tile:200px; } .rail-covers { --tile:160px; }
}
@media (prefers-reduced-motion:reduce) { .cover-art,.reader-progress i { transition:none; } }

/* 写真の出典（コモンズなど） */
.photo-credit { display:block;font-size:10px;line-height:1.5;color:var(--sp-muted);margin-top:4px;overflow-wrap:anywhere; }
.photo-credit a { color:inherit; }
.photo-credit.on-hero { position:absolute;right:8px;top:8px;max-width:70%;margin:0;padding:2px 8px;border-radius:8px;background:#0b1d29a6;color:#f3f4f5;text-align:right; }
.photo-credit.on-card { font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.product-credit { font-size:9px;color:var(--sp-muted);padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.pd-art .photo-credit { padding:4px 12px 0; }

/* v0.9.4 動線を絞る：1画面1ボタン。マンガはおまけ、SNSはお店の情報の中だけ */
.sp-bonus .sp-head h2 { font-size:15px;color:#5b6b75; }
.pd-links { display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px; }
.pd-links .text-link { margin:12px 0 0; }
.reader-end-thumb { display:block;width:96px;height:96px;object-fit:contain;margin:4px auto 12px;border-radius:14px;background:#f3f2ee; }
.reader-main { display:block;width:100%;min-height:52px;border:0;border-radius:999px;background:#ef9658;color:#2b1a0e;font-size:15px;font-weight:800;padding:10px 16px; }
.reader-quiet { display:flex;justify-content:center;gap:22px; }
.reader-quiet .text-link { margin:14px 0 0; }
.chip-link.sns { background:#f4f1fb; }
.reader-end-item { text-align:center;font-size:13px;font-weight:700;line-height:1.5;margin:0 0 12px;color:#26404f; }
.reader-end-card img.reader-end-thumb { width:120px;height:120px;max-width:120px;aspect-ratio:auto; }
/* 確認用URL（お店に見てもらう未公開ページ）の帯 */
.preview-banner { position:fixed;z-index:9999;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translateX(-50%);white-space:nowrap;max-width:calc(100vw - 24px);pointer-events:none;background:#3b2a12;color:#fff6e4;border-radius:14px;padding:6px 14px;font-size:12px;font-weight:800;line-height:1.4;text-align:center;box-shadow:0 4px 14px #0003; }
.preview-banner small { display:block;font-weight:500;font-size:11px;opacity:.85;white-space:normal; }

/* v0.9.6 メリハリ：全部ではなく「見てほしいところ」だけ、太く濃い線にする */
:root { --em-ink:#173d51; --em-line:#8fa2ad; }
/* 選んでいる目的・地図のカード・マンガの入口・一覧の枠 */
.purpose-switch button[aria-pressed=true] { box-shadow:inset 0 0 0 2px var(--em-ink); }
.shop-sheet { border:2px solid var(--em-ink); }
#explore-hint { border:2px solid var(--em-ink); }
dialog { border:2px solid var(--em-ink); }
/* 押してほしいボタン（1画面1つ） */
.sheet-actions .primary, #open-store, .cta-button, .reader-main { border:2px solid var(--em-ink); }
/* 選べるもの：ふだんは少し濃い線、選んだら太線 */
.chip { border:1.5px solid var(--em-line); }
.chip[aria-pressed="true"] { border:2px solid var(--em-ink); }
.store-choice { border:1.5px solid var(--em-line); border-radius:16px; }
.store-choice:hover, .store-choice:focus-visible { border-color:var(--em-ink); }
.event-choice { border:2px solid #7d68b0; }
.product-card { border:1.5px solid var(--em-line); }

/* v0.9.6 まちのスポット（無料紹介）：丸ピン＋小さなカード */
.demo-marker.is-spot { width:26px;height:26px;min-width:0;padding:0;border-radius:50%;background:#fff;border:3px solid var(--em-ink);box-shadow:0 2px 5px #173d5140;display:grid;place-items:center; }
.demo-marker.is-spot .marker-visual, .demo-marker.is-spot .marker-label { display:none; }
.demo-marker.is-spot::after { content:'';width:10px;height:10px;border-radius:50%;background:var(--kind-accent,var(--em-ink)); }
.demo-marker.is-spot.selected { border-color:#e58a4e;transform:scale(1.25); }
.listing-badge.listing-spot { background:#eef2f4;color:#3c5260;border:1px solid #c9d3d8; }
.spot-card { display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:start; }
.spot-photo { position:relative;width:112px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#eef0ee;border:1.5px solid var(--em-line); }
.spot-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.photo-credit.spot-credit { display:block;margin-top:8px;font-size:11px;line-height:1.4;color:#6b7a83;overflow-wrap:anywhere; }
.spot-body h2 { font-size:18px;margin:4px 0 2px;line-height:1.35; }
.spot-text { font-size:13px;line-height:1.6;margin:0;color:#3a4b56; }
.spot-links { display:flex;flex-wrap:wrap;gap:6px;margin-top:8px; }
.demo-marker.is-spot { min-height:0;height:26px;position:relative; }
.demo-marker.is-spot::before { content:'';position:absolute;inset:-10px;border-radius:50%; } /* 指で押しやすいように、見た目より広く反応させる */
.genre-filter .chip { display:inline-flex;align-items:center;gap:4px; }
.genre-filter .chip .place-kind-icon { width:20px;height:20px; }

/* v0.9.7 画面を広く：ロゴは舟のマークだけ、ボタンは「現在地・エリア・すべて・…」に絞る */
.brand { pointer-events:auto;cursor:pointer;background:#fffffff2;border-radius:14px;padding:6px;box-shadow:var(--shadow); }
.brand h1, .brand .area-row { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
.brand:focus-visible { outline:3px solid var(--em-ink);outline-offset:3px; }
.map-header { width:auto; }
.purpose-bar { left:66px;right:10px;width:auto; }
#help.quiet { display:none; }
.world-picker { top:calc(79px + var(--safe-top));left:66px; }
.world-picker select { min-width:0;max-width:150px; }
.maplibregl-ctrl-bottom-left { top:calc(131px + var(--safe-top)); }
#more { right:14px;top:calc(131px + var(--safe-top));bottom:auto;background:#fff;display:grid;place-items:center; }
#more .more-dots { width:auto;height:auto;font-size:22px;font-weight:800;line-height:1;color:var(--em-ink); }
#more[aria-expanded=true] { background:var(--em-ink); }
#more[aria-expanded=true] .more-dots { color:#fff; }
#station, #zoom-toggle, .view-switch { display:none; }
.tools-open .view-switch { display:block;left:auto;right:14px;top:calc(183px + var(--safe-top)); }
.tools-open #station { display:grid;place-items:center;top:calc(235px + var(--safe-top));bottom:auto;background:#fff; }
.tools-open .map-tools .zoom-tools { display:flex;flex-direction:column;position:absolute;right:14px;left:auto;top:calc(287px + var(--safe-top));bottom:auto;background:#fff;border-radius:22px;box-shadow:var(--shadow); }
.tools-open .zoom-tools button+button { border-left:0;border-top:1px solid var(--line); }
.card-open #pickup, .card-open #explore-hint { display:none; }
@media(min-width:700px) {
 .brand { padding:8px; }
 .purpose-bar { left:auto;right:26px;width:330px; }
 .world-picker { top:94px;left:84px; }
 #more { right:26px;top:150px; }
 .tools-open .view-switch { right:26px;top:202px; }
 .tools-open #station { right:26px;top:254px; }
 .tools-open .map-tools .zoom-tools { right:26px;top:306px; }
 .maplibregl-ctrl-bottom-left { top:150px; }
}
@media(min-width:700px) { .brand h1, .brand .area-row { position:static;width:auto;height:auto;clip:auto;overflow:visible; } }
/* 丸ピンを背景から浮かせる：紺の太い輪＋外側の白いふち＋影。少し大きく */
.demo-marker.is-spot { width:30px;height:30px;border:4px solid var(--em-ink);box-shadow:0 0 0 3px #fff, 0 3px 8px #0006;filter:none; }
.demo-marker.is-spot::after { width:12px;height:12px; }
.demo-marker.is-spot.selected { border-color:#d9632b;box-shadow:0 0 0 3px #fff, 0 0 0 7px #d9632b55, 0 3px 8px #0006;transform:none; }
