#redlineApp .rl-memory-new-dot {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8f1d2c;
  box-shadow: 0 0 0 3px rgba(143, 29, 44, .12);
}

#redlineApp .rlm-loading {
  display: grid;
  height: 100%;
  place-items: center;
  color: var(--rl-muted);
  font-size: 11px;
  letter-spacing: .18em;
}

#redlineApp .rlm-screen {
  box-sizing: border-box;
  min-height: 100%;
  padding: calc(24px + var(--safe-top-inset, 0px)) 16px calc(18px + var(--safe-bottom-inset, 0px));
  overflow: hidden;
  background: #edf0ef;
  color: var(--rl-ink);
}

#redlineApp .rlm-header {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 46px;
  gap: 10px;
}

#redlineApp .rlm-header > div {
  min-width: 0;
}

#redlineApp .rlm-header > div > span,
#redlineApp .rlm-header > small,
#redlineApp .rlm-latest-head,
#redlineApp .rlm-paper-date,
#redlineApp .rlm-user-note span,
#redlineApp .rlm-editor label > span,
#redlineApp .rlm-sticker-picker > span {
  color: #65706d;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}

#redlineApp .rlm-header h1 {
  margin: 3px 0 0;
  overflow: hidden;
  font-family: var(--rl-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#redlineApp .rlm-icon-button {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(21, 21, 21, .16);
  border-radius: 5px;
  background: rgba(255, 255, 255, .7);
  color: var(--rl-ink);
}

#redlineApp .rlm-icon-button svg,
#redlineApp .rlm-timeline-button svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

#redlineApp .rlm-icon-button:active,
#redlineApp .rlm-save-button:active,
#redlineApp .rlm-timeline-button:active,
#redlineApp .rlm-latest button:active,
#redlineApp .rlm-timeline-page:active {
  transform: scale(.985);
}

#redlineApp .rlm-cover {
  position: relative;
  display: grid;
  min-height: 260px;
  margin-top: 13px;
  padding: 30px 24px 20px;
  align-content: center;
  overflow: hidden;
  border: 1px solid rgba(21, 21, 21, .2);
  border-radius: 5px;
  background: #f9faf8;
  box-shadow: 7px 8px 0 #cdd7d1, 0 14px 28px rgba(21, 21, 21, .08);
  text-align: center;
}

#redlineApp .rlm-cover::before,
#redlineApp .rlm-cover::after {
  position: absolute;
  width: 56px;
  height: 18px;
  background: rgba(217, 162, 58, .35);
  content: '';
}

#redlineApp .rlm-cover::before {
  top: 10px;
  left: -11px;
  transform: rotate(-28deg);
}

#redlineApp .rlm-cover::after {
  right: -9px;
  bottom: 12px;
  background: rgba(81, 110, 136, .26);
  transform: rotate(-31deg);
}

#redlineApp .rlm-cover-tape {
  position: absolute;
  top: 13px;
  left: 50%;
  width: 88px;
  height: 22px;
  background: rgba(143, 29, 44, .2);
  transform: translateX(-50%) rotate(-2deg);
}

#redlineApp .rlm-cover-portraits {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

#redlineApp .rlm-cover-portraits i {
  display: grid;
  width: 76px;
  height: 90px;
  padding: 5px 5px 14px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(21, 21, 21, .14);
  background: #fff;
  box-shadow: 2px 3px 0 rgba(21, 21, 21, .12);
}

#redlineApp .rlm-cover-portraits i:first-child { transform: rotate(-7deg); }
#redlineApp .rlm-cover-portraits i:last-child { margin-left: -7px; transform: rotate(7deg); }
#redlineApp .rlm-cover-portraits img,
#redlineApp .rlm-cover-portraits span { width: 100%; height: 100%; object-fit: cover; }
#redlineApp .rlm-cover-portraits span { display: grid; place-items: center; background: #d8e0dd; font-family: var(--rl-serif); font-size: 25px; }

#redlineApp .rlm-cover-portraits b {
  position: relative;
  z-index: 2;
  width: 23px;
  height: 1px;
  background: #8f1d2c;
}

#redlineApp .rlm-cover-portraits b::before {
  position: absolute;
  top: -4px;
  left: 8px;
  width: 7px;
  height: 7px;
  border: 1px solid #8f1d2c;
  border-radius: 50%;
  background: #f9faf8;
  content: '';
}

#redlineApp .rlm-cover p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--rl-serif);
  font-size: 27px;
  font-weight: 600;
  line-height: 1.1;
}

