.reference-popover{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:visible;background:var(--wf-panel);border:1px solid var(--wf-muted);border-radius:10px;box-shadow:0 18px 65px #0008;color:var(--wf-text);isolation:isolate;text-align:left}
.reference-popover::backdrop{background:transparent;pointer-events:none}
.reference-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 13px;border-bottom:1px solid var(--wf-line);position:relative;z-index:1;border-radius:10px 10px 0 0;background:var(--wf-raised)}
.reference-header h2{font:400 21px/1.3 Georgia,serif;color:var(--wf-accent);margin:0;overflow-wrap:anywhere}
.reference-header .reference-close{flex-shrink:0;width:28px;height:28px;font-size:24px;line-height:1;margin-top:-3px}
.reference-body{padding:17px 20px 20px;overflow:auto;max-height:min(560px,calc(100dvh - 130px));overscroll-behavior:contain;scrollbar-color:var(--wf-muted) var(--wf-panel);border-radius:0 0 10px 10px}
.reference-body .record-meta{gap:6px;margin-bottom:15px}.reference-body .record-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:12px 0;margin-bottom:16px}.reference-body .record-components{grid-column:1/-1}.reference-body .record-facts small{font-size:9px;margin-bottom:6px}.reference-body .record-facts strong{font-size:12px;line-height:1.5}.reference-body .campaign-prose{font-size:13px;line-height:1.8}.reference-body .campaign-prose h3{font-size:18px;margin-top:18px}.reference-body .source-caption{font-size:10px;margin-top:20px}.reference-body .property-tags{flex-wrap:wrap}.reference-body .form-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:18px}.reference-body .form-actions button{font-size:11px}.reference-body .reference-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;line-height:1.6;margin-bottom:18px}.reference-body .reference-info b{display:block;font-size:10px;color:var(--wf-muted);margin-bottom:4px}.reference-body .spell-text{font-size:13px;line-height:1.8;white-space:pre-wrap;max-height:none;overflow:visible}.reference-body .help-text{font-size:11px;line-height:1.7}.reference-body .record-meta .text-button{font-size:11px}.reference-body .campaign-badge{font-size:10px}
.reference-pointer{position:absolute;width:12px;height:12px;background:var(--wf-panel);border:1px solid var(--wf-muted);transform:rotate(45deg);z-index:-1;pointer-events:none}
.reference-popover[data-side=right] .reference-pointer{left:-7px;top:calc(var(--reference-arrow) - 6px);border-top:0;border-right:0}.reference-popover[data-side=left] .reference-pointer{right:-7px;top:calc(var(--reference-arrow) - 6px);border-bottom:0;border-left:0}.reference-popover[data-side=bottom] .reference-pointer{top:-7px;left:calc(var(--reference-arrow) - 6px);border-bottom:0;border-right:0;background:var(--wf-raised)}.reference-popover[data-side=top] .reference-pointer{bottom:-7px;left:calc(var(--reference-arrow) - 6px);border-top:0;border-left:0}
.reference-popover button:focus-visible{outline:2px solid var(--wf-accent);outline-offset:3px}.reference-popover .inline-dice{font-size:12px}.record-row>i{font-style:normal}
