.dawn-departure-morning-note-wrap {
  position: relative;
  z-index: 2;
  display: grid;
  min-width: 0;
  grid-column: 1 / -1;
  border-top: 3px solid var(--board-ink);
  background: #e8ba6a;
}

.dawn-departure-morning-note {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 92px;
  padding: 13px 17px;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  overflow: hidden;
  border: 0;
  color: var(--board-ink);
  background:
    linear-gradient(31deg, transparent 0 49.5%, rgb(23 40 45 / 12%) 50% 50.6%, transparent 51%) right bottom / 48% 100% no-repeat,
    linear-gradient(-31deg, transparent 0 49.5%, rgb(23 40 45 / 12%) 50% 50.6%, transparent 51%) left bottom / 48% 100% no-repeat,
    #f4d98f;
  box-shadow: inset 9px 0 0 #bc4050;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dawn-departure-morning-note::after {
  position: absolute;
  top: 8px;
  right: -24px;
  width: 86px;
  padding: 4px 0;
  color: #fff4d6;
  background: #296779;
  content: "MORNING";
  font: 950 0.39rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.06em;
  text-align: center;
  transform: rotate(39deg);
}

.dawn-departure-morning-note > span:nth-child(2) {
  display: grid;
  min-width: 0;
  padding-right: 24px;
  gap: 3px;
}

.dawn-departure-morning-note small {
  color: #914055;
  font: 950 0.5rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.075em;
}

.dawn-departure-morning-note strong {
  overflow-wrap: anywhere;
  font-size: 0.92rem;
  line-height: 1.12;
}

.dawn-departure-morning-note > span:nth-child(2) > span {
  color: #4b5b5d;
  font-size: 0.68rem;
  line-height: 1.35;
}

.dawn-departure-morning-note > b {
  color: #7b3547;
  font: 950 0.57rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.08em;
}

.dawn-departure-morning-note-seal {
  display: grid;
  width: 48px;
  aspect-ratio: 1;
  place-items: center;
  border: 4px double #914055;
  border-radius: 50%;
  color: #914055;
  background: #fff0bc;
  box-shadow: 3px 3px 0 rgb(23 40 45 / 18%);
  font: 950 0.62rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  transform: rotate(-6deg);
}

.dawn-departure-morning-note:hover {
  background-color: #ffe6a3;
  box-shadow: inset 12px 0 0 #296779;
}

.dawn-departure-morning-note:active { transform: translateY(1px); }
.dawn-departure-morning-note:focus-visible {
  z-index: 4;
  outline: 4px solid #175cff;
  outline-offset: -7px;
}

.dawn-departure-morning-note:disabled {
  cursor: not-allowed;
  filter: grayscale(0.35);
  opacity: 0.72;
}

.dawn-departure-morning-note[aria-expanded="true"] {
  background-color: #fff1bd;
  box-shadow: inset 12px 0 0 #6b8d75;
}

