/* KAMI VIBES の入力の流れ（トップの候補・確認パネル → 生年月日 → 神社 → 内容確認 → 読み込み中）を
   トップと同じ黒・ピンク・黄緑、四角いボタンにそろえる。旧デザインの規則より後に読み込む。 */
:root {--vb-ink:#151515;--vb-pink:#ed297e;--vb-pink-deep:#c0175f;--vb-lime:#ecfc94;--vb-paper:#f7f6f8;--vb-line:#d9d6db;--vb-muted:#5f5a63}

/* ── トップ: 神社名の候補リストと「この二社で神託を受けますか？」 ── */
.lp3 .lp3-ac {border:2px solid var(--vb-ink);border-radius:0;background:#fff;box-shadow:5px 5px 0 var(--vb-pink)}
.lp3 .lp3-ac-item {font:700 15px/1.5 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--vb-ink);border-bottom:1px solid var(--vb-line);padding:11px 14px}
.lp3 .lp3-ac-item small {font-weight:500;font-size:12px;color:var(--vb-muted)}
.lp3 .lp3-ac-item:hover,.lp3 .lp3-ac-item:focus-visible {background:var(--vb-lime)}
.lp3 .lp3-ac-note {background:var(--vb-ink);color:#fff;border:0;font-size:12px}
.lp3 .lp3-confirm {border:2px solid var(--vb-ink);border-radius:0;background:#fff;box-shadow:6px 6px 0 var(--vb-pink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.lp3 .lp3-confirm-title {color:var(--vb-ink);font-weight:900;letter-spacing:-.02em}
.lp3 .lp3-confirm-row {border-bottom:1px solid var(--vb-line)}
.lp3 .lp3-confirm dt {color:var(--vb-pink-deep);font-weight:800}
.lp3 .lp3-confirm dd {color:var(--vb-ink);font-weight:800}
.lp3 .lp3-confirm dd small {color:var(--vb-muted);font-weight:500}
.lp3 .lp3-confirm-edit {color:var(--vb-ink);font-weight:700;text-decoration-color:var(--vb-pink);text-underline-offset:4px}

/* ── 入力の各画面 ── */
body:has(.journey-screen.active),body:has(#screen-loading.active) {background:#e8e6e9}
.screen.journey-screen {background:var(--vb-paper);border-top:6px solid var(--vb-pink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.journey-screen .journey-brand {color:var(--vb-ink);font-style:italic;font-weight:900;letter-spacing:-.04em}.journey-brand span {color:var(--vb-pink)}
.journey-screen .screen-header .step {color:var(--vb-pink-deep);font-size:12px}
.journey-screen .screen-header h2 {color:var(--vb-ink);font-weight:900}
.journey-screen .screen-header p {color:var(--vb-muted);font-size:14px;line-height:1.9}
.journey-screen .ritual-stage {color:var(--vb-muted)}
.journey-screen .ritual-stage::before {border-radius:0!important;background:#fff!important;border:2px solid var(--vb-ink)!important;color:var(--vb-ink)!important}
.journey-screen .ritual-stage.done::before {background:var(--vb-lime)!important}
.journey-screen .ritual-stage.active::before {background:var(--vb-ink)!important;color:#fff!important;box-shadow:3px 3px 0 var(--vb-pink)!important}
.journey-screen .ritual-stage.active {color:var(--vb-ink);font-weight:800}
.journey-screen .ritual-progress::before {background:var(--vb-ink)!important;height:2px}
.journey-screen .how-note {border:0;border-left:4px solid var(--vb-pink);border-radius:0;background:#fff;font-size:13px}
.journey-screen .how-note summary {color:var(--vb-ink);font-weight:700}
.journey-screen .how-note p {font-size:13px;color:#3b373e}
.journey-screen .screen-shrine-chamber {border:2px solid var(--vb-ink);border-radius:0;background:#fff}
.journey-screen .shrine-mode-tabs {background:var(--vb-paper);border:2px solid var(--vb-ink);border-radius:0;padding:0;gap:0}
.journey-screen .shrine-mode-tabs .tab-btn {border-radius:0;color:var(--vb-muted)}
.journey-screen .shrine-mode-tabs .tab-btn small {font-size:11px}
.journey-screen .shrine-mode-tabs .tab-btn.active {background:var(--vb-ink);color:#fff;box-shadow:none}
.journey-screen .shrine-mode-tabs .tab-btn.active small {color:var(--vb-lime)}
.journey-screen :is(input,select) {border-radius:0!important;border:2px solid var(--vb-ink)!important;color:var(--vb-ink)!important}
.journey-screen :is(input,select):focus {border-color:var(--vb-pink)!important;box-shadow:4px 4px 0 var(--vb-pink)}
.journey-screen :is(button,a,summary):focus-visible {outline:3px solid var(--vb-pink);outline-offset:3px}
.journey-screen ::placeholder {color:#8c8790;opacity:1}
.journey-location {border-bottom:1px solid var(--vb-line);color:var(--vb-ink)}
.journey-location>summary {font-size:13px;font-weight:700}
.journey-screen .pref-select-box label {color:var(--vb-ink);font-weight:700}
.journey-screen .place-search-note,.journey-screen .address-search-status {font-size:12px;color:var(--vb-muted)}
.journey-screen .address-search-button {border-radius:0!important;border:2px solid var(--vb-ink)!important;background:var(--vb-ink)!important;color:#fff!important;font-size:13px!important;font-weight:700}
.journey-screen .address-search-button.secondary {background:#fff!important;color:var(--vb-ink)!important}

/* 神社名の候補（入力画面） */
.journey-screen .autocomplete-list {border:2px solid var(--vb-ink);border-radius:0;box-shadow:5px 5px 0 var(--vb-pink)}
.journey-screen .ac-item {color:var(--vb-ink);border-bottom:1px solid var(--vb-line)}
.journey-screen .ac-item:hover,.journey-screen .ac-item:focus {background:var(--vb-lime)}
.journey-screen .ac-name {color:var(--vb-ink);font-weight:800}
.journey-screen .ac-meta {color:var(--vb-muted);font-size:12px}
.journey-screen .ac-cat-tag {background:var(--vb-ink);color:#fff;border-radius:0}

/* 地域・住所から出る神社の候補カード */
.journey-screen .region-pick,.journey-screen .nearby-pick {scroll-margin-top:16px}
.journey-screen .region-hint {color:var(--vb-ink)!important;font-size:13px;font-weight:700;background:none;border:0;text-wrap:balance}
.journey-screen .nearby-heading {color:var(--vb-ink);border-bottom:2px solid var(--vb-ink)}
.journey-screen .nearby-heading span {color:var(--vb-muted)}
.journey-screen .region-card {background:#fff!important;border:2px solid var(--vb-ink)!important;border-radius:0!important;box-shadow:none;transition:transform .12s,box-shadow .12s}
.journey-screen .region-card:hover {box-shadow:4px 4px 0 var(--vb-pink)}
.journey-screen .region-card.selected {background:var(--vb-lime)!important;box-shadow:4px 4px 0 var(--vb-ink)}
.journey-screen .region-card .rc-kind {color:var(--vb-pink-deep);font-size:12px;font-weight:800;letter-spacing:.04em}
.journey-screen .region-card .rc-name {color:var(--vb-ink);font-size:18px;font-weight:900}
.journey-screen .region-card .rc-deity {color:#3b373e;font-size:13px;font-weight:700}
.journey-screen .region-card .rc-trait,.journey-screen .region-card .rc-verification {color:var(--vb-muted);font-size:12px}
.journey-screen .region-more {border:2px dashed var(--vb-ink);border-radius:0;background:#fff;color:var(--vb-ink);font-weight:700}
.journey-screen .detect-result {background:#fff;border:2px solid var(--vb-ink);border-radius:0;box-shadow:5px 5px 0 var(--vb-lime)}
.journey-screen .detect-label {color:var(--vb-pink-deep);font-size:12px;font-weight:800}
.journey-screen .detect-deity {color:var(--vb-ink);font-weight:900}
.journey-screen .detect-cat,.journey-screen .detect-reason {color:#3b373e}
.journey-screen .ichi-box {background:#fff;color:#3b373e;border:1px solid var(--vb-line);border-radius:0}

/* 戻る・次へ: スマホでも1行に収め、入力欄やボタンを覆わない高さにする */
.journey-screen .nav-buttons {background:#fffffff2;border:2px solid var(--vb-ink);border-radius:0;box-shadow:0 -4px 18px #1515151a;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}
.journey-screen .btn,.history-editor .btn {border-radius:0!important}
.journey-screen .nav-buttons .btn:last-child {background:var(--vb-ink);color:#fff;border:2px solid var(--vb-ink);box-shadow:4px 4px 0 var(--vb-pink)}
.journey-screen .nav-buttons .btn.btn-secondary {background:#fff;color:var(--vb-ink);border:2px solid var(--vb-ink);flex:0 0 auto}
.journey-screen .btn:disabled {opacity:1!important;background:#cfccd2!important;border-color:#cfccd2!important;color:#5f5a63!important;box-shadow:none!important}
.journey-screen .btn.btn-link {color:var(--vb-pink-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* 「次へ」が押せない理由を、ボタンのそばに出す */
:is(#screen-ubusuna,#screen-ujigami) .nav-buttons:has(.btn:last-child:disabled)::before {content:"神社を1つ選ぶと「次へ」が押せます";order:-1;flex-basis:100%;font-size:12px;font-weight:700;color:var(--vb-pink-deep);text-align:center;line-height:1.4}

/* 内容確認・ご縁の旅 */
.journey-review {border:2px solid var(--vb-ink);border-radius:0}
.review-row {border-bottom:1px solid var(--vb-line)}
.review-row>span {color:var(--vb-pink-deep);font-size:12px;font-weight:800}
.review-row strong {color:var(--vb-ink)}
.review-row small {color:var(--vb-muted);font-size:12px}
.review-row button {border-bottom:2px solid var(--vb-pink);color:var(--vb-ink);font-weight:700}
.history-panel {background:#fff;border:2px solid var(--vb-ink);border-radius:0;color:#3b373e}
.history-heading h3 {color:var(--vb-ink);font-weight:900}
.history-count {border:2px solid var(--vb-ink);border-radius:0;color:var(--vb-ink)}
.history-panel>p {font-size:13px;color:#3b373e}
.history-add {border:2px dashed var(--vb-ink);border-radius:0;background:var(--vb-paper);color:var(--vb-ink)}
.history-editor {border:2px solid var(--vb-ink);border-radius:0}
.journey-eyebrow {color:var(--vb-pink-deep)}

/* 読み込み中 */
#screen-loading {background:var(--vb-paper);color:var(--vb-ink)}
#screen-loading .loading-halo {border:2px solid var(--vb-ink);border-radius:0;background:var(--vb-lime);color:var(--vb-pink);box-shadow:6px 6px 0 var(--vb-pink)}

@media(max-width:600px) {
 .journey-screen .nav-buttons {gap:8px;padding:8px;margin:20px -6px 0;bottom:6px}
 .journey-screen .nav-buttons .btn {width:auto;min-height:46px;padding:10px 14px}
 .journey-screen .nav-buttons .btn:last-child {flex:1 1 0}
 .journey-screen .nav-buttons .btn.btn-secondary {min-width:72px}
 .journey-screen .nav-buttons .btn.btn-link {flex-basis:100%;order:-1;min-height:36px;padding:4px}
 .journey-screen .screen-header p,.journey-screen .how-note p {font-size:13px}
}

/* ── 結果画面: 和風の名残（クリーム・金茶・字間の広い明朝）を消し、トップと同じ文法にそろえる ── */
body:has(.result-screen.active) {background:#e8e6e9}
.screen.result-screen {font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#2b282d}
.result-screen .result-header>p {color:var(--vb-pink-deep);font:800 12px/1.8 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.06em}
.result-screen .result-header h2 {color:var(--vb-ink);font-weight:900;letter-spacing:-.04em}
.result-screen .oracle-seal-theme {font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1.6}
.result-screen .oracle-seal-kicker {color:var(--vb-lime);font-size:12px;font-weight:700}
.result-screen .oracle-seal-message {font-size:15px;line-height:2.1}
.result-screen .oracle-seal-rating {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;border:2px solid var(--vb-lime)!important;color:var(--vb-lime)!important;background:none!important;padding:8px 12px}
.result-screen .oracle-seal-rating strong {color:#fff;font-size:22px;font-weight:900}
.result-screen .oracle-seal-stars {color:var(--vb-lime);letter-spacing:.08em;font-size:15px}
.result-screen .oracle-save-link {color:#ff9cc8}
.result-screen .fortune-summary {background:#fff;border:2px solid var(--vb-ink)!important;border-radius:0;color:#2b282d}
.result-screen .summary-title {color:var(--vb-muted);font-size:12px}
.result-screen .oracle-quick-item {background:#fff;border:2px solid var(--vb-ink);border-left:2px solid var(--vb-ink);border-radius:0;padding:16px 18px}
.result-screen .oracle-quick-item:first-child {background:var(--vb-lime)}
.result-screen .oracle-quick-label {color:var(--vb-pink-deep);font-size:12px;font-weight:900;letter-spacing:.04em}
.result-screen .oracle-quick-value {color:var(--vb-ink);font-size:16px;font-weight:700;line-height:2}
.summary-reading {border-top:1px solid var(--vb-line)}
.summary-reading summary,.result-screen .summary-toggle {color:var(--vb-ink);font-size:14px;font-weight:800}
.result-screen .summary-overview,.result-screen .summary-text {color:#2b282d;font-size:15px;line-height:2.2}
.result-screen .oracle-method-note {color:var(--vb-muted);font-size:12px}
.result-connections {background:#fff;border:2px solid var(--vb-ink)!important;border-radius:0}
.result-connections>summary {color:var(--vb-ink);font-weight:800;font-size:14px}
.result-screen .deity-card,.result-screen :is(.deity-card-ichi,.deity-card-chinju) {background:#fff!important;border:2px solid var(--vb-ink)!important;border-radius:0;color:#2b282d}
.result-screen .deity-card .label {color:var(--vb-pink-deep)!important;font-size:12px;font-weight:800;letter-spacing:.04em}
.result-screen .deity-card .deity-name {color:var(--vb-ink);font-weight:900}
.result-screen .deity-card :is(.cat-name,.shrine-name) {color:var(--vb-muted);font-size:12px}
.result-screen .oracle-chapters {background:#fffffff2;border:2px solid var(--vb-ink);border-radius:0;padding:6px;gap:6px}
.result-screen .oracle-chapters button {border:2px solid var(--vb-ink);border-radius:0;background:#fff;color:var(--vb-ink);font-weight:800;font-size:13px;min-height:44px}
.result-screen .oracle-chapters button:hover {background:var(--vb-lime)}
.result-screen .fortune-section,.result-screen .fortune-section-ichi {background:#fff!important;border:2px solid var(--vb-ink)!important;border-radius:0;padding:26px 24px;color:#2b282d}
.result-screen .fortune-section-ichi {border-left:8px solid var(--vb-pink)!important}
.result-screen .fortune-section h3 {display:block;font:900 20px/1.5 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:-.02em;color:var(--vb-ink);padding-bottom:12px;margin-bottom:16px;border-bottom:2px solid var(--vb-ink)}
.result-screen .fortune-section h3::before {content:"";display:inline-block;width:12px;height:12px;margin-right:10px;background:var(--vb-pink);vertical-align:.05em}
/* ふりがなが付いた行だけ行間が広がらないよう、最初からふりがな分の行間を取っておく */
.result-screen .fortune-section p {font-size:15px;line-height:2.3;color:#2b282d;letter-spacing:.01em}
.result-screen rt {line-height:1}
.result-screen .fortune-section :is(strong,b) {color:var(--vb-pink-deep)}
.result-screen :is(.compat-item,.lucky-item) {background:#fff!important;border:2px solid var(--vb-ink)!important;border-radius:0;padding:12px}
.result-screen :is(.compat-label,.lucky-label) {color:var(--vb-pink-deep)!important;font-size:12px;font-weight:800}
.result-screen :is(.compat-value,.lucky-value) {color:var(--vb-ink)!important;font-size:15px;font-weight:800;line-height:1.6}
.result-screen .deity-reading-links {background:#fff;border:2px solid var(--vb-ink);border-radius:0}
.omamori-panel {background:#fff;border:2px solid var(--vb-ink);border-radius:0;box-shadow:6px 6px 0 var(--vb-pink)}
.omamori-copy h2 {color:var(--vb-ink);font-weight:900}
.omamori-copy .experience-eyebrow,.result-screen .experience-eyebrow {color:var(--vb-pink-deep);letter-spacing:.04em;font-weight:800}
.omamori-copy>p:not(.experience-eyebrow) {color:#3b373e;font-size:14px}
.omamori-pdf-link {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:2px solid var(--vb-ink)!important;background:#fff!important;color:var(--vb-ink)!important;font-weight:800!important;text-decoration:none!important}
.omamori-pdf-link:hover {background:var(--vb-lime)!important}
.result-screen .result-actions .btn {min-height:48px}
.result-screen :is(button,a,summary):focus-visible,.oracle-seal :is(a,button):focus-visible {outline:3px solid var(--vb-lime);outline-offset:3px;box-shadow:0 0 0 6px var(--vb-ink)}
@media(max-width:600px) {
 .result-screen .fortune-section,.result-screen .fortune-section-ichi {padding:20px 16px}
 .result-screen .fortune-section h3 {font-size:18px}
 .result-screen .oracle-chapters {overflow-x:auto;flex-wrap:nowrap}
 .result-screen .oracle-chapters button {flex:none;padding:6px 12px}
 .result-screen .lucky-box,.result-screen .compat-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

/* 鑑定直後に今日の巡りを大きく見せる演出 */
.oracle-reveal {background:var(--vb-ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.oracle-reveal .reveal-sub {color:var(--vb-lime);font-weight:800;letter-spacing:.3em}
.oracle-reveal .reveal-rating {color:#fff;font-weight:900;letter-spacing:.02em;padding:0 .3em;text-shadow:6px 6px 0 var(--vb-pink)}
.oracle-reveal .stars .star {color:#4a464d}.oracle-reveal .stars .star.filled {color:var(--vb-lime)}
.oracle-reveal .reveal-hint {color:#bdb8c0;font-size:13px}

/* ── トップ（スマホ）: 本文が11〜12pxで読みにくいので、本文14px・補足13pxを下限にする ── */
@media(max-width:700px) {
 #screen-landing :is(.lp3-hero-lead,.lp3-value-lead,.lp3-value-copy p,.lp3-form-note,.lp3-intro-copy p,.lp3-roots-heading p,.lp3-bond p,.lp3-current-reading p,.reading-portal-copy p,.lp3-inner>p,.lp3-card p,.lp3-faq p,.lp3-closing p,.gal-energy-heading p:not(.lp3-eyebrow),.lp3-sample-action p) {font-size:14px;line-height:1.95}
 #screen-landing :is(.lp3-hero-note,.lp3-delivery-note,.lp3-delivery-note strong,.lp3-sample-caption,.lp3-form-action p,.lp3-form-action small,.lp3-sample-sign,.lp3-life-current p,.lp3-life-current small,.lp3-root-thread span,.lp3-shrine-options summary,.lp3-sample-detail summary,label small) {font-size:13px;line-height:1.8}
 #screen-landing .lp3-faq summary {font-size:15px;min-height:48px;display:flex;align-items:center}
 #screen-landing :is(.lp3-sample-link,.lp3-scene-toggle,.lp3-current-reading a,.reading-portal-links a) {font-size:13px;min-height:44px;display:inline-flex;align-items:center}
 #screen-landing .lp3-ritual li {font-size:12px}
 .lp3-footer nav a {font-size:13px;display:inline-block;padding:8px 0}
}

/* ── トップ中ほどの「ご縁の旅」と読みもの紹介: 藤色・淡いピンクの箱を、白×黒枠×ピンク／黄緑にそろえる ── */
.lp3-bond {border:2px solid var(--vb-ink)!important;border-radius:0}
.lp3-bond-birth {background:#fff!important;box-shadow:6px 6px 0 var(--vb-pink)}
.lp3-bond-home {background:#fff!important;box-shadow:6px 6px 0 var(--vb-lime)}
.lp3-bond-badge {border:2px solid var(--vb-ink)!important;border-radius:0!important;background:var(--vb-ink)!important;color:#fff!important;font-weight:800}
.lp3-bond h3 {color:var(--vb-ink)!important;font-weight:900}
.lp3-bond p {color:#3b373e!important}
.lp3-life-map {border:2px solid var(--vb-ink)!important;border-radius:0!important;background:#fff!important}
.lp3-root-thread {background:var(--vb-ink)!important;border:0!important;border-radius:0!important;color:#fff!important}
.lp3-root-thread strong {color:var(--vb-lime)}
.lp3-life-stops li {background:#fff!important;border:2px solid var(--vb-ink)!important;border-radius:0!important}
.lp3-life-stops li:not(:last-child)::after {color:var(--vb-pink)!important}
.lp3-life-stops .lp3-life-current {background:var(--vb-lime)!important}
.lp3-life-current b {border:2px solid var(--vb-ink)!important;border-radius:0!important;background:#fff!important;color:var(--vb-ink)!important;font-weight:800}
.lp3-current-reading {border:2px dashed var(--vb-ink)!important;border-radius:0!important;background:#fff!important}
.lp3-current-label {color:var(--vb-pink-deep)!important;font-weight:800}
.lp3-current-reading>p:first-of-type {color:var(--vb-ink)!important;font-weight:800}
.lp3 .reading-portal {background:var(--vb-lime)!important}

/* フォーカス枠: 濃いピンクは黒地でほぼ見えないので、黄緑＋黒の二重線にしてどの背景でも見えるようにする */
.lp3 :is(a,button,summary,input,select):focus-visible {outline:3px solid var(--vb-lime);outline-offset:3px;box-shadow:0 0 0 6px var(--vb-ink)}

/* ── 再点検での修正 ── */
/* 地図（Leaflet）は内部で大きな z-index を使うので、地図の外へはみ出さないよう閉じ込め、操作バーを常に手前に */
.shrine-map-shell {position:relative;z-index:0;isolation:isolate}
.journey-screen .nav-buttons {z-index:1000}
/* 結果の章ナビ: ボタンの文字が切れないように */
.result-screen .oracle-chapters button {min-width:max-content;white-space:nowrap}
/* 読み込み中の画面 */
#screen-loading .loading-text {color:var(--vb-ink);font-weight:900;letter-spacing:.2em}
#screen-loading .loading-progress,#screen-loading .loading-hint {color:var(--vb-muted);font-size:13px}
#screen-loading .btn {border-radius:0!important;background:var(--vb-ink)!important;color:#fff!important;border:2px solid var(--vb-ink)!important;box-shadow:4px 4px 0 var(--vb-pink);font-size:14px;font-weight:800}
#screen-loading .btn-secondary {background:none!important;color:var(--vb-ink)!important;border:0!important;box-shadow:none;text-decoration:underline;text-decoration-color:var(--vb-pink);text-underline-offset:4px}
/* 候補欄の「お寺です」などの注意: 薄い字ではなく、読める濃さで */
.journey-screen .ac-section,.lp3 .lp3-ac-note {color:var(--vb-ink)!important;background:var(--vb-lime)!important;font-weight:700;font-size:13px;line-height:1.7}
/* トップのフォームに残っていた茶色 */
.lp3 .lp3-messages p {color:var(--vb-muted)}
.lp3 .lp3-form :is(label small,.lp3-optional,small) {color:var(--vb-pink-deep)}
.lp3 .lp3-form ::placeholder {color:#8c8790;opacity:1}
/* フォーカス枠: 明るい背景では黒、暗い背景では外側の黄緑が見える二重線 */
.lp3 :is(a,button,summary,input,select):focus-visible,.journey-screen :is(button,a,summary):focus-visible,.result-screen :is(button,a,summary):focus-visible {outline:3px solid var(--vb-ink)!important;outline-offset:2px;box-shadow:0 0 0 5px var(--vb-lime)!important}
/* PDFのデザイン選択と結果の操作ボタンを、狭い画面でも崩れない並びに */
.pdf-theme-choice {flex-wrap:nowrap}
.pdf-theme-choice span {white-space:nowrap}
.result-screen .result-actions {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.result-screen .result-actions .btn {width:100%;white-space:nowrap}
/* 「一宮」などの語の途中で改行しない */
.journey-screen :is(.region-hint,.rc-kind,.detect-reason),.result-screen .fortune-section p {word-break:auto-phrase}
@media(max-width:700px) {
 #screen-landing :is(.lp3-kicker,.lp3-index-strip span,.lp3-index-strip a,.lp3-ritual li,.gal-energy-foot span,.lp3-bond-badge,.lp3-sample-tag,.lp3-sample-kicker,.lp3-current-label) {font-size:13px}
 .pdf-theme-choice legend {float:none;width:100%;margin-bottom:4px}
}
/* ふりがなが漢字より長いとき（一宮＝いちのみや など）に漢字の間が空かないよう、ふりがなを左右へ少しはみ出させる */
.result-screen rt {margin-inline:-.5em}
/* 地図のセピア（旧和風）をやめ、ほぼそのままの色に */
.shrine-map .leaflet-tile-pane {filter:grayscale(.25) contrast(1.05)!important}
/* 候補リストを開いている間は、操作バーを固定せずリストを隠さない */
.journey-screen:has(.autocomplete-list.visible) .nav-buttons {position:static}
