/* The intake is deliberately compact above the fold and uses the established WikiNative purple. */
.csrc-wrap { font-family: "Times New Roman", Times, serif; max-width: 980px; color: #92278f; }
.csrc-private-notice { font-size: .8rem; color: #92278f; margin: 0 0 .4rem; line-height: 1.5; }
.csrc-intake-intro { margin: .25rem 0 1.1rem; font-size: .94rem; line-height: 1.6; }
.csrc-destination { font-size: .88rem; margin-bottom: .65rem; overflow-wrap: anywhere; }
.csrc-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0 .8rem; font-size: .86rem; }
.csrc-picker select { max-width: 100%; padding: .4rem; border: 1px solid #92278f; border-radius: 5px; font: inherit; }
.csrc-drop { border: 2px dashed #92278f; background: #ffffff; border-radius: 15px; padding: 1.35rem 1.25rem 1.1rem; text-align: center; transition: background-color .12s ease, border-color .12s ease; }
.csrc-drop.csrc-dragover { background: #ffffff; border: 3px solid #92278f; padding: calc(1.35rem - 1px) calc(1.25rem - 1px) calc(1.1rem - 1px); outline: 3px solid #92278f; outline-offset: 3px; }
.csrc-tray { color: #92278f; display: block; margin: 0 auto .55rem; }
.csrc-drop .csrc-drop-heading { font-family: "Times New Roman", Times, serif; font-weight: 400; font-size: clamp(1.15rem, 2.3vw, 1.45rem); border: 0; line-height: 1.4; padding: 0; margin: 0 0 1rem; color: #92278f; }
.csrc-intake-buttons { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .55rem; }
.csrc-wrap button, .csrc-wrap input, .csrc-wrap textarea, .csrc-wrap select { font-family: "Times New Roman", Times, serif; }
.csrc-wrap .csrc-btn, .csrc-wrap .csrc-btn-secondary { font-size: .92rem; font-weight: 400; border-radius: 7px; padding: .65rem 1rem; line-height: 1.5; min-height: 44px; cursor: pointer; margin: 0; width: auto; }
.csrc-wrap .csrc-btn { background: #92278f; color: #ffffff; border: 1px solid #92278f; }
.csrc-wrap .csrc-btn:hover:not(:disabled) { background: #92278f; }
.csrc-wrap .csrc-btn-secondary { background: #ffffff; border: 1px solid #92278f; color: #92278f; }
.csrc-wrap button:disabled, .csrc-wrap button[aria-disabled="true"] { cursor: default; opacity: .6; }
.csrc-wrap :is(button, a, summary, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid #92278f; outline-offset: 3px; }
.csrc-format-hint { font-size: .88rem; color: #92278f; margin: 1rem 0 .5rem; line-height: 1.55; }
.csrc-format-icons { display: flex; justify-content: center; gap: 1.2rem; color: #92278f; font-size: .78rem; }
.csrc-format-icons span { white-space: nowrap; }
.csrc-limits { margin: .6rem 0 .85rem; line-height: 1.6; font-size: .8rem; }
.csrc-paste-links { text-align: left; border-top: 1px solid #92278f; padding-top: .8rem; margin: 1rem auto 0; max-width: 660px; }
.csrc-paste-links label { display: block; font-size: .9rem; font-weight: 400; margin-bottom: .4rem; }
.csrc-paste-links textarea { width: 100%; padding: .6rem; border: 1px solid #92278f; border-radius: 6px; box-sizing: border-box; font-size: 1rem; resize: vertical; margin-bottom: .5rem; }
.csrc-secondary, .csrc-help { font-size: .86rem; padding: .4rem 0; }
.csrc-secondary summary, .csrc-help summary { cursor: pointer; color: #92278f; width: fit-content; padding: .35rem 0; }
.csrc-secondary form { margin: .75rem 0; }
.csrc-help p { line-height: 1.7; }
.csrc-queue { margin-top: 1.25rem; }
.csrc-queue h3 { margin: 0; font-size: 1rem; }
.csrc-batch { margin: .8rem 0 1.1rem; }
.csrc-batch h4 { margin: 0 0 .15rem; font-size: .86rem; font-weight: 400; }
.csrc-batch > p { margin: .2rem 0 .5rem; font-size: .78rem; }
.csrc-queue-list { margin: 0; padding: 0; list-style: none; }
.csrc-queue-item { display: flex; gap: .8rem; border: 1px solid #92278f; border-radius: 9px; padding: .8rem; margin: .5rem 0; background: #ffffff; }
.csrc-file-icon { display: flex; justify-content: center; align-items: center; font-size: .63rem; font-weight: 400; width: 40px; height: 44px; border-radius: 6px; color: #92278f; background: #ffffff; flex-shrink: 0; }
.csrc-queue-main { flex: 1; min-width: 0; }
.csrc-queue-name { display: block; font-size: .88rem; overflow-wrap: anywhere; line-height: 1.5; }
.csrc-queue-state { display: block; font-size: .78rem; font-weight: 400; margin-top: .15rem; }
.csrc-queue-item[data-state="Saved"] .csrc-queue-state { color: #92278f; }
.csrc-queue-item[data-state="Needs attention"] { border-color: #ffc333; }
.csrc-queue-item[data-state="Needs attention"] .csrc-queue-state { color: #92278f; }
.csrc-queue-detail { font-size: .78rem; line-height: 1.6; margin-top: .15rem; color: #92278f; overflow-wrap: anywhere; }
.csrc-progress { width: 100%; height: 9px; accent-color: #92278f; margin: .6rem 0 .2rem; }
.csrc-queue-actions { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; margin-top: .4rem; font-size: .8rem; }
.csrc-wrap .csrc-btn-small { border: 1px solid #92278f; background: #ffffff; color: #92278f; padding: .35rem .6rem; border-radius: 5px; min-height: 36px; cursor: pointer; font-size: .8rem; }
.csrc-import:not(:empty) { margin-top: .7rem; border-top: 1px solid #92278f; padding-top: .7rem; font-size: .85rem; }
.csrc-import-summary { display: block; font-size: .84rem; margin-bottom: .5rem; }
.csrc-import .csrc-btn { font-size: .8rem; padding: .4rem .7rem; min-height: 40px; }
.csrc-import-details { margin-top: .5rem; }
.csrc-import-details summary { cursor: pointer; font-size: .78rem; padding: .4rem 0; }
.csrc-manifest-list { max-height: 340px; overflow: auto; font-size: .78rem; overflow-wrap: anywhere; padding-left: 1.2rem; }
.csrc-manifest-list li { margin-bottom: .55rem; }
.csrc-import-progress { font-size: .8rem; line-height: 1.6; }
.csrc-list .csrc-item { padding: .85rem 1rem; }
.csrc-list .csrc-title { overflow-wrap: anywhere; }
.csrc-list .csrc-badge { background: #ffffff; color: #92278f; font-weight: 400; font-size: .7rem; }
.csrc-source-details { margin-top: .65rem; }
.csrc-source-details > summary { cursor: pointer; font-size: .8rem; color: #92278f; }
.csrc-saved-intake:not(:empty) { margin-top: .6rem; }
.csrc-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.csrc-wrap [hidden] { display: none !important; }
@media (max-width: 600px) {
 .csrc-private-notice { font-size: .72rem; }
 .csrc-intake-intro { font-size: .82rem; margin-bottom: .8rem; }
 .csrc-drop { padding: 1rem .75rem; border-radius: 12px; }
 .csrc-drop.csrc-dragover { padding: calc(1rem - 1px) calc(.75rem - 1px); }
 .csrc-tray { width: 45px; height: 45px; }
 .csrc-intake-buttons { gap: .5rem; }
 .csrc-intake-buttons .csrc-btn { width: 100%; }
 .csrc-intake-buttons .csrc-btn-secondary { flex: 1; font-size: .82rem; padding: .6rem .5rem; }
 .csrc-format-hint { font-size: .78rem; margin-top: .85rem; }
 .csrc-format-icons { gap: 1rem; font-size: .72rem; }
 .csrc-destination { font-size: .8rem; }
 .csrc-queue-item { gap: .55rem; padding: .65rem; }
 .csrc-file-icon { width: 32px; height: 38px; font-size: .55rem; }
 .csrc-wrap .csrc-btn-small { min-height: 44px; }
 .csrc-queue-actions a { display: inline-block; padding: .5rem 0; }
 .csrc-list .csrc-item { padding: .7rem; }
}
@media (prefers-reduced-motion: reduce) { .csrc-drop { transition: none; } }

/* The library remains one scroll away while clients add further sources. */
.csrc-library-nav { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; margin: 0 0 1rem; font: inherit; font-weight: 400; }
.csrc-library-nav a { color: #92278f; text-underline-offset: .18em; }
.csrc-wrap :is(strong,b,h1,h2,h3,h4,h5,h6,label,summary,button) { font-family: "Times New Roman", Times, serif; font-weight: 400; }
#csrc-saved-heading, #csrc-add-sources { scroll-margin-top: 5rem; }

/* Source-library headings stay regular despite the wiki theme heading rule. */
#mw-content-text .csrc-wrap :is(h1, h2, h3, h4, h5, h6) { font-family: "Times New Roman", Times, serif !important; font-weight: 400 !important; }
