.wsrc { margin-top: 1.5rem; padding-top: 1rem; border-top: 2px solid var(--line-strong); min-width: 0; overflow-wrap: anywhere; }
.wsrc h2 { font-family: var(--font-display); font-weight: 500; margin: 0 0 .5rem; font-size: 1.2rem; }
.wsrc h3 { font-size: .95rem; margin: 0 0 .5rem; }
.wsrc-eyebrow { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; margin: 0 0 .25rem; }
.wsrc-note { color: var(--muted); font-size: .88rem; line-height: 1.5; margin: .25rem 0 .75rem; }
.wsrc-sel { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; margin-bottom: 1rem; }
.wsrc-f { display: flex; flex-direction: column; gap: .3rem; min-width: 0; flex: 1 1 200px; font-size: .82rem; color: var(--muted); }
.wsrc-f .input { width: 100%; box-sizing: border-box; }
.wsrc-card { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--line-strong); border-radius: var(--radius); padding: 1rem; margin-bottom: 1rem; }
.wsrc-list { list-style: none; margin: 0; padding: 0; }
.wsrc-list li { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .5rem 0; border-top: 1px solid var(--line); }
.wsrc-meta { margin-bottom: .75rem; }
.wsrc-meta small { color: var(--subtle); margin-left: .5rem; }
.wsrc-notice { padding: .7rem .9rem; border-radius: var(--radius-sm); border: 1px solid var(--line); margin-bottom: .75rem; background: var(--panel); }
.wsrc-notice h3, .wsrc-notice p { margin: 0 0 .25rem; }
.wsrc-notice.warn { border-color: var(--warning); }
.wsrc-notice.err { border-color: var(--danger); }
.wsrc-notice.ok { border-color: var(--success); }
.wsrc-warn { margin: 0 0 .75rem; padding: .6rem .9rem .6rem 1.8rem; border: 1px solid var(--warning); border-radius: var(--radius-sm); color: var(--warning); }
.wsrc-check { display: flex; gap: .5rem; align-items: flex-start; font-size: .88rem; margin-bottom: .75rem; }
.wsrc form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wsrc-skel div { height: 56px; border-radius: var(--radius-sm); background: var(--panel); border: 1px solid var(--line); margin-bottom: .6rem; opacity: .7; }
@media (max-width: 720px) { .wsrc-sel .btn, .wsrc form > .btn { flex: 1 1 100%; width: 100%; } }

@media (max-width: 720px) {
  .wsrc, .wsrc-card, .wsrc-sel, .wsrc-f { max-width: 100%; min-width: 0; }
  .wsrc-f { flex-basis: 100%; }
  .wsrc-card { padding: .75rem; }
  .wsrc-list li > * { min-width: 0; }
}
