.obs-almanac-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  min-width:32px;
  height:32px;
  border:1px solid var(--hair);
  padding:0;
  color:var(--dim);
  background:transparent;
  font-family:var(--mono);
  font-size:12px;
  line-height:1;
  letter-spacing:0;
  cursor:pointer;
  white-space:nowrap;
  text-shadow:0 0 7px var(--void),0 1px 3px var(--void);
}
.obs-almanac-trigger span{font-family:var(--mono);font-size:8px;letter-spacing:.18em;color:var(--faint)}
.obs-almanac-trigger:hover,.obs-almanac-trigger:focus-visible{border-color:var(--red,#d81f26);color:var(--ink);outline:none}

.obs-almanac-backdrop{
  position:fixed;
  inset:0;
  z-index:48;
  background:rgba(4,3,3,.56);
  opacity:0;
  visibility:hidden;
  transition:opacity .34s ease,visibility .34s;
}
:root[data-day="1"] .obs-almanac-backdrop{background:rgba(32,29,26,.28)}
.obs-almanac-drawer{
  position:fixed;
  z-index:49;
  top:0;
  right:0;
  width:min(690px,calc(100vw - 44px));
  height:100dvh;
  overflow:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  background:color-mix(in srgb,var(--void) 96%,transparent);
  border-left:1px solid var(--hair);
  color:var(--ink);
  transform:translateX(100%);
  pointer-events:none;
  visibility:hidden;
  transition:transform .46s cubic-bezier(.2,.82,.24,1),background .7s,color .7s,visibility 0s linear .46s;
  box-shadow:-30px 0 70px rgba(0,0,0,.16);
}
.obs-almanac-open .obs-almanac-backdrop{opacity:1;visibility:visible}
.obs-almanac-open .obs-almanac-drawer{transform:translateX(0);pointer-events:auto;visibility:visible;transition-delay:0s}
body.obs-almanac-open{overflow:hidden}
.obs-almanac-inner{min-width:0;min-height:100%;padding:clamp(28px,5vw,54px)}
.obs-almanac-head{position:relative;padding:0 52px 34px 0;border-bottom:1px solid var(--hair)}
.obs-almanac-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--red,#d81f26);text-transform:uppercase}
.obs-almanac-head h2{max-width:100%;margin:10px 0 0;font-family:var(--mincho);font-size:clamp(35px,6vw,58px);font-weight:500;letter-spacing:.09em;line-height:1.08;overflow-wrap:anywhere}
.obs-almanac-head h2 small{display:block;margin-top:12px;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.24em;color:var(--faint);text-transform:uppercase}
.obs-almanac-keeper{margin-top:17px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--red,#d81f26);text-transform:uppercase}
.obs-almanac-close{
  position:sticky;
  top:18px;
  z-index:3;
  display:block;
  margin:18px 18px -58px auto;
  width:40px;
  height:40px;
  border:1px solid var(--hair);
  color:var(--dim);
  background:transparent;
  font-size:21px;
  line-height:1;
  cursor:pointer;
}
.obs-almanac-close:hover,.obs-almanac-close:focus-visible{border-color:var(--red,#d81f26);color:var(--ink);outline:none}
.obs-almanac-context{display:grid;grid-template-columns:1fr auto;gap:18px;margin-top:21px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--faint)}
.obs-almanac-context strong{color:var(--dim);font-weight:500}
.obs-almanac-context span{min-width:0;overflow-wrap:anywhere}
.obs-almanac-context span:last-child{text-align:right}

.obs-almanac-sections{display:flex;flex-direction:column}
.obs-almanac-section{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);border-bottom:1px solid var(--hair);padding:30px 0;gap:24px}
.obs-almanac-source{min-width:0;max-width:100%;position:relative;font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase;overflow-wrap:anywhere}
.obs-almanac-source b{display:block;max-width:100%;margin-top:9px;font-family:var(--mincho);font-size:34px;font-weight:500;letter-spacing:.08em;color:var(--ink);text-transform:none;white-space:nowrap}
.obs-almanac-reticle{position:absolute;left:2px;bottom:0;width:62px;height:62px;border:1px solid var(--hair);border-radius:50%;opacity:.7}
.obs-almanac-reticle::before,.obs-almanac-reticle::after{content:"";position:absolute;background:var(--hair)}
.obs-almanac-reticle::before{left:50%;top:-8px;width:1px;height:76px}
.obs-almanac-reticle::after{top:50%;left:-8px;width:76px;height:1px}
.obs-almanac-reticle i{position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid var(--red,#d81f26);border-radius:50%;transform:translate(-50%,-50%)}
.obs-almanac-values{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.obs-almanac-value{min-width:0}
.obs-almanac-value .term{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--faint);text-transform:uppercase}
.obs-almanac-value .reading{min-width:0;max-width:100%;margin-top:7px;font-family:var(--mincho);font-size:clamp(21px,3vw,29px);letter-spacing:.06em;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
.obs-almanac-value .reading em{color:var(--red,#d81f26);font-style:normal}
.obs-almanac-note{grid-column:1/-1;margin-top:2px;padding-top:17px;border-top:1px solid var(--hair2);font-size:13px;line-height:1.75;color:var(--dim);overflow-wrap:anywhere;word-break:break-word}
.obs-almanac-provenance{margin-top:26px;font-family:var(--mono);font-size:9px;line-height:1.8;letter-spacing:.1em;color:var(--faint)}
.obs-almanac-provenance b{color:var(--red,#d81f26);font-weight:500}
.obs-almanac-leaf{
  --leaf-accent:var(--red,#d81f26);
  display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.2rem 1.8rem;
  margin-top:2.5rem;padding:1.5rem 0;border-block:1px solid var(--hair);
}
.obs-almanac-leaf[data-day="0"]{--leaf-accent:#8f7bb1}
.obs-almanac-leaf__head{min-width:0;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:baseline;font-family:var(--mono);text-transform:uppercase}
.obs-almanac-leaf__head span,.obs-almanac-leaf__head em{color:var(--faint);font-size:9px;font-style:normal;letter-spacing:.17em}
.obs-almanac-leaf__head b{max-width:100%;font-family:var(--mincho);font-size:1.35rem;font-weight:500;letter-spacing:.08em;text-transform:none;white-space:nowrap}
.obs-mini-sphere{position:relative;display:block;width:9rem;height:9rem;border:1px solid var(--hair);border-radius:50%;align-self:start}
.obs-mini-sphere::before,.obs-mini-sphere::after{content:"";position:absolute;inset:50% 8%;height:1px;background:var(--hair)}
.obs-mini-sphere::after{inset:8% 50%;width:1px;height:auto}
.obs-mini-sphere__orbit{position:absolute;inset:1.1rem;border:1px solid var(--hair2);border-radius:50%;transform:rotate(-18deg) scaleY(.55)}
.obs-mini-sphere__sun,.obs-mini-sphere__moon{--a:0deg;position:absolute;left:calc(50% - .34rem);top:calc(50% - .34rem);width:.68rem;height:.68rem;border-radius:50%;transform:rotate(var(--a)) translateX(3.25rem);transform-origin:.34rem .34rem}
.obs-mini-sphere__sun{background:#b79b55;box-shadow:0 0 1rem color-mix(in srgb,#b79b55 56%,transparent)}
.obs-mini-sphere__moon{border:1px solid var(--leaf-accent);background:var(--void)}
.obs-mini-sphere>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font:400 2rem/1 var(--mincho);color:var(--ink)}
.obs-almanac-leaf__readings dl{margin:0}
.obs-almanac-leaf__readings dl div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--hair2)}
.obs-almanac-leaf__readings dt,.obs-almanac-leaf__readings dd{margin:0;font:var(--fs-label)/1.5 var(--mono);letter-spacing:.08em}
.obs-almanac-leaf__readings dt{color:var(--faint)}.obs-almanac-leaf__readings dd{color:var(--ink)}
.obs-almanac-leaf__readings p{margin:1rem 0;color:var(--dim);font-size:13px;line-height:1.75}
.obs-almanac-leaf__readings a{display:inline-block;color:var(--leaf-accent);font:600 9px/1.5 var(--mono);letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.obs-almanac-line{grid-column:1/-1;display:grid;grid-template-columns:10rem 1fr;gap:1.8rem;padding-top:1.1rem;border-top:1px solid var(--hair2)}
.obs-almanac-line span{color:var(--leaf-accent);font:600 9px/1.55 var(--mono);letter-spacing:.12em}
.obs-almanac-line p{margin:0;color:var(--faint);font-size:12px;line-height:1.7}

@media(max-width:860px){.obs-almanac-trigger{width:34px;min-width:34px;height:32px}}
@media(max-width:620px){
  .obs-almanac-drawer{top:auto;bottom:0;width:100%;height:min(88dvh,760px);border-left:0;border-top:1px solid var(--hair);transform:translateY(102%)}
  .obs-almanac-open .obs-almanac-drawer{transform:translateY(0)}
  .obs-almanac-inner{padding:25px 20px 34px}
  .obs-almanac-close{top:16px;margin:16px 18px -56px auto;background:var(--void)}
  .obs-almanac-context{grid-template-columns:1fr;gap:7px;padding-right:50px}
  .obs-almanac-context span:last-child{text-align:left}
  .obs-almanac-section{grid-template-columns:78px 1fr;gap:16px;padding:24px 0}
  .obs-almanac-source b{font-size:27px}
  .obs-almanac-reticle{width:48px;height:48px}
  .obs-almanac-reticle::before{height:60px}
  .obs-almanac-reticle::after{width:60px}
  .obs-almanac-values{grid-template-columns:1fr;gap:16px}
  .obs-almanac-note{grid-column:1}
  .obs-almanac-leaf{grid-template-columns:7rem 1fr;gap:1rem}
  .obs-almanac-leaf__head{grid-template-columns:1fr auto}.obs-almanac-leaf__head em{grid-column:1/-1}
  .obs-mini-sphere{width:7rem;height:7rem}
  .obs-mini-sphere__sun,.obs-mini-sphere__moon{transform:rotate(var(--a)) translateX(2.45rem)}
  .obs-almanac-line{grid-template-columns:1fr;gap:.45rem}
}
@media(max-width:380px){
  .obs-almanac-source b{font-size:25px;letter-spacing:.04em}
  .obs-almanac-leaf{grid-template-columns:1fr}
  .obs-mini-sphere{justify-self:center}
  .obs-almanac-leaf__readings dl div{grid-template-columns:5.5rem minmax(0,1fr);gap:.65rem}
}
@media(prefers-reduced-motion:reduce){
  .obs-almanac-drawer,.obs-almanac-backdrop{transition:opacity .18s!important}
  .obs-almanac-drawer{transform:none;opacity:0;visibility:hidden}
  .obs-almanac-open .obs-almanac-drawer{opacity:1;visibility:visible}
}
