













































@page {
  margin: 0;
}

 






.dxbar { margin-bottom: 22px; }
.dxbar-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 18px;
}
.dxbar-say { grid-row: 1; min-width: 0; }
.dxbar-t { font-size: calc(1.2rem * var(--font-display-scale, 1)); margin: 0; }
.dxbar-s { font-size: 0.8667rem; margin: 3px 0 0; max-width: 68ch; }
.dxbar-go { grid-row: 1; flex: none; }

@media (max-width: 760px) {
  .dxbar-top { grid-template-columns: minmax(0, 1fr); }
  .dxbar-say, .dxbar-go { grid-row: auto; }
  .dxbar-go { justify-self: start; }
}




.dxpaper {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin-top: 16px;
  padding: 14px 16px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.dxpaper-half { min-width: 0; }
.dxpaper-lab { display: block; margin-bottom: 7px; }


.dxpaper-grid { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); max-width: 390px; }
.dxpaper-lits { display: flex; gap: 6px; }
.dxpaper-note { font-size: 0.7333rem; margin: 8px 0 0; max-width: 34ch; }

.dx-problem { padding: 22px; text-align: center; }
.dx-problem-t { font-weight: 600; margin: 0 0 4px; }
.dx-problem .btn { margin-top: 14px; }

 




.dx-paper { display: none; }

.dx {
  --dx-measure: 74ch;
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 44px 48px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-size: 0.9333rem;
  line-height: 1.5;
  color: var(--ink);
}

@media (max-width: 700px) {
  .dx { padding: 24px 18px 30px; border-radius: 10px; }
}



.dx-sheet + .dx-sheet {
  margin-top: 46px;
  padding-top: 40px;
  border-top: 2px solid var(--line-2);
}

