/* Desktop and mobile share semantic markup; the table alone may scroll. */
html{scrollbar-gutter:stable}body.night-active{overflow-x:clip}#night-root{width:100%;min-width:0}#night-root button{touch-action:manipulation}#night-root :is(p,small,h2){overflow-wrap:anywhere}#night-root :is(input,textarea){font-family:system-ui,'Microsoft YaHei',sans-serif}
.night-nav{padding:0 clamp(16px,4vw,64px);height:82px}.night-brand{flex-shrink:0;white-space:nowrap;letter-spacing:.14em;font-size:20px}.night-brand small{letter-spacing:.18em;font-size:9px;white-space:nowrap}.night-brand img{width:40px;height:40px;flex-shrink:0}.night-links{gap:clamp(16px,2.3vw,36px)}.night-menu{display:none}.night-link{min-height:44px}.night-btn{min-height:48px}.night-hero h1{font-family:Georgia,'Songti SC','SimSun',serif;font-size:clamp(48px,6vw,84px);letter-spacing:.13em}.night-hero h1 em{font-size:.43em;letter-spacing:.04em;margin-top:23px;font-style:italic}.night-cn{font-size:12px;letter-spacing:.3em;color:#cdbbda;margin-top:32px}.night-hero .night-verse{font-family:system-ui,'Microsoft YaHei',sans-serif;font-size:14px}.night-page{max-width:1240px}.night-note{font-family:system-ui,'Microsoft YaHei',sans-serif}.night-readers{gap:6vw;max-width:1000px;margin:35px auto}.night-reader{border:1px solid #c8af8050;border-radius:8px;box-shadow:0 10px 40px #0002;background:linear-gradient(180deg,#251b35,#130f1d)}.night-reader.med{background:linear-gradient(180deg,#d2bddb,#e4d8e9);color:#453147}.night-reader.med .night-note{color:#54415f}.night-reader.med small{color:#7c5a37}.night-reader .night-portrait{width:100%;height:auto;aspect-ratio:1/.98;display:block;object-fit:cover;object-position:center 20%;background:none}.night-reader .night-reader-copy{position:relative;padding:25px 30px}.night-reader-copy p{margin:12px 0}.night-reader:hover .night-portrait{transform:none;filter:brightness(1.08)}.night-reader{transition:filter .3s,transform .3s}.night-reader:hover{transform:translateY(-4px)}.night-duo{max-width:1000px;margin:32px auto}.night-page>h2{line-height:1.5}
body[data-night-stage=QUESTION] #night-root{--night-bg:#0d0816;--night-ink:#f0e8f5;--night-muted:#b7a6c7;--night-metal:#e0c08f;--night-line:#d8b87845;background:radial-gradient(ellipse at 50% 38%,#3a225a70,transparent 65%),#0d0816;color:var(--night-ink)}
body[data-night-stage=QUESTION] .night-page{position:relative;text-align:center;max-width:1040px;padding-top:65px}body[data-night-stage=QUESTION] .night-page:before{content:'';position:absolute;width:min(760px,88vw);aspect-ratio:1;border:1px solid #d8b87824;border-radius:50%;left:50%;top:40px;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 0 24px #d8b87805}body[data-night-stage=QUESTION] h2{font-size:clamp(28px,4vw,46px);color:#f3e9f8}body[data-night-stage=QUESTION] .night-question{position:relative;margin:35px auto 0;max-width:760px;text-align:left}body[data-night-stage=QUESTION] .night-input{background:linear-gradient(135deg,#efe1f2e8,#d3c0e2ee);border:1px solid #e6cd98;color:#3c2a4e;box-shadow:0 0 0 5px #211238,0 0 0 6px #d8b87845;border-radius:6px;padding:24px;font-size:16px;min-height:180px}body[data-night-stage=QUESTION] .night-input:focus{outline:1px solid #f2ddaa;box-shadow:0 0 0 5px #211238,0 0 0 6px #e6cd98,0 0 30px #d8b87818}body[data-night-stage=QUESTION] .night-input::placeholder{color:#79638b}body[data-night-stage=QUESTION] .night-chips{justify-content:center;gap:9px;margin:28px 0}body[data-night-stage=QUESTION] .night-chips button{min-height:40px;color:#dbcee5;border-color:#d8b87860}body[data-night-stage=QUESTION] .night-question>.night-btn{display:block;min-width:210px;margin:30px auto}
.night-position-label{color:#e0c08f!important;font-size:12px!important;letter-spacing:.05em}.night-slot small.night-orientation{font-family:system-ui,sans-serif;font-size:10px!important}.night-card-front{border:0;border-radius:8px;background:none;overflow:visible}.celestial-face{position:relative;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;background:linear-gradient(145deg,#fff8e9,#eadcec);border:1px solid #c4a574;border-radius:8px;padding:6% 7%;box-shadow:inset 0 0 0 3px #fff7e7,inset 0 0 0 4px #b7976690;color:#523c5a;overflow:hidden}.celestial-face:before{content:'';position:absolute;inset:4%;border:1px solid #c4a57488;border-radius:4px;pointer-events:none}.celestial-face.is-reversed{transform:rotate(180deg)}.celestial-number{display:flex;justify-content:space-between;color:#8b6c43;font-size:9px;line-height:1.5;min-height:11%;padding:0 3%;position:relative}.celestial-art{flex:1;min-height:0;overflow:hidden;border:1px solid #c4a57470;border-radius:4px;background:#b39bc7}.celestial-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.celestial-name{min-height:21%;padding-top:5%;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:3px;position:relative}.celestial-name strong{font-size:10px;line-height:1.2;font-weight:500}.celestial-name small{font-size:6px;line-height:1.2;letter-spacing:.01em;color:#786284!important;margin:0!important}.night-library .celestial-face{height:auto;aspect-ratio:2/3}.night-library .celestial-art{min-height:120px}.night-library .celestial-number{font-size:12px;min-height:25px}.night-library .celestial-name{min-height:40px}.night-library .celestial-name strong{font-size:14px}.night-library .celestial-name small{font-size:9px}.night-library .celestial-art img{aspect-ratio:2/2.5;border:0;border-radius:0}.night-card .celestial-art img{transform:none}.night-reading{max-width:920px}.night-reading-head{padding-top:25px;padding-bottom:22px}.night-reading-head>img{object-position:center 18%;width:52px;height:52px}.night-narrative{font-family:system-ui,'Microsoft YaHei',sans-serif;font-size:16px;line-height:2.05;white-space:normal}.reading-paragraph p{white-space:pre-wrap;margin:0 0 26px;user-select:text}.reading-speaker{display:flex;align-items:center;gap:10px;margin-bottom:13px;font-size:13px;color:var(--night-metal)}.reading-speaker img{width:34px;height:34px;object-fit:cover;object-position:center 18%;border-radius:50%}.reading-position{font-family:Georgia,'Songti SC',serif;font-size:20px;font-weight:400;letter-spacing:.1em;color:var(--night-metal);border-top:1px solid var(--night-line);padding:24px 0 12px;margin:16px 0}.reading-position span{font-size:13px;margin-right:10px;opacity:.8}.reading-positions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.reading-positions button{background:var(--night-panel);border:1px solid var(--night-line);color:var(--night-metal);border-radius:3px;padding:8px 13px;min-height:40px;font-size:13px}.reading-positions span{opacity:.65;font-size:10px;margin-right:6px}.spread-drawer{border-bottom:1px solid var(--night-line);margin-bottom:8px}.spread-drawer>summary{list-style:none;cursor:pointer;min-height:50px;display:flex;justify-content:center;gap:12px;align-items:center;color:var(--night-metal);font-size:13px;touch-action:pan-y}.spread-drawer>summary::-webkit-details-marker{display:none}.drawer-down,.spread-drawer[open] .drawer-up{display:none}.spread-drawer[open] .drawer-down{display:inline}.spread-drawer-content{text-align:center;animation:drawer-in .3s ease}.spread-drawer-content .night-layout{margin:10px auto 20px}.spread-drawer-content .night-card{cursor:pointer}.reader-switch{border-block:1px solid var(--night-line);padding:18px 0}.reader-switch summary{cursor:pointer;color:var(--night-metal);min-height:44px;display:flex;align-items:center}.reader-switch-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:15px 0}.reader-switch-options button{border:1px solid var(--night-line);background:var(--night-panel);color:inherit;padding:0 0 18px;overflow:hidden;border-radius:6px;text-align:center}.reader-switch-options button[aria-pressed=true]{border-color:var(--night-metal)}.reader-switch-options img{width:100%;height:170px;object-fit:cover;object-position:center 20%;display:block}.reader-switch-options strong{display:block;font-size:18px;margin:16px 8px 10px;letter-spacing:.12em}.reader-switch-options small{display:block;font-family:system-ui,sans-serif;font-size:11px;line-height:1.7;color:var(--night-muted);padding:0 12px}.night-follow .night-input,#night-follow .night-input{font-size:16px;scroll-margin-bottom:100px}.night-actions{row-gap:12px}
.night-loading{text-align:center;max-width:700px;margin:60px auto;min-height:360px}.loading-astrolabe{width:200px;aspect-ratio:1;border:1px solid #b59a6b65;border-radius:50%;position:relative;margin:0 auto 32px;display:grid;place-items:center;animation:star-orbit 32s linear infinite;color:var(--night-metal)}.loading-astrolabe:before{content:'';position:absolute;inset:16px;border:1px solid #b59a6b60;transform:rotate(45deg)}.loading-astrolabe:after{content:'';position:absolute;inset:32px;border:1px solid #b59a6b50;border-radius:50%}.loading-astrolabe span{font-size:66px}.loading-readers img{width:66px;height:80px;object-fit:cover;object-position:center 18%;border-radius:40px;border:1px solid var(--night-line);margin-top:24px}.night-detail{width:min(920px,calc(100vw - 32px));max-height:85svh;border:1px solid #bfa476;background:#1a1126;color:#ede4f2;padding:40px;border-radius:12px;overflow:auto;overscroll-behavior:contain}.night-detail::backdrop{background:#080510cc;backdrop-filter:blur(5px)}.detail-close{position:sticky;top:0;float:right;border:1px solid #bfa47677;width:40px;height:40px;border-radius:50%;background:#1a1126;color:#ede4f2;font-size:26px;z-index:2}.detail-columns{display:grid;grid-template-columns:minmax(180px,270px) 1fr;gap:35px;clear:both}.detail-art .celestial-face{aspect-ratio:2/3;height:auto}.detail-art .celestial-art{min-height:210px}.detail-art .celestial-number{font-size:16px;min-height:35px}.detail-art .celestial-name strong{font-size:20px}.detail-art .celestial-name small{font-size:11px}.detail-art .celestial-name{min-height:65px}.detail-art>p{color:#e0c08f;text-align:center;font-size:14px}.night-detail h2{font-weight:400;letter-spacing:.15em;font-size:32px;margin:18px 0}.night-detail h3{color:#e0c08f;font-size:16px;margin:22px 0 10px}.night-detail p{font:14px/1.9 system-ui,'Microsoft YaHei',sans-serif;white-space:pre-wrap}.night-stack{touch-action:pan-y}.night-fan{touch-action:pan-x;scroll-padding-left:25px;scrollbar-width:thin;scrollbar-color:var(--night-metal) transparent}.night-card:disabled{opacity:.45!important;cursor:default!important}
@keyframes star-orbit{to{transform:rotate(360deg)}}@keyframes drawer-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.night-hero-copy{max-width:590px}.night-library{grid-template-columns:repeat(6,1fr)}.night-layout{height:580px}.night-slot{width:108px}.night-card{width:108px;height:178px}.night-spreads{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.night-page{padding:40px 28px 75px}.night-library{grid-template-columns:repeat(4,1fr)}.night-readers{gap:28px}.night-hero{padding-left:7vw}.night-reading{max-width:100%}.night-spreads{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.night-nav{height:72px;padding:0 18px;gap:12px}.night-brand{font-size:16px;letter-spacing:.1em}.night-brand img{width:34px;height:34px}.night-brand small{font-size:8px;letter-spacing:.12em}.night-links{display:none}.night-menu{display:block;position:relative;color:#d0bc95}.night-menu summary{list-style:none;min-width:44px;height:44px;display:grid;place-items:center;font-size:22px;cursor:pointer}.night-menu summary::-webkit-details-marker{display:none}.night-menu>div{position:absolute;right:0;top:50px;width:190px;background:#1c1428;border:1px solid #bfa47666;border-radius:6px;padding:12px;box-shadow:0 10px 40px #0006}.night-menu button{width:100%;display:block;text-align:left;padding:10px 12px;color:#ede4f2}.night-hero{min-height:calc(100svh - 72px);padding:280px 25px 100px}.night-hero h1{font-size:clamp(40px,10vw,57px);letter-spacing:.1em;white-space:nowrap}.night-hero h1 em{font-size:27px;margin-top:16px}.night-hero-foot{left:25px;bottom:20px}.night-kicker{font-size:8px;letter-spacing:.12em}.night-hero .night-verse{font-size:13px;line-height:2}.night-cn{font-size:11px;margin:22px 0}.night-hero .night-btn{width:100%;font-size:14px}.night-resume{min-height:44px;margin:12px 0}.night-page{padding:32px 20px 60px}.night-page h2{font-size:27px;letter-spacing:.05em}.night-note{font-size:13px;line-height:1.85}.night-readers{grid-template-columns:1fr;gap:24px;max-width:420px}.night-reader{display:grid;grid-template-columns:44% 56%;align-items:stretch}.night-reader .night-portrait{height:100%;min-height:245px;aspect-ratio:auto;object-position:center 18%}.night-reader .night-reader-copy{padding:24px 18px;align-self:center}.night-reader-copy strong{font-size:27px}.night-reader-copy p{font-size:12px}.night-duo{margin-top:25px;padding:22px 0;align-items:stretch}.night-duo>.night-btn{width:100%}.night-spread{padding:17px 12px}.night-spreads{gap:12px;margin-top:25px}.night-spread strong{font-size:16px}.night-preview{height:110px}.night-spread p{font-size:11px}.night-spread small{font-size:10px}.night-input{padding:16px;font-size:16px}body[data-night-stage=QUESTION] .night-page{padding-top:42px}body[data-night-stage=QUESTION] .night-page h2{font-size:29px}body[data-night-stage=QUESTION] .night-input{padding:19px;min-height:180px}body[data-night-stage=QUESTION] .night-chips{gap:8px}body[data-night-stage=QUESTION] .night-chips button{font-size:12px;padding:6px 12px}.night-progress{justify-content:space-between;gap:5px;font-size:10px}.night-layout{height:480px;max-width:100%}.night-slot{width:66px}.night-card{width:66px;height:110px}.night-position-label{font-size:10px!important;line-height:1.6}.night-slot small.night-orientation{font-size:9px!important}.celestial-name strong{font-size:8px}.celestial-name small{font-size:5px}.celestial-number{font-size:7px}.night-fan{padding-left:15px;padding-right:42px}.night-fan .night-back{min-width:83px;width:83px;height:136px;margin-right:-26px}.night-actions>.night-btn{flex:1 1 auto}.night-reading-head{padding-top:20px;gap:12px}.night-narrative{font-size:15px;line-height:2.05;margin:20px 0}.reading-position{font-size:19px}.reading-positions{gap:7px}.reading-positions button{font-size:12px;padding:7px 10px}.reader-switch-options{gap:9px}.reader-switch-options img{height:125px}.reader-switch-options strong{font-size:14px;letter-spacing:.03em}.reader-switch-options small{font-size:10px;padding:0 7px}.night-library{grid-template-columns:repeat(3,1fr);gap:15px}.night-library .celestial-art{min-height:75px}.night-library .celestial-name{min-height:30px}.night-library .celestial-name strong{font-size:10px}.night-library .celestial-name small{font-size:6px}.night-library .celestial-number{font-size:9px;min-height:18px}.night-detail{padding:20px;width:calc(100vw - 26px);max-height:88svh}.detail-columns{grid-template-columns:1fr;gap:22px}.detail-art{max-width:200px;margin:auto}.detail-art .celestial-art{min-height:160px}.detail-art .celestial-name{min-height:50px}.detail-art .celestial-name strong{font-size:16px}.night-loading{margin:45px auto;min-height:350px}.loading-astrolabe{width:150px}.loading-astrolabe span{font-size:48px}.night-cuts{gap:15px}.night-cut{width:84px;height:141px}.night-bottom{font-size:9px;line-height:1.8;letter-spacing:.07em}}
@media(max-width:350px){.night-nav{padding:0 13px}.night-brand{font-size:15px}.night-page{padding-inline:16px}.night-reader .night-reader-copy{padding:18px 13px}.night-reader .night-portrait{min-height:230px}.night-slot{width:57px}.night-card{width:57px;height:96px}.night-slot small.night-orientation{font-size:8px!important}.night-layout{height:445px}.night-hero{padding-inline:22px}.night-hero h1{font-size:38px}.night-shelf{gap:10px}.night-shelf button{padding:12px}}
@media(prefers-reduced-motion:reduce){#night-root *,#night-root *::before,#night-root *::after{animation:none!important;transition:none!important}.night-art{transform:none!important}}

/* Complex spreads give every face and position room to remain readable. */
.night-layout.is-complex{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;height:auto;max-width:730px;align-items:start;padding:20px 0}.night-layout.is-complex .night-slot{position:relative;left:auto;top:auto;transform:none;width:auto;grid-column:var(--col);grid-row:var(--row);min-width:0}.night-layout.is-complex .night-card{width:110px;height:182px}.night-layout.is-complex[data-spread=celtic-cross]{grid-template-columns:repeat(5,minmax(0,1fr));max-width:920px;gap:28px 15px}.night-layout.is-complex[data-spread=celtic-cross] .night-card{width:96px;height:159px}
@media(max-width:700px){.night-layout.is-complex,.night-layout.is-complex[data-spread=celtic-cross]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;padding:12px 0}.night-layout.is-complex .night-slot{grid-column:auto;grid-row:auto}.night-layout.is-complex .night-card,.night-layout.is-complex[data-spread=celtic-cross] .night-card{width:100px;height:166px}.night-layout.is-complex .night-position-label{font-size:12px!important}.night-layout.is-complex .night-orientation{font-size:11px!important}.night-layout.is-complex .celestial-name strong{font-size:10px}.night-layout.is-complex .celestial-name small{font-size:7px}}

.night-detail{inset:0;margin:auto;box-sizing:border-box}.detail-close{width:44px;height:44px}

.night-narrative strong{color:var(--night-metal);font-weight:600}