.dawn-departure-morning-note[aria-expanded="true"]::after { background: #6b8d75; }
.dawn-departure-morning-note[aria-expanded="true"] .dawn-departure-morning-note-seal {
  color: #315f4b;
  border-color: #315f4b;
  background: #dce8c9;
  animation: dawn-morning-seal-open 420ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}

.dawn-departure-morning-note-part {
  display: grid;
  min-width: 0;
  padding: 14px 22px 16px 82px;
  gap: 5px;
  border-top: 2px dashed rgb(23 40 45 / 42%);
  color: var(--board-ink);
  background:
    repeating-linear-gradient(0deg, transparent 0 27px, rgb(41 103 121 / 10%) 27px 28px),
    #fff4d6;
  animation: dawn-morning-report-open 360ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}

.dawn-departure-morning-note-part[hidden] { display: none !important; }
.dawn-departure-morning-note-part:focus-visible { outline: 4px solid #175cff; outline-offset: -5px; }
.dawn-departure-morning-note-part small {
  color: #296779;
  font: 950 0.51rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.07em;
}
.dawn-departure-morning-note-part strong { font-size: 0.94rem; line-height: 1.16; }
.dawn-departure-morning-note-part p {
  max-width: 70ch;
  margin: 0;
  color: #4c5b5d;
  font-size: 0.73rem;
  line-height: 1.45;
}

.dawn-departure-morning-notes {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  margin-top: 22px;
  padding: clamp(16px, 2.5vw, 26px);
  gap: 16px;
  overflow: hidden;
  border: 3px solid var(--board-ink);
  color: var(--board-ink);
  background:
    linear-gradient(164deg, transparent 0 23%, rgb(255 255 255 / 48%) 23.3% 38%, transparent 38.3%),
    repeating-linear-gradient(90deg, transparent 0 86px, rgb(41 103 121 / 7%) 86px 87px),
    #d9e3d2;
  box-shadow: 6px 7px 0 rgb(17 29 34 / 40%);
}

.dawn-departure-morning-notes[hidden],
.dawn-departure-morning-notes [hidden] { display: none !important; }

.dawn-departure-morning-notes::after {
  position: absolute;
  inset: 9px;
  border: 1px dashed rgb(23 40 45 / 20%);
  content: "";
  pointer-events: none;
}

.dawn-departure-morning-notes > * { position: relative; z-index: 1; }

.dawn-departure-morning-notes-heading {
  display: grid;
  min-width: 0;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
}

.dawn-departure-morning-notes-heading > span {
  position: relative;
  display: grid;
  width: 62px;
  aspect-ratio: 1;
  place-items: center;
  border: 4px double #914055;
  border-radius: 50%;
  color: #914055;
  background: #fff4d6;
  box-shadow: 3px 3px 0 #e4ae45;
  font: 950 0.66rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  transform: rotate(-7deg);
}

.dawn-departure-morning-notes-heading > span i {
  position: absolute;
  right: 7px;
  bottom: 8px;
  left: 7px;
  height: 2px;
  background: #914055;
  transform: rotate(7deg);
}

.dawn-departure-morning-notes-heading > div { display: grid; min-width: 0; gap: 4px; }
.dawn-departure-morning-notes-heading small {
  color: #914055;
  font: 950 0.53rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.08em;
}
.dawn-departure-morning-notes-heading strong {
  font-size: clamp(1.25rem, 3vw, 2.05rem);
  letter-spacing: -0.035em;
  line-height: 1;
}
.dawn-departure-morning-notes-heading p {
  max-width: 68ch;
  margin: 0;
  color: #46575a;
  font-size: 0.7rem;
  line-height: 1.42;
}

.dawn-departure-morning-notes-list { display: grid; min-width: 0; gap: 14px; }
.dawn-departure-morning-pair {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 3px solid var(--board-ink);
  background: #fff4d6;
  box-shadow: 4px 4px 0 rgb(41 103 121 / 25%);
}

.dawn-departure-morning-pair > header {
  display: grid;
  min-width: 0;
  padding: 11px 14px;
  gap: 3px;
  border-bottom: 2px solid var(--board-ink);
  background: #e5b65c;
}
.dawn-departure-morning-pair > header small {
  color: #914055;
  font: 950 0.48rem/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.07em;
}
.dawn-departure-morning-pair > header strong { font-size: 0.84rem; line-height: 1.2; }

.dawn-departure-morning-pair-routes {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dawn-departure-morning-pair-routes > div {
  display: grid;
  min-width: 0;
  min-height: 126px;
  padding: 14px;
  align-content: start;
  gap: 5px;
  background: #f1ead3;
}
.dawn-departure-morning-pair-routes > div + div { border-left: 2px dashed rgb(23 40 45 / 44%); }
.dawn-departure-morning-pair-routes > div[data-note-state="open"] { background: #fff8df; }
.dawn-departure-morning-pair-routes small {
  color: #914055;
  font: 950 0.47rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.07em;
}
.dawn-departure-morning-pair-routes strong {
  overflow-wrap: anywhere;
  color: #33474a;
  font: 900 0.71rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace;
}
.dawn-departure-morning-pair-routes em {
  margin-top: 5px;
  color: #687273;
  font: 900 0.5rem/1.3 ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-style: normal;
}
.dawn-departure-morning-pair-routes > div[data-note-state="open"] em { color: #296779; }
.dawn-departure-morning-pair-routes p {
  margin: 0;
  color: #4b5b5d;
  font-size: 0.69rem;
  line-height: 1.42;
}

.dawn-departure-morning-coda {
  display: grid;
  min-width: 0;
  padding: clamp(15px, 2.5vw, 22px);
  grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1fr);
  gap: clamp(15px, 2.5vw, 24px);
  align-items: center;
  border-top: 4px double #914055;
  background: #fff0bc;
  animation: dawn-morning-coda-arrive 520ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}

.dawn-departure-morning-coda:focus-visible { outline: 4px solid #175cff; outline-offset: -6px; }
.dawn-departure-morning-coda > div:last-child { display: grid; min-width: 0; gap: 5px; }
.dawn-departure-morning-coda > div:last-child small {
  color: #914055;
  font: 950 0.51rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.07em;
}
.dawn-departure-morning-coda > div:last-child strong {
  font-size: clamp(1.05rem, 2.6vw, 1.55rem);
  line-height: 1.05;
}
.dawn-departure-morning-coda > div:last-child p {
  margin: 0;
  color: #46575a;
  font-size: 0.75rem;
  line-height: 1.48;
}

.dawn-departure-morning-coda-scene {
  position: relative;
  min-width: 0;
  min-height: 132px;
  overflow: hidden;
  border: 3px solid var(--board-ink);
  background:
    linear-gradient(176deg, transparent 0 70%, rgb(23 40 45 / 13%) 70.5% 72%, transparent 72.5%),
    linear-gradient(#89aeb0 0 54%, #e4ae45 54.5% 100%);
  box-shadow: inset 0 0 0 5px rgb(255 244 214 / 28%);
}

.dawn-departure-morning-coda-scene::after {
  position: absolute;
  right: 0;
  bottom: 18%;
  left: 0;
  height: 4px;
  background: var(--board-ink);
  content: "";
}

.dawn-departure-morning-coda-object {
  position: absolute;
  bottom: 22%;
  z-index: 3;
  display: grid;
  width: 54px;
  aspect-ratio: 1;
  place-items: center;
  overflow-wrap: anywhere;
  border: 4px double #914055;
  border-radius: 50%;
  color: #914055;
  background: #fff4d6;
  box-shadow: 4px 4px 0 rgb(23 40 45 / 24%);
  font: 950 0.48rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-align: center;
}
.dawn-departure-morning-coda-object.is-first { left: 8%; transform: rotate(-6deg); }
.dawn-departure-morning-coda-object.is-second { right: 8%; transform: rotate(6deg); }
.dawn-departure-morning-coda-object i {
  position: absolute;
  bottom: -18px;
  width: 4px;
  height: 17px;
  background: var(--board-ink);
}
.dawn-departure-morning-coda-sun {
  position: absolute;
  top: 10%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: 48px;
  aspect-ratio: 1;
  place-items: center;
  border: 3px solid var(--board-ink);
  border-radius: 50%;
  color: #914055;
  background: #f6ca62;
  font-size: 1.15rem;
  transform: translateX(-50%);
}
.dawn-departure-morning-coda-sun i {
  position: absolute;
  right: -54px;
  left: -54px;
  height: 2px;
  background: rgb(23 40 45 / 32%);
  transform: rotate(-8deg);
}

.dawn-departure-morning-notes-status {
  margin: 0;
  padding: 10px 12px;
  border: 2px dashed var(--board-ink);
  color: #33474a;
  background: rgb(255 244 214 / 68%);
  font: 900 0.6rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace;
}

.dawn-morning-day-shift {
  --day-blue: #356f82;
  --day-red: #9b3e52;
  --day-paper: #fff4d6;
  display: grid;
  min-width: 0;
  border-top: 5px solid var(--board-ink);
  color: var(--board-ink);
  background: #d3dfd2;
}

.dawn-morning-day-shift > header {
  display: grid;
  min-width: 0;
  padding: clamp(16px, 2.5vw, 24px);
  gap: 4px;
  background:
    linear-gradient(92deg, transparent 0 64%, rgb(255 244 214 / 50%) 64.3% 100%),
    #d3dfd2;
}

.dawn-morning-day-shift > header small,
.dawn-morning-day-question > small,
.dawn-morning-day-result > small,
.dawn-morning-day-sources small {
  color: var(--day-red);
  font: 950 0.5rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.075em;
}

.dawn-morning-day-shift > header strong {
  font-size: clamp(1.2rem, 2.7vw, 1.8rem);
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.dawn-morning-day-shift > header p {
  max-width: 68ch;
  margin: 0;
  color: #45585a;
  font-size: 0.72rem;
  line-height: 1.45;
}

.dawn-morning-day-sources {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 2px dashed rgb(23 40 45 / 42%);
  border-bottom: 2px solid var(--board-ink);
  background: #f0e8cf;
}

.dawn-morning-day-sources > div {
  display: grid;
  min-width: 0;
  padding: 12px clamp(14px, 2vw, 20px);
  gap: 3px;
}

.dawn-morning-day-sources > div + div { border-left: 2px dashed rgb(23 40 45 / 42%); }
.dawn-morning-day-sources strong {
  overflow-wrap: anywhere;
  color: #33474a;
  font-size: 0.75rem;
  line-height: 1.25;
}
.dawn-morning-day-sources code {
  overflow-wrap: anywhere;
  color: #5d6b6c;
  font: 850 0.53rem/1.35 ui-monospace, "SFMono-Regular", Menlo, monospace;
}

.dawn-morning-day-body {
  display: grid;
  min-width: 0;
  padding: clamp(15px, 2.5vw, 24px);
  grid-template-columns: minmax(240px, 0.9fr) minmax(280px, 1.1fr);
  gap: clamp(16px, 2.8vw, 28px);
  align-items: stretch;
  background:
    repeating-linear-gradient(0deg, transparent 0 31px, rgb(53 111 130 / 6%) 31px 32px),
    #e8ead8;
}

.dawn-morning-day-scene {
  position: relative;
  min-width: 0;
  min-height: 300px;
  overflow: hidden;
  border: 3px solid var(--board-ink);
  background: #f5ce6c;
  box-shadow: 5px 5px 0 rgb(23 40 45 / 24%);
  isolation: isolate;
}

.dawn-morning-day-scene::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(165deg, transparent 0 54%, rgb(255 244 214 / 34%) 54.4% 69%, transparent 69.4%),
    linear-gradient(#80afbc 0 58%, #e8ba65 58.5% 100%);
  content: "";
  transition: background 240ms ease;
}

.dawn-morning-day-sky {
  position: absolute;
  top: 12%;
  right: 8%;
  left: 8%;
  height: 32%;
  border: 4px double var(--board-ink);
  background:
    linear-gradient(90deg, transparent 0 49%, var(--board-ink) 49.5% 50.5%, transparent 51%),
    linear-gradient(transparent 0 49%, var(--board-ink) 49.5% 50.5%, transparent 51%),
    #b7d1cc;
  box-shadow: inset 0 0 0 5px rgb(255 244 214 / 24%);
}

.dawn-morning-day-sun {
  position: absolute;
  top: 17%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: 58px;
  aspect-ratio: 1;
  place-items: center;
  border: 3px solid var(--board-ink);
  border-radius: 50%;
  color: var(--day-red);
  background: #ffd366;
  box-shadow: 0 0 0 7px rgb(255 244 214 / 32%);
  font-size: 1.45rem;
  transform: translateX(-50%);
}

.dawn-morning-day-counter {
  position: absolute;
  right: 9%;
  bottom: 10%;
  left: 9%;
  z-index: 3;
  height: 29%;
  border: 3px solid var(--board-ink);
  background:
    repeating-linear-gradient(90deg, transparent 0 50px, rgb(23 40 45 / 15%) 50px 53px),
    #b85b57;
  box-shadow: inset 0 9px 0 #e5b65c;
  transition: height 240ms ease, transform 240ms ease, background 240ms ease;
}

.dawn-morning-day-object {
  position: absolute;
  bottom: 31%;
  z-index: 5;
  display: grid;
  width: 58px;
  aspect-ratio: 1;
  place-items: center;
  overflow-wrap: anywhere;
  border: 4px double var(--day-red);
  border-radius: 50%;
  color: var(--day-red);
  background: var(--day-paper);
  box-shadow: 4px 4px 0 rgb(23 40 45 / 24%);
  font: 950 0.5rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-align: center;
  transition: inset 280ms ease, transform 280ms ease;
}

.dawn-morning-day-object.is-first { left: 16%; transform: rotate(-7deg); }
.dawn-morning-day-object.is-second { right: 16%; transform: rotate(7deg); }
.dawn-morning-day-object i {
  position: absolute;
  bottom: -21px;
  width: 4px;
  height: 20px;
  background: var(--board-ink);
}

.dawn-morning-day-bell {
  position: absolute;
  right: 11%;
  bottom: 34%;
  z-index: 6;
  padding: 5px 6px 4px;
  border: 2px solid var(--board-ink);
  border-radius: 50% 50% 3px 3px;
  color: var(--board-ink);
  background: #f3c95d;
  font: 950 0.43rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  transform: rotate(4deg);
}

.dawn-morning-day-ruler {
  position: absolute;
  top: 48%;
  left: 50%;
  z-index: 6;
  display: none;
  width: 62%;
  padding: 7px 8px;
  border: 2px solid var(--board-ink);
  color: #33474a;
  background: #f6dc88;
  font: 950 0.43rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.04em;
  text-align: center;
  transform: translateX(-50%) rotate(-8deg);
}

.dawn-morning-day-sign {
  position: absolute;
  top: 3%;
  left: 4%;
  z-index: 6;
  min-width: 64px;
  padding: 7px 8px;
  border: 2px solid var(--board-ink);
  color: var(--day-paper);
  background: var(--day-blue);
  box-shadow: 3px 3px 0 rgb(23 40 45 / 24%);
  font: 950 0.48rem/1.05 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: pre-line;
  transform: rotate(-3deg);
}

.dawn-morning-day-shift[data-scene-choice=""] .dawn-morning-day-scene::before { filter: saturate(0.62); }
.dawn-morning-day-shift[data-scene-choice=""] .dawn-morning-day-sun { transform: translate(-50%, 14px) scale(0.82); }
.dawn-morning-day-shift[data-scene-choice=""] .dawn-morning-day-object { bottom: 23%; }
.dawn-morning-day-shift[data-scene-choice=""] .dawn-morning-day-bell { opacity: 0.35; }

.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-scene::before {
  background:
    linear-gradient(105deg, transparent 0 27%, rgb(255 244 214 / 54%) 27.3% 52%, transparent 52.3%),
    linear-gradient(#789cac 0 58%, #b8c9b5 58.5% 100%);
}
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-counter {
  height: 17%;
  background: #667d78;
  transform: translateY(6px);
}
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-object.is-first {
  bottom: 25%;
  left: 10%;
  transform: rotate(8deg);
}
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-object.is-second {
  right: 9%;
  bottom: 46%;
  transform: rotate(-10deg);
}
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-bell { display: none; }
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-ruler { display: block; }
.dawn-morning-day-shift[data-scene-choice="choice-2"] .dawn-morning-day-sign {
  right: 4%;
  left: auto;
  color: var(--board-ink);
  background: #f0d277;
  transform: rotate(4deg);
}

.dawn-morning-day-shift[data-day-state="filed"] .dawn-morning-day-scene {
  animation: dawn-morning-day-filed 580ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}

.dawn-morning-day-work {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 13px;
}

.dawn-morning-day-question { display: grid; min-width: 0; gap: 8px; }
.dawn-morning-day-question > strong { font-size: 1rem; line-height: 1.15; }
.dawn-morning-day-question > div { display: grid; min-width: 0; gap: 8px; }

.dawn-morning-day-question > div > button {
  display: grid;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 2px solid var(--board-ink);
  color: var(--board-ink);
  background: #f4edd5;
  box-shadow: 3px 3px 0 rgb(23 40 45 / 20%);
  text-align: left;
  cursor: pointer;
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.dawn-morning-day-question > div > button > span:first-child {
  display: grid;
  width: 31px;
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid var(--day-red);
  border-radius: 50%;
  color: var(--day-red);
  background: #fff2c2;
  font-weight: 950;
}

.dawn-morning-day-question > div > button > span:last-child { display: grid; min-width: 0; gap: 2px; }
.dawn-morning-day-question > div > button strong { font-size: 0.76rem; line-height: 1.2; }
.dawn-morning-day-question > div > button small { color: #58686a; font-size: 0.62rem; line-height: 1.35; }
.dawn-morning-day-question > div > button:hover { background: #fff7dd; transform: translate(-1px, -1px); box-shadow: 5px 5px 0 rgb(23 40 45 / 20%); }
.dawn-morning-day-question > div > button:active { transform: translateY(1px); box-shadow: 2px 2px 0 rgb(23 40 45 / 20%); }
.dawn-morning-day-question > div > button[aria-pressed="true"] {
  border-color: var(--day-blue);
  background: #d8e8dc;
  box-shadow: inset 6px 0 0 var(--day-blue), 3px 3px 0 rgb(23 40 45 / 20%);
}
.dawn-morning-day-question > div > button:focus-visible,
.dawn-morning-day-save:focus-visible,
.dawn-morning-day-result:focus-visible { outline: 4px solid #175cff; outline-offset: 2px; }
.dawn-morning-day-question > div > button:disabled { cursor: not-allowed; filter: grayscale(0.45); opacity: 0.62; }

.dawn-morning-day-save {
  justify-self: start;
  padding: 11px 15px;
  border: 2px solid var(--board-ink);
  color: #fff4d6;
  background: var(--day-red);
  box-shadow: 4px 4px 0 var(--board-ink);
  font: 950 0.65rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.035em;
  cursor: pointer;
}
.dawn-morning-day-save:hover { background: #743749; }
.dawn-morning-day-save:active { transform: translateY(1px); box-shadow: 2px 2px 0 var(--board-ink); }
.dawn-morning-day-save:disabled { cursor: not-allowed; filter: grayscale(0.5); opacity: 0.58; }

.dawn-morning-day-result {
  display: grid;
  min-width: 0;
  padding: clamp(14px, 2.2vw, 20px);
  gap: 5px;
  border: 3px double var(--day-red);
  background: #fff1bd;
  box-shadow: 5px 5px 0 rgb(23 40 45 / 20%);
  animation: dawn-morning-day-result 420ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}
.dawn-morning-day-result > strong { font-size: clamp(1rem, 2.3vw, 1.35rem); line-height: 1.08; }
.dawn-morning-day-result > p {
  margin: 0;
  color: #45585a;
  font-size: 0.73rem;
  line-height: 1.48;
}

.dawn-morning-day-status {
  margin: 0;
  padding: 9px 10px;
  border-left: 4px solid var(--day-blue);
  color: #45585a;
  background: rgb(255 244 214 / 64%);
  font: 850 0.56rem/1.42 ui-monospace, "SFMono-Regular", Menlo, monospace;
}

.dawn-morning-day-shift[data-day-state="held"] .dawn-morning-day-scene,
.dawn-morning-day-shift[data-day-state="held"] .dawn-morning-day-question { filter: grayscale(0.5); }

.dawn-morning-close-shift {
  --close-ink: #182d32;
  --close-blue: #203f4a;
  --close-plum: #713c59;
  --close-coral: #d66e5d;
  --close-paper: #fff0c4;
  display: grid;
  min-width: 0;
  border-top: 7px double var(--close-ink);
  color: var(--close-ink);
  background: #c67b67;
}

.dawn-morning-close-shift > header {
  display: grid;
  min-width: 0;
  padding: clamp(17px, 2.6vw, 26px);
  gap: 4px;
  color: var(--close-paper);
  background:
    linear-gradient(112deg, transparent 0 67%, rgb(255 240 196 / 8%) 67.4% 68%, transparent 68.4%),
    repeating-linear-gradient(90deg, transparent 0 44px, rgb(255 240 196 / 5%) 44px 45px),
    var(--close-blue);
}

.dawn-morning-close-shift > header small,
.dawn-morning-close-question > small,
.dawn-morning-close-result > small,
.dawn-morning-close-receipt small {
  color: #efae77;
  font: 950 0.5rem/1.25 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.08em;
}

.dawn-morning-close-shift > header strong {
  font-size: clamp(1.2rem, 2.8vw, 1.86rem);
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.dawn-morning-close-shift > header p {
  max-width: 68ch;
  margin: 0;
  color: #d9e0d7;
  font-size: 0.72rem;
  line-height: 1.45;
}

.dawn-morning-close-receipt {
  display: grid;
  min-width: 0;
  padding: 11px clamp(14px, 2vw, 20px);
  grid-template-columns: minmax(145px, 0.5fr) minmax(220px, 1fr) auto;
  gap: 8px 16px;
  align-items: center;
  border-top: 2px dashed rgb(255 240 196 / 42%);
  border-bottom: 2px solid var(--close-ink);
  background: var(--close-plum);
}

.dawn-morning-close-receipt strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--close-paper);
  font-size: 0.71rem;
  line-height: 1.3;
}

.dawn-morning-close-receipt span {
  color: #e6d1c0;
  font: 850 0.5rem/1.35 ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-align: right;
}

.dawn-morning-close-body {
  display: grid;
  min-width: 0;
  padding: clamp(15px, 2.5vw, 24px);
  grid-template-columns: minmax(250px, 0.94fr) minmax(280px, 1.06fr);
  gap: clamp(16px, 2.8vw, 28px);
  align-items: stretch;
  background:
    repeating-linear-gradient(0deg, transparent 0 31px, rgb(32 63 74 / 7%) 31px 32px),
    #e4b275;
}

.dawn-morning-close-scene {
  position: relative;
  min-width: 0;
  min-height: 310px;
  overflow: hidden;
  border: 3px solid var(--close-ink);
  background:
    linear-gradient(168deg, transparent 0 59%, rgb(255 240 196 / 26%) 59.4% 71%, transparent 71.4%),
    linear-gradient(#79596d 0 52%, #d06e5d 52.5% 74%, #514d4b 74.5% 100%);
  box-shadow: 5px 5px 0 rgb(24 45 50 / 30%);
  isolation: isolate;
}

.dawn-morning-close-scene::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  height: 25%;
  background:
    repeating-linear-gradient(90deg, transparent 0 52px, rgb(255 240 196 / 10%) 52px 54px),
    #394747;
  content: "";
}

.dawn-morning-close-scene::after {
  position: absolute;
  right: 12%;
  bottom: 24%;
  z-index: 3;
  width: 15px;
  height: 38px;
  border: 2px solid var(--close-ink);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
  background: #f5cc6a;
  box-shadow: 0 0 18px rgb(255 216 111 / 0%);
  content: "";
  opacity: 0.45;
  transition: opacity 240ms ease, box-shadow 240ms ease;
}

.dawn-morning-close-window {
  position: absolute;
  top: 10%;
  right: 8%;
  left: 8%;
  height: 45%;
  border: 4px double var(--close-ink);
  background:
    linear-gradient(90deg, transparent 0 49%, var(--close-ink) 49.5% 50.5%, transparent 51%),
    linear-gradient(transparent 0 65%, var(--close-ink) 65.5% 66.5%, transparent 67%),
    rgb(236 153 105 / 20%);
  box-shadow: inset 0 0 0 5px rgb(255 240 196 / 12%);
}

.dawn-morning-close-sun {
  position: absolute;
  top: 31%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: 56px;
  aspect-ratio: 1;
  place-items: center;
  border: 3px solid var(--close-ink);
  border-radius: 50%;
  color: var(--close-plum);
  background: #f5bb61;
  box-shadow: 0 0 0 7px rgb(255 240 196 / 18%);
  font-size: 1.35rem;
  transform: translateX(-50%);
  transition: top 300ms ease, left 300ms ease, opacity 240ms ease, transform 300ms ease;
}

.dawn-morning-close-clock {
  position: absolute;
  top: 4%;
  right: 4%;
  z-index: 6;
  padding: 6px 8px;
  border: 2px solid var(--close-ink);
  color: var(--close-paper);
  background: var(--close-blue);
  box-shadow: 3px 3px 0 rgb(24 45 50 / 24%);
  font: 950 0.51rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  transform: rotate(2deg);
}

.dawn-morning-close-desk {
  position: absolute;
  right: 8%;
  bottom: 12%;
  left: 8%;
  z-index: 4;
  height: 28%;
  border: 3px solid var(--close-ink);
  background: #95544f;
  box-shadow: inset 0 9px 0 #c78a62;
  transition: background 240ms ease, transform 240ms ease;
}

.dawn-morning-close-object {
  position: absolute;
  bottom: 31%;
  z-index: 6;
  display: grid;
  width: 56px;
  aspect-ratio: 1;
  place-items: center;
  overflow-wrap: anywhere;
  border: 4px double var(--close-plum);
  border-radius: 50%;
  color: var(--close-plum);
  background: var(--close-paper);
  box-shadow: 4px 4px 0 rgb(24 45 50 / 30%);
  font: 950 0.48rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-align: center;
  transition: right 300ms ease, bottom 300ms ease, left 300ms ease, transform 300ms ease;
}

.dawn-morning-close-object.is-first { left: 16%; transform: rotate(-7deg); }
.dawn-morning-close-object.is-second { right: 16%; transform: rotate(7deg); }
.dawn-morning-close-object i {
  position: absolute;
  bottom: -21px;
  width: 4px;
  height: 20px;
  background: var(--close-ink);
}

.dawn-morning-close-form {
  position: absolute;
  right: 15%;
  bottom: 31%;
  z-index: 8;
  display: none;
  width: 48px;
  padding: 10px 5px;
  border: 2px solid var(--close-ink);
  color: var(--close-ink);
  background: #f3d895;
  box-shadow: 3px 3px 0 rgb(24 45 50 / 30%);
  font: 950 0.45rem/1.05 ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-align: center;
  white-space: pre-line;
  transform: rotate(8deg);
}

.dawn-morning-close-sign {
  position: absolute;
  top: 4%;
  left: 4%;
  z-index: 6;
  min-width: 70px;
  padding: 7px 8px;
  border: 2px solid var(--close-ink);
  color: var(--close-paper);
  background: var(--close-plum);
  box-shadow: 3px 3px 0 rgb(24 45 50 / 30%);
  font: 950 0.46rem/1.05 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: pre-line;
  transform: rotate(-3deg);
}

.dawn-morning-close-shift[data-scene-choice=""] .dawn-morning-close-scene { filter: saturate(0.7); }
.dawn-morning-close-shift[data-scene-choice=""] .dawn-morning-close-object { bottom: 27%; }

.dawn-morning-close-shift[data-scene-choice="choice-1"] .dawn-morning-close-sun {
  top: 48%;
  left: 24%;
  transform: translateX(-50%) scale(0.75);
}
.dawn-morning-close-shift[data-scene-choice="choice-1"] .dawn-morning-close-object.is-first {
  bottom: 21%;
  left: 52%;
  transform: rotate(9deg);
}
.dawn-morning-close-shift[data-scene-choice="choice-1"] .dawn-morning-close-object.is-second {
  right: 8%;
  bottom: 22%;
  transform: rotate(-9deg);
}
.dawn-morning-close-shift[data-scene-choice="choice-1"] .dawn-morning-close-desk { transform: translateY(18px); }

.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-scene {
  background:
    radial-gradient(circle at 71% 19%, #f4dfac 0 3px, transparent 4px),
    radial-gradient(circle at 28% 25%, #f4dfac 0 2px, transparent 3px),
    linear-gradient(#364754 0 52%, #775165 52.5% 74%, #343f40 74.5% 100%);
}
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-sun { opacity: 0; transform: translate(-50%, 25px) scale(0.5); }
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-desk { background: #51425a; }
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-object.is-first {
  bottom: 37%;
  left: 11%;
  transform: rotate(5deg);
}
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-object.is-second {
  right: 32%;
  bottom: 25%;
  transform: rotate(-6deg);
}
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-form { display: block; }
.dawn-morning-close-shift[data-scene-choice="choice-2"] .dawn-morning-close-scene::after {
  opacity: 1;
  box-shadow: 0 0 18px rgb(255 216 111 / 76%);
}

.dawn-morning-close-shift[data-close-state="filed"] .dawn-morning-close-scene {
  animation: dawn-morning-close-filed 600ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}

.dawn-morning-close-work {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 13px;
}

.dawn-morning-close-question { display: grid; min-width: 0; gap: 8px; }
.dawn-morning-close-question[hidden],
.dawn-morning-close-result[hidden] { display: none; }
.dawn-morning-close-question > strong { font-size: 1rem; line-height: 1.15; }
.dawn-morning-close-question > div { display: grid; min-width: 0; gap: 8px; }

.dawn-morning-close-question > div > button {
  display: grid;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 2px solid var(--close-ink);
  color: var(--close-ink);
  background: #f3ddae;
  box-shadow: 3px 3px 0 rgb(24 45 50 / 22%);
  text-align: left;
  cursor: pointer;
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.dawn-morning-close-question > div > button > span:first-child {
  display: grid;
  width: 31px;
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid var(--close-plum);
  border-radius: 50%;
  color: var(--close-plum);
  background: #ffe7ae;
  font-weight: 950;
}

.dawn-morning-close-question > div > button > span:last-child { display: grid; min-width: 0; gap: 2px; }
.dawn-morning-close-question > div > button strong { font-size: 0.76rem; line-height: 1.2; }
.dawn-morning-close-question > div > button small { color: #5c5d59; font-size: 0.62rem; line-height: 1.35; }
.dawn-morning-close-question > div > button:hover { background: #fff0c7; transform: translate(-1px, -1px); box-shadow: 5px 5px 0 rgb(24 45 50 / 22%); }
.dawn-morning-close-question > div > button:active { transform: translateY(1px); box-shadow: 2px 2px 0 rgb(24 45 50 / 22%); }
.dawn-morning-close-question > div > button[aria-pressed="true"] {
  border-color: var(--close-plum);
  background: #eab494;
  box-shadow: inset 6px 0 0 var(--close-plum), 3px 3px 0 rgb(24 45 50 / 22%);
}

.dawn-morning-close-question > div > button:focus-visible,
.dawn-morning-close-save:focus-visible,
.dawn-morning-close-result:focus-visible { outline: 4px solid #175cff; outline-offset: 2px; }

.dawn-morning-close-save {
  justify-self: start;
  padding: 11px 15px;
  border: 2px solid var(--close-ink);
  color: var(--close-paper);
  background: var(--close-plum);
  box-shadow: 4px 4px 0 var(--close-ink);
  font: 950 0.65rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: 0.035em;
  cursor: pointer;
}
.dawn-morning-close-save:hover { background: #512f45; }
.dawn-morning-close-save:active { transform: translateY(1px); box-shadow: 2px 2px 0 var(--close-ink); }
.dawn-morning-close-save:disabled { cursor: not-allowed; filter: grayscale(0.5); opacity: 0.58; }

.dawn-morning-close-result {
  display: grid;
  min-width: 0;
  padding: clamp(14px, 2.2vw, 20px);
  gap: 5px;
  border: 4px double var(--close-plum);
  color: var(--close-ink);
  background: var(--close-paper);
  box-shadow: 5px 5px 0 rgb(24 45 50 / 25%);
  animation: dawn-morning-close-result 440ms cubic-bezier(0.2, 0.85, 0.25, 1) both;
}
.dawn-morning-close-result > strong { font-size: clamp(1rem, 2.3vw, 1.38rem); line-height: 1.08; }
.dawn-morning-close-result > p {
  margin: 0;
  color: #4d5958;
  font-size: 0.73rem;
  line-height: 1.48;
}

.dawn-morning-close-status {
  margin: 0;
  padding: 9px 10px;
  border-left: 4px solid var(--close-plum);
  color: #3e5051;
  background: rgb(255 240 196 / 68%);
  font: 850 0.56rem/1.42 ui-monospace, "SFMono-Regular", Menlo, monospace;
}

.dawn-morning-close-shift[data-close-state="held"] .dawn-morning-close-scene { filter: grayscale(0.7); }

@keyframes dawn-morning-close-filed {
  from { filter: saturate(0.6); transform: translateY(10px); }
  70% { filter: saturate(1.12); transform: translateY(-2px); }
  to { filter: saturate(1); transform: translateY(0); }
}

@keyframes dawn-morning-close-result {
  from { opacity: 0; transform: translateY(8px) rotate(0.5deg); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}

@keyframes dawn-morning-day-filed {
  from { filter: saturate(0.65); transform: translateY(10px); }
  70% { filter: saturate(1.18); transform: translateY(-2px); }
  to { filter: saturate(1); transform: translateY(0); }
}

@keyframes dawn-morning-day-result {
  from { opacity: 0; transform: translateY(8px) rotate(-0.5deg); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}

@keyframes dawn-morning-seal-open {
  from { transform: rotate(-6deg) scale(0.72); }
  70% { transform: rotate(8deg) scale(1.08); }
  to { transform: rotate(-2deg) scale(1); }
}

@keyframes dawn-morning-report-open {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes dawn-morning-coda-arrive {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .dawn-departure-morning-note { grid-template-columns: 46px minmax(0, 1fr); padding: 12px 14px; }
  .dawn-departure-morning-note > b { display: none; }
  .dawn-departure-morning-note-seal { width: 42px; }
  .dawn-departure-morning-note-part { padding: 13px 17px; }
  .dawn-departure-morning-pair-routes { grid-template-columns: minmax(0, 1fr); }
  .dawn-departure-morning-pair-routes > div { min-height: 0; }
  .dawn-departure-morning-pair-routes > div + div { border-top: 2px dashed rgb(23 40 45 / 44%); border-left: 0; }
  .dawn-departure-morning-coda { grid-template-columns: minmax(0, 1fr); }
  .dawn-departure-morning-coda-scene { min-height: 150px; }
  .dawn-morning-day-body { grid-template-columns: minmax(0, 1fr); }
  .dawn-morning-day-scene { min-height: 270px; }
  .dawn-morning-close-receipt { grid-template-columns: minmax(0, 1fr); }
  .dawn-morning-close-receipt span { text-align: left; }
  .dawn-morning-close-body { grid-template-columns: minmax(0, 1fr); }
  .dawn-morning-close-scene { min-height: 280px; }
}

@media (max-width: 430px) {
  .dawn-departure-morning-notes { padding: 13px 11px; }
  .dawn-departure-morning-notes-heading { grid-template-columns: 50px minmax(0, 1fr); gap: 11px; }
  .dawn-departure-morning-notes-heading > span { width: 48px; }
  .dawn-departure-morning-notes-heading strong { font-size: 1.12rem; }
  .dawn-departure-morning-note { min-height: 88px; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; box-shadow: inset 7px 0 0 #bc4050; }
  .dawn-departure-morning-note > span:nth-child(2) { padding-right: 17px; }
  .dawn-departure-morning-note-seal { width: 38px; border-width: 3px; }
  .dawn-departure-morning-coda-object { width: 50px; }
  .dawn-morning-day-sources { grid-template-columns: minmax(0, 1fr); }
  .dawn-morning-day-sources > div + div { border-top: 2px dashed rgb(23 40 45 / 42%); border-left: 0; }
  .dawn-morning-day-body { padding: 12px; }
  .dawn-morning-day-scene { min-height: 245px; }
  .dawn-morning-day-object { width: 50px; }
  .dawn-morning-day-question > div > button { grid-template-columns: 30px minmax(0, 1fr); padding: 10px; }
  .dawn-morning-day-question > div > button > span:first-child { width: 28px; }
  .dawn-morning-day-save { width: 100%; justify-self: stretch; }
  .dawn-morning-close-body { padding: 12px; }
  .dawn-morning-close-scene { min-height: 250px; }
  .dawn-morning-close-object { width: 50px; }
  .dawn-morning-close-question > div > button { grid-template-columns: 30px minmax(0, 1fr); padding: 10px; }
  .dawn-morning-close-question > div > button > span:first-child { width: 28px; }
  .dawn-morning-close-save { width: 100%; justify-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .dawn-departure-morning-note,
  .dawn-departure-morning-note-part,
  .dawn-departure-morning-coda,
  .dawn-morning-day-scene,
  .dawn-morning-day-scene::before,
  .dawn-morning-day-counter,
  .dawn-morning-day-object,
  .dawn-morning-day-question > div > button,
  .dawn-morning-day-result,
  .dawn-morning-close-scene,
  .dawn-morning-close-scene::after,
  .dawn-morning-close-sun,
  .dawn-morning-close-desk,
  .dawn-morning-close-object,
  .dawn-morning-close-question > div > button,
  .dawn-morning-close-result { transition: none; animation: none; }
  .dawn-departure-morning-note[aria-expanded="true"] .dawn-departure-morning-note-seal { animation: none; }
}
