/* The board heading sits inside its original narrow timber rail. */
.painted-station .paint-board-heading { pointer-events: none; }
.painted-station .paint-board-title {
  fill: url(#paintLetterInk);
  stroke: #513720;
  stroke-width: .15;
  paint-order: stroke;
  filter: url(#paintEngraving);
  font: 600 8.6px Georgia, "Times New Roman", serif;
  letter-spacing: 1.1px;
}
[data-theme="dark"] .painted-station .paint-board-heading { filter: brightness(.78) saturate(.8); }

/* Each path is one handwritten stroke on the receding painted paper. */
.painted-station .handwritten-hello { pointer-events: none; }
.painted-station .hello-ink { opacity: 0; }
.painted-station .hello-stroke {
  fill: none;
  stroke: #382c24;
  stroke-width: 1.02;
  vector-effect: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1 1;
  stroke-dashoffset: 1;
  opacity: 0;
}
[data-theme="dark"] .painted-station .hello-stroke { stroke: #30251e; }
.writing-seat {
  --seat-thread: #d2a260;
  --seat-warmth: #f3ce8b;
  --seat-glow-low: .23;
  --seat-glow-high: .47;
  cursor: pointer;
}
.painted-station .writing-seat-hit { fill: transparent; stroke: none; pointer-events: all; }
.writing-seat-warmth, .writing-seat-shadow, .writing-seat-stitch {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
/* The dark stitch recess keeps the gold thread visible on the pale fabric.
   The light follows that same painted cushion seam, without moving the seat. */
.writing-seat-shadow { stroke: #695134; stroke-width: 2.1; opacity: .72; }
.writing-seat-stitch {
  stroke: var(--seat-thread);
  stroke-width: 1.08;
  opacity: .9;
  animation: seatThreadBreath 4.4s ease-in-out infinite;
  transition: stroke .2s, stroke-width .2s;
}
.writing-seat-warmth {
  stroke: var(--seat-warmth);
  stroke-width: 3;
  opacity: var(--seat-glow-low);
  filter: blur(.65px) drop-shadow(0 0 1.1px rgba(236, 190, 109, .35));
  animation: seatWarmthBreath 4.4s ease-in-out infinite;
}
.st-writing.is-near .writing-seat { --seat-thread: #e9bb75; --seat-glow-low: .3; --seat-glow-high: .58; }
[data-theme="dark"] .writing-seat {
  --seat-thread: #efcb92;
  --seat-warmth: #ffd89c;
  --seat-glow-low: .34;
  --seat-glow-high: .65;
}
[data-theme="dark"] .writing-seat-shadow { stroke: #30291f; opacity: .88; }
[data-theme="dark"] .st-writing.is-near .writing-seat { --seat-thread: #ffe0ac; --seat-glow-low: .43; --seat-glow-high: .75; }
.writing-seat:hover .writing-seat-stitch,
.layer-ground:has(#writing-seat-control:hover, #writing-seat-control:focus-visible) .writing-seat-stitch {
  stroke: #ffe8b8;
  stroke-width: 1.45;
  animation: none;
  opacity: 1;
}
.writing-seat:hover .writing-seat-warmth,
.layer-ground:has(#writing-seat-control:hover, #writing-seat-control:focus-visible) .writing-seat-warmth {
  animation: none;
  opacity: .76;
}
/* The semantic control shares the cushion's world coordinates. Its feedback
   is drawn on the textile above, rather than as a separate website button. */
#writing-seat-control { position: absolute; z-index: 3; padding: 0; border: 0; background: transparent; border-radius: 50%; cursor: pointer; touch-action: manipulation; pointer-events: auto; }
#writing-seat-control:focus-visible { outline: none; }
@media (max-width: 720px) { #writing-seat-control { min-height: 44px; } }
@keyframes seatThreadBreath { 0%,100% { opacity: .77; } 50% { opacity: 1; } }
@keyframes seatWarmthBreath { 0%,100% { opacity: var(--seat-glow-low); } 50% { opacity: var(--seat-glow-high); } }
/* The clock controls the preserved sleeve and brush, including pen lifts. */
.act-write .painted-character .cb-arm { animation: none; }
.painted-writing-rig { position: absolute; width: 233.333333% !important; height: 110% !important; left: -33.333333%; top: -5%; display: none; pointer-events: none; z-index: 0; }
.has-writing-paint.act-write .painted-writing-rig { display: block; }
.has-writing-paint.act-write .writing-native-base { opacity: 0; }
[data-theme="dark"] .painted-writing-rig { filter: brightness(.77) saturate(.8); }
.actor > .writing-brush-plane { position: absolute; width: 233.333333% !important; height: 110% !important; left: -33.333333%; top: -5%; display: none; pointer-events: none; z-index: 0; overflow: visible; }
.has-writing-paint.act-write .writing-brush-plane { display: block; }
.writing-brush-plane * { pointer-events: none; }
.writing-tip-contact { fill: #423b2c; }
.actor-lighting .writing-brush-plane { filter: url(#actor-tonal-day); }
[data-theme="dark"] .writing-brush-plane { filter: brightness(.77) saturate(.8); }
[data-theme="dark"] .actor-lighting .writing-brush-plane { filter: url(#actor-tonal-night) saturate(.86); }
.st-writing.is-inking .ink-glint { stroke: #a6b39d; opacity: .7; }
@media (prefers-reduced-motion: reduce) {
  .st-writing.is-acting .hello-ink { opacity: 1 !important; }
  .st-writing.is-acting .hello-stroke { stroke-dashoffset: 0 !important; opacity: 1 !important; }
  .act-write .painted-character .cb-arm { animation: none !important; }
  .writing-seat-stitch { animation: none; opacity: 1; }
  .writing-seat-warmth { animation: none; opacity: var(--seat-glow-high); }
}
