/* Locked T3 + H3 + D1 Stash card. */
/* Requests Q3: sender chips filter a single pile; tones reuse reqcard.css. */
.requests-page { min-width: 0; }
.requests-senders { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.requests-senders button:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }
.requests-list { display: flex; flex-direction: column; }
.scard.tone-partypar .scard-heading {
  background: repeating-linear-gradient(135deg,
    oklch(0.36 0.12 355) 0 14px, oklch(0.38 0.09 40) 14px 28px);
}
.scard.tone-sms .scard-heading { background: oklch(0.24 0.035 195); }
.scard:is(.tone-partypar, .tone-sms) .scard-heading { border-radius: 12px; padding: 8px 12px 0; margin-bottom: 12px; }
.scard {
  min-width: 0;
  background: var(--card);
  border-radius: 22px;
  padding: 16px 20px;
  margin-bottom: 16px;
  break-inside: avoid;
}
.scard-heading { display: flex; align-items: center; gap: 10px; }
.scard-heading .inbox-card-header { flex: 1; min-width: 0; }
.scard .scard-has-voice { grid-template-columns: 30px minmax(0, 1fr) auto auto; }
.scard .voice-len { color: var(--pink); font: 400 11.5px var(--font-mono); white-space: nowrap; }
.scard-select {
  flex: none;
  width: 26px;
  height: 26px;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: transparent;
  color: var(--text);
  margin-bottom: 10px;
  cursor: pointer;
}
.scard-select[aria-pressed="true"] { background: var(--pink); color: #2a0f1c; border-color: var(--pink); }
.scard-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; }
.scard-words { min-width: 0; }
.scard-text { touch-action: manipulation; /* a double tap edits (edit round 1, B), never zooms */ font: 500 16px/1.55 var(--font-body); color: var(--text-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.scard-details { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.scard-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12.5px var(--font-body);
  border: 0;
  border-radius: 10px;
  padding: 7px 11px;
  background: var(--chip-bg);
  color: var(--text);
  overflow-wrap: anywhere;
  text-align: left;
}
.scard-chip.cat { background: oklch(0.30 0.06 300); color: oklch(0.90 0.06 300); }
.scard-chip.hz { background: oklch(0.30 0.06 200); color: oklch(0.90 0.06 200); }
.scard-chip.im { background: oklch(0.30 0.07 30); color: oklch(0.90 0.08 40); }
.scard-chip.tg { background: var(--chip-bg); color: var(--dim); }
.scard-chip.au { background: oklch(0.28 0.03 300); color: var(--dim); }
.scard-chip.add { background: transparent; border: 1px dashed var(--border-strong); color: var(--dimmer); }
.scard-chevron { opacity: .6; font-size: 10px; }
.scard-notes {
  min-width: 0;
  border-left: 2px solid oklch(0.45 0.08 350);
  padding: 2px 0 2px 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.scard-kicker { font: 400 10px var(--font-mono); color: var(--pink); letter-spacing: .1em; margin-bottom: -2px; }
.scard [data-notes] { display: flex; flex-direction: column; gap: 9px; font: 400 13.5px/1.45 var(--font-body); color: var(--text-body); overflow-wrap: anywhere; }
.scard-note { white-space: pre-wrap; }
.scard-note b { font: 400 10.5px var(--font-mono); color: var(--dimmer); margin-right: 7px; }
.scard [data-note-input] { width: 100%; min-width: 0; border: 1px solid var(--border-strong); border-radius: 10px; padding: 8px 11px; font: 400 13px var(--font-body); color: var(--dimmer); background: transparent; opacity: 1; }
.scard [data-note-input]::placeholder { color: var(--dimmer); }
.scard-notes-unavailable { color: var(--dimmer); }
.scard-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); align-items: center; }
.scard-btn { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--chip-bg); font: 600 12.5px var(--font-display); color: var(--text); white-space: nowrap; cursor: pointer; }
.scard-btn.done { background: var(--green); color: #10200f; }
.scard-btn.pri { background: oklch(0.36 0.09 350); color: oklch(0.95 0.03 350); }
.scard-btn.on { background: var(--pink); color: #2a0f1c; }
.scard-btn.del { background: transparent; border: 1px solid oklch(0.5 0.13 25 / .6); color: oklch(0.80 0.12 25); }
.scard-sep { width: 1px; height: 22px; background: var(--border-strong); margin: 0 4px; }
.scard button:disabled { opacity: .5; cursor: wait; }
.scard button:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }
.scard-err { margin-top: 9px; color: var(--danger); font: 400 13px var(--font-body); overflow-wrap: anywhere; }
@media (max-width: 639px) {
  .scard { padding: 14px; }
  .scard-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
/* The active chip owns its popover; raising its card keeps it above the next card. */
.scard { position: relative; }
.scard:has(.scard-pop) { z-index: 5; }
.scard-anchor { position: relative; display: inline-flex; max-width: 100%; }
.scard-pop {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 165px;
  max-width: min(280px, 72vw);
  max-height: 260px;
  overflow-y: auto;
  padding: 9px;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 0 10px 28px #0006;
}
.scard-pop button { border: 0; border-radius: 7px; padding: 8px 10px; background: var(--chip-bg); color: var(--text); text-align: left; cursor: pointer; }
.scard-pop button:hover { background: var(--border-strong); }
.scard-pop input, .scard-postpone input {
  min-width: 0;
  width: 100%;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  padding: 8px;
  color: var(--text);
  background: var(--bg);
  font: 400 13px var(--font-body);
}
.scard-chip { cursor: pointer; }
.scard-chip.proj { cursor: default; }
.scard-editor {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 140px;
  resize: vertical;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  padding: 12px;
  background: var(--bg);
  color: var(--text-body);
  font: 500 16px/1.55 var(--font-body);
}
.scard-postpone, .scard-providers { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; }
.scard-postpone input { width: auto; color-scheme: dark; }
.scard-fold { border-left: 3px solid var(--pink); color: var(--pink); font: 500 14px var(--font-body); }
.scard.scard-fold { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.scard-fold > span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scard-fold > .scard-err { flex-basis: 100%; }
.scard-research { margin-top: 14px; padding: 12px; border-left: 2px solid var(--teal, #6bcabc); border-radius: 8px; background: oklch(0.3 0.035 180 / .4); }
.scard-research .scard-kicker { color: var(--teal, #6bcabc); margin-bottom: 8px; }
.scard-research-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; font: 400 13.5px/1.5 var(--font-body); color: var(--text-body); }
.scard-research.expanded .scard-research-text { display: block; }
.scard-research .scard-btn { margin-top: 7px; }
.scard-pulse { animation: scard-pulse 1s ease-in-out infinite; }
@keyframes scard-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .scard-pulse { animation: none; } }

/* F3 find row and the single-column kept-item page. */
.stash-page { min-width: 0; }
.stash-find { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.stash-find input { flex: 1; min-width: 0; border: 1px solid var(--border-strong); border-radius: 999px; padding: 8px 14px; background: transparent; color: var(--text); font: 400 13px var(--font-body); }
.stash-find input::placeholder { color: var(--dimmer); }
.stash-find-actions { display: flex; gap: 8px; }
.stash-find-actions button, .stash-find-actions a { display: inline-flex; align-items: center; border: 1px solid var(--border-strong); border-radius: 10px; padding: 7px 11px; background: transparent; color: var(--dim); font: 500 12px var(--font-body); white-space: nowrap; text-decoration: none; cursor: pointer; }
.stash-topics, .stash-filters, .stash-filter-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.stash-topics, .stash-filters { margin-bottom: 8px; }
.stash-filters { gap: 8px 20px; margin-bottom: 14px; }
.stash-label { flex: none; font: 400 10px var(--font-mono); color: var(--dimmer); letter-spacing: .08em; }
.stash-chip { flex: none; border: 0; border-radius: 999px; padding: 5px 10px; background: var(--chip-bg); color: var(--dim); font: 600 12px var(--font-display); white-space: nowrap; cursor: pointer; }
.stash-chip.active { background: var(--pink); color: #2a0f1c; }
.stash-chip i { font: 400 10px var(--font-mono); opacity: .6; margin-left: 4px; }
.stash-tag { position: relative; }
.stash-tag-menu { position: absolute; z-index: 10; top: calc(100% + 6px); right: 0; display: flex; flex-direction: column; gap: 5px; min-width: 160px; max-width: min(280px, 80vw); max-height: 260px; overflow: auto; padding: 9px; background: var(--card); border: 1px solid var(--border-strong); border-radius: 12px; box-shadow: 0 10px 28px #0006; }
.stash-tag-menu .stash-chip { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.stash-list { display: flex; flex-direction: column; }
.stash-empty, .stash-end { font: 400 11px var(--font-mono); color: var(--dimmer); text-align: center; padding: 10px 0 16px; }
.stash-page button:focus-visible, .stash-page a:focus-visible, .stash-find input:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }
.scard-focus { outline: 2px solid var(--pink); outline-offset: 3px; }
@media (max-width: 640px) {
  .stash-find { flex-direction: column; align-items: stretch; gap: 8px; }
  .stash-find input { width: 100%; }
  .stash-topics { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .stash-topics .stash-label { display: none; }
}

/* B4 replaces the find row while selecting; filter chips remain below it. */
.stash-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.stash-bulk-count { font: 500 12px var(--font-mono); color: var(--dim); }
.stash-bulk button { border: 1px solid var(--border-strong); border-radius: 10px; padding: 7px 11px; background: transparent; color: var(--text); font: 500 12px var(--font-body); white-space: nowrap; cursor: pointer; }
.stash-bulk button:disabled { opacity: .45; cursor: default; }
.stash-bulk-category { position: relative; }
.stash-bulk-menu { position: absolute; z-index: 10; top: calc(100% + 6px); left: 0; display: flex; flex-direction: column; gap: 5px; min-width: 160px; max-width: min(280px, 80vw); max-height: 260px; overflow: auto; padding: 9px; background: var(--card); border: 1px solid var(--border-strong); border-radius: 12px; box-shadow: 0 10px 28px #0006; }
.stash-bulk-menu button { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.stash-bulk-error { color: var(--danger); font: 400 13px var(--font-body); overflow-wrap: anywhere; margin-bottom: 14px; }
@media (max-width: 640px) {
  .stash-bulk-count { flex-basis: 100%; }
}

/* Scheme D: pearl glow and a faint night sky. */
body.scheme-parl { --pg:oklch(0.185 0.03 350);--decor:radial-gradient(ellipse 60% 45% at 85% 0%,oklch(0.9 0.04 340 / .13),transparent 70%),radial-gradient(ellipse 40% 30% at 10% 100%,oklch(0.85 0.06 200 / .08),transparent 70%);--cd:oklch(0.235 0.035 350);--acc:oklch(0.9 0.045 350);--acc-soft:oklch(0.9 0.045 350 / .14); background: var(--pg); }
/* Done (the Archive): a quiet sage graphite, no round (Pär, 2026-10-16: "any random slightly different color"). */
body.scheme-done { --pg:oklch(0.17 0.012 160);--decor:none;--cd:oklch(0.21 0.014 160);--acc:oklch(0.8 0.06 160);--acc-soft:oklch(0.8 0.06 160 / .14); background: var(--pg); }
body.scheme-oneday { --pg:oklch(0.15 0.04 260);--decor:radial-gradient(1.2px 1.2px at 12% 18%,#fff9,transparent),radial-gradient(1px 1px at 33% 72%,#fff7,transparent),radial-gradient(1.4px 1.4px at 58% 30%,#fffa,transparent),radial-gradient(1px 1px at 81% 64%,#fff8,transparent),radial-gradient(1.2px 1.2px at 92% 12%,#fff9,transparent),radial-gradient(1px 1px at 45% 90%,#fff6,transparent),radial-gradient(1px 1px at 70% 85%,#fff7,transparent),radial-gradient(1.3px 1.3px at 22% 50%,#fff8,transparent);--cd:oklch(0.205 0.045 262 / .92);--acc:oklch(0.82 0.1 230);--acc-soft:oklch(0.82 0.1 230 / .15); background: var(--pg); }
body:is(.scheme-parl, .scheme-oneday, .scheme-done) { isolation: isolate; }
body:is(.scheme-parl, .scheme-oneday, .scheme-done)::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--decor);
  opacity: 1;
}
body:is(.scheme-parl, .scheme-oneday, .scheme-done) .scard {
  background: var(--cd);
  border: 1px solid var(--acc-soft);
}
body:is(.scheme-parl, .scheme-oneday, .scheme-done) .nav .nav-link.active { border-bottom-color: var(--acc); }
body:is(.scheme-parl, .scheme-oneday, .scheme-done) .stash-chip.active,
body:is(.scheme-parl, .scheme-oneday, .scheme-done) .scard-select[aria-pressed="true"] { background: var(--acc); border-color: var(--acc); }
body:is(.scheme-parl, .scheme-oneday, .scheme-done) .stash-end { color: var(--acc); }

.scard-task-from { color: var(--amber); font: 400 11px var(--font-mono); }
.scard-task-line { display: grid; grid-template-columns: 86px 1fr; gap: 8px; margin: 0 0 6px; }
.scard-task-line .k { font: 400 10px var(--font-mono); letter-spacing: .1em; color: var(--dimmer); padding-top: 4px; }
.scard-task-line.out .v { color: var(--dim); }
.stash-chip-task { background: oklch(0.8 0.15 80 / .18); color: var(--amber); }
.scard-task-note { flex: 1; min-width: 0; height: 32px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--border-strong); border-radius: 999px; background: var(--chip-bg); color: var(--text); font: inherit; }