#redlineApp .rlm-cover em {
  position: relative;
  z-index: 1;
  margin-top: 13px;
  color: #8f1d2c;
  font-family: var(--rl-serif);
  font-size: 15px;
}

#redlineApp .rlm-latest {
  margin-top: 18px;
  padding: 13px;
  border: 1px solid rgba(21, 21, 21, .14);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 9px 20px rgba(21, 21, 21, .05);
}

#redlineApp .rlm-latest-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

#redlineApp .rlm-latest button {
  width: 100%;
  margin-top: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rl-ink);
  text-align: left;
}

#redlineApp .rlm-latest strong { display: block; font-family: var(--rl-serif); font-size: 24px; line-height: 1.1; }
#redlineApp .rlm-latest p { margin: 7px 0 9px; color: #4d5754; font-size: 13px; line-height: 1.55; }
#redlineApp .rlm-latest i { color: #8f1d2c; font-size: 11px; font-style: normal; }

#redlineApp .rlm-timeline-button {
  display: grid;
  width: 100%;
  min-height: 62px;
  margin-top: 12px;
  padding: 10px 12px;
  grid-template-columns: minmax(0, 1fr) 20px;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(21, 21, 21, .16);
  border-radius: 5px;
  background: #dbe5df;
  color: var(--rl-ink);
  text-align: left;
}

#redlineApp .rlm-timeline-button span { grid-column: 1; color: #587067; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
#redlineApp .rlm-timeline-button strong { grid-column: 1; font-size: 13px; }
#redlineApp .rlm-timeline-button i { grid-row: 1 / span 2; grid-column: 2; transform: rotate(180deg); }

#redlineApp .rlm-empty { margin-top: 18px; padding: 22px 16px; border-left: 3px solid #d9a23a; background: #fff; }
#redlineApp .rlm-empty strong { font-family: var(--rl-serif); font-size: 22px; }
#redlineApp .rlm-empty p { margin: 7px 0 0; color: #65706d; font-size: 13px; line-height: 1.6; }

#redlineApp .rlm-timeline { display: flex; flex-direction: column; }
#redlineApp .rlm-state-tabs { display: grid; margin: 15px 0 10px; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid rgba(21, 21, 21, .18); }
#redlineApp .rlm-state-tabs button { min-height: 34px; padding: 4px; border: 0; background: transparent; color: #65706d; font-size: 12px; }
#redlineApp .rlm-state-tabs button.is-active { border-bottom: 2px solid #8f1d2c; color: #151515; font-weight: 700; }

#redlineApp .rlm-timeline-list { min-height: 0; flex: 1; overflow-y: auto; padding: 4px 1px 14px; }
#redlineApp .rlm-timeline-page { position: relative; display: grid; width: 100%; min-height: 86px; padding: 12px 12px 12px 70px; grid-template-columns: minmax(0, 1fr) auto; border: 0; border-bottom: 1px dashed rgba(21, 21, 21, .21); background: transparent; color: var(--rl-ink); text-align: left; }
#redlineApp .rlm-timeline-page::before { position: absolute; top: 19px; bottom: -12px; left: 22px; width: 1px; background: #a9b8b0; content: ''; }
#redlineApp .rlm-timeline-page::after { position: absolute; top: 16px; left: 18px; width: 9px; height: 9px; border: 2px solid #edf0ef; border-radius: 50%; background: #8f1d2c; content: ''; }
#redlineApp .rlm-timeline-page time { position: absolute; top: 15px; left: 36px; width: 28px; color: #65706d; font-size: 9px; line-height: 1.2; }
#redlineApp .rlm-timeline-page span { min-width: 0; display: grid; gap: 3px; }
#redlineApp .rlm-timeline-page small { color: #8f1d2c; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
#redlineApp .rlm-timeline-page strong { overflow: hidden; font-family: var(--rl-serif); font-size: 20px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
#redlineApp .rlm-timeline-page em { display: -webkit-box; overflow: hidden; color: #65706d; font-size: 12px; font-style: normal; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#redlineApp .rlm-timeline-page b { align-self: start; color: #8f1d2c; font-size: 8px; letter-spacing: .1em; }
#redlineApp .rlm-empty-text { padding: 22px 0; color: #65706d; text-align: center; }

