/* ─────────────────────────────────────────────────────────────
   friends.css — Teleport to a friend · Sell or gift to a friend
   Shared by the Garage, the Specimen Archive and the Exchange.
   Every rule is scoped under .tcf-* so no page style moves.
   Colours follow the page that loads it, with the greenhouse
   palette as the fallback.
   ───────────────────────────────────────────────────────────── */
.tcf-overlay {
  position: fixed; inset: 0; z-index: 650; display: none;
  align-items: center; justify-content: center; padding: 1rem;
  background: rgba(3, 8, 3, .9); backdrop-filter: blur(14px);
}
.tcf-overlay.open { display: flex; }
.tcf-modal {
  width: min(520px, 94vw); max-height: 88vh; overflow-y: auto;
  background: #0b170c; color: var(--cream, #f2ead8);
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35));
  border-radius: 12px; padding: 2rem 2rem 1.6rem;
  font-family: var(--font-body, 'Cormorant Garamond', serif);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55);
}
.tcf-eyebrow {
  font-family: 'DM Mono', var(--font-display, monospace); font-size: .6rem; letter-spacing: .32em;
  text-transform: uppercase; color: var(--sage, var(--brass-light, #cfa55e)); margin-bottom: .55rem;
}
.tcf-title {
  font-family: var(--font-display, 'Playfair Display', serif); font-size: 1.75rem; line-height: 1.15;
  color: var(--cream, #f2ead8); margin-bottom: .6rem;
}
.tcf-title em { font-style: italic; color: var(--sage, var(--brass-light, #cfa55e)); }
.tcf-desc { font-size: 1rem; line-height: 1.55; color: var(--mist, #d4c9b0); opacity: .85; margin-bottom: 1.1rem; }
.tcf-tabs { display: flex; gap: .5rem; margin-bottom: 1.2rem; }
.tcf-tab {
  flex: 1; padding: .6rem .5rem; border-radius: 7px; cursor: inherit;
  font-family: 'DM Mono', var(--font-display, monospace); font-size: .6rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--mist, #d4c9b0);
  background: transparent; border: 1px solid var(--glass-border, rgba(181, 139, 74, .35));
}
.tcf-tab.active { color: #0b170c; background: var(--sage, var(--brass-light, #cfa55e)); border-color: transparent; }
.tcf-pane { display: none; }
.tcf-pane.active { display: block; }
.tcf-code {
  font-family: 'DM Mono', monospace; font-size: 2.3rem; letter-spacing: .35em; text-align: center;
  color: var(--cream, #f2ead8); padding: 1rem .5rem; margin: .4rem 0 .6rem;
  border: 1px dashed var(--glass-border, rgba(181, 139, 74, .45)); border-radius: 10px;
  background: rgba(138, 173, 140, .06); user-select: all;
}
.tcf-meta {
  font-family: 'DM Mono', var(--font-display, monospace); font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--mist, #d4c9b0); opacity: .75; text-align: center;
}
.tcf-input {
  width: 100%; padding: .8rem 1rem; border-radius: 8px; margin: .2rem 0 .8rem;
  font-family: 'DM Mono', monospace; font-size: 1.25rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--cream, #f2ead8); background: rgba(9, 22, 11, .7);
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35)); outline: none;
}
.tcf-input.small { font-size: 1rem; letter-spacing: .08em; text-transform: none; }
.tcf-input:focus { border-color: var(--sage, var(--brass-light, #cfa55e)); }
.tcf-label {
  display: block; font-family: 'DM Mono', var(--font-display, monospace); font-size: .58rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--fern, var(--brass, #b58b4a)); margin-top: .4rem;
}
.tcf-select { font-size: .95rem; letter-spacing: .02em; text-transform: none; }
.tcf-actions { display: flex; gap: .6rem; justify-content: flex-end; flex-wrap: wrap; margin-top: 1rem; }
.tcf-btn {
  padding: .65rem 1.2rem; border-radius: 7px; cursor: inherit;
  font-family: 'DM Mono', var(--font-display, monospace); font-size: .6rem; letter-spacing: .16em;
  text-transform: uppercase; color: #0b170c; background: var(--sage, var(--brass-light, #cfa55e)); border: none;
}
.tcf-btn:disabled { opacity: .45; }
.tcf-btn.ghost { color: var(--mist, #d4c9b0); background: transparent; border: 1px solid var(--glass-border, rgba(181, 139, 74, .35)); }
.tcf-btn.danger { color: #fff; background: #a84444; }
.tcf-status {
  min-height: 1.4rem; margin-top: .7rem; font-size: 1rem; line-height: 1.5; color: var(--cream, #f2ead8);
}
.tcf-status.bad { color: #e08a7a; }
.tcf-status.good { color: var(--sage, #9cc79a); }
.tcf-rules {
  margin-top: 1rem; padding-top: .8rem; border-top: 1px solid rgba(138, 173, 140, .15);
  font-size: .9rem; line-height: 1.5; color: var(--mist, #d4c9b0); opacity: .7;
}
.tcf-hold { height: 6px; border-radius: 3px; background: rgba(138, 173, 140, .15); overflow: hidden; margin-top: .6rem; }
.tcf-hold > span { display: block; height: 100%; width: 0; background: var(--sage, var(--brass-light, #cfa55e)); transition: width 1s linear; }
.tcf-dino {
  display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; padding: 1rem; margin: .6rem 0;
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35)); border-radius: 10px; background: rgba(9, 22, 11, .55);
}
.tcf-dino h4 { font-family: var(--font-display, 'Playfair Display', serif); font-size: 1.3rem; color: var(--cream, #f2ead8); }
.tcf-dino .tcf-price { font-family: 'DM Mono', monospace; font-size: 1.1rem; color: var(--sage, var(--brass-light, #cfa55e)); text-align: right; }
.tcf-dino p { grid-column: 1 / -1; font-size: .95rem; color: var(--mist, #d4c9b0); opacity: .85; }
.tcf-tag {
  display: inline-block; margin-right: .35rem; padding: .1rem .45rem; border-radius: 999px;
  font-family: 'DM Mono', monospace; font-size: .55rem; letter-spacing: .12em; text-transform: uppercase;
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35)); color: var(--mist, #d4c9b0);
}
/* the button a card or the record drawer gets */
.tcf-card-btn {
  display: block; width: 100%; margin-top: .55rem; padding: .55rem .8rem; border-radius: 6px; cursor: inherit;
  font-family: 'DM Mono', var(--font-display, monospace); font-size: .58rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--cream, #f2ead8); background: rgba(138, 173, 140, .08);
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35));
}
.tcf-card-btn:hover { background: rgba(138, 173, 140, .16); }
/* the Exchange's Private Sale box and the Archive's teleport panel */
.tcf-panel {
  margin: 1.5rem 2rem; padding: 1.4rem 1.6rem;
  border: 1px solid var(--glass-border, rgba(181, 139, 74, .35)); border-radius: 12px;
  background: rgba(13, 21, 16, .82); color: var(--cream, #f2ead8);
  font-family: var(--font-body, 'Cormorant Garamond', serif);
}
.tcf-panel-row { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.tcf-panel-row .tcf-input { flex: 1 1 200px; margin: 0; }
@media (max-width: 560px) {
  .tcf-panel { margin: 1rem; padding: 1.1rem; }
  .tcf-modal { padding: 1.4rem 1.1rem 1.2rem; }
  .tcf-code { font-size: 1.7rem; letter-spacing: .25em; }
}
