/* Dedicated names avoid interference with legacy page styles. */
.maranda-photo-open{display:block;width:100%;height:100%}
.maranda-photo-open:focus-visible{outline-offset:-4px}
.maranda-photo-dialog{width:min(980px,calc(100% - 32px));max-width:980px;max-height:94svh;padding:48px 20px 20px;overflow:auto}
.maranda-photo-dialog::backdrop{background:#000b}
.maranda-photo-large{display:block;max-width:100%;max-height:78svh;width:auto;height:auto;object-fit:contain;margin:auto}
.maranda-photo-dialog[data-tone=monochrome] .maranda-photo-large{filter:grayscale(1)}
.maranda-photo-close{position:absolute;right:10px;top:2px;font:34px/1 sans-serif;min-width:44px;min-height:44px}
/* A visual-only overlay: position follows the pointer synchronously. */
.maranda-cursor{display:none;position:fixed;left:0;top:0;width:0;height:0;pointer-events:none!important;z-index:1000;transition:none;mix-blend-mode:difference;color:#fff}
.maranda-cursor *{pointer-events:none!important}
.maranda-cursor-shape{position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;transform:translate(-50%,-50%);transition:width 140ms ease,height 140ms ease,background-color 140ms ease,transform 120ms ease;border-radius:0}
.maranda-cursor-cross{width:24px;height:24px;stroke:currentColor;stroke-width:1.4;fill:none}
.maranda-cursor-arrow{display:none;position:absolute;width:36px;height:44px;left:8px;top:10px;fill:currentColor}
.maranda-cursor-photo{display:none;color:#fff;font:700 14px/1 'Courier New',monospace;letter-spacing:.02em;white-space:nowrap}
.maranda-cursor[data-state=navigate] .maranda-cursor-cross{display:none}
.maranda-cursor[data-state=navigate] .maranda-cursor-arrow{display:block}
.maranda-cursor[data-state=photo]{mix-blend-mode:normal}
.maranda-cursor[data-state=photo] .maranda-cursor-shape{width:82px;height:82px;border-radius:50%;background:#df0026}
.maranda-cursor[data-state=photo] .maranda-cursor-cross{display:none}
.maranda-cursor[data-state=photo] .maranda-cursor-photo{display:block}
.maranda-cursor.is-pressed .maranda-cursor-shape{transform:translate(-50%,-50%) scale(.94);transition-duration:70ms}
.maranda-cursor:not(.is-pressed) .maranda-cursor-shape{transition-duration:140ms,140ms,140ms,0ms}
/* Native cursor is hidden only while the overlay is actually visible. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html.context-cursor,html.context-cursor *{cursor:none!important}
 html.context-cursor .maranda-cursor.is-visible{display:block}
 html.context-cursor :is(input,textarea,[contenteditable]:not([contenteditable=false])){cursor:text!important}
 html.context-cursor :is(select,input[type=range],input[type=checkbox],input[type=radio],input[type=color],input[type=file],button:disabled,[aria-disabled=true]){cursor:auto!important}
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.maranda-cursor{display:none!important}}