.dx-kick { display: block; margin-bottom: 8px; }
.dx-h1 {
  font-family: var(--font-display);
  font-size: calc(2.1rem * var(--font-display-scale, 1));
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
}
.dx-h2 {
  font-family: var(--font-display);
  font-size: calc(1.25rem * var(--font-display-scale, 1));
  margin: 34px 0 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.dx-h3 {
  font-size: calc(1rem * var(--font-display-scale, 1));
  margin: 22px 0 6px;
}
.dx-say { color: var(--muted); font-size: 0.8667rem; margin: 0 0 12px; max-width: var(--dx-measure); }
.dx-lede { color: var(--ink-2); margin: 0 0 20px; max-width: var(--dx-measure); }

 

.dx-mast { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }



.dx-mark {
  display: grid;
  grid-template-columns: repeat(2, 9px);
  gap: 3px;
  flex: none;
}
.dx-mark > i { display: block; width: 9px; height: 9px; border-radius: 2px; background: var(--accent); }
.dx-mark > i:nth-child(2) { background: var(--track-2); }
.dx-mark > i:nth-child(3) { background: var(--track-2); }
.dx-brand {
  font-family: var(--font-display);
  font-size: calc(1.2rem * var(--font-display-scale, 1));
  font-weight: 600;
  line-height: 1.1;
}
.dx-kind {
  font-size: 0.7333rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.dx-name {
  font-family: var(--font-display);
  font-size: calc(2.6rem * var(--font-display-scale, 1));
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
}

.dx-facts {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  gap: 0;
  margin: 0 0 8px;
  max-width: var(--dx-measure);
}
.dx-factlab {
  padding: 7px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8rem;
  color: var(--muted);
}
.dx-factval {
  padding: 7px 0;
  border-top: 1px solid var(--rowline);
  margin: 0;
}

@media (max-width: 560px) {
  .dx-facts { grid-template-columns: minmax(0, 1fr); }
  .dx-factval { padding-top: 0; border-top: 0; }
}

 

.dx-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 6px;
}
.dx-tile { padding: 12px 14px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; }
.dx-tileval { display: flex; align-items: baseline; gap: 6px; }
.dx-tilenum { font-size: 1.5333rem; font-weight: 500; letter-spacing: -0.02em; }
.dx-tileunit { font-size: 0.7667rem; color: var(--muted); }
.dx-tilenote { font-size: 0.7333rem; margin-top: 2px; }

@media (max-width: 560px) {
  .dx-tiles { grid-template-columns: minmax(0, 1fr); }
}

.dx-parts { list-style: none; margin: 14px 0 0; padding: 0; }
.dx-part {
  display: grid;
  grid-template-columns: 11rem 8rem 4.5rem minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-partnum { text-align: right; color: var(--muted); }
.dx-partnote { color: var(--faint); font-size: 0.8rem; }

@media (max-width: 700px) {
  .dx-part { grid-template-columns: minmax(0, 1fr) 4.5rem; }
  .dx-partbar { grid-column: 1 / -1; }
  .dx-partnote { grid-column: 1 / -1; }
}



.dx-bar { display: block; }
.dx-bar > i[data-hued] { background: var(--dx-bar); }

 

.dx-medals {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 8px;
}
.dx-medal {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 3px 10px;
  padding: 8px 11px;
  border-radius: 9px;
  background: var(--dx-face);
  color: var(--dx-ink);
}
.dx-medaldisc {
  grid-row: 1 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px; height: 26px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px currentColor;
}
.dx-medalname { font-weight: 600; font-size: 0.8667rem; }
.dx-medalnote { font-size: 0.7333rem; opacity: 0.85; }

 

.dx-toc { list-style: none; margin: 12px 0 0; padding: 0; max-width: var(--dx-measure); }
.dx-tocrow {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-tocname { font-weight: 600; }
.dx-tocnote { color: var(--faint); text-align: right; }

 




.dx-map .lgrid { max-width: none; }
.dx-map .dec-legend { margin-top: 12px; }


.dx-band { background: var(--dx-band); }

 

.dx-stages { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.dx-stage { display: grid; grid-template-columns: 6px minmax(0, 1fr); gap: 12px; }
.dx-stageband { border-radius: 3px; background: var(--dx-band); }
.dx-stagebody { min-width: 0; padding-bottom: 4px; }
.dx-stagehead { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.dx-stagename { font-size: 1rem; margin: 0; }
.dx-stageages { font-size: 0.7667rem; white-space: nowrap; }
.dx-stagecount { font-size: 0.7667rem; margin: 2px 0 6px; }

.dx-steps, .dx-wins, .dx-winlist { list-style: none; margin: 0; padding: 0; }
.dx-step {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: 0.8667rem;
  padding: 2px 0;
}


.dx-steptick { flex: none; width: 13px; color: var(--faint); }
.dx-steptext { min-width: 0; }
.dx-stepnote {
  flex: none;
  font-size: 0.7333rem;
  color: var(--faint);
  font-style: italic;
}
.dx-step-done { color: var(--muted); text-decoration: line-through; }




.dx-step-done .dx-steptick { color: #245427; }
.dx-step-prog .dx-steptick { color: #584503; }

.dx-winskick { margin-top: 10px; }
.dx-wins { margin-top: 3px; }
.dx-winlist { margin-top: 10px; }
.dx-win {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 2px 12px;
  padding: 5px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-winage { color: var(--muted); font-size: 0.7667rem; padding-top: 2px; }
.dx-wintext { font-weight: 500; }
.dx-winnote { grid-column: 2; font-size: 0.8rem; }

 

.dx-quote {
  margin: 12px 0;
  padding: 12px 16px;
  border-left: 3px solid var(--accent);
  background: var(--refl);
  border-radius: 0 9px 9px 0;
  max-width: var(--dx-measure);
}
.dx-quote p { margin: 4px 0 0; }

.dx-values { list-style: none; margin: 8px 0 0; padding: 0; max-width: var(--dx-measure); }
.dx-value {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  gap: 10px;
  padding: 5px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-valuelab { font-weight: 600; }

.dx-affirms { margin: 8px 0 0; padding-left: 1.1rem; max-width: var(--dx-measure); }
.dx-affirms li { padding: 2px 0; font-size: 0.8667rem; }

 



.dx-tag, .dx-pillar, .dx-habiticon, .dx-blockdot {
  background: var(--dx-face);
  color: var(--dx-ink);
}

.dx-tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.7333rem;
  padding: 2px 7px;
  border-radius: 5px;
  white-space: nowrap;
  flex: none;
}

.dx-pillars { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 0; padding: 0; }
.dx-pillar { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 8px; }
.dx-pillicon { display: inline-flex; }
.dx-pillname { font-weight: 600; font-size: 0.8667rem; }

 

.dx-goals { list-style: none; margin: 12px 0 0; padding: 0; }
.dx-goal { padding: 9px 0; border-top: 1px solid var(--rowline); }
.dx-goalhead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dx-goaltitle { font-weight: 600; }
.dx-goal-done .dx-goaltitle { color: var(--muted); }
.dx-goalmeta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 3px 0 7px;
  font-size: 0.7667rem;
}
.dx-goalnum { color: var(--ink-2); }



.dx-goalnotes {
  list-style: none;
  margin: 7px 0 0;
  padding: 0 0 0 11px;
  border-left: 2px solid var(--rowline);
}
.dx-goalnote { margin-bottom: 4px; font-size: 0.7667rem; line-height: 1.5; }
.dx-goalnote-when { margin-right: 8px; }
.dx-goalnote-text { white-space: pre-wrap; }

 

.dx-habits { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.dx-habit { padding-top: 10px; border-top: 1px solid var(--rowline); }
.dx-habithead { display: flex; align-items: center; gap: 8px; }
.dx-habiticon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 6px;
  flex: none;
}
.dx-habitname { font-weight: 600; flex: 1; min-width: 0; }
.dx-habitsum { font-size: 0.7667rem; white-space: nowrap; }




.dx-spark {
  display: flex;
  align-items: flex-end;
  gap: 1px;
  height: 34px;
  margin: 8px 0 5px;
}
.dx-sparkbar {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 1px 1px 0 0;
  background: var(--dx-bar);
}


.dx-sparkbar[data-blank] { background: var(--quiet); border-radius: 1px; }
.dx-habitfoot { font-size: 0.7333rem; }

 

.dx-blocks { list-style: none; margin: 12px 0 0; padding: 0; }
.dx-block {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-blockdot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 6px;
  flex: none;
}
.dx-blocktime { font-size: 0.7667rem; color: var(--muted); white-space: nowrap; }
.dx-blockname { flex: 1; min-width: 0; font-weight: 500; }
.dx-blockdays { display: flex; gap: 2px; flex: none; }
.dx-blockday {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px; height: 15px;
  border-radius: 3px;
  font-size: 0.6667rem;
  background: var(--quiet);
  color: var(--faint);
}
.dx-blockday.on { background: var(--track-2); color: var(--ink-2); }

 

.dx-prompts { margin: 8px 0 0; padding-left: 1.3rem; max-width: var(--dx-measure); }
.dx-prompt { padding: 3px 0; font-size: 0.8667rem; }
.dx-prompt .dx-tag { margin-left: 8px; }

.dx-chapters { list-style: none; margin: 8px 0 0; padding: 0; }
.dx-chapter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  padding: 6px 0;
  border-top: 1px solid var(--rowline);
  font-size: 0.8667rem;
}
.dx-chaptername { font-weight: 600; }
.dx-chapterwhen { font-size: 0.7667rem; text-align: right; white-space: nowrap; }
.dx-chapterfocus { grid-column: 1 / -1; color: var(--muted); font-size: 0.8rem; }

 

.dx-months { display: flex; gap: 6px; margin: 16px 0 6px; }
.dx-month { flex: 1 1 0; min-width: 0; text-align: center; }
.dx-monthbar {
  display: flex;
  align-items: flex-end;
  height: 44px;
  background: var(--quiet);
  border-radius: 3px;
  overflow: hidden;
}
.dx-monthbar > i { display: block; width: 100%; background: var(--accent); border-radius: 3px 3px 0 0; }
.dx-monthlab { font-size: 0.7333rem; color: var(--muted); margin-top: 3px; }
.dx-monthnum { font-size: 0.6667rem; }

.dx-table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 0.8667rem; }
.dx-table th {
  text-align: left;
  font-size: 0.7333rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 5px 10px 5px 0;
  border-bottom: 1px solid var(--line-2);
}
.dx-table td { padding: 6px 10px 6px 0; border-bottom: 1px solid var(--rowline); vertical-align: top; }
.dx-table td.mono { white-space: nowrap; }

 



















.dx-cal { margin-top: 14px; }



.dx-cal-more { margin-top: 10px; }

















.dx-wrow {
  cursor: default;
  box-shadow: none;
  border-bottom: 1px solid var(--rowline);
  height: auto;
  min-height: var(--dcell);
}
.dx-wrow:last-child { border-bottom: 0; }
.dx-wrow:hover { background: none; }
.dx-wrow.wrow-empty:hover { background: var(--surface-2); }






.dx-wkside {
  flex: 1 1 auto;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 2px;
}


.dx-wkside-h { justify-content: flex-end; padding-block: 0; }






.dx-nums {
  flex: none;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(var(--dx-cols, 1), minmax(0, 1fr));
  gap: 2px;
  align-items: center;
  








  font-size: 0.7333rem;
  line-height: 1.2;
  min-height: 1.2em;
}
.dx-num {
  min-width: 0;
  text-align: right;
  padding-right: 4px;
  color: var(--ink-2);
}




.dx-nums-h {
  align-items: flex-end;
}
.dx-nums-h .dx-num {
  white-space: normal;
  



  overflow-wrap: break-word;
  line-height: 1.15;
  color: inherit;
  




  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}
.dx-cal .hrow { height: auto; align-items: flex-end; }




.dx-cal .days-h { font-size: 0.6rem; letter-spacing: 0; }











.dx-wsum {
  margin: 0;
  padding-right: 4px;
  font-size: 0.8667rem;
  line-height: 1.3;
  min-height: 1.3em;
  color: var(--ink-2);
}














@media screen and (max-width: 760px) {
  .dx-cal .hrow, .dx-cal .wrow { flex-wrap: wrap; }
  .dx-wkside {
    flex-basis: 100%;
    align-self: auto;
    padding-block: 1px 5px;
  }
  


  .dx-nums, .dx-wsum { min-height: 0; }
}

 

.dx-colophon {
  margin-top: 40px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 0.7667rem;
  color: var(--muted);
}
.dx-colophon p { margin: 0 0 3px; max-width: var(--dx-measure); }

 
















@media screen {
  [data-theme="dark"] .dx-tag,
  [data-theme="dark"] .dx-pillar,
  [data-theme="dark"] .dx-habiticon,
  [data-theme="dark"] .dx-blockdot,
  [data-theme="dark"] .dx-medal {
    background: var(--dx-face-d);
    color: var(--dx-ink-d);
  }
  [data-theme="dark"] .dx-band,
  [data-theme="dark"] .dx-stageband { background: var(--dx-band-d); }
  [data-theme="dark"] .dx-sparkbar { background: var(--dx-bar-d); }
  [data-theme="dark"] .dx-sparkbar[data-blank] { background: var(--quiet); }
  [data-theme="dark"] .dx-bar > i[data-hued] { background: var(--dx-bar-d); }
  


  [data-theme="dark"] .dx-step-done .dx-steptick { color: #b2dab2; }
  [data-theme="dark"] .dx-step-prog .dx-steptick { color: #decd9d; }
}

 
@media print {
  [data-print="dark"] .dx-tag,
  [data-print="dark"] .dx-pillar,
  [data-print="dark"] .dx-habiticon,
  [data-print="dark"] .dx-blockdot,
  [data-print="dark"] .dx-medal {
    background: var(--dx-face-d);
    color: var(--dx-ink-d);
  }
  [data-print="dark"] .dx-band,
  [data-print="dark"] .dx-stageband { background: var(--dx-band-d); }
  [data-print="dark"] .dx-sparkbar { background: var(--dx-bar-d); }
  [data-print="dark"] .dx-sparkbar[data-blank] { background: var(--quiet); }
  [data-print="dark"] .dx-bar > i[data-hued] { background: var(--dx-bar-d); }
  [data-print="dark"] .dx-step-done .dx-steptick { color: #b2dab2; }
  [data-print="dark"] .dx-step-prog .dx-steptick { color: #decd9d; }
}

 





@media print {
  .dxbar { display: none !important; }

  













  html[data-record],
  html[data-record][data-font] { font-size: calc(9.75pt * var(--font-scale, 1)); }

  






  .dx-paper {
    display: block;
    position: fixed;
    inset: 0;
    background: var(--bg);
    z-index: -1;
  }

  







  .dx-habits, .dx-stages { display: block; }
  .dx-habits > * + * { margin-top: 14px; }
  .dx-stages > * + * { margin-top: 10px; }

  














  .dx-cal { --dcell: 20px; overflow: visible; }
  .dx-cal .hrow, .dx-cal .wrow { gap: 8px; padding-left: 10px; padding-right: 10px; }
  

  .dx-cal .hrow .mo, .dx-cal .wrow .mo { width: 32px; }
  

  .dx-cal .hrow { break-after: avoid; }
  




  .dx-cal .wrow { min-height: var(--dcell); }
  

  .dx-wrow { break-inside: avoid; }
  

  .dx-cal-more { break-before: page; margin-top: 0; }
  





  .dx-cal .hrow .mo { display: block; }
  .dx-cal .wrow .mo { display: flex; }
  .dx-cal.gridpanel .hrow .wkcol, .dx-cal.gridpanel .wrow .wknum {
    width: 26px; padding-left: 0; align-self: center; display: block;
  }
  



  .dx-cal .hrow { position: static; }
  

  .dx-cal .motag { display: none; }
  .dx-cal .wrow { font-size: 0.9rem; }

  


  


  .dx-cal { overflow: visible; }

  







  









  .dx {
    max-width: none;
    margin: 0;
    padding: 12mm;
    border: 0;
    border-radius: 0;
    background: var(--bg);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  

  .dx-sheet + .dx-sheet {
    break-before: page;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  

  .dx-habit, .dx-stage, .dx-goal, .dx-tile, .dx-medal, .dx-quote,
  .dx-chapter, .dx-win, .dx-value, .dx-months, .dx-part {
    break-inside: avoid;
  }
  .dx-h1, .dx-h2, .dx-h3 { break-after: avoid; }
  .dx-mast, .dx-name { break-after: avoid; }

  









  .dx-map .lgrid { max-width: 118mm; margin-left: auto; margin-right: auto; }
  .dx-map .dec-legend { justify-content: center; }
  


  .dx-plate { break-inside: avoid; }

  









  



  .dx-spark { height: 13mm; }
  .dx-monthbar { height: 16mm; }
}
