:root{--color-night:#100d0e;--color-surface:#1c1517;--color-oxblood:#641f29;--color-gold:#b99a5b;--color-ivory:#f2ead8;--color-muted:#bdb19c;--color-danger:#ef9b91;--content-width:42rem;--touch-target:2.75rem;--radius:.85rem}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-width:20rem;color:var(--color-ivory);background:var(--color-night);margin:0;font-family:ui-serif,Georgia,serif}a{color:inherit}button,textarea,select{font:inherit}button,.method-card,.manual-link,.bottom-nav a{min-height:var(--touch-target)}button{color:var(--color-ivory);background:var(--color-surface);border:1px solid var(--color-gold);border-radius:.6rem}.app-shell{width:min(100%, var(--content-width));min-height:100vh;margin-inline:auto;padding:1rem 1rem 6rem}.skip-link{z-index:10;background:var(--color-ivory);color:var(--color-night);padding:.75rem;position:fixed;inset:0 auto auto 0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.skip-link:focus-visible,.route-content:focus-visible{outline:3px solid var(--color-gold);outline-offset:.2rem}.home-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.home-header h1{color:var(--color-gold);margin-bottom:.25rem;font-size:clamp(1.65rem,8vw,2.4rem)}.home-header p{color:var(--color-muted);margin-top:0}.home-header [role=group]{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.home-header [role=group] button{padding-inline:.5rem}.almanac-preview{border:1px solid color-mix(in srgb, var(--color-gold) 45%, transparent);border-radius:var(--radius);background:var(--color-surface);gap:.4rem;margin:1.5rem 0;padding:1rem;display:grid}.almanac-preview span,.local-notice,.notice{color:var(--color-muted)}.almanac-preview a{width:max-content;max-width:100%;color:var(--color-gold)}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.method-card{text-align:center;border:1px solid var(--color-oxblood);border-radius:var(--radius);background:linear-gradient(145deg, var(--color-surface), #25171a);place-items:center;gap:.35rem;min-width:0;padding:1rem .5rem;text-decoration:none;display:grid}.method-card>span{color:var(--color-gold);font-size:1.5rem}.manual-link,.text-link{color:var(--color-gold);justify-content:center;align-items:center;margin-top:1rem;display:flex}.question-page,.page-card{padding-block:1rem}.question-page label,.question-page textarea{width:100%;display:block}.question-page textarea{resize:vertical;min-height:7rem;color:var(--color-ivory);background:var(--color-surface);border:1px solid var(--color-muted);border-radius:.6rem;margin:.5rem 0 1rem;padding:.75rem}fieldset{border:0;min-width:0;padding:0}legend{margin-bottom:.6rem}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.topic-grid button{min-width:0;padding-inline:.25rem}.topic-grid button[aria-pressed=true]{background:var(--color-oxblood);border-color:var(--color-gold)}.form-error{color:var(--color-danger)}.primary-action{background:var(--color-oxblood);width:100%;margin-top:1rem}.primary-action:disabled{opacity:.48}footer{text-align:center;color:var(--color-muted);margin-top:2rem}.bottom-nav{z-index:5;width:min(100%, var(--content-width));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-oxblood);background:#171113f2;grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{min-width:0;color:var(--color-muted);align-content:center;place-items:center;gap:.1rem;padding:.35rem .15rem;font-family:system-ui,sans-serif;font-size:.75rem;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--color-gold)}@media (width<=30rem){.home-header{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.home-header>div{min-width:0}.home-header h1{white-space:nowrap;width:max-content;max-width:100%;font-size:clamp(1.55rem,7vw,2.1rem)}.home-header .language-switcher,.home-header [role=group]{width:100%}.home-header [role=group]{justify-content:flex-start}}.manual-page{padding-block:1rem}.manual-page textarea{resize:vertical;width:100%;min-height:6rem;color:var(--color-ivory);background:var(--color-surface);border:1px solid var(--color-muted);border-radius:.6rem;margin-top:.5rem;padding:.75rem;display:block}.manual-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1.25rem;display:grid}.line-selector{gap:.35rem;min-width:0;display:grid}.line-selector select{min-width:0;min-height:var(--touch-target);color:var(--color-ivory);background:var(--color-surface);border:1px solid var(--color-gold);border-radius:.6rem;padding-inline:.5rem}.form-actions{grid-template-columns:minmax(6rem,.4fr) minmax(0,1fr);gap:.65rem;margin-top:1rem;display:grid}.form-actions .primary-action{margin-top:0}.result-page{color:#28201b;border-radius:var(--radius);background:#f7f0df;border:1px solid #d7c69f;margin-top:1rem;padding:clamp(1rem,4vw,1.75rem);box-shadow:0 1rem 2.5rem #0005}.result-page a{color:#6b2931}.result-header{border-bottom:1px solid #d7c69f;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.result-header h1{color:#551b25;margin:.15rem 0 .25rem}.result-header p{margin:0 0 .75rem}.result-header [role=group]{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.result-header button{min-height:var(--touch-target);color:#3b2824;background:#fffaf0;border-color:#9e7d3e;padding-inline:.5rem}.result-header button[aria-pressed=true]{color:#fffaf0;background:#641f29}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#7d6334;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700}.hexagram-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.7rem;margin:1.25rem auto;display:grid}.hexagram-card{text-align:center;justify-items:center;gap:.6rem;min-width:0;display:grid}.trigram-labels{color:#6f5a3d;gap:.2rem;font-size:.9rem;display:grid}.change-arrow{color:#7c2430;font-size:1.5rem}.hexagram-glyph{gap:.38rem;width:min(100%,9rem);margin:0;padding:.5rem;list-style:none;display:grid}.hexagram-line{height:.56rem;position:relative}.line-bars{justify-content:space-between;gap:1rem;width:100%;height:100%;display:flex}.line-bars>span{background:#3b2824;border-radius:.15rem;width:calc(50% - .5rem);height:100%;display:block}.line-bars .yang-bar{width:100%}.hexagram-line.moving .line-bars>span{outline-offset:1px;outline:2px solid #8d2734}.moving-mark{color:#7c2430;font-family:system-ui,sans-serif;font-size:.68rem;position:absolute;left:calc(100% + .35rem)}.result-sections{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;display:flex}.result-sections a{min-height:var(--touch-target);border:1px solid #b89c68;border-radius:999px;align-items:center;padding:.35rem .7rem;text-decoration:none;display:inline-flex}.reading-panel{background:#fffaf0;border:1px solid #ded0ae;border-radius:.7rem;margin-top:.9rem;padding:1rem;scroll-margin-top:1rem}.reading-panel h2,.reading-panel h3{color:#551b25}.reading-panel h2{margin-top:0}.action-panel{background:#fbf1d8;border-color:#a78243}.moving-line-copy+.moving-line-copy{border-top:1px dashed #c8b58e;margin-top:1rem;padding-top:.5rem}.safe-links{flex-wrap:wrap;gap:1rem;display:flex}@media (width<=26rem){.result-header{display:block}.result-header [role=group]{justify-content:flex-start;margin-bottom:.75rem}.hexagram-pair{grid-template-columns:minmax(0,1fr)}.change-arrow{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{margin-bottom:.25rem}.page-header p{color:var(--color-muted);margin-block:.2rem}.settings-page,.history-page,.terms-page{padding-block:1rem}.settings-card,.history-card,.inline-confirm,.danger-zone{border:1px solid color-mix(in srgb, var(--color-gold) 45%, transparent);border-radius:var(--radius);background:var(--color-surface);margin-top:1rem;padding:1rem}.settings-card h2{margin-top:0;font-size:1.1rem}.settings-card [role=group]{flex-wrap:wrap;gap:.5rem;display:flex}.settings-card [role=group] button{padding-inline:.75rem}.settings-card [role=group] button[aria-pressed=true]{background:var(--color-oxblood)}.switch-row{min-height:var(--touch-target);border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;display:flex}.switch-row input,.share-question input{width:1.35rem;height:1.35rem;accent-color:var(--color-gold)}.settings-link{min-height:var(--touch-target);color:var(--color-gold);align-items:center;margin-top:1rem;display:flex}.danger-zone{border-color:color-mix(in srgb, var(--color-danger) 55%, transparent)}.danger-zone>button{border-color:var(--color-danger)}.inline-confirm{color:var(--color-ivory)}.inline-confirm button{min-width:7rem;margin:.25rem .5rem .25rem 0;padding-inline:.75rem}.history-list{gap:1rem;margin-top:1rem;display:grid}.history-card{margin-top:0}.history-card>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.history-card h2{color:var(--color-gold);margin:.25rem 0}.history-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.history-card dl div{min-width:0}.history-card dt{color:var(--color-muted)}.history-card dd{margin:.2rem 0 0}.private-question{overflow-wrap:anywhere;border-left:3px solid var(--color-gold);background:#ffffff0a;padding:.75rem}.share-question{min-height:var(--touch-target);align-items:center;gap:.65rem;display:flex}.history-card>button{width:100%}.empty-state{text-align:center;color:var(--color-muted);padding:2rem 1rem}.terms-page{max-width:44rem;margin-inline:auto}.terms-page .page-header [role=group]{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.terms-page .page-header [role=group] button{padding-inline:.5rem}.terms-anchors{border-block:1px solid var(--color-oxblood);background:#171113f2;flex-wrap:wrap;gap:.5rem;margin-block:1.5rem;padding:.65rem;display:flex;position:sticky;top:0}.terms-anchors a{min-height:var(--touch-target);color:var(--color-gold);align-items:center;padding-inline:.75rem;display:inline-flex}.terms-page>section{border-top:1px solid #ffffff1a;padding-block:1rem;scroll-margin-top:5rem}.terms-page>section h2{color:var(--color-gold)}.terms-page>section p{line-height:1.8}@media (width<=22rem){.page-header{display:block}.page-header>button{width:100%}.terms-page .page-header [role=group]{justify-content:flex-start}.history-card dl{grid-template-columns:minmax(0,1fr)}}.wheel-ritual-page{min-height:min(46rem,100dvh - 7rem);padding:max(1rem, env(safe-area-inset-top)) 1rem 1.25rem;text-align:center;background:linear-gradient(180deg, #100d0e33, #100d0ed9), url(/assets/generated/ritual-chamber.webp) center / cover no-repeat, var(--color-night);border-radius:0 0 var(--radius) var(--radius);margin:-1rem;overflow:hidden}.wheel-ritual-header{z-index:2;max-width:30rem;margin-inline:auto;position:relative}.wheel-ritual-header h1{color:var(--color-ivory);margin:.15rem 0 .35rem;font-size:clamp(2rem,9vw,3.25rem)}.wheel-ritual-header p:last-child{color:#e1d4bd;margin:0}.wheel-scene-shell{min-height:24rem;margin:.75rem auto;position:relative}.wheel-three-frame,.wheel-three-frame .ritual-frame__scene{min-height:24rem}.wheel-three-frame canvas{width:100%;height:24rem;display:block}.wheel-scene-loading{min-height:24rem;color:var(--color-muted);place-items:center;display:grid}.wheel-fallback{align-content:center;gap:.75rem;min-height:24rem;display:grid}.wheel-fallback__rings{isolation:isolate;perspective:36rem;place-items:center;min-height:15.5rem;display:grid}.wheel-fallback__decorative-ring{aspect-ratio:1;filter:drop-shadow(0 .45rem .4rem #0009);background:radial-gradient(circle,#0000 56%,#8a5b2b 58%,#c4a56b 66%,#3b271b 70%,#0000 72%);border-radius:50%;grid-area:1/1;display:block;transform:rotateX(62deg)}.wheel-fallback__decorative-ring:first-child{z-index:6;width:6rem}.wheel-fallback__decorative-ring:nth-child(2){z-index:5;background-image:radial-gradient(circle,#0000 56%,#777a7d 58%,#d6d1c4 66%,#343436 70%,#0000 72%);width:8rem}.wheel-fallback__decorative-ring:nth-child(3){z-index:4;width:10rem}.wheel-fallback__decorative-ring:nth-child(4){z-index:3;background-image:radial-gradient(circle,#0000 56%,#777a7d 58%,#d6d1c4 66%,#343436 70%,#0000 72%);width:12rem}.wheel-fallback__decorative-ring:nth-child(5){z-index:2;width:14rem}.wheel-fallback__decorative-ring:nth-child(6){z-index:1;background-image:radial-gradient(circle,#0000 56%,#777a7d 58%,#d6d1c4 66%,#343436 70%,#0000 72%);width:16rem}.wheel-fallback__controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.wheel-line-button{min-width:0;color:var(--color-ivory);background:#171113e8;border-color:#b99a5b99;padding:.3rem;font-family:system-ui,sans-serif;display:grid}.wheel-line-button__position{color:var(--color-muted);font-size:.7rem}.wheel-line-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.wheel-line-button.is-settled{border-color:#e4c47a;box-shadow:inset 0 0 .6rem #d4a45133}.wheel-line-button:disabled{opacity:.62}.wheel-progress{color:#f0dfbc;letter-spacing:.04em;min-height:1.5rem;margin:.25rem 0 0;font-weight:700}.wheel-primary-spin{color:#211512;background:linear-gradient(#d6bd80,#9c7139);border-color:#f1dfac;min-width:10rem;padding-inline:1.25rem;box-shadow:0 .5rem 1.5rem #0007}.wheel-primary-spin:disabled{opacity:.52}.wheel-revealed-lines{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:.8rem auto;padding:0;list-style:none;display:grid}.wheel-revealed-lines li{min-width:0;color:var(--color-muted);background:#120d0eba;border:1px solid #b99a5b55;border-radius:.45rem;gap:.1rem;padding:.35rem;font-family:system-ui,sans-serif;font-size:.72rem;display:grid}.wheel-revealed-lines strong{text-overflow:ellipsis;white-space:nowrap;color:var(--color-ivory);font-size:.82rem;overflow:hidden}@media (width>=38rem){.wheel-ritual-page{border-radius:var(--radius);margin-inline:0}}.coin-ritual-page{min-height:min(46rem,100dvh - 7rem);padding:max(1rem, env(safe-area-inset-top)) 1rem 1.25rem;text-align:center;background:radial-gradient(circle at 50% 38%, #7b271f40, transparent 48%), linear-gradient(180deg, #100d0e4d, #100d0ee6), url(/assets/generated/ritual-chamber.webp) center / cover no-repeat, var(--color-night);border-radius:0 0 var(--radius) var(--radius);margin:-1rem}.coin-ritual-header{max-width:30rem;margin-inline:auto}.coin-ritual-header h1{color:var(--color-ivory);margin:.15rem 0 .35rem;font-size:clamp(2rem,9vw,3.25rem)}.coin-ritual-header p:last-child{color:#e1d4bd;margin:0}.coin-scene-shell{min-height:21rem;margin:.75rem auto;position:relative}.coin-three-frame,.coin-three-frame .ritual-frame__scene{min-height:17rem}.coin-three-frame canvas{width:100%;height:17rem;display:block}.coin-scene-loading{min-height:17rem;color:var(--color-muted);place-items:center;display:grid}.coin-fallback{align-content:center;gap:.75rem;min-height:17rem;display:grid}.coin-fallback__coins{perspective:32rem;justify-content:center;align-items:center;gap:clamp(.45rem,4vw,1rem);min-height:7rem;display:flex}.coin-disc{aspect-ratio:1;color:#f1d897;width:clamp(4.2rem,21vw,5.6rem);transform-style:preserve-3d;background:radial-gradient(circle at 36% 30%,#d5aa5f,#74421f 68%,#2b1710 72%);border:.32rem solid #b38443;border-radius:50%;place-items:center;display:grid;transform:rotateX(58deg);box-shadow:0 .65rem .75rem #0009,inset 0 0 0 .2rem #4c2b17}.coin-disc--tails{color:#3a2418;background:radial-gradient(circle at 36% 30%,#e1c076,#9b6a32 68%,#3a2112 72%)}.coin-disc__mark{font-family:system-ui,sans-serif;font-size:2rem;font-weight:800}.coin-fallback__coins.is-throwing .coin-disc{animation:.72s cubic-bezier(.2,.8,.3,1) coin-flip}.coin-fallback__coins.is-throwing .coin-disc:nth-child(2){animation-delay:50ms}.coin-fallback__coins.is-throwing .coin-disc:nth-child(3){animation-delay:.1s}@keyframes coin-flip{45%{transform:translateY(-3.5rem)rotateX(590deg)rotate(24deg)}to{transform:rotateX(1138deg)}}.coin-face-key{color:#ecd8af;flex-wrap:wrap;justify-content:center;gap:.4rem 1rem;margin:0;font-family:system-ui,sans-serif;display:flex}.coin-face-meaning{color:var(--color-muted);margin:0;font-size:.82rem}.coin-primary-throw{color:#211512;background:linear-gradient(#dbc485,#9b6d34);border-color:#f2dfaa;min-width:11rem;padding-inline:1.25rem;box-shadow:0 .5rem 1.5rem #0007}.coin-primary-throw:disabled{opacity:.54}.coin-revealed-lines{grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;margin:.8rem auto;padding:0;list-style:none;display:grid}.coin-revealed-lines li{min-width:0;color:var(--color-muted);background:#120d0eba;border:1px solid #b99a5b55;border-radius:.45rem;gap:.1rem;padding:.35rem .15rem;font-family:system-ui,sans-serif;font-size:.67rem;display:grid}.coin-revealed-lines strong{text-overflow:ellipsis;white-space:nowrap;color:var(--color-ivory);font-size:.74rem;overflow:hidden}.coin-progress{color:#f0dfbc;letter-spacing:.03em;min-height:1.5rem;margin:.25rem 0 0;font-weight:700}.ritual-motion-control{justify-items:center;gap:.35rem;margin:.55rem auto;display:grid}.ritual-motion-control button{min-height:var(--touch-target);color:#f4e5c4;background:#171113d9;border-color:#b99a5b99;padding:.55rem 1rem}.ritual-motion-control button[aria-disabled=true]{opacity:.62}.ritual-motion-control p{color:#d7c6a7;max-width:28rem;margin:0;font-size:.82rem}@media (width>=38rem){.coin-ritual-page{border-radius:var(--radius);margin-inline:0}}.quiet-ritual-page{min-height:min(46rem,100dvh - 7rem);padding:max(1rem, env(safe-area-inset-top)) 1rem 1.5rem;text-align:center;background:radial-gradient(circle at 50% 48%, #a76a3342, transparent 30%), linear-gradient(180deg, #100d0e33, #100d0ee8), url(/assets/generated/ritual-chamber.webp) center / cover no-repeat, var(--color-night);border-radius:0 0 var(--radius) var(--radius);margin:-1rem}.quiet-ritual-header{max-width:30rem;margin-inline:auto}.quiet-ritual-header h1{color:var(--color-ivory);margin:.15rem 0 .35rem;font-size:clamp(2rem,9vw,3.25rem)}.quiet-ritual-header p:last-child{color:#e1d4bd;margin:0}.quiet-breathing-field{aspect-ratio:1;place-items:center;width:min(56vw,14rem);margin:2.5rem auto 1rem;display:grid;position:relative}.quiet-breathing-field span{aspect-ratio:1;background:#d3a75a21;border:1px solid #e5c58580;border-radius:50%;grid-area:1/1;width:48%;animation:4.8s ease-in-out infinite quiet-breathe;display:block}.quiet-breathing-field span:nth-child(2){width:72%;animation-delay:-1.6s}.quiet-breathing-field span:nth-child(3){width:100%;animation-delay:-3.2s}@keyframes quiet-breathe{0%,to{opacity:.22;transform:scale(.82)}50%{opacity:.75;transform:scale(1)}}.quiet-breathing-copy{color:#e9d9b8;margin:.5rem 0 1.25rem}.quiet-hold-button{touch-action:none;-webkit-user-select:none;user-select:none;color:#211512;background:linear-gradient(#e0c98b,#9f7138);border-color:#f4e2ae;border-radius:999px;place-items:center;width:min(100%,18rem);min-height:4.25rem;margin-inline:auto;padding:.75rem 1.25rem;display:grid;box-shadow:0 .65rem 1.8rem #0008}.quiet-hold-button:not(:disabled):active{transform:scale(.98)}.quiet-hold-button:disabled{opacity:.64}.quiet-progress-bar{width:min(100%,18rem);height:.55rem;accent-color:var(--color-gold);margin:1rem auto 0;display:block}.quiet-progress-copy{color:#f0dfbc;min-height:1.5rem;margin:.65rem 0 0;font-weight:700}.quiet-ritual-page--reduced .quiet-breathing-field span{opacity:.48;animation:none;transform:none}.quiet-hold-button.quiet-hold-button--reduced:not(:disabled):active{transform:none}@media (width>=38rem){.quiet-ritual-page{border-radius:var(--radius);margin-inline:0}}.jiaobei-question-page input[type=text],.jiaobei-question-page input:not([type]){width:100%;min-height:var(--touch-target);color:var(--color-ivory);background:var(--color-surface);border:1px solid var(--color-muted);border-radius:.6rem;margin:.5rem 0 1rem;padding:.65rem .75rem;display:block}.jiaobei-check-row,.jiaobei-guidance-check{min-height:var(--touch-target);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.65rem;align-items:center;gap:.65rem;margin:.5rem 0 1rem;padding:.65rem;display:flex}.jiaobei-check-row input,.jiaobei-guidance-check input{width:1.35rem;height:1.35rem;accent-color:var(--color-gold);flex:none}.jiaobei-guidance-check{color:#ead8b5;border-color:#b99a5b66;align-items:flex-start}.jiaobei-ritual-page{min-height:min(46rem,100dvh - 7rem);padding:max(1rem, env(safe-area-inset-top)) 1rem 1.5rem;text-align:center;background:radial-gradient(circle at 50% 35%, #a9202642, transparent 44%), linear-gradient(180deg, #100d0e35, #100d0ee8), url(/assets/generated/ritual-chamber.webp) center / cover no-repeat, var(--color-night);border-radius:0 0 var(--radius) var(--radius);margin:-1rem;overflow-x:clip}.jiaobei-ritual-header{max-width:30rem;margin-inline:auto}.jiaobei-ritual-header h1{color:var(--color-ivory);margin:.15rem 0 .35rem;font-size:clamp(2rem,9vw,3.25rem)}.jiaobei-ritual-header p:last-child{color:#e1d4bd;margin:0}.jiaobei-scene-shell{min-height:20rem;margin:.75rem auto;position:relative}.jiaobei-three-frame,.jiaobei-three-frame .ritual-frame__scene{min-height:16rem}.jiaobei-three-frame canvas{width:100%;height:16rem;display:block}.jiaobei-scene-loading{min-height:16rem;color:var(--color-muted);place-items:center;display:grid}.jiaobei-fallback{perspective:32rem;place-items:center;min-height:16rem;display:grid}.jiaobei-fallback__blocks{justify-content:space-around;align-items:center;gap:1rem;width:min(100%,19rem);min-height:10rem;display:flex}.jiaobei-block-placement{transform-style:preserve-3d;place-items:center;display:grid}.jiaobei-block{width:clamp(5.6rem,28vw,7.7rem);height:clamp(2.8rem,14vw,3.85rem);transform-style:preserve-3d;background:radial-gradient(at 40% 20%,#ff5d57,#b40f18 52%,#5a070b 88%);border:.18rem solid #e84a45;border-radius:50% 50% 16% 16%/80% 80% 24% 24%;display:block;box-shadow:0 1rem 1rem #0009,inset 0 .35rem .55rem #ff8f8466}.jiaobei-block--flat{box-shadow:0 1rem 1rem #0009,inset 0 0 0 .14rem #d6ae63,inset 0 .35rem .55rem #ff8f8466}.jiaobei-block--flat:after{content:"";opacity:.82;background:repeating-linear-gradient(#d6ae63 0 .12rem,#0000 .12rem .38rem);border-radius:50%;width:58%;height:42%;margin:18% auto 0;display:block}.jiaobei-block--rounded{background:radial-gradient(at 38% 18%,#ff8a7d,#d82028 42%,#76080e 86%);border-color:#6d090e;box-shadow:0 1rem 1rem #000a,inset 0 .6rem .8rem #ffc0aa66,inset 0 -.45rem .7rem #5b0409aa}.jiaobei-block--standing{width:3.2rem;height:7.4rem}.jiaobei-fallback.is-tossing .jiaobei-block{animation:.72s cubic-bezier(.2,.8,.3,1) jiaobei-toss}.jiaobei-fallback.is-tossing .jiaobei-block-placement:nth-child(2) .jiaobei-block{animation-direction:reverse;animation-delay:60ms}@keyframes jiaobei-toss{45%{transform:translateY(-4.5rem)rotateX(480deg)rotate(65deg)}to{transform:rotateX(900deg)rotate(-18deg)}}.jiaobei-primary-toss{color:#fff5dd;background:linear-gradient(#c8252c,#72070d);border-color:#f17670;min-width:11rem;padding-inline:1.25rem;box-shadow:0 .6rem 1.6rem #0008}.jiaobei-primary-toss:disabled{opacity:.62}.jiaobei-announcement{color:#f0dfbc;min-height:1.5rem;margin:.3rem 0 .8rem;font-weight:700}.jiaobei-result-card{text-align:start;color:#35231e;border-radius:var(--radius);-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background:#f8efdccc;border:1px solid #d3b66f;max-width:31rem;margin:1rem auto 0;padding:1.25rem;box-shadow:0 1rem 2rem #0007}.jiaobei-result-card h2{text-align:center;color:#7a1119;margin:.15rem 0 .8rem;font-size:2rem}.jiaobei-result-card h3{color:#64141b}.jiaobei-result-card .eyebrow{text-align:center}.jiaobei-new-question{min-height:var(--touch-target);color:#fff5dd;justify-content:center;align-items:center;text-decoration:none;display:flex}@media (width>=38rem){.jiaobei-ritual-page{border-radius:var(--radius);margin-inline:0}}.almanac-page{isolation:isolate;color:#30251f;border-radius:var(--radius);background:#f6efe2;border:1px solid #d8c8a6;margin-top:1rem;padding:clamp(.8rem,4vw,1.5rem);position:relative;overflow:hidden;box-shadow:0 1rem 2.5rem #0005}.almanac-page:before{z-index:-1;content:"";pointer-events:none;opacity:.14;background:url(/assets/generated/almanac-paper.webp) 50%/34rem;position:absolute;inset:0}.almanac-page button{color:#3a2d25;background:#fffaf0;border-color:#b79b63}.almanac-page-header{text-align:center}.almanac-page-header h1{color:#572128;margin:.1rem 0 .25rem;font-size:clamp(2rem,9vw,3rem)}.almanac-page-header p:last-child{color:#6b5a49;margin-top:0}.almanac-calendar,.almanac-details,.almanac-unavailable{background:#fffdf7cc;border:1px solid #dfd1b5;border-radius:.8rem;margin-top:1rem;padding:clamp(.65rem,3vw,1rem)}.almanac-month-nav{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:.45rem;display:grid}.almanac-month-nav h2{text-align:center;color:#492f28;margin:0;font-size:clamp(1.05rem,5vw,1.35rem)}.almanac-month-nav button{padding:0;font-size:1.5rem}.almanac-weekdays,.almanac-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.almanac-weekdays{color:#725d45;text-align:center;margin-top:.55rem;font-family:system-ui,sans-serif;font-size:.78rem}.almanac-weekdays span{place-items:center;min-width:0;min-height:2rem;display:grid}.almanac-days{gap:.18rem}.almanac-week{display:contents}.almanac-day{background:0 0;border-color:#0000;place-items:center;min-width:0;padding:.15rem;font-family:system-ui,sans-serif;display:grid;position:relative}.almanac-day.is-adjacent{color:var(--almanac-adjacent)}.almanac-day:hover,.almanac-day:focus-visible{border-color:#a08148}.almanac-day.is-adjacent:hover,.almanac-day.is-adjacent:focus-visible{color:var(--almanac-adjacent-focus)}.almanac-day[aria-selected=true]{color:var(--almanac-selected-text);background:var(--almanac-selected-background);border-color:var(--almanac-selected-background)}.almanac-day.is-today:after{content:"";pointer-events:none;border:2px solid #a97d3c;border-radius:50%;position:absolute;inset:.18rem}.almanac-today-mark{color:#7b2630;background:#f2d8a8;border-radius:.2rem;padding:.02rem .12rem;font-size:.52rem;line-height:1.1;position:absolute;inset:auto .08rem .02rem auto}.almanac-details>header{text-align:center;border-bottom:1px solid #dfd1b5;padding-bottom:.75rem}.almanac-details>header p{color:#6f5c46;margin:0}.almanac-details>header h2{color:#6d2029;margin:.35rem 0 0}.almanac-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.almanac-facts div{min-width:0}.almanac-facts dt{color:#776349;font-size:.78rem}.almanac-facts dd{overflow-wrap:anywhere;margin:.18rem 0 0}.almanac-yi-ji{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.almanac-yi-ji section,.almanac-panel{background:#fbf4e6;border:1px solid #e0d0ac;border-radius:.65rem;padding:.75rem}.almanac-yi-ji h3,.almanac-panel h3{color:#71212b;margin-top:0}.almanac-yi-ji ul,.almanac-hours{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.almanac-yi-ji li,.almanac-hours li{overflow-wrap:anywhere;background:#fffaf0;border:1px solid #ddcba6;border-radius:999px;padding:.25rem .45rem}.almanac-source-pair{gap:.18rem;min-width:0;display:grid}.almanac-source-token{flex-wrap:wrap;align-items:baseline;gap:.25rem;display:flex}.almanac-source-token small{color:#76664f;font-family:system-ui,sans-serif;font-size:.65rem}.almanac-source-pair>[lang=th]{color:#3f342b;font-family:system-ui,sans-serif;font-size:.82rem}.almanac-source-pair>.almanac-untranslated{color:#6d3c32}.almanac-panel{margin-top:.65rem}.almanac-caveat{color:#675849;background:#eadcc480;border-left:3px solid #9c7538;margin:1rem 0 0;padding:.75rem;line-height:1.6}.almanac-unavailable{text-align:center}.almanac-unavailable h2{font-size:1.15rem}.almanac-unavailable p{color:#772832}@media (width<=23rem){.almanac-page{border-radius:0;margin-inline:-1rem;padding-inline:.25rem}.almanac-calendar{padding-inline:0}.almanac-details{padding-inline:.4rem}.almanac-days{gap:0}.almanac-facts,.almanac-yi-ji{grid-template-columns:minmax(0,1fr)}}.pwa-update{z-index:20;right:max(1rem, env(safe-area-inset-right));bottom:calc(5rem + env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));max-width:30rem;color:var(--color-ivory);border:1px solid var(--color-gold);border-radius:var(--radius);background:#141719f2;margin-inline:auto;padding:.85rem;position:fixed;box-shadow:0 1rem 2.5rem #000b}.pwa-update p{margin:0 0 .65rem}.pwa-update__actions{justify-content:flex-end;gap:.55rem;display:flex}.pwa-update__actions button{padding-inline:.8rem}
