/* Cork Dispatch Board — track support (Lathhouse Nursery) */
.page-a104-corkboard .tr-rail { box-shadow: 0 4px 0 var(--a104-secondary); }

.ck-stage { padding-bottom: var(--a104-space-8); }

.ck-mast {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--a104-space-4);
  padding: var(--a104-space-6) 0 22px;
}
.ck-mast .a104-display {
  margin: 0 0 var(--a104-space-2);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  color: var(--a104-ink);
}
.ck-mast-copy p { margin: 0; color: var(--a104-mute); max-width: 40ch; }

.ck-badge {
  min-width: 120px;
  padding: 12px 16px;
  border: 2.5px solid var(--a104-ink);
  border-radius: var(--a104-radius);
  background: var(--a104-field-warm);
  text-align: center;
  box-shadow: 3px 3px 0 var(--a104-timber);
}
.ck-badge strong {
  display: block;
  font-family: var(--a104-font-display);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--a104-ink);
}
.ck-badge span {
  font-family: var(--a104-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--a104-mute);
}
.ck-badge.is-found { background: var(--a104-sun); box-shadow: 3px 3px 0 var(--a104-primary); }
.ck-badge.is-miss { background: #FFE4EE; box-shadow: 3px 3px 0 var(--a104-accent); }

.ck-board { padding-top: 14px;
  position: relative;
  padding: var(--a104-space-5) var(--a104-space-4) var(--a104-space-6);
  border: 4px solid var(--a104-timber);
  border-radius: 6px;
  background:
    radial-gradient(circle at 20% 30%, rgba(184, 140, 90, 0.35), transparent 40%),
    radial-gradient(circle at 80% 60%, rgba(140, 96, 60, 0.28), transparent 45%),
    repeating-linear-gradient(
      125deg,
      #C4A574 0 3px,
      #B8955E 3px 6px,
      #C9AB7C 6px 9px,
      #B38A52 9px 12px
    );
  box-shadow:
    inset 0 0 60px rgba(60, 36, 18, 0.25),
    6px 6px 0 var(--a104-ink);
  overflow: visible;
}
.ck-board-grain {
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(40, 24, 10, 0.5), transparent),
    radial-gradient(1px 1px at 40% 70%, rgba(40, 24, 10, 0.4), transparent),
    radial-gradient(1.5px 1.5px at 70% 30%, rgba(40, 24, 10, 0.45), transparent),
    radial-gradient(1px 1px at 90% 80%, rgba(40, 24, 10, 0.35), transparent);
  background-size: 80px 80px, 110px 110px, 90px 90px, 70px 70px;
}

.ck-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid var(--a104-ink);
  background: radial-gradient(circle at 35% 30%, #fff 0 28%, var(--a104-accent) 32% 100%);
  box-shadow: 1px 2px 0 rgba(20, 38, 26, 0.35);
  z-index: 2;
}
.ck-pin--note { top: -6px; left: 50%; transform: translateX(-50%); }
.ck-pin--card { top: -7px; left: 18px; }
.ck-pin--slip { top: -7px; right: 28px; left: auto; }
.ck-pin--alert { top: -7px; left: 22px; }

.ck-note {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 10px auto var(--a104-space-5);
  padding: 28px 22px 22px;
  background:
    linear-gradient(180deg, #FFFDF6 0%, #FFF8E8 100%);
  border: 1.5px solid rgba(20, 38, 26, 0.2);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    3px 4px 10px rgba(40, 24, 10, 0.28);
  opacity: 0;
  transform: rotate(-1.2deg) translateY(14px);
}
.ck-note.is-pinned {
  opacity: 1;
  transform: rotate(-1.2deg);
  transition: opacity 480ms ease, transform 480ms ease;
}
.ck-note-stamp {
  margin: 0 0 14px;
  font-family: var(--a104-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--a104-secondary-deep);
}
.ck-fields { display: grid; gap: var(--a104-space-3); margin-bottom: 14px; }
.ck-field { display: grid; gap: 6px; }
.ck-field span {
  font-family: var(--a104-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--a104-mute);
}
.ck-field input {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px dashed var(--a104-border-strong);
  border-radius: 2px;
  background: transparent;
  font: inherit;
  color: var(--a104-ink);
}
.ck-field.is-focused input,
.ck-field.is-filled input {
  border-style: solid;
  border-color: var(--a104-primary);
  background: rgba(255, 255, 255, 0.65);
}
.ck-another {
  margin: 12px 0 0;
  text-align: center;
  font-size: 0.92rem;
}
.ck-another a { color: var(--a104-link); }

.ck-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border: 2.5px solid var(--a104-ink);
  border-radius: var(--a104-radius);
  font-family: var(--a104-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 3px 3px 0 var(--a104-ink);
}
.ck-btn--pin {
  width: 100%;
  background: var(--a104-primary);
  color: var(--a104-on-primary);
}
.ck-btn--pin:hover { background: var(--a104-primary-deep); color: var(--a104-on-primary); }
.ck-btn--pin.is-pressing { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--a104-ink); }
.ck-btn--primary {
  background: var(--a104-secondary);
  color: var(--a104-on-secondary);
}
.ck-btn--primary:hover { background: var(--a104-secondary-deep); color: var(--a104-on-secondary); }
.ck-text-exit {
  font-family: var(--a104-font-display);
  font-weight: 700;
  color: var(--a104-link);
}

