@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Zen+Antique+Soft&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400;1,700&display=swap");

:root{--paper:#faf8ee;--ink:#453b34;--muted:#716b63;--blue:#4f7599;--line:#cadbec;--soft:#edf4fb;--yellow:#947126;--white:#697988}
*{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;line-height:1.95}a{color:var(--blue);text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.6}h2{font-size:24px}h3{font-size:17px}p+p{margin-top:12px}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:12px;color:var(--muted)}.preview{padding:3px 13px;border-radius:50px;background:#eeeade;white-space:nowrap}.hero{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px 0 27px}.hero img{width:138px}.brand{font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.hero h1{font-size:32px;letter-spacing:.04em}.hero .lead{font-size:14px;margin-top:7px}.crumb{font-size:12px;color:var(--muted);margin-bottom:17px;display:flex;flex-wrap:wrap;gap:6px 10px}.crumb span+span:before{content:'›';margin-right:10px;color:#8ba2b5}.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:11px;letter-spacing:.12em;color:var(--blue);font-weight:700;margin-bottom:5px}.result{background:linear-gradient(135deg,#edf5ff,#f9fcff 68%);text-align:center;padding:28px 32px 30px}.birthday{font-size:14px;color:var(--muted)}.kin-row{display:flex;justify-content:center;align-items:center;gap:17px;margin:9px 0 13px}.kin{font-size:68px;color:var(--blue);font-weight:700;line-height:1.2;letter-spacing:.025em}.kin small{font-size:23px;letter-spacing:.1em;margin-right:9px}.black-badge{font-size:12px;border-radius:50px;padding:4px 13px;background:#4d555f;color:#fff;white-space:nowrap}.result h2{font-size:24px;letter-spacing:.025em}.result-lead{font-size:14px;color:#605c56;margin-top:8px}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}.signature{background:#fff;border:1px solid #d9e3ee;border-radius:18px;padding:16px 12px 19px;min-width:0}.signature.yellow{background:#fffdf5;border-color:#e8ddb8}.signature.white{background:#fafbfc;border-color:#d7dfe6}.role{font-size:12px;color:var(--muted);line-height:1.7}.role span{display:block;font-size:11px}.signature img{width:114px;margin:9px auto 5px}.signature h3{font-size:18px}.signature .meaning{font-size:12px;color:var(--muted);margin-top:4px}.tone-art{height:114px;width:114px;border:1px solid #c9daec;border-radius:24px;margin:9px auto 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 50%,#fff 25%,#edf5fc 75%);color:var(--blue)}.tone-art .number{font-size:53px;font-family:Georgia,serif;line-height:1}.tone-art .dots{font-size:19px;line-height:1.4;letter-spacing:5px;padding-left:5px}.tone-art .bar{width:43px;height:5px;border-radius:3px;background:#82a7cb;margin-top:3px}.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:6px 18px;font-size:13px}.section-nav a:hover{background:var(--soft)}.explanation{padding:25px 30px}.explanation h2{font-size:20px}.explanation p{font-size:14px;margin-top:9px}.three-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:16px}.three-roles div{border-left:3px solid #bad0e7;padding-left:13px;font-size:13px}.three-roles strong{display:block;font-size:14px;margin-bottom:2px;color:var(--blue)}.section-heading{margin:32px 0 17px}.section-heading p:last-child{font-size:14px;color:var(--muted);margin-top:4px}.traits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}.trait{padding:26px;background:#fffef9}.trait.white{background:#fafcfe}.trait-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e6dfcd;padding-bottom:20px;margin-bottom:20px}.white .trait-head{border-color:#dce4ec}.trait-head img{width:107px;flex-shrink:0}.trait-head h3{font-size:23px}.trait-head .role{margin-bottom:5px}.keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.keywords span{font-size:11px;padding:2px 10px;border-radius:50px;background:#f7edd0;color:#806522}.white .keywords span{background:#eaf0f5;color:#617382}.trait-body h4{font-size:15px;margin:20px 0 7px}.trait-body h4:first-child{margin-top:0}.trait-body p{font-size:14px;line-height:2}.gentle-note{font-size:13px!important;padding:15px 17px;border-radius:13px;background:#fbf2db;margin-top:20px!important}.white .gentle-note{background:#eef3f7}.gentle-note strong{display:block;font-size:13px;margin-bottom:3px}.tone-section{margin-top:22px;background:#f5f9fe;padding:28px 30px}.tone-heading{display:flex;gap:20px;align-items:center;margin-bottom:21px}.tone-heading .tone-art{width:92px;height:92px;flex-shrink:0;margin:0;border-radius:20px}.tone-heading .number{font-size:42px}.tone-heading .dots{font-size:16px}.tone-heading .bar{width:34px;height:4px}.tone-heading h2{font-size:24px}.tone-heading .keywords span{background:#e5effa;color:var(--blue)}.tone-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.tone-columns h3{font-size:15px;margin-bottom:8px}.tone-columns p{font-size:14px}.focus-note{margin-top:22px;padding:16px 19px;background:#fff;border:1px solid #dce7f3;border-radius:14px;font-size:14px}.focus-note strong{display:block;color:var(--blue);font-size:13px;margin-bottom:3px}.combined{margin-top:22px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:30px;padding:28px 30px}.combined h2{font-size:22px;margin-bottom:10px}.combined p{font-size:14px}.action{margin-top:18px;background:#eef5fc;border-radius:14px;padding:16px 19px;font-size:14px}.action strong{display:block;font-size:13px;color:var(--blue);margin-bottom:5px}.black-note{background:#f1f3f6;border-radius:16px;padding:22px;align-self:start;border:1px solid #e0e4e9}.black-note h3{font-size:17px;margin-bottom:9px}.black-note p{font-size:13px}.relations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.relation{border:1px solid var(--line);background:#fffdfa;border-radius:20px;padding:21px 23px;min-width:0}.relation-top{display:flex;align-items:center;gap:14px;margin-bottom:10px}.relation-top img{width:78px;flex-shrink:0}.relation-label{font-size:11px;color:var(--muted);margin-bottom:4px}.relation h3{font-size:18px}.relation p{font-size:13px}.relation-title{font-size:16px!important;color:var(--blue);margin:0}.relation .pair{display:flex;align-items:center;gap:5px;flex-shrink:0}.pair img{width:59px}.pair .multiply{font-size:12px;color:#8c9bab}.pair-info{font-size:12px!important;color:var(--muted);margin-top:3px!important;line-height:1.7}.relation.mirror,.relation.opposite{background:#f5f9fe}.relation-note{font-size:12px;color:var(--muted);margin-top:13px}.closing{max-width:720px;margin:34px auto 0;text-align:center}.closing p{font-size:14px}.closing .small{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.9}.page-footer{margin-top:27px;padding-top:17px;border-top:1px solid var(--line);text-align:center;font-size:11px;color:var(--muted)}
@media(max-width:900px){.page{padding:22px 22px 30px}.trait{padding:23px}.trait-head{gap:11px}.trait-head img{width:83px}.trait-head h3{font-size:20px}.combined{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:23px}.relation{padding:20px}.relation-top{gap:10px}.relation-top img{width:66px}.pair img{width:45px}}
@media(max-width:700px){.page{padding:17px 14px 27px}.topline{font-size:11px}.hero{gap:14px;padding:25px 0 24px}.hero img{width:99px}.hero h1{font-size:25px;letter-spacing:0}.brand{font-size:10px}.hero .lead{font-size:12px;line-height:1.8}.crumb{font-size:10px;gap:4px 7px}.crumb span+span:before{margin-right:7px}.panel{border-radius:20px;padding:23px 20px}.result{padding:24px 16px}.birthday{font-size:12px}.kin{font-size:57px}.kin small{font-size:19px}.kin-row{gap:13px}.black-badge{font-size:11px;padding:3px 10px}.result h2{font-size:20px}.result-lead{font-size:13px}.signature-grid{gap:7px;margin-top:20px}.signature{padding:12px 5px 14px;border-radius:13px}.role{font-size:10px}.role span{font-size:9px}.signature img{width:78px;margin-top:10px}.signature h3{font-size:14px;line-height:1.6}.signature .meaning{font-size:10px;line-height:1.6}.tone-art{width:78px;height:78px;border-radius:17px;margin-top:10px}.tone-art .number{font-size:38px}.tone-art .dots{font-size:14px}.tone-art .bar{width:31px;height:4px}.section-nav{gap:7px;margin:17px 0 22px}.section-nav a{font-size:12px;padding:5px 12px}.explanation h2{font-size:19px}.three-roles{grid-template-columns:minmax(0,1fr);gap:11px}.three-roles div{font-size:12px}.three-roles strong{font-size:13px}.section-heading{margin:27px 3px 14px}h2{font-size:22px}.section-heading p:last-child{font-size:13px}.traits-grid{grid-template-columns:minmax(0,1fr);gap:18px}.trait-head{gap:16px}.trait-head img{width:97px}.trait-head h3{font-size:22px}.trait-head .role{font-size:12px}.trait-body h4{margin-top:18px}.trait-body p{font-size:14px}.tone-section{margin-top:18px}.tone-heading{gap:15px}.tone-heading h2{font-size:22px}.tone-heading .tone-art{width:78px;height:78px}.tone-columns{grid-template-columns:minmax(0,1fr);gap:19px}.tone-columns h3{margin-bottom:5px}.combined{grid-template-columns:minmax(0,1fr);gap:21px;margin-top:18px}.combined h2{font-size:21px}.black-note{padding:18px}.relations-grid{grid-template-columns:minmax(0,1fr);gap:14px}.relation{padding:20px}.relation-top{gap:14px}.relation-top img{width:74px}.pair img{width:52px}.closing{margin-top:27px;padding:0 7px}}
@media(max-width:360px){.hero{gap:10px}.hero img{width:78px}.hero h1{font-size:22px}.hero .lead{font-size:11px}.page{padding-left:11px;padding-right:11px}.result{padding-left:11px;padding-right:11px}.signature-grid{gap:5px}.signature img,.signature .tone-art{width:70px;height:70px}.signature h3{font-size:12px}.signature .role{font-size:9px}.result h2{font-size:18px}.panel{padding:21px 17px}.result{padding:23px 11px}.trait-head img{width:84px}.trait-head h3{font-size:20px}.relation{padding:18px}.pair img{width:43px}.relation h3{font-size:17px}.relation-top{gap:11px}}
@media(max-width:700px){.hero h1 .title-tail{display:block}.signature .meaning{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff}.page{max-width:none;padding:0}.preview,.section-nav{display:none}.panel,.relation{box-shadow:none}.trait,.relation,.black-note{break-inside:avoid}.hero{padding-top:0}a{color:inherit}}


/* 本文の読みやすさを優先した文字サイズと余白 */
body{font-size:18px;line-height:1.95}
.topline,.preview,.crumb,.brand{font-size:14px}
.hero .lead{font-size:17px}
.kicker{font-size:14px;letter-spacing:.06em}
.birthday{font-size:18px}
.black-badge{font-size:16px;padding:5px 15px}
.result h2{font-size:28px}
.result-lead{font-size:18px;line-height:1.9}
.signature{padding:20px 14px 23px}
.signature .role{font-size:16px}
.signature .role span{font-size:15px}
.signature img{width:135px;margin-top:13px}
.signature h3{font-size:23px}
.signature .meaning{font-size:16px;line-height:1.8;margin-top:8px}
.signature .tone-art{width:135px;height:135px;margin-top:13px}
.signature .tone-art .number{font-size:60px}
.section-nav a{font-size:17px;padding:8px 19px}
.explanation h2{font-size:24px}
.explanation p,.trait-body p,.tone-columns p,.combined p,.focus-note,.action,.relation p,.closing p{font-size:18px;line-height:1.95}
.three-roles{gap:20px;margin-top:21px}
.three-roles div{font-size:18px;line-height:1.9}
.three-roles strong{font-size:18px;margin-bottom:6px}
.section-heading h2{font-size:28px}
.section-heading p:last-child{font-size:18px}
.trait-head{padding-bottom:23px;margin-bottom:23px}
.trait-head h3{font-size:26px}
.trait-head .role{font-size:15px;line-height:1.8}
.keywords{gap:8px;margin-top:12px}
.keywords span{font-size:15px;padding:3px 11px}
.trait-body h4{font-size:20px;margin:27px 0 10px}
.trait-body p{line-height:2}
.gentle-note{font-size:18px!important;line-height:1.95!important;padding:18px 19px}
.gentle-note strong{font-size:18px;margin-bottom:7px}
.tone-heading h2{font-size:28px}
.tone-columns h3{font-size:20px;margin-bottom:11px}
.focus-note strong,.action strong{font-size:17px;margin-bottom:8px}
.combined{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.combined h2{font-size:27px;margin-bottom:14px}
.black-note h3{font-size:22px}
.black-note p{font-size:18px;line-height:1.95}
.relation{padding:24px}
.relation-top{gap:17px;margin-bottom:15px}
.relation-label{font-size:15px!important;line-height:1.8!important;margin-bottom:5px}
.relation h3{font-size:24px}
.relation-title{font-size:23px!important}
.pair-info{font-size:16px!important;line-height:1.8!important;margin-top:6px!important}
.relation-note{font-size:17px;line-height:1.9;margin-top:19px}
.closing .small{font-size:16px;line-height:2}
.page-footer{font-size:15px}
@media(max-width:900px){.tone-columns{grid-template-columns:minmax(0,1fr);gap:23px}.three-roles{grid-template-columns:minmax(0,1fr);gap:17px}.combined{grid-template-columns:minmax(0,1fr)}.black-note{max-width:none}}
@media(max-width:700px){
  .page{padding:20px 14px 30px}
  .topline,.preview,.brand,.crumb{font-size:14px}
  .preview{padding:4px 10px;white-space:normal;max-width:220px;text-align:center}
  .hero{gap:15px;padding:26px 0}
  .hero img{width:82px}
  .hero h1{font-size:26px}
  .hero .lead{font-size:16px;line-height:1.9}
  .brand{font-size:14px;line-height:1.7}
  .crumb{line-height:1.8;gap:4px 7px}
  .panel{padding:25px 20px}
  .result{padding:25px 18px}
  .birthday{font-size:17px}
  .black-badge{font-size:15px}
  .result h2{font-size:24px}
  .result-lead{font-size:17px}
  .signature-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:25px}
  .signature{display:grid;grid-template-columns:100px minmax(0,1fr);grid-template-areas:"art role" "art name" "art meaning";align-items:center;column-gap:17px;row-gap:3px;padding:18px;text-align:left}
  .signature .role{grid-area:role;font-size:15px}
  .signature .role span{display:inline;font-size:14px;margin-left:6px}
  .signature img,.signature .tone-art{grid-area:art;width:100px;height:100px;margin:0;align-self:center}
  .signature h3{grid-area:name;font-size:23px}
  .signature .meaning{grid-area:meaning;display:block;font-size:16px;margin:0;line-height:1.8}
  .signature .tone-art .number{font-size:48px}
  .signature .tone-art .dots{font-size:17px}
  .signature .tone-art .bar{width:39px;height:5px}
  .section-nav{gap:9px;margin:21px 0 25px}
  .section-nav a{font-size:16px;padding:7px 15px}
  .explanation h2{font-size:23px}
  .section-heading h2,.tone-heading h2{font-size:26px}
  .section-heading p:last-child{font-size:17px}
  .trait-head{gap:16px}
  .trait-head img{width:92px}
  .trait-head h3{font-size:25px}
  .trait-head .role{font-size:15px}
  .tone-heading{gap:16px;align-items:flex-start}
  .tone-heading .tone-art{width:80px;height:80px}
  .tone-heading h2{font-size:25px}
  .combined h2{font-size:25px}
  .relation{padding:23px 20px}
  .relation-top{gap:15px}
  .relation-top img{width:75px}
  .relation .pair{gap:3px}
  .relation .pair img{width:46px}
  .relation h3{font-size:23px}
  .closing{padding:0 4px}
}
@media(max-width:360px){
  .page{padding-left:11px;padding-right:11px}
  .hero{gap:11px}.hero img{width:67px}.hero h1{font-size:24px}.hero .lead{font-size:16px}
  .panel{padding:24px 17px}.result{padding:25px 15px}
  .result h2{font-size:23px}
  .signature{grid-template-columns:82px minmax(0,1fr);column-gap:12px;padding:16px 12px}
  .signature img,.signature .tone-art{width:82px;height:82px}
  .signature h3{font-size:22px}
  .signature .role span{display:block;margin-left:0}
  .trait-head img{width:78px}.trait-head{gap:13px}.trait-head h3{font-size:24px}
  .tone-heading{gap:12px}.tone-heading .tone-art{width:65px;height:75px}.tone-heading h2{font-size:23px}
  .relation{padding:22px 17px}.relation-top{gap:12px}.relation .pair img{width:39px}
}


/* 指定のクリーム色とオレンジでページ全体を統一 */
:root{--paper:#fcf0da;--accent:#eeb05b;--ink:#493629;--muted:#79634f;--blue:#80522b;--line:#ecd0a8;--soft:#fbe5c2;--yellow:#80522b;--white:#79634f}
.preview{background:var(--accent);color:var(--ink)}
.panel{background:#fffcf6;box-shadow:0 5px 22px #a86a1610}
.result{background:linear-gradient(135deg,#fff5e3,#fffcf6 70%);border-color:var(--accent)}
.result-lead{color:#6b513b}
.black-badge{background:#5a483a}
.signature,.signature.yellow,.signature.white{background:#fffdf8;border-color:#efd2a6}
.tone-art{border-color:var(--accent);background:radial-gradient(circle at 50% 50%,#fffdf8 25%,#fce7c7 80%)}
.tone-art .bar{background:var(--accent)}
.section-nav a{background:#fffaf0;border-color:var(--accent)}
.section-nav a:hover{background:var(--accent);color:var(--ink)}
.kicker::before{content:"";display:inline-block;width:7px;height:7px;background:var(--accent);transform:rotate(45deg);margin-right:9px;vertical-align:1px}
.three-roles div{border-left-color:var(--accent)}
.trait,.trait.white{background:#fffcf6}
.trait-head,.white .trait-head{border-bottom-color:#edd5b3}
.keywords span,.white .keywords span,.tone-heading .keywords span{background:#fbe7c8;color:#79512d}
.gentle-note,.white .gentle-note{background:#fbe9cc;border-left:3px solid var(--accent)}
.tone-section{background:#fff6e7;border-color:var(--accent)}
.focus-note{background:#fffdf8;border-color:#efd2a6}
.action{background:#fbe9cc;border-left:3px solid var(--accent)}
.black-note{background:#f5e8d2;border-color:#e8ccaa}
.relation{background:#fffcf6}
.relation.mirror,.relation.opposite{background:#fff4e2}
.pair .multiply{color:#987348}
.crumb span+span:before{color:#a37a48}
@media print{body{background:#fff}}


.seal-name-single-line{white-space:nowrap}
@media(max-width:780px) and (min-width:701px){.result{padding-left:12px;padding-right:12px}.signature-grid{gap:10px}.signature{padding-left:8px;padding-right:8px}}
@media(max-width:780px){.trait.white .trait-head{flex-direction:column;align-items:flex-start;gap:15px}.trait.white .trait-head>div{width:100%}}
@media(max-width:700px){.signature.white{grid-template-areas:"art role" "name name" "meaning meaning";row-gap:9px}.signature.white .seal-name-single-line{margin-top:3px}}


.hero{gap:32px;padding:26px 0 30px}
.hero img{width:230px;flex-shrink:0}
@media(max-width:700px){
  .hero{flex-direction:column;gap:17px;padding:25px 0 30px}
  .hero img{width:170px}
  .hero>div{text-align:center}
  .hero h1 .title-tail{display:inline}
}
@media(max-width:360px){.hero img{width:160px}}

/* Entry page and working birthday form */
.topline a{text-decoration:none;color:var(--muted)}
.entry-page{max-width:1200px}
.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"today seals" "birth birth";gap:24px;align-items:start}
.today{grid-area:today;background:#fff5e5;border-color:var(--accent);padding:26px}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.today-heading h2,.seals h2,.birth h2{font-size:27px}
.today-heading time{font-size:16px;color:var(--muted)}
.today .kin-row{justify-content:flex-start;margin:20px 0}
.today-signatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}
.today-signatures>div{background:#fffdf8;border-radius:13px;padding:12px 6px;text-align:center}
.today-signatures dt{font-size:14px;color:var(--muted)}
.today-signatures dd{font-size:17px;margin:5px 0 0;line-height:1.7;font-weight:bold}
.today-signatures .tone-name{display:block;font-size:14px;font-weight:normal;color:var(--muted)}
.cycle{font-size:16px;color:var(--muted);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:21px}
.cycle p+p{margin-top:3px}.cycle strong{color:var(--ink)}
.today-theme{font-size:23px;margin-bottom:12px}.today-intro,.reading-expanded{font-size:18px}
.reading-more{margin-top:24px}.reading-more summary{display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid var(--line);font-size:18px;color:var(--blue);font-weight:bold;cursor:pointer;list-style:none;gap:8px}
.reading-more summary::-webkit-details-marker{display:none}.reading-more summary:after{content:'＋';font-size:23px}.reading-more[open] summary:after{content:'−'}
.reading-expanded{padding-top:16px}.today-relation{border-top:1px dashed var(--line);padding-top:20px;margin-top:23px}.today-relation h3{font-size:19px;margin-bottom:10px}.today-relation p{font-size:17px}.today-relation .relation-title{font-size:21px!important}
.seals{grid-area:seals;padding:26px}.section-lead{font-size:17px;color:var(--muted);margin:7px 0 18px}
.seal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.seal-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-width:0;appearance:none;background:#fffdf8;color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:10px 5px 11px;font:inherit;cursor:pointer}
.seal-tile img{width:103px}.seal-label{font-size:15px;line-height:1.65;white-space:nowrap;font-weight:700}.seal-tile:hover{background:#fbe9cc}.seal-tile.is-today{border:2px solid var(--accent);padding:9px 4px 10px}
.seal-foot{font-size:15px;color:var(--muted);margin-top:18px;display:flex;gap:8px;align-items:flex-start}.today-marker{display:inline-block;width:13px;height:13px;border:2px solid var(--accent);border-radius:3px;flex-shrink:0;margin-top:7px}
.birth{grid-area:birth;scroll-margin-top:25px}.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}.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{display:block;min-width:0;font-size:17px;color:var(--blue)}
.input-group select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;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}
.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:18px}.primary span{padding-left:7px}.primary:hover,.retry:hover{background:#e8a347}.input-note{font-size:14px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.9}.error{font-size:18px;color:#82372c;background:#fff0e7;border:1px solid #cf927e;border-radius:12px;padding:15px;margin-bottom:18px}
button:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.retry{max-width:320px;margin:21px auto 0;font-size:17px}.combined.no-black{grid-template-columns:minmax(0,1fr)}
.seal-popover{width:min(540px,calc(100vw - 30px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid var(--accent);border-radius:22px;background:#fffaf0;color:var(--ink);box-shadow:0 14px 60px #50381833;font:inherit;line-height:1.95}
.seal-popover::backdrop{background:#49362955}.popover-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.popover-close{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:#fbe9cc;font:inherit;font-size:26px;color:var(--blue);cursor:pointer;flex-shrink:0}.seal-popover>img{width:145px;margin:8px auto 15px}.seal-popover h2{font-size:26px;white-space:nowrap}.seal-popover p{font-size:18px;margin-top:17px}.seal-popover .kicker{font-size:14px;margin:0}.popover-role{font-size:16px!important;border-top:1px solid var(--line);padding-top:17px}
.method-note{font-size:15px;color:var(--muted);margin:26px auto 0;max-width:850px}.method-note summary{cursor:pointer}.method-note p{font-size:16px;padding-top:12px}.preview-notice{background:#fbe9cc;border-radius:13px;padding:15px;font-size:16px;margin-bottom:18px}
@media(max-width:1050px) and (min-width:981px){.seal-grid{gap:8px}.seal-label{font-size:14px}.today-signatures dd{font-size:16px}}
@media(max-width:980px){.entry-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"today" "birth" "seals"}.birth-inner{grid-template-columns:minmax(0,1fr);gap:23px}.seal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.seal-tile img{width:115px}.today-signatures dd{font-size:19px}}
@media(max-width:780px){.trait.long-seal .trait-head{flex-direction:column;align-items:flex-start;gap:15px}.trait.long-seal .trait-head>div{width:100%}}
@media(max-width:700px){.today,.seals{padding:24px 20px}.today-heading h2,.seals h2,.birth h2{font-size:25px}.today-signatures{grid-template-columns:minmax(0,1fr)}.today-signatures>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;text-align:left}.today-signatures dt{font-size:15px}.today-signatures dd{font-size:18px;margin:0;text-align:right;white-space:nowrap}.today-signatures dd span{display:inline;margin-left:8px;font-size:15px}.cycle{font-size:16px}.seal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.seal-tile img{width:115px}.seal-label{font-size:16px}.seal-foot{font-size:15px}.input-group{gap:9px}.input-group select{padding-left:8px;font-size:18px}.birth-lead{font-size:18px}.seal-popover{padding:22px}.seal-popover h2{font-size:25px}.signature.long-seal{grid-template-areas:"art role" "name name" "meaning meaning";row-gap:9px}.signature.long-seal h3{margin-top:3px}.relation.long-seal .relation-top{flex-direction:column;align-items:flex-start}}
@media(max-width:360px){.today,.seals{padding:22px 17px}.today-signatures>div{padding:10px}.today-signatures dt{font-size:14px}.today-signatures dd{font-size:17px}.today-signatures dd span{font-size:14px}.seal-label{font-size:14px}.seal-tile img{width:100px}.input-group select{font-size:17px;padding-left:6px;padding-right:20px}.primary{font-size:18px}.seal-popover h2{font-size:23px}}

/* Today's seals use the same supplied artwork as the gallery and results. */
.today-signatures .today-art{width:102px;height:102px;margin:12px auto 9px}
.today-art img{width:100%;height:100%;object-fit:contain}
.today-art .tone-art{width:100%;height:100%;margin:0;border-radius:20px}
.today-signatures .today-art .tone-art span{margin-left:0}
.today-art .tone-art .number{font-size:48px;line-height:1;color:var(--blue);font-weight:normal}
.today-art .tone-art .dots{font-size:18px;line-height:1.4;color:var(--blue);font-weight:normal}
.today-art .tone-art .bar{width:38px;height:4px}
.today-name{display:block;white-space:nowrap;font:inherit}
.today-signatures.has-long-seal{grid-template-columns:repeat(2,minmax(0,1fr))}
.today-signatures.has-long-seal>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 102px minmax(0,1fr);align-items:center;gap:12px;text-align:left}
.today-signatures.has-long-seal>div:last-child dd{display:contents}
.today-signatures.has-long-seal>div:last-child .today-art{margin:0}
@media(max-width:700px){
 .today-signatures,.today-signatures.has-long-seal{grid-template-columns:minmax(0,1fr)}
 .today-signatures>div,.today-signatures.has-long-seal>div:last-child{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:3px;align-items:center;text-align:left;padding:13px}
 .today-signatures dt{grid-column:2;grid-row:1;align-self:end}
 .today-signatures dd{display:contents}
 .today-signatures .today-art{grid-column:1;grid-row:1/3;width:84px;height:84px;margin:0}
 .today-signatures .today-name{grid-column:2;grid-row:2;align-self:start;text-align:left;font-size:18px}
 .today-signatures .tone-name{display:block;margin:0;font-size:15px}
 .today-art .tone-art .number{font-size:40px}
}
@media(max-width:360px){
 .today-signatures>div,.today-signatures.has-long-seal>div:last-child{grid-template-columns:62px minmax(0,1fr);column-gap:10px;padding:10px}
 .today-signatures .today-art{width:62px;height:62px}
 .today-signatures .today-name{font-size:17px}
 .today-art .tone-art{border-radius:14px}
 .today-art .tone-art .number{font-size:30px}
 .today-art .tone-art .dots{font-size:15px}
 .today-art .tone-art .bar{width:28px;height:3px}
}
.reading-expanded>h3{font-size:19px;line-height:1.7;margin:22px 0 8px}

/* Mother.N 共通ヘッダー：ロゴ・メニュー・左右のキツネ */
.maya-site-header{width:100%;max-width:1044px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 6px;color:var(--ink)}
.maya-site-logo{display:flex;flex-direction:column;align-items:center;flex-shrink:0;color:var(--ink);text-decoration:none;line-height:1}
.maya-logo-name{font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-weight:700;font-size:38px;letter-spacing:.01em}
.maya-logo-sub{font-family:"Kosugi Maru","Yu Gothic",sans-serif;font-size:12px;letter-spacing:.42em;margin-top:8px;padding-left:.42em}
.maya-gnav{flex:1;min-width:0;font-family:"Kosugi Maru","Yu Gothic",sans-serif}
.maya-gnav ul{display:flex;justify-content:flex-end;align-items:center;gap:6px 38px;margin:0;padding:0;list-style:none}
.maya-gnav a,.maya-gnav span{display:block;padding:6px 3px 7px;font-size:17px;letter-spacing:.12em;white-space:nowrap;color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
.maya-gnav a:hover{border-bottom-color:var(--line)}
.maya-gnav a.is-current{border-bottom-color:var(--accent)}
.maya-gnav [aria-disabled="true"]{cursor:default}
.maya-hero{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;grid-template-areas:"left title right" "lead lead lead";align-items:center;justify-content:center;column-gap:38px;row-gap:12px;padding:40px 0 30px;text-align:center}
.maya-hero-fox{display:block;width:230px;max-width:100%;height:auto;justify-self:center}
.maya-hero-left{grid-area:left;transform:scaleX(-1)}
.maya-hero-right{grid-area:right}
.maya-hero-title{grid-area:title;min-width:0}
.maya-hero h1{font-family:"Zen Antique Soft","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400;font-size:40px;line-height:1.55;letter-spacing:.1em;overflow-wrap:anywhere}
.maya-hero h1 .title-tail{display:block}.maya-title-phrase{display:inline-block;white-space:nowrap}
.maya-hero-lead{grid-area:lead;margin:0;font-family:"Kosugi Maru","Yu Gothic",sans-serif;font-size:17px;line-height:1.85;letter-spacing:.06em}
@media(max-width:1050px){.maya-gnav ul{gap:6px 22px}.maya-gnav a,.maya-gnav span{font-size:15px;letter-spacing:.06em}.maya-hero{column-gap:22px;grid-template-columns:190px minmax(0,1fr) 190px}.maya-hero-fox{width:190px}.maya-hero h1{font-size:34px}}
@media(max-width:800px){.maya-site-header{flex-direction:column;gap:14px}.maya-gnav ul{justify-content:center;gap:6px 23px}.maya-hero{padding-top:28px;column-gap:15px;grid-template-columns:135px minmax(0,1fr) 135px}.maya-hero-fox{width:135px}.maya-hero h1{font-size:30px;letter-spacing:.05em}}
@media(max-width:600px){.maya-title-phrase{display:block}.maya-site-header{gap:11px}.maya-logo-name{font-size:32px}.maya-logo-sub{font-size:11px}.maya-gnav{width:100%}.maya-gnav ul{justify-content:center;gap:5px 11px;flex-wrap:wrap}.maya-gnav a,.maya-gnav span{padding:5px 1px;font-size:13px;letter-spacing:.01em}.maya-hero{grid-template-columns:62px minmax(0,1fr) 62px;column-gap:8px;row-gap:16px;padding:27px 0 26px}.maya-hero-fox{width:62px}.maya-hero h1{font-size:25px;letter-spacing:.04em;line-height:1.6}.maya-hero-lead{font-size:15px;line-height:1.85;letter-spacing:.01em}}
@media(max-width:360px){.maya-gnav ul{gap:5px 8px}.maya-gnav a,.maya-gnav span{font-size:12px}.maya-hero{grid-template-columns:52px minmax(0,1fr) 52px;column-gap:5px}.maya-hero-fox{width:52px}.maya-hero h1{font-size:22px;letter-spacing:.02em}.maya-hero-lead{font-size:14px}}
@media print{body{background:#fff}.maya-gnav,.maya-hero-fox{display:none}.maya-site-header{justify-content:center}.maya-hero{display:block;padding:20px 0}.maya-hero-lead{margin-top:12px}}

