/* Keep, sell or donate (ksd.js) */
.ksd-wrap { max-width:720px; }
.ksd-intro { margin:0 0 12px; color:var(--muted); font-size:13.5px; line-height:1.5; }
.ksd-ask { font-size:15px; margin:4px 0 12px; text-align:center; }
.ksd-ask b { color:var(--accent); }
.ksd-thanks { text-align:center; font-size:13px; font-weight:700; color:var(--accent); margin:0 0 4px; }
.ksd-three { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; }
.ksd-card { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:0; margin:0; border:0; background:none; font:inherit; color:var(--ink); text-align:left; cursor:pointer; min-width:0; }
.ksd-card[disabled] { cursor:default; }
.ksd-case { position:relative; display:flex; flex-direction:column; gap:5px; padding:5px; border-radius:10px;
  background:linear-gradient(160deg, #eef0f4, #c9ced8); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 6px 16px rgba(0,0,0,.35);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.ksd-card:not([disabled]):hover .ksd-case, .ksd-card:not([disabled]):focus-visible .ksd-case { transform:translateY(-2px); }
.ksd-card:focus-visible { outline:none; } .ksd-card:focus-visible .ksd-case { box-shadow:0 0 0 3px var(--accent); }
.ksd-lab { display:flex; align-items:center; gap:4px; padding:4px 5px; background:#fff; border:1.5px solid #c4302b; border-radius:4px; color:#16161d; min-width:0; }
.ksd-ln { display:flex; flex-direction:column; min-width:0; flex:1; }
.ksd-ln b { font-size:10.5px; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ksd-ln small { font-size:8.5px; color:#666; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ksd-gr { display:flex; flex-direction:column; align-items:center; flex:none; line-height:1; }
.ksd-gr small { font-size:7.5px; font-weight:800; color:#c4302b; letter-spacing:.06em; }
.ksd-gr b { font-size:17px; font-weight:800; }
.ksd-art { display:block; border-radius:6px; overflow:hidden; background:#dfe3ea; aspect-ratio:63/88; }
.ksd-art img { display:block; width:100%; height:100%; object-fit:cover; }
.ksd-chip { position:absolute; left:50%; bottom:10px; transform:translateX(-50%); padding:4px 10px; border-radius:999px; font-size:12px; font-weight:800;
  white-space:nowrap; color:#101322; box-shadow:0 3px 10px rgba(0,0,0,.4); }
.c-keep { background:#6fd08c; } .c-sell { background:#f2c14e; } .c-donate { background:#e79ad0; }
.ksd-by { font-size:11.5px; color:var(--muted); text-align:center; line-height:1.3; overflow-wrap:anywhere; }
.ksd-by.you { color:var(--accent); font-weight:800; }
.ksd-go { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:14px; min-height:40px; }
.ksd-go .deal-btn { min-width:150px; }
.ksd-bars { display:flex; flex-direction:column; gap:3px; }
.ksd-bar { display:grid; grid-template-columns:44px 1fr 30px; align-items:center; gap:4px; font-size:10.5px; color:var(--muted); }
.ksd-bt { height:6px; border-radius:999px; background:rgba(255,255,255,.1); overflow:hidden; }
.ksd-bt i { display:block; height:100%; border-radius:999px; }
.ksd-bp { text-align:right; font-weight:700; color:var(--ink); }
.ksd-foot { text-align:center; font-size:12.5px; color:var(--muted); margin-top:14px; }
.ksd-mine { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-bottom:14px; display:flex; flex-direction:column; gap:8px; }
.ksd-mine-h { font-size:12px; font-weight:800; color:var(--accent); }
.ksd-mrow { display:flex; align-items:center; gap:10px; font-size:13px; }
.ksd-mrow img { width:34px; border-radius:3px; flex:none; }
.ksd-mrow div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ksd-mrow span { color:var(--muted); font-size:12.5px; } .ksd-mrow span b { color:var(--ink); }
.zl-ksd { display:block; margin-top:8px; padding:0; border:0; background:none; font:inherit; font-size:12.5px; color:var(--muted); text-align:left; cursor:pointer; }
.zl-ksd b { color:var(--ink); }
/* This week in the town's three: small slabs, three across on every width */
.ksd-week { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.ksd-week .ksd-mine-h { text-align:center; }
.ksd-wk-row { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; max-width:420px; width:100%; margin:0 auto; }
.ksd-wk-cell { display:flex; flex-direction:column; gap:5px; min-width:0; }
.ksd-wk-h { align-self:center; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:800; color:#101322; white-space:nowrap; }
.ksd-wk-p { text-align:center; font-size:12px; color:var(--muted); } .ksd-wk-p b { color:var(--ink); }
.ksd-wk-cell .ksd-gr b { font-size:14px; }
/* Past 30 days */
.ksd-pastgo { display:flex; justify-content:center; margin-top:14px; }
.ksd-day { display:flex; flex-direction:column; gap:8px; padding:12px 0 14px; border-top:1px solid var(--line); }
.ksd-day:first-of-type { border-top:0; padding-top:4px; }
.ksd-day-h { display:flex; justify-content:space-between; align-items:baseline; gap:8px; max-width:420px; width:100%; margin:0 auto; font-size:13.5px; }
.ksd-day-h span { color:var(--muted); font-size:12px; }
.ksd-day .ksd-chip { font-size:10.5px; padding:3px 8px; bottom:8px; }
.ksd-day .ksd-bar { grid-template-columns:40px 1fr 28px; font-size:10px; }
/* phones: two on top, one centered below, so each card is about half the screen wide instead of a third */
@media (max-width:560px) {
  .ksd-three { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px 10px; }
  .ksd-three > :nth-child(3) { grid-column:1 / -1; justify-self:center; width:calc(50% - 5px); }
  .ksd-intro { font-size:13px; margin-bottom:8px; }
  .ksd-ask { margin:2px 0 10px; }
}
