/* Reading content follows natural document flow. No nested fixed-height report. */
.engine-theme-terms{color:#72552f;font-weight:500}
.engine-period-terms{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;max-width:100%}
.period-label .engine-period-terms b{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.6}
@media(max-width:760px){.engine-period-terms{flex-basis:100%;justify-content:flex-start}}
.engine-report,.engine-week{margin-block:2.5rem;padding:clamp(1.1rem,3vw,2rem);border:1px solid #695875;border-radius:20px;background:#211c30;color:#f5eef8;text-align:left;min-width:0}
.engine-report>header,.engine-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.engine-report h3,.engine-week h3{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.4;margin:.3rem 0 .7rem;color:#f5e6c7;letter-spacing:.02em}
.engine-kicker{color:#dfc59a!important;font-size:.82rem!important;letter-spacing:.08em;margin:0!important}
.engine-report p,.engine-week p,.engine-result li{font-size:1rem;line-height:1.85;color:#e5dce9;overflow-wrap:anywhere}
.engine-report h4,.engine-week h4{font-size:1.05rem;line-height:1.5;color:#f6e6c5;margin:.4rem 0}
.engine-question{margin:1.4rem 0 2rem;display:grid;gap:.65rem}
.engine-question label,.engine-dialog label{font-size:1rem;color:#f5eef8;line-height:1.6}
.engine-question textarea,.engine-dialog input:not([type=checkbox]),.engine-dialog select{box-sizing:border-box;width:100%;font:inherit;background:#171420;color:#f5eef8;border:1px solid #877393;border-radius:10px;padding:.8rem;min-height:48px;line-height:1.5}
.engine-question textarea{resize:vertical}.engine-question textarea::placeholder{color:#c2b7cb}
.engine-question>div{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.engine-question time{font-size:.8rem;color:#cfc3da}
.engine-primary,.engine-secondary,.engine-link,.engine-dialog button{font:inherit;cursor:pointer;min-height:44px;line-height:1.4;border-radius:10px;padding:.7rem 1rem}
.engine-primary{background:#e4c78d;color:#211724;border:1px solid #e4c78d;font-weight:650}
.engine-secondary{background:#30263e;border:1px solid #9a82ae;color:#f6eefb}
.engine-link{border:0;background:transparent;color:#edce9b;text-decoration:underline;text-underline-offset:.2em;padding:.6rem 0}
.engine-report :focus-visible,.engine-week :focus-visible,.engine-dialog :focus-visible{outline:3px solid #f0d49c;outline-offset:4px}
.engine-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.engine-result{padding:1.2rem 0;border-top:1px solid #695875;min-width:0}
.engine-result>header{display:flex;gap:.8rem;align-items:center}
.engine-result .oraclys-artifact{width:64px;height:72px;flex:0 0 64px}
.engine-status{font-size:.85rem;color:#d8c5e3}.engine-result[data-engine-status=ready] .engine-status{color:#b8dcbf}
.engine-facts{color:#f6dba6!important;font-weight:550}
.engine-detail summary{cursor:pointer;color:#dfc59a;font-size:.9rem;min-height:44px;display:flex;align-items:center;gap:.5rem}.engine-detail summary::before{content:'+'}.engine-detail[open] summary::before{content:'−'}
.engine-detail ul,.engine-detail ol{padding-left:1.4rem}.engine-table-wrap{overflow-x:auto}.engine-table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem;color:#e5dce9}.engine-table-wrap th,.engine-table-wrap td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid #695875;line-height:1.6}
.engine-hexagram{display:flex;flex-direction:column;gap:6px;width:110px;margin:1rem 0}.hex-line{display:flex;gap:14px;height:8px}.hex-line i{flex:1;background:#dfc59a}.hex-line.yang{gap:0}.hex-line.moving i{background:#b9a5d5}
.engine-week{background:linear-gradient(130deg,#2d253a,#211c30)}
.engine-rituals{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;margin:1.5rem 0}
.engine-rituals article{display:flex;gap:1rem;align-items:flex-start}.engine-rituals p{margin:0}
.engine-color{display:block;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--ritual-color);box-shadow:inset 0 0 0 1px #fff4}
.engine-ritual-symbol{font-size:2rem;color:#e4c78d;width:44px;flex:0 0 44px}
.engine-tasks{display:grid;gap:.6rem}.engine-tasks label{display:flex;align-items:flex-start;gap:.85rem;padding:.8rem .6rem;border-radius:10px;background:#ffffff07;cursor:pointer;color:#f0e8f4;line-height:1.8}
.engine-tasks input,.engine-check input{width:22px;height:22px;flex:0 0 22px;accent-color:#e4c78d;margin:.2rem 0}.engine-tasks label:has(input:checked){background:#a7c89c16}.engine-tasks input:checked+span{text-decoration:line-through;color:#c7bdce}
.engine-task-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;font-size:.85rem;color:#d8c5e3}
.engine-dialog{color:#f5eef8;background:#211c30;border:1px solid #9a82ae;border-radius:20px;width:min(540px,calc(100vw - 32px));max-height:85dvh;box-sizing:border-box;padding:1.5rem;overflow-y:auto}.engine-dialog::backdrop{background:#0b0914cc;backdrop-filter:blur(7px)}
.engine-dialog form{display:grid;gap:1rem}.engine-dialog label{display:grid;gap:.4rem}.engine-dialog .engine-check{display:flex;align-items:center;gap:.7rem}.engine-dialog header button{color:#f5eef8;background:transparent;border:1px solid #877393;font-size:1.5rem}.engine-dialog p{line-height:1.7;margin:0;font-size:.9rem;color:#d8c5e3}.engine-dialog input:disabled{opacity:.55}
.engine-error{color:#ffc4c4!important;min-height:0;margin:0}.engine-error:empty{display:none}
@media(max-width:620px){.engine-results,.engine-rituals{grid-template-columns:1fr}.engine-report,.engine-week{margin-block:1.5rem;border-radius:14px}.engine-report>header{align-items:stretch}.engine-report>header>button{width:100%}.engine-task-footer{align-items:flex-start}.engine-dialog{padding:1.2rem}}
@media print{.engine-report button,.engine-question,.engine-task-footer button{display:none}.engine-report,.engine-week{break-inside:auto}.engine-result{break-inside:avoid}}
/* Keep the detailed report on the established paper reading surface. */
.engine-report{background:#fffcf6;border-color:#cdbda3;color:#493b4a}
.engine-report h3,.engine-report h4{color:#493b4a}
.engine-report p,.engine-report li{color:#615465}
.engine-report .engine-kicker,.engine-report .engine-detail summary{color:#725937!important}
.engine-report .engine-status{color:#65516f}.engine-report [data-engine-status=ready] .engine-status{color:#316145}
.engine-report .engine-facts{color:#6b4b21!important}
.engine-report .engine-question label{color:#493b4a}
.engine-report textarea{background:#fff;color:#493b4a;border-color:#8c7a91}.engine-report textarea::placeholder{color:#78667d}
.engine-report .engine-question time{color:#6f6075}
.engine-report .engine-result,.engine-report td,.engine-report th{border-color:#d5c7b2}
.engine-report table{color:#493b4a}
.engine-report .engine-link{color:#76552b}.engine-report .engine-error{color:#9a283a!important}
.engine-report :focus-visible{outline-color:#68417d}
.engine-report .hex-line i{background:#76552b}.engine-report .hex-line.moving i{background:#714e8c}
.oraclys-reading-contents a,.oraclys-reading-contents button,.oraclys-character-navigation button,.oraclys-lab-skip{min-height:44px}
.oraclys-story-close,.oraclys-character-close{min-width:44px;min-height:44px}
.has-cast .oraclys-lab-core-label,.oraclys-character-layout figcaption,.oraclys-character-kicker,.oraclys-tradition-question span{font-size:12px}
@media print{
 .engine-week,.engine-report{background:#fff!important;color:#111;border-color:#777}
 .engine-week p,.engine-week h3,.engine-week h4,.engine-tasks label,.engine-tasks input:checked+span,.engine-report p,.engine-report h3,.engine-report h4,.engine-report li,.engine-report .engine-facts,.engine-report .engine-status,.engine-kicker{color:#111!important}
 .engine-tasks label{background:none}.engine-detail{display:block}.engine-color{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
.engine-contents{display:flex;gap:.5rem;flex-wrap:wrap;padding:0 0 1.4rem;margin-bottom:1.5rem;border-bottom:1px solid #cdbda3}
.engine-contents a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:.65rem .85rem;border:1px solid #b9a688;border-radius:8px;color:#59464e;background:#fffaf0;text-decoration:none;font-size:.85rem;line-height:1.5}
.engine-contents a:hover{background:#efe4d1}.engine-contents a:focus-visible{outline:3px solid #68417d;outline-offset:3px}
#engine-overview-title,#engine-week-title,#engine-report-title{scroll-margin-top:24px}
@media print{.engine-contents{display:none}}
