:root{
  --bg:#fbf7f4;
  --panel:#fffdfb;
  --ink:#3f323c;
  --muted:#7a6e77;
  --line:#eadde5;
  --accent:#8f5d7d;
  --accent2:#6b405c;
  --accent-soft:#f5e9f0;
  --rose:#d9a9bd;
  --rose-soft:#fff1f5;
  --lavender:#ddd2eb;
  --lavender-soft:#f5f0fa;
  --gold:#bd9250;
  --gold-soft:#fff8e8;
  --sage:#7d9b87;
  --sage-soft:#eef6f0;
  --danger:#a8535d;
  --danger-soft:#fff0f1;
  --shadow:0 16px 42px rgba(83,56,74,.09);
  --shadow-small:0 8px 24px rgba(83,56,74,.07);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",YuMincho,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
}

html{scroll-behavior:smooth;scroll-padding-top:105px}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 12%,rgba(218,181,199,.16) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 22%,rgba(197,158,85,.12) 0 1.5px,transparent 2.5px),
    linear-gradient(180deg,#fdfaf8 0,#fbf7f4 45%,#f8f2f0 100%);
  background-size:52px 52px,72px 72px,auto;
  font-family:var(--sans);
  line-height:1.78;
  letter-spacing:.015em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.38) 1px,transparent 1px);
  background-size:100% 5px;
  z-index:-1;
}
a{color:var(--accent2);text-underline-offset:3px}
a:hover{color:var(--accent)}
button,input,select,textarea{font-family:inherit}
img{max-width:100%;height:auto}

.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:10px 16px;background:#fff;color:var(--accent2);border:2px solid var(--accent);border-radius:8px;font-weight:800;transition:top .2s}
.skip-link:focus{top:16px}

.site-topline{
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:4px 16px;
  color:#72536a;
  background:#f7eaf0;
  border-bottom:1px solid #ead6df;
  font-size:12px;
  letter-spacing:.08em;
}
.site-topline span{color:var(--gold)}
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,253,251,.94);
  border-bottom:1px solid rgba(225,207,217,.92);
  box-shadow:0 7px 22px rgba(83,56,74,.04);
  backdrop-filter:blur(14px);
}
.site-header-inner{
  width:min(1180px,calc(100% - 36px));
  min-height:78px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.site-brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;flex:none}
