.custom-dialog{position:relative;box-sizing:border-box;min-width:min(300px,calc(100vw - 32px));max-width:min(400px,calc(100vw - 32px));padding:0;border:1px solid var(--app-border);border-radius:8px;background:var(--app-bg);color:var(--app-text);box-shadow:0 8px 32px var(--app-shadow-color-strong);overflow:hidden;opacity:0;transform:translateY(10px);transition:opacity var(--animation-duration-normal) ease,transform var(--animation-duration-normal) ease,width var(--animation-duration-normal) ease,max-width var(--animation-duration-normal) ease}.custom-dialog.custom-dialog--shown{opacity:1;transform:translateY(0)}.custom-dialog:focus,.custom-dialog:focus-visible{outline:none}.custom-dialog.custom-dialog--browser-shortcuts{width:min(450px,calc(100vw - 32px));min-width:min(350px,calc(100vw - 32px));max-width:min(520px,calc(100vw - 32px))}.custom-dialog-close{position:absolute;top:10px;right:22px;z-index:1}@media(pointer:coarse){.custom-dialog-close{top:4px;right:16px;width:32px;height:32px}}.custom-dialog::backdrop{background:var(--app-overlay);opacity:0;transition:opacity var(--animation-duration-normal) ease}.custom-dialog.custom-dialog--shown::backdrop{opacity:1}.custom-dialog-panel{padding:20px 20px 16px}.custom-dialog-actions{display:flex;justify-content:center;padding-top:8px;margin-top:4px}.confirm-dialog{display:grid;gap:12px}.confirm-dialog__title{margin:0;font-size:var(--font-size-large);font-weight:750;letter-spacing:-.02em}.confirm-dialog__lead{margin:0;color:var(--app-text-dim);font-size:var(--font-size-small)}.confirm-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirm-dialog__actions [data-slot=button]{width:100%;min-height:40px;font-size:var(--font-size-button);font-weight:700}.media-image{position:relative;display:block;overflow:hidden;width:100%;height:100%;background:var(--app-bg-highlight);isolation:isolate}.media-image img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--animation-duration-fast) ease}.media-image--contain img{object-fit:contain}.media-image--ready img{opacity:1}.media-image--fluid{height:auto;min-height:120px}.media-image--fluid img{height:auto;max-height:calc(100dvh - 110px);object-fit:contain}.media-image__spinner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;pointer-events:none;color:var(--app-text-dim)}@media(prefers-reduced-motion:reduce){.media-image img{transition:none}.media-image__spinner .app-spinner{animation:none}}.photo-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border:2px dashed var(--app-border);border-radius:var(--app-radius);background:var(--app-bg);color:var(--app-text);cursor:pointer;transition:border-color var(--animation-duration-fast) ease,background-color var(--animation-duration-fast) ease}.photo-pick input{display:none}.photo-pick:hover,.photo-pick--dragging{border-color:var(--app-accent);background:var(--app-bg-highlight)}.photo-pick:focus-within{outline:2px solid var(--app-focus-ring);outline-offset:2px}.photo-pick--disabled{cursor:not-allowed;opacity:.6}.photo-pick--processing{cursor:wait;border-color:var(--app-accent)}.photo-pick__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--app-accent);color:var(--app-on-accent)}.photo-pick--processing .photo-pick__icon{animation:photo-pick-pulse 1s ease-in-out infinite}.photo-pick__title{font-size:var(--font-size-base);font-weight:750}.photo-pick__hint{max-width:36ch;color:var(--app-text-dim);font-size:var(--font-size-caption);line-height:1.4}.photo-pick--zone{min-height:200px;padding:20px}.photo-pick--tile{aspect-ratio:1;gap:4px;padding:8px;border-radius:calc(var(--app-radius) * .8)}.photo-pick--tile .photo-pick__icon{width:34px;height:34px;background:var(--app-bg-highlight);color:var(--app-accent)}.photo-pick--tile .photo-pick__title{font-size:var(--font-size-caption);font-weight:700;color:var(--app-text-dim)}@keyframes photo-pick-pulse{50%{transform:scale(.92);opacity:.65}}.custom-dialog.custom-dialog--image-viewer{width:min(800px,calc(100vw - 32px));max-width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}.custom-dialog--image-viewer .custom-dialog-panel{padding-top:36px;overflow:auto}.image-viewer{display:grid;justify-items:center}.image-viewer__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.image-viewer__frame{--image-viewer-inset: 42px;position:relative;width:fit-content;max-width:100%;overflow:hidden;border-radius:8px}.image-viewer__photo{width:auto;border-radius:8px}.image-viewer__photo img{width:auto;height:auto;max-width:calc(min(800px,100vw - 32px) - var(--image-viewer-inset));max-height:calc(100dvh - 110px)}.image-viewer__tap,.image-viewer__tap:hover,.image-viewer__tap:focus-visible,.image-viewer__tap:active{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:auto;height:auto;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none}.image-viewer__tools{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--app-bg) 55%,transparent);opacity:0;pointer-events:none;transition:opacity var(--animation-duration-fast) ease}.image-viewer__frame:hover .image-viewer__tools,.image-viewer__tools:has(:focus-visible){opacity:1}.image-viewer__frame--viewing .image-viewer__tools,.image-viewer__frame--viewing:hover .image-viewer__tools,.image-viewer__frame--overlay-suppressed .image-viewer__tools,.image-viewer__frame--overlay-suppressed:hover .image-viewer__tools{opacity:0;pointer-events:none}.image-viewer__frame--viewing .image-viewer__tools>*,.image-viewer__frame--overlay-suppressed .image-viewer__tools>*{pointer-events:none}.image-viewer__tools>*{pointer-events:auto}.image-viewer__tool,.image-viewer__tool:hover,.image-viewer__tool:focus-visible,.image-viewer__tool:active{width:40px;height:40px;min-width:0;min-height:0;padding:0;border:0;border-radius:calc(var(--app-radius) * .6);background:var(--app-surface)}@media(hover:none){.image-viewer__frame .image-viewer__tools,.image-viewer__frame:hover .image-viewer__tools{opacity:0}.image-viewer__frame--tools-open .image-viewer__tools,.image-viewer__frame--tools-open:hover .image-viewer__tools{opacity:1}.image-viewer__frame:not(.image-viewer__frame--tools-open) .image-viewer__tools>*{pointer-events:none}.image-viewer__frame--viewing .image-viewer__tools,.image-viewer__frame--overlay-suppressed .image-viewer__tools{opacity:0}}.custom-dialog.custom-dialog--lightbox{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;min-width:0;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:transparent;color:var(--app-on-lightbox);box-shadow:none;transform:scale(.98)}.custom-dialog.custom-dialog--lightbox.custom-dialog--shown{transform:scale(1)}.custom-dialog.custom-dialog--lightbox::backdrop{background:var(--app-lightbox-bg)}.custom-dialog--lightbox .custom-dialog-panel{height:100%;padding:0}.custom-dialog--lightbox .custom-dialog-close{top:12px;right:16px;z-index:4;color:var(--app-error)}.custom-dialog--lightbox .custom-dialog-close:hover,.custom-dialog--lightbox .custom-dialog-close:focus-visible{color:var(--app-error)}.image-viewer--full{position:relative;width:100%;height:100%;place-items:center}.image-viewer__scrim,.image-viewer__scrim:hover,.image-viewer__scrim:focus-visible,.image-viewer__scrim:active{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block;width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:default}.image-viewer__photo--full{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;border-radius:0;background:transparent;pointer-events:none}.image-viewer__photo--full img{width:100%;height:100%;max-width:none;max-height:100dvh;object-fit:contain}
