@layer components{.image-magnifier{--magnifier-border:1px solid #fff6;--magnifier-shadow:0 4px 15px #0003, 0 0 0 1px #0000000d;--glass-bg:#141414a6;--glass-border:1px solid #ffffff1a;--glass-blur:8px;--magnifier-accent:var(--link);max-width:100%;margin:0;display:inline-block;position:relative}.image-magnifier:focus-visible{box-shadow:var(--focus-shadow);border-radius:var(--radius);outline:0}@media (forced-colors:active){.image-magnifier:focus-visible{outline-offset:1px;outline:2px solid #0000}}.magnifier-container{position:relative;overflow:visible}.image-magnifier .image-link{cursor:pointer;display:block}.image-magnifier .image-magnifier__trigger{width:100%;font:inherit;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.magnifier-image{border-radius:8px;max-width:100%;height:auto;transition:filter .2s;display:block}.magnifier{width:var(--magnifier-width);height:var(--magnifier-height);border:var(--magnifier-border);box-shadow:var(--magnifier-shadow);z-index:100;pointer-events:none;will-change:translate;background-repeat:no-repeat;background-color:var(--bg);margin:0;padding:0;display:none;position:fixed;inset:0 auto auto 0}.image-magnifier.magnifier-active .magnifier{display:block}.magnifier-rectangle{border-radius:8px}.magnifier-circle{border-radius:50%}.image-magnifier .magnifier-image:hover,.image-magnifier.magnifier-active .magnifier-image,.image-magnifier.magnifier-active{cursor:none}.image-magnifier .caption{cursor:auto}.image-magnifier{cursor:default}.image-magnifier:hover .magnifier-image{transition:box-shadow .2s;box-shadow:0 4px 12px #00000026}.image-magnifier.magnifier-active{z-index:10}.image-magnifier.touch-active .magnifier-image{filter:brightness(1.05)}.image-magnifier .caption{color:var(--text-light,#666);text-align:center;margin:.75rem .25rem .25rem;font-size:.95rem;font-style:italic;line-height:1.4}.image-magnifier .image-source{text-align:right;width:100%;margin:.4rem .25rem 0;font-size:.85rem}.image-magnifier .source-link{color:var(--link);text-decoration:none;transition:color .2s}.image-magnifier .source-link:hover{color:color-mix(in oklab, var(--link) 80%, var(--text));text-decoration:underline}.error-message{background-color:var(--glass-bg);width:90%;max-width:300px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);color:#ff6b6b;z-index:6;text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-weight:500;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000001a}.zoom-controls{z-index:7;opacity:0;flex-direction:column;gap:8px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:15px;right:15px;transform:translateY(10px)}.image-magnifier:hover .zoom-controls,.image-magnifier:focus-within .zoom-controls{opacity:1;transform:translateY(0)}.zoom-in,.zoom-out{background-color:var(--glass-bg);width:36px;height:36px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);cursor:pointer;color:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:400;transition:background-color .2s,border-color .2s,transform .2s;display:flex;box-shadow:0 2px 5px #0000001a}:is(.zoom-in,.zoom-out):is(:hover,:focus-visible){background-color:var(--magnifier-accent);border-color:var(--magnifier-accent);transform:scale(1.1)}.zoom-in:focus-visible,.zoom-out:focus-visible{box-shadow:var(--focus-shadow)}.zoom-notification{background-color:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);color:#fff;opacity:0;pointer-events:none;z-index:20;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:15px;right:15px;box-shadow:0 2px 5px #0000001a}.zoom-level{letter-spacing:.5px;font-weight:600}@media (width<=768px){.magnifier{--magnifier-width:200px;--magnifier-height:120px}.zoom-controls{flex-direction:row}.zoom-in,.zoom-out{width:44px;height:44px;font-size:24px}}@media (width<=480px){.magnifier{--magnifier-width:160px;--magnifier-height:160px;border-radius:50%}.image-magnifier .caption{font-size:.9rem}}@media (prefers-contrast:high){.magnifier{border:3px solid #000;box-shadow:0 0 0 1px #fff,0 0 0 3px #000}.zoom-controls button,.zoom-notification{color:#000;background:#fff;border:2px solid #000}}@media (prefers-reduced-motion:reduce){.magnifier,.zoom-controls{transition:none}}}