#redlineApp .rlm-page { display: flex; flex-direction: column; }
#redlineApp .rlm-page-tools { display: flex; gap: 4px; }
#redlineApp .rlm-paper { position: relative; min-height: 0; flex: 1; margin-top: 12px; padding: 27px 18px 25px; overflow-y: auto; border: 1px solid rgba(21, 21, 21, .16); border-radius: 3px; background: #fbfbf9; box-shadow: 6px 6px 0 #d5ddd9, 0 12px 26px rgba(21, 21, 21, .08); }
#redlineApp .rlm-paper-tape { position: absolute; top: 0; right: 24px; width: 66px; height: 21px; background: rgba(81, 110, 136, .23); transform: rotate(4deg); }
#redlineApp .rlm-paper-date { display: block; color: #8f1d2c; }
#redlineApp .rlm-paper h2 { max-width: 90%; margin: 8px 0 9px; font-family: var(--rl-serif); font-size: 32px; font-weight: 600; line-height: .97; }
#redlineApp .rlm-narration { max-width: 340px; margin: 0 0 17px; color: #3f4846; font-size: 14px; line-height: 1.65; }
#redlineApp .rlm-materials { display: grid; gap: 12px; }
#redlineApp .rlm-material { box-sizing: border-box; margin: 0; }
#redlineApp .rlm-material-photo { width: min(100%, 285px); padding: 7px 7px 18px; justify-self: center; border: 1px solid rgba(21, 21, 21, .17); background: #fff; box-shadow: 3px 4px 0 rgba(21, 21, 21, .1); transform: rotate(-1.5deg); }
#redlineApp .rlm-material-photo:nth-child(even) { transform: rotate(1.6deg); }
#redlineApp .rlm-material-photo img { display: block; width: 100%; max-height: 270px; object-fit: cover; }
#redlineApp .rlm-material-photo figcaption { margin-top: 7px; color: #65706d; font-family: var(--rl-serif); font-size: 14px; text-align: center; }
#redlineApp .rlm-material:not(.rlm-material-photo) { padding: 12px 13px; border-left: 3px solid #8f1d2c; background: #f0f3f1; }
#redlineApp .rlm-material-receipt { border-left-color: #d9a23a !important; background: #fff8e9 !important; }
#redlineApp .rlm-material-chat { border-left-color: #587067 !important; background: #e8f0ed !important; }
#redlineApp .rlm-material span { color: #65706d; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
#redlineApp .rlm-material p { margin: 6px 0 0; font-size: 14px; line-height: 1.55; }
#redlineApp .rlm-user-note { margin-top: 17px; padding: 12px 13px; border: 1px dashed #9faaa5; background: #fffdf1; transform: rotate(.5deg); }
#redlineApp .rlm-user-note p { margin: 6px 0 0; color: #434b49; font-family: var(--rl-serif); font-size: 20px; line-height: 1.25; }
#redlineApp .rlm-stickers { display: flex; flex-wrap: wrap; margin-top: 13px; gap: 7px; }
#redlineApp .rlm-sticker { width: 24px; height: 24px; border-radius: 50%; background: #d9a23a; transform: rotate(-9deg); }
#redlineApp .rlm-sticker-tape { border-radius: 2px; background: rgba(81, 110, 136, .5); transform: rotate(-16deg); }
#redlineApp .rlm-sticker-flower { background: #8f1d2c; clip-path: polygon(50% 0,62% 30%,92% 20%,72% 48%,95% 72%,62% 66%,50% 100%,37% 66%,5% 72%,28% 48%,8% 20%,38% 30%); }
#redlineApp .rlm-sticker-star { background: #d9a23a; clip-path: polygon(50% 0,61% 34%,98% 38%,68% 59%,79% 94%,50% 73%,21% 94%,32% 59%,2% 38%,39% 34%); }
#redlineApp .rlm-sticker-cup { border-radius: 2px 2px 8px 8px; background: #587067; }
#redlineApp .rlm-sticker-paw { background: #8f1d2c; clip-path: polygon(42% 17%,35% 0,23% 9%,25% 27%,8% 18%,1% 32%,15% 44%,7% 63%,23% 72%,40% 58%,58% 72%,76% 63%,86% 44%,99% 32%,91% 18%,75% 27%,77% 9%,65% 0,58% 17%); }
#redlineApp .rlm-state-note { margin: 16px 4px 0; color: #65706d; font-size: 12px; line-height: 1.55; text-align: center; }
#redlineApp .rlm-page.is-muted .rlm-paper { opacity: .7; }

