:root {
  --prompter-ink: #231b18;
  --prompter-muted: #6e5b4e;
  --prompter-rule: rgba(66, 44, 32, 0.42);
  --prompter-paper: #e8d9b8;
  --prompter-paper-light: #f5ead0;
  --prompter-red: #7c2e27;
}

.promptling-board-toggle {
  appearance: none;
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 2100;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 7px 10px 7px 9px;
  color: #f4c39b;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), transparent 42%),
    #231b17;
  border: 1px solid #9b5834;
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(0,0,0,.46), inset 0 0 0 2px #100d0b, inset 0 1px rgba(255,255,255,.12);
  font: 800 9px/1 ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 180ms ease, transform 180ms ease;
}

.promptling-board-toggle:hover,
.promptling-board-toggle:focus-visible {
  color: #fff3df;
  border-color: #e18b50;
  outline: 2px solid rgba(225,139,80,.35);
  outline-offset: 3px;
}

.promptling-board-toggle.has-live-activity {
  color: #fff1dc;
  border-color: #f0a064;
  animation: promptling-chat-attention 1.35s ease-in-out infinite;
}

@keyframes promptling-chat-attention {
  50% { box-shadow: 0 10px 26px rgba(0,0,0,.46), inset 0 0 0 2px #100d0b, 0 0 0 5px rgba(240,154,91,.2), 0 0 20px rgba(240,135,72,.42); }
}

.promptling-board-toggle svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.promptling-board-unread {
  display: grid;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  place-items: center;
  color: #24140f;
  background: #f09a5b;
  border-radius: 99px;
  font-size: 8px;
  letter-spacing: 0;
  box-shadow: 0 0 10px rgba(240,154,91,.42);
}

.promptling-board-unread[hidden] { display: none; }

body.promptling-board-open .promptling-board-toggle {
  opacity: 0;
  pointer-events: none;
  transform: translateX(12px);
}

.promptling-live-bubble {
  appearance: none;
  position: fixed;
  z-index: 1950;
  display: block;
  width: min(245px, calc(100vw - 20px));
  margin: 0;
  padding: 10px 12px 11px;
  color: #281c17;
  background:
    repeating-linear-gradient(0deg, rgba(91,62,37,.025) 0 1px, transparent 1px 4px),
    #f3e5c7;
  border: 2px solid #3d2a22;
  border-radius: 14px;
  box-shadow: 0 9px 22px rgba(0,0,0,.36);
  text-align: left;
  opacity: 0;
  cursor: pointer;
  transform: translateY(7px) scale(.97);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.22,1,.36,1);
}

.promptling-live-bubble[hidden] { display: none; }

.promptling-live-bubble.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.promptling-live-bubble::after {
  position: absolute;
  bottom: -10px;
  left: var(--live-tail-left, 44px);
  width: 16px;
  height: 16px;
  background: #f3e5c7;
  border-right: 2px solid #3d2a22;
  border-bottom: 2px solid #3d2a22;
  content: '';
  transform: rotate(45deg);
}

.promptling-live-bubble strong {
  display: block;
  margin-bottom: 5px;
  color: #8a382d;
  font: 800 8px/1 ui-monospace, monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.promptling-live-bubble span {
  display: block;
  font: 700 11px/1.32 Georgia, serif;
}

.promptling-board {
  position: fixed;
  top: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2050;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: clamp(700px, 58vw, 880px);
  color: #ead9c8;
  background:
    radial-gradient(circle at 90% 0, rgba(196,104,52,.17), transparent 31%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px),
    #191411;
  border: 1px solid #844726;
  border-radius: 18px;
  box-shadow:
    0 22px 60px rgba(0,0,0,.62),
    inset 0 0 0 3px #0e0b09,
    inset 0 0 0 5px rgba(191,103,54,.32),
    inset 0 1px rgba(255,255,255,.1);
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(100% + 28px));
  transition: opacity 220ms ease, transform 300ms cubic-bezier(.22,1,.36,1);
}

.promptling-board::before,
.promptling-board::after {
  position: absolute;
  z-index: 4;
  width: 7px;
  height: 7px;
  background: radial-gradient(circle at 35% 30%, #f0bb78, #6d321b 56%, #21100a 60%);
  border-radius: 50%;
  box-shadow: 0 1px 2px #000;
  content: '';
}

.promptling-board::before { top: 10px; left: 10px; }
.promptling-board::after { right: 10px; bottom: 10px; }

.promptling-board.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.promptling-board-header {
  position: relative;
  padding: 25px 96px 16px 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), transparent),
    rgba(78,43,27,.42);
  border-bottom: 3px double rgba(226,139,80,.42);
}