.ck-ribbons {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--a104-space-4);
  margin-bottom: var(--a104-space-5);
}
.ck-card {
  position: relative;
  padding: 22px 14px 14px;
  background: var(--a104-surface);
  border: 1.5px solid rgba(20, 38, 26, 0.18);
  box-shadow: 2px 3px 8px rgba(40, 24, 10, 0.22);
  transform: rotate(var(--ck-tilt, 0deg));
  opacity: 0.55;
  transition: opacity 320ms ease, transform 320ms ease, box-shadow 320ms ease;
}
.ck-ribbons.is-settled .ck-card {
  animation: ck-drop 520ms ease both;
  animation-delay: calc(var(--ck-i, 0) * 70ms);
}
.ck-card.is-done {
  opacity: 1;
  background: var(--a104-field);
}
.ck-card.is-live {
  opacity: 1;
  box-shadow: 3px 4px 0 var(--a104-ink);
  outline: 2px solid var(--a104-primary);
}
.ck-card.is-muted { opacity: 0.35; filter: grayscale(0.4); }
.ck-card.is-idle { opacity: 0.7; }
.ck-card strong {
  display: block;
  font-family: var(--a104-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--a104-ink);
}
.ck-card small {
  display: block;
  margin-top: 4px;
  color: var(--a104-mute);
  font-size: 0.85rem;
}
.ck-ribbon {
  position: absolute;
  top: 10px;
  right: -2px;
  width: 28px;
  height: 10px;
  background: var(--a104-accent);
  clip-path: polygon(0 0, 100% 0, 85% 50%, 100% 100%, 0 100%);
}
.ck-card--leaf .ck-ribbon { background: var(--a104-primary); }
.ck-card--clay .ck-ribbon { background: var(--a104-secondary); }
.ck-card--sun .ck-ribbon { background: var(--a104-sun); }
.ck-card--bloom .ck-ribbon { background: var(--a104-accent); }

@keyframes ck-drop {
  from { opacity: 0; transform: rotate(var(--ck-tilt, 0deg)) translateY(-18px); }
  to { transform: rotate(var(--ck-tilt, 0deg)); }
}

.ck-slip,
.ck-alert {
  position: relative;
  z-index: 1;
  max-width: 480px;
  margin: 0 auto;
  padding: 26px 20px 18px;
  background: #FFFDF8;
  border: 1.5px solid rgba(20, 38, 26, 0.2);
  box-shadow: 3px 4px 10px rgba(40, 24, 10, 0.25);
  transform: rotate(0.8deg);
}
.ck-slip { opacity: 0; transform: rotate(0.8deg) translateY(12px); }
.ck-slip.is-live {
  opacity: 1;
  transform: rotate(0.8deg);
  transition: opacity 450ms ease, transform 450ms ease;
}
.ck-slip-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  font-family: var(--a104-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--a104-mute);
}
.ck-slip-status { color: var(--a104-primary-deep); }
.ck-slip-id {
  margin: 0 0 12px;
  font-family: var(--a104-font-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--a104-ink);
}
.ck-slip-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 0 0 16px;
}
.ck-slip-meta div { margin: 0; }
.ck-slip-meta dt {
  font-family: var(--a104-font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--a104-mute);
}
.ck-slip-meta dd {
  margin: 2px 0 0;
  font-weight: 700;
}
.ck-slip-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.ck-alert strong {
  display: block;
  font-family: var(--a104-font-display);
  font-weight: 800;
  margin-bottom: 6px;
}
.ck-alert p { margin: 0 0 10px; color: var(--a104-mute); }
.ck-alert.is-miss { background: #FFF0F5; }

.ck-trail {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  margin-top: var(--a104-space-5);
  padding: 0;
  font-family: var(--a104-font-display);
  font-weight: 700;
  font-size: 0.92rem;
}
.ck-trail a { color: var(--a104-link); }

@media (min-width: 720px) {
  .ck-ribbons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ck-board { padding-top: 14px; padding: var(--a104-space-6); }
}
@media (max-width: 520px) {
  .ck-slip-meta { grid-template-columns: 1fr 1fr; }
  .ck-note { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ck-note,
  .ck-slip,
  .ck-ribbons.is-settled .ck-card {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
}

/* ui-pass:cta */
body.a104-body a.ck-btn--primary,
body.a104-body a.ck-btn--primary:hover { color: var(--a104-on-secondary); }
body.a104-body a.ck-btn--ghost { color: var(--a104-ink); }

/* ui-pass:touch */
.ck-btn, .ck-btn--primary, .ck-btn--ghost { min-height: 44px; }
body.a104-body a.ck-btn--ghost:hover { color: var(--a104-ink); }
