
.photo-context-menu{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(280px,calc(100vw - 16px));max-height:calc(100svh - 16px);overflow:auto;padding:7px;background:#f8f6ef;color:#2d3828;border:1px solid #b4baa788;border-radius:12px;box-shadow:0 12px 40px #14200f30;font:13px/1.45 Arial,sans-serif;text-align:start;z-index:2000}
.context-filename{margin:3px 9px 5px;padding-bottom:7px;border-bottom:1px solid #b8c1a455;color:#777e6d;font-size:11px;overflow-wrap:anywhere}
.photo-context-menu>a,.photo-context-menu summary,.context-share-links a,.context-share-links button{display:block;box-sizing:border-box;width:100%;padding:8px 10px;text-align:start;border:0;border-radius:6px;background:transparent;color:#34422c;font:13px/1.4 Arial,sans-serif;text-decoration:none;cursor:pointer}
.photo-context-menu a:hover,.photo-context-menu button:hover,.photo-context-menu summary:hover{background:#e8ecde}.photo-context-menu :is(a,button,summary,input):focus-visible{outline:2px solid #b28e54;outline-offset:-2px}
.photo-context-menu details{border-top:1px solid #b8c1a455;margin-top:3px;padding-top:3px}.photo-context-menu summary{display:flex;align-items:center;justify-content:space-between;list-style:none}.photo-context-menu summary::-webkit-details-marker{display:none}.photo-context-menu summary::after{content:'⌄';color:#929c81;font-size:16px;line-height:1}.photo-context-menu details[open]>summary::after{transform:rotate(180deg)}
.context-share-links{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px 5px 5px}.context-share-links button{grid-column:1/-1;background:#ecefe4}.context-share-links a{text-align:center;border:1px solid #b8c1a444;font-size:12px}
.photo-context-menu #context-status{font-size:11px;color:#536842;margin:5px 10px}.photo-context-menu #context-status:empty{display:none}.photo-context-menu #context-copy-fallback{box-sizing:border-box;width:100%;padding:8px;border:1px solid #aab49b;border-radius:6px;font-size:12px}.photo-context-menu [hidden]{display:none}
@media(max-width:680px){.photo-context-menu :is(a,button,summary){padding-block:10px}}
#photo-upload-form .file-picker{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:7px;border:1px solid #bac2aa;border-radius:6px;background:#fffdf7}.file-picker-button{flex-shrink:0;padding:7px 10px;background:#e8ecde;border-radius:4px;font-size:13px}#upload-filename{min-width:0;font-size:12px;overflow-wrap:anywhere}#photo-upload-form .file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;padding:0}.file-picker:focus-within{outline:2px solid #b28e54;outline-offset:2px}.file-picker:has(input:disabled){opacity:.6}

.share-status{font-size:13px;text-align:center;color:#536842;min-height:0}.share-status:empty{display:none}.photo-context-menu button:disabled,.photo-context-menu a[aria-disabled=true]{opacity:.65;cursor:wait}.photo-context-menu a[aria-disabled=true]{pointer-events:none}

.fullscreen-controls{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);display:flex;direction:ltr;gap:10px;z-index:2}.fullscreen-controls button{display:grid;place-items:center;min-width:46px;min-height:44px;border:1px solid #ffffff55;border-radius:24px;background:#1b241a77;color:#fff;font:15px/1.2 Arial,sans-serif;padding:10px 18px;backdrop-filter:blur(8px);cursor:pointer;box-shadow:0 3px 16px #0002}.fullscreen-controls button:is(:hover,:focus-visible){background:#263124cc;border-color:#fff}.fullscreen-controls button:focus-visible{outline:2px solid #e6c790;outline-offset:3px}.fullscreen-controls :is(#fullscreen-prev,#fullscreen-next){font-size:27px;padding:4px 14px}.fullscreen-controls #fullscreen-play{min-width:44px;width:44px;height:44px;padding:0;border-radius:50%;font-size:0}.fullscreen-controls #fullscreen-play::before{content:"";display:block;width:11px;height:14px;background:linear-gradient(to right,currentColor 0 3px,transparent 3px 8px,currentColor 8px 11px)}.fullscreen-controls #fullscreen-play[data-playback="paused"]::before{width:0;height:0;background:none;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;margin-left:3px}@media(max-width:680px){.fullscreen-controls{bottom:85px;gap:8px}}

.photo-context-menu>button{display:block;box-sizing:border-box;width:100%;padding:8px 10px;text-align:start;border:0;border-radius:6px;background:transparent;color:#34422c;font:13px/1.4 Arial,sans-serif;cursor:pointer}.photo-context-menu>button:hover{background:#e8ecde}#frame-filename{display:none}

.fullscreen-description,.fullscreen-hint,.fullscreen-caption{display:none!important}.fullscreen-bottom .fullscreen-controls{flex-wrap:nowrap}

.photo-context-menu>hr{border:0;border-top:1px solid #b8c1a455;margin:6px 0}.photo-context-menu button:disabled{cursor:default}

/* Shared menu and album tree visual language, 2.3.57. */
:root{--menu-chevron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E");--menu-download:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v4h16v-4%22%2F%3E%3C%2Fsvg%3E");--menu-open:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203h7v7m0-7L10%2014M10%204H4v16h16v-6%22%2F%3E%3C%2Fsvg%3E");--menu-link:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10%2013%204-4m-6%206-1%201a4%204%200%200%201-6-6l4-4a4%204%200%200%201%206%200m2%203%201-1a4%204%200%200%201%206%206l-4%204a4%204%200%200%201-6%200%22%20transform%3D%22translate%281%201%29%22%2F%3E%3C%2Fsvg%3E");--menu-folder:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207V5h6l2%202h10v13H3Z%22%2F%3E%3C%2Fsvg%3E");--menu-photo:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%223%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%221.5%22%2F%3E%3Cpath%20d%3D%22m3%2017%205-5%204%204%204-6%205%207%22%2F%3E%3C%2Fsvg%3E");}

.photo-context-menu{width:min(310px,calc(100vw - 16px));padding:9px;background:#fcfaf4;border-color:#d3d7c9;border-radius:16px;box-shadow:0 20px 60px #18241929,0 3px 12px #18241914;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;scrollbar-width:thin;scrollbar-color:#adb6a2 transparent}
.photo-context-menu .context-filename{margin:3px 11px 7px;padding-bottom:10px;color:#69745f;font-size:11px;letter-spacing:.02em}
.photo-context-menu>a,.photo-context-menu>button,.photo-context-menu summary{position:relative;min-height:40px;padding:10px 12px;border-radius:9px;font:400 13px/1.45 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;transition:background-color .15s ease,color .15s ease}
.photo-context-menu :is(a,button,summary):hover{background:#eaf0e3;color:#253923}
.photo-context-menu :is(a,button,summary):focus-visible{outline:2px solid #8c784d;outline-offset:-2px}
.photo-context-menu details{margin-top:6px;padding-top:6px;border-color:#dde1d5}
.photo-context-menu summary{display:flex;justify-content:flex-start;gap:10px;font-weight:500}
.photo-context-menu summary::after{content:"";flex:none;width:18px;height:18px;margin-inline-start:auto;background:#718260;-webkit-mask:var(--menu-chevron) center/contain no-repeat;mask:var(--menu-chevron) center/contain no-repeat;transform:rotate(90deg);transition:transform .18s ease}
.photo-context-menu details[open]>summary{background:#eef2e7}
.photo-context-menu details[open]>summary::after{transform:rotate(-90deg)}
.photo-context-menu :is(#context-download,#context-original,#context-link-photo,#context-link-album){padding-inline-start:40px}
.photo-context-menu :is(#context-download,#context-original,#context-link-photo,#context-link-album)::before,.photo-context-menu summary::before{content:"";display:block;flex:none;width:18px;height:18px;background:#7a876c;-webkit-mask:var(--action-icon) center/contain no-repeat;mask:var(--action-icon) center/contain no-repeat}
.photo-context-menu :is(#context-download,#context-original,#context-link-photo,#context-link-album)::before{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%)}
#context-download{--action-icon:var(--menu-download)}#context-original{--action-icon:var(--menu-open)}#context-link-photo,#context-link-album{--action-icon:var(--menu-link)}#context-share-folder>summary{--action-icon:var(--menu-folder)}#context-share-photo>summary{--action-icon:var(--menu-photo)}
.photo-context-menu .context-share-links{gap:6px;padding:8px 3px 3px}
.photo-context-menu .context-share-links :is(a,button){min-height:38px;padding:9px 7px;border-radius:8px;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:12px}
.photo-context-menu .context-share-links :is(a,button.share-file){border-color:#dce2d2;background:#fffdf8}
.photo-context-menu #context-status{margin:9px 12px 3px;line-height:1.5;color:#657552}
.folder-panel{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:13px;line-height:1.5;scrollbar-width:thin;scrollbar-color:#acb7a0 transparent}
.folder-panel label{font-size:12px;font-weight:500;color:#69745f}
.folder-panel input{box-sizing:border-box;min-height:39px;border-color:#c7cfbc;border-radius:10px;padding:9px 11px;background:#fffdf8;font:400 13px/1.4 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.folder-panel input:focus-visible{outline:2px solid #8c9d76;outline-offset:2px}
.folder-panel .tree-row{gap:3px;margin:3px 0;align-items:center}
.folder-panel .tree-row>button{display:grid;place-items:center;flex:none;width:26px;min-height:32px;padding:0;border-radius:8px;background:transparent;color:#748464;font-size:0;cursor:pointer;transition:background-color .15s ease}
.folder-panel .tree-row>button::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--menu-chevron) center/contain no-repeat;mask:var(--menu-chevron) center/contain no-repeat;transition:transform .18s ease}
[dir=rtl] .folder-panel .tree-row>button::before{transform:rotate(180deg)}
.folder-panel .tree-row>button[aria-expanded=true]::before{transform:rotate(90deg)}
.folder-panel .tree-row>button:disabled{opacity:.6;cursor:default}
.folder-panel .tree-row>button:disabled::before{-webkit-mask-image:var(--menu-folder);mask-image:var(--menu-folder);transform:none;width:14px;height:14px}
.folder-panel .tree-row>button:not(:disabled):hover{background:#e6eddd;color:#344b2e}
.folder-panel .tree-row>a{min-width:0;min-height:34px;box-sizing:border-box;padding:7px 9px;border-radius:9px;line-height:1.5;color:#46523d;text-decoration:none;transition:background-color .15s ease}
.folder-panel .tree-row>a:hover,.folder-panel .folder-result:hover{background:#eaf0e3}
.folder-panel .tree-row>a[aria-current]{background:#e1e9d8;color:#2c4328;font-weight:600;box-shadow:inset 3px 0 #829968}
[dir=rtl] .folder-panel .tree-row>a[aria-current]{box-shadow:inset -3px 0 #829968}
.folder-panel :is(.tree-row>a,.tree-row>button,.folder-result):focus-visible{outline:2px solid #8c784d;outline-offset:-2px}
.folder-panel .tree-branch{margin-inline-start:12px;padding-inline-start:6px;border-inline-start:1px solid #dce2d3}
.folder-panel .folder-result{border-radius:9px;margin-block:3px}
@media(pointer:coarse){.photo-context-menu>a,.photo-context-menu>button,.photo-context-menu summary,.photo-context-menu .context-share-links :is(a,button){min-height:44px}.folder-panel .tree-row>button{width:32px;min-height:44px}.folder-panel .tree-row>a{min-height:44px;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.photo-context-menu :is(a,button,summary),.photo-context-menu summary::after,.folder-panel .tree-row>a,.folder-panel .tree-row>button,.folder-panel .tree-row>button::before{transition:none}}
/* 2.3.233 (audit 24.10 F2, F3): without the Popover API (iOS / iPadOS 16) the menu is a plain fixed layer; a long press on a photo must not start the system image menu */
@supports not selector(:popover-open){.photo-context-menu[popover]{display:none}.photo-context-menu[popover].popover-fallback-open{display:block;z-index:2147483600}}
#photo-image,#fullscreen-image,#frame-open img,.gallery-photo img,.photo-tile img,.person-chip{-webkit-touch-callout:none}
