/**
 * Mother.N Horoscope - fortune pages
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

/* 占いのテーマ一覧：外側の枠・地はなし。カード1枚ずつに枠 */
.theme-list{margin-top:8px}
.fortune-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fortune-menu-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:26px 28px;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.fortune-menu-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #3d648924}
.fortune-menu-card:last-child:nth-child(odd){grid-column:1/-1}
.fortune-symbol{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--deep);font-size:28px;line-height:1}
.fortune-menu-card .kicker{font-size:12px}
.fortune-menu-card h2{font-size:22px;line-height:1.55}
.fortune-menu-card .menu-desc{margin-top:8px;color:var(--muted);font-size:16px;line-height:1.85}
.fortune-menu-card .start{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:5px 18px;border-radius:50px;background:var(--accent);color:var(--btn-ink);font-size:15px;font-weight:700;letter-spacing:.06em;text-shadow:0 1px 2px #3d648966}
.fortune-menu-card:hover .start{background:var(--accent-hover)}

/* 占うページ：人物を選ぶ枠と結果 */
.fortune-workspace{margin-top:4px}
.fortune-profile-panel{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;align-items:end;gap:14px}
.fortune-profile-panel:has(.fortune-profile-field:only-of-type){grid-template-columns:minmax(240px,1fr) auto}
.fortune-profile-field label{display:block;font-size:16px;color:var(--deep)}
.fortune-start{width:auto;min-width:220px;min-height:52px;margin:0;padding-inline:26px}
.fortune-empty{margin-top:24px;text-align:center}
.fortune-empty h2{font-size:23px}
.fortune-empty p{margin:8px auto 20px;color:var(--muted);font-size:16px}
.fortune-result:not(:empty){margin-top:30px}
.fortune-menu-return{margin-top:28px}
.fortune-menu-return[hidden]{display:none}
.fortune-caution{margin:18px auto 0;max-width:720px;color:var(--muted);font-size:13px;line-height:1.8;text-align:center}
.fortune-workspace>.alert{margin-top:24px}

/* 占い結果 */
.reading-header{margin-bottom:22px;text-align:center}
.reading-header p{margin:0;font-family:"Libre Baskerville",Georgia,serif;font-size:14px;letter-spacing:.08em;color:var(--deep)}
.reading-header p::before{content:"";display:inline-block;width:7px;height:7px;background:var(--accent);transform:rotate(45deg);margin-right:9px;vertical-align:1px}
.reading-header h2{margin:6px 0 2px;font-size:28px}
.reading-header small{color:var(--muted);font-size:14px}
/* 結果のカード：組み合わせが占いごとに変わるため、1枚ずつ横幅いっぱいに並べてそろえる */
.reading-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.reading-card{padding:24px 30px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 5px 22px #3d648910}
.reading-card.is-wide{grid-column:1/-1}
.reading-card h3{margin:0 0 10px;color:var(--deep);font-size:19px}
.reading-card h3 span{margin-right:8px;color:var(--accent)}
.reading-card p{margin:8px 0;color:var(--ink);font-size:16px;line-height:1.9}
.reading-card small{color:var(--muted)}
.reading-tip{padding:13px 16px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:var(--cream)}
.reading-detail{padding-top:10px;border-top:1px dotted var(--line)}
.aspect-line{color:var(--deep)!important;font-size:14px!important}
.reading-list{margin:0;padding-left:1.25em}
.reading-list li{margin:8px 0;color:var(--ink);font-size:16px;line-height:1.85}
.star-rating{display:flex;justify-content:center;gap:5px;margin:8px 0 16px;color:#d8dfe8;font-size:24px}
.star-rating .is-on{color:var(--accent-hover)}
.reading-note{margin:22px 0 0;color:var(--muted);font-size:14px;text-align:center}
.aspect-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aspect-pill{padding:4px 12px;border:1px solid var(--line);border-radius:50px;background:#fffffd;color:var(--deep);font-size:13px}
.aspect-pill.is-hard{border-color:#ecc9c4;color:#9a4a42}
.aspect-reading-list{display:grid;gap:10px;margin-top:18px}
.aspect-reading{padding:14px 16px;border-radius:12px;background:var(--cream)}
.aspect-reading h4{margin:0 0 5px;color:var(--deep);font-size:16px}
.aspect-reading h4 small{font-weight:400}
.aspect-reading p{margin:0}
.transit-list{display:grid;gap:10px;margin-top:15px}
.transit-event{padding:12px 15px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:var(--cream)}
.transit-event.is-hard{border-left-color:#d98f86;background:#fff4ef}
.transit-event p{margin:3px 0}
.detail-table{width:100%;border-collapse:collapse;font-size:15px}
.detail-table th,.detail-table td{padding:9px 8px;border-bottom:1px dotted var(--line);text-align:left}
.detail-table th{color:var(--deep)}

@media(max-width:860px){
  .fortune-menu{grid-template-columns:minmax(0,1fr)}
  .fortune-menu-card:last-child:nth-child(odd){grid-column:auto}
  .fortune-profile-panel,.fortune-profile-panel:has(.fortune-profile-field:only-of-type){grid-template-columns:minmax(0,1fr)}
  .fortune-start{width:100%}
  .reading-grid{grid-template-columns:minmax(0,1fr)}
  .reading-card.is-wide{grid-column:auto}
}
@media(max-width:700px){
  .fortune-menu-card{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 18px}
  .fortune-symbol{width:44px;height:44px;font-size:22px}
  .fortune-menu-card h2{font-size:20px}
  .reading-card{padding:20px 16px}
  .reading-header h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.fortune-menu-card{transition:none}}
@media print{
  .fortune-profile-panel,.fortune-menu-return{display:none!important}
  .reading-card{box-shadow:none;break-inside:avoid}
}
