/**
 * Lossless compressor page. Builds on styles.css tokens and card primitives
 * (.file-card, .thumb, .vcard__*, .vstage__chip, .qcell__dl).
 */

.ll-tool { margin-top: 0.5rem; }
.ll-tool .upload-hero-inner { padding-top: 3.25rem; padding-bottom: 3.25rem; }

/* Format chips under the drop zone title */
.ll-formats { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; margin-top: 0.75rem; }
.ll-formats li {
  font-size: 0.72rem; font-weight: 600; color: var(--body);
  background: var(--card); border: 1px solid var(--border);
  padding: 0.2rem 0.55rem; border-radius: 999px;
}
.ll-formats li b { color: var(--heading); font-weight: 700; }

.ll-summary { color: var(--green); font-weight: 600; font-variant-numeric: tabular-nums; }
.ll-summary:empty { display: none; }

.ll-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .ll-grid { grid-template-columns: 1fr 1fr; } }

/* Card */
.lcard__row { margin-bottom: 0; }
.lcard .thumb { width: 88px; height: 88px; padding: 6px; }
.lcard .thumb img { object-fit: contain; }
.lcard__meta { flex: 1; }
.lcard__sizes { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem; color: var(--heading); font-size: 0.95rem; font-variant-numeric: tabular-nums; }
.lcard__from { font-weight: 600; }
.lcard__from.is-struck { color: var(--muted); font-weight: 500; text-decoration: line-through; text-decoration-thickness: 1px; }
.lcard__arrow { color: var(--primary); }
.lcard__to { font-weight: 700; font-size: 1.05rem; }
.lcard__nothumb { color: var(--muted); font-size: 0.7rem; font-weight: 600; text-align: center; }
.lcard__nothumb.is-error { color: var(--red); }

.lcard__foot { margin-top: 0.9rem; display: flex; flex-direction: column; gap: 0.55rem; }
.lcard__foot[hidden] { display: none; }
.lcard__verdict { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.lcard__ident {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.72rem; font-weight: 700; color: var(--green);
}
.lcard__ident svg { width: 12px; height: 12px; }
.lcard__method { font-size: 0.75rem; color: var(--muted); line-height: 1.45; }
.lcard.is-unchanged .lcard__method { color: var(--body); }
.lcard__dl { padding: 8px 10px; font-size: 0.78rem; }
.lcard__dl span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lcard .vcard__error { margin-top: 0; }
.lcard__badge[hidden] { display: none; }
.ll-tool .results-bar { position: static; margin-inline: 0; padding-inline: 0; }

/* Homepage "Keep format" panel: Smart / Lossless segmented switch */
.ll-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 0.9rem; }
.ll-mode__opt { position: relative; cursor: pointer; }
.ll-mode__opt input { position: absolute; opacity: 0; pointer-events: none; }
.ll-mode__opt span {
  display: flex; flex-direction: column; gap: 1px; height: 100%;
  padding: 0.5rem 0.7rem; border: 1.5px solid var(--border); border-radius: 10px;
  background: var(--card); font-size: 0.72rem; color: var(--muted); line-height: 1.3;
  transition: border-color 0.16s, background 0.16s, box-shadow 0.16s;
}
.ll-mode__opt span b { font-size: 0.85rem; color: var(--heading); }
.ll-mode__opt:hover span { border-color: var(--border-strong); }
.ll-mode__opt input:checked + span { border-color: var(--green); background: var(--green-tint); }
.ll-mode__opt input:checked + span b { color: var(--green); }
.ll-mode__opt input:focus-visible + span { box-shadow: 0 0 0 3px var(--ring); }
.lcard__ident.is-smart { color: var(--primary); }