.promptling-board-status {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: #d99362;
  font: 800 8px/1 ui-monospace, monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.promptling-board-status span,
.promptling-board-footer i {
  width: 7px;
  height: 7px;
  background: #ef9a59;
  border: 1px solid #ffd4a3;
  border-radius: 50%;
  box-shadow: 0 0 8px #ed7d37;
  animation: promptling-wire-pulse 2.4s ease-in-out infinite;
}

@keyframes promptling-wire-pulse {
  50% { opacity: .45; box-shadow: 0 0 3px #ed7d37; }
}

.promptling-board-header h2 {
  margin: 0;
  color: #f8e9d5;
  font: 800 28px/.95 Georgia, serif;
  letter-spacing: -.025em;
}

.promptling-board-header p {
  margin: 8px 0 0;
  color: #b9a394;
  font: 10px/1.35 ui-monospace, monospace;
}

.promptling-board-close {
  appearance: none;
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0 0 2px;
  color: #eeb88f;
  background: #18120f;
  border: 1px solid #b96f43;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px #080706;
  font: 20px/1 Georgia, serif;
  cursor: pointer;
}

.promptling-board-close:hover,
.promptling-board-close:focus-visible {
  color: #fff3df;
  outline: 2px solid rgba(225,139,80,.35);
  outline-offset: 2px;
}

.promptling-board-body {
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(230px, .75fr);
  min-height: 0;
}

.promptling-board-stream {
  position: relative;
  padding: 4px 14px 30px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #8b4d2e #16110e;
}

.promptling-world-feed {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  background:
    linear-gradient(180deg, rgba(177,104,58,.08), transparent 24%),
    #130f0d;
  border-left: 1px solid rgba(222,144,91,.25);
}

.promptling-world-feed > header {
  display: grid;
  grid-template-columns: 11px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 16px 15px 13px;
  border-bottom: 1px solid rgba(222,144,91,.2);
}

.promptling-world-feed > header > span {
  width: 9px;
  height: 9px;
  margin-top: 2px;
  background: radial-gradient(circle at 35% 30%, #ffe0a8, #d97738 46%, #4f2415 54%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(232,128,67,.52);
}

.promptling-world-feed h3 {
  margin: 0;
  color: #f1d6bc;
  font: 800 13px/1 Georgia, serif;
  letter-spacing: .015em;
}

.promptling-world-feed header p {
  margin: 5px 0 0;
  color: #8f796b;
  font: 7px/1.35 ui-monospace, monospace;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.promptling-world-feed-events {
  min-height: 0;
  padding: 8px 12px 22px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #754029 #120e0c;
}

.promptling-world-event {
  position: relative;
  margin: 0;
  padding: 12px 4px 12px 28px;
  border-bottom: 1px solid rgba(222,144,91,.13);
}

.promptling-world-event::before {
  position: absolute;
  top: 15px;
  left: 5px;
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
  color: #efb07f;
  border: 1px solid rgba(226,139,80,.45);
  border-radius: 50%;
  font: 8px/1 Georgia, serif;
  content: '·';
}

.promptling-world-event[data-event-type="time"]::before { content: '◷'; }
.promptling-world-event[data-event-type="object"]::before { content: '◇'; }
.promptling-world-event[data-event-type="environment"]::before { content: '≈'; }
.promptling-world-event[data-event-type="arrival"]::before { content: '+'; }
.promptling-world-event[data-event-type="publication"]::before { content: '§'; }
.promptling-world-event[data-event-type="action_result"]::before { content: '✓'; }

.promptling-world-event[data-event-state="resolved"] {
  opacity: .55;
}

.promptling-world-event header {
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.promptling-world-event strong {
  color: #d8bda7;
  font: 800 9px/1.15 Georgia, serif;
}

.promptling-world-event time {
  margin-left: auto;
  color: #76675e;
  font: 700 6px/1 ui-monospace, monospace;
}

.promptling-world-event p {
  margin: 5px 0 0;
  color: #ac9a8d;
  font: 9px/1.38 Georgia, serif;
}

.promptling-world-event-tag {
  display: inline-block;
  margin: 7px 4px 0 0;
  padding: 3px 5px;
  color: #9d785f;
  border: 1px solid rgba(192,116,70,.25);
  border-radius: 99px;
  font: 700 5px/1 ui-monospace, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promptling-world-event-action {
  display: block;
  margin: 9px 0 0;
  padding: 6px 8px;
  color: #efbf98;
  background: rgba(128,61,35,.28);
  border: 1px solid rgba(217,126,76,.48);
  border-radius: 6px;
  font: 800 6px/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.promptling-world-event-action:hover,
.promptling-world-event-action:focus-visible {
  color: #fff0dd;
  background: rgba(154,72,38,.46);
  outline: 2px solid rgba(225,132,74,.22);
}

.promptling-board-day {
  position: sticky;
  top: 0;
  z-index: 3;
  width: max-content;
  margin: 10px auto 8px;
  padding: 5px 10px;
  color: #bda99a;
  background: rgba(19,15,13,.92);
  border: 1px solid rgba(218,134,80,.25);
  border-radius: 99px;
  font: 800 7px/1 ui-monospace, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}

.promptling-board-branch {
  position: relative;
  min-width: 0;
}

.promptling-board-stream > .promptling-board-branch {
  margin-bottom: 8px;
  padding: 3px 0 9px;
  border-bottom: 1px solid rgba(221,166,126,.16);
}

.promptling-board-replies {
  position: relative;
  margin-left: 21px;
  padding-left: 9px;
  border-left: 1px solid rgba(225,139,80,.28);
}

.promptling-board-replies::before {
  position: absolute;
  top: 0;
  left: -1px;
  width: 8px;
  height: 1px;
  background: rgba(225,139,80,.28);
  content: '';
}

.promptling-board-post {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  padding: 10px 7px;
  border-radius: 9px;
  transition: background 160ms ease, box-shadow 160ms ease;
}

.promptling-board-post:hover {
  background: rgba(129,77,47,.13);
}

.promptling-board-post.is-live-arrival {
  background: rgba(159,83,43,.2);
  box-shadow: inset 3px 0 #e48c55;
  animation: promptling-arrival-fade 2.8s 1.4s forwards;
}

@keyframes promptling-arrival-fade {
  to { background: transparent; box-shadow: inset 0 0 transparent; }
}

.promptling-board-avatar {
  width: 38px;
  height: 38px;
  object-fit: contain;
  background: radial-gradient(circle, rgba(218,140,84,.2), rgba(0,0,0,.08) 70%);
  border: 1px solid rgba(222,145,92,.36);
  border-radius: 50%;
  filter: saturate(1.08) drop-shadow(0 4px 4px rgba(0,0,0,.4));
}

.promptling-board-post-head {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.promptling-board-post-head strong {
  min-width: 0;
  color: #f0dbc4;
  font: 800 11px/1.1 Georgia, serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.promptling-board-post-head time {
  flex: 0 0 auto;
  margin-left: auto;
  color: #927d70;
  font: 700 7px/1 ui-monospace, monospace;
}

.promptling-board-reply-context {
  margin: 0 0 5px;
  color: #967f70;
  font: 700 7px/1 ui-monospace, monospace;
  letter-spacing: .025em;
}

.promptling-board-message {
  margin: 5px 0 0;
  color: #d9c9bb;
  font: 11px/1.43 Georgia, serif;
}

.promptling-board-mention {
  color: #f1a36e;
  font-weight: 700;
}

.promptling-board-replay {
  appearance: none;
  margin: 9px 0 1px;
  padding: 7px 9px;
  color: #f0c39f;
  background: rgba(143,67,35,.24);
  border: 1px solid rgba(225,132,74,.5);
  border-radius: 7px;
  font: 800 7px/1 ui-monospace, monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}

.promptling-board-replay:hover,
.promptling-board-replay:focus-visible {
  color: #fff2df;
  background: rgba(163,74,37,.46);
  outline: 2px solid rgba(225,132,74,.24);
}

.promptling-board-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 20px 12px;
  color: #8f7d70;
  background: #120e0c;
  border-top: 1px solid rgba(202,128,79,.22);
  font: 700 7px/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.promptling-board-footer span:first-child { display: flex; align-items: center; gap: 7px; color: #bc8e70; }

body.promptling-conversation-mode .promptling-board,
body.promptling-conversation-mode .promptling-board-toggle {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 900px) {
  .promptling-board-toggle {
    top: auto;
    right: 14px;
    bottom: 16px;
    min-width: 48px;
    min-height: 48px;
    justify-content: center;
    border-radius: 50%;
  }

  .promptling-board-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

  .promptling-board-unread {
    position: absolute;
    top: -4px;
    right: -3px;
  }

  .promptling-board {
    top: 60px;
    right: 8px;
    bottom: 8px;
    width: min(390px, calc(100vw - 16px));
  }

  .promptling-board-body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(128px, 31%);
  }

  .promptling-world-feed {
    border-top: 1px solid rgba(222,144,91,.25);
    border-left: 0;
  }

  .promptling-world-feed > header {
    padding: 10px 14px 8px;
  }
}

.daily-prompter-toggle {
  appearance: none;
  position: absolute;
  top: 20px;
  right: 58px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 31px;
  padding: 0;
  color: #f1c49f;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), transparent 45%),
    #18120f;
  border: 1px solid #b96f43;
  border-radius: 8px;
  box-shadow: inset 0 0 0 2px #080706, 0 3px 8px rgba(0,0,0,.28);
  cursor: pointer;
}

.daily-prompter-toggle svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: #f0d7b6;
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px rgba(0,0,0,.45));
}

.daily-prompter-toggle .newspaper-page {
  fill: #e6d1aa;
  stroke: #f4dfbd;
}

.daily-prompter-toggle .newspaper-fold {
  fill: rgba(190,145,100,.22);
  stroke: #f4dfbd;
}

.daily-prompter-toggle svg > path:not(.newspaper-page):not(.newspaper-fold) {
  stroke: #4a2b1d;
  stroke-width: 1.45;
}

.daily-prompter-toggle span {
  position: absolute;
  top: 37px;
  right: -5px;
  width: max-content;
  padding: 5px 7px;
  color: #e8c3a5;
  background: #110d0b;
  border: 1px solid rgba(185,111,67,.7);
  border-radius: 6px;
  font: 800 7px/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-3px);
  transition: opacity 140ms ease, transform 140ms ease;
  white-space: nowrap;
}

.daily-prompter-toggle:hover,
.daily-prompter-toggle:focus-visible {
  color: #fff2df;
  background: #301c15;
  border-color: #e08b55;
  outline: 2px solid rgba(225,139,80,.25);
  outline-offset: 2px;
}

.daily-prompter-toggle:hover span,
.daily-prompter-toggle:focus-visible span {
  opacity: 1;
  transform: translateY(0);
}

.daily-prompter-toggle[disabled] {
  opacity: 0.45;
  cursor: wait;
}

.daily-prompter-overlay,
.promptling-replay-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 42px);
  background: rgba(13, 10, 8, 0.58);
  backdrop-filter: blur(2px) saturate(0.78);
  -webkit-backdrop-filter: blur(2px) saturate(0.78);
  opacity: 0;
  visibility: hidden;
  transition: opacity 220ms ease, visibility 0s linear 220ms;
}

.daily-prompter-overlay.is-visible,
.promptling-replay-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.daily-prompter-overlay[hidden],
.promptling-replay-overlay[hidden] {
  display: none;
}

.daily-prompter-paper {
  position: relative;
  width: min(1120px, 92vw);
  max-height: min(880px, 90dvh);
  padding: clamp(28px, 4vw, 52px);
  color: var(--prompter-ink);
  background:
    radial-gradient(circle at 16% 12%, rgba(255,255,255,.56), transparent 30%),
    radial-gradient(circle at 84% 88%, rgba(103,64,35,.1), transparent 34%),
    repeating-linear-gradient(0deg, rgba(91,62,37,.028) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(91,62,37,.018) 0 1px, transparent 1px 7px),
    var(--prompter-paper);
  border: 1px solid rgba(54, 34, 23, .72);
  outline: 1px solid rgba(255, 244, 213, .6);
  outline-offset: -7px;
  box-shadow:
    0 28px 90px rgba(0,0,0,.68),
    inset 0 0 0 10px rgba(85, 48, 29, .035),
    inset 0 0 0 12px rgba(54, 34, 23, .32),
    inset 0 0 70px rgba(99,67,39,.14);
  overflow: auto;
  transform: translateY(18px) rotate(-.25deg) scale(.98);
  transition: transform 320ms cubic-bezier(.22,1,.36,1);
}

.daily-prompter-paper::before,
.daily-prompter-paper::after {
  content: none;
}

.daily-prompter-overlay.is-visible .daily-prompter-paper {
  transform: translateY(0) rotate(-.25deg) scale(1);
}

.daily-prompter-close,
.promptling-replay-close {
  appearance: none;
  position: absolute;
  top: 11px;
  right: 13px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: currentColor;
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 50%;
  font: 24px/1 Georgia, serif;
  cursor: pointer;
  opacity: .7;
}

.daily-prompter-close:hover,
.daily-prompter-close:focus-visible,
.promptling-replay-close:hover,
.promptling-replay-close:focus-visible {
  opacity: 1;
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.daily-prompter-close {
  top: 18px;
  right: 21px;
  width: 34px;
  height: 34px;
  color: #efb88f;
  background: #201b18;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #201b18, 0 0 0 5px #efb88f;
  opacity: 1;
}

.daily-prompter-close > span {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
}

.daily-prompter-close > span::before,
.daily-prompter-close > span::after {
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 3px;
  background: currentColor;
  border-radius: 2px;
  content: '';
  transform: rotate(45deg);
  transform-origin: center;
}

.daily-prompter-close > span::after { transform: rotate(-45deg); }

.daily-prompter-masthead {
  position: relative;
  padding-bottom: 13px;
  border-top: 5px double var(--prompter-ink);
  border-bottom: 5px double var(--prompter-ink);
  text-align: center;
}

.daily-prompter-masthead::before {
  display: block;
  width: min(430px, 72%);
  height: 8px;
  margin: 5px auto 1px;
  background:
    linear-gradient(var(--prompter-ink), var(--prompter-ink)) left center / calc(50% - 18px) 1px no-repeat,
    linear-gradient(var(--prompter-ink), var(--prompter-ink)) right center / calc(50% - 18px) 1px no-repeat;
  color: var(--prompter-red);
  content: '◆';
  font: 9px/8px Georgia, serif;
}

.daily-prompter-motto {
  margin: 3px 0 2px;
  font: 700 9px/1.3 ui-monospace, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.daily-prompter-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 1.4vw, 20px);
  color: var(--prompter-ink);
}

.daily-prompter-monogram {
  position: relative;
  flex: 0 0 clamp(56px, 5.7vw, 82px);
  width: clamp(56px, 5.7vw, 82px);
  aspect-ratio: 1;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 4px var(--prompter-paper-light),
    inset 0 0 0 6px currentColor,
    0 1px rgba(255,255,255,.45);
}

.daily-prompter-monogram::before,
.daily-prompter-monogram::after {
  position: absolute;
  top: 50%;
  width: clamp(18px, 2.2vw, 34px);
  height: 8px;
  border-top: 1px solid currentColor;
  border-bottom: 3px double currentColor;
  content: '';
}

.daily-prompter-monogram::before { right: calc(100% + 8px); }
.daily-prompter-monogram::after { left: calc(100% + 8px); }

.daily-prompter-monogram b,
.daily-prompter-monogram i {
  position: absolute;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.daily-prompter-monogram b {
  top: 15%;
  left: 17%;
  font-size: clamp(29px, 3.2vw, 46px);
}

.daily-prompter-monogram i {
  right: 16%;
  bottom: 11%;
  color: var(--prompter-red);
  font-size: clamp(23px, 2.55vw, 37px);
}

.daily-prompter-title {
  margin: 0;
  text-shadow: 0 1px rgba(255,255,255,.5), 1px 1px 0 rgba(69,40,27,.12);
}

.daily-prompter-title small {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 4% 2px;
  font: 800 clamp(9px, .8vw, 12px)/1 ui-monospace, monospace;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.daily-prompter-title small::before,
.daily-prompter-title small::after {
  flex: 1;
  height: 3px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: '';
}

.daily-prompter-title strong {
  display: block;
  font: 900 clamp(34px, 6.1vw, 84px)/.78 Georgia, 'Times New Roman', serif;
  letter-spacing: -.065em;
  text-transform: uppercase;
  white-space: nowrap;
}

.daily-prompter-edition {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 9px;
  font: 700 10px/1.3 ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.daily-prompter-edition time {
  padding: 0 14px;
  border-right: 1px solid var(--prompter-rule);
  border-left: 1px solid var(--prompter-rule);
}

.daily-prompter-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.35fr) minmax(220px, .8fr);
  gap: clamp(20px, 3vw, 40px);
  padding-top: clamp(17px, 2.5vw, 28px);
}

.daily-prompter-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 7px;
  color: var(--prompter-red);
  font: 800 10px/1.2 ui-monospace, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.daily-prompter-kicker::before,
.daily-prompter-kicker::after {
  width: 24px;
  height: 1px;
  background: currentColor;
  content: '';
}

.daily-prompter-headline {
  max-width: 16ch;
  margin: 0 0 13px;
  font: 900 clamp(36px, 5.6vw, 76px)/.9 Georgia, 'Times New Roman', serif;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.daily-prompter-standfirst {
  max-width: 62ch;
  margin-bottom: 18px;
  padding: 10px 0;
  border-top: 3px double var(--prompter-rule);
  border-bottom: 3px double var(--prompter-rule);
  font: 700 clamp(15px, 1.6vw, 20px)/1.35 Georgia, serif;
}

.daily-prompter-copy {
  columns: 2 240px;
  column-gap: 28px;
  column-rule: 1px solid var(--prompter-rule);
  font: 15px/1.57 Georgia, 'Times New Roman', serif;
  text-align: justify;
}

.daily-prompter-copy p {
  margin: 0 0 1em;
  break-inside: avoid;
}

.daily-prompter-copy p:first-child::first-letter {
  float: left;
  margin: .05em .08em 0 0;
  color: var(--prompter-red);
  font-size: 3.6em;
  font-weight: 900;
  line-height: .75;
}

.daily-prompter-sidebar {
  position: relative;
  padding: 14px 14px 18px 24px;
  border: 1px solid var(--prompter-rule);
  border-left: 4px double var(--prompter-ink);
  background: rgba(105, 67, 40, .045);
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.1);
}

.daily-prompter-sidebar::before {
  display: block;
  margin: -5px 0 9px;
  color: var(--prompter-red);
  content: 'OFFICIAL REGISTER  •  FILED & SEALED';
  font: 700 8px/1.2 ui-monospace, monospace;
  letter-spacing: .13em;
  text-align: center;
}

.daily-prompter-sidebar h3 {
  margin: 0 0 13px;
  padding-bottom: 7px;
  border-top: 1px solid var(--prompter-rule);
  border-bottom: 4px double var(--prompter-rule);
  font: 900 19px/1 Georgia, serif;
  letter-spacing: .02em;
  text-align: center;
  text-transform: uppercase;
}

.daily-prompter-character {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 3px double var(--prompter-rule);
}

.daily-prompter-character img {
  width: 64px;
  height: 64px;
  padding: 4px;
  object-fit: contain;
  background: radial-gradient(circle, rgba(255,255,255,.32), rgba(97,57,35,.08));
  border: 3px double var(--prompter-rule);
  border-radius: 50%;
  filter: sepia(.24) drop-shadow(0 3px 3px rgba(44,31,22,.22));
}

.daily-prompter-character strong {
  display: block;
  margin-bottom: 4px;
  font: 800 13px/1.05 Georgia, serif;
}

.daily-prompter-character p {
  color: var(--prompter-muted);
  font: 11px/1.4 Georgia, serif;
}

.daily-prompter-replay {
  appearance: none;
  width: 100%;
  margin-top: 5px;
  padding: 13px 14px;
  color: var(--prompter-paper-light);
  background: var(--prompter-red);
  border: 3px double var(--prompter-paper-light);
  outline: 1px solid var(--prompter-red);
  outline-offset: 2px;
  box-shadow: inset 0 0 0 2px rgba(48,20,16,.24), 0 2px 0 rgba(64,39,25,.18);
  font: 800 11px/1.2 ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.daily-prompter-replay::before { content: '☞  '; }

.daily-prompter-replay:hover,
.daily-prompter-replay:focus-visible {
  background: #57201c;
  outline: 2px solid var(--prompter-red);
  outline-offset: 3px;
}

/* Front-page composition: the richer broadsheet language of the original
   concept, populated only with real Promptling artwork and world data. */
.daily-prompter-paper {
  width: min(1480px, 96vw);
  max-height: 94dvh;
  padding: clamp(24px, 3vw, 40px);
}

.daily-prompter-brandline {
  display: grid;
  grid-template-columns: minmax(90px, .55fr) minmax(0, 4fr) minmax(90px, .55fr);
  align-items: center;
  gap: 18px;
}

.daily-prompter-brand { min-width: 0; }

.daily-prompter-credo {
  margin: 0;
  font: 700 9px/1.38 Georgia, serif;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}

.daily-prompter-credo-right {
  padding-right: 34px;
  text-align: right;
}

.daily-prompter-title {
  min-width: 0;
}

.daily-prompter-motto {
  margin: 4px 0 7px;
  font: italic 700 clamp(13px, 1.4vw, 19px)/1.1 Georgia, serif;
  letter-spacing: 0;
  text-transform: none;
}

.daily-prompter-sections {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 9px;
  border-top: 1px solid var(--prompter-rule);
  border-bottom: 1px solid var(--prompter-rule);
}

.daily-prompter-sections > * {
  padding: 9px 12px 8px;
  border-left: 1px solid var(--prompter-rule);
  font: 700 clamp(11px, 1.3vw, 15px)/1 Georgia, serif;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.daily-prompter-sections button {
  appearance: none;
  color: inherit;
  background: transparent;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  cursor: pointer;
}

.daily-prompter-sections button:hover,
.daily-prompter-sections button:focus-visible {
  color: var(--prompter-paper-light);
  background: var(--prompter-red);
  outline: 0;
}

.daily-prompter-sections > :first-child {
  color: var(--prompter-paper-light);
  background: var(--prompter-red);
  border-left: 0;
}

.daily-prompter-edition {
  margin-top: 0;
  padding: 8px 0 6px;
  border-bottom: 1px solid var(--prompter-rule);
  font-size: 8px;
}

.daily-prompter-edition time {
  padding: 0;
  border: 0;
}

.daily-prompter-grid {
  grid-template-columns: minmax(0, 3fr) minmax(205px, 1fr);
  gap: 0;
  padding-top: 0;
  border-bottom: 1px solid var(--prompter-rule);
}

.daily-prompter-grid > main {
  min-width: 0;
  padding: 14px 16px 0 0;
}

.daily-prompter-headline {
  max-width: none;
  margin-bottom: 7px;
  font-size: clamp(38px, 5.8vw, 80px);
  line-height: .82;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.daily-prompter-standfirst {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-top: 0;
  border-bottom: 1px solid var(--prompter-rule);
  font-size: clamp(16px, 1.8vw, 23px);
  font-style: italic;
  line-height: 1.18;
}

.daily-prompter-feature {
  display: grid;
  grid-template-columns: minmax(180px, .72fr) minmax(260px, 1.5fr);
  gap: 14px;
}

.daily-prompter-feature-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.daily-prompter-copy {
  columns: 1;
  font-size: clamp(12px, 1.25vw, 15px);
  line-height: 1.36;
  text-align: left;
}

.daily-prompter-copy p { margin-bottom: .7em; }
.daily-prompter-copy p:first-child::first-letter { font-size: 3.2em; }

.daily-prompter-replay {
  width: auto;
  margin: auto 0 5px;
  padding: 10px 16px;
  font-family: Georgia, serif;
  letter-spacing: .02em;
  text-transform: none;
}

.daily-prompter-scene {
  display: flex;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  flex-direction: column;
}

.daily-prompter-scene-art {
  position: relative;
  min-height: 330px;
  flex: 1 1 auto;
  overflow: hidden;
  background: #3a251b;
  border: 1px solid var(--prompter-rule);
  box-shadow: inset 0 0 35px rgba(37,24,17,.28), 0 1px 0 rgba(255,255,255,.45);
}

.daily-prompter-editorial-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.daily-prompter-scene figcaption {
  padding: 5px 3px 0;
  font: italic 10px/1.28 Georgia, serif;
}

.daily-prompter-dispatches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
  border-top: 1px solid var(--prompter-rule);
}

.daily-prompter-dispatches article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 8px;
  min-width: 0;
  padding: 9px 8px 8px 0;
  border-right: 1px solid var(--prompter-rule);
}

.daily-prompter-dispatches article + article { padding-left: 10px; }
.daily-prompter-dispatches article:last-child { border-right: 0; }
.daily-prompter-dispatches img { width: 104px; height: 82px; object-fit: contain; filter: sepia(.25); }
.daily-prompter-dispatches p:first-child { margin: 0 0 3px; color: var(--prompter-red); font: 700 8px/1 ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.daily-prompter-dispatches h3 { margin: 0 0 4px; font: 900 15px/.98 Georgia, serif; text-transform: uppercase; }
.daily-prompter-dispatches h3 + p { margin: 0; font: 10px/1.3 Georgia, serif; }

.daily-prompter-sidebar {
  padding: 14px 0 0 16px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  background: rgba(105, 67, 40, .025);
}

.daily-prompter-sidebar::before { content: none; }

.daily-prompter-sidebar h3 {
  margin-bottom: 8px;
  padding: 0 0 6px;
  border-top: 0;
  border-bottom: 1px solid var(--prompter-rule);
  color: var(--prompter-red);
  font-size: 14px;
  letter-spacing: .1em;
  text-align: left;
}

.daily-prompter-character {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 9px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--prompter-rule);
}

.daily-prompter-character img {
  width: 72px;
  height: 58px;
  padding: 0;
  background: rgba(119,77,45,.08);
  border: 0;
  border-radius: 0;
}

.daily-prompter-character strong { font-size: 12px; }
.daily-prompter-character p { font-size: 9px; line-height: 1.3; }

.daily-prompter-story {
  margin-bottom: 9px;
  padding: 0 0 9px;
  border-bottom: 1px solid var(--prompter-rule);
}

.daily-prompter-story span {
  color: var(--prompter-red);
  font: 800 7px/1 ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.daily-prompter-story strong {
  display: block;
  margin: 3px 0;
  font: 900 13px/1.05 Georgia, serif;
}

.daily-prompter-story p {
  margin: 0;
  color: var(--prompter-muted);
  font: italic 9px/1.25 Georgia, serif;
}

.daily-prompter-character-compact {
  grid-template-columns: 42px minmax(0, 1fr);
}

.daily-prompter-character-compact img {
  width: 42px;
  height: 40px;
}

.daily-prompter-notices { margin-top: 12px; }

.daily-prompter-notices article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 9px;
  padding: 7px 0;
  border-bottom: 1px solid var(--prompter-rule);
}

.daily-prompter-notices img { width: 54px; height: 48px; object-fit: contain; filter: sepia(.3); }
.daily-prompter-notices h4 { margin: 0 0 3px; font: 800 10px/1.05 Georgia, serif; text-transform: uppercase; }
.daily-prompter-notices p { margin: 0; font: 9px/1.28 Georgia, serif; }

.promptling-replay-overlay {
  background: rgba(7, 7, 7, .4);
  backdrop-filter: blur(1px) brightness(.58);
  -webkit-backdrop-filter: blur(1px) brightness(.58);
}

.promptling-replay {
  position: relative;
  width: min(1040px, 96vw);
  min-height: min(700px, 90dvh);
  padding: clamp(28px, 5vw, 58px);
  color: #f7eee5;
  background: radial-gradient(circle at 50% 72%, rgba(129,80,44,.12), transparent 48%), rgba(17,15,13,.74);
  border: 1px solid rgba(255,139,64,.48);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.06);
  overflow: hidden;
}

.promptling-replay-header {
  max-width: 660px;
  margin: 0 auto 26px;
  text-align: center;
}

.promptling-replay-label {
  color: #f1a26c;
  font: 800 9px/1.2 ui-monospace, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.promptling-replay-title {
  margin: 6px 0 8px;
  font: 800 clamp(26px, 5vw, 46px)/1 Georgia, serif;
}

.promptling-replay-setting {
  color: #bdaea4;
  font: 13px/1.45 Georgia, serif;
}

.promptling-replay-stage {
  position: relative;
  min-height: 430px;
  max-width: 880px;
  margin: 0 auto;
}

.promptling-replay-tilescape {
  position: absolute;
  inset: 0;
  filter: drop-shadow(0 20px 18px rgba(0,0,0,.34));
}

.promptling-replay-tile {
  position: absolute;
  top: calc(136px + var(--replay-tile-y));
  left: calc(50% + var(--replay-tile-x) - 90px);
  width: 180px;
  height: 116px;
}

.promptling-replay-tile-image {
  position: absolute;
  inset: 0;
  width: 180px;
  height: 116px;
  image-rendering: pixelated;
  filter: hue-rotate(var(--archive-tile-hue,0deg)) saturate(var(--archive-tile-saturation,1)) brightness(.9) drop-shadow(0 6px 7px rgba(0,0,0,.4));
  transition: filter 250ms ease, transform 250ms ease;
}

.promptling-replay-tile.is-neighbour .promptling-replay-tile-image {
  filter: hue-rotate(var(--archive-tile-hue,0deg)) saturate(.82) brightness(.7) drop-shadow(0 6px 7px rgba(0,0,0,.4));
}

.promptling-replay-tile.has-protagonist .promptling-replay-tile-image {
  filter: hue-rotate(var(--archive-tile-hue,0deg)) saturate(1.08) brightness(1.08) drop-shadow(0 9px 10px rgba(0,0,0,.48));
}

.promptling-replay-tile.is-speaking .promptling-replay-tile-image {
  filter: hue-rotate(var(--archive-tile-hue,0deg)) saturate(1.22) brightness(1.2) drop-shadow(0 0 12px rgba(255,139,64,.5));
  transform: translateY(-4px);
}

.promptling-replay-figure {
  position: absolute;
  left: 50%;
  bottom: 38px;
  z-index: 2;
  width: 132px;
  height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 16px 15px rgba(0,0,0,.55));
  transform: translateX(-50%);
  transition: transform 220ms ease, filter 220ms ease;
}

.promptling-replay-tile[data-side="left"] .promptling-replay-figure { transform: translateX(-50%) scaleX(-1); }
.promptling-replay-tile.is-speaking .promptling-replay-figure { transform: translateX(-50%) translateY(-10px) scale(1.06); filter: drop-shadow(0 18px 18px rgba(255,132,56,.34)); }
.promptling-replay-tile[data-side="left"].is-speaking .promptling-replay-figure { transform: translateX(-50%) translateY(-10px) scale(1.06) scaleX(-1); }

.promptling-replay-name {
  position: absolute;
  top: 105px;
  left: 50%;
  z-index: 3;
  width: 190px;
  color: #f3c19d;
  font: 800 11px/1.2 ui-monospace, monospace;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 2px 4px #000;
  transform: translateX(-50%);
}

.promptling-speech {
  position: absolute;
  top: 0;
  z-index: 2;
  width: min(390px, 70vw);
  min-height: 86px;
  padding: 16px 18px;
  color: var(--prompter-ink);
  background: var(--prompter-paper-light);
  border: 2px solid #35251d;
  border-radius: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.35);
  font: 700 clamp(14px, 2vw, 18px)/1.4 Georgia, serif;
}

.promptling-speech[data-side="left"] { left: 4%; }
.promptling-speech[data-side="right"] { right: 4%; }
.promptling-speech::after {
  content: '';
  position: absolute;
  bottom: -17px;
  width: 24px;
  height: 24px;
  background: var(--prompter-paper-light);
  border-right: 2px solid #35251d;
  border-bottom: 2px solid #35251d;
  transform: rotate(45deg);
}
.promptling-speech[data-side="left"]::after { left: 50px; }
.promptling-speech[data-side="right"]::after { right: 50px; }

.promptling-speech::before {
  display: block;
  margin: 0 0 7px;
  padding-bottom: 6px;
  color: #7c2e27;
  border-bottom: 1px solid rgba(74,48,35,.22);
  content: attr(data-speaker);
  font: 800 9px/1 ui-monospace, monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.promptling-replay-controls {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
}

.promptling-replay-controls button {
  appearance: none;
  min-height: 38px;
  padding: 8px 13px;
  color: #ead9cb;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  font: 800 9px/1 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.promptling-replay-controls button:hover,
.promptling-replay-controls button:focus-visible {
  color: #fff;
  border-color: #f08b4e;
  outline: none;
}

.promptling-replay-progress {
  min-width: 56px;
  color: #b8a79b;
  font: 700 10px/1 ui-monospace, monospace;
  text-align: center;
}

@media (max-width: 1100px) {
  .daily-prompter-feature { grid-template-columns: 1fr; }

  .daily-prompter-scene {
    grid-row: 1;
    min-height: 0;
  }

  .daily-prompter-scene-art {
    min-height: 0;
    aspect-ratio: 16 / 9;
    flex: none;
  }

  .daily-prompter-feature-copy { grid-row: 2; }

  .daily-prompter-copy {
    columns: 2;
    column-gap: 16px;
  }

  .daily-prompter-replay { margin-top: 8px; }
}

@media (max-width: 720px) {
  .daily-prompter-overlay,
  .promptling-replay-overlay { padding: 7px; }
  .daily-prompter-paper { width: 100%; max-height: 96dvh; padding: 28px 18px; }
  .daily-prompter-grid { grid-template-columns: 1fr; }
  .daily-prompter-sidebar { padding: 18px 0 0; border-top: 2px solid var(--prompter-ink); border-left: 0; }
  .daily-prompter-copy { columns: 1; }
  .daily-prompter-brandline { grid-template-columns: 1fr; }
  .daily-prompter-credo { display: none; }
  .daily-prompter-logo { gap: 8px; }
  .daily-prompter-monogram { flex-basis: 48px; width: 48px; }
  .daily-prompter-monogram::before,
  .daily-prompter-monogram::after { display: none; }
  .daily-prompter-title strong { font-size: clamp(26px, 9.5vw, 48px); }
  .daily-prompter-edition { flex-direction: column; gap: 3px; }
  .promptling-replay { min-height: 94dvh; padding: 44px 14px 24px; }
  .promptling-replay-header { margin-bottom: 8px; }
  .promptling-replay-setting { font-size: 11px; }
  .promptling-replay-stage { min-height: 410px; }
  .promptling-replay-tilescape { left: -24%; width: 148%; transform: scale(.66); transform-origin: 50% 70%; }
  .promptling-replay-name { width: 138px; font-size: 8px; letter-spacing: .035em; }
  .promptling-speech { top: 20px; width: 82vw; }
  .promptling-speech[data-side] { left: 50%; right: auto; transform: translateX(-50%); }
  .promptling-speech[data-side="right"]::after { right: 50px; left: auto; }
  .promptling-replay-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  .promptling-replay-controls button { min-width: 0; width: 100%; padding-inline: 5px; font-size: 8px; }
  #promptlingReplayPaper,
  #promptlingReplayToggle { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .daily-prompter-overlay,
  .promptling-replay-overlay,
  .daily-prompter-paper,
  .promptling-board,
  .promptling-board-toggle,
  .promptling-live-bubble,
  .promptling-replay-figure,
  .promptling-replay-tile-image { transition: none; }

  .promptling-board-toggle.has-live-activity,
  .promptling-board-status span,
  .promptling-board-footer i { animation: none; }
}

.morning-prompter-archive {
  display: none;
}

.morning-prompter-archive[hidden],
body:not(.archive-chronicle) .morning-prompter-archive { display: none; }

.morning-prompter-tile-issue {
  appearance: none;
  position: absolute;
  top: 7px;
  left: 40px;
  z-index: 7;
  width: 68px;
  height: 56px;
  padding: 0;
  color: #241914;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: rotate(-4deg) translateY(-7px);
  transform-origin: 50% 80%;
  cursor: pointer;
  pointer-events: auto;
  transition: transform .18s ease;
}

.morning-prompter-issue-cover {
  position: absolute;
  width: 60px;
  height: 48px;
  padding: 4px;
  box-sizing: border-box;
  border: 1px solid #604334;
  background:
    repeating-linear-gradient(0deg, rgba(87,56,35,.055) 0 1px, transparent 1px 3px),
    #efe0bb;
  box-shadow: 0 3px 4px rgba(0,0,0,.24);
  pointer-events: none;
}

.morning-prompter-issue-cover.is-back {
  top: 8px;
  left: 0;
  z-index: 1;
  filter: brightness(.88) saturate(.72);
}

.morning-prompter-issue-cover.is-middle {
  top: 4px;
  left: 4px;
  z-index: 2;
  filter: brightness(.94) saturate(.84);
}

.morning-prompter-issue-cover.is-front {
  top: 0;
  left: 8px;
  z-index: 3;
  box-shadow: 0 5px 7px rgba(0,0,0,.32), inset 0 0 0 2px rgba(255,250,229,.65);
}

.morning-prompter-tile-issue:hover,
.morning-prompter-tile-issue:focus-visible {
  z-index: 8;
  outline: 0;
  box-shadow: none;
  transform: rotate(-3deg) translateY(-10px) scale(1.03);
}

.morning-prompter-tile-issue:focus-visible .morning-prompter-issue-cover.is-front {
  outline: 2px solid #ffd09c;
  outline-offset: 2px;
}

.morning-prompter-tile-issue strong,
.morning-prompter-tile-issue time {
  display: block;
  width: 100%;
  overflow: visible;
  white-space: nowrap;
}

.morning-prompter-tile-issue strong {
  display: block;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(78,52,40,.7);
  font: 900 4.4px/.95 Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
  text-align: center;
}

.morning-prompter-tile-issue img {
  display: block;
  width: 100%;
  height: 25px;
  margin-top: 2px;
  object-fit: cover;
  filter: saturate(.9) contrast(1.06);
}

.morning-prompter-tile-issue time {
  margin-top: 1px;
  color: #7f2d28;
  font: 800 2.8px/1 ui-monospace, monospace;
  letter-spacing: -.04em;
  text-align: center;
  text-transform: uppercase;
}

body.archive-chronicle:has(.hitbox-layer svg[data-prompter-article-id]:hover) .archive-timeline-date,
body.archive-chronicle:has(.morning-prompter-tile-issue:focus-visible) .archive-timeline-date {
  opacity: 0;
}

.morning-prompter-archive header {
  padding: 8px 8px 11px;
  border-bottom: 3px double #493325;
}

.morning-prompter-archive header p,
.morning-prompter-archive header h2 { margin: 0; }

.morning-prompter-archive header p {
  color: #8e302c;
  font: 800 7px/1.2 ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.morning-prompter-archive header h2 {
  margin-top: 4px;
  font: 900 24px/.95 Georgia, serif;
}

.morning-prompter-issue {
  appearance: none;
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 10px;
  width: 100%;
  padding: 11px 8px;
  color: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(73,51,37,.35);
  text-align: left;
  cursor: pointer;
}

.morning-prompter-issue:hover,
.morning-prompter-issue:focus-visible {
  background: rgba(142,48,44,.09);
  outline: 2px solid rgba(142,48,44,.45);
  outline-offset: -2px;
}

.morning-prompter-issue img {
  width: 76px;
  height: 58px;
  object-fit: cover;
  filter: saturate(.9) contrast(1.04);
  border: 1px solid rgba(73,51,37,.5);
}

.morning-prompter-issue time,
.morning-prompter-issue em,
.morning-prompter-issue strong { display: block; }

.morning-prompter-issue time,
.morning-prompter-issue em {
  color: #8e302c;
  font: 800 7px/1.25 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.morning-prompter-issue strong {
  margin: 4px 0;
  font: 900 15px/1 Georgia, serif;
}

.morning-prompter-issue em { color: #715545; font-style: normal; }

@media (max-width: 720px) {
  .morning-prompter-archive {
    top: 76px;
    right: 8px;
    left: 8px;
    width: auto;
    max-height: 42dvh;
  }
}

/* Conversation mode is a camera view over the live archive tilescape. */
body.promptling-conversation-mode {
  overflow: hidden;
}

body.promptling-conversation-mode .archive-nav,
body.promptling-conversation-mode .netsuke-detail-shell,
body.promptling-conversation-mode .archive-timeline,
body.promptling-conversation-mode .hitbox-layer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.promptling-conversation-mode .tile-container {
  z-index: 2200;
  overflow: visible;
}

body.promptling-conversation-mode .latest-tile-glow {
  display: none;
}

body.promptling-conversation-mode .conversation-prop {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: auto;
  max-width: 74px;
  max-height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 6px 7px rgba(0,0,0,.34));
  pointer-events: none;
  transform: translate(-50%, -62%);
  transform-origin: center bottom;
  animation: conversation-prop-settle 520ms cubic-bezier(.22,1,.36,1) both;
}

body.promptling-conversation-mode .conversation-prop-wool-pocket {
  max-width: 64px;
  max-height: 70px;
}

body.promptling-conversation-mode .conversation-prop-care-label-coin {
  max-width: 86px;
  max-height: 58px;
}

body.promptling-conversation-mode .conversation-prop-crumbs-buttons {
  max-width: 78px;
  max-height: 55px;
}

body.promptling-conversation-mode .conversation-prop-textile-evidence {
  max-width: 84px;
  max-height: 78px;
}

@keyframes conversation-prop-settle {
  from { opacity: 0; transform: translate(-50%, -78%) scale(.9); }
  to { opacity: 1; transform: translate(-50%, -62%) scale(1); }
}

.promptling-conversation-hud {
  position: fixed;
  inset: 0;
  z-index: 3000;
  color: #f7eee5;
  pointer-events: none;
}

.promptling-conversation-hud[hidden] {
  display: none;
}

.promptling-conversation-hud .promptling-replay-header {
  position: fixed;
  top: 20px;
  left: 50%;
  width: min(760px, calc(100vw - 110px));
  margin: 0;
  padding: 10px 18px 12px;
  background: linear-gradient(90deg, transparent, rgba(16,14,12,.76) 14%, rgba(16,14,12,.76) 86%, transparent);
  text-align: center;
  transform: translateX(-50%);
}

.promptling-conversation-hud .promptling-replay-title {
  margin: 4px 0 5px;
  font-size: clamp(24px, 4vw, 42px);
}

.promptling-conversation-hud .promptling-replay-close {
  position: fixed;
  top: 20px;
  right: 20px;
  color: #f3c19d;
  background: rgba(17,15,13,.82);
  pointer-events: auto;
}

.promptling-speech[data-side] {
  right: auto;
  transform: none;
}

.promptling-speech[data-side]::after {
  right: auto;
  left: var(--speech-tail-left, 50px);
}

.promptling-conversation-hud .promptling-replay-controls {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 3;
  display: flex;
  width: max-content;
  max-width: calc(100vw - 24px);
  margin: 0;
  padding: 7px;
  background: rgba(17,15,13,.82);
  border: 1px solid rgba(255,139,64,.34);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.42);
  pointer-events: auto;
  transform: translateX(-50%);
}

.promptling-speech {
  position: fixed;
  z-index: 3100;
  width: min(360px, calc(50vw - 28px));
  min-height: 86px;
  margin: 0;
  transform: none;
  pointer-events: auto;
}

.promptling-speech[hidden] {
  display: none;
}

@media (max-width: 720px) {
  .promptling-conversation-hud .promptling-replay-header {
    top: 8px;
    width: calc(100vw - 64px);
    padding: 8px 6px;
  }

  .promptling-conversation-hud .promptling-replay-title {
    font-size: 22px;
  }

  .promptling-conversation-hud .promptling-replay-setting {
    display: none;
  }

  .promptling-conversation-hud .promptling-replay-close {
    top: 9px;
    right: 9px;
  }

  .promptling-conversation-hud .promptling-replay-controls {
    bottom: 10px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: calc(100vw - 20px);
  }

  .promptling-conversation-hud .promptling-replay-controls button {
    min-width: 0;
    width: 100%;
    padding-inline: 5px;
    font-size: 8px;
  }

  .promptling-conversation-hud #promptlingReplayPaper,
  .promptling-conversation-hud #promptlingReplayToggle {
    grid-column: 1 / -1;
  }

  .promptling-speech {
    width: calc(100vw - 24px);
  }

}

@media (prefers-reduced-motion: reduce) {
  body.promptling-conversation-mode .tile-wrapper,
  body.promptling-conversation-mode .netsuke,
  body.promptling-conversation-mode .tile-surface {
    transition: none;
  }
}