.site-brand:hover{color:var(--ink)}
.site-brand-mark{display:block;filter:drop-shadow(0 5px 8px rgba(91,55,80,.11))}
.site-brand-copy{display:grid;line-height:1.05}
.site-brand-copy strong{font-family:var(--serif);font-size:25px;letter-spacing:.12em;font-weight:700}
.site-brand-copy small{margin-top:6px;color:#9a7c8e;font-size:9px;letter-spacing:.28em;font-weight:700}
.site-navigation{display:flex;align-items:center;gap:18px;margin-left:auto}
.site-nav-groups{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.site-nav-group{position:relative;margin:0}
.site-nav-group-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 29px 12px 12px;
  border:0;
  background:transparent;
  color:#5c4d56;
  font:inherit;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.site-nav-group-toggle::before{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:5px;
  height:2px;
  background:var(--rose);
  transition:left .2s,right .2s;
}
.site-nav-group-toggle::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-67%) rotate(45deg);
  transition:transform .18s;
}
.site-nav-group:hover>.site-nav-group-toggle::before,
.site-nav-group:focus-within>.site-nav-group-toggle::before,
.site-nav-group.is-open>.site-nav-group-toggle::before,
.site-nav-group.has-active-item>.site-nav-group-toggle::before{left:12px;right:12px}
.site-nav-group.has-active-item>.site-nav-group-toggle{color:var(--accent2)}
.site-nav-group.is-open>.site-nav-group-toggle::after{transform:translateY(-32%) rotate(225deg)}
.site-nav-group-toggle:focus-visible{outline:3px solid rgba(143,93,125,.24);outline-offset:1px;border-radius:8px}
.site-nav-dropdown{
  position:absolute;
  left:50%;
  top:calc(100% - 3px);
  z-index:30;
  min-width:250px;
  padding:10px;
  background:#fffdfb;
  border:1px solid #eadde4;
  border-radius:14px;
  box-shadow:0 18px 38px rgba(71,45,61,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s,transform .16s,visibility .16s;
}
.site-nav-submenu{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.site-nav-submenu li{margin:0}
.site-nav-submenu a{
  display:block;
  padding:11px 12px;
  border-radius:9px;
  color:#5c4d56;
  text-decoration:none;
  font-size:12.5px;
  font-weight:750;
  white-space:nowrap;
}
.site-nav-submenu a:hover,
.site-nav-submenu a:focus-visible{background:#f8edf2;color:var(--accent2)}
.site-nav-submenu a.is-active{background:#f4e7ee;color:var(--accent2)}
@media(min-width:901px){
  .site-nav-group:hover>.site-nav-dropdown,
  .site-nav-group:focus-within>.site-nav-dropdown,
  .site-nav-group.is-open>.site-nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
}
.nav-calculator-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:43px;
  padding:0 16px;
  color:#fff;
  background:var(--accent);
  border:1px solid var(--accent);
  border-radius:999px;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(111,66,94,.18);
}
.nav-calculator-link:hover{color:#fff;background:var(--accent2)}
.nav-calculator-link span{color:#f7dfaa}
.menu-toggle{display:none}

.site-main{min-height:60vh}
.container,.content-container{width:min(1120px,calc(100% - 36px));max-width:none;margin:0 auto;padding:0}

.home-hero{
  position:relative;
  isolation:isolate;
  width:min(1180px,calc(100% - 36px));
  min-height:420px;
  margin:30px auto 22px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  align-items:center;
  gap:30px;
  padding:52px clamp(28px,5vw,70px);
  overflow:hidden;
  background:#fffaf8;
  border:1px solid #ead7e1;
  border-radius:28px 28px 70px 28px;
  box-shadow:var(--shadow);
}
.home-hero::before,.home-hero::after{content:"";position:absolute;border-radius:50%;z-index:-1}
.home-hero::before{width:340px;height:340px;right:-130px;top:-145px;background:rgba(220,199,231,.36)}
.home-hero::after{width:250px;height:250px;left:-130px;bottom:-150px;background:rgba(241,213,221,.47)}
.hero-copy{max-width:680px}
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#956f84;font-size:13px;font-weight:850;letter-spacing:.14em}
.hero-eyebrow::before{content:"";width:37px;height:1px;background:var(--gold)}
.home-hero h1{margin:0;font-family:var(--serif);font-size:clamp(34px,5vw,60px);line-height:1.38;letter-spacing:.055em;font-weight:700;color:#4b3945}
.home-hero h1 em{font-style:normal;color:var(--accent)}
.hero-lead{max-width:610px;margin:20px 0 0;color:#6f626b;font-size:16px;line-height:1.9}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:27px}
.hero-primary,.hero-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:999px;text-decoration:none;font-weight:850}
.hero-primary{color:#fff;background:var(--accent);box-shadow:0 10px 23px rgba(111,66,94,.2)}
.hero-primary:hover{color:#fff;background:var(--accent2)}
.hero-secondary{color:var(--accent2);background:#fff;border:1px solid #dcbfce}
.hero-secondary:hover{background:var(--rose-soft)}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}
.hero-tags span{padding:5px 11px;border:1px solid #ead7e1;border-radius:999px;background:rgba(255,255,255,.72);color:#826477;font-size:11px;font-weight:750}
.hero-art{position:relative;display:grid;place-items:center;min-height:300px}
.hero-orbit{position:relative;width:min(300px,72vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(151,105,132,.34);box-shadow:inset 0 0 0 20px rgba(250,237,243,.56),0 22px 46px rgba(91,55,80,.1);background:radial-gradient(circle at 45% 38%,#fff 0 18%,#f8edf3 48%,#ead9e4 100%)}
.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;inset:12%;border:1px dashed rgba(180,142,163,.54);border-radius:50%}
.hero-orbit::after{inset:27%;border-style:solid;border-color:rgba(189,146,80,.3)}
.hero-nine-grid{position:absolute;inset:24%;display:grid;grid-template-columns:repeat(3,1fr);gap:11%;transform:rotate(8deg)}
.hero-nine-grid i{display:block;aspect-ratio:1;border-radius:50%;background:#bc87a3;box-shadow:0 5px 12px rgba(111,66,94,.17)}
.hero-nine-grid i:nth-child(5){background:#704660;transform:scale(1.22);box-shadow:inset 0 0 0 5px #f6e8ef,0 8px 16px rgba(111,66,94,.22)}
.hero-spark{position:absolute;color:var(--gold);font-size:28px;filter:drop-shadow(0 5px 9px rgba(179,134,68,.2))}
.hero-spark.one{top:3%;right:15%}.hero-spark.two{bottom:12%;left:4%;font-size:18px}.hero-spark.three{right:1%;bottom:29%;font-size:14px}

.feature-strip{width:min(1120px,calc(100% - 36px));margin:0 auto 24px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:rgba(255,253,251,.82);box-shadow:var(--shadow-small)}
.feature-strip a{display:flex;align-items:center;gap:12px;min-height:88px;padding:18px 20px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line)}
.feature-strip a:last-child{border-right:0}
.feature-strip a:hover{background:#fff7fa}
.feature-icon{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--serif);font-size:17px}
.feature-strip strong{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.04em}.feature-strip small{display:block;margin-top:2px;color:var(--muted);font-size:11px}

.panel{
  position:relative;
  margin-top:22px;
  padding:clamp(22px,3vw,34px);
  background:rgba(255,253,251,.96);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-small);
}
.panel::before{content:"";position:absolute;left:32px;right:32px;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--rose),var(--gold),transparent);opacity:.64}
.panel h2{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-family:var(--serif);font-size:clamp(21px,3vw,28px);line-height:1.45;letter-spacing:.06em;font-weight:700;color:#4d3b46}
.panel h2::before{content:"✦";display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;color:var(--gold);background:var(--gold-soft);font-family:var(--sans);font-size:13px}
.panel h3{font-family:var(--serif);letter-spacing:.03em}
.calculator-panel{scroll-margin-top:112px}
.calculator-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:-7px 0 24px;padding-bottom:18px;border-bottom:1px solid #efe4ea}
.calculator-intro p{max-width:720px;margin:0;color:var(--muted);font-size:14px}.calculator-step{flex:none;color:#b48b9f;font-family:var(--serif);font-size:13px;letter-spacing:.13em}
.input-pair{gap:18px}
.input-box{padding:20px;background:#fffafc;border:1px solid #ead9e2;border-radius:14px;box-shadow:none}
.input-box h3{display:flex;align-items:center;gap:9px;margin:0 0 17px;color:#5d4453;font-size:18px}
.input-box h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rose)}
label{color:#665560;font-size:12px;letter-spacing:.03em}
input,select,textarea{border:1px solid #d9c6d1;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);box-shadow:inset 0 1px 2px rgba(77,49,66,.035)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(180,126,156,.18);border-color:#b987a2}
.check-row{color:#725c69}.check-row input{accent-color:var(--accent)}
.notice{background:#fff9ec;border:1px solid #ead5aa;border-left:3px solid var(--gold);color:#715f3f;border-radius:8px;font-size:12px}
.input-actions{margin-top:20px}
button{border-radius:9px}
.primary{background:var(--accent);box-shadow:0 8px 18px rgba(111,66,94,.18)}
.primary:hover{background:var(--accent2)}
.secondary{background:var(--accent-soft);color:var(--accent2);border:1px solid #dbc3d1}
.secondary:hover{background:#eedde6}
.quick-nav{justify-content:center;margin-top:16px}
.quick-nav button{background:#fff;color:#75566a;border:1px solid #dfcbd5;border-radius:999px;font-size:12px}
.quick-nav button:hover{background:var(--rose-soft)}
.api-status{text-align:center;color:#8a7482}
.loading-box{background:#fffafc;border-color:#ddc8d4;color:#8a7482}

.identity-banner,.summary-grid{gap:16px}
.identity-card,.summary-card{background:#fffafc;border:1px solid #ead9e2;border-radius:13px;box-shadow:none}
.identity-card::after{background:rgba(202,157,181,.14)}
.identity-card .label,.summary-card .kicker{color:#95778a}
.identity-card .star,.summary-card .main{font-family:var(--serif);color:#4f3847}
.profile-meta div{border-color:#eadde4;border-radius:9px;background:#fff}
.good-star-card,.bad-summary-card,.personal-summary-card,.teii-summary-card,.relation-summary-card{border-radius:13px;box-shadow:none}
.good-star-card{background:#f8fcf9;border-color:#cddfd3}.good-star-card h3{color:#4f735e}
.bad-summary-card{background:#fff8f8;border-color:#e7c9cd}.bad-summary-card h3{color:#8d4e57}
.personal-summary-card{background:#fbf8ff;border-color:#ddd2e8}.personal-summary-card h3{color:#6d567e}
.teii-summary-card{background:#f5fbfa;border-color:#c9dfdc}.teii-summary-card h3{color:#4c7772}
.good-star-explain,.bad-explain,.personal-explain,.teii-explain,.step-note{border-radius:9px;box-shadow:none}

.overlap-stage{background:#fcf7f4;border:1px solid #e6d8d1;border-radius:15px}
.overlap-card{background:#fffdfb;border-color:#eaded7;border-radius:15px;box-shadow:0 8px 18px rgba(81,62,54,.05)}
.overlap-date-tab{border-radius:9px}.overlap-date-tab.active{background:var(--accent);border-color:var(--accent);box-shadow:none}
.overlap-kicker.year{background:#a55e72}.overlap-kicker.month{background:#789e9f}.overlap-kicker.day{background:#c4954b}
.overlap-common{border-color:#ead9ce}.overlap-common h3{color:#79576b}
.adjacent-card{background:#fffdfb;border-color:#e6dce2;border-radius:13px}
.adjacent-card .small-btn,.overlap-apply-btn{background:var(--accent-soft);color:var(--accent2);border-color:#dcc5d2}
.important-days-table th{background:#f6ebf1;color:#694c5d}
.important-days-table td{background:#fff}.important-days-table td:first-child{background:#fffafc}
.important-days-table .date-link{color:#84506f}

.method{background:#fffaf5}
.method p{max-width:920px}

.editorial-links{width:min(1120px,calc(100% - 36px));margin:24px auto 54px}
.section-heading{margin:0 0 18px;text-align:center}
.section-heading span{display:block;margin-bottom:6px;color:#a07890;font-size:11px;letter-spacing:.18em;font-weight:800}
.section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(24px,4vw,34px);letter-spacing:.07em;color:#4b3945}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.editorial-card{position:relative;min-height:205px;padding:27px;background:#fffdfb;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-small);overflow:hidden}
.editorial-card::after{content:"";position:absolute;width:105px;height:105px;right:-38px;bottom:-42px;border-radius:50%;background:var(--accent-soft)}
.editorial-card:hover{transform:translateY(-3px);color:var(--ink);box-shadow:var(--shadow);transition:.2s}
.editorial-card .card-kicker{color:#aa7d95;font-size:11px;letter-spacing:.15em;font-weight:850}
.editorial-card h3{position:relative;z-index:1;margin:10px 0 10px;font-family:var(--serif);font-size:21px}.editorial-card p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:13px}.editorial-card strong{position:absolute;left:27px;bottom:23px;color:var(--accent);font-size:12px}

.page-hero{position:relative;overflow:hidden;isolation:isolate;width:min(1120px,calc(100% - 36px));margin:30px auto 0;padding:42px clamp(25px,5vw,58px);background:linear-gradient(135deg,#fffaf8 0%,#fffdfb 55%,#f7efea 100%);border:1px solid var(--line);border-radius:24px 24px 58px 24px;box-shadow:var(--shadow-small)}
.page-hero::before{content:"";position:absolute;right:-34px;top:-36px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 36% 34%,rgba(255,255,255,.95),rgba(255,255,255,.45) 32%,transparent 33%),radial-gradient(circle,rgba(143,93,125,.18),rgba(143,93,125,.06) 57%,transparent 58%);opacity:.92;pointer-events:none;z-index:0}
.page-hero::after{content:"";position:absolute;right:52px;top:36px;width:176px;height:104px;background:radial-gradient(circle,rgba(143,93,125,.23) 0 2px,transparent 2.5px) 0 0/34px 34px,linear-gradient(140deg,transparent 0 47%,rgba(143,93,125,.13) 48% 52%,transparent 53%) 0 0/58px 36px repeat;opacity:.38;pointer-events:none;z-index:0}
.page-hero>*{position:relative;z-index:1}.page-hero>*:not(.hero-ornament){max-width:min(760px,calc(100% - 250px))}
.page-hero .page-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;border:1px solid rgba(160,120,144,.18);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(5px);box-shadow:0 8px 18px rgba(92,56,77,.06);color:#a0758e;font-size:11px;letter-spacing:.17em;font-weight:850}
.page-hero .page-kicker::before{content:"✦";font-size:11px;line-height:1;color:#be93ac}
.page-hero h1{margin:0;max-width:min(740px,calc(100% - 210px));font-family:var(--serif);font-size:clamp(32px,5vw,50px);line-height:1.36;letter-spacing:.05em;color:#4a3844;text-wrap:balance}
.page-hero p{max-width:720px;margin:15px 0 0;color:var(--muted);font-size:15px;line-height:1.9}
.hero-ornament{position:absolute;right:40px;top:50%;z-index:1;width:210px;height:170px;transform:translateY(-50%);pointer-events:none}
.hero-ornament span{position:absolute;display:flex;align-items:center;justify-content:center}
.hero-orb{border-radius:50%;font-family:var(--serif);font-weight:700;letter-spacing:.02em;box-shadow:0 10px 22px rgba(81,51,69,.12)}
.hero-orb-a{left:12px;top:58px;width:56px;height:56px;background:linear-gradient(135deg,#f2dee9,#fff);border:1px solid #e4cfd9;color:#7f5870;font-size:22px}
.hero-orb-b{left:86px;top:18px;width:46px;height:46px;background:linear-gradient(135deg,#f4eadb,#fff);border:1px solid #eadcc4;color:#8a6e45;font-size:18px}
.hero-orb-c{left:148px;top:74px;width:38px;height:38px;background:linear-gradient(135deg,#e1f0e6,#fff);border:1px solid #cfe0d4;color:#4f7f60;font-size:16px}
.hero-link{position:absolute;display:block;height:1px;background:linear-gradient(90deg,rgba(143,93,125,.16),rgba(143,93,125,.35));transform-origin:left center}
.hero-link-a{left:56px;top:82px;width:72px;transform:rotate(-28deg)}
.hero-link-b{left:118px;top:56px;width:66px;transform:rotate(34deg)}
.hero-caption{right:0;bottom:0;display:grid;place-items:center;min-width:118px;min-height:74px;padding:10px 14px;border:1px solid rgba(143,93,125,.18);border-radius:18px;background:rgba(255,255,255,.8);backdrop-filter:blur(6px);box-shadow:0 14px 28px rgba(75,54,67,.08);color:#684d5e;font-size:13px;font-weight:800;line-height:1.55;text-align:center}
.hero-spark{border-radius:50%;background:rgba(143,93,125,.18)}
.hero-spark-a{left:0;top:24px;width:8px;height:8px}.hero-spark-b{left:148px;top:0;width:6px;height:6px}.hero-spark-c{right:12px;bottom:62px;width:10px;height:10px}

.breadcrumb{width:min(1120px,calc(100% - 36px));margin:16px auto 0}.breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0;color:#887985;font-size:11px}.breadcrumb li+li::before{content:"›";margin-right:7px;color:#b9a3b0}.breadcrumb a{text-decoration:none}
.content-layout{width:min(1120px,calc(100% - 36px));margin:22px auto 58px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}
.article-body{padding:clamp(25px,4vw,48px);background:#fffdfb;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-small)}
.article-body h2{margin:2.2em 0 .75em;padding-bottom:10px;border-bottom:1px solid #eadde4;font-family:var(--serif);font-size:26px;letter-spacing:.05em;color:#543f4c}.article-body h2:first-child{margin-top:0}.article-body h3{margin:1.8em 0 .55em;font-family:var(--serif);font-size:20px;color:#654b5a}.article-body p{margin:0 0 1.25em}.article-body ul,.article-body ol{padding-left:1.35em}.article-body li+li{margin-top:.5em}.article-note{margin:24px 0;padding:18px 20px;background:#fff8eb;border-left:3px solid var(--gold);border-radius:8px;color:#6a593e}.article-summary{display:grid;gap:10px;margin:23px 0;padding:20px;background:var(--lavender-soft);border:1px solid #ded3e7;border-radius:12px}.article-summary strong{color:#664c75}
.sidebar-card{padding:20px;background:#fffdfb;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-small)}.sidebar-card+.sidebar-card{margin-top:17px}.sidebar-card h2{margin:0 0 12px;font-family:var(--serif);font-size:17px;color:#553f4d}.sidebar-card a{display:block;padding:8px 0;border-bottom:1px solid #f0e7ec;text-decoration:none;font-size:13px}.sidebar-card a:last-child{border-bottom:0}.sidebar-cta{background:#f7ecf2}.sidebar-cta p{font-size:12px;color:var(--muted)}.sidebar-cta .hero-primary{width:100%;min-height:43px;padding:0 15px;font-size:12px}
.policy-meta{padding:12px 15px;background:#f8f1f5;border-radius:8px;color:var(--muted);font-size:12px}

.contact-form{display:grid;gap:16px}.contact-form textarea{min-height:190px;resize:vertical}.required{margin-left:5px;color:#a94f5b;font-size:11px}.form-help{color:var(--muted);font-size:11px}.form-message{padding:15px 17px;border-radius:9px}.form-message.success{background:var(--sage-soft);border:1px solid #c2d8c8;color:#456451}.form-message.error{display:block;background:var(--danger-soft);border:1px solid #e5bcc1;color:#88464e}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.site-footer{margin-top:60px;color:#eee4ea;background:#493744;border-top:4px solid #b986a2}.site-footer-inner{width:min(1120px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:1.15fr 1.85fr;gap:70px;padding:48px 0 40px}.site-brand-footer{color:#fff}.site-brand-footer:hover{color:#fff}.site-brand-footer .site-brand-copy small{color:#d9c0ce}.footer-brand p{max-width:410px;margin:17px 0 0;color:#d6c8d1;font-size:12px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.footer-links h2{margin:0 0 10px;color:#fff;font-family:var(--serif);font-size:15px;letter-spacing:.07em}.footer-links a{display:block;padding:5px 0;color:#ddd0d7;text-decoration:none;font-size:12px}.footer-links a:hover{color:#fff}.site-footer-bottom{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px max(18px,calc((100% - 1120px)/2));color:#c8b8c1;background:#3c2d37;font-size:10px}.site-footer-bottom span{text-align:right}
.sidebar-card.sidebar-cta .hero-primary {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 46px;
  padding: 0 18px;
  box-sizing: border-box;

  border: 0;
  border-radius: 999px;

  background: var(--accent, #8f5d7d);
  color: #fff;

  box-shadow: 0 10px 23px rgba(111, 66, 94, 0.20);

  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.sidebar-card.sidebar-cta .hero-primary:hover {
  background: var(--accent2, #6b405c);
  color: #fff;
  text-decoration: none;
}

.sidebar-card.sidebar-cta .hero-primary:focus-visible {
  outline: 3px solid rgba(143, 93, 125, 0.30);
  outline-offset: 3px;
}
@media(max-width:1080px){
  .site-header-inner{gap:18px}.site-navigation{gap:10px}.site-nav-group-toggle{padding-left:9px;padding-right:25px;font-size:12px}.site-nav-group-toggle::after{right:9px}.nav-calculator-link{padding:0 12px;font-size:12px}
  .home-hero{grid-template-columns:1fr 300px}.feature-strip{grid-template-columns:repeat(2,1fr)}.feature-strip a:nth-child(2){border-right:0}.feature-strip a:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:900px){
  html{scroll-padding-top:82px}.site-topline{display:none}.site-header-inner{min-height:70px}.site-brand-mark{width:46px;height:46px}.site-brand-copy strong{font-size:22px}
  .menu-toggle{display:inline-flex;align-items:center;gap:9px;padding:9px 11px;background:#fff;border:1px solid #dfccd6;color:#6e5262;border-radius:9px}.menu-toggle-lines{display:grid;gap:4px}.menu-toggle-lines i{display:block;width:20px;height:2px;background:currentColor;transition:.2s}.menu-toggle-label{font-size:11px;font-weight:800}
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-toggle-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .site-navigation{position:absolute;left:0;right:0;top:70px;display:none;max-height:calc(100vh - 70px);overflow:auto;padding:10px 18px 20px;background:#fffdfb;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(71,45,61,.12)}
  .site-navigation.is-open{display:block}
  .site-nav-groups{display:block}
  .site-nav-group{border-bottom:1px solid #eee1e8}
  .site-nav-group-toggle{width:100%;min-height:50px;justify-content:space-between;padding:13px 36px 13px 12px;text-align:left;font-size:13px}
  .site-nav-group-toggle::before{display:none}
  .site-nav-group-toggle::after{right:15px}
  .site-nav-dropdown{position:static;display:none;min-width:0;padding:0 8px 10px;background:transparent;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}
  .site-nav-group.is-open>.site-nav-dropdown{display:block}
  .site-nav-submenu{grid-template-columns:1fr 1fr;gap:4px}
  .site-nav-submenu a{padding:11px 10px;background:#fff;border:1px solid #f0e5ea;border-radius:8px;font-size:12px;white-space:normal}
  .nav-calculator-link{width:100%;justify-content:center;margin-top:13px}
  body.menu-open{overflow:hidden}
  body.menu-open::after{
    content:"";
    position:fixed;
    inset:70px 0 0;
    z-index:900;
    background:rgba(42,30,38,.46);
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
    cursor:pointer;
    animation:mobile-menu-backdrop-in .18s ease-out both;
  }
  @keyframes mobile-menu-backdrop-in{from{opacity:0}to{opacity:1}}
  @media(prefers-reduced-motion:reduce){body.menu-open::after{animation:none}}
  .home-hero{grid-template-columns:1fr;min-height:0;padding-top:40px}.hero-art{min-height:250px}.hero-orbit{width:250px}.feature-strip{margin-top:18px}
  .content-layout{grid-template-columns:1fr}.article-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:17px}.sidebar-card+.sidebar-card{margin-top:0}
  .site-footer-inner{grid-template-columns:1fr;gap:35px}.footer-brand p{max-width:none}
}
@media(max-width:860px){.page-hero h1{max-width:none}.page-hero>*:not(.hero-ornament){max-width:none}.page-hero::after{right:28px;top:24px;width:132px;height:86px;opacity:.28}}
@media(max-width:640px){
  .site-header-inner,.home-hero,.feature-strip,.container,.content-container,.page-hero,.breadcrumb,.content-layout,.editorial-links,.site-footer-inner{width:min(100% - 24px,1120px)}
  .site-brand-copy strong{font-size:20px}.site-brand-copy small{font-size:8px}.menu-toggle-label{display:none}
  .home-hero{margin-top:14px;padding:33px 20px;border-radius:20px 20px 42px 20px}.home-hero h1{font-size:34px}.hero-lead{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column}.hero-primary,.hero-secondary{width:100%}.hero-art{min-height:220px}.hero-orbit{width:210px}
  .feature-strip{grid-template-columns:1fr}.feature-strip a{border-right:0;border-bottom:1px solid var(--line)!important;min-height:74px}.feature-strip a:last-child{border-bottom:0!important}
  .panel{padding:20px 16px;border-radius:14px}.panel::before{left:18px;right:18px}.panel h2{align-items:flex-start;font-size:22px}.panel h2::before{width:29px;height:29px}.calculator-intro{display:block}.calculator-step{margin-top:8px}
  .input-box{padding:17px 14px}.input-actions{display:grid;grid-template-columns:1fr}.input-actions button{width:100%}.quick-nav{display:grid;grid-template-columns:1fr 1fr}.quick-nav button{width:100%;padding:10px 5px}
  .editorial-grid{grid-template-columns:1fr}.editorial-card{min-height:180px}.page-hero{padding:31px 20px 34px;border-radius:18px 18px 38px 18px}.page-hero h1{max-width:none;font-size:31px}.article-body{padding:24px 18px}.article-body h2{font-size:23px}.article-sidebar{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr}.site-footer-bottom{display:block;text-align:center;padding:15px 18px}.site-footer-bottom span{display:block;margin-top:6px;text-align:center}
}
@media(max-width:400px){.site-nav-submenu{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr}.home-hero h1{font-size:30px}}

@media print{
  .site-topline,.site-header,.site-footer,.feature-strip,.hero-actions,.editorial-links,.article-sidebar{display:none!important}
  body{background:#fff}.home-hero,.panel,.article-body{box-shadow:none;border:1px solid #bbb}.home-hero{min-height:0;margin:0;width:100%}.container,.content-container,.content-layout{width:100%}
}

/* 九星別・長文記事 */
.star-page-hero{width:min(1120px,calc(100% - 36px));margin:30px auto 0;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:34px;align-items:center;padding:32px;background:linear-gradient(135deg,#fffafc,#f2edf7);border:1px solid var(--line);border-radius:24px 24px 58px 24px;box-shadow:var(--shadow)}
.star-page-hero-copy{padding:10px 0 10px 14px}.star-number-badge{display:inline-flex;align-items:center;gap:9px;margin:0 0 13px;color:#6e5571;font-size:12px;font-weight:800}.star-number-badge span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#547a9a;color:#fff;font-family:var(--serif);font-size:20px;box-shadow:0 5px 12px rgba(64,94,123,.22)}
.star-page-hero h1{margin:0;font-family:var(--serif);font-size:clamp(34px,5vw,52px);line-height:1.38;letter-spacing:.045em;color:#473846}.star-page-lead{margin:18px 0 0;color:#6d606b;font-size:15px;line-height:1.95}.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:21px;color:#897b85;font-size:11px}.star-page-hero-art{margin:0}.star-page-hero-art img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 16px 32px rgba(54,46,79,.16)}.star-page-hero-art figcaption{margin-top:8px;color:#887984;font-size:10px;text-align:center}
.star-article-layout{grid-template-columns:minmax(0,1fr) 280px}.star-article-body{font-size:15px;line-height:1.95}.star-article-body strong{color:#4f3c49}.star-article-body section{scroll-margin-top:105px}.article-disclaimer{margin:0 0 25px;padding:18px 20px;background:#f2f7fa;border:1px solid #d6e3eb;border-radius:12px}.article-disclaimer strong{display:block;margin-bottom:6px;color:#41647f}.article-disclaimer p{margin:0;color:#64727d;font-size:12px}
.article-toc{margin:0 0 35px;padding:23px 25px;background:#faf6fb;border:1px solid #e4d8e8;border-radius:14px}.article-toc>strong{display:block;margin-bottom:10px;color:#674f70;font-family:var(--serif);font-size:17px}.article-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;margin:0;padding-left:1.35em}.article-toc li{margin:0!important;color:#92748a;font-size:12px}.article-toc a{text-decoration:none}.article-toc a:hover{text-decoration:underline}
.star-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}.star-keywords span{padding:7px 12px;background:#edf5f9;border:1px solid #cbdee8;border-radius:999px;color:#4f7188;font-size:11px;font-weight:800}
.article-visual{margin:30px 0}.article-visual img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #e3dce6;background:#faf7fb}.article-visual figcaption{margin-top:9px;color:#887a84;font-size:11px;text-align:center}.wide-visual{margin-left:-12px;margin-right:-12px}
.self-check-box{margin:28px 0;padding:25px;background:#f3f7fa;border:1px solid #d5e2e8;border-radius:16px}.self-check-box h3{margin:0 0 7px!important;color:#45667f}.self-check-box>p{margin-bottom:16px}.self-check-box dl{display:grid;gap:9px;margin:0}.self-check-box dl div{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:10px 12px;background:#fff;border-radius:9px}.self-check-box dt{color:#507790;font-weight:900}.self-check-box dd{margin:0;color:#665f66;font-size:13px}
.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 27px}.idea-grid div{padding:17px;background:#fff7fa;border:1px solid #ecd9e2;border-radius:12px}.idea-grid strong{display:block;margin-bottom:7px;color:#78556b}.idea-grid span{color:#776c74;font-size:12px;line-height:1.7}
.job-list,.spot-list{margin:18px 0 24px;padding:0;list-style:none}.job-list li,.spot-list li{position:relative;margin:0 0 9px!important;padding:13px 15px 13px 42px;background:#fbf9fb;border:1px solid #eee5ea;border-radius:9px}.job-list li::before,.spot-list li::before{content:"✦";position:absolute;left:16px;top:13px;color:#a57b96}.numbered-advice{counter-reset:advice;list-style:none!important;margin:22px 0;padding:0!important}.numbered-advice li{counter-increment:advice;position:relative;margin:0 0 10px!important;padding:16px 17px 16px 58px;background:#fbf8fa;border:1px solid #ebe0e6;border-radius:10px}.numbered-advice li::before{content:counter(advice);position:absolute;left:16px;top:15px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#8b637d;color:#fff;font-weight:900}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:22px 0 28px}.practice-grid div{position:relative;padding:20px 18px 18px 54px;background:#f3f7f9;border:1px solid #d5e2e8;border-radius:13px}.practice-grid span{position:absolute;left:17px;top:18px;color:#80a1b5;font-size:11px;font-weight:900}.practice-grid strong{display:block;margin-bottom:6px;color:#486a81}.practice-grid p{margin:0;color:#6d7378;font-size:12px;line-height:1.7}
.compatibility-list{display:grid;gap:12px;margin:23px 0}.compatibility-list>section{padding:18px 19px;background:#fff;border:1px solid #ebe1e7;border-radius:13px}.compatibility-list h3{margin:0!important;font-size:17px}.compatibility-list p{margin:10px 0 0;color:#6e636b;font-size:13px}.compat-head{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}.star-dot{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;font-family:var(--serif);font-size:19px;font-weight:800}.star-dot.water{background:#567d9f}.star-dot.wood{background:#71957a}.star-dot.fire{background:#b8666b}.star-dot.earth{background:#a98a65}.star-dot.metal{background:#8a8d9b}.rating{display:inline-flex;align-items:center;justify-content:center;min-width:37px;height:28px;border-radius:999px;font-size:14px}.rating.best{background:#e8f5ec;color:#397451}.rating.good{background:#edf4fb;color:#447397}.rating.neutral{background:#f5f0fa;color:#755b86}.rating.caution{background:#fff5df;color:#8b6926}.rating.hard{background:#fff0f1;color:#a34f5a}
.celebrity-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:22px 0}.celebrity-grid article{padding:19px;background:#fbf8fa;border:1px solid #eadfe5;border-radius:12px}.celebrity-grid strong{display:block;color:#5e4556;font-family:var(--serif);font-size:18px}.celebrity-grid span{display:block;margin:4px 0 9px;color:#94798a;font-size:11px}.celebrity-grid p{margin:0;color:#6e656b;font-size:12px}.source-details{margin:18px 0;padding:14px 17px;background:#f7f4f6;border-radius:10px;color:#746a71;font-size:11px}.source-details summary{cursor:pointer;font-weight:800}.source-details ul{margin:12px 0 0}.source-details a{word-break:break-all}
.article-calculator-cta{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin:24px 0;padding:20px 22px;background:linear-gradient(135deg,#70516a,#8e6680);border-radius:14px;color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(90,59,79,.19)}.article-calculator-cta:hover{color:#fff;transform:translateY(-2px)}.article-calculator-cta span{padding:4px 8px;border:1px solid rgba(255,255,255,.5);border-radius:999px;font-size:10px}.article-calculator-cta strong{color:#fff;font-family:var(--serif);font-size:16px}.article-calculator-cta i{font-style:normal;font-size:24px}.star-closing-quote{margin:28px 0;padding:28px 22px;border:0;border-radius:14px;background:linear-gradient(135deg,#edf5f8,#f8f1f6);color:#4f6271;font-family:var(--serif);font-size:21px;line-height:1.85;text-align:center}.editorial-policy-box{margin-top:44px;padding:21px;background:#faf7f3;border:1px solid #eee2d3;border-radius:12px}.editorial-policy-box h2{margin:0 0 8px!important;padding:0!important;border:0!important;font-size:17px!important}.editorial-policy-box p{margin:0;color:#756b63;font-size:11px}
.star-sidebar{position:sticky;top:88px}.star-profile-card{text-align:center;background:linear-gradient(180deg,#f3f7fa,#fff)}.profile-big-number{display:flex;align-items:center;justify-content:center;width:82px;height:82px;margin:0 auto 12px;border-radius:50%;background:#5b819f;color:#fff;font-family:var(--serif);font-size:46px;box-shadow:0 10px 22px rgba(72,105,132,.23)}.star-profile-card h2{font-size:21px}.star-profile-card dl{display:grid;gap:0;margin:15px 0 0;text-align:left}.star-profile-card dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 3px;border-top:1px solid #e3ebef}.star-profile-card dt{color:#758691;font-size:11px}.star-profile-card dd{margin:0;color:#4f606b;font-size:11px;font-weight:800}

/* 九星別ガイド一覧 */
.star-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 36px}.star-guide-card{position:relative;min-height:172px;padding:20px 18px 18px 76px;border:1px solid #eadfe6;border-radius:15px;background:linear-gradient(145deg,#fff,#faf7f9);text-decoration:none;box-shadow:0 7px 18px rgba(63,43,56,.05);transition:.2s}.star-guide-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(63,43,56,.1)}.star-guide-card>span{position:absolute;left:17px;top:18px;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#76566d;color:#fff;font-family:var(--serif);font-size:26px}.star-guide-card strong{display:block;color:#533d4c;font-family:var(--serif);font-size:20px}.star-guide-card small{display:block;margin:3px 0 10px;color:#96798a;font-weight:800}.star-guide-card p{margin:0;color:#756a71;font-size:12px;line-height:1.65}.star-guide-1>span{background:#567d9f}.star-guide-2>span{background:#9a7951}.star-guide-3>span{background:#4f8b63}.star-guide-4>span{background:#629276}.star-guide-5>span{background:#9c772e}.star-guide-6>span{background:#727c92}.star-guide-7>span{background:#b05d78}.star-guide-8>span{background:#836f5b}.star-guide-9>span{background:#b4535f}@media(max-width:900px){.star-guide-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.star-guide-grid{grid-template-columns:1fr}.star-guide-card{min-height:145px}}

@media(max-width:960px){.star-page-hero{grid-template-columns:1fr}.star-page-hero-copy{padding:5px}.star-page-hero-art{max-width:720px}.star-sidebar{position:static}}
@media(max-width:720px){.star-page-hero{width:min(100% - 24px,1120px);padding:20px;border-radius:18px 18px 42px 18px}.star-page-hero h1{font-size:33px}.star-page-lead{font-size:14px}.article-toc ol{grid-template-columns:1fr}.idea-grid{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.celebrity-grid{grid-template-columns:1fr}.self-check-box dl div{grid-template-columns:1fr;gap:3px}.wide-visual{margin-left:0;margin-right:0}.article-calculator-cta{grid-template-columns:1fr auto}.article-calculator-cta span{display:none}.star-closing-quote{font-size:18px}.compat-head{grid-template-columns:38px 1fr auto}}
@media print{.star-page-hero{box-shadow:none}.star-page-hero-art,.article-toc,.star-sidebar,.article-calculator-cta{display:none!important}.star-article-layout{display:block}.star-article-body{font-size:12px}}

/* 計算結果カードから各解説記事への内部リンク */
.identity-card::after{pointer-events:none}
.identity-card .label,.identity-card .star,.identity-card .caption{position:relative;z-index:1}
.identity-card .identity-label-link,
.identity-card .identity-star-link{color:inherit;text-decoration:none}
.identity-card .identity-label-link{border-bottom:1px dotted rgba(149,119,138,.6)}
.identity-card .identity-star-link{display:inline-block;border-bottom:1px solid rgba(143,93,125,.32);transition:color .18s,border-color .18s,transform .18s}
.identity-card .identity-label-link:hover,
.identity-card .identity-star-link:hover{color:var(--accent,#8f5d7d);border-bottom-color:currentColor}
.identity-card .identity-star-link:hover{transform:translateY(-1px)}
.identity-card .identity-label-link:focus-visible,
.identity-card .identity-star-link:focus-visible{outline:3px solid rgba(143,93,125,.25);outline-offset:3px;border-radius:3px}
.identity-card .identity-star-separator{display:inline-block;margin:0 .12em;color:#a18d9a;font-size:.72em;vertical-align:.12em}

/* 年月日の重なり方位から方位地図へ進む導線 */
.overlap-map-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(203, 181, 160, 0.55);
  text-align: center;
}

.overlap-map-action .overlap-map-button {
  min-width: 270px;
  min-height: 48px;
  padding-right: 28px;
  padding-left: 28px;
}

.overlap-map-action p {
  margin: 0;
  color: var(--muted, #756a70);
  font-size: 12px;
  line-height: 1.7;
}

@media (max-width: 640px) {
  .overlap-map-action {
    align-items: stretch;
  }

  .overlap-map-action .overlap-map-button {
    width: 100%;
    min-width: 0;
  }
}

/* Article authorship / E-E-A-T */
.article-author-credit{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.35rem .55rem;
  width:min(1180px,calc(100% - 40px));
  margin:10px auto 20px;
  padding:12px 16px;
  border:1px solid #eadde2;
  border-radius:14px;
  background:#fffaf6;
  color:#66515d;
  font-size:.93rem;
  line-height:1.5;
}
.article-author-credit a{
  color:#69465a;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.article-author-credit small{
  color:#806d76;
}
.article-author-credit small::before{
  content:"／";
  margin-right:.55rem;
  color:#b8a4ad;
}
.article-meta a[rel="author"]{
  color:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:640px){
  .article-author-credit{
    width:min(100% - 24px,1180px);
    margin-top:8px;
    padding:11px 13px;
  }
  .article-author-credit small{
    flex-basis:100%;
  }
  .article-author-credit small::before{
    content:"";
    margin:0;
  }
}



/* 小児殺・共通結果カード */
.shoni-summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.shoni-summary-card{background:#fff8f4;border:1px solid #ead1c6;border-radius:13px;padding:18px;box-shadow:none}
.shoni-summary-card h3{margin:0 0 12px;color:#8a5848}
.shoni-summary-card dl{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(0,1.45fr);gap:8px 14px;margin:0}
.shoni-summary-card dt{font-weight:700;color:#6b5149}.shoni-summary-card dd{margin:0}.shoni-summary-card dd.none{color:#7a7a72}
.shoni-explain{margin-top:14px;padding:13px 15px;background:#fffaf7;border:1px solid #eadfd7;border-radius:9px;color:#65564f}
.bad-pill.shoni{background:#fff0e8;color:#8b4f39;border-color:#e8c4b5}.bad-pill.shoni.reference{background:#fffaf7;color:#8a7065}
.result-card-panel{overflow:hidden}.result-card-intro{margin-top:-2px;color:#6b675f}.result-card-tool{display:grid;gap:16px}
.result-card-preview{display:flex;justify-content:center;padding:14px;border:1px solid #ddd8ce;border-radius:14px;background:linear-gradient(135deg,#fbfaf7,#f4efe8)}
.result-card-preview canvas{display:block;width:min(100%,760px);height:auto;border-radius:12px;box-shadow:0 16px 38px rgba(62,48,34,.16);background:#fff}
.result-card-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.result-card-controls select,.result-card-controls button{min-height:44px}
.result-card-controls button{border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.result-card-download{background:#6f4b3e;color:#fff}.result-card-share{background:#efe5da;color:#5d4339}
.result-card-status{min-height:1.5em;color:#665f57;font-size:.92rem}.result-card-empty{padding:24px;text-align:center;color:#716b62;border:1px dashed #cfc7bc;border-radius:12px;background:#fff}

@media(max-width:640px){.shoni-summary-card dl{grid-template-columns:1fr}.result-card-controls{align-items:stretch}.result-card-controls select,.result-card-controls button{width:100%}}
