.eki-heading{padding-bottom:0;}
.eki-welcome{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;align-items:center;margin:32px 0;}
.eki-welcome .recommended-portrait{width:160px;aspect-ratio:1;}
.eki-welcome h1{font-size:3rem;margin-bottom:12px;line-height:1.15;}
.eki-welcome .eyebrow{margin:0 0 14px;}
.eki-welcome p{margin-bottom:10px;}
.eki-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;padding-top:26px;padding-bottom:60px;}
.eki-setup h2{font-size:2rem;margin-bottom:14px;}
.eki-setup .text-link{font-size:.8125rem;}
.eki-setup form>.path-note{margin-top:18px;}
.eki-setup .button{min-width:240px;min-height:52px;}
.eki-result{border-top:1px solid var(--line);background:#edf3ef;padding:42px 0 48px;}
.eki-result h2{font-size:2.5rem;line-height:1.2;margin-bottom:12px;}
.eki-hexagrams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:720px;margin:30px 0;}
.eki-hexagrams:has([data-relating-figure][hidden]){grid-template-columns:minmax(0,1fr);}
.eki-hexagrams figure{margin:0;min-width:0;}
.eki-hexagrams .eyebrow{display:block;margin-bottom:10px;}
.eki-hexagrams h3{font-family:var(--serif);font-size:1.4rem;line-height:1.3;min-height:3.65em;margin-bottom:10px;}
.hexagram{width:min(100%,270px);display:grid;gap:10px;}
.hexagram-row{display:grid;grid-template-columns:18px minmax(0,1fr) 18px;gap:12px;align-items:center;min-height:17px;font-size:.75rem;}
.hexagram-bar{height:10px;display:grid;grid-template-columns:1fr;gap:22px;color:var(--indigo);}
.hexagram-bar.is-yin{grid-template-columns:1fr 1fr;}
.hexagram-bar span{height:10px;background:currentColor;}
.hexagram-row.is-changing{color:var(--vermillion);font-weight:600;}
.hexagram-row.is-changing .hexagram-bar{color:var(--vermillion);}
.eki-change{border-left:3px solid var(--vermillion);padding:0 0 0 20px;max-width:780px;margin:32px 0;}
.eki-change p{margin-bottom:9px;}
.eki-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border-top:1px solid var(--line);padding-top:28px;margin:28px 0;}
.eki-panels article{min-width:0;}
.eki-panel-art{position:relative;overflow:hidden;aspect-ratio:3/2;margin:0 0 22px;background:#e0e8e1;}
.eki-panel-art img{display:block;width:100%;height:100%;object-fit:cover;}
.eki-panel-art.is-aoi img{width:300%;height:auto;}
.eki-panels .eyebrow{margin-bottom:12px;}
.eki-panels h3{font-family:var(--serif);font-size:1.55rem;line-height:1.3;margin-bottom:12px;}
.eki-panels p:not(.eyebrow){font-size:.9375rem;line-height:1.75;}
.eki-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0;padding:20px 0;max-width:780px;}
.eki-record summary{cursor:pointer;font-weight:600;min-height:24px;}
.eki-record p{font-size:.875rem;margin-top:20px;}
.eki-record table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;}
.eki-record caption{text-align:left;margin:0 0 12px;color:var(--muted);}
.eki-record th,.eki-record td{border-bottom:1px solid var(--line);padding:12px 8px 12px 0;vertical-align:top;}
.eki-record .path-note{font-size:.8125rem;}
.eki-sources,.eki-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:22px 0;}
.eki-sources a{font-size:.8125rem;}
@media(max-width:760px){
  .eki-welcome{grid-template-columns:96px minmax(0,1fr);gap:18px;margin:28px 0;}
  .eki-welcome .recommended-portrait{width:96px;}
  .eki-welcome h1{font-size:2rem;}
  .eki-welcome>div>p:not(.eyebrow){font-size:.875rem;}
  .eki-setup{grid-template-columns:minmax(0,1fr);gap:26px;padding-bottom:36px;}
  .eki-setup h2{font-size:1.75rem;}
  .eki-setup .button{width:100%;min-width:0;}
  .eki-result{padding:32px 0;}
  .eki-result h2{font-size:2rem;}
  .eki-hexagrams{gap:20px;}
  .eki-hexagrams h3{font-size:1.1rem;min-height:4.6em;}
  .hexagram-row{grid-template-columns:12px minmax(0,1fr) 10px;gap:7px;}
  .hexagram-bar{gap:12px;}
  .eki-panels{grid-template-columns:minmax(0,1fr);gap:26px;}
  .eki-panel-art{max-width:460px;aspect-ratio:2/1;}
  .eki-panels article+article{border-top:1px solid var(--line);padding-top:26px;}
  .eki-panels h3{font-size:1.4rem;}
  .eki-sources,.eki-actions{gap:18px;}
  .eki-record table{font-size:.8125rem;}
}
@media(max-width:480px){
  .eki-welcome{grid-template-columns:minmax(0,1fr);gap:18px;}
  .eki-welcome .recommended-portrait{width:80px;}
  .eki-hexagrams{grid-template-columns:minmax(0,1fr);gap:28px;}
  .eki-hexagrams h3{min-height:0;}
}
