/* Twitter Video Downloader — card + results. Shared bits from css/tool-base.css. */
.tvd-card { display: flex; flex-direction: column; gap: .85rem; }
.tvd-input-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.tvd-input { flex: 1 1 240px; min-width: 0; padding: .7rem 1rem; border-radius: 100px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; font-size: 1rem; }
.tvd-btn { padding: .7rem 1.4rem; border-radius: 100px; border: 0; cursor: pointer; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--t-accent), var(--t-accent-2)); }
.tvd-btn.secondary { background: var(--t-bg-2, rgba(127,127,127,.15)); color: inherit; border: 1px solid var(--t-border); font-weight: 600; text-decoration: none; display: inline-block; }
.tvd-hint { opacity: .75; font-size: .9rem; }
.tvd-error { display: none; color: #d33; background: rgba(255,0,0,.07); border: 1px solid rgba(255,0,0,.25); border-radius: 12px; padding: .6rem .9rem; }
.tvd-meta { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: .8rem; }
.tvd-thumb { width: 120px; border-radius: 12px; flex-shrink: 0; }
.tvd-mtext p { margin: .2rem 0 0; opacity: .85; }
.tvd-preview { width: 100%; max-height: 420px; border-radius: 12px; background: #000; margin-bottom: .8rem; }
.tvd-bar { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.tvd-bar select { padding: .55rem .8rem; border-radius: 100px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; }
.tvd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .6rem; margin-top: .8rem; }
.tvd-grid img { width: 100%; border-radius: 10px; }
.tvd-paste-group label { font-weight: 600; display: block; margin-bottom: .35rem; }
.tvd-textarea { width: 100%; border-radius: 12px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; padding: .7rem .9rem; font-family: monospace; font-size: .85rem; }
@media (max-width: 480px) { .tvd-thumb { width: 84px; } }
