html,body,#app{height:100%;min-height:0;overflow:hidden}
.hexagram-space{height:100dvh;min-height:0;max-width:none;width:100%;padding:16px 24px 10px;gap:10px;display:flex;flex-direction:column;overflow:hidden}
.masthead{flex:none;padding-bottom:10px}.masthead h1{font-size:28px}.edition{padding:6px 12px}.edition strong{font-size:27px}
.cast-layout,.reading-layout,.collection{min-height:0;flex:1;width:100%;margin:0}.cast-layout{padding:0;align-items:stretch;gap:30px}.ritual-copy{align-self:center;max-height:100%;overflow:auto;overscroll-behavior:contain}.poster-shapes{margin-bottom:20px}.ritual-copy h2{font-size:clamp(38px,5vw,66px);margin:18px 0}
.ritual-stage{min-height:0;height:100%;padding:16px;gap:9px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;box-shadow:5px 5px 0 var(--zc-poster-stroke)}.cast-figure{height:auto;min-height:0;overflow:hidden;container-type:size}.trigram-compass{zoom:clamp(.3,calc((100dvh - 340px)/320px),1)}.figure-disc{width:clamp(70px,22dvh,178px);height:clamp(70px,22dvh,178px)}.figure-disc .figure{width:54%;gap:clamp(3px,1dvh,8px)}.figure-disc .line{height:clamp(4px,1.2dvh,9px)}.dial-caption{font-size:7px;bottom:0}.coin-tray{padding-top:7px}.coins{min-height:32px}.toss{margin:0}.ritual-stage .primary{min-height:44px}
.status-line{flex:none;padding:0;min-height:0}.status-line p{margin:0;font-size:9px}.hexagram-space>footer{flex:none;padding-top:5px;font-size:8px;line-height:1.4}.hexagram-space>.next{flex:none;margin:0;font-size:10px}
.cast-layout .ritual-stage{order:0;align-items:stretch}.stage-head,.coin-tray{width:100%}
.collection .cell{width:100%;min-width:0;aspect-ratio:auto}
.reading-layout{align-items:stretch;gap:24px}.reading-lead{max-height:100%;overflow:auto;overscroll-behavior:contain}.reading-lead h2{font-size:clamp(32px,4vw,58px)}.card{min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px;scrollbar-width:thin}.card h2{font-size:34px}.card-main{gap:18px}.card-figure{align-self:start}.reflection{font-size:17px}
.collection{display:flex;flex-direction:column;gap:12px}.collection-head{flex:none}.collection-head h2{font-size:38px;margin:8px 0}.collection-head p{margin:5px 0;font-size:12px}.collection .grid{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:4px 8px 8px 1px;align-content:start;grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.collection>button{flex:none;align-self:start}.cell{min-height:115px}
@media(max-width:800px){.hexagram-space{padding:12px 14px 8px;gap:8px}.masthead h1{font-size:22px}.brand-seal{width:32px;height:32px;flex:none}.edition{display:none}.cast-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px}.ritual-copy{overflow:visible}.ritual-copy>.section-label,.method-note{display:none}.ritual-copy h2{font-size:26px;margin:4px 0 6px}.ritual-copy h2 br{display:none}.ritual-copy .intro{font-size:11px;line-height:1.5;margin:0 0 8px}.modes button{min-height:36px;padding:6px 13px;font-size:11px}.ritual-stage{width:100%;padding:12px;gap:6px;border-radius:18px}.stage-head strong{font-size:22px}.cast-figure{min-height:0}.trigram-compass{zoom:clamp(.35,calc((100dvh - 500px)/310px),.8)}.figure-disc{width:clamp(65px,calc(100dvh - 480px),140px);height:clamp(65px,calc(100dvh - 480px),140px)}.coin-tray .section-label{font-size:8px}.coin{width:27px;height:27px}.coin::after{inset:7px}.coins{min-height:29px}.toss{font-size:10px}.ritual-stage .primary{min-height:40px;padding:7px}.reading-layout{display:flex;flex-direction:column;gap:10px}.reading-lead{flex:none;overflow:visible;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.reading-lead .section-label,.reading-lead h2,.reading-lead>p:not(.intro):not(.next){display:none}.reading-lead .intro,.reading-lead .next{font-size:11px;margin:0}.reading-lead button{font-size:11px;min-height:38px;padding:6px 10px;margin-left:auto}.card{flex:1;padding:18px;box-shadow:4px 4px 0 var(--zc-poster-stroke)}.card h2{font-size:29px}.card-main{grid-template-columns:90px minmax(0,1fr);gap:12px}.card-figure{width:90px;height:auto;padding:15px 8px;border-radius:50px 50px 8px 8px}.card-figure .figure{width:65px;gap:5px}.card-figure .line{height:7px}.reflection{font-size:15px}.question{padding:10px;font-size:13px}.collection-head h2{font-size:28px}.collection .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cell{min-height:95px}.hexagram-space footer{font-size:7px}}
