dialog.photo-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#101416;color:#f4f6ef;overflow:hidden;box-sizing:border-box}
dialog.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-viewer::backdrop{background:#101416}
.photo-viewer-head{display:flex;align-items:center;gap:16px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #303638;min-width:0}
.photo-viewer-head>div{flex:1;min-width:0}.photo-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem}.photo-count{display:block;color:#adb7b8;margin-top:5px;font-size:0.9375rem}
.photo-viewer button,.photo-viewer .photo-save{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:auto;margin:0;padding:8px 14px;border:1px solid #3b4544;border-radius:24px;background:#232b2b;color:#c8ee83;font:inherit;text-decoration:none;cursor:pointer;box-sizing:border-box}
.photo-viewer button:disabled{opacity:.35;cursor:default}.photo-viewer button:focus-visible,.photo-viewer a:focus-visible{outline:2px solid #c8ee83;outline-offset:3px}.photo-viewer [data-action=close]{font-size:28px}
.photo-stage{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}.photo-canvas{display:grid;place-items:center;min-width:100%;min-height:100%;width:max-content;padding:12px;box-sizing:border-box}.photo-canvas img{display:block;max-width:none;max-height:none;flex:none;border-radius:0}.photo-canvas [hidden]{display:none}.photo-status{max-width:280px;text-align:center;color:#c7cecc}
.photo-tools{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #303638}.photo-tools>div{display:flex;gap:8px}.photo-tools .photo-save{background:#c8ee83;color:#171b1d}
@media(max-width:480px){.photo-tools{gap:8px}.photo-tools>div{gap:4px}.photo-viewer button,.photo-viewer .photo-save{padding:8px 11px;font-size:1.125rem}.photo-tools .photo-save{flex-basis:100%;max-width:240px}}
