/* Tidy pass on the /app look (2026-10-23). The founder kept today's design
   (white canvas, same cards, same type) and asked for it "a little clean":
   line things up, drop stray colour, and turn stacks of boxes into rows
   inside one card. Loaded after app.html's inline <style> block so these
   rules win ties with the equal-specificity rules they replace. */

/* Extract: the two columns start on the same line. The library card sat
   14px low because "+ .ws-card" also counts the hidden first-run card. */
.ws-card.hidden + .ws-card { margin-top: 0; }
.ws-grid { align-items: start; }
.ws-sec-head { align-items: center; }

/* Links read as ink with an arrow, not blue underlined text. */
.ws-grid .link-btn,
#lib-summary .link-btn {
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}
.ws-grid .link-btn:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Library summary: no blue badge; numbers on a soft fill instead of boxes. */
.library-icon { display: none; }
#lib-summary { box-shadow: none; }
.lib-nums div { border: 0; background: var(--surface-2); border-radius: 12px; padding: 12px 14px; }
.lib-nums div svg,
.lib-nums div:nth-child(n) svg { color: var(--ink-3); }
.lib-nums b { color: var(--ink); }

/* "What you get" (first visit): white like every other card. */
#intro-cards { background: var(--surface-1); border-color: var(--line-2); }
.what-list li { border-top-color: var(--line); }
.what-list svg { color: var(--ink-3); }

/* Recent sources: same cards, quieter — one hairline, no drop shadow, no lift. */
.src-card,
.src-card.source-video,
.src-card.source-videos,
.src-card.source-playlist,
.src-card.source-channel { border-color: var(--line); box-shadow: none; }
.src-card:hover { transform: none; box-shadow: none; border-color: var(--line-2); }

/* Library tab: white toolbar, and channel groups as rows in one card. */
#library-toolbar { background: var(--surface-1); border-color: var(--line); }
#library-groups:not(:empty) {
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface-1);
}
.lib-group { border: 0; border-top: 1px solid var(--line); border-radius: 0; margin: 0; }
.lib-group:first-child { border-top: 0; }
.lib-group-head { padding: 15px 18px; }
.lib-group .video-list { padding: 0 18px 10px; }
/* Icon and label on one line in the ZIP / One file / Delete buttons. */
.lg-actions button { display: inline-flex; align-items: center; gap: 5px; line-height: 1.2; }
.lg-actions button svg { flex: none; }
