/* Fixed, bounded app windows: image dimensions never determine window height. */
body.photos-visible{overflow:hidden}
#photo-layer{position:fixed;inset:0;pointer-events:none;z-index:10}
.photo-window{position:absolute;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:7px 7px 0 var(--shadow);pointer-events:auto;outline:none}
.photo-window.is-active{border-color:var(--accent)}
.photo-titlebar{height:40px;flex:0 0 40px;display:flex;align-items:center;gap:10px;padding:0 10px;background:repeating-linear-gradient(0deg,transparent 0 3px,var(--line) 3px 4px);border-bottom:1px solid var(--line);touch-action:none;cursor:grab;user-select:none;overflow:hidden}
.photo-titlebar h2{font-size:11px;font-weight:500;margin:0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--paper);padding:4px 8px}
.photo-titlebar .window-controls{flex-shrink:0}.photo-titlebar .window-controls button{width:23px;height:23px;font-size:15px}
.photo-app-name{font-size:8px;background:var(--paper);padding:4px;flex-shrink:0}
.photo-stage{flex:1 1 0;min-height:0;min-width:0;position:relative;overflow:hidden;background:var(--media-stage,#20231e)}
.photo-stage>img,.photo-stage>video,.photo-stage>iframe{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0}
.photo-stage>p{color:#faf9f2;padding:12px;font-size:11px;text-align:center}
.photo-status{height:35px;flex:0 0 35px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:0 10px;font-size:10px;gap:8px}
.photo-status button{padding:6px 2px}
.photo-window.photo-maximized{left:6px!important;top:49px!important;width:calc(100% - 12px)!important;height:calc(100% - 191px)!important;box-shadow:none}
#photo-tasks{position:fixed;left:12px;right:12px;bottom:93px;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:5px;background:var(--paper);border:1px solid var(--line);z-index:30;scrollbar-width:thin}
#photo-tasks button{flex:0 0 auto;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 9px;border:1px solid var(--line);font-size:9px}
#photo-tasks button[aria-pressed=true]{background:var(--desk);border-color:var(--accent)}
.dock{z-index:31}.menubar{z-index:32}#notice{z-index:33}
@media(max-width:600px){#photo-tasks{bottom:85px;left:6px;right:6px}.photo-app-name{display:none}.photo-titlebar{gap:4px;padding:0 5px}.photo-titlebar h2{font-size:10px}.photo-window.photo-maximized{height:calc(100% - 180px)!important}.photo-status{font-size:9px}}
@media(max-height:400px){.photo-window.photo-maximized{top:12%!important;height:64%!important}.photo-titlebar{height:30px;flex-basis:30px}.photo-status{height:28px;flex-basis:28px}#photo-tasks{bottom:4px;left:52%;right:4px}.dock{bottom:4px;left:4px;transform:none;padding:3px}.dock button>span{font-size:14px}.dock .disk-status,.dock-divider{display:none}}
