:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252b31;background:#fff;color-scheme:light;--ink:#252b31;--muted:#697078;--line:#e0e4e7;--accent:#245579;--pale:#f4f7f9;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent);text-underline-offset:3px}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3c7caa;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:620;letter-spacing:-.6px;line-height:1.3}h1:focus{outline:none}h2{font-size:20px;font-weight:620}h3{font-size:15px;font-weight:600}label{display:block;font-size:13px;font-weight:550}input,textarea,select{width:100%;min-width:0;border:1px solid #b8c1c9;border-radius:5px;background:#fff;color:var(--ink);padding:11px 12px}input::placeholder,textarea::placeholder{color:#818890}label>input,label>textarea,label>select{margin-top:6px;font-weight:400}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:78px}input[type=radio],input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}summary{cursor:pointer;font-size:13px;color:var(--accent);padding:7px 0;min-height:34px}summary:hover{text-decoration:underline}.muted,.hint{color:var(--muted)}.hint{font-size:12px;margin-top:12px}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--ink);color:#fff;padding:10px}.skip:focus{top:10px}
.site-header{border-bottom:1px solid var(--line);padding:21px max(24px,calc((100vw - 1060px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:18px;font-weight:650;color:var(--ink);text-decoration:none;white-space:nowrap}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav .text-button{color:var(--ink)}.count{font-size:12px;font-weight:400;color:var(--muted);margin-left:3px}.count::before{content:'('}.count::after{content:')'}main{width:100%;max-width:744px;margin:48px auto 64px;padding:0 24px;flex:1;scroll-margin-top:20px}.builder{min-width:0}.start-screen{padding-top:24px}.start-screen h1{margin-bottom:28px}.lookup-row{display:flex;gap:10px;margin-top:7px}.lookup-row input{flex:1;width:0;font-size:16px}.lookup-row .button{padding-left:24px;padding-right:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:5px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:550;line-height:1.5;text-decoration:none}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:#194260}.button.secondary{background:var(--pale);border-color:#c5d2dc;color:var(--accent)}.button.secondary:hover{background:#e9f0f5}.button.subtle{background:#fff;border-color:var(--line);color:var(--ink)}.button.subtle:hover{background:#f4f6f8}.text-button{border:0;background:transparent;padding:8px 0;min-height:34px;color:var(--accent);font-size:13px;font-weight:500}.text-button:hover{text-decoration:underline}.manual-link{margin-top:14px}.back-link{margin-bottom:16px}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.review-head h1{font-size:24px}.badge{font-size:12px;color:var(--muted);white-space:nowrap}.metadata-summary{margin:21px 0 8px;font-size:14px}.metadata-summary>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:5px 0}.metadata-summary dt{font-weight:400;color:var(--muted)}.metadata-summary dd{margin:0;overflow-wrap:anywhere}.editor{margin-bottom:25px}.editor[open]{margin-top:16px;padding:16px 20px 20px;background:#f8f9fa;border:1px solid var(--line);border-radius:5px}.editor[open] summary{padding-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.form-grid .span2{grid-column:1/-1}.form-grid label .muted{font-weight:400}.form-grid input,.form-grid textarea,.form-grid select{font-size:14px}.advanced-fields{margin-top:16px}.apply-button{margin-top:20px}
.output-section{margin-top:24px}.output-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.output-label h2{font-size:14px;font-weight:600}.copy-btn{font-size:13px;min-height:36px;padding:7px 13px}.text-button.copy-btn{padding:5px 0}.citation-box{border:1px solid var(--line);border-radius:5px;background:#f8f9fa;padding:18px 20px;overflow-wrap:anywhere}.citation-text{font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.75}.citation-text a{color:inherit}.citation-box.intext{font-family:Georgia,"Times New Roman",serif;font-size:18px;padding:13px 20px}.inline-section{margin-top:23px}.locator-option{margin-top:5px}.locator-option summary{font-size:12px;color:var(--muted)}.locator-row{display:flex;gap:16px;align-items:center;margin-top:7px}.locator-row label{font-size:12px;font-weight:400;color:var(--muted)}.locator-row input{width:95px;padding:7px 10px;font-size:13px}.source-provenance{margin-top:16px}.source-provenance summary,.citation-notes summary{color:var(--muted);font-size:12px}.source-provenance p,.citation-notes li{font-size:12px;color:var(--muted);margin:7px 0}.source-provenance a{font-size:12px}.citation-notes ul{padding-left:18px;margin:8px 0}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.notice{padding:12px 14px;border:1px solid #cbd7e2;border-radius:5px;background:var(--pale);margin-top:16px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.notice.warning{background:#fff9ec;border-color:#e6d7b6;color:#624f2b}.notice.error{background:#fff3f1;border-color:#e4beb8;color:#823c30}.notice a{color:inherit}.notice p+p{margin-top:8px}
footer{width:100%;max-width:744px;margin:auto;padding:18px 24px 25px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:11px}footer .text-button{font-size:11px;color:var(--muted)}dialog{background:#fff;border:1px solid var(--line);border-radius:7px;width:calc(100vw - 32px);max-width:650px;padding:28px;max-height:88dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#252b3159}dialog h2{font-size:22px;margin:0 28px 20px 0}dialog p,dialog li{font-size:13px;color:var(--muted);margin-top:10px}dialog .hint{font-size:12px}.close-dialog{position:absolute;right:14px;top:10px;width:38px;height:38px;background:transparent;border:0;font-size:26px;color:var(--ink)}.help-content{margin-top:20px}.help-content>details{border-top:1px solid var(--line);padding:8px 0}.help-content>details summary{color:var(--ink);font-weight:500;font-size:14px}.help-content>details[open]{padding-bottom:18px}.help-content ul{padding-left:18px}.example-buttons,.two-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.empty-state{padding:25px 0 35px}.source-row{padding:17px 0;border-bottom:1px solid var(--line)}.source-row.current .source-title{color:var(--accent)}.source-title{overflow-wrap:anywhere}.source-byline{font-size:12px;margin-top:3px}.source-tools{display:flex;gap:20px;align-items:center;margin-top:4px}.source-tools .text-button{font-size:12px}.source-tools .delete{margin-left:auto;color:#8b4236}.library-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.library-more{margin-top:16px}.library-more summary{color:var(--muted);font-size:12px}#copy-dialog .citation-text{margin-top:18px;padding:15px;background:#f8f9fa}#copy-dialog>.button{margin-top:20px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:40;background:var(--ink);color:#fff;max-width:calc(100vw - 32px);min-width:200px;border-radius:5px;padding:12px 17px;font-size:13px;text-align:center}.toast button{border:0;background:transparent;color:#fff;text-decoration:underline;margin-left:14px}.loading-spinner{height:14px;width:14px;display:inline-block;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}[hidden]{display:none!important}
@media(max-width:600px){main{margin:30px auto 40px;padding:0 20px}.site-header{padding:17px 20px;gap:16px}.site-header nav{gap:17px}.brand{font-size:16px}.site-header nav .text-button{font-size:12px}.start-screen{padding-top:13px}.start-screen h1{font-size:25px;margin-bottom:25px}.metadata-summary>div{grid-template-columns:95px minmax(0,1fr);gap:12px;font-size:13px}.review-head h1{font-size:22px}.editor[open]{padding:14px}.citation-box{padding:15px}.citation-text{font-size:15px}.citation-box.intext{padding:12px 15px}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid .span2{grid-column:auto}.review-actions{flex-wrap:wrap}dialog{padding:24px}footer{padding:15px 20px 20px}}
@media(max-width:420px){.site-header{flex-wrap:wrap;gap:8px}.site-header nav{width:100%;justify-content:space-between}.lookup-row{flex-direction:column;gap:10px}.lookup-row input{width:100%}.lookup-row .button{width:100%;min-height:44px}.badge{font-size:11px}.source-tools{gap:15px}.source-tools .text-button{min-height:40px}.library-actions .button{flex:1}.review-actions .button{font-size:12px}footer{font-size:10px}footer .text-button{font-size:10px}}

/* Learning stays optional and separate from the working form. */
.learn-section{border-top:1px solid var(--line);padding:15px 0}.learn-section:last-of-type{border-bottom:1px solid var(--line)}.learn-section summary{cursor:pointer;font-size:16px;font-weight:600;color:var(--ink)}.learn-section p{font-size:14px}.learn-example{background:var(--pale);padding:14px;margin-top:14px;border-radius:3px}.learn-example span{display:block;font-size:11px;color:var(--muted);margin-top:8px}.learn-example p{font-family:Georgia,serif;color:var(--ink);overflow-wrap:anywhere}.learn-example p+span{margin-top:16px}.learn-section>details{margin-top:16px}.learn-section>details summary{font-size:13px}@media(max-width:400px){.site-header #help-btn{font-size:12px;max-width:105px;text-align:right}}

/* A quiet working surface, with the next action visible on small screens. */
body{background:#f4f6f8;color:#25313b}
.site-header{background:#fff;padding-top:17px;padding-bottom:17px}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:8px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:36px;line-height:1;padding-top:10px}
main{max-width:820px;margin-top:30px}
.builder{background:#fff;border:1px solid #e1e6eb;border-radius:14px;padding:32px 36px;box-shadow:0 5px 24px #263d4b05}
.flow-steps{display:flex;justify-content:space-between;gap:12px;list-style:none;margin:0 0 22px;padding:0 8px;color:#6b7680;font-size:12px}
.flow-steps li{display:flex;gap:8px;align-items:center}
.flow-steps span{width:23px;height:23px;border-radius:50%;border:1px solid #ccd5dc;display:inline-flex;align-items:center;justify-content:center;background:#fff;font-size:11px}
main[data-stage=start] .flow-steps li:first-child,main[data-stage=manual] .flow-steps li:nth-child(2),main[data-stage=catalog] .flow-steps li:nth-child(2),main[data-stage=review] .flow-steps li:nth-child(2){color:var(--accent);font-weight:600}
main[data-stage=start] .flow-steps li:first-child span,main[data-stage=manual] .flow-steps li:nth-child(2) span,main[data-stage=review] .flow-steps li:nth-child(2) span{background:var(--accent);border-color:var(--accent);color:#fff}
.start-screen{padding-top:0}
.intro-label{font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.4px;margin-bottom:10px}
.start-screen h1{font-size:30px;margin-bottom:10px}
.start-intro{color:#65727c;font-size:14px;max-width:440px;margin-bottom:26px}
.lookup-row input{font-size:15px}
.start-screen .manual-link{margin-top:0}
.start-screen .example-buttons{margin-top:20px;gap:10px}
.button,input,select,textarea{border-radius:7px}
.button.primary{box-shadow:0 2px 3px #173e5312}
.badge{background:#edf3f7;color:#345e7a;padding:4px 9px;border-radius:20px}
.review-intro{font-size:13px;color:#65727c;margin-top:8px}
.image-preview{display:flex;align-items:center;gap:15px;margin-top:19px;padding:12px;border:1px solid #e8edf1;border-radius:9px;background:#fafbfc}
.image-preview img{display:block;max-width:140px;max-height:140px;object-fit:contain;border-radius:5px}
.image-preview span{color:#65727c;font-size:12px}
.metadata-summary{background:#f7f9fb;border:1px solid #e8edf1;border-radius:9px;padding:13px 16px;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.metadata-summary>div{grid-template-columns:95px minmax(0,1fr);gap:10px;font-size:13px}
.metadata-summary>div:first-child{grid-column:1/-1;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid #e5ebef}
.metadata-summary>div:first-child dd{font-weight:550}
.editor{margin-top:10px}
.editor[open]{border-radius:9px;background:#fafbfc}
.citation-box{border-radius:8px;border-color:#dce4eb;background:#f8fafc;line-height:1.7}
.caption-fields{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;margin-bottom:14px}
.caption-fields input{font-size:13px;padding:9px 10px}
.image-caption-section .citation-box{font-size:13px}
.license-note{background:#fff;border-color:#e1e7ec;font-size:12px}
.license-note p{margin-top:4px;color:#65727c}
.license-note a{display:inline-block;margin-top:5px}
.notice{border-radius:8px}
#image-guidance p{margin-top:6px}
#image-guidance details{margin-top:5px}
.citation-notes[open]{margin-top:16px;padding:8px 13px;border:1px solid #e8d8b4;border-radius:8px;background:#fffbf2}
.citation-notes[open] summary{color:#6e572c}
.citation-notes[open] li{color:#6e572c}
.output-label h2{font-size:14px}
.review-actions{margin-top:24px}
footer{max-width:820px}
dialog{border-radius:12px;box-shadow:0 20px 70px #18334626}
@media(max-width:600px){main{margin-top:23px;padding:0 16px}.builder{padding:25px 21px;border-radius:11px}.flow-steps{font-size:11px;gap:7px;padding:0;margin-bottom:17px}.flow-steps li{gap:5px}.flow-steps span{width:21px;height:21px;flex-shrink:0}.metadata-summary{grid-template-columns:1fr;padding:12px}.metadata-summary>div{grid-template-columns:95px minmax(0,1fr)}.start-screen h1{font-size:27px}.review-head h1{font-size:22px}.caption-fields{grid-template-columns:90px minmax(0,1fr);gap:10px}.site-header{padding:15px 18px}.site-header nav{gap:15px}.brand{font-size:16px}.brand-mark{width:27px;height:27px}}
@media(max-width:380px){.builder{padding:22px 17px}.flow-steps{font-size:10px}.flow-steps li{gap:4px}.caption-fields{grid-template-columns:1fr}.caption-fields input#caption-number{max-width:100px}.start-screen .example-buttons{gap:7px}.start-screen .example-buttons .button{font-size:12px;padding:9px 12px}}

/* Clear form feedback and readable citation actions. */
:root{--muted:#596875}
.hint,.review-intro,.start-intro{font-size:14px;color:#596875;line-height:1.65}
.intro-label{font-size:12px;letter-spacing:.2px}
.flow-steps{font-size:13px;margin-bottom:25px}
.site-header #sources-btn{padding:9px 13px;border:1px solid #d7e2ea;border-radius:8px;background:#f6f9fc;min-height:44px}
.metadata-summary{padding:16px 18px;row-gap:2px}
.metadata-summary>div{font-size:14px}
.metadata-summary dt{color:#596875}
.output-section{margin-top:28px}
.output-label{margin-bottom:8px;gap:12px}
.output-label h2{font-size:16px}
.output-hint{font-size:13px;color:#596875;margin-bottom:12px}
.copy-btn,.text-button.copy-btn{min-height:44px;padding:10px 14px;border-radius:7px}
.text-button.copy-btn{border:1px solid #cfdae3;background:#fff}
.text-button.copy-btn:hover{background:#f0f5f9;text-decoration:none}
.citation-box{padding:19px 21px;background:#f8fafc;border-color:#d5dfe7}
.citation-text{font-size:17px;line-height:1.8}
.citation-box.intext{background:#f0f5f9;font-size:19px;padding:15px 21px}
.locator-option{margin-top:12px}
.locator-option summary{color:var(--accent);font-size:14px;min-height:44px}
.locator-option[open]{padding:0 16px 16px;border:1px solid #dce5ec;border-radius:8px;background:#fafcfd}
.locator-option .hint{margin-top:0;font-size:13px}
.locator-row{flex-wrap:wrap;gap:10px 18px;margin-top:14px}
.locator-row label{font-size:13px;font-weight:550;color:var(--ink)}
.locator-row input{width:220px;max-width:100%;padding:11px 12px;font-size:14px;min-height:44px}
.field-error{display:block;margin-top:7px;font-size:13px;font-weight:400;color:#923b32;line-height:1.5}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#b84638;background:#fff8f7}
.editor>summary,.advanced-fields>summary{font-size:14px;min-height:44px}
.source-provenance summary,.citation-notes summary,.library-more summary{font-size:13px;min-height:44px}
.source-provenance p,.citation-notes li,.source-provenance a{font-size:13px}
.review-actions .button{min-height:44px}
.source-row{border:1px solid #dfe6ec;border-radius:9px;padding:17px 18px;margin-top:12px;background:#fafcfd}
.source-row.current{border-color:#b9cfdf;background:#f6faff}
.source-title{font-size:16px;line-height:1.5}
.source-byline{font-size:13px;color:#596875;margin-top:6px}
.source-tools{gap:8px;flex-wrap:wrap;margin-top:12px}
.source-tools .text-button{font-size:13px;min-height:44px;padding:9px 11px;border-radius:6px;background:#fff;border:1px solid #dce5ec}
.source-tools .text-button:hover{background:#eef4f8;text-decoration:none}
.source-tools .delete{background:transparent;border-color:transparent}
.library-actions{padding-top:18px;border-top:1px solid #e3e9ee}
.close-dialog{width:44px;height:44px;border-radius:7px}
.close-dialog:hover{background:#f0f4f7}
@media(max-width:600px){
 .flow-steps{font-size:11px;margin-bottom:20px}
 .metadata-summary{padding:13px}
 .metadata-summary>div{font-size:13px}
 .output-label{align-items:flex-start;flex-wrap:wrap}
 .output-label h2{padding-top:10px}
 .copy-btn,.text-button.copy-btn{font-size:12px;padding:10px 11px}
 .citation-text{font-size:16px}
 .citation-box,.citation-box.intext{padding:15px 16px}
 .locator-option[open]{padding:0 12px 14px}
 .locator-row{display:block}
 .locator-row input{margin-top:7px;width:100%}
 .source-row{padding:14px}
 .source-tools .text-button{padding:9px 10px}
 .library-actions .button{flex:1 1 160px}
}
@media(max-width:380px){
 .flow-steps{font-size:10px}
 .source-tools{gap:5px}
 .source-tools .text-button{font-size:12px;padding:9px 8px}
 .output-label .copy-btn{width:100%}
}
