/* A definite viewport chain prevents percentage heights from falling back to content. */
html:has(body[data-daily-chrome="boxes"]),html:has(body[data-daily-chrome="guide"]){height:100%;overflow:hidden;scrollbar-gutter:auto}
body[data-daily-chrome="boxes"],body[data-daily-chrome="guide"]{height:100vh;height:100dvh;min-height:0;overflow:hidden;--bottom-nav:0px}
body[data-daily-chrome] .app-shell{padding-bottom:0}
body[data-daily-chrome="boxes"] .app-shell,body[data-daily-chrome="guide"] .app-shell{height:100%;min-height:0;overflow:clip}
main.daily-boxes,main.daily-guide{height:100%;min-height:0;overflow:clip}
.fortune-guide-scene{height:100%;min-height:0}
.fortune-opening{height:100vh;height:100dvh}
.fortune-opening-heading h2{font-size:2.5rem;letter-spacing:0}
.fortune-opening-heading p,.scroll-result-scene .sr-heading h1,.sr-date,.scroll-result-scene .sr-title{letter-spacing:0}
.fortune-opening-controls button:disabled{cursor:wait;opacity:.75}
.daily-reflection-dialog{box-sizing:border-box;width:min(94vw,430px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;border:1px solid #dbc6bb;border-radius:8px;padding:18px;background:#fffaf7;color:#20283a;text-align:left}
.daily-reflection-dialog::backdrop{background:#07101cd9}
.daily-reflection-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e4d7d1;padding-bottom:8px;margin-bottom:16px}
.daily-reflection-dialog h2{margin:0;font:600 1.0625rem/1.6 var(--app-font)}
.daily-reflection-dialog .daily-memo{padding:0;margin:0;border:0;background:none}
.daily-reflection-dialog .daily-memo-heading{display:flex;flex-wrap:wrap;font-size:1rem}
.daily-reflection-dialog .daily-memo-heading>span{font-size:.75rem;color:#737482}
.daily-reflection-dialog textarea{box-sizing:border-box;width:100%;min-height:100px;font:1rem/1.7 var(--app-font);resize:vertical}
.daily-reflection-dialog .daily-button{min-height:44px;font-size:.9375rem;border-radius:6px}
.daily-reflection-dialog .daily-small,.daily-reflection-public{font-size:.75rem;line-height:1.8;color:#606575;overflow-wrap:anywhere}
.daily-reflection-dialog .dohwa-inline-review{margin:0 0 12px}
.daily-reflection-home{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:.8125rem;color:#263c68}
.daily-reflection-home .icon{width:17px;height:17px}
.daily-reflection-dialog [hidden]{display:none!important}
/* Enlarged text / very short landscapes take precedence over the no-scroll presentation. */
html:has(body.is-daily-reflow){height:auto;overflow-x:clip;overflow-y:auto}
body.is-daily-reflow{height:auto!important;min-height:100dvh!important;overflow:visible!important}
body.is-daily-reflow .app-shell{height:auto!important;min-height:100dvh!important;overflow:visible!important}
body.is-daily-reflow .daily-experience{height:auto!important;overflow:visible!important}
body.is-daily-reflow .fortune-box-scene{height:auto!important;min-height:100dvh;overflow:visible}
body.is-daily-reflow .fortune-guide-visual{flex:none;height:120px}
body.is-daily-reflow .fortune-box-grid-stage{flex:none;height:330px}
body.is-daily-reflow .sr-paper{flex:none;min-height:0}
@media(max-height:700px){.fortune-guide-visual{margin-top:2px}.fortune-guide-heading{padding-top:4px}.fortune-guide-fields{margin-top:8px}.fortune-guide-description{margin-top:6px!important}.fortune-guide-action{padding-top:10px}}
