.luna-diagnosis {
	--lu-gold: #d4b46a;
	--lu-pink: #f4b8d0;
	position: relative;
	min-height: 100vh;
	min-height: 100dvh;
	overflow: hidden;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #efe9f7;
	background: #1c1638 url("../diagnosis/home-bg.webp") center/cover no-repeat;
}
.luna-diagnosis * { box-sizing: border-box; }
.luna-diagnosis a { color: inherit; }
.luna-diagnosis__motes { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.luna-diagnosis__stage { position: relative; z-index: 3; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 48px 22px; }
.luna-diagnosis__veil { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(58% 56% at 50% 52%, rgba(26,18,48,.28), transparent 68%); }
.luna-fortune-head { position: absolute; top: 0; left: 0; right: 0; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 2.4vw; }
.luna-fortune-brand { display: inline-flex; align-items: center; gap: 14px; border: 0; background: transparent; padding: 0; text-decoration: none; cursor: pointer; }
.luna-fortune-brand__jp { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-size: 25px; letter-spacing: .18em; color: #f3ecff; }
.luna-fortune-brand__en { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 20px; letter-spacing: .16em; color: rgba(244,184,208,.92); }
.luna-fortune-back { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border: 1px solid rgba(216,189,131,.7); border-radius: 999px; color: #f4ecff; text-decoration: none; font-size: 13px; letter-spacing: .12em; opacity: .92; }
.luna-fortune-bc { position: absolute; top: 82px; left: 2.4vw; right: 2.4vw; z-index: 8; }
.luna-fortune-bc .luna-bc ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 11px; letter-spacing: .08em; color: rgba(239,233,247,.72); }
.luna-fortune-bc .luna-bc li:not(:last-child)::after { content: "›"; margin-left: 8px; color: rgba(212,180,106,.65); }
.luna-fortune-bc .luna-bc a { text-decoration: none; color: rgba(239,233,247,.72); }
.luna-diagnosis__hero { position: relative; z-index: 3; max-width: 620px; width: 100%; text-align: center; animation: lunaDiagFadeIn 1s ease both; }
.luna-diagnosis__moon { margin-bottom: 14px; animation: lunaDiagFloat 7.5s ease-in-out infinite; filter: drop-shadow(0 0 8px rgba(244,225,168,.55)); }
.luna-diagnosis__eyebrow { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 26px; }
.luna-diagnosis__eyebrow span:nth-child(1), .luna-diagnosis__eyebrow span:nth-child(3) { display: block; width: 54px; height: 1px; background: linear-gradient(90deg, transparent, var(--lu-gold)); }
.luna-diagnosis__eyebrow span:nth-child(3) { background: linear-gradient(270deg, transparent, var(--lu-gold)); }
.luna-diagnosis__eyebrow b { font-size: 13px; letter-spacing: .42em; color: #e8d9a8; font-weight: 500; }
.luna-diagnosis h1 { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-weight: 600; font-size: clamp(34px,6.6vw,52px); line-height: 1.5; margin: 0 0 8px; letter-spacing: .08em; color: #f7f1ff; text-shadow: 0 2px 18px rgba(40,20,70,.55); }
.luna-diagnosis__lead { font-size: clamp(12.5px,3.9vw,16px); line-height: 2; color: #ddd2ee; margin: 0 auto 40px; max-width: 430px; text-shadow: 0 1px 8px rgba(30,18,55,.5); }
.luna-gold-btn { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; cursor: pointer; border: 1px solid rgba(245,233,190,.9); border-radius: 999px; padding: 16px 36px; font-size: 16px; letter-spacing: .22em; font-weight: 600; color: #3a2c12; background: linear-gradient(180deg,#f0dea0,#e3c97e 52%,#d4b768); box-shadow: 0 10px 26px rgba(60,40,12,.4), inset 0 1px 2px rgba(255,250,228,.85); transition: transform .2s ease; }
.luna-gold-btn:hover { transform: translateY(-2px); }
.luna-diagnosis__meta { margin-top: 24px; font-size: clamp(11px,3.3vw,13px); letter-spacing: .18em; color: #cdbfe2; }
.luna-modal, .luna-gather { position: fixed; inset: 0; z-index: 50; display: none; }
.luna-modal.is-active, .luna-gather.is-active { display: flex; }
.luna-gather { align-items: center; justify-content: center; background: rgba(11,8,22,.7); backdrop-filter: blur(6px); animation: lunaDiagOverlayIn .4s ease both; }
.luna-gather canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.luna-gather__text { position: absolute; left: 0; right: 0; top: 60%; text-align: center; font-family: "Shippori Mincho", "Shippori Mincho B1", serif; letter-spacing: .34em; font-size: 15px; color: #f0e8fb; }
.luna-modal { align-items: center; justify-content: center; padding: 20px; background: rgba(11,8,22,.74); backdrop-filter: blur(7px); animation: lunaDiagOverlayIn .4s ease both; }
.luna-modal__panel { position: relative; width: 100%; max-width: 512px; max-height: 96vh; overflow-y: auto; background: linear-gradient(180deg,#271c44,#1d1534); border: 1px solid rgba(212,180,106,.4); border-radius: 22px; padding: clamp(16px,2.6vh,24px) 26px; box-shadow: 0 26px 84px rgba(0,0,0,.58); animation: lunaDiagModalIn .5s cubic-bezier(.2,.8,.2,1) both; }
.luna-modal__close { position: absolute; top: 14px; right: 16px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(196,179,224,.25); background: rgba(255,255,255,.04); color: #c4b3e0; cursor: pointer; z-index: 3; }
.luna-scene { margin: -12px -8px 18px; height: clamp(104px,22vh,210px); border-radius: 16px; overflow: hidden; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.luna-scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.luna-panel-kicker { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 18px; color: var(--lu-gold); font-size: 11px; letter-spacing: .4em; }
.luna-panel-kicker::before, .luna-panel-kicker::after { content: ""; width: 30px; height: 1px; background: linear-gradient(90deg, transparent, var(--lu-gold)); }
.luna-panel-kicker::after { background: linear-gradient(270deg, transparent, var(--lu-gold)); }
.luna-intro p, .luna-result p { text-wrap: pretty; }
.luna-intro p { font-size: clamp(12.5px,3.8vw,14.5px); line-height: 2; color: #ddd2ee; margin: 0 0 14px; text-align: left; }
.luna-progress { height: 4px; border-radius: 4px; background: rgba(196,179,224,.16); overflow: hidden; margin-bottom: 12px; }
.luna-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg,#6d4aa6,#f4b8d0); transition: width .5s cubic-bezier(.4,0,.2,1); }
.luna-question__top { display: flex; align-items: center; justify-content: space-between; margin: 0 36px 6px 2px; }
.luna-question__tag { font-size: 11px; letter-spacing: .3em; color: var(--lu-gold); }
.luna-question__count { font-size: 13px; letter-spacing: .12em; color: #c4b3e0; }
.luna-question__scene { font-size: clamp(11px,3.4vw,13px); line-height: 1.6; color: #c2b6da; margin: 0 0 5px; }
.luna-question h2 { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-size: clamp(15px,4.6vw,18px); line-height: 1.5; margin: 0 0 11px; color: #f5eeff; }
.luna-choices { display: flex; flex-direction: column; gap: 7px; }
.luna-choice { width: 100%; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: clamp(9px,1.5vh,12px) 15px; border-radius: 12px; border: 1px solid rgba(196,179,224,.22); background: rgba(196,179,224,.06); color: #ece6f7; font: inherit; font-size: clamp(12.5px,3.7vw,14px); line-height: 1.35; transition: all .22s ease; }
.luna-choice:hover { border-color: rgba(244,184,208,.7); background: rgba(244,184,208,.12); transform: translateX(3px); }
.luna-choice::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg,#d4b46a,#f4b8d0); }
.luna-result { text-align: center; animation: lunaDiagFadeIn .6s ease both; }
.luna-result h2 { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-size: clamp(23px,6.6vw,28px); letter-spacing: .07em; margin: 0 0 6px; }
.luna-result__catch { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-size: clamp(13px,4vw,15px); letter-spacing: .14em; color: var(--lu-pink); margin: 0 0 20px; }
.luna-result__summary { font-size: clamp(12.5px,3.7vw,14px); line-height: 2; color: #cdc2e2; margin: 0 auto 20px; max-width: 392px; }
.luna-result__box { border: 1px solid rgba(212,180,106,.3); border-radius: 14px; padding: 16px 18px; background: rgba(212,180,106,.06); margin: 0 auto 16px; max-width: 404px; }
.luna-result__label { font-size: 11px; letter-spacing: .3em; color: var(--lu-gold); margin-bottom: 8px; }
.luna-result__advice { font-family: "Shippori Mincho", "Shippori Mincho B1", serif; font-size: clamp(13px,4vw,15px); line-height: 1.8; margin: 0; }
.luna-result__detail { text-align: left; margin: 0 auto 18px; max-width: 404px; display: none; }
.luna-result__detail.is-active { display: block; }
.luna-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.luna-actions button { flex: 1; min-width: 120px; border: 1px solid rgba(196,179,224,.3); border-radius: 999px; padding: 13px 18px; font: inherit; color: #ece6f7; background: rgba(196,179,224,.06); cursor: pointer; }
.luna-actions .luna-gold-btn { color: #3a2c12; background: linear-gradient(180deg,#f0dea0,#e3c97e 52%,#d4b768); }
.luna-toast { margin-top: 14px; font-size: 12px; letter-spacing: .12em; color: var(--lu-gold); min-height: 1.4em; }
.luna-moon-node { position: relative; width: clamp(96px,28vw,130px); height: clamp(96px,28vw,130px); display: inline-flex; margin: 12px auto 24px; }
@keyframes lunaDiagFloat { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-12px); } }
@keyframes lunaDiagOverlayIn { from{ opacity: 0; } to{ opacity: 1; } }
@keyframes lunaDiagModalIn { from{ opacity: 0; transform: translateY(18px) scale(.96); } to{ opacity: 1; transform: translateY(0) scale(1); } }
@keyframes lunaDiagFadeIn { from{ opacity: 0; transform: translateY(10px); } to{ opacity: 1; transform: translateY(0); } }
@keyframes lunaMoonGlow { 0%,100%{ opacity: .78; transform: scale(1); } 50%{ opacity: 1; transform: scale(1.04); } }
@media (max-width: 600px) {
	.luna-fortune-head { padding: 14px 16px; }
	.luna-fortune-brand, .luna-fortune-back { display: none; }
	.luna-fortune-bc { top: 16px; left: 18px; right: 18px; }
	.luna-diagnosis__lead { white-space: normal; }
}
@media (max-width: 375px) { .luna-fortune-head { display: none; } }

/* ============================================================
   共通UI（設計v1.2・U04モデルケース）— data-common-ui="1" スコープ限定。
   既存セレクタは非改変。フラグの無い診断には一切適用されない。
============================================================ */
[data-common-ui="1"] .luna-fortune-head--center{justify-content:center}
/* 「占いの説明」= 星屑郵便と同型の装飾付きテキストボタン（下線あり・人間指示 2026-07-14） */
[data-common-ui="1"] .luna-about-open{display:flex;width:fit-content;align-items:center;justify-content:center;gap:10px;margin:16px auto 0;min-height:40px;border:0;background:none;cursor:pointer;color:#cfc4ea;font-family:"Zen Kaku Gothic New",sans-serif;font-size:12.5px;letter-spacing:.14em}
[data-common-ui="1"] .luna-about-open em{font-style:normal;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(217,179,108,.65)}
[data-common-ui="1"] .luna-about-open span{color:#d9b36c;font-size:10px}
[data-common-ui="1"] .luna-about-open:hover em{color:#f0e8fb;text-decoration-color:#d9b36c}
[data-common-ui="1"] .luna-result__typesummary{margin:14px auto 0;max-width:34em;font-size:14.5px;line-height:2;letter-spacing:.04em;color:rgba(240,236,248,.92)}
[data-common-ui="1"] .luna-result__nextq{margin:26px auto 6px;max-width:34em;font-size:13.5px;line-height:2;letter-spacing:.04em;color:rgba(240,236,248,.78);border-top:1px dashed rgba(199,154,78,.28);padding-top:18px}
[data-common-ui="1"] .luna-actions a.lu-line-btn{text-decoration:none}
/* 占いの説明モーダル（占い状態とは独立） */
[data-common-ui="1"] .luna-about{position:fixed;inset:0;z-index:60;display:none}
[data-common-ui="1"] .luna-about.is-active{display:block}
[data-common-ui="1"] .luna-about__overlay{position:absolute;inset:0;background:rgba(8,5,18,.72);backdrop-filter:blur(3px)}
[data-common-ui="1"] .luna-about__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,560px);max-height:80vh;overflow:auto;background:#171232;border:1px solid rgba(199,154,78,.4);border-radius:16px;padding:30px 26px 26px;box-shadow:0 18px 60px rgba(0,0,0,.5)}
[data-common-ui="1"] .luna-about__close{position:absolute;top:10px;right:12px;appearance:none;background:transparent;border:none;color:rgba(240,236,248,.7);font-size:22px;cursor:pointer;padding:6px}
[data-common-ui="1"] .luna-about__sec{margin-bottom:16px}
[data-common-ui="1"] .luna-about__sec h3{font-size:13px;letter-spacing:.14em;color:#d4b46a;margin:0 0 6px}
[data-common-ui="1"] .luna-about__sec p{font-size:13.5px;line-height:2;letter-spacing:.03em;color:rgba(240,236,248,.88);margin:0}
/* 共通UI: ロゴは主要操作のためSPでも表示（既存の非表示ルールをスコープ付きで上書き。
   フラグの無い診断は従来どおり=SP非表示のまま） */
@media (max-width: 600px) {
	[data-common-ui="1"] .luna-fortune-brand { display: inline-flex; gap: 10px; }
	[data-common-ui="1"] .luna-fortune-brand__jp { font-size: 19px; }
	[data-common-ui="1"] .luna-fortune-brand__en { font-size: 15px; }
}
@media (max-width: 375px) {
	[data-common-ui="1"] .luna-fortune-head { display: flex; }
}
/* 共通UI: 結果アクションのボタン文言は改行させない（改行NG恒久ルール） */
[data-common-ui="1"] .luna-actions .lu-line-btn span { white-space: nowrap; }
/* 共通UI: 結果アクション配置（上段=詳しく見る全幅／下段=もう一度占う・シェアする・他の占いへ の3等分）
   ※luna-immersive.css（後読み）の .luna-imm .luna-actions .lu-line-btn{flex:1;min-width:180px} に勝つため
   　.luna-imm[data-common-ui="1"] で詳細度を上げる */
.luna-imm[data-common-ui="1"] .luna-actions--common { display: flex; flex-wrap: wrap; }
.luna-imm[data-common-ui="1"] .luna-actions--common .lu-act-full { flex: 1 1 100%; min-width: 100%; }
.luna-imm[data-common-ui="1"] .luna-actions--common .lu-line-btn:not(.lu-act-full) { flex: 1 1 0; min-width: 0; padding-left: 12px; padding-right: 12px; }
@media (max-width: 600px) {
	.luna-imm[data-common-ui="1"] .luna-actions--common .lu-line-btn:not(.lu-act-full) { font-size: 12px; letter-spacing: .03em; padding: 13px 4px; gap: 4px; }
}
/* 共通UI: 説明モーダルのステップ形式（既存占いの流れリストと同型・スコープ限定） */
[data-common-ui="1"] .luna-about__title{font-family:"Shippori Mincho","Shippori Mincho B1",serif;font-size:19px;letter-spacing:.14em;color:#f3ecff;text-align:center;margin:2px 0 18px}
[data-common-ui="1"] .luna-about__flow{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}
[data-common-ui="1"] .luna-about__step{display:flex;gap:12px;align-items:flex-start}
[data-common-ui="1"] .luna-about__step span{flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(226,198,126,.6);border-radius:50%;color:#eccf8b;font-size:14px}
[data-common-ui="1"] .luna-about__step p{margin:2px 0 0;font-size:13.5px;line-height:1.9;letter-spacing:.03em;color:rgba(240,236,248,.88)}
[data-common-ui="1"] .luna-about__step b{display:block;font-size:13px;letter-spacing:.1em;color:#d4b46a;margin-bottom:3px}
[data-common-ui="1"] .luna-about__note{font-size:12px;line-height:1.8;letter-spacing:.03em;color:rgba(240,236,248,.6);margin:0}
/* 共通UI: シェア完了ポップアップ（小型・中央・背景を覆いすぎない） */
[data-common-ui="1"] .luna-share-pop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:70;width:min(88vw,340px);background:linear-gradient(180deg,#271c44,#1d1534);border:1px solid rgba(212,180,106,.5);border-radius:16px;padding:22px 18px 16px;box-shadow:0 18px 60px rgba(0,0,0,.55);text-align:center;animation:lunaSharePopIn .3s ease both}
[data-common-ui="1"] .luna-share-pop__close{position:absolute;top:8px;right:10px;appearance:none;border:0;background:transparent;color:#c4b3e0;font-size:20px;cursor:pointer;padding:4px 8px}
[data-common-ui="1"] .luna-share-pop__msg{margin:0 0 6px;font-family:"Shippori Mincho","Shippori Mincho B1",serif;font-size:14.5px;letter-spacing:.06em;color:#f5eeff}
[data-common-ui="1"] .luna-share-pop__sub{margin:0 0 14px;font-size:12px;letter-spacing:.05em;color:rgba(240,236,248,.72)}
[data-common-ui="1"] .luna-share-pop__actions{display:flex;gap:10px;justify-content:center}
[data-common-ui="1"] .luna-share-pop__actions .lu-line-btn{flex:1 1 0;min-width:0;padding:11px 8px;font-size:12.5px}

@keyframes lunaSharePopIn{from{opacity:0}to{opacity:1}}
/* 共通UI: シェアポップアップ内ボタンの装飾（.luna-actionsスコープ外のため明示定義。
   Xで投稿する=金色背景 / 閉じる=暗色ピル（UA既定の白ボタンを解消） */
[data-common-ui="1"] .luna-share-pop__actions .lu-line-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid rgba(226,198,126,.75);background:rgba(22,15,46,.55);color:#f2e8cd;font-family:"Shippori Mincho","Shippori Mincho B1",serif;letter-spacing:.12em;cursor:pointer;text-decoration:none;transition:filter .2s ease,transform .2s ease}
[data-common-ui="1"] .luna-share-pop__actions .lu-line-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
[data-common-ui="1"] .luna-share-pop__actions .lu-line-btn--gold{border-color:#f3e2a8;color:#fdf6df;background:rgba(212,180,106,.28);box-shadow:0 0 20px rgba(240,214,140,.35)}
