.reference-preview-open { display:inline; min-height:24px; min-width:24px; margin:0 .2em; padding:.08em .28em; border:0; background:transparent; color:var(--green); font:600 .8rem/1.4 system-ui,sans-serif; text-decoration:underline dotted; vertical-align:baseline; }
.reference-preview-open:hover { color:var(--green); background:var(--sage-surface); }
.reference-preview { width:min(42rem,calc(100% - 2rem)); max-width:none; max-height:85vh; max-height:85dvh; margin:auto 1rem auto auto; padding:0; border:1px solid var(--green); color:var(--ink); background:var(--paper); box-shadow:var(--shadow); }
.reference-preview[open] { display:flex; flex-direction:column; }
.reference-preview::backdrop { background:rgb(18 35 26 / .28); }
.reference-preview-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid var(--line); background:var(--surface); }
.reference-preview-header h2 { margin:0; font:600 1.2rem/1.4 system-ui,sans-serif; }
.reference-preview-header button,.reference-preview-footer button { min-height:44px; padding:.4rem .8rem; }
.reference-preview-body { min-height:0; overflow:auto; padding:0 1.2rem 1rem; overscroll-behavior:contain; }
.reference-preview-context,.reference-preview-status { font-size:.85rem; line-height:1.6; }
.reference-preview-context { font-weight:650; }
.reference-preview-status { color:var(--muted); }
.reference-preview-content :is(h3,h4,h5,h6) { font-size:1.1em; line-height:1.5; margin:1rem 0 .5rem; }
.reference-preview-content .arithmatex { max-width:100%; }
.reference-preview-content mjx-container>svg { max-width:none; }
.reference-preview-content[data-text-size=large] { font-size:1.125em; }
.reference-preview-content[data-text-size=larger] { font-size:1.25em; }
.reference-preview-content[data-text-font=serif] { font-family:Georgia,'Iowan Old Style',serif; }
.reference-preview-content[data-text-font=serif] p { line-height:1.8; }
.reference-preview-content[data-text-size] table { font-size:.9em; }
.reference-preview-footer { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.8rem 1rem; border-top:1px solid var(--line); background:var(--surface); }
.reference-preview-footer .button { margin:0; font-size:.9rem; }
@media(max-width:640px) { .reference-preview { width:calc(100% - 1rem); max-height:88vh; max-height:88dvh; margin:auto .5rem .5rem; } }
@media print { .reference-preview-open,dialog.reference-preview { display:none!important; } }
