/* Only the new reading and its notebook detail use the document's natural height. */
.fortune-synthesis { padding:clamp(16px,3vw,32px); background:#fbfffd; border:1px solid #cfe3d7; border-radius:16px; }
.fortune-synthesis form { display:grid; gap:10px; max-width:38rem; }
.fortune-synthesis input:not([type=checkbox]),.fortune-synthesis select,.fortune-synthesis button { font:inherit; min-height:44px; max-width:100%; }
.fortune-synthesis input[type=checkbox] { width:20px; height:20px; vertical-align:middle; }
.fortune-synthesis #result { line-height:1.9; overflow-wrap:anywhere; }
.fortune-synthesis #result p { white-space:pre-line; }
.fortune-synthesis details { margin:16px 0; }
.fortune-synthesis summary { cursor:pointer; min-height:44px; }
.fortune-synthesis :focus-visible { outline:3px solid #306f65; outline-offset:3px; }
.fortune-synthesis #synthesis-error { color:#a32525; }
.fortune-frame[data-synthesis-reading] { height:auto!important; min-height:400px; overflow:visible; }
.fortune-frame[data-synthesis-reading] #fortune-canvas { display:none; }
.fortune-frame[data-synthesis-reading] #fortune-state { position:relative; width:auto; height:auto; overflow:visible; clip-path:none; opacity:1; pointer-events:auto; }
.fortune-frame[data-synthesis-reading] #fortune-state * { pointer-events:auto!important; }
.fortune-frame[data-synthesis-reading] .journal { position:relative; height:auto; overflow:visible; }
.fortune-frame[data-synthesis-reading] #journal-body { max-height:none; overflow:visible; line-height:1.9; overflow-wrap:anywhere; }

.synthesis-path,.synthesis-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 20px; }
.synthesis-path figure { margin:0; text-align:center; }
.synthesis-path img,.synthesis-source img { width:clamp(48px,14vw,112px); height:auto; object-fit:contain; }
.synthesis-source { padding:12px; border:1px solid #cfe3d7; border-radius:12px; background:#edf8f1; text-align:center; min-width:0; }
.synthesis-source h3 { font-size:1rem; margin:6px 0; }
.synthesis-source p { margin:4px 0; }
.synthesis-elements { padding:16px; background:#fff; border:1px solid #cfe3d7; border-radius:12px; margin-bottom:20px; }
.synthesis-elements > div { display:grid; grid-template-columns:5em 1fr; align-items:center; gap:12px; }
.synthesis-elements meter { width:100%; height:24px; accent-color:#2f8f70; }
#ritual .synthesis-source { opacity:.35; transition:opacity .4s,transform .4s; }
#ritual[data-step="1"] .synthesis-source:nth-child(1),#ritual[data-step="2"] .synthesis-source:nth-child(-n+2),#ritual[data-step="3"] .synthesis-source { opacity:1; transform:translateY(-4px); }
.synthesis-experience[data-phase="working"] .synthesis-path { display:none; }
@media(max-width:480px) { .synthesis-comparison { grid-template-columns:1fr; } .synthesis-source img { width:64px; } }
@media(prefers-reduced-motion:reduce) { #ritual .synthesis-source { transition:none; transform:none!important; } }
