.media-region-host{position:relative;max-width:100%;margin:0 auto .65rem}
.media-region-image{position:relative;width:max-content;max-width:100%;margin:0 auto;transform-origin:center center;transition:transform .12s ease}
.media-region-image>img{display:block;max-width:100%;max-height:68vh;object-fit:contain}
.media-region-layer{position:absolute;inset:0;visibility:hidden;pointer-events:none}
.media-region-host.media-region-editing .media-region-layer{visibility:visible;pointer-events:none}
.media-region-box{position:absolute;display:block;padding:0;border:2px solid #f0b957;border-radius:4px;background:#f0b95724}
.media-region-box[data-region-type="area"]{border-color:#2879a8;background:#2879a824;border-style:dashed}
.media-region-host.media-region-editing .media-region-box{cursor:move;pointer-events:auto}
.media-region-host.media-region-editing .media-region-box.selected{border-color:#087e67;background:#087e6724;z-index:2}
.media-region-resize-handle{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;border:1px solid #fff;border-radius:50%;background:#087e67;cursor:nwse-resize}
.media-region-toolbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.5rem;min-height:2rem;color:var(--app-muted,var(--text-muted))}
.media-region-message{flex:1 1 12rem;min-width:0;font-size:.875rem;color:var(--app-muted,var(--text-muted))}
.media-region-message:empty{display:none}
.media-region-list{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none}
.media-region-list li{display:inline-flex;align-items:center;min-width:0;padding:.3rem .65rem;border:1px solid var(--app-border,var(--border-color));border-radius:999px;background:var(--app-card,var(--bg-card));color:var(--app-text,var(--text-primary));font-size:.875rem;overflow-wrap:anywhere}
.media-region-list li span{min-width:0}
.media-region-context-menu{position:fixed;z-index:20;display:grid;gap:.15rem;padding:.25rem;border:1px solid var(--app-border,var(--border-color));border-radius:.5rem;background:var(--app-card,var(--bg-card));box-shadow:0 4px 16px #0003}
.media-region-context-menu button{padding:.45rem .65rem;border:0;border-radius:.3rem;background:transparent;color:var(--app-control-text,var(--text-primary));text-align:left;white-space:nowrap}
.media-region-context-menu button:hover,.media-region-context-menu button:focus{background:var(--app-field,var(--bg-tertiary))}
.media-region-hide,.media-region-add{min-height:40px;padding:.4rem .65rem;border:1px solid var(--app-border,var(--border-color));border-radius:.5rem;background:var(--app-field,var(--bg-tertiary));color:var(--app-control-text,var(--text-primary))}
.media-region-zoom-controls{position:absolute;right:.5rem;bottom:.5rem;z-index:5;display:flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--app-border,var(--border-color));border-radius:.5rem;background:color-mix(in srgb,var(--app-card,#fff) 94%,transparent);box-shadow:0 2px 8px #0002;opacity:0;transform-origin:right bottom;transition:opacity .15s ease}
.media-region-image:hover>.media-region-zoom-controls,.media-region-image:focus-within>.media-region-zoom-controls,.media-region-zoom-controls:focus-within{opacity:1}
.media-region-image>.media-region-zoom-controls .media-region-add{width:2.2rem;min-height:2.2rem;padding:.15rem;font-size:1.05rem;line-height:1}
.media-region-area-add{color:#176c9b}
.media-region-zoom-controls .media-region-add[aria-pressed="true"]{outline:2px solid currentColor;outline-offset:1px}
.media-region-area-mode .media-region-image>img{outline:3px solid #2879a8;outline-offset:3px}
.media-region-zoom-button{width:1.8rem;height:1.8rem;padding:0;border:0;border-radius:.3rem;background:transparent;color:var(--app-control-text,var(--text-primary));font-size:1rem;line-height:1;cursor:pointer}
.media-region-zoom-button:hover,.media-region-zoom-button:focus-visible{background:var(--app-field,var(--bg-tertiary))}
.media-region-zoom-button:disabled{opacity:.45;cursor:default}
.media-region-zoom-label{min-width:2.6rem;color:var(--app-muted,var(--text-muted));font-size:.68rem;text-align:center;font-variant-numeric:tabular-nums}
.media-region-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;width:100%;box-sizing:border-box;padding:.65rem;border:1px solid var(--app-border,var(--border-color));border-radius:.6rem;background:var(--app-card,var(--bg-card));color:var(--app-text,var(--text-primary))}
.media-region-picker>.ft-person-picker,.media-region-picker>.media-region-area-only,.media-region-picker>.media-region-area-caption{grid-column:1/-1}
.media-region-picker>.media-region-area-only{display:flex;align-items:center;gap:.5rem;width:100%;font-size:.9rem}
.media-region-picker>.media-region-area-only input{width:1.15rem;height:1.15rem;margin:0}
.media-region-picker .ft-person-picker{width:100%;min-width:0}
.media-region-picker .ft-person-picker label{display:grid;gap:.3rem;width:100%;margin:0;font-size:.875rem;color:var(--app-text,var(--text-primary))}
.media-region-picker .ft-person-picker input{width:100%;box-sizing:border-box}
.media-region-picker .ft-person-picker-options{left:0;right:0;width:100%;box-sizing:border-box}
.media-region-picker-dialog .ft-person-picker-options{position:relative;top:auto;left:auto;right:auto;grid-column:1/-1;width:100%;max-height:min(16rem,35dvh);box-sizing:border-box}
.media-region-picker .ft-person-picker-option{display:flex;align-items:stretch;gap:.65rem;width:100%;padding:.5rem;border:0;border-radius:.45rem;background:transparent;color:inherit;text-align:left;cursor:pointer}
.media-region-picker .ft-person-picker-option:hover,.media-region-picker .ft-person-picker-option[aria-selected=true]{background:var(--app-soft,#eef4f3)}
.media-region-picker .ft-person-picker-avatar{display:grid;place-items:center;align-self:stretch;flex:0 0 3rem;width:3rem;min-height:3.25rem;height:auto;aspect-ratio:auto;overflow:hidden;border-radius:.55rem;background:var(--app-soft,#eef4f3);font-size:1.25rem}
.media-region-picker .ft-person-picker-avatar img{width:100%;height:100%;object-fit:cover}
.media-region-picker .ft-person-picker-details{display:grid;align-content:center;gap:.1rem;min-width:0}
.media-region-picker .ft-person-picker-details small{color:var(--app-muted,#64748b);font-size:.78rem;font-style:italic;line-height:1.2}
.media-region-picker input,.media-region-picker select{min-width:0;margin:.25rem 0 0;padding:.5rem;font:inherit}
.media-region-picker .media-region-area-caption{display:grid;gap:.3rem;margin:0;font-size:.875rem}
.media-region-picker .media-region-area-caption[hidden]{display:none}
.media-region-picker button{min-height:44px}
.media-region-drawing:not(.media-region-area-mode) .media-region-image>img{cursor:crosshair;touch-action:none;outline:3px solid #f0b957;outline-offset:3px}
.media-region-drawing.media-region-area-mode .media-region-image>img{cursor:crosshair;touch-action:none;outline:3px solid #2879a8;outline-offset:3px}
.media-region-drag-box{z-index:4;pointer-events:none}
.media-region-drag-box[hidden]{display:none}
.media-region-toolbar:not(:has(.media-region-message:not(:empty))):not(:has(.media-region-picker:not([hidden]))){display:none}
.timeline-photo-tag-host{width:100%}
.timeline-photo-tag-host>.media-region-image{width:max-content;max-width:100%;margin:0 auto}
.timeline-photo-tag-host .media-region-image>img{width:auto;max-width:100%;height:auto;max-height:40rem;border-radius:.5rem;object-fit:contain;background:var(--app-field,var(--bg-tertiary))}
