:root{--paper:#faf8ee;--ink:#453b34;--muted:#716b63;--blue:#4f7599;--line:#cadbec;--soft:#edf4fb;--accent:#efb96c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans-serif;font-size:18px;line-height:1.95}a{color:var(--blue);text-underline-offset:4px}a:focus-visible,summary:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.6}h2{font-size:27px}h3{font-size:21px}p+p{margin-top:13px}section{scroll-margin-top:22px}.page{max-width:1100px;margin:auto;padding:24px 28px 36px}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted)}.topline a{text-decoration:none;color:var(--muted)}.hero{display:flex;align-items:center;justify-content:center;gap:27px;padding:28px 0 33px}.brand{font-size:14px;color:var(--muted);margin-bottom:5px}.hero h1{font-size:32px;letter-spacing:.03em}.hero .lead{font-size:17px;margin-top:7px}
.panel{border:1px solid var(--line);border-radius:24px;padding:30px;background:#fbfdff;box-shadow:0 5px 22px #adc4db1b;min-width:0}.kicker{font-size:14px;letter-spacing:.06em;color:var(--blue);font-weight:700;margin-bottom:5px}.birth-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:35px;align-items:center}.birth-lead{font-size:18px;color:var(--muted);margin-top:10px}.keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.keywords span{font-size:15px;padding:3px 11px;border-radius:50px;background:#f7edd0;color:#806522}.input-help{font-size:16px;color:var(--muted);margin-top:23px}.birth-form{min-width:0}.birth-form fieldset{padding:0;border:0;min-width:0;margin:0}.birth-form legend{font-size:17px;margin-bottom:10px}.input-group{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:12px}.input-group label,.time-fields label,.gender-label{display:block;min-width:0;font-size:17px;color:var(--blue)}select{display:block;width:100%;max-width:100%;min-width:0;appearance:none;-webkit-appearance:none;height:52px;border:1px solid #d9b98d;border-radius:10px;color:var(--ink);background-color:#fffdf8;background-image:linear-gradient(45deg,transparent 50%,#80522b 50%),linear-gradient(135deg,#80522b 50%,transparent 50%);background-position:calc(100% - 14px) 23px,calc(100% - 9px) 23px;background-size:5px 5px;background-repeat:no-repeat;padding:8px 27px 8px 10px;margin-top:5px;font:inherit;font-size:18px}.birth-form .field-space{margin-top:20px}.radio-row{display:flex;flex-wrap:wrap;gap:12px 24px}.radio-row label{cursor:pointer}input[type=radio]{accent-color:var(--blue);width:18px;height:18px;vertical-align:middle}.time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.time-fields[hidden]{display:none}.primary,.retry{display:block;background:var(--accent);color:#493629;border:0;border-radius:50px;padding:12px 18px;font:inherit;font-size:19px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}.primary{width:100%;margin-top:23px}.primary:hover,.retry:hover{background:#e8a347}.input-note{font-size:14px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.9}.small-text{font-size:15px;color:var(--muted);line-height:1.9;margin-top:12px}.error{font-size:18px;color:#82372c;background:#fff0e7;border:1px solid #cf927e;border-radius:12px;padding:15px;margin-bottom:18px}.intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.intro-grid h2{font-size:22px}.intro-grid p:last-child{font-size:17px;margin-top:10px}.type-gallery{margin-top:24px;background:#fffdfa}.section-lead{color:var(--muted);font-size:17px;margin:8px 0 18px}.type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.type-tile{border:1px solid #dbe2db;border-radius:17px;background:#fffef9;min-width:0}.type-tile summary{padding:14px 9px;text-align:center;cursor:pointer;list-style:none}.type-tile summary::-webkit-details-marker{display:none}.type-tile summary>span:last-child{display:block;font-size:14px;line-height:1.8}.stem-symbol{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:42px;line-height:1.5;color:var(--element-ink)}.type-tile[open]{grid-column:span 2}.type-tile[open] summary{background:var(--element-soft);border-radius:17px 17px 0 0}.type-tile>div{padding:18px}.type-tile h3{font-size:19px;margin-bottom:9px}.type-tile p{font-size:17px}.element-0{--element-ink:#5f8061;--element-soft:#eef4e8}.element-1{--element-ink:#ac6355;--element-soft:#fbeae2}.element-2{--element-ink:#92732f;--element-soft:#fbf2d9}.element-3{--element-ink:#687a8d;--element-soft:#eff2f6}.element-4{--element-ink:#4f7599;--element-soft:#eaf3fd}
.result{background:linear-gradient(135deg,#edf5ff,#f9fcff 68%);text-align:center;padding:30px}.birthday{font-size:17px;color:var(--muted)}.result-stem{margin:21px auto 17px;display:grid;place-items:center;width:96px;height:96px;border-radius:24px;background:var(--element-soft);border:1px solid #cddccf;color:var(--element-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:60px;line-height:1}.result h2{font-size:28px}.result-lead{font-size:18px;margin-top:10px}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:25px}.signature{background:#fff;border:1px solid #d9e3ee;border-radius:18px;padding:20px 14px;min-width:0}.signature.white{background:#fafbfc}.signature.yellow{background:#fffdf5;border-color:#e8ddb8}.role{font-size:15px;color:var(--muted)}.signature strong{display:block;font-size:25px;margin:6px 0}.signature>p:last-child{font-size:16px;line-height:1.85}.result-note,.boundary-inline{font-size:16px;line-height:1.85;margin-top:22px;padding:14px 17px;background:#fff9e9;border-radius:12px;text-align:left}.section-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:21px 0 26px}.section-nav a{display:inline-block;text-decoration:none;border:1px solid var(--line);background:#fffdf8;border-radius:50px;padding:8px 17px;font-size:17px}.section-nav a:hover{background:var(--soft)}.explanation h2{font-size:24px}.three-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:21px}.three-roles div{border-left:3px solid #bad0e7;padding-left:13px;font-size:17px}.three-roles strong{display:block;font-size:18px;margin-bottom:6px;color:var(--blue)}.spaced{margin-top:24px}.traits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}.trait{background:#fffef9}.trait.white{background:#fafcfe}.trait h2{font-size:25px;margin-bottom:15px}.trait h3,.panel>h3{font-size:21px;margin:17px 0 10px}.trait p{font-size:18px}.action{margin-top:20px;background:#eef5fc;border-radius:14px;padding:17px 19px;font-size:18px}.action strong{display:block;font-size:17px;color:var(--blue);margin-bottom:8px}.god-reading+.god-reading{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.term-badge{display:inline-block;font-size:14px;font-weight:400;white-space:nowrap;color:var(--blue);background:var(--soft);padding:2px 10px;border-radius:50px;margin-left:10px}.section-heading{margin:32px 0 17px}.section-heading p:last-child{font-size:17px;color:var(--muted);margin-top:6px}.caution{background:#fff9ec;border-color:#e8ddb8}.caution h2{margin-bottom:12px}.element-bars{display:grid;gap:15px;margin:23px 0}.element-row{display:grid;grid-template-columns:34px minmax(0,1fr) 58px;align-items:center;gap:15px;font-size:18px}.element-row strong{color:var(--element-ink)}.bar-track{height:18px;border-radius:20px;background:#eceee9;overflow:hidden}.bar-track span{display:block;height:100%;background:var(--element-ink);border-radius:20px}.element-row>span{font-size:16px;text-align:right;font-variant-numeric:tabular-nums}.annual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.annual{padding:25px}.annual h3{font-size:24px}.year-theme{font-size:19px;font-weight:bold;margin:16px 0 10px!important}.annual p{font-size:17px}.inline-detail{margin-top:21px;font-size:15px;color:var(--muted)}summary{cursor:pointer}details p{margin-top:14px}.luck-detail,.chart-detail{margin-top:22px}.luck-detail>summary,.chart-detail>summary{font-weight:700;color:var(--blue);font-size:18px}.luck-detail+.luck-detail{border-top:1px solid var(--line);padding-top:21px}.table-scroll{overflow-x:auto;max-width:100%;margin-top:20px;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.8}th,td{border-bottom:1px solid var(--line);padding:13px;text-align:left;vertical-align:top}th{background:#edf4fb;font-weight:700}tr:last-child td,tr:last-child th{border-bottom:0}.chart-table{min-width:650px}.chart-table th:first-child{width:160px}.chart-table td{min-width:95px}.luck-table{min-width:520px}.luck-table td:first-child{width:190px}.luck-table td:nth-child(2){width:65px;white-space:nowrap}.luck-table p{font-size:16px;margin-top:7px}.chart-empty{margin-top:20px}.boundary-note{background:#fff8e8;border-color:#d6b683;margin-bottom:24px}.boundary-note h2{font-size:25px;margin-bottom:10px}.candidate{margin-top:18px}.candidate>summary{font-size:20px;font-weight:700;border:1px solid var(--line);border-radius:15px;background:#eef5fc;color:var(--blue);padding:16px 20px}.candidate-body{padding-top:22px}.closing{max-width:760px;margin:34px auto 0;text-align:center}.closing p{font-size:18px}.closing .small{font-size:15px;color:var(--muted);margin-top:18px;line-height:1.9}.retry{max-width:340px;margin:21px auto 0;font-size:17px}.method-note{font-size:16px;color:var(--muted);margin:26px auto 0;max-width:850px}.method-body{padding-top:7px}.page-footer{margin-top:27px;padding-top:17px;border-top:1px solid var(--line);text-align:center;font-size:15px;color:var(--muted)}
@media(max-width:980px){.birth-inner{grid-template-columns:minmax(0,1fr);gap:26px}.intro-grid,.annual-grid,.three-roles{grid-template-columns:minmax(0,1fr)}.type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero h1{font-size:29px}}
@media(max-width:700px){.page{padding:20px 14px 30px}.hero{gap:15px;padding:26px 0}.hero h1{font-size:25px;letter-spacing:0}.hero .lead{font-size:16px;line-height:1.8}.brand{font-size:13px}.panel{padding:25px 20px;border-radius:20px}h2{font-size:24px}.input-group{gap:9px}.input-group select{padding-left:8px;font-size:17px}.birth-lead{font-size:18px}.primary{font-size:18px}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-tile[open]{grid-column:1/-1}.result h2{font-size:25px}.result{padding:25px 18px}.signature-grid{grid-template-columns:minmax(0,1fr);gap:12px}.signature{padding:16px 18px;text-align:left}.signature strong{font-size:23px}.section-nav{gap:7px;margin:18px 0 23px}.section-nav a{font-size:15px;padding:7px 12px}.traits-grid{grid-template-columns:minmax(0,1fr);gap:18px}.trait h2{font-size:24px}.element-row{gap:10px}.action{padding:16px}.candidate>summary{font-size:18px}.small-text{font-size:15px}.table-scroll{background:linear-gradient(to left,#4f75990f,transparent 20px)}.section-heading h2{font-size:25px}}
@media(max-width:360px){.page{padding-left:11px;padding-right:11px}.panel{padding:23px 17px}.hero{gap:10px}.hero h1{font-size:22px}.input-group{gap:6px}select{padding-left:6px;font-size:16px}.primary{font-size:17px}.result h2{font-size:23px}.brand{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff;font-size:12px}.page{max-width:none;padding:0}.section-nav,.retry,.method-note,.topline{display:none}.panel{box-shadow:none;padding:15px;break-inside:avoid}.candidate>summary{border:0}.table-scroll{overflow:visible}.chart-table,.luck-table{min-width:0}table{font-size:11px}}

/* 10タイプのキャラクター：透過PNG、正方形を同じ表示幅で配置 */
.type-tile summary{display:flex;flex-direction:column;align-items:center;padding:12px 8px 15px}
.type-character{display:block;width:100%;max-width:148px;aspect-ratio:1;object-fit:contain;margin:0 auto 9px;height:auto}
.type-tile .stem-symbol{font-size:28px;line-height:1.5}
.type-tile[open] .type-character{max-width:148px}
.result-character{display:block;width:260px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:22px auto 20px}
@media(max-width:700px){.type-character{max-width:150px}.result-character{width:230px;margin:20px auto}.type-tile summary{padding:12px 9px 15px}}
@media(max-width:360px){.type-character{max-width:128px}.result-character{width:210px}}

/* 五行キャラクターのヘッダーイラスト */
.hero-art{display:block;width:168px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0}
.hero>div{min-width:0}
@media(max-width:700px){.hero{flex-direction:column;gap:14px;text-align:center}.hero-art{width:140px}}


/* =========================================================
   Mother.N 四柱推命：緑のテーマ（マヤ暦と同じ作り・色だけ緑）
   TOPの四柱推命カード：背景 #eaf1df／ボタン #93ac73
   ========================================================= */
:root{
  --paper:#eaf1df;      /* ページ背景（TOPカードと同じ） */
  --accent:#93ac73;     /* ボタン・飾り（TOPボタンと同じ） */
  --accent-hover:#a6bd88;
  --ink:#38412f;        /* 本文 */
  --muted:#5d6853;      /* 補足の文字 */
  --blue:#4d6436;       /* 見出しラベル・リンク（濃い緑） */
  --line:#cbdab6;       /* 枠線 */
  --soft:#dfe9cf;       /* 淡い緑 */
  --panel:#fbfdf6;      /* カードの地 */
}
.preview{padding:3px 13px;border-radius:50px;background:var(--accent);color:#2f3a26;white-space:nowrap}

/* カード */
.panel{background:var(--panel);border-color:var(--line);box-shadow:0 5px 22px #5d7a3a14}
.type-gallery{background:var(--panel)}
.kicker::before{content:"";display:inline-block;width:7px;height:7px;background:var(--accent);transform:rotate(45deg);margin-right:9px;vertical-align:1px}

/* ボタン：TOPと同じ #93ac73。白文字だと薄く見えるため、マヤ暦と同じく濃い文字にしています */
.primary,.retry{background:var(--accent);color:#2f3a26}
.primary:hover,.retry:hover{background:var(--accent-hover)}
a:focus-visible,summary:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline-color:var(--blue)}
input[type=radio]{accent-color:var(--blue)}

/* 入力欄 */
select{border-color:#b9cb9f;background-color:#fffffa;background-image:linear-gradient(45deg,transparent 50%,#4d6436 50%),linear-gradient(135deg,#4d6436 50%,transparent 50%)}
.keywords span{background:var(--soft);color:#435930}

/* 入力パネル：左の空きに五行のキャラクター */
.birth-intro{text-align:left}
.elements-art{display:block;width:220px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 18px}

/* ヘッダー：TOPから来た人に「同じ場所の続き」と分かるようフクロウを大きく */
.hero{gap:32px;padding:26px 0 30px}
.hero-link{display:block;flex-shrink:0}
.hero-art{width:230px;aspect-ratio:auto}
.brand a{color:inherit;text-decoration:none}

/* 10の基本タイプ：五行ごとの淡い色を下地に */
.type-tile{background:var(--element-soft);border-color:transparent;transition:transform .2s ease,box-shadow .2s ease}
.type-tile summary:hover{transform:translateY(-2px)}
.type-tile:hover{box-shadow:0 6px 18px #5d7a3a1f}
.type-tile[open]{background:#fffffa;border-color:var(--line)}
.type-tile .stem-symbol{font-size:32px}
.type-character{max-width:160px}
.element-0{--element-ink:#4f7a3a;--element-soft:#e4efd6}
.element-1{--element-ink:#b25a46;--element-soft:#fbe6dd}
.element-2{--element-ink:#8f6d24;--element-soft:#f8eed2}
.element-3{--element-ink:#61707f;--element-soft:#eceff2}
.element-4{--element-ink:#3f6f99;--element-soft:#e4effa}

/* 結果の冒頭 */
.result{background:linear-gradient(135deg,#f3f8ea,var(--panel) 70%);border-color:var(--accent)}
.result-lead{color:#4a5540}
.signature,.signature.yellow,.signature.white{background:#fffffa;border-color:var(--line)}
.result-note,.boundary-inline{background:#f1f6e7;border-left:3px solid var(--accent)}
.section-nav a{background:#fffffa;border-color:var(--accent)}
.section-nav a:hover{background:var(--accent);color:#2f3a26}

/* 本文のパーツ */
.three-roles div{border-left-color:var(--accent)}
.three-roles strong{color:var(--blue)}
.trait,.trait.white{background:var(--panel)}
.action{background:#eef4e3;border-left:3px solid var(--accent)}
.action strong{color:var(--blue)}
.term-badge{background:var(--soft);color:var(--blue)}
.caution{background:#fbf7e9;border-color:#e3d7b0}
.god-reading+.god-reading,.luck-detail+.luck-detail{border-color:var(--line)}
th{background:#eef4e3}
.table-scroll,th,td{border-color:var(--line)}
.candidate>summary{background:#eef4e3;border-color:var(--line)}
.boundary-note{background:#fbf7e9;border-color:#d8c48f}
.bar-track{background:#e3e9da}
.page-footer{border-top-color:var(--line)}

/* 「普段のあなた」の見出しにキャラクター（マヤ暦の trait-head と同じ形） */
.trait-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;margin:6px 0 20px}
.trait-character{width:104px;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0}
.trait-head .role{font-size:15px;color:var(--muted);margin-bottom:3px}
.trait-head h3{font-size:23px;margin:0}

/* 長い結果ページの途中にも、自分のキャラクターを小さく */
.section-heading.with-art{display:flex;align-items:center;gap:16px}
.heading-character{width:78px;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0}

@media(max-width:980px){
  .elements-art{width:180px;margin-bottom:12px}
  .birth-intro{text-align:center}
  .birth-intro .keywords{justify-content:center}
}
@media(max-width:700px){
  .hero{flex-direction:column;gap:17px;padding:25px 0 30px}
  .hero-art{width:170px}
  .hero>div{text-align:center}
  .elements-art{width:150px}
  .birth-lead br{display:none}
  .trait-head{gap:13px}
  .trait-character{width:84px}
  .trait-head h3{font-size:21px}
  .heading-character{width:62px}
  .section-heading.with-art{gap:12px}
}
@media(max-width:360px){.hero-art{width:150px}.trait-character{width:72px}.heading-character{width:54px}}
@media(prefers-reduced-motion:reduce){.type-tile,.type-tile summary{transition:none}.type-tile summary:hover{transform:none}}
@media print{body{background:#fff}.hero-art,.heading-character{display:none}}

/* タイトル：九星気学と同じく、左右にフクロウ（右は左右反転して向かい合わせ） */
.hero{display:grid;grid-template-columns:auto minmax(0,auto) auto;grid-template-areas:"left title right" "left lead right";justify-content:center;align-items:center;column-gap:34px;row-gap:6px;padding:26px 0 30px;text-align:center}
.hero-left{grid-area:left}
.hero-right{grid-area:right}
.hero-title{grid-area:title;align-self:end}
.hero .lead{grid-area:lead;align-self:start;margin-top:4px}
.hero-art{width:190px;max-width:none;height:auto;aspect-ratio:auto}
.hero-art.is-mirrored{transform:scaleX(-1)}
.hero h1 .title-tail{display:inline}
@media(max-width:980px){.hero{column-gap:22px}.hero-art{width:150px}}
@media(max-width:700px){
  .hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"left title right" "lead lead lead";column-gap:8px;row-gap:14px;padding:22px 0 28px}
  .hero-title{align-self:center}
  .hero-art{width:84px}
  .hero h1{font-size:24px;line-height:1.45}
  .hero h1 .title-tail{display:block}
  .hero .lead{margin-top:0}
}
@media(max-width:360px){.hero-art{width:68px}.hero h1{font-size:21px}}

/* パンくず：マヤ暦と同じく、タイトルの下・最初のカードの上 */
.crumb{margin:0 0 17px;font-size:14px;color:var(--muted)}
.crumb ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0}
.crumb li{display:flex;align-items:center}
.crumb li+li::before{content:"›";margin:0 10px;color:var(--accent)}
.crumb a{color:var(--blue);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.crumb a:hover{text-decoration-color:var(--blue)}
.crumb [aria-current]{color:var(--ink)}
@media(max-width:700px){.crumb{font-size:13px;margin-bottom:14px}.crumb li+li::before{margin:0 7px}}
@media print{.crumb{display:none}}

/* フォント：TOP・九星気学・マヤ暦と同じ組み合わせ
   本文＝Kosugi Maru／見出し＝Zen Antique Soft／ロゴ・英字ラベル＝Libre Baskerville */
body{font-family:"Kosugi Maru","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.04em}
h1,h2,.result h2,.trait-head h3,.signature strong,.stem-symbol,.year-theme{font-family:"Zen Antique Soft","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400}
.hero h1{font-size:40px;letter-spacing:.12em}
h2{letter-spacing:.06em}
h3{font-weight:700}
.kicker{font-family:"Libre Baskerville",Georgia,serif;font-weight:400;letter-spacing:.08em}
select,button,input{font-family:inherit}

@media(max-width:700px){.hero h1{font-size:26px;letter-spacing:.06em}}
@media(max-width:360px){.hero h1{font-size:22px}}

/* TOPへ戻るボタン：右下に固定。少しスクロールすると表示 */
.to-top{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;height:64px;border-radius:50%;background:var(--accent);color:#2f3a26;text-decoration:none;box-shadow:0 6px 18px #4d64363a;transition:opacity .25s ease,transform .25s ease,background .2s ease}
.to-top:hover{background:var(--accent-hover)}
.to-top-arrow{width:11px;height:11px;border-top:2.5px solid currentColor;border-left:2.5px solid currentColor;transform:rotate(45deg);margin-top:6px}
.to-top-label{font-family:"Libre Baskerville",Georgia,serif;font-size:12px;letter-spacing:.08em;line-height:1}
.to-top.is-hidden{opacity:0;transform:translateY(12px);pointer-events:none}
@media(max-width:700px){.to-top{right:14px;bottom:14px;width:54px;height:54px}.to-top-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.to-top{transition:none}}
@media print{.to-top{display:none}}


/* 日柱のペア：十二支を左、十干を右に並べる */
.result-characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:560px;margin:22px auto 10px;align-items:start}
.result-characters figure{margin:0;min-width:0}
.result-characters .result-character{width:100%;max-width:260px;margin:0 auto 10px}
.result-characters figcaption{font-size:16px;line-height:1.7}
.result-characters figcaption span{display:block;font-size:14px;color:var(--muted)}
.result-characters figcaption strong{display:block;font-size:21px;font-weight:700}
.result .day-pair{margin:0 0 18px;font-size:15px;color:var(--muted)}
@media(max-width:700px){.result-characters{gap:12px;margin-top:20px}.result-characters figcaption strong{font-size:18px}.result-characters figcaption span{font-size:12px}}