#redlineApp .rlm-editor { display: flex; flex-direction: column; }
#redlineApp .rlm-editor-scroll { min-height: 0; flex: 1; overflow-y: auto; padding: 14px 1px; }
#redlineApp .rlm-editor-preview { padding: 16px; border: 1px solid rgba(21, 21, 21, .16); background: #fff; box-shadow: 3px 4px 0 #cdd7d1; }
#redlineApp .rlm-editor-preview strong { font-family: var(--rl-serif); font-size: 25px; }
#redlineApp .rlm-editor-preview p { margin: 5px 0 0; color: #65706d; font-size: 13px; line-height: 1.55; }
#redlineApp .rlm-editor-preview img { display: block; width: 100%; max-height: 180px; margin-top: 12px; object-fit: cover; }
#redlineApp .rlm-photo-picker { display: grid; margin-top: 16px; padding: 14px; gap: 4px; border: 1px dashed #8f1d2c; background: #fff8e9; cursor: pointer; }
#redlineApp .rlm-photo-picker small { color: #65706d; font-size: 11px; }
#redlineApp .rlm-photo-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
#redlineApp .rlm-note-field { display: grid; margin-top: 16px; gap: 7px; }
#redlineApp .rlm-note-field textarea { box-sizing: border-box; width: 100%; min-height: 100px; resize: vertical; padding: 12px; border: 1px solid rgba(21, 21, 21, .18); border-radius: 4px; background: #fbfbf9; color: var(--rl-ink); font-family: var(--rl-serif); font-size: 19px; line-height: 1.35; }
#redlineApp .rlm-sticker-picker { margin-top: 16px; }
#redlineApp .rlm-sticker-picker > div { display: flex; flex-wrap: wrap; margin-top: 8px; gap: 8px; }
#redlineApp .rlm-sticker-choice { width: 35px; height: 35px; padding: 0; border: 1px solid rgba(21, 21, 21, .16); border-radius: 4px; background: #fff; }
#redlineApp .rlm-sticker-choice.is-selected { outline: 2px solid #8f1d2c; outline-offset: 2px; }
#redlineApp .rlm-sticker-choice::after { display: block; width: 22px; height: 22px; margin: auto; background: #d9a23a; content: ''; }
#redlineApp .rlm-sticker-choice.rlm-sticker-tape::after { background: rgba(81, 110, 136, .6); transform: rotate(-16deg); }
#redlineApp .rlm-sticker-choice.rlm-sticker-flower::after { background: #8f1d2c; clip-path: polygon(50% 0,62% 30%,92% 20%,72% 48%,95% 72%,62% 66%,50% 100%,37% 66%,5% 72%,28% 48%,8% 20%,38% 30%); }
#redlineApp .rlm-sticker-choice.rlm-sticker-star::after { background: #d9a23a; clip-path: polygon(50% 0,61% 34%,98% 38%,68% 59%,79% 94%,50% 73%,21% 94%,32% 59%,2% 38%,39% 34%); }
#redlineApp .rlm-sticker-choice.rlm-sticker-cup::after { border-radius: 2px 2px 8px 8px; background: #587067; }
#redlineApp .rlm-sticker-choice.rlm-sticker-paw::after { background: #8f1d2c; clip-path: polygon(42% 17%,35% 0,23% 9%,25% 27%,8% 18%,1% 32%,15% 44%,7% 63%,23% 72%,40% 58%,58% 72%,76% 63%,86% 44%,99% 32%,91% 18%,75% 27%,77% 9%,65% 0,58% 17%); }
#redlineApp .rlm-save-button { width: 100%; min-height: 48px; margin-top: 10px; border: 0; border-radius: 4px; background: #8f1d2c; color: #fff; font-size: 14px; font-weight: 700; }

@media (max-height: 620px) {
  #redlineApp .rlm-screen { padding-top: calc(12px + var(--safe-top-inset, 0px)); }
  #redlineApp .rlm-cover { min-height: 190px; padding: 24px 20px 16px; }
  #redlineApp .rlm-cover-portraits { margin-bottom: 12px; transform: scale(.82); }
  #redlineApp .rlm-cover p { font-size: 23px; }
  #redlineApp .rlm-latest { margin-top: 12px; }
}

@media (orientation: landscape) and (max-height: 560px) {
  #redlineApp .rlm-home { display: grid; grid-template-columns: minmax(210px, .9fr) minmax(220px, 1fr); grid-template-rows: auto 1fr auto; column-gap: 18px; }
  #redlineApp .rlm-home .rlm-header { grid-column: 1 / -1; }
  #redlineApp .rlm-cover { min-height: 0; margin-top: 8px; }
  #redlineApp .rlm-latest { align-self: center; margin-top: 8px; }
  #redlineApp .rlm-timeline-button { grid-column: 2; align-self: end; margin-top: 8px; }
  #redlineApp .rlm-paper { columns: 2; column-gap: 18px; }
  #redlineApp .rlm-paper > * { break-inside: avoid; }
}
